:root{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:#dceee2;background:#030907;font-size:14px;--green:#b6ff71;--cyan:#50e9ee;--ink:#030907;--muted:#708e7e;--line:#8deca322;--panel:#081610;--white:#e9ffee}*{box-sizing:border-box}html,body,#app{height:100%;width:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;touch-action:manipulation}body:after{content:"";position:fixed;inset:0;z-index:1800;pointer-events:none;opacity:.065;background:repeating-linear-gradient(0deg,transparent 0 3px,#000 3px 4px)}#app{position:relative;z-index:1}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;min-height:44px;border:0}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button svg{pointer-events:none}button>svg,.icon-button svg{width:22px;height:22px;flex-shrink:0}a{color:inherit;text-decoration:none}.cyber-background,.cyber-feedback{position:fixed;inset:0;pointer-events:none;width:100%;height:100%}.cyber-background{z-index:0;opacity:.75}.cyber-feedback{z-index:1500}.shell{height:100%;max-width:1720px;margin:auto;padding:0 4%;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 65% 50%,#0a1b0f22,#03090700 62%)}.masthead{height:100px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:relative}.masthead:after{content:"";height:2px;width:55px;position:absolute;left:0;bottom:-1px;background:var(--green);box-shadow:0 0 14px #b6ff7144}.wordmark{display:flex;align-items:center;min-height:44px;gap:13px;font-family:Arial,Helvetica,sans-serif;font-size:27px;font-weight:900;letter-spacing:-1.3px}.wordmark-accent{color:var(--green);margin-left:3px}.brand-icon{width:42px;height:42px;border:1px solid #b6ff7155;display:grid;place-items:center;background:#b6ff7109;position:relative}.brand-icon:before,.brand-icon:after{content:"";position:absolute;width:4px;height:4px;background:var(--green);left:-2px;top:-2px}.brand-icon:after{inset:auto -2px -2px auto}.brand-icon>svg{width:29px;height:29px;stroke:var(--green);filter:drop-shadow(0 0 5px #b6ff713b)}.wordmark small{font-family:SFMono-Regular,Consolas,monospace;display:block;color:#86a391;font-size:8px;letter-spacing:1.8px;font-weight:400;margin-top:6px}.header-note{font-size:9px;letter-spacing:1.9px;color:#8eaa98;display:flex;align-items:center;gap:12px}.status-led{width:5px;height:5px;background:var(--green);display:inline-block;box-shadow:0 0 10px #a9ff7180;flex-shrink:0}.header-actions{display:flex;gap:9px;align-items:center}.system-tag{font-size:7px;color:#6a8f78;line-height:1.7;letter-spacing:1.5px;text-align:right;margin-right:12px}.icon-button{width:44px;height:44px;background:#0a170eb3;border:1px solid #a9e9ae32;display:grid;place-items:center;border-radius:3px;color:#b7cebe;transition:color .15s,border-color .15s}.icon-button:hover{color:var(--green);border-color:#b6ff7180;background:#b6ff7112}.game-layout{display:grid;grid-template-columns:26% 1fr;gap:5%;min-height:0;flex:1;padding:29px 0 20px}.story{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:6px 0}.eyebrow{font-size:8px;letter-spacing:1.8px;line-height:1.5;color:#88a692;margin:0 0 18px;text-transform:uppercase}.story>.eyebrow{display:flex;align-items:center;gap:9px;font-size:8px;color:var(--green)}.story h1{font-family:Arial Black,Arial,Helvetica,sans-serif;font-size:clamp(45px,5.4vw,81px);line-height:.91;font-weight:950;letter-spacing:-5px;margin:8px 0 22px;color:#e4f3e6}.story h1 em{color:var(--green);font-style:italic;letter-spacing:-5px;text-shadow:0 0 36px #b6ff711f}.intro{font-size:11px;line-height:1.85;color:#829c8d;margin:0}.story-rule{display:flex;align-items:center;gap:10px;margin:26px 0 23px;font-size:6px;color:#607c69;letter-spacing:.6px;white-space:nowrap}.story-rule i{height:1px;flex:1;background:linear-gradient(90deg,#b6ff7160,#b6ff7115)}.story-rule span:first-child{color:var(--green);font-size:8px}.chapter{display:flex;gap:14px;align-items:center}.chapter-num{font-size:34px;color:var(--green);letter-spacing:-2px;font-weight:400;line-height:1}.chapter .eyebrow{font-size:7px;margin:0 0 7px;letter-spacing:1.5px;color:#6e927c}.chapter h2{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.description{font-size:10px;line-height:1.75;color:#799683;margin:15px 0;max-width:280px}.progress-dots{display:flex;gap:4px;margin:8px 0}.progress-dots span{width:15px;height:4px;background:#153222;border:0;position:relative}.progress-dots .complete{background:#50794b}.progress-dots .current{background:var(--green);box-shadow:0 0 10px #b6ff712f}.progress-dots .current:after{content:"";position:absolute;bottom:-4px;left:0;width:15px;height:1px;background:var(--green)}.text-button{display:flex;align-items:center;gap:32px;align-self:flex-start;background:transparent;padding:0;font-size:9px;letter-spacing:1.6px;color:#c5dfbd;margin-top:3px}.text-button svg{width:18px;color:var(--green)}.text-button:hover{color:var(--green)}.note-card{display:flex;align-items:flex-start;gap:13px;border:1px solid #98c9a51d;border-left:2px solid #98c9a562;background:linear-gradient(90deg,#0a1c12d6,#07140cb3);padding:14px;margin-top:17px;max-width:300px}.note-card>span svg{width:19px;height:23px;color:var(--green)}.note-card p{font-size:9px;line-height:1.8;color:#738f7e;margin:0}.note-card strong{display:block;color:#bfd0b8;font-size:8px;font-weight:400;letter-spacing:1.1px;margin-bottom:5px}.story-seal{display:flex;align-items:center;gap:10px;margin-top:23px;color:#406149}.story-seal>span{font-size:23px;border:1px solid #4061497a;padding:4px 5px;line-height:1}.story-seal p{font-size:6px;letter-spacing:1.6px;line-height:1.8}.story-seal b{font-size:9px;margin-left:auto;color:#3a5944}.play-area{display:flex;flex-direction:column;min-height:0;position:relative}.board-heading{height:51px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0;padding:0 7px}.board-heading .eyebrow{font-size:7px;margin:0 0 7px;color:#6e967d;letter-spacing:1.6px;display:block}.board-heading>div>strong{font-size:12px;display:block;letter-spacing:.3px;font-weight:400;color:#b9d9c3}.board-stats{display:flex;gap:36px}.board-stats strong{font-size:24px;font-weight:400;line-height:1;letter-spacing:-1px;white-space:nowrap;color:var(--green);font-variant-numeric:tabular-nums}.board-stats small{font-size:11px;color:#5e876b}.time-stat{display:flex;gap:10px;min-width:103px}.time-stat>svg{height:22px;width:22px;stroke:#72a882;margin-top:9px}.time-stat strong{color:#d6f3df}.board-stats .low-time{color:#ffbd89;text-shadow:0 0 15px #ff864922}.moonlight-track{height:2px;flex-shrink:0;background:#b6ff7112;position:relative;margin:0 7px}.moonlight-track:before{content:"";position:absolute;width:4px;height:4px;background:#b6ff71;left:0;top:-1px}.moonlight-track span{height:2px;display:block;background:linear-gradient(90deg,#2e7446,#b6ff71);box-shadow:0 0 15px #b6ff7133;transition:width .5s linear}.board-viewport{flex:1;min-height:0;overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:#426f4944 transparent;touch-action:pan-x pan-y;overscroll-behavior:contain;contain:layout paint;background:radial-gradient(ellipse at 50% 49%,#2751391a,transparent 66%);border:1px solid #8deca315;border-top:0;border-bottom:0;margin-top:12px}.board-viewport:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#81b99206 1px,transparent 1px),linear-gradient(90deg,#81b99206 1px,transparent 1px);background-size:31px 31px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse,#000,transparent 72%);mask-image:radial-gradient(ellipse,#000,transparent 72%)}.grid-corner{position:absolute;width:15px;height:15px;border-color:#78b28b4d;pointer-events:none;z-index:0}.corner-a{border-left:1px solid;border-top:1px solid;top:0;left:0}.corner-b{border-right:1px solid;border-bottom:1px solid;bottom:0;right:0}.grid-tag{position:absolute;left:14px;top:12px;font-size:6px;letter-spacing:1.5px;color:#40674c;pointer-events:none}.grid-tag b{font-weight:400;margin-left:9px;color:#607e65}.board-inner{position:relative;flex-shrink:0;z-index:1}.mural{position:absolute;inset:-7% -9%;pointer-events:none;transition:opacity .8s;filter:drop-shadow(0 0 15px #6aff7309)}.mural svg{width:100%;height:100%;object-fit:contain}#board{position:absolute;inset:0}.tile{position:absolute;min-height:44px;min-width:44px;padding:0;background:#102b1c;border:1px solid #549b626b;border-radius:4px;box-shadow:0 3px #07170e,0 4px #356041,0 7px 8px #000a;color:#b6ff71;-webkit-user-select:none;user-select:none;isolation:isolate;touch-action:pan-x pan-y;transition:filter .13s,box-shadow .13s,border-color .13s}.tile-face{position:absolute;inset:0 0 4px;border-radius:3px;background:linear-gradient(140deg,#173722,#0e2518 48%,#08190f);box-shadow:inset 0 1px #aaff7b24,inset 0 0 0 1px #7ec28c0e;display:grid;place-items:center;pointer-events:none;overflow:hidden}.tile-face:before{content:"";position:absolute;inset:3px;border-top:1px solid #b6ff711e;border-bottom:1px solid #b6ff7114;pointer-events:none}.tile-face:after{content:"";position:absolute;top:0;left:0;width:100%;height:45%;background:linear-gradient(145deg,#c6ffd608,transparent);pointer-events:none}.tile .face-art{width:84%;height:81%;margin-top:-3px;filter:drop-shadow(0 0 5px #9aff7733)}.tile.tea{color:#65e8d5}.tile.clouds{color:#95e4c1}.tile.seeds{color:#c6fb91}.tile.stars{color:#a0eced}.tile-code{position:absolute;bottom:3px;left:5px;font-size:6px;line-height:1;opacity:.37;letter-spacing:.7px}.tile-corner{position:absolute;bottom:2px;right:4px;font-size:9px;line-height:1;letter-spacing:1px;opacity:.56}.tile.blocked{filter:brightness(.65) saturate(.68);border-color:#71977b70}.tile.blocked .face-art{filter:none}.tile.selected{border-color:var(--green);box-shadow:0 3px #547634,0 0 0 2px #b6ff71,0 0 23px #a5ff714d;filter:brightness(1.24)}.tile.selected .tile-face{background:linear-gradient(140deg,#32582a,#18351e)}.tile.hinted{border-color:#d996ff;box-shadow:0 3px #745084,0 0 0 2px #d996ff,0 0 23px #d996ff4d;filter:brightness(1.25)}body[data-input=keyboard] .tile-focus,body[data-input=controller] .tile-focus{outline:2px solid #65eff9;outline-offset:3px}.tile:focus-visible{outline:2px solid #65eff9;outline-offset:3px}.tile:hover.free{filter:brightness(1.27);border-color:#c4fca0}body[data-input=touch] .tile:hover{filter:initial}body[data-input=touch] .tile.blocked:hover{filter:brightness(.65) saturate(.68)}body[data-input=touch] .tile.selected:hover{filter:brightness(1.24)}.pair-ripple{position:absolute;border:1px solid #b6ff71;border-radius:3px;z-index:1000;pointer-events:none;animation:ripple .6s ease-out forwards;box-shadow:0 0 20px #b6ff7144}@keyframes ripple{0%{opacity:.85;transform:scale(.8)}to{opacity:0;transform:scale(1.55)}}.feedback{height:42px;min-height:42px;padding:8px 5px 4px;text-align:center;color:#82b290;font-size:10px;line-height:1.5;display:flex;justify-content:center;align-items:center;gap:8px;letter-spacing:.1px}.feedback:before{content:">";color:var(--green)}.feedback.gentle{color:#ffbd86}.feedback.success{color:var(--green)}.tool-tray{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;padding:8px;border:1px solid #82d3942c;border-radius:4px;background:linear-gradient(180deg,#0c1f14eb,#07140de6);position:relative}.tool-tray:before,.tool-tray:after{content:"";position:absolute;width:12px;height:2px;background:#77ad6d;top:-1px;left:-1px}.tool-tray:after{inset:auto -1px -1px auto}.tool-tray button{display:flex;align-items:center;justify-content:center;gap:13px;border-radius:2px;min-height:50px;padding:4px 18px;background:#07150db0;border:1px solid #8acc971c;font-size:11px;flex:1;text-transform:uppercase;letter-spacing:1px}.tool-tray button:hover:not(:disabled){background:#b6ff7112;border-color:#b6ff7155;color:var(--green)}.tool-tray button>svg{color:#9dc89d;width:19px;height:22px}.tool-tray button>span{display:flex;align-items:center;gap:11px}.tool-tray kbd{font:8px SFMono-Regular,Consolas,monospace;color:#4d7458;border:1px solid #426f4c44;padding:2px 4px;border-radius:2px}.tool-tray kbd:empty{display:none}.tool-tray b{background:#b6ff7110;border:1px solid #b6ff7126;min-width:18px;height:19px;padding:0 4px;border-radius:2px;font-size:10px;font-weight:400;display:grid;place-items:center;color:var(--green)}.tool-tray .help-button{flex:0;min-width:44px;padding:4px 10px}.input-hint{margin:11px 0 0;text-align:center;font-size:8px;min-height:12px;color:#60836b;letter-spacing:.1px}.footer{height:37px;flex-shrink:0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.3px;color:#526e5c}.footer>span{display:flex;align-items:center;gap:9px}.footer>span:last-child{letter-spacing:.3px;color:#60826a}.footer svg{height:11px;width:11px;color:#85b76f}.footer .status-led{width:3px;height:3px;background:#799f64;box-shadow:none}.overlay{position:fixed;inset:0;z-index:2000;background:#010805cf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px max(20px,env(safe-area-inset-right)) 20px max(20px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain}.dialog{position:relative;width:min(100%,460px);max-height:calc(100dvh - 40px);overflow:auto;padding:35px;background:linear-gradient(135deg,#0e2416f8,#050f0bf8);border:1px solid #a6e79155;border-radius:4px;box-shadow:0 0 70px #92ff710a,0 24px 100px #000b;text-align:center;scrollbar-width:thin;scrollbar-color:#67aa6444 transparent}.dialog:before{content:"[ TM / _ ]";font-size:11px;letter-spacing:5px;display:block;color:var(--green);margin:0 0 25px}.dialog:after{content:"";position:absolute;top:0;left:0;width:45px;height:3px;background:var(--green);box-shadow:0 0 13px #b6ff7155}.dialog.wide{width:min(920px,100%)}.dialog h2{font-family:Arial Black,Arial,sans-serif;font-size:34px;text-transform:uppercase;font-weight:900;letter-spacing:-1.6px;line-height:1.03;margin:0 0 20px;color:#e0f7e4}.dialog .eyebrow{font-size:7px;margin:0 0 14px;color:#80b47a;letter-spacing:1.8px}.dialog-intro{font-size:11px;line-height:1.9;color:#8aae97;margin:0 0 22px}.menu-stack{display:flex;flex-direction:column;gap:8px}.menu-button{border:1px solid #8bc19636;background:#0a1a1199;display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 18px;border-radius:2px;min-height:48px;width:100%;font-size:10px;letter-spacing:1.1px;text-transform:uppercase}.menu-button.primary{background:#b6ff71;color:#112109;border-color:#b6ff71;box-shadow:0 0 23px #b6ff7116;font-weight:700}.menu-button:hover:not(:disabled){background:#b6ff7114;border-color:#b6ff7199}.menu-button.primary:hover:not(:disabled){background:#caff95;border-color:#caff95;box-shadow:0 0 27px #b6ff712b}.menu-button svg{width:18px;height:18px}.small-copy{font-size:9px;line-height:1.9;color:#718f7c;margin:20px 0 0}.rule-demo{display:flex;align-items:center;justify-content:center;gap:22px;margin:22px 0;color:#4e815c}.mini-tile{width:45px;height:58px;border-radius:3px;border:1px solid #76bf7277;background:linear-gradient(135deg,#1a3420,#0b1b12);box-shadow:0 3px #2a5232,0 0 15px #b6ff7114;color:var(--green);padding:3px}.mini-tile svg{height:100%;width:100%;filter:drop-shadow(0 0 6px #b6ff7133)}.rule-check svg{width:24px;height:24px;color:var(--green)}.rule-demo+p{font-size:11px;line-height:1.85;color:#91b19d;text-align:left}.rule-demo+p strong{color:#d0f5bb;font-weight:400}.controls-grid{display:grid;gap:14px;text-align:left;margin:22px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.controls-grid>div{display:grid;grid-template-columns:108px 1fr;gap:10px}.controls-grid strong{font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:.6px;color:var(--green)}.controls-grid span{font-size:9px;line-height:1.9;color:#90aa99}.welcome{width:min(510px,100%)}.welcome .dialog-intro{margin-bottom:12px}.welcome .rule-demo+p{text-align:center}.welcome .small-copy{margin:18px 0 24px}.welcome-help{margin-top:8px}.welcome-help .menu-button{background:transparent;border-color:transparent;font-size:8px;min-height:44px;padding:8px;color:#759981}.layout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:23px 0}.layout-card{position:relative;background:#040e0999;border:1px solid #82ba922f;border-radius:3px;padding:13px;text-align:left;min-height:166px}.layout-card.current{border-color:#b6ff717d;background:#13301a44}.layout-card:hover{background:#b6ff7110;border-color:#b6ff7177}.layout-preview{position:relative;height:79px;margin:0 10px 9px}.layout-preview i{position:absolute;width:10%;height:12%;border-radius:1px;box-shadow:0 1px 2px #001a0c,0 0 4px #b6ff7119}.layout-number{font-size:7px;letter-spacing:2px;color:#90b685}.layout-card strong{font-family:Arial,sans-serif;font-size:14px;font-weight:700;display:block;margin:8px 0;text-transform:uppercase;letter-spacing:-.2px}.layout-card small{font-size:7px;color:#5e8569}.result-stats{display:flex;justify-content:center;gap:48px;margin:23px 0 28px}.result-stats strong{font-size:32px;font-weight:400;letter-spacing:-1px;color:var(--green);display:block}.result-stats span{display:block;font-size:7px;letter-spacing:1px;color:#7c9f85;margin-top:9px}.end-icon{color:var(--green);margin:25px auto;filter:drop-shadow(0 0 15px #b6ff7133)}.end-icon svg{width:48px;height:48px}.win-art{height:185px;margin:0 auto 15px;filter:drop-shadow(0 0 14px #6bff7a15)}.win-art svg{width:100%;height:100%}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1600px){.story h1{font-size:85px}.game-layout{grid-template-columns:25%;gap:6%}.story-rule{max-width:305px}}@media(max-height:860px)and (min-width:901px){.masthead{height:79px}.game-layout{padding:22px 0 14px}.story h1{font-size:65px}.story>.eyebrow{margin-bottom:12px}.story-rule{margin:21px 0 18px}.story-seal{margin-top:15px}.description{margin:12px 0}.note-card{margin-top:13px}.footer{height:32px}.tool-tray{padding:7px}.input-hint{margin-top:9px}}@media(max-height:730px)and (min-width:901px){.story h1{font-size:55px;letter-spacing:-3.5px}.story h1 em{letter-spacing:-3.5px}.story-seal{display:none}.note-card{padding:10px}.masthead{height:70px}.game-layout{padding:18px 0 12px}.intro{font-size:10px}.story-rule{margin:16px 0}.story>.eyebrow{font-size:7px;margin-bottom:7px}.description{font-size:9px}.chapter-num{font-size:29px}.chapter h2{font-size:16px}}@media(max-height:620px)and (min-width:901px){.story h1{font-size:47px}.note-card,.story-rule{display:none}.chapter{margin-top:18px}.story>.eyebrow{margin-bottom:0}.tool-tray button{min-height:44px}.feedback{height:36px;min-height:36px}}@media(max-width:1150px){.shell{padding:0 3%}.game-layout{grid-template-columns:27%;gap:4%}.header-note{font-size:8px;letter-spacing:1px}.story h1{font-size:59px;letter-spacing:-4px}.story h1 em{letter-spacing:-4px}.tool-tray button{padding:4px 11px;gap:8px}.tool-tray button>span{gap:7px}.story-rule{font-size:5px;gap:7px}.system-tag{display:none}}@media(max-width:900px){.shell{padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom)}.masthead{height:77px}.wordmark{font-size:24px}.brand-icon{width:37px;height:37px}.brand-icon>svg{width:25px}.wordmark small{font-size:7px;letter-spacing:1.5px}.story,.header-note{display:none}.game-layout{display:flex;padding:18px 0 9px;gap:0}.play-area{width:100%}.board-heading{height:50px}.board-viewport{margin-top:11px}.board-heading>div>strong{font-size:12px}.board-stats{gap:26px}.footer{height:30px;font-size:6px;letter-spacing:1px}.tool-tray{max-width:680px;align-self:center;width:100%}.grid-tag{font-size:5px}.feedback{font-size:10px}.input-hint{font-size:8px}.dialog{padding:29px}.layout-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.shell{padding-right:max(10px,env(safe-area-inset-right));padding-left:max(10px,env(safe-area-inset-left))}.masthead{height:73px;margin:0 5px;gap:10px}.wordmark{font-size:23px;gap:9px;letter-spacing:-1.2px}.brand-icon{width:31px;height:34px}.brand-icon>svg{width:23px;height:24px}.wordmark small{font-size:6px;letter-spacing:1.15px}.header-actions{gap:6px}.icon-button{width:44px;height:44px}.game-layout{padding:15px 0 7px}.board-heading{padding:0 6px;height:51px;gap:5px}.board-heading>div>strong{font-size:10px;max-width:143px;line-height:1.4}.board-stats{gap:14px}.board-stats strong{font-size:23px}.board-stats small{font-size:9px}.board-heading .eyebrow{font-size:6px;letter-spacing:1px;margin-bottom:7px}.time-stat{min-width:76px;gap:5px}.time-stat>svg{height:16px;width:16px;margin-top:11px}.board-viewport{margin-top:10px}.grid-tag{top:8px;left:8px;letter-spacing:.8px}.grid-tag b{margin-left:7px}.tool-tray{padding:6px;gap:5px;border-radius:3px}.tool-tray button{min-height:48px;gap:6px;padding:3px 7px;font-size:9px;letter-spacing:.4px}.tool-tray button>svg{width:18px;height:19px}.tool-tray kbd{display:none}.tool-tray b{min-width:16px;height:17px;padding:0 3px;font-size:9px}.tool-tray .help-button{padding:3px;min-width:44px}.feedback{height:43px;min-height:43px;padding:5px;font-size:9px;line-height:1.5;gap:5px}.input-hint{font-size:7px;letter-spacing:0;margin-top:9px}.footer>span:first-child{display:none}.footer{justify-content:center;height:26px}.overlay{padding:12px;align-items:center}.dialog{padding:25px 21px;max-height:calc(100dvh - 24px)}.dialog h2{font-size:30px;letter-spacing:-1.3px}.dialog:before{font-size:9px;margin-bottom:21px}.dialog .eyebrow{font-size:6px;letter-spacing:1.4px}.welcome .dialog-intro{font-size:10px}.controls-grid>div{grid-template-columns:87px 1fr;gap:10px}.controls-grid strong{font-size:8px}.controls-grid span,.small-copy{font-size:9px}.layout-grid{grid-template-columns:repeat(2,1fr);gap:9px}.layout-card{min-height:152px;padding:10px}.layout-preview{height:68px}.dialog-intro{font-size:10px}.rule-demo+p{font-size:10px}.result-stats{gap:35px}.win-art{height:160px}}@media(max-height:500px)and (orientation:landscape){.shell{padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(14px,env(safe-area-inset-left))}.masthead{height:55px}.wordmark{font-size:21px}.wordmark small{font-size:6px;margin-top:4px}.brand-icon{width:29px;height:31px}.brand-icon>svg{width:23px;height:23px}.game-layout{padding:8px 0;min-height:0}.play-area{display:grid;grid-template-columns:164px 1fr;grid-template-rows:1fr 44px;column-gap:15px;width:100%}.board-heading{grid-column:1;grid-row:1;display:block;padding:4px 3px;height:auto}.board-heading>div>strong{font-size:11px;max-width:none}.board-stats{margin-top:24px;gap:16px;justify-content:flex-start}.board-heading .eyebrow{font-size:6px}.board-stats strong{font-size:23px}.moonlight-track{display:none}.board-viewport{grid-column:2;grid-row:1/3;min-height:0;margin:0;border:0}.grid-tag{display:none}.feedback{position:absolute;left:0;top:113px;width:164px;height:45px;font-size:8px;padding:2px;justify-content:flex-start;text-align:left}.tool-tray{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0;border:0;height:44px;align-self:end;background:transparent}.tool-tray:before,.tool-tray:after{display:none}.tool-tray button{height:44px;min-height:44px;padding:0;gap:4px;min-width:44px}.tool-tray button>span,.tool-tray .help-button{display:none}.tool-tray b{font-size:8px;width:16px;height:16px}.tool-tray svg{width:19px!important}.input-hint{position:absolute;left:0;top:173px;max-width:164px;font-size:7px;text-align:left;line-height:1.7;margin:0 3px}.footer{display:none}.header-note{display:flex;font-size:7px;letter-spacing:1px}.story{display:none}.overlay{padding:12px}.dialog{max-height:calc(100dvh - 24px);width:min(590px,100%)}.layout-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:350px){.wordmark{font-size:20px;gap:7px}.wordmark small{font-size:5px;letter-spacing:1px}.brand-icon{width:27px;height:31px}.header-actions{gap:4px}.tool-tray button{font-size:8px;gap:5px;padding:3px 4px}.tool-tray button>svg{width:15px}.board-stats{gap:10px}.board-heading>div>strong{max-width:126px}.time-stat>svg{display:none}.time-stat{min-width:62px}.board-stats strong{font-size:22px}.tool-tray b{min-width:15px;height:15px}.feedback{font-size:8px}.grid-tag b{display:none}}body:after{opacity:.03}.intro{font-size:12px}.description{font-size:11px}.note-card p{font-size:10px}.note-card strong{font-size:9px}.board-heading .eyebrow{font-size:8px}.feedback{font-size:11px}.tool-tray button{font-size:12px}.input-hint{font-size:9px}.small-copy{font-size:10px}.dialog-intro{font-size:12px}.menu-button{font-size:11px}.controls-grid span,.controls-grid strong{font-size:10px}.grid-tag,.story-seal p{font-size:7px}.header-note{font-size:10px}@media(max-height:730px)and (min-width:901px){.intro{font-size:11px}.description{font-size:10px}.note-card p{font-size:9px}}@media(max-width:500px){.board-heading .eyebrow{font-size:7px;letter-spacing:.7px}.board-heading>div>strong{font-size:11px}.feedback,.tool-tray button{font-size:10px}.input-hint{font-size:8px}.grid-tag{font-size:6px}.dialog-intro,.welcome .dialog-intro{font-size:11px}.small-copy{font-size:10px}.controls-grid strong{font-size:9px}.controls-grid span{font-size:10px}.rule-demo+p{font-size:11px}.welcome-help .menu-button{font-size:9px}}@media(max-height:500px)and (orientation:landscape){.feedback{font-size:9px}.header-note,.input-hint{font-size:8px}}@media(max-width:350px){.feedback,.tool-tray button{font-size:9px}.board-heading .eyebrow{font-size:6px}.input-hint{font-size:7px}}.dialog.tutorial-dialog{width:min(720px,100%);padding:24px 30px;text-align:left;overflow-x:hidden}.tutorial-dialog:before{display:none}.tutorial-dialog h2{font-size:25px;letter-spacing:-.7px;margin:0 0 7px}.tutorial-dialog>.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:10px}.tutorial-intro{font:12px/1.5 Arial,sans-serif;color:#a9cbb3;margin:0 0 20px}.mahjong-tutorial{color:#d9f4df;font-family:Arial,Helvetica,sans-serif;text-align:left}.tutorial-top{border-top:1px solid #8acc9733;padding-top:15px}.tutorial-eyebrow{color:#9ed895;font:10px/1.4 Consolas,monospace;letter-spacing:1.3px;margin:0 0 5px}.tutorial-top h3{font-size:27px;letter-spacing:-.6px;line-height:1.15;margin:0}.tutorial-copy{color:#b6d1be;font-size:14px;line-height:1.55;margin:12px 0}.tutorial-rule{color:#9dc5ab;font:12px/1.5 Arial,sans-serif;margin:0 0 13px}.tutorial-rule strong{color:#b6ff71;font-size:11px}.tutorial-rule strong:first-child{margin-right:7px;letter-spacing:.7px}.tutorial-board{display:grid;place-items:center;position:relative;padding:22px 12px 13px;border:1px solid #82d39435;background:radial-gradient(ellipse at center,#17462a66,transparent 75%),#06120c;background-image:linear-gradient(#81b9920b 1px,transparent 1px),linear-gradient(90deg,#81b9920b 1px,transparent 1px);background-size:28px 28px;isolation:isolate}.tutorial-grid{width:198px;height:var(--grid-height);position:relative}.tutorial-tile{position:absolute;left:var(--left);top:var(--top);width:60px;height:73px;min-width:44px;min-height:44px;padding:3px;background:#163c26;border:1px solid #88c59288;border-radius:4px;color:#b6ff71;box-shadow:0 4px #07170e,0 5px #356041,0 8px 10px #000a;z-index:calc(2 + var(--tz));transition:filter .15s,box-shadow .15s,border-color .15s}.tutorial-tile-face{position:absolute;inset:3px 3px 8px;display:grid;place-items:center;background:linear-gradient(140deg,#1b4229,#0e2518 48%,#08190f);pointer-events:none}.tutorial-tile-face svg{width:85%;height:85%;filter:drop-shadow(0 0 5px #9aff7733)}.tutorial-tile small{position:absolute;right:5px;bottom:3px;color:#d4edda;font:10px Consolas,monospace}.tutorial-tile.blocked{filter:brightness(.68) saturate(.65)}.tutorial-tile:hover{border-color:#50e9ee;filter:brightness(1.1)}.tutorial-tile:focus-visible{outline:2px solid #50e9ee;outline-offset:3px}.tutorial-tile.selected{border-color:#b6ff71;box-shadow:0 4px #547634,0 0 0 2px #b6ff71,0 0 23px #a5ff714d;filter:brightness(1.2)}.tutorial-tile.tutorial-hinted{border-color:#dfafff;box-shadow:0 4px #745084,0 0 0 2px #dfafff,0 0 23px #d996ff4d}.tutorial-cleared{position:absolute;inset:0;display:grid;place-items:center;color:#b6ff71;font:15px Consolas,monospace;letter-spacing:1px;margin:0}.tutorial-feedback{min-height:51px;display:flex;align-items:center;color:#bbd8c2;font-size:14px;line-height:1.45;padding:10px 2px}.tutorial-feedback:before{content:">";color:#b6ff71;margin-right:9px}.tutorial-feedback.gentle{color:#ffcc9e}.tutorial-feedback.hint{color:#e4b5ff}.tutorial-feedback.success{color:#b6ff71}.tutorial-actions,.tutorial-complete-actions{display:flex;flex-wrap:wrap;gap:8px}.tutorial-button{min-height:44px;min-width:44px;padding:10px 14px;border:1px solid #8bc19660;border-radius:3px;background:#0a1a1199;color:#d4ecda;font:12px Consolas,monospace;cursor:pointer}.tutorial-actions .tutorial-button{flex:1 1 0;min-width:44px;white-space:normal}.tutorial-button:hover,.tutorial-button:focus-visible{border-color:#50e9ee;color:#50e9ee;outline:2px solid #50e9ee55;outline-offset:2px}.tutorial-button.primary{background:#b6ff71;border-color:#b6ff71;color:#112109;font-weight:700}.tutorial-button.quiet{border-color:transparent;margin-left:auto;white-space:nowrap}.tutorial-footer{display:flex;align-items:center;gap:8px;border-top:1px solid #8acc9733;margin-top:12px;padding-top:5px}.tutorial-footer p{color:#9abea4;font-size:12px;line-height:1.5;margin:0}.tutorial-complete{margin-top:12px;padding:18px;border:1px solid #b6ff7166;background:linear-gradient(130deg,#16351d99,#08150ccc);text-align:center}.tutorial-complete h4{font-size:24px;margin:3px 0 8px}.tutorial-complete>p:not(.tutorial-eyebrow){color:#bed7c4;font-size:14px;line-height:1.55;margin:0 auto 15px}.tutorial-complete-actions{justify-content:center}.welcome-help.tutorial-entry .menu-button{border:1px solid #50e9ee66;color:#b6ff71;font-size:11px;background:#50e9ee08}@media(max-width:520px){.dialog.tutorial-dialog{padding:16px 15px}.tutorial-dialog h2{font-size:21px;margin-bottom:5px}.tutorial-dialog>.eyebrow{font-size:8px;margin-bottom:7px}.tutorial-intro{font-size:12px;margin-bottom:12px}.tutorial-top{padding-top:10px}.tutorial-top h3{font-size:22px}.tutorial-copy{font-size:13px;line-height:1.45;margin:9px 0}.tutorial-rule{font-size:12px;line-height:1.4;margin-bottom:10px}.tutorial-board{padding-top:20px;padding-bottom:9px}.tutorial-feedback{font-size:13px;min-height:55px}.tutorial-actions{gap:6px}.tutorial-actions .tutorial-button{padding:8px 6px;font-size:11px}.tutorial-footer p{font-size:12px}.tutorial-complete{padding:14px 10px}}@media(max-height:500px)and (orientation:landscape){.dialog.tutorial-dialog{padding:16px 24px}.tutorial-intro{margin-bottom:10px}.tutorial-copy{margin:8px 0}.tutorial-dialog h2{font-size:21px}}
