:root{font-family:'Segoe UI','Yu Gothic UI',Meiryo,sans-serif;color:#fff;--pink:#ff4de3;--cyan:#49ddff;--gold:#ffd27b;background:#050323;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible{outline:3px solid #fff;outline-offset:5px}button:hover{filter:brightness(1.18)}button:active{transform:translateY(2px)}[hidden]{display:none!important}.stage{position:fixed;inset:0;z-index:-3;background:#050323 url('../assets/images/backgrounds/neon-stage.webp') center/cover}.stage:after{content:'';position:absolute;inset:0;background:#03021c30}.sparkles{position:fixed;inset:0;pointer-events:none;z-index:-1;color:#80e7ff;text-shadow:0 0 15px #35bbff}.sparkles span{position:absolute;font-size:22px;animation:twinkle 3s infinite alternate}.sparkles span:nth-child(1){left:6%;top:12%}.sparkles span:nth-child(2){left:25%;top:70%}.sparkles span:nth-child(3){left:75%;top:15%}.sparkles span:nth-child(4){left:90%;top:60%}.sparkles span:nth-child(5){left:48%;top:85%}.sparkles span:nth-child(6){left:15%;top:90%}@keyframes twinkle{to{opacity:.2;transform:scale(.6)}}.screen{position:relative;min-height:100dvh}.neon-panel{background:linear-gradient(135deg,#0b1239ed,#070521ef);border:2px solid #78bdff;border-radius:20px;box-shadow:0 0 3px #fff,0 0 12px #299aff70,0 0 25px #923cff30,inset 0 0 15px #1b46ad35}.primary,.secondary{border:2px solid #f6b7f4;border-radius:13px;font-weight:800;letter-spacing:.05em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 24px}.primary{background:linear-gradient(#ff6fe6,#d815ad);box-shadow:0 0 5px #fff,0 0 20px #ff36d9, inset 0 0 10px #ffb4ec;text-shadow:0 0 8px #ff149c}.secondary{background:linear-gradient(#182e60,#0a1435);border-color:#86e8ff;box-shadow:0 0 12px #35aaff70;text-shadow:0 0 8px #5dbeff}.secondary.violet{border-color:#d39eff;background:linear-gradient(#442568,#201038)}.secondary.pale{border-color:#bdc9e3;background:linear-gradient(#293955,#141b31)}.start-button{min-width:420px;min-height:76px;font-size:40px;border-radius:45px}.corner-controls{position:fixed;bottom:14px;left:22px;right:22px;display:flex;justify-content:space-between;pointer-events:none;z-index:20}.corner-controls>div{display:flex;gap:12px}.round-button{pointer-events:auto;width:47px;height:47px;border:2px solid #8adfff;border-radius:50%;background:#0b153de8;box-shadow:0 0 12px #3baaff75;font-size:23px}.neon-logo{position:relative;width:max-content;max-width:100%;margin:auto;transform:rotate(-4deg);font:italic 1000 150px/.9 'Arial Black',Arial,sans-serif;letter-spacing:-.07em;text-align:center;filter:drop-shadow(0 0 10px #ed21bb55)}.logo-gimme,.logo-members{display:block;color:#321236;-webkit-text-stroke:2px #ffd7ff;text-shadow:0 0 8px #ff53db,0 0 22px #ff26c8,0 0 45px #e000b0}.logo-members{font-size:.82em;margin-top:32px;color:#083253;-webkit-text-stroke-color:#d0faff;text-shadow:0 0 8px #4ee9ff,0 0 22px #16c9ff,0 0 45px #0076cf}.logo-times{position:absolute;top:43%;left:47%;font:900 48px/1 Arial;color:#fff;text-shadow:0 0 12px #88e4ff;-webkit-text-stroke:0;letter-spacing:0}.logo-crown{position:absolute;right:0;top:-32px;font:normal 54px/1 Arial;color:#ffe692;text-shadow:0 0 12px #ffa939;letter-spacing:0}.neon-logo.compact{font-size:74px}.compact .logo-members{margin-top:22px}.compact .logo-times{font-size:29px}.compact .logo-crown{font-size:31px;top:-20px}.member-tile{margin:0;min-width:0}.portrait{display:block;aspect-ratio:1;background:radial-gradient(ellipse at bottom,#4d236855,#07112b 75%);border:2px solid var(--member-color);border-radius:13px;box-shadow:0 0 5px var(--member-color),inset 0 0 12px #5f83b030;overflow:hidden}.portrait svg{display:block;width:100%;height:100%;padding:3px}.member-tile figcaption{text-align:center;white-space:nowrap;font-size:12px;margin-top:7px;text-shadow:0 0 7px var(--member-color)}.portrait-row{display:flex;justify-content:center;gap:10px}.title-screen{height:100dvh;display:flex;flex-direction:column;align-items:center;padding:22px 30px 26px;overflow:hidden}.title-tagline{font-size:20px;letter-spacing:.12em;margin:0 0 23px;text-shadow:0 0 10px #cc9aff}.title-members{position:relative;flex:1;width:min(1200px,100%);min-height:160px;max-height:350px;margin-top:-15px}.title-members .member-tile{position:absolute;width:16%;max-width:220px}.title-members .member-tile:nth-child(1){left:0;top:-55%;transform:rotate(-12deg)}.title-members .member-tile:nth-child(2){left:17%;top:5%;transform:rotate(-8deg)}.title-members .member-tile:nth-child(3){left:41%;top:10%;transform:rotate(5deg)}.title-members .member-tile:nth-child(4){right:0;top:-55%;transform:rotate(9deg)}.title-members .member-tile:nth-child(5){left:2%;top:46%;transform:rotate(10deg)}.title-members .member-tile:nth-child(6){right:18%;top:9%;transform:rotate(-7deg)}.title-members .member-tile:nth-child(7){right:1%;top:46%;transform:rotate(-10deg)}.title-actions{z-index:2;text-align:center;margin:16px 0 0}.title-links{display:flex;justify-content:center;gap:16px;margin-top:20px}.title-links .secondary{min-width:175px;font-size:15px}.screen-motto{text-align:center;font-size:14px;letter-spacing:.1em;margin:24px 0 0;text-shadow:0 0 10px #81ceff}.screen-heading{font:italic 1000 clamp(40px,5vw,82px)/1.1 'Arial Black',Arial,sans-serif;margin:0;color:#250931;-webkit-text-stroke:1px #ffe1ff;text-shadow:0 0 8px #ff70e8,0 0 25px #ed37cb;letter-spacing:.015em}.difficulty-screen{height:100dvh;max-width:1640px;margin:auto;padding:25px 35px 65px;display:flex;flex-direction:column;justify-content:center;gap:22px}.screen-header{text-align:center;position:relative}.screen-header>.neon-logo{position:absolute;left:0;top:0;transform:scale(.65) rotate(-4deg);transform-origin:left top}.screen-header p{font-size:19px;margin:10px 0}.difficulty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.difficulty-card{--accent:#65f9b2;position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:23px 14px 14px;border:2px solid var(--accent);border-radius:24px;background:linear-gradient(150deg,#133b3850,#080924ee 65%);box-shadow:0 0 17px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 0 25px #fff1}.difficulty-card.normal{--accent:#49d8ff}.difficulty-card.hard{--accent:#b285ff}.difficulty-card.gimme{--accent:#ff65cd}.difficulty-card[aria-pressed=true]{border:3px solid #fff;box-shadow:0 0 7px #fff,0 0 28px var(--accent);transform:translateY(-4px)}.selected-badge{display:none;position:absolute;top:-17px;background:var(--accent);color:#07102c;font-size:12px;padding:4px 22px;border-radius:20px;font-weight:900}.difficulty-card[aria-pressed=true] .selected-badge{display:block}.difficulty-name{font:900 italic clamp(28px,3.3vw,53px)/1 Arial;color:var(--accent);text-shadow:0 0 15px var(--accent)}.difficulty-count{font-size:20px;font-weight:800}.difficulty-members{display:flex;flex-direction:column;justify-content:center;gap:9px;width:100%;min-height:175px;flex:1}.difficulty-members .portrait-row{gap:8px}.difficulty-members .member-tile{width:calc((100% - 16px)/3);max-width:105px}.difficulty-card.easy .member-tile{width:calc((100% - 8px)/2)}.difficulty-card.gimme .member-tile{width:calc((100% - 24px)/4)}.difficulty-stars{color:var(--accent);font-size:27px;letter-spacing:.1em;text-shadow:0 0 10px var(--accent)}.difficulty-description{font-size:14px;min-height:22px}.difficulty-spec{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.difficulty-spec>span{border:1px solid var(--accent);border-radius:10px;padding:7px 3px;font-size:21px;font-weight:800;background:#05091c77}.difficulty-spec small{display:block;font-size:10px;font-weight:400;color:#bed5ef}.difficulty-actions{display:flex;align-items:center;gap:30px}.difficulty-actions .start-button{min-width:380px}.difficulty-actions>.secondary{margin-right:auto}.selected-summary{border:1px solid #70eaff;border-radius:30px;padding:10px 20px;color:#a8f1ff;font-size:13px;margin-left:auto}
.gameplay{--board-col:min(650px,calc(100dvh - 255px));display:grid;grid-template-columns:minmax(220px,380px) var(--board-col) minmax(180px,240px);gap:28px;align-items:center;max-width:1500px;margin:auto;padding:15px 32px 53px}.game-left,.game-right{display:flex;flex-direction:column;gap:20px}.game-left .neon-logo{margin-bottom:18px}.roster-panel{padding:14px}.roster-panel h2,.special-guide h2{font-size:17px;text-align:center;margin:0 0 15px;letter-spacing:.12em;color:#b5f2ff;text-shadow:0 0 8px #3b9dff}.roster{display:flex;flex-direction:column;gap:14px}.roster .member-tile{width:calc((100% - 30px)/4)}.roster .member-tile figcaption{font-size:clamp(9px,1vw,13px)}.instruction-card{padding:18px;text-align:center;line-height:1.7}.instruction-card strong{font-size:22px;display:block;color:#ffb9ec}.instruction-card>span{display:block;font-size:13px}.instruction-card small{display:block;font-size:10px;color:#7edcff;margin-top:8px}.game-shell{width:100%;min-width:0}.game-top{display:flex;align-items:center;justify-content:space-between;height:26px;margin-bottom:7px}.game-top b{font-size:13px;color:#7be6ff}.game-top small{font-size:10px;color:#b2b9d8;margin-left:10px}.icon-button{background:#171336;border:1px solid #be8aff;border-radius:6px;width:30px;height:28px}.hud{height:95px;display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;padding:8px 21px;border-color:#9d8af2;border-radius:17px}.hud label{display:block;color:#95e9ff;font-size:12px;font-weight:800}.score-hud strong{font-size:clamp(25px,2.8vw,43px);line-height:1.1}.score-hud small{display:block;font-size:9px;color:#aaa6cf;margin-top:4px}.level-hud{text-align:right}.level-hud strong{font-size:39px}.level-hud small{display:block;font-size:9px;color:#aaa6cf}.timer{width:110px;height:110px;position:relative;border-radius:50%;padding:5px;background:conic-gradient(#ff8fed var(--time,100%),#292748 0);box-shadow:0 0 14px #9c53ff;z-index:2}.timer>div{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(#1a1142,#060923);border:2px solid #625ab6}.timer label{color:#fff;font-size:11px}.timer strong{font-size:43px;line-height:1.1;text-shadow:0 0 12px #c095ff}.timer.danger{color:#ffb2d1;box-shadow:0 0 20px #ff278d}.fever-row{height:30px;margin:16px 0 10px;display:flex;align-items:center;gap:10px;padding:4px 10px;border-radius:20px}.fever-row>b{font-size:12px}.fever-track{height:11px;flex:1;background:#151039;border-radius:10px;overflow:hidden}.fever-track>div{height:100%;width:0;background:linear-gradient(90deg,#bd52ff,#ff72d6,#ffc986);box-shadow:0 0 10px #fc71f9;border-radius:10px;transition:width .2s}.fever-stars{font-size:20px;color:#ffe0ba;line-height:1}.board-wrap{position:relative;aspect-ratio:1;padding:7px;border:2px solid #71dfff;border-radius:16px;background:#050923f2;box-shadow:0 0 4px #fff,0 0 18px #2eaaff80,0 0 28px #cb36e360,inset 0 0 13px #3288ed80;overflow:hidden}#board{width:100%;height:100%;touch-action:none;outline:none}#board canvas{display:block}#board-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#06072095;backdrop-filter:blur(5px);font-size:100px;font-weight:900;text-shadow:0 0 25px #ff62de;z-index:4}#board-message{position:absolute;top:39%;left:0;right:0;text-align:center;pointer-events:none;font-size:clamp(28px,4vw,52px);font-weight:1000;font-style:italic;color:#fff0fe;text-shadow:0 0 5px #ff55e4,0 0 22px #f12ce0;z-index:3}#board-message small{display:block;font-size:17px;color:#ffe0a5}.game-bottom{display:flex;height:53px;align-items:center;justify-content:center;gap:15px}.game-bottom>strong{font-size:clamp(25px,3.4vw,47px);font-style:italic;color:#ffdbf5;text-shadow:0 0 4px #fff,0 0 14px #ff37cf,0 0 25px #ff179a}.game-bottom>b{font-size:clamp(13px,2vw,28px);color:#ffdba8;font-style:italic;text-shadow:0 0 12px #ff805c;white-space:nowrap}.hint-button{border:1px solid #7bd8ff;border-radius:20px;background:#141437;color:#a2eaff;font-size:11px;padding:6px 9px}.operation-help{font-size:9px;text-align:center;color:#9cabc8;margin:2px 0}.record-card{padding:17px 12px;text-align:center}.record-card span{display:block;font-size:13px;color:#a8e8ff}.record-card strong{display:block;font-size:36px;margin:7px 0;text-shadow:0 0 15px #b489ff}.record-card small{font-size:10px;color:#9fb4d9}.special-guide{padding:14px}.special-guide>div{display:flex;gap:10px;align-items:center;border:1px solid #5e76ba;border-radius:10px;padding:7px;margin:8px 0;background:#10244866}.special-guide i{font-style:normal;font-size:34px;min-width:39px;text-align:center;text-shadow:0 0 12px currentColor}.special-guide p{margin:0}.special-guide b{display:block;font-size:12px}.special-guide small{display:block;font-size:10px;color:#c3cbdf;line-height:1.5}.gold{color:#ffd27b}.pink{color:#ff8adb}.cyan{color:#72eaff}.violet{color:#d1a4ff}.neon-script{font-style:italic;text-align:center;font-size:21px;color:#ffc1ee;text-shadow:0 0 10px #f962da}.fever-active .board-wrap{box-shadow:0 0 8px #fff,0 0 30px #ff39c8,0 0 50px #ffd56480}.modal{position:fixed;inset:0;z-index:50;background:#020015b5;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:22px}.modal-card{position:relative;width:550px;max-width:100%;max-height:calc(100dvh - 44px);overflow:auto;padding:25px 30px;border-color:#b994ff}.modal-head{position:relative}.modal-head h2{text-align:center;font-size:29px;margin:4px 0 22px;text-shadow:0 0 12px #da7dff}.close-button{position:absolute;right:-13px;top:-13px;width:32px;height:32px;border:1px solid #9b9cd7;border-radius:50%;background:#191633;font-size:23px}.pause-card{width:520px;padding:24px 32px}.pause-card h2{font-size:51px;margin-bottom:7px;color:#ffd5fd;text-shadow:0 0 7px #fc68ff,0 0 25px #e443dc}.pause-subtitle,.pause-note{text-align:center;color:#d1c6e3;font-size:12px}.pause-summary{text-align:center;border:1px solid #646cb0;border-radius:30px;background:#151334;padding:10px;font-size:12px;margin:20px 0}.pause-actions{display:flex;flex-direction:column;gap:15px}.pause-actions button{min-height:70px;font-size:27px}.pause-actions i{font-style:normal;font-size:36px}.pause-actions span{min-width:190px}.pause-actions small{display:block;font-size:12px;font-weight:400;margin-top:2px}.pause-note{margin:20px 0 0}.settings-form label,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0}.settings-form input[type=range]{width:55%;accent-color:#f365d9}.settings-form select,select{background:#161437;color:white;border:1px solid #7ccafa;border-radius:7px;padding:8px}.modal-card .actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.modal-card p,.modal-card li{line-height:1.7}.modal-card ol{padding-left:22px}.records-list{display:grid;gap:10px}.record-row{padding:12px;border:1px solid #5b7bae;border-radius:10px;display:flex;justify-content:space-between}.modal-card table{border-collapse:collapse;width:100%;font-size:13px}.modal-card td,.modal-card th{padding:10px 5px;border-bottom:1px solid #445079}.result-screen{height:100dvh;max-width:1520px;margin:auto;display:grid;grid-template-columns:minmax(140px,230px) minmax(420px,750px) minmax(140px,230px);grid-template-rows:auto 1fr auto;gap:12px 38px;padding:24px 30px 50px;align-items:center}.result-mini-logo{position:absolute;left:24px;top:24px;transform:scale(.7);transform-origin:left top}.result-heading{grid-column:2;grid-row:1;text-align:center}.result-heading .screen-heading{font-size:clamp(55px,7vw,100px)}.record-celebration{font-size:clamp(23px,3vw,39px);font-style:italic;font-weight:900;color:#ffe4a4;text-shadow:0 0 5px #ffbd49,0 0 20px #f863d1;margin:5px 0}.result-characters{display:flex;flex-direction:column;align-items:center;gap:17px}.result-characters.left{grid-column:1;grid-row:2}.result-characters.right{grid-column:3;grid-row:1/3}.result-characters .member-tile{width:min(100%,calc((100dvh - 255px)/3));max-width:185px;transform:rotate(-6deg)}.result-characters.right .member-tile{width:min(100%,calc((100dvh - 170px)/4));max-width:175px;transform:rotate(5deg)}.result-characters .member-tile:nth-child(even){transform:rotate(5deg)}.result-center{grid-column:2;grid-row:2;min-width:0}.result-panel{text-align:center;padding:22px;border-color:#d090ee}.result-panel>label{display:block;font-size:25px;color:#a4eeff}.result-score{display:block;font-size:clamp(56px,7.5vw,110px);line-height:1.12;text-shadow:0 0 7px #ffd7fa,0 0 24px #e958dd;letter-spacing:.02em}.high-score{font-size:14px;background:#101a42;border:1px solid #658fc4;border-radius:25px;width:max-content;max-width:100%;margin:10px auto;padding:7px 20px;color:#c2e4ff}.high-score b{font-size:22px;color:white;margin-left:12px}.mode-chip{font-size:13px;color:#aff1ff;margin:12px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:19px}.stats-grid>div{display:flex;align-items:center;justify-content:space-between;background:#131332;border:1px solid #926bc3;border-radius:12px;padding:12px 10px}.stats-grid span{font-size:10px;color:#c9c6e3}.stats-grid b{font-size:23px;color:#ffd7a8;text-shadow:0 0 10px #e94ab8}.result-actions{display:flex;gap:14px;margin-top:20px}.result-actions .primary{flex:1.5;min-height:66px;font-size:32px}.result-actions .secondary{flex:1;font-size:17px;padding:10px}.result-secondary{display:flex;justify-content:center;gap:23px;margin-top:15px}.result-secondary button{min-width:145px;min-height:40px;font-size:13px}.result-screen>.screen-motto{grid-column:1/-1;grid-row:3;margin:5px 0}
@media(max-height:800px) and (min-width:801px){.title-screen{padding-top:18px}.title-tagline{font-size:15px;margin-bottom:16px}.title-screen>.neon-logo{font-size:108px}.title-members{max-height:220px}.title-members .member-tile{max-width:175px}.start-button{min-height:58px;font-size:31px}.title-links{margin-top:15px}.title-links .secondary{min-height:39px;font-size:12px}.screen-motto{margin-top:16px}.game-left .compact{font-size:60px}.game-left,.game-right{gap:14px}.special-guide>div{padding:4px}.special-guide i{font-size:28px}.difficulty-screen{gap:15px;padding-top:16px}.difficulty-members{min-height:125px}.difficulty-members .member-tile{max-width:75px}.difficulty-card{gap:7px;padding-top:18px}.difficulty-name{font-size:36px}.difficulty-count{font-size:16px}.difficulty-stars{font-size:21px}.screen-heading{font-size:55px}.screen-header p{font-size:14px}.result-panel{padding:15px}.result-score{font-size:75px}.result-heading .screen-heading{font-size:70px}.stats-grid>div{padding:9px}.result-actions{margin-top:13px}.result-actions .primary{min-height:54px;font-size:27px}}
@media(max-width:1150px) and (min-width:801px){.gameplay{grid-template-columns:minmax(190px,280px) min(560px,calc(100dvh - 245px));justify-content:center;gap:25px}.game-right{display:none}.game-left .compact{font-size:58px}.screen-header>.neon-logo{display:none}.difficulty-card{padding:18px 9px 12px}.difficulty-grid{gap:15px}.difficulty-description{font-size:11px}.difficulty-actions{gap:20px}.difficulty-actions .start-button{min-width:300px}.selected-summary{font-size:10px;padding:10px}.result-screen{gap:12px 23px;grid-template-columns:minmax(100px,180px) minmax(400px,600px) minmax(100px,180px)}}
@media(max-width:800px){.corner-controls{bottom:10px;left:13px;right:13px}.round-button{width:38px;height:38px;font-size:20px}.title-screen{padding:35px 15px 60px;justify-content:center}.title-tagline{font-size:12px;text-align:center;margin-bottom:30px}.title-screen>.neon-logo{font-size:clamp(67px,15vw,115px)}.logo-members{margin-top:25px}.logo-times{font-size:31px}.logo-crown{font-size:35px;top:-24px}.title-members{margin-top:35px;min-height:200px;max-height:260px;width:100%;flex:1}.title-members .member-tile{width:24%;max-width:130px}.title-members .member-tile:nth-child(1){left:0;top:0;transform:rotate(-9deg)}.title-members .member-tile:nth-child(2){left:26%;top:0;transform:rotate(-4deg)}.title-members .member-tile:nth-child(3){left:52%;top:0;transform:rotate(4deg)}.title-members .member-tile:nth-child(4){right:0;top:0;transform:rotate(9deg)}.title-members .member-tile:nth-child(5){left:12%;top:48%;transform:rotate(-7deg)}.title-members .member-tile:nth-child(6){right:38%;top:48%;transform:rotate(4deg)}.title-members .member-tile:nth-child(7){right:12%;top:48%;transform:rotate(7deg)}.title-actions{width:100%;margin-top:12px}.start-button{min-width:0;width:min(100%,380px);min-height:58px;font-size:29px}.title-links{gap:7px;margin-top:18px}.title-links .secondary{min-width:0;flex:1;padding:10px 5px;font-size:9px;min-height:39px}.screen-motto{font-size:10px;margin-top:18px}.difficulty-screen{height:auto;min-height:100dvh;padding:25px 16px 65px;gap:19px}.screen-header>.neon-logo{display:none}.screen-heading{font-size:clamp(27px,7vw,48px)}.screen-header p{font-size:13px;margin:8px 0 0}.difficulty-grid{grid-template-columns:1fr 1fr;gap:19px 13px}.difficulty-card{padding:14px 9px 10px;gap:6px;border-radius:17px}.difficulty-name{font-size:29px}.difficulty-count{font-size:12px}.difficulty-members{min-height:90px;gap:6px}.difficulty-members .portrait-row{gap:5px}.difficulty-members .member-tile{max-width:65px}.difficulty-card.easy .member-tile{max-width:55px}.difficulty-stars{font-size:17px}.difficulty-description{font-size:9px;min-height:15px}.difficulty-spec{gap:6px}.difficulty-spec>span{font-size:15px;padding:5px}.difficulty-spec small{font-size:8px}.selected-badge{font-size:9px;top:-12px;padding:3px 16px}.difficulty-actions{display:grid;grid-template-columns:70px 1fr;gap:10px}.difficulty-actions>.secondary{font-size:12px;padding:10px}.difficulty-actions .start-button{min-width:0;width:100%;font-size:23px;min-height:50px}.selected-summary{grid-column:1/-1;margin:auto;padding:5px 18px;font-size:10px}.gameplay{display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:10px 13px 55px}.game-left,.game-right{display:none}.game-shell{width:min(100%,calc(100dvh - 255px));max-width:520px}.hud{height:84px;grid-template-columns:1fr 87px 1fr;padding:7px 13px}.score-hud strong{font-size:25px}.timer{width:87px;height:87px;padding:4px}.timer strong{font-size:36px}.level-hud strong{font-size:31px}.fever-row{height:27px;margin:13px 0 9px;gap:7px}.fever-row>b{font-size:10px}.fever-stars{font-size:17px}.board-wrap{padding:4px;border-radius:12px}.game-bottom{height:42px;gap:9px}.game-bottom>strong{font-size:26px}.game-bottom>b{font-size:17px}.hint-button{font-size:9px;padding:5px 7px}.operation-help{font-size:8px}.modal{padding:15px}.modal-card{padding:22px;max-height:calc(100dvh - 30px)}.modal-head h2{font-size:24px}.pause-card h2{font-size:41px}.pause-actions button{min-height:62px;font-size:22px}.pause-actions span{min-width:150px}.pause-summary{font-size:9px}.result-screen{grid-template-columns:52px minmax(190px,1fr) 52px;grid-template-rows:auto 1fr auto;padding:30px 11px 65px;gap:8px;max-width:600px}.result-mini-logo{display:none}.result-heading{grid-column:1/-1}.result-heading .screen-heading{font-size:56px}.record-celebration{font-size:23px}.result-characters.right{grid-row:2}.result-characters{gap:19px}.result-characters .member-tile,.result-characters.right .member-tile{width:100%}.result-characters .portrait{border-radius:8px}.result-panel{padding:13px 8px;border-radius:14px}.result-panel>label{font-size:17px}.result-score{font-size:clamp(32px,9vw,54px)}.high-score{font-size:8px;padding:5px 8px}.high-score b{font-size:13px;margin-left:5px}.mode-chip{font-size:9px;margin:9px 0}.stats-grid{grid-template-columns:1fr;gap:7px;margin-top:12px}.stats-grid>div{padding:8px}.stats-grid span{font-size:8px}.stats-grid b{font-size:18px}.result-actions{flex-direction:column;gap:10px;margin-top:13px}.result-actions .primary{min-height:46px;font-size:23px;padding:8px}.result-actions .secondary{min-height:36px;font-size:12px;padding:7px}.result-secondary{gap:8px;margin-top:11px}.result-secondary button{min-width:0;flex:1;min-height:32px;padding:6px;font-size:10px}.result-screen>.screen-motto{font-size:9px}}
@media(max-width:800px) and (max-height:700px){.title-screen{padding-top:20px}.title-tagline{margin-bottom:22px;font-size:10px}.title-screen>.neon-logo{font-size:65px}.title-members{min-height:155px;margin-top:23px}.title-members .member-tile{max-width:85px}.title-actions .start-button{min-height:47px;font-size:25px}.title-links{margin-top:13px}.screen-motto{margin-top:13px}.difficulty-screen{padding-top:17px;gap:15px}.difficulty-card{gap:4px;padding:10px 7px 7px}.difficulty-name{font-size:23px}.difficulty-members{min-height:75px;gap:4px}.difficulty-members .member-tile,.difficulty-card.easy .member-tile{max-width:43px}.difficulty-count{font-size:10px}.difficulty-stars{font-size:14px}.difficulty-description{font-size:8px}.game-shell{width:min(100%,calc(100dvh - 218px))}.hud{height:70px;grid-template-columns:1fr 73px 1fr}.timer{width:73px;height:73px}.timer strong{font-size:29px}.score-hud strong{font-size:23px}.hud label{font-size:10px}.game-bottom{height:34px}.game-bottom>strong{font-size:23px}.result-screen{grid-template-columns:43px minmax(180px,1fr) 43px;padding-top:17px}.result-heading .screen-heading{font-size:43px}.record-celebration{font-size:18px}.result-panel{padding:9px 6px}.result-score{font-size:35px}.stats-grid{gap:5px;margin-top:8px}.stats-grid>div{padding:5px}.result-actions{margin-top:10px;gap:8px}.result-actions .primary{min-height:40px}.result-secondary{margin-top:8px}}
@media(max-height:500px) and (min-width:650px){.gameplay{padding:10px 50px;display:block}.game-left,.game-right{display:none}.game-shell{width:auto;max-width:none;display:grid;grid-template-columns:min(420px,calc(100dvh - 34px)) 220px;grid-template-rows:30px 85px 45px 60px 1fr;gap:0 25px;justify-content:center}.board-wrap{grid-column:1;grid-row:1/6}.game-top,.hud,.fever-row,.game-bottom,.operation-help{grid-column:2}.game-top{grid-row:1}.hud{grid-row:2;padding:6px;grid-template-columns:1fr 70px 1fr}.timer{width:70px;height:70px}.timer strong{font-size:27px}.score-hud strong{font-size:21px}.fever-row{grid-row:3}.game-bottom{grid-row:4;flex-wrap:wrap}.operation-help{grid-row:5}.title-screen,.result-screen,.difficulty-screen{height:auto;min-height:100dvh}.title-members{min-height:220px}.title-screen>.neon-logo{font-size:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body[data-effect=low] .sparkles{display:none}
#board-overlay:empty{display:none}#board-overlay{flex-direction:column}#board-overlay small{font-size:13px}.setting{display:flex;align-items:center;gap:15px;margin:22px 0}.setting label{min-width:105px}.setting input[type=range]{flex:1;min-width:0;accent-color:#f66be2}.setting output{width:30px;text-align:right}.wide{width:100%;margin-top:15px}.subtitle{text-align:center;font-size:13px;color:#bbbfda}.tutorial-step{display:flex;gap:13px;margin:20px 0;font-size:13px;line-height:1.7}.tutorial-step>b{background:#9cd7ff;color:#172549;border-radius:50%;min-width:29px;height:29px;text-align:center;line-height:29px}.tutorial-step strong{display:block;color:#ffc4ee}.record-row small{display:block;color:#aaaaca;font-size:10px}.game-tagline{text-align:center;font-size:12px;color:#cee6ff}.timer.warning{color:#ffd194}.timer.critical{color:#ff97c0;box-shadow:0 0 22px #ff279b}.result-secondary a{min-width:145px;min-height:40px;font-size:13px}@media(max-width:800px){.result-secondary a{min-width:0;flex:1;min-height:32px;padding:6px;font-size:10px}}
@media(min-width:801px){.gameplay{--board-col:min(650px,calc(100dvh - 325px))}.gameplay .game-left{max-width:360px}.roster-panel{padding:12px}.game-left .neon-logo{margin-bottom:12px}.instruction-card{padding:12px}.game-right{gap:14px}.record-card{padding:12px}.special-guide>div{margin:6px 0}.game-bottom>b{font-size:clamp(12px,1.55vw,23px)}.game-bottom>strong{font-size:clamp(24px,2.7vw,40px)}}
@media(max-width:1150px) and (min-width:801px){.gameplay{grid-template-columns:minmax(190px,280px) min(560px,calc(100dvh - 325px))}}

.score-hud strong{font-size:clamp(20px,1.8vw,32px)}.score-hud small{line-height:1.2}.hud{padding-top:6px;padding-bottom:6px}@media(max-width:800px){.score-hud strong{font-size:23px}}
.hud{grid-template-rows:minmax(0,1fr)}
@media(max-width:800px){.title-members .member-tile:nth-child(1){left:0}.title-members .member-tile:nth-child(2){left:25.5%}.title-members .member-tile:nth-child(3){left:51%}.title-members .member-tile:nth-child(4){right:0}.title-members .member-tile{width:23%}}
a.secondary{color:#fff}
.hint-note{font-size:16px;text-align:center;padding:20px;line-height:1.7;text-shadow:none}.difficulty-spec>span{overflow-wrap:normal;word-break:keep-all}@media(max-width:360px){.difficulty-spec>span{font-size:11px}.difficulty-spec small{font-size:7px}}
@media(max-height:800px) and (min-width:801px){.result-screen{padding-top:15px;padding-bottom:45px;gap:8px 30px}.result-heading .screen-heading{font-size:60px}.record-celebration{font-size:27px}.result-panel{padding:12px}.result-score{font-size:65px}.result-characters .member-tile{width:min(100%,calc((100dvh - 320px)/3))}.result-characters.right .member-tile{width:min(100%,calc((100dvh - 220px)/4))}.result-actions .primary{min-height:48px}.result-secondary{margin-top:10px}.result-screen>.screen-motto{font-size:11px}}
/* Approved member palette and image logo */
.portrait{background:radial-gradient(ellipse at bottom,var(--member-background),#070d20);border-color:var(--member-color)}
.neon-logo.image-logo{width:600px;max-width:100%;transform:none;filter:none;font-size:0;line-height:0;letter-spacing:normal;flex-shrink:0}
.image-logo img{display:block;width:100%;height:auto;object-fit:contain}
.neon-logo.image-logo.compact{width:300px}
.close-button{display:grid;place-items:center;padding:0;line-height:1;font-family:Arial,sans-serif;font-size:25px}
@media(max-height:800px) and (min-width:801px){.title-screen>.image-logo{width:470px}.game-left .image-logo{width:265px}}
@media(max-width:800px){.title-screen>.image-logo{width:350px}}
@media(max-width:800px) and (max-height:700px){.title-screen>.image-logo{width:260px}}
/* Keep the difficulty logo in flow so it cannot overlap the heading/cards. */
.difficulty-screen .screen-header{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;flex-shrink:0}
.difficulty-screen .screen-header>.image-logo{position:static;display:block;width:180px;max-width:22%;margin:0;transform:none;flex-shrink:0}
.difficulty-screen .screen-header>div:last-child{min-width:0}
.difficulty-screen .screen-heading{font-size:clamp(28px,4.3vw,68px)}
#board-message{padding:8px 10px;line-height:1.2;paint-order:stroke fill;-webkit-text-stroke:5px #170825;text-shadow:0 3px 2px #08041e,0 0 13px #ff46d9}
#board-message.show{background:linear-gradient(90deg,transparent,#09051ec9 18%,#09051ec9 82%,transparent)}
#board-message small{margin-top:8px;line-height:1.5;paint-order:stroke fill;-webkit-text-stroke:3px #100820;text-shadow:0 2px 2px #000;font-weight:800}
.ready-count{paint-order:stroke fill;-webkit-text-stroke:5px #190a29;text-shadow:0 0 18px #ff62de}
@media(max-width:800px){.difficulty-screen .screen-header{gap:7px;flex-direction:column}.difficulty-screen .screen-header>.image-logo{width:135px;max-width:45%}.difficulty-screen .screen-heading{font-size:clamp(25px,6.3vw,45px)}#board-message{-webkit-text-stroke-width:4px}}
@media(max-height:700px) and (max-width:800px){.difficulty-screen .screen-header>.image-logo{width:95px}.difficulty-screen .screen-header{gap:4px}}
