/* Neon concert stage — approved visual direction, functional UI. */
.stage:after{background:radial-gradient(ellipse at center,#03082018,#03021c35)}
.neon-panel,.board-wrap,.difficulty-card{border-radius:16px 5px 16px 5px;background:linear-gradient(125deg,#102253f5,#030a24f5 45%,#100b2cf5);border-color:#65dfff;box-shadow:0 0 3px #fff,0 0 11px #16aaff88,0 0 24px #912aff44,inset 0 0 0 4px #050b26,inset 0 0 0 5px #348ec980,inset 0 0 24px #246aff33}
.primary,.secondary,.hint-button{border-radius:16px 5px 16px 5px;font-style:italic;box-shadow:0 0 3px #fff,0 0 14px #21aaff88,inset 0 0 0 3px #081831,inset 0 0 0 4px #67dfff80;min-height:44px}
.primary{background:linear-gradient(#ed20b7,#8d0669);border-color:#ffcbfa;box-shadow:0 0 5px #fff,0 0 20px #ff23c7,inset 0 0 0 3px #990871,inset 0 0 0 4px #ff8ceb}
.portrait{background:var(--member-background);border-radius:10px;border-width:2px;box-shadow:0 0 4px var(--member-color),inset 0 0 10px #ffffff18}
.member-tile figcaption{color:var(--member-color);font-weight:800}
.game-tagline,.operation-help{display:none}.game-left{gap:20px}.game-left .image-logo{width:100%;margin-bottom:0}.roster-panel{padding:20px 14px}.roster-panel h2,.special-guide h2{font-size:clamp(16px,1.7vw,25px);font-style:italic;text-shadow:0 0 9px #35b9ff}.roster{gap:18px}.roster .portrait-row{gap:8px}.roster .member-tile{width:calc((100% - 24px)/4)}.roster .portrait-row:first-child .member-tile{width:calc((100% - 16px)/3)}
.gameplay{max-width:1700px;grid-template-columns:minmax(210px,360px) min(670px,calc(100dvh - 245px)) minmax(220px,310px);gap:20px;padding:12px 24px 47px}.game-shell{padding:10px;border:2px solid #68dfff;border-radius:20px 6px 20px 6px;background:#040a22db;box-shadow:0 0 5px #6bdfff,0 0 20px #1874e788,inset 0 0 0 4px #122557}.game-top{height:23px;margin-bottom:6px}.hud{height:76px;grid-template-columns:1fr 92px 1fr}.timer{width:92px;height:92px}.timer strong{font-size:38px}.score-hud strong{font-size:clamp(24px,2.5vw,40px)}.level-hud strong{color:#ffe6aa;text-shadow:0 0 9px #ffa731}.fever-row{margin-top:13px;margin-bottom:10px;height:27px}.board-wrap{padding:4px;border-radius:10px}.game-bottom{height:43px;gap:12px}.game-bottom>strong{font-size:clamp(25px,3vw,45px);paint-order:stroke fill;-webkit-text-stroke:2px #83095e}.game-bottom>b{font-size:clamp(15px,2vw,27px);paint-order:stroke fill;-webkit-text-stroke:2px #632158}.hint-button{min-height:30px;font-size:11px;padding:5px 12px}.icon-button{height:26px}.game-right{gap:20px}.record-card{padding:17px}.record-card strong{color:#ffe6a7;font-size:clamp(30px,3vw,47px);text-shadow:0 0 15px #ffb641}.special-guide{padding:18px 12px}.special-guide>div{--item:#ffd34d;gap:10px;padding:8px 7px;margin:10px 0;border-color:var(--item);border-radius:10px 3px;background:#060e29;box-shadow:0 0 7px color-mix(in srgb,var(--item) 45%,transparent)}.special-guide>div:nth-of-type(2){--item:#c274ff}.special-guide>div:nth-of-type(3){--item:#54dfff}.special-guide>div:nth-of-type(4){--item:#ff72d7}.special-guide>div:nth-of-type(5){--item:#79cfff}.special-guide i{display:grid;place-items:center;border:1px solid var(--item);border-radius:9px;width:48px;height:48px;min-width:48px;font-size:34px;color:var(--item);box-shadow:inset 0 0 13px color-mix(in srgb,var(--item) 25%,transparent)}.special-guide b{font-size:19px;font-style:italic;color:var(--item);text-shadow:0 0 8px var(--item)}.special-guide small{font-size:11px;color:#e4edff}
.difficulty-screen{height:auto;min-height:100dvh;padding:15px 32px 60px;gap:20px}.difficulty-screen .screen-header{flex-direction:column;gap:0}.difficulty-screen .screen-header>.image-logo{width:min(450px,42vw);max-width:none}.difficulty-screen .screen-heading{font:800 23px/1.2 'Segoe UI',sans-serif;letter-spacing:.2em;color:#d8f8ff;-webkit-text-stroke:0;text-shadow:0 0 9px #49bfff}.screen-header p{font-size:13px;margin:7px 0}.difficulty-card{border-color:var(--accent);padding:20px 14px 12px;gap:8px}.difficulty-name{font-size:clamp(26px,3vw,47px)}.difficulty-count{font-size:16px}.difficulty-members{min-height:0;padding:6px 0}.difficulty-members .member-tile{max-width:80px}.difficulty-card.easy .member-tile{max-width:88px}.difficulty-card.gimme .member-tile{width:calc((100% - 24px)/4)}.difficulty-card[aria-pressed=true]{box-shadow:0 0 6px #fff,0 0 22px var(--accent),inset 0 0 0 4px #07112d,inset 0 0 0 6px var(--accent)}.difficulty-stars i{opacity:.2;font-style:normal}.difficulty-description{font-size:12px}.difficulty-spec>span{font-size:17px}.difficulty-actions .start-button{min-height:56px;font-size:30px}
.modal{background:#020518bf;backdrop-filter:blur(8px)}.modal-card{padding:28px 32px}.modal-head h2{font-style:italic;color:#e3faff;text-shadow:0 0 5px #3cbeff,0 0 17px #9259ff}.close-button{right:-14px;top:-14px;width:36px;height:36px;border:2px solid #c8caff;box-shadow:0 0 9px #945fff;background:#0c1232}.pause-card{width:570px}.pause-card h2{font-size:58px;color:#ffe8fc;text-shadow:0 0 6px #ff3ce3,0 0 20px #7635ed}.pause-summary{border-color:#6ddcff;box-shadow:0 0 9px #0caeff66;padding:12px;font-weight:700;display:flex;justify-content:center;gap:18px}.pause-actions button{min-height:73px;font-size:29px}.pause-actions small{font-style:normal}.pause-help{display:block;margin:18px auto 0;background:none;border:0;color:#a3e9ff;font-size:12px;text-decoration:underline;text-underline-offset:4px}.pause-note{font-size:12px;margin-top:12px}.how-card{width:1150px}.how-card .modal-head h2{font-size:46px;margin-bottom:5px}.how-card>.subtitle{margin-top:5px}.tutorial-steps{display:grid;gap:10px}.tutorial-step{--step:#6bddff;display:grid;grid-template-columns:55px 1fr 32%;align-items:center;gap:17px;padding:14px;margin:0;border:1px solid #4a84cc;border-radius:14px 4px;background:#040d28;box-shadow:inset 0 0 15px #153b6d44;font-size:13px}.tutorial-step:nth-child(2){--step:#ff7bdb}.tutorial-step:nth-child(3){--step:#c791ff}.tutorial-step:nth-child(4){--step:#ffe18b}.tutorial-step>b{height:48px;width:48px;border:2px solid var(--step);color:#fff;background:#13234d;line-height:44px;font-size:30px;font-style:italic;box-shadow:0 0 13px var(--step)}.tutorial-step strong{font-size:22px;color:var(--step);text-shadow:0 0 8px color-mix(in srgb,var(--step) 40%,transparent)}.tutorial-demo{min-width:0;text-align:center}.demo-slide,.demo-match{display:flex;align-items:center;justify-content:center;gap:4px;color:#8cdfff}.demo-slide .member-tile{width:calc((100% - 45px)/6)}.demo-match .member-tile{width:22%}.demo-chain{font-size:35px!important;font-style:italic;color:#ffe392!important;text-shadow:0 0 13px #ff36dc!important}.demo-fever{font-weight:900;font-style:italic;color:#ffd787}.demo-fever span{display:block;height:18px;border:2px solid #ffe6bb;border-radius:20px;background:linear-gradient(90deg,#9b36ed,#ff38ba,#ffdc91);box-shadow:0 0 13px #fa4ccc;margin-top:7px}.how-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;border:1px solid #4b9fcd;border-radius:12px;padding:10px 15px}.how-notes p{font-size:12px;line-height:1.8;margin:0}.how-notes b{color:#83dfff}.how-card .wide{width:55%;display:flex;margin:15px auto 0;font-size:24px}
.result-screen{max-width:1680px;grid-template-columns:minmax(160px,270px) minmax(400px,900px) minmax(160px,270px);gap:10px 25px;padding:20px 28px 50px}.result-heading .screen-heading{font-size:clamp(45px,5vw,72px);color:#c8f6ff;-webkit-text-stroke:0;text-shadow:0 0 12px #24baff;font-style:italic}.record-celebration{font-size:clamp(20px,2.8vw,39px);color:#ffdf84}.award-crown{display:block;font-size:60px;line-height:1;text-shadow:0 0 18px #ffac17}.result-mini-logo{transform:none;left:22px;top:20px;width:17%}.result-mini-logo .image-logo{width:100%}.result-panel{border-color:#bb80ff;padding:20px}.result-panel>label{text-align:left;font-size:22px;letter-spacing:.08em;border-bottom:1px solid #5ee2ff;padding-bottom:8px}.result-score{font-size:clamp(60px,8vw,130px);font-style:italic;color:#fff4ce;paint-order:stroke fill;-webkit-text-stroke:2px #b78118;text-shadow:0 0 9px #d39130,0 0 24px #c5742740;line-height:1.25}.high-score{border:0;background:none;font-style:italic;margin:0 auto;padding:5px}.high-score b{color:#ffe8a2}.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.stats-grid>div{flex-direction:column;gap:7px;padding:12px 4px;border-radius:10px 3px;border-color:#6097dd}.stats-grid span{font-size:10px;color:#a3e8ff;font-style:italic}.stats-grid b{font-size:22px}.result-characters{gap:13px}.result-characters .member-tile{max-width:220px}.result-characters.right .member-tile{max-width:185px}.result-characters .portrait{box-shadow:0 0 4px #fff,0 0 14px var(--member-color),inset 0 0 18px #fff2}.new-record .result-panel{border-color:#ffdb75;box-shadow:0 0 5px #ffecc1,0 0 25px #ffca3644,inset 0 0 0 4px #06122a,inset 0 0 0 5px #b99651}.result-actions .primary{font-size:34px}.result-secondary{opacity:.9}.fever-active .stage{filter:saturate(1.35) brightness(1.12)}
@media(min-width:801px) and (max-height:800px){.difficulty-screen{padding-top:8px;gap:13px}.difficulty-screen .screen-header>.image-logo{width:270px}.difficulty-screen .screen-heading{font-size:20px}.difficulty-members .member-tile{max-width:57px}.difficulty-card.easy .member-tile{max-width:64px}.difficulty-name{font-size:30px}.difficulty-count{font-size:13px}.difficulty-card{padding:15px 12px 10px;gap:5px}.difficulty-stars{font-size:20px}.difficulty-actions .start-button{min-height:49px;font-size:27px}.gameplay{grid-template-columns:minmax(185px,320px) min(600px,calc(100dvh - 245px)) minmax(205px,275px);gap:17px;padding:10px 20px 43px}.special-guide{padding:14px 10px}.special-guide>div{margin:8px 0;padding:6px}.special-guide i{width:40px;height:40px;min-width:40px;font-size:28px}.special-guide b{font-size:16px}.special-guide small{font-size:10px}.record-card{padding:12px}.game-left .image-logo{width:100%}.roster-panel{padding:15px 12px}.game-bottom>strong{font-size:30px}.game-bottom>b{font-size:17px}.how-card{padding:20px 28px}.how-card .modal-head h2{font-size:34px}.tutorial-step{padding:10px;grid-template-columns:45px 1fr 28%;font-size:12px}.tutorial-step strong{font-size:19px}.tutorial-step>b{height:40px;width:40px;line-height:36px;font-size:26px}.how-notes p{font-size:11px}.pause-card{padding:20px 28px}.pause-card h2{font-size:44px}.pause-actions{gap:12px}.pause-actions button{min-height:61px;font-size:25px}.pause-summary{margin:14px 0}.result-screen{gap:8px 22px;padding-top:12px}.result-heading .screen-heading{font-size:49px}.record-celebration{font-size:25px}.award-crown{font-size:38px}.result-panel{padding:14px}.result-score{font-size:80px}.stats-grid>div{padding:9px 4px}.stats-grid b{font-size:20px}.result-actions .primary{min-height:49px;font-size:28px}.result-characters .member-tile{width:min(100%,calc((100dvh - 255px)/3))}.result-characters.right .member-tile{width:min(100%,calc((100dvh - 150px)/4))}}
@media(min-width:801px) and (max-width:1150px){.gameplay{grid-template-columns:minmax(165px,240px) min(550px,calc(100dvh - 245px)) minmax(175px,225px);gap:12px;padding-left:15px;padding-right:15px}.game-right{display:flex}.special-guide b{font-size:15px}.special-guide small{font-size:9px}.special-guide i{min-width:32px;width:32px;font-size:26px}.special-guide h2{font-size:15px}.roster-panel{padding:12px 8px}.roster .portrait-row{gap:6px}.roster .member-tile figcaption{font-size:9px}.score-hud strong{font-size:23px}.hud{padding-left:10px;padding-right:10px}.result-screen{grid-template-columns:150px minmax(360px,1fr) 150px}.stats-grid span{font-size:9px}}
@media(max-width:800px){.gameplay{display:flex;padding:10px 12px 55px}.game-left,.game-right{display:none}.game-shell{width:min(100%,calc(100dvh - 260px));max-width:550px;padding:7px}.hud{height:75px;grid-template-columns:1fr 78px 1fr;padding:6px 10px}.timer{width:78px;height:78px}.timer strong{font-size:32px}.score-hud strong{font-size:23px}.game-bottom{height:40px;gap:7px}.game-bottom>strong{font-size:25px}.game-bottom>b{font-size:14px}.hint-button{font-size:9px;padding:5px 7px}.difficulty-screen{padding:12px 14px 65px;gap:18px}.difficulty-screen .screen-header>.image-logo{width:210px;max-width:70%}.difficulty-screen .screen-heading{font-size:18px;letter-spacing:.07em}.difficulty-card{padding:13px 8px 9px;gap:5px}.difficulty-name{font-size:27px}.difficulty-count{font-size:11px}.difficulty-members .member-tile,.difficulty-card.easy .member-tile{max-width:52px}.difficulty-members{padding:3px 0}.difficulty-description{font-size:9px}.difficulty-spec>span{font-size:13px}.difficulty-actions .start-button{font-size:22px}.modal-card{padding:23px 20px}.close-button{right:-10px;top:-10px;width:31px;height:31px}.pause-card h2{font-size:41px}.pause-actions button{min-height:60px;font-size:24px}.pause-summary{gap:9px;font-size:10px}.how-card .modal-head h2{font-size:28px}.tutorial-step{grid-template-columns:32px 1fr;gap:10px;padding:10px;font-size:12px}.tutorial-step>b{width:30px;height:30px;line-height:26px;font-size:20px}.tutorial-step strong{font-size:16px}.tutorial-demo{grid-column:2}.demo-slide .member-tile{max-width:35px}.demo-match .member-tile{max-width:45px}.demo-chain{font-size:26px!important}.demo-fever{font-size:13px}.demo-fever span{height:12px}.how-notes{grid-template-columns:1fr;gap:12px;padding:12px}.how-notes p{font-size:11px}.how-card .wide{width:100%;font-size:20px}.result-screen{grid-template-columns:50px minmax(185px,1fr) 50px;gap:8px;padding:22px 10px 60px;max-width:600px}.result-heading .screen-heading{font-size:44px}.record-celebration{font-size:18px}.award-crown{font-size:34px}.result-panel{padding:12px 7px}.result-panel>label{font-size:15px}.result-score{font-size:clamp(32px,9vw,58px);-webkit-text-stroke-width:1px}.high-score{font-size:8px}.high-score b{font-size:12px}.stats-grid{grid-template-columns:1fr 1fr;gap:6px}.stats-grid span{font-size:8px}.stats-grid b{font-size:15px}.stats-grid>div{padding:8px 3px}.result-actions .primary{font-size:25px;min-height:47px}.result-characters .member-tile,.result-characters.right .member-tile{width:100%}.result-characters{gap:18px}.result-mini-logo{display:none}}
@media(max-width:800px) and (max-height:700px){.game-shell{width:min(100%,calc(100dvh - 230px))}.hud{height:64px;grid-template-columns:1fr 65px 1fr}.timer{width:65px;height:65px}.timer strong{font-size:27px}.score-hud strong{font-size:20px}.difficulty-screen .screen-header>.image-logo{width:160px}.difficulty-members .member-tile,.difficulty-card.easy .member-tile{max-width:42px}.difficulty-name{font-size:23px}.difficulty-description{font-size:8px}.result-screen{grid-template-columns:40px minmax(180px,1fr) 40px}.result-score{font-size:34px}.result-heading .screen-heading{font-size:36px}.award-crown{font-size:27px}}
@media(max-height:500px) and (min-width:650px){.gameplay{padding:10px 48px}.game-left,.game-right{display:none}.game-shell{width:auto;max-width:none;grid-template-columns:min(420px,calc(100dvh - 60px)) 210px;padding:8px;gap:0 15px}.game-top,.hud,.fever-row,.game-bottom{grid-column:2}.board-wrap{grid-column:1;grid-row:1/6}.result-screen{height:auto;min-height:100dvh}.difficulty-screen{height:auto}.pause-card{max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){.fever-active .stage{filter:none}}

@media(min-width:801px){.difficulty-screen .screen-header>.image-logo{width:min(350px,34vw)}.difficulty-screen{gap:16px}.difficulty-members .member-tile{max-width:72px}.difficulty-card.easy .member-tile{max-width:78px}}
@media(min-width:801px) and (max-height:800px){.difficulty-screen .screen-header>.image-logo{width:255px}.difficulty-members .member-tile{max-width:55px}.difficulty-card.easy .member-tile{max-width:60px}}
.special-guide i svg{width:80%;height:80%;filter:drop-shadow(0 0 4px currentColor)}.special-guide h2{white-space:nowrap;font-size:clamp(13px,1.4vw,23px)}.hud .level-hud small{display:none}
@media(min-width:801px){.gameplay{grid-template-columns:minmax(190px,360px) min(670px,calc(100dvh - 285px)) minmax(200px,310px)}}
@media(min-width:801px) and (max-width:1150px){.gameplay{grid-template-columns:minmax(170px,240px) min(530px,calc(100dvh - 285px)) minmax(175px,225px)}}

