:root{--ink:#111820;--cream:#fff0d2;--lab:#133f42;--green:#9df238;--orange:#ff6a2f;--purple:#8f49d8;--teal:#19c5be;--metal:#c0c0c0;--metal-dark:#808080;--metal-light:#fff;--mono:"DM Mono",monospace;--sans:"Manrope",system-ui,sans-serif;--display:"Bowlby One SC",Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;touch-action:manipulation}body{margin:0;background:var(--ink);color:#fff;font-family:var(--sans);line-height:1.5;overflow-x:hidden}a{color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%}:focus-visible{outline:4px solid var(--green);outline-offset:4px}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:.8rem 1rem;background:var(--green);color:var(--ink);font-weight:800}.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:20;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,4vw,4.5rem);background:var(--ink);border-bottom:4px solid var(--green)}.wordmark{display:flex;align-items:center;gap:.8rem;text-decoration:none}.wordmark>span:last-child{display:grid}.wordmark strong{font-size:.84rem;letter-spacing:.11em}.wordmark small{color:#aebbc3;font:500 .55rem var(--mono);letter-spacing:.13em}.mark{display:grid;place-items:center;width:42px;height:42px;background:var(--orange);color:var(--ink);font:500 1.1rem var(--mono);box-shadow:5px 5px 0 var(--purple)}nav{display:flex;gap:1.3rem}nav a{font:500 .7rem var(--mono);letter-spacing:.09em;text-transform:uppercase;text-underline-offset:.35rem}
.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:8px solid var(--green)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,23,.94),rgba(10,17,23,.6) 47%,rgba(10,17,23,.02) 78%),linear-gradient(0deg,rgba(10,17,23,.52),transparent 58%)}.hero-copy{position:relative;z-index:2;max-width:920px;padding:clamp(3rem,7vw,7rem) clamp(1rem,5vw,5rem)}.hero-copy>p:first-child{color:var(--green);font:500 .72rem var(--mono);letter-spacing:.13em}.hero h1{margin:.7rem 0 1.2rem;font:400 clamp(4.3rem,8.4vw,8.4rem)/.84 var(--display);letter-spacing:-.05em;text-transform:uppercase}.hero-copy>p:nth-of-type(2){max-width:650px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700}.hero-copy>a{display:inline-block;margin-top:1.3rem;padding:1rem 1.2rem;background:var(--green);color:var(--ink);font-weight:800;text-decoration:none;box-shadow:6px 6px 0 var(--orange)}
.instructions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start;padding:clamp(4rem,7vw,7rem) clamp(1rem,5vw,5rem);background:var(--cream);color:var(--ink);border-bottom:8px solid var(--ink)}.instructions p,.game-heading p{margin:0 0 1rem;color:#9b311e;font:500 .7rem var(--mono);letter-spacing:.12em}.instructions h2,.game-heading h2{margin:0;font:400 clamp(3rem,6vw,6rem)/.88 var(--display);letter-spacing:-.04em;text-transform:uppercase}.instructions ol{margin:0;padding:0;list-style:none;counter-reset:steps}.instructions li{counter-increment:steps;padding:1.1rem 0;border-bottom:3px solid var(--ink);font-size:1.05rem;font-weight:700}.instructions li::before{content:"0" counter(steps);display:inline-block;width:3.2rem;color:#9b311e;font:500 .7rem var(--mono)}
.lab-team{padding:clamp(4rem,7vw,7rem) clamp(1rem,5vw,5rem);background:var(--orange);color:var(--ink);border-bottom:8px solid var(--ink)}.lab-team header{display:grid;grid-template-columns:.45fr 1.55fr;gap:2rem;align-items:start;margin-bottom:2.4rem}.lab-team header p{margin:.4rem 0 0;font:500 .7rem var(--mono);letter-spacing:.12em}.lab-team h2{margin:0;font:400 clamp(3rem,6vw,6rem)/.88 var(--display);letter-spacing:-.04em;text-transform:uppercase}.lab-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem)}.team-card{position:relative;display:grid;grid-template-rows:clamp(250px,24vw,350px) 1fr;min-width:0;padding:0!important;border:4px solid var(--ink);background:var(--cream);box-shadow:8px 8px 0 var(--purple);overflow:hidden}.team-portrait{position:relative;display:grid;place-items:end center;min-height:0;overflow:hidden;border-bottom:4px solid var(--ink);background:radial-gradient(circle at 50% 32%,#fff7df 0 13%,#9ce4dc 14% 52%,#158682 53% 100%)}.team-portrait::after{content:"";position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(transparent,rgba(17,24,32,.18));pointer-events:none}.team-portrait img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 0 rgba(17,24,32,.22))}.team-number{position:absolute;z-index:3;left:.75rem;top:.75rem;display:grid;place-items:center;width:2.65rem;height:2.65rem;border:3px solid var(--ink);border-radius:50%;background:var(--green);color:var(--ink);font:800 .72rem var(--mono)!important;box-shadow:3px 3px 0 var(--purple)}.team-card-copy{display:grid;align-content:start;padding:1.25rem 1.35rem 1.45rem}.team-role{font:700 .63rem var(--mono)!important;letter-spacing:.12em!important}.team-card h3{margin:.45rem 0 .35rem;font:400 clamp(1.8rem,2.7vw,2.5rem)/.95 var(--display);letter-spacing:-.025em;text-transform:uppercase}.team-identifier{display:block;margin-bottom:.8rem;padding:.42rem .55rem;border-left:5px solid var(--orange);background:#fff;color:#69402f;font:800 .68rem/1.35 var(--mono);letter-spacing:.02em}.team-card p{margin:0;font-weight:700;line-height:1.5}.sofia-card{background:var(--purple);color:#fff;box-shadow:8px 8px 0 var(--green)}.sofia-card .team-portrait{background:radial-gradient(circle at 50% 28%,#ffbf8f 0 14%,#a85be8 15% 54%,#60329a 55% 100%)}.sofia-card .team-identifier{border-left-color:var(--green);color:#402451}.sofia-card .team-number{background:var(--orange);color:#fff;box-shadow:3px 3px 0 var(--green)}.bix-card{box-shadow:8px 8px 0 var(--teal)}.bix-card .team-portrait{background:radial-gradient(circle at 50% 30%,#e9ffb5 0 13%,#9df238 14% 48%,#2d725c 49% 100%)}.bix-card .team-identifier{border-left-color:var(--teal)}
.game-zone{padding:clamp(4rem,7vw,7rem) clamp(.75rem,4vw,4rem);background:radial-gradient(circle at 50% 10%,#235e60,var(--lab) 42%,#0d2528)}.game-heading{max-width:1150px;margin:0 auto 2rem}.game-heading p{color:var(--green)}.difficulty{max-width:1150px;margin:0 auto 1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.difficulty button{padding:1rem;border:4px solid var(--ink);background:#e8ecec;color:var(--ink);font-weight:800;box-shadow:5px 5px 0 var(--orange);touch-action:manipulation}.difficulty button span{display:block;margin-top:.25rem;font:500 .6rem var(--mono);letter-spacing:.06em}.difficulty button.active{background:var(--green);box-shadow:5px 5px 0 var(--purple)}
.lab-console{max-width:1150px;margin:0 auto;padding:clamp(.8rem,2vw,1.6rem);background:#26333b;border:6px solid #080d10;box-shadow:inset 5px 5px 0 #52656f,inset -5px -5px 0 #050809,12px 12px 0 var(--orange)}.console-label{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--green);font:500 .65rem var(--mono);letter-spacing:.1em}.mode-controls{display:flex;gap:.7rem;margin-bottom:1rem}.mode-controls button{flex:1;padding:.85rem;border:4px solid #050809;background:#d8dfe2;color:var(--ink);font-weight:800;touch-action:manipulation}.mode-controls button.active{background:var(--orange);color:#fff}
.classic-window{padding:8px;background:var(--metal);border-top:5px solid var(--metal-light);border-left:5px solid var(--metal-light);border-right:5px solid #4a4a4a;border-bottom:5px solid #4a4a4a;color:#000;font-family:Arial,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.classic-title{display:flex;justify-content:space-between;padding:.35rem .55rem;background:#000080;color:#fff;font:bold .82rem Arial,sans-serif}.score-panel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:8px 0;padding:8px;border-top:4px solid var(--metal-dark);border-left:4px solid var(--metal-dark);border-right:4px solid var(--metal-light);border-bottom:4px solid var(--metal-light)}.score-panel output{justify-self:start;min-width:84px;padding:.25rem .45rem;background:#080808;color:#ff1717;font:500 2rem/1 "DM Mono",monospace;letter-spacing:.05em}.score-panel output:last-child{justify-self:end}.score-panel button{width:48px;height:48px;padding:0;border-top:4px solid #fff;border-left:4px solid #fff;border-right:4px solid #777;border-bottom:4px solid #777;background:var(--metal);color:#000;font:bold 1rem "DM Mono",monospace;touch-action:manipulation}.score-panel button:active{border-color:#777 #fff #fff #777}
.board-scroll{max-width:100%;overflow:auto;padding:0;border-top:4px solid var(--metal-dark);border-left:4px solid var(--metal-dark);border-right:4px solid var(--metal-light);border-bottom:4px solid var(--metal-light);background:var(--metal);overscroll-behavior:contain}.mine-board{--cols:9;--cell-size:34px;display:grid;grid-template-columns:repeat(var(--cols),var(--cell-size));width:max-content;min-width:100%;justify-content:center;background:var(--metal)}.cell{width:var(--cell-size);height:var(--cell-size);display:grid;place-items:center;padding:0;border:0;border-top:4px solid #fff;border-left:4px solid #fff;border-right:4px solid #777;border-bottom:4px solid #777;background:var(--metal);color:#000;font:bold calc(var(--cell-size)*.58)/1 Arial,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.cell:active:not(.revealed){border:1px solid #888}.cell.revealed{border:1px solid #888;background:var(--metal)}.cell.flagged{color:#d00000;font-size:calc(var(--cell-size)*.43)}.cell.mine{background:#ff2f2f;color:#000}.cell[data-count="1"]{color:#0000ff}.cell[data-count="2"]{color:#008000}.cell[data-count="3"]{color:#ff0000}.cell[data-count="4"]{color:#000080}.cell[data-count="5"]{color:#800000}.cell[data-count="6"]{color:#008080}.cell[data-count="7"]{color:#000}.cell[data-count="8"]{color:#666}
.game-status{margin:1rem 0 0;padding:1rem;background:#091316;border-left:7px solid var(--green);color:#fff;font-weight:800}.game-status.won{border-color:var(--green);color:var(--green)}.game-status.lost{border-color:#ff3838;color:#ff8b8b}.mobile-note{margin:.8rem 0 0;color:#b9c8ca;font:500 .67rem var(--mono)}footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1rem,5vw,5rem);background:var(--ink);font:500 .72rem var(--mono);letter-spacing:.08em}footer p{margin:0}

/* Every cleared field produces a saveable laboratory report. */
.completion-dialog{width:min(94vw,760px);max-height:94vh;padding:0;border:5px solid var(--ink);background:var(--cream);color:var(--ink);box-shadow:12px 12px 0 var(--orange);overflow:auto}.completion-dialog::backdrop{background:rgba(7,14,17,.82);backdrop-filter:blur(5px)}.completion-card{padding:clamp(1rem,4vw,2.2rem)}.completion-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:3px solid var(--ink)}.completion-topline>span{color:#9b311e;font:500 .68rem var(--mono);letter-spacing:.16em}.completion-topline button{width:44px;height:44px;padding:0;border:3px solid var(--ink);background:var(--green);color:var(--ink);font:800 1.7rem/1 Arial,sans-serif;box-shadow:4px 4px 0 var(--purple)}.completion-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.3rem 0}.completion-heading p{margin:0 0 .35rem;color:#9b311e;font:500 .63rem var(--mono);letter-spacing:.12em}.completion-heading h3{margin:0;font:400 clamp(2.3rem,8vw,4.6rem)/.86 var(--display);letter-spacing:-.04em;text-transform:uppercase}.completion-record{flex:0 0 auto;padding:.55rem .65rem;border:3px solid var(--ink);background:var(--green);font:800 .62rem var(--mono);letter-spacing:.08em;transform:rotate(2deg)}.completion-record.previous{background:#d7dddf;color:#4a555a}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);border:3px solid var(--ink);background:#fff}.completion-stats>div{min-width:0;padding:1rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}.completion-stats>div:nth-child(3n){border-right:0}.completion-stats>div:nth-last-child(-n+3){border-bottom:0}.completion-stats span{display:block;margin-bottom:.45rem;color:#6e3f35;font:500 .58rem var(--mono);letter-spacing:.08em}.completion-stats strong{display:block;font-size:clamp(.9rem,3vw,1.2rem);line-height:1.15;overflow-wrap:anywhere}.completion-reaction{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin:1rem 0 0;padding:1rem;border-left:7px solid var(--purple);background:#112a2d;color:#fff}.reaction-badge{display:grid;place-items:center;width:54px;height:54px;border:3px solid var(--ink);border-radius:50%;background:var(--orange);color:#fff;font:800 .9rem var(--mono);box-shadow:3px 3px 0 var(--green)}.completion-reaction cite{color:var(--green);font:800 .68rem var(--mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase}.completion-reaction p{margin:.3rem 0 0;font-size:.9rem;font-weight:700;line-height:1.45}.certificate-bonus{width:100%;margin-top:.8rem;padding:.85rem;border:3px solid #62edff;background:#0d2344;color:#fff;font-weight:800;box-shadow:5px 5px 0 #ff3bac}.completion-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.completion-actions button{min-height:54px;padding:.8rem;border:3px solid var(--ink);background:#e4e9e9;color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.025em}.completion-actions button:first-child{background:var(--green);box-shadow:4px 4px 0 var(--purple)}.completion-actions button:last-child{background:var(--orange);color:#fff}.completion-help{margin:.9rem 0 0;color:#50606a;font:500 .66rem/1.5 var(--mono)}
.completion-dialog[data-card-edition="millennium"]{border-color:#62edff;background:#061228;color:#fff;box-shadow:12px 12px 0 #ff3bac}.completion-dialog[data-card-edition="millennium"] .completion-topline{border-color:#62edff}.completion-dialog[data-card-edition="millennium"] .completion-topline>span,.completion-dialog[data-card-edition="millennium"] .completion-heading p{color:#62edff}.completion-dialog[data-card-edition="millennium"] .completion-topline button{border-color:#62edff;background:#0d2344;color:#fff;box-shadow:4px 4px 0 #ff3bac}.completion-dialog[data-card-edition="millennium"] .completion-record{border-color:#62edff;background:#ff3bac;color:#fff}.completion-dialog[data-card-edition="millennium"] .completion-record.previous{background:#0d2344;color:#c6f6ff}.completion-dialog[data-card-edition="millennium"] .completion-stats{border-color:#62edff;background:#08172e}.completion-dialog[data-card-edition="millennium"] .completion-stats>div{border-color:#245b86}.completion-dialog[data-card-edition="millennium"] .completion-stats span{color:#62edff}.completion-dialog[data-card-edition="millennium"] .completion-reaction{border-color:#ff3bac;background:#020817}.completion-dialog[data-card-edition="millennium"] .reaction-badge{border-color:#62edff;background:#ff3bac;box-shadow:3px 3px 0 #62edff}.completion-dialog[data-card-edition="millennium"] .completion-actions button{border-color:#62edff;background:#0d2344;color:#fff}.completion-dialog[data-card-edition="millennium"] .completion-actions button:first-child{background:#ff3bac;box-shadow:4px 4px 0 #62edff}.completion-dialog[data-card-edition="millennium"] .completion-actions button:last-child{background:#1a4771}.completion-dialog[data-card-edition="millennium"] .completion-help{color:#acd0de}
@media(max-width:760px){.wordmark small{display:none}nav a:first-child{display:none}.hero{min-height:660px}.hero>img{object-position:44% center}.hero-shade{background:linear-gradient(0deg,rgba(10,17,23,.96),rgba(10,17,23,.4) 68%,rgba(10,17,23,.08))}.hero h1{font-size:clamp(3.6rem,16vw,5.8rem)}.hero-copy{padding-top:13rem}.instructions{grid-template-columns:1fr}.lab-team header{grid-template-columns:1fr}.lab-team-grid{grid-template-columns:1fr;gap:1.25rem}.team-card{grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);grid-template-rows:minmax(280px,1fr)}.team-portrait{border-right:4px solid var(--ink);border-bottom:0}.team-card-copy{align-content:center}.difficulty{grid-template-columns:1fr 1fr}.difficulty button:last-child{grid-column:1/-1}.console-label{font-size:.56rem}.score-panel{gap:.5rem}.score-panel output{min-width:70px;font-size:1.55rem}.mine-board{justify-content:start}.completion-dialog{width:96vw}.completion-stats{grid-template-columns:1fr 1fr}.completion-stats>div,.completion-stats>div:nth-child(3n){border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}.completion-stats>div:nth-child(2n){border-right:0}.completion-stats>div:nth-last-child(-n+2){border-bottom:0}.completion-dialog[data-card-edition="millennium"] .completion-stats>div{border-color:#245b86}.completion-heading{display:block}.completion-record{display:inline-block;margin-top:1rem}.completion-actions{grid-template-columns:1fr}.completion-reaction{align-items:start}}
@media(max-width:460px){.site-header{padding-inline:.8rem}.wordmark strong{font-size:.7rem}.hero h1{font-size:3.35rem}.instructions,.lab-team{padding-inline:.8rem}.instructions h2,.lab-team h2,.game-heading h2{font-size:2.85rem}.team-card{grid-template-columns:1fr;grid-template-rows:300px auto}.team-portrait{border-right:0;border-bottom:4px solid var(--ink)}.team-card-copy{padding:1rem 1.05rem 1.2rem}.team-card h3{font-size:2rem}.team-identifier{font-size:.62rem}.difficulty{gap:.55rem}.difficulty button{padding:.75rem .4rem}.lab-console{padding:.55rem;border-width:4px}.mode-controls button{padding:.7rem .4rem}.classic-window{padding:5px}.score-panel{margin:5px 0;padding:5px}.score-panel output{min-width:60px;font-size:1.25rem}.score-panel button{width:42px;height:42px}.mobile-note{font-size:.6rem}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Edition selector */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.edition-switcher{position:relative;z-index:2;max-width:1150px;margin:0 auto 1rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;border:4px solid var(--ink);background:var(--cream);color:var(--ink);box-shadow:7px 7px 0 var(--teal)}.edition-copy{display:grid}.edition-copy p{margin:0 0 .3rem;color:#9b311e;font:500 .62rem var(--mono);letter-spacing:.12em}.edition-copy strong{font-size:1.05rem}.edition-copy span{color:#50606a;font-size:.84rem;font-weight:700}.edition-copy .edition-progress{margin-top:.55rem;color:#7b285d;font:700 .68rem/1.35 var(--mono)}.edition-buttons{display:flex;gap:.55rem}.edition-buttons button{min-width:148px;min-height:58px;padding:.65rem 1rem;border:3px solid var(--ink);background:#e8ecec;color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.05em;touch-action:manipulation}.edition-buttons button span,.edition-buttons button small{display:block}.edition-buttons button small{margin-top:.22rem;font:700 .55rem/1.2 var(--mono);letter-spacing:.04em}.edition-buttons button.active{background:var(--green);box-shadow:4px 4px 0 var(--purple)}.edition-buttons button.locked,.edition-buttons button:disabled{border-color:#746c78;background:#d8d2da;color:#5c5660;box-shadow:none;cursor:not-allowed}.edition-buttons button.locked small{color:#7a335f}

/* A wide board always fits inside the console. */
.board-scroll{overflow:hidden}.mine-board{grid-template-columns:repeat(var(--cols),minmax(0,1fr));width:var(--board-width,100%);min-width:0;margin-inline:auto;justify-content:normal}.cell{width:100%;height:auto;aspect-ratio:1;border-width:min(4px,calc(var(--cell-size)*.12));font-size:calc(var(--cell-size)*.58)}.mine-board.compact .cell{border-width:1px;font-size:calc(var(--cell-size)*.64)}.mine-board.micro .cell{font-size:calc(var(--cell-size)*.72)}.cell-icon{display:block;width:76%;height:76%;object-fit:contain;pointer-events:none}.classic-flag{font:bold calc(var(--cell-size)*.56)/1 Arial,sans-serif;color:#d00000}.millennium-flag,.millennium-mine{display:none}.millennium-face{display:none;width:100%;height:100%;object-fit:contain}

/* Millennium edition */
body[data-edition="millennium"]{background:#071329}body[data-edition="millennium"] .game-zone{position:relative;isolation:isolate;background:#071329}body[data-edition="millennium"] .game-zone::before{content:"";position:absolute;z-index:-2;inset:0;background:url("assets/mine-grid-millennium/city-console.jpeg?v=89") center 12%/cover no-repeat;opacity:.34}body[data-edition="millennium"] .game-zone::after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(3,10,28,.76)}body[data-edition="millennium"] .game-heading p{color:#62edff}body[data-edition="millennium"] .edition-switcher{border-color:#62edff;background:#08172e;color:#fff;box-shadow:7px 7px 0 #ff3bac}body[data-edition="millennium"] .edition-copy p,body[data-edition="millennium"] .edition-copy span{color:#62edff}body[data-edition="millennium"] .edition-buttons button{border-color:#62edff;background:#0d2344;color:#fff}body[data-edition="millennium"] .edition-buttons button.active{background:#ff3bac;box-shadow:4px 4px 0 #62edff}body[data-edition="millennium"] .difficulty button{border-color:#62edff;background:#0d2344;color:#e9fbff;box-shadow:5px 5px 0 #ff3bac}body[data-edition="millennium"] .difficulty button.active{background:#1a4771;color:#fff;box-shadow:5px 5px 0 #62edff}body[data-edition="millennium"] .lab-console{background:#071329;border-color:#62edff;box-shadow:inset 3px 3px 0 #1b5d8a,inset -3px -3px 0 #020817,10px 10px 0 #ff3bac}body[data-edition="millennium"] .console-label{color:#62edff}body[data-edition="millennium"] .mode-controls button{border-color:#62edff;background:#0d2344;color:#e9fbff}body[data-edition="millennium"] .mode-controls button.active{background:#ff3bac;color:#fff;box-shadow:4px 4px 0 #62edff}body[data-edition="millennium"] .classic-window{background:#071329;border-color:#62edff #ff3bac #ff3bac #62edff;box-shadow:0 0 24px rgba(98,237,255,.28)}body[data-edition="millennium"] .classic-title{padding:.55rem .75rem;background:#0d2344;color:#62edff;border:1px solid #ff3bac;font-family:var(--mono);letter-spacing:.08em}body[data-edition="millennium"] .score-panel{border-color:#0f4f78 #ff3bac #ff3bac #0f4f78;background:#08172e}body[data-edition="millennium"] .score-panel output{border:1px solid #62edff;background:#020817;color:#ff62c0;text-shadow:0 0 9px currentColor}body[data-edition="millennium"] .score-panel button{border:2px solid #62edff;background:#0d2344;box-shadow:0 0 12px rgba(98,237,255,.55)}body[data-edition="millennium"] .classic-face{display:none}body[data-edition="millennium"] .millennium-face{display:block}body[data-edition="millennium"] .board-scroll{border-color:#0f4f78 #ff3bac #ff3bac #0f4f78;background:#020817}body[data-edition="millennium"] .mine-board{gap:1px;background:#0b3154}body[data-edition="millennium"] .cell{border:1px solid #17618d;background:#0a1d39;color:#62edff;box-shadow:inset 0 0 4px rgba(98,237,255,.25)}body[data-edition="millennium"] .cell:hover:not(.revealed){background:#123c61}body[data-edition="millennium"] .cell.revealed{border-color:#1e719a;background:#102b4c}body[data-edition="millennium"] .cell.mine{background:#3a123d}body[data-edition="millennium"] .cell[data-count="1"]{color:#62edff}body[data-edition="millennium"] .cell[data-count="2"]{color:#85ffbb}body[data-edition="millennium"] .cell[data-count="3"]{color:#ff62c0}body[data-edition="millennium"] .cell[data-count="4"]{color:#b6a1ff}body[data-edition="millennium"] .cell[data-count="5"]{color:#ffd56b}body[data-edition="millennium"] .cell[data-count="6"]{color:#6dfff3}body[data-edition="millennium"] .cell[data-count="7"]{color:#fff}body[data-edition="millennium"] .cell[data-count="8"]{color:#a5b9d4}body[data-edition="millennium"] .classic-flag,body[data-edition="millennium"] .mine-icon{display:none}body[data-edition="millennium"] .millennium-flag,body[data-edition="millennium"] .millennium-mine{display:block}body[data-edition="millennium"] .game-status{background:#020817;border-color:#ff3bac}body[data-edition="millennium"] .game-status.won{color:#62edff;border-color:#62edff}body[data-edition="millennium"] .mobile-note{color:#9bcfe2}

/* Millennium victory certificate */
.certificate-dialog{width:min(94vw,860px);max-height:94vh;padding:0;border:3px solid #62edff;background:#061228;color:#fff;box-shadow:12px 12px 0 #ff3bac;overflow:auto}.certificate-dialog::backdrop{background:rgba(1,5,18,.84)}.certificate-shell{padding:clamp(.65rem,2vw,1.2rem)}.certificate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.certificate-toolbar>div{display:grid}.certificate-toolbar span{color:#62edff;font:500 .62rem var(--mono);letter-spacing:.12em}.certificate-toolbar strong{font-size:clamp(1rem,3vw,1.45rem)}.certificate-toolbar button{width:42px;height:42px;border:2px solid #62edff;background:#0d2344;color:#fff;font-size:1.6rem}.certificate-art{position:relative;container-type:inline-size;width:100%;aspect-ratio:1145/1374}.certificate-art>img{display:block;width:100%;height:100%;object-fit:contain}.certificate-value{position:absolute;display:flex;align-items:center;justify-content:center;color:#c6f6ff;font:800 2.15cqw/1 var(--mono);letter-spacing:.04em;text-align:center;text-shadow:0 0 8px #20cfff;white-space:nowrap}.certificate-rank{left:22%;top:50.5%;width:25%;height:5.2%}.certificate-difficulty{left:59%;top:50.5%;width:26%;height:5.2%}.certificate-time{left:22%;top:60.8%;width:25%;height:5.2%}.certificate-date{left:59%;top:60.8%;width:26%;height:5.2%}.certificate-code{left:22%;top:70.7%;width:63%;height:5.3%;font-size:1.95cqw}.certificate-email-hotspot{position:absolute;left:21%;top:84.5%;width:58%;height:9.5%;border:0;background:transparent}.certificate-email-hotspot:focus-visible{outline:4px solid #fff;outline-offset:-8px}.certificate-actions{display:flex;gap:.7rem;margin-top:1rem}.certificate-actions button{flex:1;padding:.9rem;border:2px solid #62edff;background:#0d2344;color:#fff;font-weight:800;text-transform:uppercase}.certificate-actions button:last-child{border-color:#ff62c0;background:#501649}.certificate-help{margin:.8rem 0 0;color:#acd0de;font:500 .68rem/1.55 var(--mono)}

@media(max-width:760px){.edition-switcher{grid-template-columns:1fr}.edition-buttons button{flex:1;min-width:0}.difficulty{grid-template-columns:1fr 1fr}.difficulty button:last-child{grid-column:auto}.certificate-dialog{width:96vw}.certificate-actions{flex-direction:column}}
@media(max-width:460px){.edition-switcher{padding:.8rem}.edition-copy span{font-size:.73rem}.edition-buttons button{padding:.7rem .35rem}.difficulty{grid-template-columns:1fr 1fr}.difficulty button{font-size:.78rem}.difficulty button span{font-size:.5rem}.certificate-value{font-size:2.45cqw}.certificate-code{font-size:2.05cqw}}

/* Keep every Classic grid inside the visible console, including 30-column Master. */
.lab-console,.classic-window,.board-scroll,.mine-board{min-width:0}.classic-window,.board-scroll{width:100%;max-width:100%}.board-scroll{overflow:hidden}.mine-board{max-width:100%}.counter-shell{display:grid;justify-items:start}.timer-counter-shell{justify-self:end;justify-items:end}.counter-label{display:none}.score-panel .counter-shell output{justify-self:inherit}

/* Millennium cabinet: counters, kitty, and board share the illustrated machine frame. */
body[data-edition="millennium"] .lab-console{max-width:1150px;padding:0;background:transparent;border:0;box-shadow:none}body[data-edition="millennium"] .console-label{display:none}body[data-edition="millennium"] .mode-controls{width:min(100%,1080px);margin:0 auto 1rem;padding:.45rem;background:#061126;border:2px solid #62edff;box-shadow:5px 5px 0 #ff3bac}body[data-edition="millennium"] .mode-controls button{padding:.7rem;border:1px solid #245b86;background:#0a2343;color:#bdeeff;box-shadow:none}body[data-edition="millennium"] .mode-controls button.active{border-color:#ff4fad;background:#30113e;color:#fff;box-shadow:inset 0 0 16px rgba(255,79,173,.48)}body[data-edition="millennium"] .classic-window{position:relative;container-type:inline-size;width:min(100%,1080px);aspect-ratio:1145/1374;margin:0 auto;padding:0;border:0;background:#030818 url("assets/mine-grid-millennium/city-console.jpeg?v=89") center/100% 100% no-repeat;box-shadow:0 26px 55px rgba(0,0,0,.58),0 0 34px rgba(66,219,255,.3);overflow:hidden}body[data-edition="millennium"] .classic-title{display:none}body[data-edition="millennium"] .score-panel{position:absolute;z-index:3;left:9.2%;top:6.5%;width:81.6%;height:16.4%;display:grid;grid-template-columns:1fr 22% 1fr;align-items:end;gap:1.5%;margin:0;padding:0;border:0;background:transparent}body[data-edition="millennium"] .counter-shell{align-self:end;width:92%;height:55%;display:grid;place-items:center;padding:1.2cqw 1cqw .8cqw;border:1px solid rgba(84,220,255,.65);background:rgba(1,9,27,.94);box-shadow:inset 0 0 16px rgba(37,146,255,.24),0 0 10px rgba(64,215,255,.2)}body[data-edition="millennium"] .mine-counter-shell{justify-self:start}body[data-edition="millennium"] .timer-counter-shell{justify-self:end}body[data-edition="millennium"] .score-panel output{min-width:0;padding:0;border:0;background:transparent;color:#b8f5ff;font:700 clamp(.72rem,5.2cqw,2.7rem)/.9 var(--mono);letter-spacing:.08em;text-align:center;text-shadow:0 0 8px #22cfff,0 0 16px #228cff}body[data-edition="millennium"] .counter-label{display:block;color:#e7fbff;font:500 clamp(.35rem,1.45cqw,.78rem)/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 0 7px #22cfff}body[data-edition="millennium"] .score-panel button{align-self:start;justify-self:center;width:100%;height:auto;aspect-ratio:1;padding:0;border:0;background:transparent;box-shadow:none;transform:translateY(-2%)}body[data-edition="millennium"] .score-panel button:active{border:0;transform:translateY(1%) scale(.97)}body[data-edition="millennium"] .millennium-face{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 9px #2de6ff) drop-shadow(0 0 11px #ff36b7)}body[data-edition="millennium"] .board-scroll{position:absolute;z-index:2;left:12.8%;top:24.1%;width:74.4%;height:63.8%;display:grid;place-items:center;padding:.8%;border:2px solid rgba(57,183,232,.76);background:#041128;box-shadow:inset 0 0 20px rgba(44,153,255,.25),0 0 11px rgba(47,213,255,.3);overflow:hidden}body[data-edition="millennium"] .mine-board{width:var(--board-width,100%);min-width:0;margin:0;gap:1px;background:#0c3154;box-shadow:0 0 16px rgba(55,211,255,.3)}body[data-edition="millennium"] .cell{border:1px solid #1f5d8c;background:#081a34;box-shadow:inset 0 0 5px rgba(77,206,255,.2)}body[data-edition="millennium"] .cell.revealed{border-color:#2584aa;background:#123557;box-shadow:inset 0 0 7px rgba(67,226,255,.24)}body[data-edition="millennium"] .cell.mine{background:#351035;box-shadow:inset 0 0 7px rgba(255,50,164,.35)}body[data-edition="millennium"] .game-status,body[data-edition="millennium"] .mobile-note{width:min(100%,1080px);margin-inline:auto}body[data-edition="millennium"] .game-status{margin-top:1rem}

@media(max-width:760px){.classic-window{width:100%}body[data-edition="millennium"] .mode-controls{margin-bottom:.55rem;padding:.3rem}body[data-edition="millennium"] .mode-controls button{padding:.55rem .35rem;font-size:.78rem}body[data-edition="millennium"] .classic-window{width:100%;box-shadow:0 14px 28px rgba(0,0,0,.58),0 0 20px rgba(66,219,255,.24)}body[data-edition="millennium"] .board-scroll{padding:.55%}}

/* Large desktop controls stay comfortably clickable; phone layouts retain the full cabinet. */
body[data-edition="millennium"] .mode-controls button{min-height:58px;font-size:1rem}.difficulty button{min-height:72px}.cell{touch-action:manipulation}
@media(max-width:760px){.edition-switcher{gap:.75rem}.edition-buttons button{min-height:54px}.edition-copy .edition-progress{font-size:.62rem}.difficulty button{min-height:58px}body[data-edition="millennium"] .mode-controls button{min-height:54px}}

/* Survivor Protocol story mode */
.story-launcher{position:relative;isolation:isolate;max-width:1150px;margin:0 auto 1.35rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.25rem;padding:1.25rem;border:4px solid #62edff;background:linear-gradient(135deg,#071329 0%,#102a35 58%,#1a2730 100%);color:#fff;box-shadow:8px 8px 0 var(--orange);overflow:hidden}.story-launcher::after{content:"";position:absolute;z-index:-1;right:-70px;top:-105px;width:300px;height:300px;border:1px solid rgba(98,237,255,.26);border-radius:50%;box-shadow:0 0 0 28px rgba(98,237,255,.05),0 0 0 58px rgba(255,106,47,.04)}.story-launcher-copy p{margin:0 0 .4rem;color:#9df238;font:700 .64rem var(--mono);letter-spacing:.13em}.story-launcher-copy h3{margin:0 0 .35rem;font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.08}.story-launcher-copy span{display:block;max-width:720px;color:#c7dbe2;font-size:.85rem;font-weight:700}.story-launcher-actions{display:grid;gap:.7rem;min-width:210px}.story-launcher-actions button{min-height:54px;padding:.75rem 1rem;border:3px solid #62edff;background:#0d2344;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.story-launcher-actions button:first-child{border-color:var(--ink);background:var(--green);color:var(--ink);box-shadow:4px 4px 0 var(--purple)}.story-launcher[data-complete="true"] .story-launcher-actions button:first-child{background:#62edff}.story-launcher[data-complete="true"]::before{content:"CHAPTER CLEARED";position:absolute;right:1rem;top:1rem;padding:.35rem .55rem;background:var(--orange);color:#fff;font:800 .55rem var(--mono);letter-spacing:.08em}

.story-dialog{width:min(96vw,1040px);max-height:96vh;padding:0;border:4px solid #62edff;background:#071329;color:#fff;box-shadow:12px 12px 0 var(--orange);overflow:auto}.story-dialog::backdrop{background:rgba(3,8,14,.86);backdrop-filter:blur(5px)}.story-shell{position:relative;min-height:620px;background:#071329}.story-scene-topline{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:2px solid rgba(98,237,255,.45);background:#071329}.story-scene-topline>div{display:grid}.story-scene-topline span{color:#9df238;font:700 .58rem var(--mono);letter-spacing:.13em}.story-scene-topline strong{font-size:clamp(.95rem,3vw,1.35rem)}.story-scene-topline button{display:grid;place-items:center;width:42px;height:42px;border:2px solid #62edff;background:#0d2344;color:#fff;font-size:1.6rem}.story-stage{position:relative;min-height:475px;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(114,61,170,.4),transparent 28%),linear-gradient(155deg,#0b2630 0 28%,#071329 28% 72%,#132833 72%);isolation:isolate}.story-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(98,237,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(98,237,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 82%)}.story-stage::after{content:"";position:absolute;right:7%;top:12%;width:31%;height:47%;z-index:-1;border:3px solid #283c49;border-radius:50% 50% 10% 10%;background:radial-gradient(circle at center,#18242c 0 28%,#091017 29% 44%,#26333a 45% 48%,#091017 49% 100%);box-shadow:0 0 0 11px #111b20,0 0 24px rgba(255,106,47,.25)}.story-character-cutout{position:absolute;z-index:2;left:2%;bottom:-9%;width:min(64%,650px);max-height:115%;object-fit:contain;object-position:left bottom;filter:drop-shadow(12px 12px 15px rgba(0,0,0,.55));transition:opacity .18s ease,transform .18s ease}.story-stage[data-speaker="sofia"] .story-character-cutout{left:auto;right:3%;bottom:-6%;width:min(47%,470px);max-height:108%;object-position:right bottom}.story-character-framed{position:absolute;z-index:2;left:7%;bottom:13%;width:min(32vw,300px);aspect-ratio:1;padding:.55rem;border:4px solid #62edff;border-radius:50%;background:#0d2344;box-shadow:9px 9px 0 var(--orange),0 0 30px rgba(157,242,56,.22);overflow:hidden}.story-character-framed[hidden]{display:none!important}.story-character-framed img{width:100%;height:100%;border-radius:50%;object-fit:cover}.story-signal{position:absolute;right:9%;bottom:12%;display:flex;align-items:end;gap:.35rem;height:95px;opacity:.6}.story-signal span{display:block;width:10px;background:#62edff;box-shadow:0 0 10px #62edff;animation:story-signal 1.1s ease-in-out infinite}.story-signal span:nth-child(1){height:36%}.story-signal span:nth-child(2){height:82%;animation-delay:.15s}.story-signal span:nth-child(3){height:54%;animation-delay:.3s}.story-signal span:nth-child(4){height:100%;animation-delay:.45s}@keyframes story-signal{50%{transform:scaleY(.45);background:#ff6a2f;box-shadow:0 0 10px #ff6a2f}}
.story-dialogue-panel{position:relative;z-index:4;margin:-124px 1.25rem 1.25rem;padding:1.25rem 1.35rem 1rem;border:3px solid #62edff;background:rgba(5,15,28,.96);box-shadow:7px 7px 0 var(--orange)}.story-speaker{display:inline-block;margin-bottom:.55rem;padding:.35rem .6rem;background:var(--green);color:var(--ink);font:800 .65rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.story-dialogue-panel>p{min-height:3.2em;margin:0;color:#fff;font-size:clamp(1rem,2.4vw,1.3rem);font-weight:700;line-height:1.45}.story-dialogue-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.story-dialogue-actions span{color:#93b9c6;font:600 .62rem var(--mono);letter-spacing:.08em}.story-dialogue-actions button{min-width:150px;min-height:48px;padding:.7rem 1rem;border:3px solid var(--ink);background:var(--green);color:var(--ink);font-weight:800;text-transform:uppercase;box-shadow:4px 4px 0 var(--purple)}
.story-stage[data-signal="quiet"] .story-signal{opacity:.22;transform:scale(.78);transform-origin:bottom}.story-stage[data-signal="active"] .story-signal{opacity:.62}.story-stage[data-signal="alert"] .story-signal{opacity:1;filter:drop-shadow(0 0 12px rgba(98,237,255,.45))}.story-stage[data-signal="alert"] .story-signal span{animation-duration:.72s}.story-stage[data-signal="alert"]::after{box-shadow:0 0 0 11px #111b20,0 0 38px rgba(255,106,47,.48)}
.completion-actions #continue-story{grid-column:1/-1;background:#62edff;color:var(--ink);box-shadow:4px 4px 0 var(--orange)}.completion-actions #continue-story[hidden]{display:none!important}
.story-character-cutout[hidden]{display:none!important}

@media(max-width:760px){.story-launcher{grid-template-columns:1fr}.story-launcher-actions{grid-template-columns:1fr 1fr;min-width:0}.story-launcher[data-complete="true"]::before{position:static;grid-column:1/-1;width:max-content}.story-dialog{width:96vw}.story-shell{min-height:590px}.story-stage{min-height:450px}.story-stage::after{right:-10%;top:8%;width:58%;height:42%}.story-character-cutout{left:-16%;bottom:-3%;width:108%;max-width:600px}.story-stage[data-speaker="sofia"] .story-character-cutout{right:-3%;bottom:-1%;width:74%;max-width:400px}.story-character-framed{left:4%;bottom:22%;width:210px}.story-dialogue-panel{margin:-102px .7rem .7rem;padding:1rem}.story-dialogue-panel>p{min-height:5.5em}.story-dialogue-actions button{min-width:125px}}

/* Canonical frozen UI kit: Classic counters, reset control, and board tiles. */
body[data-edition="classic"] .score-panel{grid-template-columns:minmax(0,1fr) clamp(46px,7vw,66px) minmax(0,1fr);gap:clamp(.35rem,1.5vw,1rem);padding:clamp(5px,1.2vw,10px)}
body[data-edition="classic"] .counter-shell{position:relative;width:min(100%,260px);aspect-ratio:400/161;background:url("assets/mine-grid-ui/counter_mines_blank.png?v=89") center/contain no-repeat}
body[data-edition="classic"] .timer-counter-shell{aspect-ratio:377/180;background-image:url("assets/mine-grid-ui/counter_time_blank.png?v=89")}
body[data-edition="classic"] .score-panel .counter-shell output{position:absolute;inset:18% 6% 18% 31%;display:grid;place-items:center;min-width:0;padding:0;border:0;background:transparent;color:#fff3d0;font:800 clamp(.82rem,3vw,2rem)/1 var(--mono);letter-spacing:.08em;text-align:center;text-shadow:0 2px 0 #0a0c0d,0 0 7px rgba(255,106,47,.72)}
body[data-edition="classic"] .score-panel button{width:100%;height:auto;aspect-ratio:200/206;padding:0;border:0;background:transparent}
body[data-edition="classic"] .score-panel button:active{border:0;transform:scale(.94)}
body[data-edition="classic"] .classic-face{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}
body[data-edition="classic"] .cell{border:0;background:transparent url("assets/mine-grid-ui/tile_covered_beveled.png?v=89") center/contain no-repeat;color:transparent;text-shadow:none}
body[data-edition="classic"] .cell:active:not(.revealed){border:0;transform:scale(.94)}
body[data-edition="classic"] .cell.revealed{border:0;background-image:url("assets/mine-grid-ui/tile_revealed_beveled.png?v=89")}
body[data-edition="classic"] .cell.flagged{background-image:url("assets/mine-grid-ui/tile_flag.png?v=89")}
body[data-edition="classic"] .cell.mine{background-image:url("assets/mine-grid-ui/tile_mine.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="1"]{background-image:url("assets/mine-grid-ui/tile_number_1.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="2"]{background-image:url("assets/mine-grid-ui/tile_number_2.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="3"]{background-image:url("assets/mine-grid-ui/tile_number_3.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="4"]{background-image:url("assets/mine-grid-ui/tile_number_4.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="5"]{background-image:url("assets/mine-grid-ui/tile_number_5.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="6"]{background-image:url("assets/mine-grid-ui/tile_number_6.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="7"]{background-image:url("assets/mine-grid-ui/tile_number_7.png?v=89")}
body[data-edition="classic"] .cell.revealed[data-count="8"]{background-image:url("assets/mine-grid-ui/tile_number_8.png?v=89")}
body[data-edition="classic"] .classic-flag,body[data-edition="classic"] .mine-icon{display:none}
body[data-edition="millennium"] .cell{background-image:none}

@media(max-width:460px){body[data-edition="classic"] .score-panel{margin-block:5px;padding:5px;border-width:3px}body[data-edition="classic"] .score-panel .counter-shell output{font-size:clamp(.72rem,4.8vw,1.15rem)}body[data-edition="classic"] .cell{background-size:102% 102%}}

/* Illustrated difficulty controls use the supplied normal and selected states. */
.difficulty-picker .difficulty{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,1vw,.75rem)}
.difficulty-picker .difficulty button,body[data-edition="millennium"] .difficulty-picker .difficulty button{width:100%;min-height:0;aspect-ratio:720/218;padding:0;border:0;background-color:transparent;background-position:center;background-size:contain;background-repeat:no-repeat;box-shadow:none;color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.32));transition:transform .12s ease,filter .12s ease}
.difficulty-picker .difficulty button:hover{transform:translateY(-2px);filter:drop-shadow(0 6px 0 rgba(0,0,0,.3)) brightness(1.03)}
.difficulty-picker .difficulty button:active,.difficulty-picker .difficulty button.active{transform:translateY(2px);filter:drop-shadow(0 2px 0 rgba(0,0,0,.28))}
.difficulty-picker .difficulty button[data-level="beginner"]{background-image:url("assets/mine-grid-difficulty/beginner__unpressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="intermediate"]{background-image:url("assets/mine-grid-difficulty/intermediate__unpressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="expert"]{background-image:url("assets/mine-grid-difficulty/expert__unpressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="master"]{background-image:url("assets/mine-grid-difficulty/master__unpressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="omega"]{background-image:url("assets/mine-grid-difficulty/omega__unpressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="beginner"]:is(:active,.active){background-image:url("assets/mine-grid-difficulty/beginner__pressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="intermediate"]:is(:active,.active){background-image:url("assets/mine-grid-difficulty/intermediate__pressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="expert"]:is(:active,.active){background-image:url("assets/mine-grid-difficulty/expert__pressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="master"]:is(:active,.active){background-image:url("assets/mine-grid-difficulty/master__pressed.png?v=89")}
.difficulty-picker .difficulty button[data-level="omega"]:is(:active,.active){background-image:url("assets/mine-grid-difficulty/omega__pressed.png?v=89")}
.difficulty-picker .difficulty button.active::after{display:none}

@media(max-width:760px){.difficulty-picker .difficulty{grid-template-columns:1fr;gap:.25rem}.difficulty-picker .difficulty button:last-child{grid-column:auto}}

/* Frozen story and edition overlays. Wide illustrated panels remain intact on
   desktop; phone layouts keep the live copy readable while retaining the
   supplied button artwork at its native aspect ratio. */
.story-launcher-art,.story-complete-badge,.edition-panel-art{pointer-events:none;user-select:none;-webkit-user-select:none}
.story-launcher-art,.story-complete-badge{display:none}
.story-launcher-actions button,.edition-buttons button{color:transparent;text-shadow:none;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:contain;border:0;box-shadow:none;filter:drop-shadow(0 4px 0 rgba(0,0,0,.3));transition:transform .12s ease,filter .12s ease}
.story-launcher-actions button:hover,.edition-buttons button:not(:disabled):hover{transform:translateY(-2px);filter:drop-shadow(0 6px 0 rgba(0,0,0,.28)) brightness(1.03)}
.story-launcher-actions button:active,.edition-buttons button:not(:disabled):active,.edition-buttons button.active{transform:translateY(2px);filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}
.story-launcher-actions #open-story-archive{aspect-ratio:562/196;background-image:url("assets/mine-grid-story-ui/story_archive__unpressed.png?v=89")}
.story-launcher-actions #open-story-archive:active{background-image:url("assets/mine-grid-story-ui/story_archive__pressed.png?v=89")}
.story-launcher:not([data-complete="true"]) .story-launcher-actions #start-story{
  color:#111820;
  text-shadow:none;
  border:3px solid #111820;
  background:#9df238;
  box-shadow:4px 4px 0 #8f49d8;
  filter:none;
}
.story-launcher:not([data-complete="true"]) .story-launcher-actions #start-story:active{
  transform:translateY(2px);
  box-shadow:2px 2px 0 #8f49d8;
}
.story-launcher[data-complete="true"] .story-launcher-actions #start-story{aspect-ratio:561/201;background-image:url("assets/mine-grid-story-ui/replay_chapter_1__unpressed.png?v=89")}
.story-launcher[data-complete="true"] .story-launcher-actions #start-story:active{background-image:url("assets/mine-grid-story-ui/replay_chapter_1__pressed.png?v=89")}
.story-launcher-actions #exit-story-mode{color:#fff!important;font:900 .68rem/1.05 var(--mono)!important;letter-spacing:.06em;text-transform:uppercase;background:#0d2344!important;border:3px solid #62edff!important;box-shadow:4px 4px 0 #ff6a2f!important;filter:none!important}
.story-launcher-actions #exit-story-mode:hover{transform:translateY(-2px);filter:brightness(1.06)!important}
.story-launcher-actions #exit-story-mode:active{transform:translateY(2px);box-shadow:2px 2px 0 #ff6a2f!important}

.edition-panel-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.edition-switcher{position:relative;isolation:isolate;min-height:0;aspect-ratio:2138/287;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.edition-copy>p,.edition-copy>#edition-title,.edition-copy>#edition-description{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.edition-progress{position:absolute;z-index:2;left:8.35%;bottom:14%;max-width:53%;margin:0;color:transparent;font:700 clamp(.48rem,.82vw,.72rem)/1.25 var(--mono);letter-spacing:.035em}
body[data-millennium-unlocked="true"] .edition-progress{color:#b41768;background:rgba(255,237,197,.97);box-shadow:0 0 0 5px rgba(255,237,197,.97)}
.edition-buttons{position:absolute;z-index:3;right:3.9%;top:16.5%;width:38.5%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:1.2%;margin:0}
.edition-buttons button{width:100%;min-height:0;aspect-ratio:452/203;padding:0}
.edition-buttons button span,.edition-buttons button small{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.edition-buttons button[data-edition="classic"]{background-image:url("assets/mine-grid-story-ui/classic_version__unpressed.png?v=89")}
.edition-buttons button[data-edition="classic"].active{background-image:url("assets/mine-grid-story-ui/classic_version__pressed.png?v=89")}
.edition-buttons button[data-edition="millennium"]{background-image:url("assets/mine-grid-story-ui/millennium_locked__unpressed.png?v=89")}
.edition-buttons button[data-edition="millennium"]:active{background-image:url("assets/mine-grid-story-ui/millennium_locked__pressed.png?v=89")}
body[data-millennium-unlocked="true"] .edition-buttons button[data-edition="millennium"]{background-image:url("assets/mine-grid-story-ui/millennium_unlocked__unpressed.png?v=89")}
body[data-millennium-unlocked="true"] .edition-buttons button[data-edition="millennium"]:is(:active,.active){background-image:url("assets/mine-grid-story-ui/millennium_unlocked__pressed.png?v=89")}
.edition-buttons button:disabled{opacity:1;cursor:not-allowed;filter:drop-shadow(0 4px 0 rgba(0,0,0,.24))}

@media(min-width:761px){
  .story-launcher[data-complete="true"]{min-height:0;aspect-ratio:2172/450;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
  .story-launcher[data-complete="true"]::before,.story-launcher[data-complete="true"]::after{display:none}
  .story-launcher[data-complete="true"] .story-launcher-art{display:block;position:absolute;z-index:0;left:0;top:0;width:72.9%;height:auto}
  .story-launcher[data-complete="true"] .story-complete-badge{display:block;position:absolute;z-index:2;left:32%;bottom:-2%;width:24%;height:auto;filter:drop-shadow(0 4px 0 rgba(0,0,0,.3))}
  .story-launcher[data-complete="true"] .story-launcher-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .story-launcher[data-complete="true"] .story-launcher-actions{position:absolute;z-index:3;right:0;top:10%;width:26%;min-width:0;display:grid;gap:2%;height:78%}
  .story-launcher[data-complete="true"] .story-launcher-actions button{width:100%;min-height:0;padding:0}
  .story-launcher[data-complete="true"] .story-launcher-actions #exit-story-mode{position:absolute;left:0;top:calc(100% + .42rem);height:48px;padding:.35rem .6rem;aspect-ratio:auto!important;background-image:none!important}
}

@media(max-width:760px){
  .story-launcher-art,.story-complete-badge,.edition-panel-art{display:none!important}
  .story-launcher[data-complete="true"]::before{display:none}
  .story-launcher-actions{grid-template-columns:1fr;gap:.3rem}
  .story-launcher-actions button{width:100%;min-height:0;padding:0}
  .story-launcher-actions #open-story-archive{aspect-ratio:562/196}
  .story-launcher[data-complete="false"] .story-launcher-actions #start-story{min-height:54px;padding:.75rem 1rem;border:3px solid var(--ink);background:var(--green);color:var(--ink);filter:none;box-shadow:4px 4px 0 var(--purple)}
  .story-launcher-actions #exit-story-mode{min-height:54px;padding:.7rem .85rem;background-image:none!important}
  .edition-switcher{aspect-ratio:auto;display:grid;gap:.8rem;padding:.95rem;border:4px solid var(--ink);background:#fff0ca;box-shadow:7px 7px 0 var(--purple);overflow:hidden}
  .edition-copy{display:grid;gap:.25rem}
  .edition-copy>p,.edition-copy>#edition-title,.edition-copy>#edition-description{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important}
  .edition-copy>p{color:#b13b73;font:700 .62rem var(--mono);letter-spacing:.12em}
  .edition-copy>#edition-title{font-size:1.15rem}
  .edition-copy>#edition-description{font-size:.78rem}
  .edition-progress,body[data-millennium-unlocked="true"] .edition-progress{position:static;max-width:none;color:#b41768;background:transparent;box-shadow:none;font-size:.66rem}
  .edition-buttons{position:static;width:100%;display:grid;grid-template-columns:1fr;gap:.2rem}
  .edition-buttons button{width:100%;aspect-ratio:1600/420}
  .edition-buttons button[data-edition="classic"]{aspect-ratio:437/203;max-width:78%;justify-self:center}
}
@media(max-width:460px){.story-launcher{padding:.9rem}.story-launcher-actions{grid-template-columns:1fr}.story-stage{min-height:410px}.story-character-cutout{left:-28%;width:135%}.story-stage[data-speaker="sofia"] .story-character-cutout{right:-12%;width:92%}.story-character-framed{left:4%;bottom:28%;width:165px}.story-dialogue-panel{margin-top:-88px}.story-dialogue-panel>p{font-size:.96rem;min-height:6.2em}.story-dialogue-actions{align-items:end}.story-dialogue-actions button{min-width:112px;padding-inline:.55rem}}

/* Clear three-step game setup and tap-action controls. */
.control-step-number{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;margin-right:.35rem;border:2px solid currentColor;background:var(--ink);color:var(--green);font:800 .72rem/1 var(--mono);vertical-align:middle}.difficulty-picker{max-width:1150px;margin:0 auto 1rem;padding:1rem 1.15rem;border:4px solid var(--ink);background:#0d2b2e;box-shadow:7px 7px 0 var(--orange)}.control-instruction{display:grid;gap:.18rem}.control-instruction p{margin:0;color:var(--green);font:700 .62rem var(--mono);letter-spacing:.12em}.control-instruction strong{font-size:1.05rem}.control-instruction>span{color:#bdd0d2;font-size:.8rem;font-weight:700}.difficulty-picker .difficulty{max-width:none;margin:.85rem 0 0}.difficulty-picker .difficulty button{position:relative}.difficulty-picker .difficulty button.active::after{content:"CURRENT FIELD";position:absolute;right:.45rem;top:.35rem;color:#5b2a82;font:800 .48rem var(--mono);letter-spacing:.06em}.action-selector{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(390px,1.28fr);align-items:stretch;gap:.8rem;margin-bottom:1rem;padding:.75rem;border:3px solid #050809;background:#101b20}.action-instruction{padding:.7rem .85rem;border-left:7px solid var(--orange);background:#071013}.action-selector[data-mode="flag"] .action-instruction{border-left-color:var(--green)}.action-instruction strong{color:#fff;font-size:1.05rem}.action-selector .mode-controls{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0}.action-selector .mode-controls button{display:grid;place-items:center;align-content:center;min-height:76px;padding:.65rem .8rem;border:4px solid #050809;background:#d8dfe2;color:var(--ink);box-shadow:none}.action-selector .mode-controls button span{font-weight:900}.action-selector .mode-controls button small{margin-top:.2rem;font:700 .58rem var(--mono);letter-spacing:.04em}.action-selector .mode-controls button.active{background:var(--orange);color:#fff;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}.action-selector[data-mode="flag"] .mode-controls button.active{background:var(--green);color:var(--ink)}body[data-edition="millennium"] .action-selector{width:min(100%,1080px);margin:0 auto 1rem;border-color:#62edff;background:#061126;box-shadow:5px 5px 0 #ff3bac}body[data-edition="millennium"] .action-instruction{border-left-color:#ff4fad;background:#020817}body[data-edition="millennium"] .action-selector[data-mode="flag"] .action-instruction{border-left-color:#62edff}body[data-edition="millennium"] .action-selector .mode-controls{width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none}

/* Give each story beat its own composition while preserving the frozen art. */
.story-stage[data-speaker="nia"] .story-character-cutout{bottom:-9%;width:min(64%,650px);max-height:115%}.story-stage[data-speaker="sofia"] .story-character-cutout{bottom:-6%;width:min(47%,470px);max-height:108%}.story-stage[data-position="left"] .story-character-cutout{left:2%;right:auto;object-position:left bottom}.story-stage[data-position="right"] .story-character-cutout{left:auto;right:2%;object-position:right bottom}.story-stage[data-position="center"] .story-character-cutout{left:50%;right:auto;object-position:center bottom;transform:translateX(-50%)}.story-stage[data-mirror="true"][data-position="left"] .story-character-cutout,.story-stage[data-mirror="true"][data-position="right"] .story-character-cutout{transform:scaleX(-1)}.story-stage[data-mirror="true"][data-position="center"] .story-character-cutout{transform:translateX(-50%) scaleX(-1)}.story-stage[data-position="left"] .story-character-framed{left:7%;right:auto;transform:none}.story-stage[data-position="center"] .story-character-framed{left:50%;right:auto;transform:translateX(-50%)}.story-stage[data-position="right"] .story-character-framed{left:auto;right:7%;transform:none}

@media(max-width:760px){.difficulty-picker{padding:.8rem}.difficulty-picker .difficulty{grid-template-columns:1fr 1fr}.difficulty-picker .difficulty button:last-child{grid-column:auto}.difficulty-picker .difficulty button.active::after{display:none}.action-selector{grid-template-columns:1fr}.action-selector .mode-controls{min-width:0}.story-stage[data-speaker="nia"] .story-character-cutout{width:108%}.story-stage[data-speaker="sofia"] .story-character-cutout{width:74%}.story-stage[data-speaker="nia"][data-position="left"] .story-character-cutout{left:-16%;right:auto}.story-stage[data-speaker="nia"][data-position="right"] .story-character-cutout{left:auto;right:-18%}.story-stage[data-speaker="sofia"][data-position="left"] .story-character-cutout{left:-3%;right:auto}.story-stage[data-speaker="sofia"][data-position="right"] .story-character-cutout{left:auto;right:-3%}.story-stage[data-position="center"] .story-character-framed{bottom:22%}}
@media(max-width:460px){.control-instruction>span{font-size:.72rem}.action-selector{padding:.55rem}.action-selector .mode-controls{gap:.45rem}.action-selector .mode-controls button{min-height:68px;padding:.5rem .35rem}.action-selector .mode-controls button small{font-size:.5rem}.story-stage[data-speaker="nia"] .story-character-cutout{width:135%}.story-stage[data-speaker="sofia"] .story-character-cutout{width:92%}.story-stage[data-speaker="nia"][data-position="left"] .story-character-cutout{left:-28%;right:auto}.story-stage[data-speaker="nia"][data-position="right"] .story-character-cutout{left:auto;right:-30%}.story-stage[data-speaker="sofia"][data-position="left"] .story-character-cutout{left:-12%;right:auto}.story-stage[data-speaker="sofia"][data-position="right"] .story-character-cutout{left:auto;right:-12%}.story-stage[data-position="center"] .story-character-framed{bottom:28%}}

/* Final responsive priority for the illustrated difficulty set. */
.difficulty-picker .difficulty button.active::after{display:none}
@media(max-width:760px){.difficulty-picker .difficulty{grid-template-columns:1fr;gap:.25rem}.difficulty-picker .difficulty button:last-child{grid-column:auto}}

/* Final cascade lock for frozen overlay surfaces. */
.story-launcher-actions button,.edition-buttons button,body[data-edition="millennium"] .edition-buttons button{background-color:transparent!important;border:0!important;box-shadow:none!important}
.edition-buttons button.locked,.edition-buttons button:disabled{background-color:transparent!important;border:0!important;box-shadow:none!important}
.edition-copy .edition-progress{position:absolute;z-index:2;left:8.35%;bottom:14%;max-width:53%;margin:0;color:transparent!important;font:700 clamp(.48rem,.82vw,.72rem)/1.25 var(--mono);letter-spacing:.035em}
body[data-millennium-unlocked="true"] .edition-copy .edition-progress{color:#b41768!important;background:rgba(255,237,197,.98);box-shadow:0 0 0 5px rgba(255,237,197,.98)}
@media(max-width:760px){
  .edition-copy .edition-progress,body[data-millennium-unlocked="true"] .edition-copy .edition-progress{position:static;max-width:none;margin-top:.35rem;color:#b41768!important;background:transparent;box-shadow:none;font-size:.66rem}
}

/* Completion and unlock-state corrections found during browser QA. */
.story-launcher-actions button{font-size:0!important;line-height:0!important;color:transparent!important}
.story-launcher-actions #exit-story-mode{color:#fff!important;font-size:.68rem!important;line-height:1.05!important}
@media(min-width:761px){
  .story-launcher[data-complete="true"]{aspect-ratio:2172/434}
  .story-launcher[data-complete="true"] .story-launcher-actions{top:3%;height:94%;grid-template-rows:46% 46%;gap:8%}
  .story-launcher[data-complete="true"] .story-launcher-actions button{height:100%;aspect-ratio:auto!important;background-size:100% 100%!important}
  body[data-millennium-unlocked="true"] .edition-switcher{aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);align-items:center;gap:1rem;padding:1rem 1.15rem;border:4px solid var(--ink);background:var(--cream);box-shadow:7px 7px 0 var(--teal);overflow:hidden}
  body[data-millennium-unlocked="true"] .edition-panel-art{display:none}
  body[data-millennium-unlocked="true"] .edition-copy{display:grid;gap:.2rem;color:var(--ink)}
  body[data-millennium-unlocked="true"] .edition-copy>p,
  body[data-millennium-unlocked="true"] .edition-copy>#edition-title,
  body[data-millennium-unlocked="true"] .edition-copy>#edition-description{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important}
  body[data-millennium-unlocked="true"] .edition-copy>p{color:#9b311e;font:700 .62rem var(--mono);letter-spacing:.12em}
  body[data-millennium-unlocked="true"] .edition-copy>#edition-title{color:var(--ink);font-size:1.05rem}
  body[data-millennium-unlocked="true"] .edition-copy>#edition-description{color:#50606a;font-size:.84rem}
  body[data-millennium-unlocked="true"] .edition-copy .edition-progress{position:static;max-width:none;margin-top:.35rem;color:#7b285d!important;background:transparent;box-shadow:none;font:700 .68rem/1.35 var(--mono)}
  body[data-millennium-unlocked="true"] .edition-buttons{position:static;width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.35rem}
  body[data-millennium-unlocked="true"] .edition-buttons button{width:100%;height:78px;aspect-ratio:auto;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important}
}
.edition-buttons button[data-edition="classic"]{background-image:url("assets/mine-grid-story-ui/classic_version__unpressed.png?v=89")!important}
.edition-buttons button[data-edition="classic"].active{background-image:url("assets/mine-grid-story-ui/classic_version__pressed.png?v=89")!important}
body[data-millennium-unlocked="true"] .edition-buttons button[data-edition="millennium"]{background-image:url("assets/mine-grid-story-ui/millennium_unlocked__unpressed.png?v=89")!important}
body[data-millennium-unlocked="true"] .edition-buttons button[data-edition="millennium"]:is(:active,.active){background-image:url("assets/mine-grid-story-ui/millennium_unlocked__pressed.png?v=89")!important}
.story-launcher-actions button{background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}
.edition-buttons button{background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}

/* Keep both Millennium counters optically centered in their HUD bays. */
body[data-edition="millennium"] .score-panel .counter-shell output{justify-self:center}

/* Optional Windows 95 field skin. The edition stays unchanged; only the
   playable grid, numbers, flags, and mines switch to the gray desktop style. */
.grid-skin-toggle{display:none}
body[data-edition="millennium"] .mine-counter-shell{position:relative}
body[data-edition="millennium"] .score-panel .grid-skin-toggle{position:absolute;right:4%;bottom:8%;display:grid;place-items:center;width:clamp(28px,3.8cqw,42px);height:auto;aspect-ratio:1;padding:0;border:2px outset #d9d9d9;background:#c0c0c0;color:#111;box-shadow:2px 2px 0 rgba(0,0,0,.42);font:900 clamp(.52rem,1.7cqw,.9rem)/1 Arial,sans-serif;transform:none}
body[data-edition="millennium"] .score-panel .grid-skin-toggle:hover{background:#d7d7d7}
body[data-edition="millennium"] .score-panel .grid-skin-toggle:active,body[data-edition="millennium"] .score-panel .grid-skin-toggle.active{border-style:inset;background:#9df238;transform:translateY(1px)}
body[data-grid-skin="windows"] .board-scroll{border-color:#808080 #fff #fff #808080;background:#c0c0c0;box-shadow:none}
body[data-grid-skin="windows"] .mine-board{gap:0;background:#c0c0c0;box-shadow:none}
body[data-grid-skin="windows"] .cell{border-width:2px;border-style:solid;border-color:#fff #777 #777 #fff;background:#c0c0c0;color:#000;box-shadow:none;font-family:Arial,sans-serif;font-weight:700;text-shadow:none}
body[data-grid-skin="windows"] .cell:hover:not(.revealed){background:#d2d2d2}
body[data-grid-skin="windows"] .cell.revealed{border:1px solid #888;background:#c0c0c0;box-shadow:none;background-image:none!important}
body[data-grid-skin="windows"] .cell.flagged{background-image:none!important}
body[data-grid-skin="windows"] .cell.mine{background:#ff2f2f;background-image:none!important}
body[data-grid-skin="windows"] .cell[data-count="1"]{color:#0000ff}
body[data-grid-skin="windows"] .cell[data-count="2"]{color:#008000}
body[data-grid-skin="windows"] .cell[data-count="3"]{color:#ff0000}
body[data-grid-skin="windows"] .cell[data-count="4"]{color:#000080}
body[data-grid-skin="windows"] .cell[data-count="5"]{color:#800000}
body[data-grid-skin="windows"] .cell[data-count="6"]{color:#008080}
body[data-grid-skin="windows"] .cell[data-count="7"]{color:#000}
body[data-grid-skin="windows"] .cell[data-count="8"]{color:#666}
body[data-grid-skin="windows"] .cell-icon{display:none!important}
body[data-grid-skin="windows"] .classic-flag{display:block!important;color:#d00000}
body[data-grid-skin="windows"] .mine-icon{display:grid!important}

/* Final Mine Grid control art and illustrated result states. */
.action-selector .mode-controls button,
body[data-edition="millennium"] .action-selector .mode-controls button{
  width:100%;
  min-height:0;
  aspect-ratio:2.15/1;
  padding:0;
  border:0!important;
  background-color:transparent!important;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  box-shadow:none!important;
  color:transparent;
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.28));
  transition:transform .12s ease,filter .12s ease;
}
.action-selector .mode-controls button:hover{transform:translateY(-2px);filter:drop-shadow(0 6px 0 rgba(0,0,0,.25)) brightness(1.03)}
.action-selector .mode-controls button:active,
.action-selector .mode-controls button.active{transform:translateY(2px);filter:drop-shadow(0 2px 0 rgba(0,0,0,.28))}
#dig-mode,#dig-mode.active,#flag-mode,#flag-mode.active{background-position:center;background-repeat:no-repeat;background-size:contain}
#dig-mode{background-image:url("assets/mine-grid-final-ui/open-squares-unpressed.png?v=89")}
#dig-mode.active{background-image:url("assets/mine-grid-final-ui/open-squares-pressed.png?v=89")}
#flag-mode{background-image:url("assets/mine-grid-final-ui/place-flags-unpressed.png?v=89")}
#flag-mode.active{background-image:url("assets/mine-grid-final-ui/place-flags-pressed.png?v=89")}

.board-options{grid-area:retro;display:flex;justify-content:center;align-items:center;margin:0;min-width:0}
.board-options .grid-skin-toggle,
body[data-edition="millennium"] .board-options .grid-skin-toggle{
  position:static;
  display:block!important;
  width:100%;
  height:auto;
  aspect-ratio:1200/609;
  padding:0;
  border:0!important;
  background:transparent url("assets/mine-grid-final-ui/retro-grid.png?v=89") center/contain no-repeat!important;
  box-shadow:none!important;
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.32));
  transform:none;
  transition:transform .12s ease,filter .12s ease;
}
.board-options .grid-skin-toggle:hover{filter:drop-shadow(0 6px 0 rgba(0,0,0,.28)) brightness(1.03)}
.board-options .grid-skin-toggle:active,
.board-options .grid-skin-toggle.active{
  background-color:transparent!important;
  background-image:url("assets/mine-grid-final-ui/retro-grid-pressed.png?v=89"),url("assets/mine-grid-final-ui/retro-grid.png?v=89")!important;
  background-position:center,center!important;
  background-size:contain,contain!important;
  background-repeat:no-repeat,no-repeat!important;
}
.board-options .grid-skin-toggle:active,
.board-options .grid-skin-toggle.active{transform:translateY(3px)!important;filter:drop-shadow(0 1px 0 rgba(0,0,0,.28)) brightness(.9)}

body[data-edition="classic"] .score-panel{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:"mine retro reset timer";
  justify-items:center;
}
.score-panel .mine-counter-shell{grid-area:mine}
.score-panel .timer-counter-shell{grid-area:timer}
.score-panel #reset-face{grid-area:reset}
body[data-edition="classic"] .score-panel .counter-shell{width:min(100%,230px);justify-self:center}
body[data-edition="classic"] .score-panel .board-options{width:100%;justify-self:center}
body[data-edition="classic"] .score-panel .board-options .grid-skin-toggle{
  width:min(100%,205px);
  height:auto;
  aspect-ratio:1200/609;
  align-self:center;
}
body[data-edition="classic"] .score-panel #reset-face{width:min(100%,205px)}
body[data-edition="millennium"] .score-panel{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:"mine retro reset timer";
  justify-items:center;
}
.score-panel #reset-face,
body[data-edition="classic"] .score-panel #reset-face,
body[data-edition="millennium"] .score-panel #reset-face{
  align-self:center;
  justify-self:center;
  width:100%;
  height:auto;
  aspect-ratio:1672/941;
  padding:0;
  border:0!important;
  background:transparent url("assets/mine-grid-final-ui/new-game-bix.png?v=89") center/contain no-repeat!important;
  box-shadow:none!important;
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.28));
  transform:none;
}
.score-panel #reset-face:hover{filter:drop-shadow(0 6px 0 rgba(0,0,0,.25)) brightness(1.03)}
.score-panel #reset-face:active{
  background-image:url("assets/mine-grid-final-ui/new-game-bix-pressed.png?v=89")!important;
  transform:translateY(3px) scale(.98)!important;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.25));
}

/* Keep the New Game and Retro Grid controls equally weighted in the HUD row. */
body[data-edition="classic"] .score-panel #reset-face,
body[data-edition="millennium"] .score-panel #reset-face{width:min(100%,205px)}

/* Give the illustrated HUD enough vertical room and align the New Game plaque,
   rather than centering the transparent Bix cutout as if it were the plaque. */
@media(min-width:461px){
  body[data-edition="classic"] .score-panel{min-height:170px}
  body[data-edition="classic"] .score-panel #reset-face{transform:translateY(-12px)}
  body[data-edition="classic"] .score-panel #reset-face:active{transform:translateY(-9px) scale(.98)!important}
}

/* The incomplete-story state has no supplied image button, so keep its live
   text treatment visible after the frozen-overlay cascade rules above it. */
.story-launcher:not([data-complete="true"]) .story-launcher-actions #start-story{
  color:#111820!important;
  font-size:.78rem!important;
  line-height:1!important;
  border:3px solid #111820!important;
  background:#9df238!important;
  box-shadow:4px 4px 0 #8f49d8!important;
  filter:none!important;
}
.story-launcher:not([data-complete="true"]) .story-launcher-actions #start-story:active{
  transform:translateY(2px);
  box-shadow:2px 2px 0 #8f49d8!important;
}

.illustrated-result-dialog{width:auto;max-width:none;max-height:none;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.illustrated-result-dialog::backdrop{background:rgba(4,14,20,.84);backdrop-filter:blur(6px)}
.illustrated-result-shell{width:min(92vw,calc(76vh * .8003),700px);margin:auto;padding:0 0 .75rem;background:transparent}
.illustrated-result-art-stage{position:relative;isolation:isolate;width:100%}
.illustrated-result-art-stage>img{display:block;width:100%;height:auto;background:transparent;filter:drop-shadow(0 24px 34px rgba(0,0,0,.58));pointer-events:none;user-select:none;-webkit-user-select:none}
.result-close-hotspot,.result-retry-hotspot{position:absolute;z-index:5;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.result-close-hotspot:focus-visible,.result-retry-hotspot:focus-visible{outline:4px solid #9df238;outline-offset:2px}
.illustrated-result-dialog[data-result="loss"] .result-close-hotspot{left:86.8%;top:43.2%;width:10.5%;height:9.6%}
.illustrated-result-dialog[data-result="win"] .result-close-hotspot{left:86.8%;top:45.8%;width:10.5%;height:9.6%}
.illustrated-result-dialog[data-result="loss"] .result-retry-hotspot{left:21.4%;top:76.2%;width:57.5%;height:11.5%}
.illustrated-result-dialog[data-result="win"] .result-retry-hotspot{left:8.5%;top:80.1%;width:82%;height:11.2%}
.illustrated-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.25rem;padding:.7rem .75rem;background:#07171b;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.illustrated-result-actions[hidden],.illustrated-result-help[hidden]{display:none!important}
.illustrated-result-actions button{min-height:48px;padding:.7rem .8rem;border:3px solid #061116;background:#ff5d24;color:#fff;font:800 .76rem var(--mono);letter-spacing:.03em;box-shadow:4px 4px 0 #9df238}
.illustrated-result-actions button:last-child{background:#f2f5f6;color:#071117;box-shadow:4px 4px 0 #ff5d24}
.illustrated-result-help{margin:0;padding:.65rem .85rem;color:#c6dfe3;background:#07171b;font:600 .63rem/1.4 var(--mono);text-align:center}

/* Millennium QA corrections: keep dense boards readable and scrollable, cap
   sparse boards, and give the Millennium HUD its own matched control pair. */
body[data-edition="millennium"] .board-scroll{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2f9bc1 #041128}
body[data-edition="millennium"] .board-scroll.scroll-x{justify-items:start}
body[data-edition="millennium"] .board-scroll.scroll-y{align-items:start}
body[data-edition="millennium"] .score-panel{
  top:5.5%;
  height:18.3%;
  grid-template-columns:29% 42% 29%;
  grid-template-rows:54% 46%;
  grid-template-areas:"mine . timer" "retro . reset";
  align-items:center;
  justify-items:center;
  gap:0;
}
body[data-edition="millennium"] .score-panel .counter-shell{
  width:96%;
  height:88%;
  align-self:start;
}
body[data-edition="millennium"] .score-panel .mine-counter-shell{justify-self:start}
body[data-edition="millennium"] .score-panel .timer-counter-shell{justify-self:end}
body[data-edition="millennium"] .score-panel .board-options{
  width:100%;
  height:100%;
  justify-self:start;
  align-items:end;
}
body[data-edition="millennium"] .board-options .grid-skin-toggle{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:2/1!important;
  align-self:end!important;
  background:transparent url("assets/mine-grid-millennium/millennium-grid-button.png?v=89") center/contain no-repeat!important;
  filter:drop-shadow(0 0 8px rgba(45,230,255,.72)) drop-shadow(0 0 10px rgba(255,54,183,.54))!important;
  transform:none!important;
}
body[data-edition="millennium"] .board-options .grid-skin-toggle:hover{
  filter:drop-shadow(0 0 11px #2de6ff) drop-shadow(0 0 13px #ff36b7) brightness(1.07)!important;
}
body[data-edition="millennium"] .board-options .grid-skin-toggle:active,
body[data-edition="millennium"] .board-options .grid-skin-toggle.active{
  background-image:url("assets/mine-grid-millennium/millennium-grid-button.png?v=89")!important;
  transform:translateY(2px) scale(.98)!important;
  filter:drop-shadow(0 0 6px #2de6ff) drop-shadow(0 0 8px #ff36b7) brightness(.88)!important;
}
body[data-edition="millennium"] .score-panel #reset-face{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:2/1!important;
  align-self:end!important;
  justify-self:end!important;
  background:transparent url("assets/mine-grid-millennium/new-game-button.png?v=89") center/contain no-repeat!important;
  filter:drop-shadow(0 0 8px rgba(45,230,255,.72)) drop-shadow(0 0 10px rgba(255,54,183,.54))!important;
  transform:none!important;
}
body[data-edition="millennium"] .score-panel #reset-face:hover{
  filter:drop-shadow(0 0 11px #2de6ff) drop-shadow(0 0 13px #ff36b7) brightness(1.07)!important;
}
body[data-edition="millennium"] .score-panel #reset-face:active{
  background-image:url("assets/mine-grid-millennium/new-game-button.png?v=89")!important;
  transform:translateY(2px) scale(.98)!important;
  filter:drop-shadow(0 0 6px #2de6ff) drop-shadow(0 0 8px #ff36b7) brightness(.88)!important;
}

/* Let the illustrated cabinet supply the HUD and board housings. These
   elements remain the interactive layout regions without painting panels
   over the supplied artwork. */
body[data-edition="millennium"] .score-panel .counter-shell{
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}
body[data-edition="millennium"] .board-scroll{
  padding:0;
  border:0;
  background:#031027;
  box-shadow:none;
  scrollbar-color:#2f9bc1 transparent;
}
body[data-edition="millennium"] .mine-board{
  background:transparent;
  box-shadow:none;
}

/* The two supplied action plaques use different source canvases. Stretch
   both into one shared control frame so their visible edges, height, and
   spacing match instead of inheriting the unequal transparent canvases. */
.action-selector .mode-controls{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:clamp(.25rem,.6vw,.4rem);
}
.action-selector .mode-controls #dig-mode,
.action-selector .mode-controls #flag-mode{
  width:100%;
  aspect-ratio:2.15/1;
  background-size:100% 100%!important;
}

/* Keep the title in the shaded copy lane instead of laying it across the
   character illustration. */
.hero-copy{max-width:640px}
.hero h1{font-size:clamp(3rem,4.5vw,4.75rem);line-height:.9}
@media(max-width:760px){
  .hero-copy{max-width:34rem}
  .hero h1{font-size:clamp(2.55rem,9.5vw,3.8rem);line-height:.9}
}
@media(max-width:460px){
  .hero h1{font-size:2.45rem}
}

@media(max-width:460px){
  .action-selector .mode-controls{grid-template-columns:1fr}
  .action-selector .mode-controls button{aspect-ratio:2.35/1}
  .board-options{justify-content:center}
  .board-options .grid-skin-toggle,body[data-edition="millennium"] .board-options .grid-skin-toggle{width:100%}
  body[data-edition="classic"] .score-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"mine timer" "retro reset";
    gap:.35rem;
  }
  .illustrated-result-actions{grid-template-columns:1fr}
}

/* Final button pass: center every live label without disturbing supplied
   artwork or its transparent interaction hotspots. */
[hidden]{display:none!important}
button{text-align:center}
.completion-topline button,.certificate-toolbar button,
.completion-actions button,.certificate-actions button,.certificate-bonus,
.illustrated-result-actions button,.story-dialogue-actions button,
.story-launcher:not([data-complete="true"]) .story-launcher-actions #start-story{
  display:grid;
  place-items:center;
  align-content:center;
  justify-content:center;
}
.completion-help .share-email-link,.certificate-help .share-email-link,.illustrated-result-help .share-email-link{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:.18em}

/* Millennium repair: the two illustrated commands own a separate row above
   the cabinet. The cabinet HUD is reserved for counters and the baked cat. */
.millennium-command-bar{display:none}
body[data-edition="millennium"] .millennium-command-bar{
  width:min(100%,1080px);
  margin:0 auto clamp(.65rem,1.25vw,1rem);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:clamp(.5rem,1.2vw,1rem);
  padding:clamp(.15rem,.35vw,.3rem);
  border:0;
  background:transparent;
  box-shadow:none;
}
body[data-edition="millennium"] .millennium-command-bar button{
  width:100%;
  min-width:0;
  aspect-ratio:2/1;
  padding:0;
  border:0;
  background:transparent center/100% 100% no-repeat;
  filter:drop-shadow(0 0 8px rgba(45,230,255,.62)) drop-shadow(0 0 9px rgba(255,54,183,.48));
}
body[data-edition="millennium"] #millennium-grid-control{background-image:url("assets/mine-grid-millennium/millennium-grid-button.png?v=94")}
body[data-edition="millennium"] #millennium-new-game-control{background-image:url("assets/mine-grid-millennium/new-game-button.png?v=94")}
body[data-edition="millennium"] .millennium-command-bar button:hover{filter:drop-shadow(0 0 11px #2de6ff) drop-shadow(0 0 12px #ff36b7) brightness(1.06)}
body[data-edition="millennium"] .millennium-command-bar button:active{transform:translateY(2px) scale(.985);filter:drop-shadow(0 0 6px #2de6ff) drop-shadow(0 0 7px #ff36b7) brightness(.9)}
body[data-edition="millennium"] .millennium-command-bar button.active{filter:drop-shadow(0 0 11px #2de6ff) drop-shadow(0 0 12px #ff36b7) brightness(1.04)}

body[data-edition="millennium"] .score-panel{
  top:6.5%;
  height:16.4%;
  grid-template-columns:1fr 22% 1fr;
  grid-template-rows:1fr;
  grid-template-areas:"mine . timer";
  align-items:end;
}
body[data-edition="millennium"] .score-panel .board-options,
body[data-edition="millennium"] .score-panel #reset-face{display:none!important}
body[data-edition="millennium"] .score-panel .counter-shell{width:92%;height:55%;align-self:end}
body[data-edition="millennium"] .score-panel .counter-shell{border-radius:0;background:radial-gradient(ellipse at center,rgb(2 10 29) 0 42%,rgb(2 10 29 / .94) 48%,transparent 72%);box-shadow:none}
body[data-edition="millennium"] .score-panel .counter-label{display:none}

/* Every live grid is contained by the illustrated screen. No difficulty
   creates a horizontal or vertical scrolling path. */
body[data-edition="millennium"] .board-scroll{
  overflow:hidden!important;
  overscroll-behavior:none;
  place-items:center;
  scrollbar-width:none;
}
body[data-edition="millennium"] .board-scroll::-webkit-scrollbar{display:none}
body[data-edition="millennium"] .mine-board{max-width:100%;max-height:100%;margin:auto}

@media(max-width:460px){
  body[data-edition="millennium"] .millennium-command-bar{gap:.3rem;padding:.15rem}
}

/* Mobile precision control: dense fields remain fully visible while the
   second tap uses a finger-sized 48px neighborhood selector. */
.precision-picker[hidden]{display:none!important}
@media(max-width:760px){
  body.precision-open{overflow:hidden}
  .precision-picker{
    position:fixed;
    z-index:10000;
    inset:0;
    display:grid;
    place-items:center;
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
    background:rgba(2,8,16,.9);
    backdrop-filter:blur(5px);
    touch-action:manipulation;
  }
  .precision-panel{
    width:min(100%,340px);
    padding:.75rem;
    border:3px solid #62edff;
    background:#071329;
    color:#fff;
    box-shadow:8px 8px 0 var(--orange);
  }
  .precision-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}
  .precision-panel>header>div{display:grid;gap:.12rem}
  .precision-panel>header strong{font-size:.94rem}
  .precision-panel>header span{color:#9df238;font:700 .56rem var(--mono);letter-spacing:.04em}
  .precision-close{flex:0 0 48px;width:48px;height:48px;padding:0;border:2px solid #62edff;background:#0d2344;color:#fff;font-size:1.7rem;line-height:1;touch-action:manipulation}
  .precision-grid{display:grid;grid-template-columns:repeat(var(--precision-cols),48px);justify-content:center;gap:4px}
  .precision-grid .cell{width:48px;height:48px;aspect-ratio:1;border-width:3px;font-size:1.3rem;touch-action:manipulation}
  .precision-grid .cell.revealed{border-width:1px}
  .precision-grid .cell.precision-origin{outline:4px solid var(--green);outline-offset:1px}
  .precision-panel>p{margin:.7rem 0 0;color:#bdd0d2;font:600 .63rem/1.35 var(--mono);text-align:center}
  .precision-panel>p strong{color:#fff}

  /* Story mode mobile composition. Desktop story measurements remain intact. */
  .story-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);overflow:hidden}
  .story-shell{min-height:0;max-height:calc(100dvh - 1rem);overflow:hidden}
  .story-scene-topline{padding:.6rem .7rem}
  .story-scene-topline button{width:48px;height:48px;flex:0 0 48px}
  .story-stage{height:clamp(300px,43dvh,390px);min-height:300px}
  .story-dialogue-panel{margin:-66px .55rem .55rem;padding:.8rem .85rem .7rem}
  .story-dialogue-panel>p{min-height:0;font-size:clamp(.9rem,3.9vw,1.05rem);line-height:1.35}
  .story-speaker{margin-bottom:.4rem}
  .story-dialogue-actions{margin-top:.65rem}
  .story-dialogue-actions button{min-width:122px;min-height:48px;padding:.55rem .7rem}

  .story-stage[data-speaker="nia"] .story-character-cutout{bottom:2%;width:96%;max-width:560px;max-height:100%}
  .story-stage[data-speaker="sofia"] .story-character-cutout{bottom:1%;width:62%;max-width:340px;max-height:98%}
  .story-stage[data-speaker="nia"][data-position="left"] .story-character-cutout{left:-8%;right:auto}
  .story-stage[data-speaker="nia"][data-position="right"] .story-character-cutout{left:auto;right:-8%}
  .story-stage[data-speaker="sofia"][data-position="left"] .story-character-cutout{left:2%;right:auto}
  .story-stage[data-speaker="sofia"][data-position="right"] .story-character-cutout{left:auto;right:2%}
  .story-stage[data-position="left"] .story-character-cutout,
  .story-stage[data-position="right"] .story-character-cutout{transform:none!important}
  .story-stage[data-position="center"] .story-character-cutout{left:50%;right:auto;transform:translateX(-50%)!important}

  .story-character-framed{bottom:8%;width:58%;max-width:310px;aspect-ratio:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .story-character-framed img{width:100%;height:auto;border-radius:0;object-fit:contain;filter:drop-shadow(10px 12px 14px rgba(0,0,0,.55))}
  .story-stage[data-position="left"] .story-character-framed{left:3%;right:auto;transform:none}
  .story-stage[data-position="right"] .story-character-framed{left:auto;right:3%;transform:none}
  .story-stage[data-position="center"] .story-character-framed{left:50%;right:auto;transform:translateX(-50%)}
}

@media(max-width:460px){
  .story-stage{height:clamp(290px,41dvh,350px);min-height:290px}
  .story-stage[data-speaker="nia"] .story-character-cutout{width:108%}
  .story-stage[data-speaker="sofia"] .story-character-cutout{width:68%}
  .story-character-framed{width:64%}
  .story-dialogue-panel{margin-top:-58px}
  .story-dialogue-actions{align-items:center}
}

/* Survivor Protocol's first hidden field is a separate laboratory instrument.
   These rules only exist while the private story experiment is active. */
.story-experiment-console{display:none}
body[data-story-experiment="fourth-switch"] .game-zone{
  min-height:100vh;
  padding-top:clamp(1rem,3vw,2.25rem);
  background:
    radial-gradient(circle at 15% 22%,rgba(157,242,56,.18) 0 4%,transparent 4.4%),
    radial-gradient(circle at 85% 17%,rgba(255,106,47,.19) 0 4%,transparent 4.4%),
    repeating-linear-gradient(90deg,rgba(8,36,45,.88) 0 9%,rgba(15,71,73,.75) 9% 18%),
    linear-gradient(180deg,#07151c,#102e31 55%,#061116);
}

/* Keep the standard game selectors out of the complete Story Mode flow. */
body[data-story-mode="true"] .game-heading,
body[data-story-mode="true"] .edition-switcher,
body[data-story-mode="true"] .difficulty-picker,
body[data-story-mode="true"] .millennium-command-bar{display:none!important}

body[data-story-mode="true"]:not([data-story-experiment]) .lab-console{display:none!important}
body[data-story-mode="true"]:not([data-story-experiment]) .game-zone{min-height:100svh;padding-top:clamp(1rem,4vw,2.5rem)}
body[data-story-mode="true"]:not([data-story-experiment]) .story-launcher{margin-bottom:0}
body[data-story-experiment="fourth-switch"] .game-heading,
body[data-story-experiment="fourth-switch"] .story-launcher,
body[data-story-experiment="fourth-switch"] .edition-switcher,
body[data-story-experiment="fourth-switch"] .difficulty-picker,
body[data-story-experiment="fourth-switch"] .millennium-command-bar{display:none!important}

/* A completed chapter remains available as a replay card after the player
   returns to the standard game. Cover the frozen art's STORY MODE label so
   the card describes its current replay-only role. */
.story-mode-visual-label{display:none}
@media(min-width:761px){
  .story-launcher[data-complete="true"][data-current-mode="regular"] .story-mode-visual-label{
    position:absolute;
    z-index:4;
    left:20.35%;
    top:35.4%;
    display:grid;
    place-items:center start;
    width:19.4%;
    height:11.5%;
    padding:0 .35rem;
    background:#0b3035;
    color:#9df238;
    font:800 clamp(.42rem,.72vw,.64rem)/1 var(--mono);
    letter-spacing:.04em;
    white-space:nowrap;
  }
}
body[data-story-experiment="fourth-switch"] .lab-console{
  width:min(100%,720px);
  display:flex;
  flex-direction:column;
  gap:clamp(.65rem,1.6vw,1rem);
  padding:clamp(.7rem,1.8vw,1.15rem);
  border:7px solid #f2e2b8;
  border-radius:34px;
  background:
    linear-gradient(90deg,transparent 0 5%,rgba(42,211,225,.12) 5% 95%,transparent 95%),
    linear-gradient(180deg,#13272c,#07161c);
  box-shadow:
    0 0 0 4px #073a4d,
    0 0 0 8px #f36b32,
    0 24px 70px rgba(0,0,0,.58),
    inset 0 0 40px rgba(42,211,225,.12);
}
body[data-story-experiment="fourth-switch"] .console-label{
  order:0;
  margin:0;
  padding:.2rem .55rem;
  color:#f4e8bf;
  font-size:.62rem;
}
body[data-story-experiment="fourth-switch"] .story-experiment-console{
  order:1;
  display:grid;
  gap:.55rem;
  padding:.7rem;
  border:3px solid #2ad3e1;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,35,47,.98),rgba(2,15,23,.98));
  box-shadow:inset 0 0 20px rgba(42,211,225,.19),0 5px 0 #f36b32;
  color:#f8efd2;
}
.story-experiment-readout{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.story-experiment-readout>div:first-child{display:grid;gap:.18rem}
.story-experiment-readout span,.story-experiment-meta{font:700 .58rem var(--mono);letter-spacing:.09em}
.story-experiment-readout span{color:#9df238}
.story-experiment-readout strong{font-size:clamp(1.05rem,3.4vw,1.55rem);line-height:1.05;text-transform:uppercase}
.story-experiment-lights{display:flex;gap:.38rem}
.story-experiment-lights i{width:14px;height:14px;border:2px solid #ffbd6e;border-radius:50%;background:#ff6a2f;box-shadow:0 0 10px #ff6a2f}
.story-experiment-lights i:nth-child(2){background:#9df238;border-color:#eaffbd;box-shadow:0 0 10px #9df238}
.story-signal-monitor{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.15rem,1vw,.45rem);
  overflow:hidden;
  border:2px solid #124b61;
  background:repeating-linear-gradient(90deg,transparent 0 19px,rgba(42,211,225,.11) 20px),#020b12;
}
.story-signal-monitor span{width:3px;height:12px;background:#9df238;box-shadow:0 0 8px #9df238;transform:skewX(-18deg)}
.story-signal-monitor span:nth-child(2),.story-signal-monitor span:nth-child(6){height:26px}
.story-signal-monitor span:nth-child(3),.story-signal-monitor span:nth-child(5){height:38px;background:#2ad3e1;box-shadow:0 0 8px #2ad3e1}
.story-signal-monitor span:nth-child(4){height:18px;background:#ff6a2f;box-shadow:0 0 8px #ff6a2f}
.story-experiment-meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;color:#2ad3e1}
.story-experiment-meta strong{min-width:0;color:#f8efd2;font-size:.63rem;text-align:center;overflow-wrap:anywhere}
body[data-story-experiment="fourth-switch"] .classic-window{
  order:2;
  padding:8px;
  border:4px solid #f2e2b8;
  border-radius:22px;
  background:#0b3140;
  box-shadow:0 0 0 3px #2ad3e1,inset 0 0 30px rgba(42,211,225,.16);
  font-family:var(--sans);
}
body[data-story-experiment="fourth-switch"] .classic-title{
  margin:-1px -1px 7px;
  padding:.55rem .75rem;
  border:2px solid #2ad3e1;
  border-radius:13px;
  background:linear-gradient(180deg,#0c3447,#061721);
  color:#f8efd2;
  font:700 clamp(.64rem,2.3vw,.82rem) var(--mono);
  letter-spacing:.05em;
  text-transform:uppercase;
}
body[data-story-experiment="fourth-switch"] .score-panel{
  position:static;
  width:auto;
  height:auto;
  display:grid;
  grid-template-columns:1fr minmax(96px,.8fr) 1fr;
  grid-template-areas:"mine reset timer";
  gap:.55rem;
  margin:0 0 8px;
  padding:.55rem;
  border:2px solid #124b61;
  background:#03131c;
}
body[data-story-experiment="fourth-switch"] .score-panel .board-options{display:none!important}
body[data-story-experiment="fourth-switch"] .score-panel .counter-shell{
  position:relative;
  width:100%;
  min-width:0;
  min-height:68px;
  display:grid;
  grid-template-rows:1fr auto;
  place-items:center;
  padding:.45rem;
  border:3px solid #f2e2b8;
  border-radius:14px;
  background:linear-gradient(180deg,#183846,#07141b);
  box-shadow:inset 0 0 14px rgba(42,211,225,.2);
}
body[data-story-experiment="fourth-switch"] .score-panel .counter-shell output{
  min-width:0;
  padding:0;
  background:transparent;
  color:#9df238;
  font:700 clamp(1.15rem,5vw,1.75rem)/1 var(--mono);
  text-shadow:0 0 10px rgba(157,242,56,.6);
}
body[data-story-experiment="fourth-switch"] .score-panel .counter-label{
  display:block;
  position:static!important;
  inset:auto!important;
  grid-row:2;
  transform:none!important;
  margin:0!important;
  color:#f8efd2;
  font:700 .48rem var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
body[data-story-experiment="fourth-switch"] .score-panel #reset-face{
  grid-area:reset;
  width:100%;
  height:58px;
  min-height:58px;
  align-self:center;
  aspect-ratio:auto;
  border:3px solid #f2e2b8!important;
  border-radius:14px;
  background:linear-gradient(180deg,#ff8b47,#e54d24)!important;
  filter:none;
  transform:none!important;
  color:#07141b;
}
body[data-story-experiment="fourth-switch"] .score-panel #reset-face::after{content:"RESET SIGNAL";font:900 .62rem var(--mono);letter-spacing:.04em}
body[data-story-experiment="fourth-switch"] .score-panel #reset-face:active{transform:translateY(2px)!important;filter:brightness(.88)}
body[data-story-experiment="fourth-switch"] .board-scroll{
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:8px;
  border:3px solid #2ad3e1;
  border-radius:16px;
  background:radial-gradient(circle at 50% 42%,rgba(42,211,225,.2),transparent 65%),#020b12;
  box-shadow:inset 0 0 28px rgba(42,211,225,.16);
}
body[data-story-experiment="fourth-switch"] .mine-board{
  min-width:0;
  justify-content:center;
  gap:2px;
  padding:5px;
  background:#051b25;
  box-shadow:0 0 0 2px #f2e2b8,0 0 20px rgba(42,211,225,.38);
}
body[data-story-experiment="fourth-switch"] .cell,
body[data-story-experiment="fourth-switch"][data-edition="classic"] .cell{
  border:2px solid #f3e5bd;
  border-radius:5px;
  background-image:linear-gradient(145deg,#f8efcf 0 42%,#d9bf83 43% 100%)!important;
  color:#07141b;
  font-family:var(--mono);
  box-shadow:inset -3px -3px 0 rgba(103,72,37,.26),inset 2px 2px 0 rgba(255,255,255,.62);
}
body[data-story-experiment="fourth-switch"] .cell:active:not(.revealed){transform:scale(.92);border:2px solid #ff6a2f}
body[data-story-experiment="fourth-switch"] .cell.revealed{
  border-color:#2ad3e1;
  background-image:radial-gradient(circle,#143e4c,#071923 72%)!important;
  color:#f8efd2;
  box-shadow:inset 0 0 8px rgba(42,211,225,.3);
}
body[data-story-experiment="fourth-switch"] .cell.flagged,
body[data-story-experiment="fourth-switch"] .cell.mine{position:relative;background-image:radial-gradient(circle,#ffad50,#d94a25 62%,#4d1820 64%)!important}
body[data-story-experiment="fourth-switch"] .cell.flagged::after{content:"!";color:#07141b;font:900 calc(var(--cell-size)*.54)/1 var(--mono)}
body[data-story-experiment="fourth-switch"] .cell.mine::after{content:"✦";color:#fff2bd;font:900 calc(var(--cell-size)*.5)/1 var(--mono);text-shadow:0 0 8px #fff}
body[data-story-experiment="fourth-switch"] .cell .classic-flag,
body[data-story-experiment="fourth-switch"] .cell .mine-icon,
body[data-story-experiment="fourth-switch"] .cell .cell-icon{display:none!important}
body[data-story-experiment="fourth-switch"] .cell[data-count="1"]{color:#72efff}
body[data-story-experiment="fourth-switch"] .cell[data-count="2"]{color:#9df238}
body[data-story-experiment="fourth-switch"] .cell[data-count="3"]{color:#ff9b55}
body[data-story-experiment="fourth-switch"] .cell[data-count="4"],
body[data-story-experiment="fourth-switch"] .cell[data-count="5"],
body[data-story-experiment="fourth-switch"] .cell[data-count="6"],
body[data-story-experiment="fourth-switch"] .cell[data-count="7"],
body[data-story-experiment="fourth-switch"] .cell[data-count="8"]{color:#f2c6ff}
body[data-story-experiment="fourth-switch"] .action-selector{
  order:3;
  display:grid;
  grid-template-columns:1fr;
  gap:.55rem;
  margin:0;
  padding:.65rem;
  border:3px solid #2ad3e1;
  border-radius:18px;
  background:#04131b;
}
body[data-story-experiment="fourth-switch"] .action-instruction{padding:.45rem .65rem;border-left:5px solid #9df238;background:#071e27}
body[data-story-experiment="fourth-switch"] .action-instruction strong{font-size:.95rem}
body[data-story-experiment="fourth-switch"] .action-instruction>span{font-size:.68rem}
body[data-story-experiment="fourth-switch"] .mode-controls{display:grid;grid-template-columns:1fr 1fr!important;gap:.55rem}
body[data-story-experiment="fourth-switch"] .action-selector .mode-controls button{
  min-height:54px;
  aspect-ratio:auto!important;
  border:3px solid #f2e2b8!important;
  border-radius:13px;
  background:linear-gradient(180deg,#183b48,#071923)!important;
  filter:none;
  color:#f8efd2!important;
  font-size:0;
}
body[data-story-experiment="fourth-switch"] #dig-mode::after{content:"ANALYZE SECTORS";font:900 .78rem var(--mono)}
body[data-story-experiment="fourth-switch"] #flag-mode::after{content:"MARK SIGNALS";font:900 .78rem var(--mono)}
body[data-story-experiment="fourth-switch"] .action-selector .mode-controls button.active{border-color:#9df238!important;background:linear-gradient(180deg,#a8f34b,#5dbf2b)!important;color:#061116!important;box-shadow:0 0 14px rgba(157,242,56,.45)!important}
body[data-story-experiment="fourth-switch"] .game-status{
  order:4;
  margin:0;
  border:3px solid #f2e2b8;
  border-left:8px solid #9df238;
  border-radius:13px;
  background:#06141b;
  color:#f8efd2;
  font-size:.83rem;
}
body[data-story-experiment="fourth-switch"] .mobile-note{order:5;margin:0;color:#f2e2b8;font-size:.7rem;line-height:1.35;text-align:center}

@media(max-width:760px){
  body[data-story-experiment="fourth-switch"] .game-zone{min-height:100svh;padding:.65rem .45rem 1rem}
  body[data-story-experiment="fourth-switch"] .lab-console{gap:.35rem;border-width:4px;border-radius:23px;padding:.42rem;box-shadow:0 0 0 3px #073a4d,0 0 0 6px #f36b32,0 18px 45px rgba(0,0,0,.55)}
  body[data-story-experiment="fourth-switch"] .console-label{padding:.08rem .4rem;font-size:.52rem}
  body[data-story-experiment="fourth-switch"] .story-experiment-console{gap:.28rem;padding:.4rem;border-width:2px;border-radius:12px}
  .story-experiment-readout{gap:.45rem}
  .story-experiment-readout strong{font-size:clamp(.9rem,4.8vw,1.2rem)}
  .story-experiment-readout span{font-size:.5rem}
  .story-experiment-lights i{width:11px;height:11px}
  .story-signal-monitor{height:26px}
  .story-signal-monitor span{height:9px}
  .story-signal-monitor span:nth-child(2),.story-signal-monitor span:nth-child(6){height:18px}
  .story-signal-monitor span:nth-child(3),.story-signal-monitor span:nth-child(5){height:24px}
  .story-signal-monitor span:nth-child(4){height:13px}
  .story-experiment-meta{font-size:.48rem;gap:.3rem}
  .story-experiment-meta strong{font-size:.52rem}
  body[data-story-experiment="fourth-switch"] .classic-window{padding:4px;border-width:3px;border-radius:15px}
  body[data-story-experiment="fourth-switch"] .classic-title{margin:0 0 4px;padding:.34rem .5rem;border-radius:10px;font-size:.64rem}
  body[data-story-experiment="fourth-switch"] .score-panel{grid-template-columns:1fr 84px 1fr;gap:.28rem;margin-bottom:4px;padding:.28rem}
  body[data-story-experiment="fourth-switch"] .score-panel .counter-shell{min-height:48px;padding:.25rem;border-width:2px;border-radius:11px}
  body[data-story-experiment="fourth-switch"] .score-panel .counter-shell output{font-size:clamp(1.05rem,5.2vw,1.35rem)}
  body[data-story-experiment="fourth-switch"] .score-panel .counter-label{font-size:.52rem;letter-spacing:.08em}
  body[data-story-experiment="fourth-switch"] .score-panel #reset-face{height:46px;min-height:46px;border-width:2px!important;border-radius:11px}
  body[data-story-experiment="fourth-switch"] .score-panel #reset-face::after{font-size:.64rem;line-height:1.05;letter-spacing:.015em}
  body[data-story-experiment="fourth-switch"] .board-scroll{padding:4px;border-width:2px;border-radius:12px}
  body[data-story-experiment="fourth-switch"] .mine-board{gap:1px;padding:3px}
  body[data-story-experiment="fourth-switch"] .action-selector{gap:.3rem;padding:.35rem;border-width:2px;border-radius:13px}
  body[data-story-experiment="fourth-switch"] .action-instruction{padding:.34rem .5rem;border-left-width:4px}
  body[data-story-experiment="fourth-switch"] .action-instruction strong{font-size:.85rem}
  body[data-story-experiment="fourth-switch"] .action-instruction>span{display:none}
  body[data-story-experiment="fourth-switch"] .mode-controls{gap:.35rem}
  body[data-story-experiment="fourth-switch"] .action-selector .mode-controls button{min-height:48px;border-width:2px!important;border-radius:10px}
  body[data-story-experiment="fourth-switch"] #dig-mode::after,
  body[data-story-experiment="fourth-switch"] #flag-mode::after{font-size:.7rem}
  body[data-story-experiment="fourth-switch"] .game-status{padding:.5rem;border-width:2px;border-left-width:6px;font-size:.74rem}
  body[data-story-experiment="fourth-switch"] .mobile-note{font-size:.66rem}

  .completion-dialog[data-story="true"]{width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:hidden}
  .completion-dialog[data-story="true"] .completion-card{padding:.72rem}
  .completion-dialog[data-story="true"] .completion-topline{padding-bottom:.45rem}
  .completion-dialog[data-story="true"] .completion-topline button{width:42px;height:42px}
  .completion-dialog[data-story="true"] .completion-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.55rem;padding:.65rem 0}
  .completion-dialog[data-story="true"] .completion-heading h3{font-size:clamp(1.9rem,9vw,2.45rem);line-height:.88}
  .completion-dialog[data-story="true"] .completion-heading p{margin-bottom:.2rem;font-size:.56rem}
  .completion-dialog[data-story="true"] .completion-record{margin:0 0 .1rem;padding:.45rem .5rem;font-size:.55rem}
  .completion-dialog[data-story="true"] .completion-stats>div{padding:.58rem .65rem}
  .completion-dialog[data-story="true"] .completion-stats span{margin-bottom:.25rem;font-size:.5rem}
  .completion-dialog[data-story="true"] .completion-stats strong{font-size:.86rem;line-height:1.1}
  .completion-dialog[data-story="true"] .completion-reaction{grid-template-columns:42px 1fr;gap:.65rem;margin:.62rem 0 0;padding:.62rem;border-left-width:6px}
  .completion-dialog[data-story="true"] .reaction-badge{width:42px;height:42px;font-size:.72rem}
  .completion-dialog[data-story="true"] .completion-reaction cite{font-size:.59rem}
  .completion-dialog[data-story="true"] .completion-reaction p{margin:.15rem 0 0;font-size:.76rem;line-height:1.3}
  .completion-dialog[data-story="true"] .completion-actions{grid-template-columns:1fr 1fr;gap:.42rem;margin-top:.62rem}
  .completion-dialog[data-story="true"] .completion-actions button{min-height:44px;padding:.48rem .35rem;font-size:.72rem;line-height:1.08}
  .completion-dialog[data-story="true"] .completion-help{margin:.48rem 0 0;font-size:.58rem;line-height:1.35}
}
