/* Scoped game treatment. Approved global navigation/footer are untouched. */
#main-content{--game-navy:#0b1d46;--game-blue:#355cff;--game-gold:#ffcd3c;max-width:1220px;padding:30px 28px 48px}
#main-content .lock-hero{align-items:center;padding:0 0 24px;border:0;gap:20px}
#main-content .lock-hero h1{font-size:clamp(36px,4.5vw,60px);margin:10px 0 12px;letter-spacing:-.05em;line-height:1.05;color:var(--game-navy)}
#main-content .lock-hero h1 span{color:#3554d9}
#main-content .lock-hero p{font-size:17px;line-height:1.5;color:#516480}
.hero-stamp{display:flex;align-items:center;gap:14px;transform:rotate(3deg);color:var(--game-navy);background:#fff2be;border:2px solid #edc860;border-radius:18px;padding:18px 22px;box-shadow:4px 4px 0 #dce4ef;flex-shrink:0}
.hero-stamp>span{font-size:46px;line-height:1}.hero-stamp strong{font-size:14px;line-height:1.25}
#main-content .practice-shell{margin:0;padding:0;overflow:hidden;border-radius:26px;border:1px solid #ced9e9;box-shadow:0 16px 45px #18386b13}
#main-content .practice-topbar{display:flex;justify-content:space-between;align-items:center;padding:17px 25px;border-bottom:1px solid #dce5f1;gap:12px}
#main-content .practice-topbar h2{font-size:22px;margin:2px 0 0;color:var(--game-navy)}
#main-content .section-kicker{color:#445f8c;font-size:10px}
.game-options{position:relative}.game-options summary{cursor:pointer;list-style:none;font-weight:750;font-size:13px;padding:11px 15px;border:1px solid #cbd7e9;border-radius:12px;color:#29446f;background:white}.game-options summary:after{content:" ⌄"}
#main-content .practice-toolbar{position:absolute;right:0;top:44px;width:260px;z-index:40;background:white;border:1px solid #cbd7e9;border-radius:15px;box-shadow:0 12px 28px #15295325;padding:12px;display:grid;grid-template-columns:1fr;margin:0}
#main-content .practice-combo-bar{position:static;display:flex;align-items:center;justify-content:center;gap:22px;background:#f4f7ff;padding:12px;margin:0;border-bottom:1px solid #dce5f1}
#main-content .practice-combo-label{font-size:10px;letter-spacing:.08em;line-height:1.5;font-weight:850;color:#536488}
#main-content .combo-display{margin:0;gap:9px}
#main-content .combo-display span{background:white;border:1px solid #c6d2ea;border-bottom:3px solid #c6d2ea;min-width:54px;height:43px;font-size:24px;color:#15316b;border-radius:10px}
#main-content .practice-grid{grid-template-columns:1fr 1fr;padding:0;gap:0;align-items:stretch}
#main-content .lock-stage{position:relative;isolation:isolate;padding:18px 38px 20px;background:radial-gradient(ellipse at 45% 45%,#456ff4 0%,#2049bb 58%,#173b9b 100%);overflow:hidden;border-right:1px solid #2044a5}
#main-content .lock-stage:before{content:"";position:absolute;inset:10px 13px;border:2px solid #ffffff28;border-radius:16px;pointer-events:none;z-index:-1}
.stage-label{width:100%;display:flex;gap:8px;align-items:center;font-size:10px;font-weight:850;letter-spacing:.09em;color:#e5edff}
.status-dot{height:7px;width:7px;background:#ffce45;border-radius:50%;box-shadow:0 0 0 4px #ffce451c}.stage-status{margin-left:auto;color:#fff0a8;font-size:9px}
.locker-vents{display:flex;flex-direction:column;gap:5px;width:88px;margin:17px 0 11px}.locker-vents i{height:5px;background:#0c286e;border-bottom:1px solid #6685e8;border-radius:4px}
.game-sticker{position:absolute;top:72px;right:25px;z-index:4;padding:11px 10px;background:var(--game-gold);border:3px solid #fff0b4;box-shadow:3px 4px 0 #14327c75;transform:rotate(10deg);border-radius:9px;color:#203164;font-size:10px;line-height:1.15;font-weight:900;text-align:center}.game-sticker b{display:block;font-size:20px}
#main-content .lock-object{width:100%;max-width:340px;padding-top:0!important}
#main-content .lock-body{width:310px;max-width:100%;aspect-ratio:1;background:linear-gradient(135deg,#e6ebf0,#9daec0);border-radius:50%;border:3px solid #91a2b8;box-shadow:0 12px 0 #102d7966,0 20px 30px #0b266a70,inset 0 2px 0 white}
#main-content .lock-body:before,#main-content .lock-body:after{display:none}
#main-content .lock-brand{position:absolute;top:13px;font-size:8px;letter-spacing:.12em;color:#344b6b;font-weight:900}
#main-content .dial-wrap{width:85%}#main-content .dial-wrap svg{display:block;width:100%}
#main-content .dial-pointer{top:28px;border-top:21px solid #ffce45;border-left-width:10px;border-right-width:10px}
#main-content .dial-pointer:after{display:none}
#main-content .dial-number{font-size:21px}
#main-content .dial-face{fill:#101f3e;stroke:#071127}
#main-content .dial-rim{fill:#f0f3fa;stroke:#647794}
#main-content .dial-center{fill:#284678;stroke:#44649a}
#main-content .dial-center-inner{fill:#1b335b}
#main-content .current-readout{bottom:7px;padding:4px 15px;background:#fff9e8;border-color:#ffe5a3;border-radius:9px}
#main-content .current-readout strong{font-size:23px}.current-readout span{font-size:7px}
#main-content .dial-controls{max-width:370px;margin-top:20px;gap:10px}
#main-content .turn-btn{border:1px solid #99b4ff;border-bottom:4px solid #afc4f8;min-height:59px;background:#f8faff;color:#173979;border-radius:13px}
#main-content .turn-btn span{color:#244bc3;font-size:30px}#main-content .turn-btn small{color:#536582}
#main-content .turn-btn.active{background:#ffedac;border-color:#edbd49;transform:translateY(2px)}
#main-content .drag-hint{color:#e1e9ff;font-size:11px;max-width:370px;line-height:1.5}
#main-content .coach-panel{padding:28px 32px;display:flex;align-items:center;width:100%;max-width:none}
.active-coach{width:100%}.game-ready .active-coach{display:none}
.mission-intro{width:100%}.mission-intro[hidden]{display:none}
#main-content .mission-intro h3{font-size:clamp(30px,3vw,40px);line-height:1.08;letter-spacing:-.035em;color:var(--game-navy);margin:14px 0}
.mission-intro p{font-size:15px;line-height:1.6;color:#526584}
#main-content .mission-start{width:100%;margin-top:9px;min-height:56px;font-size:17px;background:#3557ea;color:white;box-shadow:0 4px 0 #1738a9;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:0 22px}
#main-content .mission-start:hover{background:#2547d6}.mission-start span{font-size:26px}
#main-content .mission-intro>.text-btn{display:block;margin:12px auto;color:#3154aa}
.mission-pattern{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e2e8f2;padding-top:19px;margin-top:12px;color:#385bd3;font-size:29px}.mission-pattern b{display:block;font-size:10px;letter-spacing:.08em;color:#536480}
#main-content .mission-small{font-size:11px;color:#697994;margin:14px 0 0}
#main-content .step-row{margin-bottom:17px}
#main-content .direction-card h3{font-size:27px;color:var(--game-navy)}
#main-content .direction-icon{background:#eef1ff;color:#3557d3}
#main-content .instruction{font-size:16px;line-height:1.5;margin:15px 0;color:#364c70}
#main-content .natural-reset-note{margin-top:12px;padding:10px 12px}
#main-content .coach-feedback{padding:12px 14px;margin-top:12px}
#main-content .practice-actions .lock-btn{min-height:40px}
#main-content .session-stats{margin-top:12px}
#main-content .how-card{margin-top:20px;border-radius:18px;box-shadow:none}
#main-content .how-card>div{padding:16px 20px;display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:center}
#main-content .how-card .how-num{grid-row:1/3;margin:0;background:#e6ecff;color:#3455c7}
#main-content .how-card p{margin:4px 0 0;font-size:11px;color:#526580}
#main-content .game-privacy{font-size:11px;line-height:1.5;color:#61728b;text-align:center;margin:18px auto 0;max-width:850px}
#main-content button:focus-visible,#main-content summary:focus-visible{outline:3px solid #e3a200;outline-offset:4px}
#main-content .lock-object.open .lock-body{box-shadow:0 0 0 6px #ffdb59,0 0 35px #ffdf7c99}
#main-content .lock-object.open:after{content:"★ UNLOCKED ★";position:absolute;top:40%;left:50%;transform:translateX(-50%) rotate(-8deg);background:#ffda51;color:#162f65;font-size:22px;font-weight:950;padding:12px 18px;white-space:nowrap;border:3px solid #fff2ba;border-radius:12px;box-shadow:0 6px 0 #9b6e1544;pointer-events:none}
#main-content .lock-object.open{animation:mission-win .5s ease}
@keyframes mission-win{50%{transform:rotate(-3deg) scale(1.03)}}
@media(min-width:861px){#main-content .practice-shell{max-width:1080px;margin:auto}#main-content .how-card{max-width:1080px;margin:20px auto 0}}
@media(max-width:860px){#main-content{padding:24px 22px 40px}#main-content .lock-hero{flex-direction:row;align-items:center}.hero-stamp{padding:14px}.hero-stamp>span{font-size:32px}#main-content .practice-grid{grid-template-columns:1fr 1fr}#main-content .lock-stage{padding:17px 20px}#main-content .coach-panel{padding:24px 22px}.game-sticker{right:13px;top:65px;transform:rotate(8deg);font-size:8px;padding:8px}.locker-vents{margin:14px 0 16px}.stage-status{display:none}#main-content .lock-body{width:280px}#main-content .dial-pointer{top:25px}#main-content .turn-btn{grid-template-columns:24px 1fr;padding:7px}#main-content .turn-btn b{font-size:11px}#main-content .turn-btn small{font-size:9px}#main-content .how-card-three{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){#main-content{padding:21px 14px 36px}.hero-stamp{display:none}#main-content .lock-hero{padding-bottom:18px}#main-content .lock-hero h1{font-size:39px}#main-content .lock-hero p{font-size:14px}.desktop-break{display:none}#main-content .practice-topbar{padding:13px 15px}#main-content .practice-topbar h2{font-size:18px}.game-options summary{font-size:11px;padding:10px}#main-content .practice-combo-bar{padding:9px;gap:15px}#main-content .combo-display span{height:37px;min-width:45px;font-size:21px}#main-content .practice-grid{grid-template-columns:1fr}#main-content .lock-stage{padding:14px 25px 16px;border-right:0}#main-content .locker-vents{display:none}#main-content .stage-label{margin-bottom:16px}#main-content .stage-status{display:block}#main-content .lock-body{width:245px}#main-content .dial-pointer{top:22px}#main-content .lock-brand{top:9px;font-size:6px}#main-content .current-readout{bottom:3px;padding:3px 11px}#main-content .current-readout strong{font-size:20px}#main-content .current-readout span{font-size:6px}.game-sticker{top:51px;right:25px}#main-content .dial-controls{max-width:320px;margin-top:15px}#main-content .turn-btn{min-height:52px;grid-template-columns:30px 1fr;padding:7px 12px}#main-content .drag-hint{font-size:10px;max-width:315px;margin-top:9px}#main-content .coach-panel{padding:22px 25px}#main-content .mission-intro h3{font-size:29px;margin:10px 0}#main-content .mission-intro h3 br{display:none}.mission-intro p{font-size:14px}.mission-pattern{padding-top:14px}.game-ready .coach-panel{order:-1;padding:16px 22px}.game-ready .mission-intro h3,.game-ready .mission-intro>p:not(.mission-small),.game-ready .mission-intro>.section-kicker,.game-ready .mission-pattern,.game-ready .mission-small{display:none}#main-content .mission-start{min-height:49px;margin:0}#main-content .mission-intro>.text-btn{margin:8px auto 0;padding:5px;font-size:12px}#main-content .how-card-three{grid-template-columns:1fr}#main-content .how-card>div{padding:13px 16px}#main-content .setup-panel{padding:20px 16px}#main-content .setup-copy h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){#main-content *,#main-content *:before,#main-content *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#main-content .mobile-guide{display:none}
@media(max-width:600px){
 #main-content .practice-shell:not(.game-ready) .mobile-guide{display:block;padding:13px 20px;background:#eef2ff;border-bottom:1px solid #d2dff8}
 #main-content .mobile-guide strong{font-size:19px;color:#183c98}
 #main-content .mobile-guide p{font-size:13px;line-height:1.4;color:#30496e;margin:5px 0}
 #main-content .mobile-guide>span{font-size:11px;font-weight:800;color:#455d85}
}
/* Above-the-fold play: hierarchy is compact; the dial stays comfortably sized. */
#main-content{padding-top:18px}
#main-content .lock-hero{padding-bottom:17px}
#main-content .lock-hero h1{font-size:clamp(36px,4vw,48px);margin:6px 0 8px}
#main-content .lock-hero p{font-size:15px;line-height:1.4}
#main-content .desktop-break{display:none}
#main-content .hero-stamp{padding:12px 17px}
#main-content .hero-stamp>span{font-size:34px}
#main-content .practice-topbar{padding:10px 21px;min-height:54px}
#main-content .practice-topbar>.section-kicker,#main-content .practice-topbar>div>.section-kicker{display:none}
#main-content .practice-topbar h2{font-size:19px;margin:0}
#main-content .game-options summary{padding:8px 12px}
#main-content .practice-combo-bar{padding:7px 12px}
#main-content .combo-display span{height:38px;min-width:49px;font-size:22px}
#main-content .lock-stage{padding-top:14px;padding-bottom:14px}
#main-content .locker-vents{margin:10px 0 8px;gap:4px}
#main-content .lock-body{width:280px}
#main-content .lock-brand{top:10px}
#main-content .dial-pointer{top:25px}
#main-content .dial-controls{margin-top:14px;max-width:350px}
#main-content .turn-btn{min-height:54px}
#main-content .drag-hint{margin-top:8px}
#main-content .coach-panel{padding:22px 30px}
#main-content .mission-intro h3{font-size:35px;margin:10px 0 12px}
#main-content .mission-intro p{font-size:14px;margin:10px 0}
#main-content .mission-pattern{margin-top:8px;padding-top:13px}
#main-content .mission-small{margin:10px 0 0;font-size:11px}
@media(max-width:600px){
 #main-content{padding-top:15px}
 #main-content .lock-hero{padding-bottom:14px}
 #main-content .lock-hero h1{font-size:36px;margin:6px 0 8px}
 #main-content .lock-hero p{font-size:13px}
 #main-content .practice-topbar{padding:9px 14px;min-height:48px}
 #main-content .practice-topbar h2{font-size:17px}
 #main-content .practice-combo-bar{padding:7px 9px}
 #main-content .combo-display span{height:35px;min-width:43px;font-size:21px}
 #main-content .game-ready .coach-panel{padding:12px 20px}
 #main-content .mission-intro>.text-btn{margin:6px auto 0;padding:4px}
 #main-content .mission-start{min-height:47px}
 #main-content .lock-stage{padding:12px 24px 14px}
 #main-content .stage-label{margin-bottom:13px}
 #main-content .lock-body{width:245px}
 #main-content .lock-brand{top:9px}
 #main-content .dial-pointer{top:22px}
 #main-content .dial-controls{margin-top:13px}
 #main-content .turn-btn{min-height:52px}
 #main-content .practice-shell:not(.game-ready) .mobile-guide{padding:11px 18px}
}

/* First-screen editing: explicit Apply protects the round in progress. */
#main-content .inline-combo-form{margin:0;max-width:360px;min-width:0}
#main-content .inline-combo-fields{display:flex;align-items:end;gap:9px}
#main-content .inline-combo-fields label{display:block}
#main-content .inline-combo-fields label>span{display:block;text-align:center;color:#536488;font-size:9px;font-weight:800;margin-bottom:2px}
#main-content .inline-combo-fields input{box-sizing:border-box;width:55px;height:38px;padding:3px 4px;border:1px solid #bac9e7;border-bottom:3px solid #bac9e7;border-radius:9px;background:white;color:#15316b;text-align:center;font:850 22px/1 system-ui;appearance:textfield;-moz-appearance:textfield}
#main-content .inline-combo-fields input::-webkit-inner-spin-button,#main-content .inline-combo-fields input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#main-content .inline-combo-fields input:focus-visible{outline:3px solid #e3a200;outline-offset:2px}
#main-content .inline-combo-fields button{height:38px;padding:0 17px;border:0;border-bottom:3px solid #1738a9;border-radius:9px;background:#3557ea;color:white;font-size:13px;font-weight:850;cursor:pointer}
#main-content .inline-combo-error,#main-content .inline-combo-status{font-size:11px;line-height:1.35;margin:5px 0 0;max-width:310px}
#main-content .inline-combo-error{color:#a32318;font-weight:750}
#main-content .inline-combo-status{color:#405983}
#main-content .inline-combo-error:empty,#main-content .inline-combo-status:empty{display:none}
@media(max-width:600px){
 #main-content .practice-combo-bar{gap:12px}
 #main-content .practice-combo-label{font-size:9px}
 #main-content .inline-combo-fields{gap:6px}
 #main-content .inline-combo-fields input{width:43px;height:35px;font-size:21px}
 #main-content .inline-combo-fields button{height:35px;padding:0 12px;font-size:12px}
 #main-content .inline-combo-form{max-width:244px}
}
