@font-face{font-family:HomeVideo;src:url('/font/home-video.ttf') format('truetype');font-display:swap}
@font-face{font-family:DepartureMono;src:url('/font/departure-mono.otf') format('opentype');font-display:swap}
:root{--bg:#09090b;--panel:#151518;--card:#1c1c21;--line:#39393f;--muted:#aaaab1;--white:#f3f1ec;--lime:#ccff01;--orange:#ff6f00;--yellow:#f2b84b;--blue:#5b6cff;--pink:#ff3d8b;--red:#ff6577;font-family:DepartureMono,'Courier New',monospace;color:var(--white);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:inherit}::selection{background:var(--lime);color:var(--bg)}
.site-shell{max-width:1480px;margin:auto;min-height:100vh;border-inline:1px solid #31342c}.topbar{height:86px;padding:0 clamp(20px,4vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:4px;text-decoration:none}.brand span{width:37px;height:42px;display:grid;place-items:center;background:var(--orange);color:#10110e;font-size:27px;line-height:1;letter-spacing:-.11em;border-radius:7px;box-shadow:0 4px 0 #070805}.brand span:nth-child(2){background:var(--lime)}.brand span:nth-child(3){background:#e9e7df}.brand span:nth-child(4){background:var(--blue)}.brand span:nth-child(5){background:var(--pink)}
.top-actions{display:flex;align-items:center;gap:22px}
.hub-back{display:inline-flex;align-items:center;gap:6px;font-family:DepartureMono,'Courier New',monospace;font-size:13px;letter-spacing:.08em;color:var(--muted);text-decoration:none;padding:6px 12px;border:1px solid #44444c;border-radius:999px;transition:color .14s,border-color .14s}
.hub-back:hover,.hub-back:focus-visible{color:var(--lime);border-color:var(--lime)}
.hub-back span{font-size:15px;line-height:1}.network-tag{font-size:9px;color:var(--muted);letter-spacing:.06em}.circle-button{height:34px;width:34px;border:1px solid #717568;border-radius:50%;background:transparent;color:var(--white);font-size:17px;display:grid;place-items:center;transition:.16s}.circle-button:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-2px)}.circle-button.small{width:30px;height:30px;font-size:13px}
main{padding:0 clamp(20px,4vw,58px)}.hero{padding:55px 0 42px;max-width:900px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 17px;color:var(--lime);font-size:10px;letter-spacing:.13em}.live-dot{width:8px;height:8px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 4px #ccff0125}h1,h2,h3,p{margin-top:0}h1{font-weight:400;font-size:clamp(36px,5.1vw,70px);line-height:.99;letter-spacing:-.075em;margin:0 0 20px}h1 em{font-style:normal;color:var(--lime)}.hero>p:last-child{font:16px/1.5 system-ui,sans-serif;max-width:680px;color:#c1c5b8;margin:0}
.columns{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:27px;background:var(--panel);box-shadow:0 9px 0 #090a08;overflow:hidden}.game-panel{padding:29px 24px 28px;position:sticky;top:15px}.apply-panel{padding:29px 22px 23px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-kicker{display:block;color:var(--orange);font-size:9px;letter-spacing:.12em;margin-bottom:11px}.panel-kicker .optional{margin-left:8px;color:var(--muted)}h2{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.045em;line-height:1.1;font-weight:400;margin:0}.step-total{font-size:10px;color:var(--muted);white-space:nowrap}.game-meta{margin:23px auto 0;max-width:500px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.game-status{margin:10px auto 13px;min-height:28px;max-width:500px;text-align:center;color:var(--muted);font-size:10px;display:grid;place-items:center}.game-status.error{color:var(--red)}.game-status.success{color:var(--lime)}
.board{--cell:min(8.1vh,61px);display:grid;grid-template-columns:repeat(5,var(--cell));grid-template-rows:repeat(6,var(--cell));gap:7px;justify-content:center;margin:auto}.cell{display:grid;place-items:center;border:2px solid #474a40;background:#20221c;color:var(--white);border-radius:12px;font-size:calc(var(--cell)*.46);line-height:1;transition:transform .16s,background .16s,border-color .16s;box-shadow:0 3px 0 #10110d}.cell.filled{border-color:#b0b5a7;animation:pop .12s steps(2,end)}.cell.correct{background:var(--lime);border-color:var(--lime);color:#13140c}.cell.present{background:var(--orange);border-color:var(--orange);color:#18100a}.cell.absent{background:#41443b;border-color:#41443b;color:#d6d8d0}.cell.reveal{animation:flip .45s steps(5,end) both;animation-delay:var(--delay)}.board.shake{animation:shake .24s steps(4,end)}
.keyboard{max-width:500px;margin:22px auto 0;display:grid;gap:5px}.key-row{display:flex;justify-content:center;gap:5px}.key{height:48px;flex:1;min-width:0;border:1px solid #5a5e51;border-radius:9px;background:#3a3d34;color:var(--white);font-size:12px;box-shadow:0 3px 0 #0e100c;transition:transform .12s,filter .12s}.key:hover:not(:disabled){filter:brightness(1.2);transform:translateY(-2px)}.key:active:not(:disabled){transform:translateY(2px);box-shadow:none}.key.wide{flex:1.55;font-size:8px}.key.correct{background:var(--lime);border-color:var(--lime);color:var(--bg)}.key.present{background:var(--orange);border-color:var(--orange);color:var(--bg)}.key.absent{background:#252720;border-color:#35382f;color:#717669}
.game-result{margin:20px auto 0;max-width:500px;border:1px solid #575e43;border-radius:18px;padding:16px;background:#272c1b;display:flex;justify-content:space-between;align-items:center;gap:16px}.game-result strong{font-size:15px;color:var(--lime)}.game-result p{font:12px/1.4 system-ui,sans-serif;color:var(--muted);margin:5px 0 0}.result-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pill-button{border:0;border-radius:999px;padding:11px 13px;white-space:nowrap;font-size:8px}.pill-button.lime{background:var(--lime);color:var(--bg)}.pill-button.outline{border:1px solid #727867;background:transparent;color:var(--white)}.pill-button:hover{filter:brightness(1.15)}.game-footnote{margin:20px 0 0;color:var(--muted);font:12px/1.4 system-ui,sans-serif;text-align:center}
.apply-lead{font:14px/1.55 system-ui,sans-serif;color:#bfc3b4;margin:17px 0 22px}.step-card{border:1px solid #4a4e42;border-radius:20px;background:var(--card);display:flex;align-items:flex-start;gap:14px;padding:16px;margin-bottom:10px;transition:border .18s,background .18s,box-shadow .18s}.step-card.done{border-color:var(--lime);box-shadow:inset 0 0 0 1px #ccff0166;background:#292f20}.step-card.busy{border-color:#7e8475}.step-card.error{border-color:var(--red);box-shadow:inset 0 0 0 1px #ff657755}.step-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;color:#151511;font-size:17px;background:var(--orange)}.step-icon.lime{background:var(--lime)}.step-icon.dark{background:#e9e7df}.step-icon.blue{background:var(--blue);font-size:24px}.step-icon.pink{background:var(--pink);font-size:26px}.step-body{flex:1;min-width:0}.step-body h3,.step-body label{display:block;margin:2px 0 6px;font-size:12px;letter-spacing:-.02em;font-weight:400}.step-body h3 span,.step-body label span{color:#8e9584;font-size:8px;margin-left:7px;white-space:nowrap}.step-body p{font:12px/1.43 system-ui,sans-serif;color:#a9ad9f;margin:0 0 9px}.step-symbol{color:#878e7f;flex:none;font-size:20px;line-height:38px}.step-card.done .step-symbol{color:var(--lime)}.step-card.error .step-symbol{color:var(--red)}
input{width:100%;height:41px;border:1px solid #60665a;border-radius:11px;background:#161813;color:var(--white);outline:none;padding:0 12px;font:13px system-ui,sans-serif}input:focus{border-color:var(--lime);box-shadow:0 0 0 2px #ccff0128}input::placeholder{color:#767c70}.handle-control{display:flex;align-items:center;gap:8px;background:#161813;border:1px solid #60665a;border-radius:11px;padding-left:12px}.handle-control:focus-within{border-color:var(--lime);box-shadow:0 0 0 2px #ccff0128}.handle-control span{color:var(--pink);font-size:17px}.handle-control input{border:0;background:transparent;padding-left:0;box-shadow:none}.field-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.quiet-button{padding:0;border:0;background:transparent;color:var(--lime);font-size:9px;text-align:left}.quiet-button:hover{text-decoration:underline}.field-note{color:#8e9584;font-size:8px;text-align:right}.social-button{border:1px solid #7e8376;border-radius:999px;background:#31362b;color:var(--white);padding:10px 13px;font-size:9px;line-height:1.1}.social-button:hover{border-color:var(--lime);color:var(--lime)}.social-card small{display:block;font-size:8px;margin-top:9px;color:var(--muted)}.step-card.done small{color:var(--lime)}
.form-message{min-height:24px;margin-top:10px;display:grid;align-items:center;color:var(--muted);font-size:10px}.form-message.error{color:var(--red)}.form-message.success{color:var(--lime)}.submit-button{width:100%;height:56px;border:0;border-radius:15px;background:var(--lime);color:#14170a;padding:0 20px;display:flex;justify-content:space-between;align-items:center;font-size:13px;box-shadow:0 5px 0 #557000}.submit-button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.submit-button:active{transform:translateY(4px);box-shadow:0 1px 0 #557000}.submit-button span{font-size:22px}.form-disclaimer{font:11px/1.5 system-ui,sans-serif;color:#9fa597;margin:14px 2px 0}.application-result{border:1px solid var(--lime);border-radius:17px;padding:16px;margin-top:18px;background:#28301c}.application-result span{font-size:9px;color:var(--lime)}.application-result strong{font-size:24px;display:block;margin-top:6px}.application-result p{font:12px/1.5 system-ui,sans-serif;color:#c9d0bd;margin:8px 0 0}
.phase-strip{margin:37px 0 50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.phase-strip>span{color:var(--muted);font-size:9px}.phase-strip ol{list-style:none;display:flex;gap:8px;align-items:center;padding:0;margin:0}.phase-strip li{padding:11px 15px;border-radius:999px;background:#282b23;color:#dfe1d9;font-size:10px}.phase-strip li:nth-child(2){background:var(--lime);color:var(--bg)}.phase-strip p{color:var(--muted);font:11px/1.3 system-ui,sans-serif;max-width:180px;margin:0}footer{border-top:1px solid var(--line);padding:21px clamp(20px,4vw,58px);display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.help-dialog{width:min(470px,calc(100% - 26px));max-height:calc(100vh - 30px);overflow:auto;border:1px solid var(--lime);border-radius:24px;background:#252820;color:var(--white);padding:29px;box-shadow:0 14px 0 #070906}.help-dialog::backdrop{background:#070806d9}.dialog-close{position:absolute;top:17px;right:17px}.help-dialog h2{font-size:34px;line-height:1.05;margin:7px 0 16px}.help-dialog p{font:14px/1.55 system-ui,sans-serif;color:#c1c6ba}.help-dialog .rule{display:flex;align-items:center;gap:13px;margin:11px 0;font-size:10px}.rule i{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-size:18px}.rule .correct{background:var(--lime);color:#10110d}.rule .present{background:var(--orange);color:#10110d}.rule .absent{background:#464b40}
[hidden]{display:none!important}@keyframes pop{from{transform:scale(.92)}to{transform:scale(1)}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:1050px){.columns{grid-template-columns:1fr}.game-panel{position:static}.phase-strip{flex-wrap:wrap}.phase-strip p{max-width:none}}
@media(max-width:600px){.site-shell{border:0}.topbar{height:72px;padding:0 15px}.hub-back-label{display:none}.hub-back{padding:6px 10px}.brand{gap:3px}.brand span{width:27px;height:33px;font-size:21px;border-radius:5px}.network-tag{display:none}main{padding:0 12px}.hero{padding:31px 4px 27px}.hero h1{font-size:clamp(31px,10vw,48px)}.hero>p:last-child{font-size:13px}.columns{gap:14px}.panel{border-radius:19px}.game-panel,.apply-panel{padding:20px 12px}.board{--cell:min(15.8vw,53px);gap:5px}.cell{border-radius:9px}.keyboard{gap:4px;margin-top:17px}.key-row{gap:3px}.key{height:43px;font-size:10px;border-radius:7px;padding:0}.key.wide{font-size:7px}.game-result{flex-direction:column;align-items:stretch}.result-actions{justify-content:flex-start}.step-card{padding:12px;gap:10px;border-radius:15px}.step-icon{width:34px;height:34px;border-radius:9px;font-size:13px}.step-body h3,.step-body label{font-size:10px}.step-body p{font-size:11px}.step-symbol{font-size:15px;line-height:30px}.phase-strip{margin:29px 0}.phase-strip ol{flex-wrap:wrap}.phase-strip li{font-size:9px;padding:9px 12px}footer{font-size:7px;padding:18px 15px;gap:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* WORDS play skin: crisp type over a monochrome canvas field. */
body{position:relative;isolation:isolate;background:var(--bg)}
.site-shell{position:relative;z-index:1;border-color:#3d4058}
.topbar,.phase-strip,footer{border-color:var(--line)}
.panel{background:var(--panel);border-color:#464a66;box-shadow:0 12px 32px #05061065,0 5px 0 #070813}
.step-card{background:var(--card);border-color:#464b65}
.step-card.done{background:#202b31;border-color:var(--lime);box-shadow:inset 0 0 0 1px #ccff0145,0 0 24px #ccff010b}
.step-card.busy{border-color:#747b98;background:#25293c}
.step-card.error{border-color:var(--red);background:#302337;box-shadow:inset 0 0 0 1px #ff657745}
.step-body p,.apply-lead,.hero>p:last-child,.game-footnote,.game-result p,.form-disclaimer,.application-result p,.phase-strip p,.help-dialog p{font-family:DepartureMono,'Courier New',monospace;color:#c3c7d7}
.hero>p:last-child{font-size:15px;line-height:1.65;max-width:730px}
.hero h1,h1,h2,.brand,.game-result strong,.application-result strong,.help-dialog h2{font-family:HomeVideo,'Courier New',monospace}
.hero h1{font-size:clamp(40px,5.7vw,76px);line-height:1.02;letter-spacing:-.04em}
.five-word{color:var(--lime);font-weight:400}
.hero .five-word:not(em){color:var(--white)}
.eyebrow{font-size:11px;color:#b4bcda;gap:7px}.eyebrow strong{color:var(--lime);font-weight:400}
.network-tag strong{color:var(--lime);font-weight:400}
.panel-kicker{color:#a5aef5;font-size:11px}.panel-kicker strong{color:var(--lime);font-weight:400}.kicker-sep{display:inline-block;width:5px;height:5px;background:var(--blue);vertical-align:middle;margin:0 4px;transform:rotate(45deg)}
.panel-heading h2{font-size:clamp(22px,2.3vw,32px)}
.game-meta{color:#aeb5d5;font-size:12px}.game-status{font-size:12px;letter-spacing:.03em}
.brand span{display:flex;align-items:center;justify-content:center;letter-spacing:0;font-size:27px;padding:0;box-shadow:0 3px 0 #05050e}.brand b{display:block;font-weight:400;line-height:1;transform:translateY(-2px)}
.brand span:nth-child(1) b{transform:translateY(-1px)}.brand span:nth-child(2) b{transform:translateY(-2px)}.brand span:nth-child(3) b{transform:translateY(-3px)}.brand span:nth-child(4) b{transform:translateY(-2px)}.brand span:nth-child(5) b{transform:translateY(-3px)}
.pixel-icon{width:20px;height:20px;display:block;flex:none;fill:currentColor;shape-rendering:crispEdges}
.circle-button{border-color:#6b7298;background:#1e2234}.circle-button .pixel-icon{width:18px;height:18px}.circle-button.small .pixel-icon{width:16px;height:16px}
.step-icon{border-radius:12px}.step-icon .pixel-icon{width:23px;height:23px;color:#111321}.step-icon.dark .pixel-icon{color:#151522}
.step-symbol{min-width:31px;height:38px;line-height:1;display:grid;place-items:center}.step-index{color:#8f98b5;font-size:13px}.step-symbol .pixel-icon{width:19px;height:19px;display:none}
.step-card.done .step-index,.step-card.error .step-index{display:none}.step-card.done .step-symbol .pixel-icon,.step-card.error .step-symbol .pixel-icon{display:block}.step-card.done .step-symbol .pixel-icon{color:var(--lime)}.step-card.error .step-symbol .pixel-icon{color:var(--red)}
.step-body .five-word{color:var(--lime)}#step-repost .five-word{color:#aeb7ff}#step-like .five-word{color:#ff90b8}
.step-body h3,.step-body label{font-family:DepartureMono,'Courier New',monospace;font-size:13px;line-height:1.3}.step-body h3 span:not(.five-word),.step-body label span{color:#a2aac5;font-size:9px}
.step-body p{font-size:12px;line-height:1.55}.step-card .field-note{color:#aeb5d0}
input,.handle-control{background:#101322;border-color:#59617d;color:var(--white)}.handle-control input{background:transparent}
.quiet-button,.social-button,.pill-button,.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.quiet-button .pixel-icon,.social-button .pixel-icon,.pill-button .pixel-icon{width:13px;height:13px}.social-button{background:#2a304c;border-color:#697194;color:var(--white)}.social-button:hover{background:#35406a}
.key{background:#30364f;border-color:#626c8f;color:var(--white);font-family:DepartureMono,'Courier New',monospace;font-size:14px;box-shadow:0 3px 0 #080a15}.key.absent{background:#202438;border-color:#31364c;color:#8b93ac}
.board{perspective:750px}.cell{display:flex;align-items:center;justify-content:center;padding:0;border-color:#4e5577;background:#1d2135;color:var(--white);font-family:DepartureMono,'Courier New',monospace;font-size:calc(var(--cell)*.50);line-height:1;box-shadow:0 3px 0 #080a15;transition:border-color .14s,background-color .14s}.cell.filled{animation:none;border-color:#b6c0df}.cell.pop{animation:cell-pop .18s cubic-bezier(.22,.9,.3,1.36)}.cell.erase{animation:cell-erase .15s ease-out}.cell.correct{background:var(--lime);border-color:var(--lime);color:#111421}.cell.present{background:var(--yellow);border-color:var(--yellow);color:#15121a}.cell.absent{background:#32394f;border-color:#32394f;color:#d2d6e4}.cell.reveal{animation:cell-flip .5s cubic-bezier(.45,.02,.25,.98) both;animation-delay:var(--delay);backface-visibility:hidden;will-change:transform}
.key.present,.rule .present{background:var(--yellow);border-color:var(--yellow);color:#17121b}.key.absent{color:#8b93ac}.rule .absent{background:#32394f;color:#d2d6e4}
.game-result{background:#222b3c;border-color:#65718e}.application-result{background:#1f2b35}.phase-strip li{background:#22273b}.phase-strip li:nth-child(2){background:var(--lime)}.help-dialog{background:#1a1d2f}.help-dialog .five-word{color:var(--lime)}
.submit-button{justify-content:space-between;box-shadow:0 5px 0 #577100}.submit-button span{font-size:14px}.submit-button .pixel-icon{width:23px;height:23px}
.submit-button .five-word{color:#101321}.submit-button:disabled{opacity:1;background:#444b68;color:#c8cee1;box-shadow:0 5px 0 #151827}.submit-button:disabled .five-word{color:#c8cee1}.key:disabled{opacity:1}
footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--lime)}
@keyframes cell-pop{0%{transform:scale(.84)}70%{transform:scale(1.055)}100%{transform:scale(1)}}
@keyframes cell-erase{0%{transform:scale(.96);opacity:.65}100%{transform:scale(1);opacity:1}}
@keyframes cell-flip{0%{transform:rotateX(0deg)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0deg)}}
@media(max-width:600px){.brand span{font-size:21px}.brand b{line-height:1}.hero h1{font-size:clamp(36px,10vw,48px)}.hero>p:last-child{font-size:13px}.cell{font-size:calc(var(--cell)*.52)}.key{font-size:12px}.step-body h3,.step-body label{font-size:11px}.step-icon .pixel-icon{width:20px;height:20px}.step-symbol{min-width:24px;height:30px}.step-index{font-size:11px}footer{flex-wrap:wrap}.phase-strip p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cell.pop,.cell.erase,.cell.reveal{animation:none!important}}

/* Low-res charcoal flow: generated once per frame at no more than 8 fps. */
body{background:var(--bg)}
.ambient-field{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;opacity:.86}
.site-shell{background:transparent;border-color:#28282d}.topbar{border-color:#34343a}
.panel{background:#151518;border-color:#3c3c43;box-shadow:0 10px 28px #0008,0 5px 0 #050506}
.step-card{background:#1d1d21;border-color:#3c3c43}.step-card.done{background:#1c211d;border-color:var(--lime)}.step-card.busy{background:#252529;border-color:#777780}.step-card.error{background:#291d23;border-color:var(--red)}
.step-body p,.apply-lead,.hero>p:last-child,.game-footnote,.game-result p,.form-disclaimer,.application-result p,.phase-strip p,.help-dialog p{color:#c5c5ca}
.eyebrow{color:#bdbdc4}.circle-button{background:#1d1d21;border-color:#606067}.step-index{color:#99999f}
.step-body h3 .five-word{font-size:inherit;letter-spacing:inherit;margin-left:0;vertical-align:baseline}
.game-meta{color:#b7b7bd}.panel-kicker{color:#b7b7bd}.kicker-sep{background:#89898f}.network-tag{color:#a7a7ae}
.circle-button{background:#202024;border-color:#62626b}.key{background:#2c2c32;border-color:#54545e;box-shadow:0 3px 0 #070709}.key.absent{background:#1e1e22;border-color:#303037;color:#797982}
.cell{background:#1d1d23;border-color:#4a4a52;box-shadow:0 3px 0 #08080a}.cell.filled{border-color:#b4b4bf}.cell.absent{background:#37373d;border-color:#37373d;color:#dbdbdf}
input,.handle-control{background:#111114;border-color:#585860}.handle-control input{background:transparent}.social-button{background:#29292f;border-color:#686873}.social-button:hover{background:#34343b}
.game-result{background:#202024;border-color:#5d5d64}.application-result{background:#1c251d}.phase-strip li{background:#27272c}.help-dialog{background:#19191d}.rule .absent{background:#37373d}
.submit-button:disabled{background:#36363b;color:#bcbcc3;box-shadow:0 5px 0 #111113}.submit-button:disabled .five-word{color:#bcbcc3}
.key{transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}
.key:focus-visible:not(:disabled){background:#69bfff;border-color:#d5f0ff;color:#101217;outline:2px solid var(--blue);outline-offset:2px;filter:none}
@media(hover:hover) and (pointer:fine){.key:hover:not(:disabled){background:#69bfff;border-color:#d5f0ff;color:#101217;outline:2px solid var(--blue);outline-offset:2px;filter:none;box-shadow:0 3px 0 #070709,0 0 15px #5b6cff55}}

/* Only correct and misplaced glyphs receive the expressive two-layer frame. */
.board .cell:is(.correct,.present){outline-offset:1px;box-shadow:0 4px 0 #070708}
.board .cell.correct{border-color:var(--lime);outline:2px solid #9fc520}
.board .cell.present{border-color:var(--yellow);outline:2px solid #bb7926}
.guessed-meter{min-width:100px;display:grid;gap:4px;padding:7px 11px;border:1px solid #44444c;border-radius:12px;background:#121215;text-align:right;line-height:1}
.guessed-meter>span{font-size:8px;color:#aaaab1;letter-spacing:.1em}.guessed-meter strong{font-size:17px;font-weight:400;color:var(--lime)}.guessed-meter strong span:last-child{color:#8b8b93}
@media(max-width:600px){.guessed-meter{min-width:83px;padding:6px 8px}.guessed-meter>span{font-size:7px}.guessed-meter strong{font-size:14px}.top-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.ambient-field{opacity:.72}}

/* The five brand tiles are exact squares; glyph offsets are calibrated below. */
.brand span{width:42px;height:42px;border-radius:0}
.brand b,.brand span:nth-child(n) b{transform:none}
.brand>span{overflow:hidden}
.brand>span:nth-child(3){background:#1a1a1a;color:#f7f3e8}
.brand b{text-shadow:3px 3px 0 rgba(0,0,0,.2)}
.brand>span:nth-child(3) b{text-shadow:3px 3px 0 rgba(247,243,232,.2)}
.brand>span.is-glitching b{transform:translate(var(--glitch-x,0px),var(--glitch-y,0px)) scaleX(var(--glitch-scale,1))!important;clip-path:inset(var(--glitch-cut,0%) 0 0 0)}
@media(max-width:600px){.brand b{ text-shadow:2px 2px 0 rgba(0,0,0,.2)}.brand>span:nth-child(3) b{text-shadow:2px 2px 0 rgba(247,243,232,.2)}}
.brand b{font-size:38px}
@media(max-width:600px){.brand span{width:33px;height:33px;border-radius:0;font-size:21px}}
@media(max-width:600px){.brand b{font-size:30px}}

/* Plain progress readout; the number, not a badge, carries the emphasis. */
.guessed-meter{min-width:0;display:flex;align-items:baseline;gap:11px;padding:0;border:0;border-radius:0;background:transparent;text-align:left}
.guessed-meter>span{font-size:11px;color:#c1c1c6;letter-spacing:.06em}.guessed-meter strong{display:inline-flex;font-size:17px;letter-spacing:.015em}

.game-footnote strong{font-family:HomeVideo,'Courier New',monospace;font-size:1.16em;font-weight:400;color:var(--lime)}
.game-footnote .note-destination{color:var(--yellow)}.game-footnote span{color:#9f9fa6}

/* The CTA wakes only when all four required steps are ready. */
.submit-frame{position:relative;isolation:isolate;overflow:hidden;width:min(350px,100%);margin:12px auto 0;padding:2px;border-radius:17px;background:#47474d;box-shadow:0 5px 0 #09090b}
.submit-frame .submit-button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:58px;padding:0;border:0;border-radius:14px;box-shadow:none;font:400 26px HomeVideo,'Courier New',monospace;letter-spacing:.02em}
.submit-frame .submit-button span{font-size:inherit}.submit-frame .submit-button:disabled{background:#36363b;color:#a6a6ad;box-shadow:none}.submit-frame .submit-button:hover:not(:disabled),.submit-frame .submit-button:active:not(:disabled){transform:none;box-shadow:none}
.submit-frame.ready{background:#606068;box-shadow:0 5px 0 #09090b,0 0 18px #69bfff16}.submit-frame.ready .submit-button{background:var(--lime);color:#11120e}
@media(max-width:600px){.guessed-meter{gap:7px}.guessed-meter>span{font-size:9px}.guessed-meter strong{font-size:15px}.submit-frame{width:min(300px,100%)}.submit-frame .submit-button{font-size:23px;height:55px}}

/* The Charcoal Signal shows through neutral surfaces; semantic game colors stay solid. */
.ambient-field{opacity:.96}
.panel{background:rgba(18,18,20,.62)}
.step-card{background:rgba(30,30,34,.55)}
.step-card.done{background:rgba(24,32,25,.59)}
.step-card.busy{background:rgba(38,38,42,.61)}
.step-card.error{background:rgba(43,29,35,.63)}
.game-result{background:rgba(33,33,37,.67)}
.application-result{background:rgba(28,38,29,.68)}
.help-dialog{background:rgba(25,25,29,.91)}
.circle-button{background:rgba(31,31,35,.72)}
input,.handle-control{background:rgba(18,18,21,.79)}.handle-control input{background:transparent}
.social-button{background:rgba(43,43,48,.72)}
.phase-strip li:not(:nth-child(2)){background:rgba(42,42,47,.7)}
.submit-frame .submit-button:disabled{background:rgba(56,56,61,.96)}
.cell:not(.correct):not(.present):not(.absent){background:rgba(29,29,34,.73)}
.cell.absent{background:rgba(55,55,61,.77);border-color:rgba(55,55,61,.77)}
.key:not(.correct):not(.present):not(.absent):not(:hover):not(:focus-visible){background:rgba(44,44,50,.76)}
.key.absent:not(:hover):not(:focus-visible){background:rgba(30,30,34,.76)}

.game-meta{font-size:12px;white-space:nowrap;justify-content:center}
.round-number{color:#a0adff}.attempt-used{color:var(--yellow)}.attempt-total{color:var(--lime)}
.status-line{display:inline-flex;align-items:baseline;justify-content:center;gap:8px}
.remaining-number{color:var(--lime);font-size:1.32em}
.game-status[data-remaining="2"] .remaining-number{color:var(--yellow)}
.game-status[data-remaining="1"] .remaining-number{color:var(--red)}

/* Consistent terminal input and compact editorial copy. */
.step-body input{font-family:DepartureMono,'Courier New',monospace;font-size:16px;line-height:1.25;letter-spacing:0}
.step-body input::placeholder{font-family:inherit}
.field-message{min-height:0;margin:8px 0 0!important;color:var(--muted)!important;font:11px/1.5 DepartureMono,'Courier New',monospace!important}
.field-message:empty{display:none}.field-message.error{display:block;color:var(--red)!important}.field-message.success{display:block;color:var(--lime)!important}
.share-dialog{width:min(520px,calc(100% - 24px));max-height:92vh;overflow:auto;background:#161619;color:var(--white);border:1px solid #666670;border-radius:22px;padding:20px}
.share-dialog::backdrop{background:#000b}.share-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.share-dialog h2{font-size:22px}.share-close{border:0;background:none;color:var(--white);font-size:28px;cursor:pointer}
.share-canvas{display:block;width:min(100%,350px);height:auto;margin:auto;border-radius:12px;border:1px solid #44444c}
.share-copy{display:block;width:100%;min-height:96px;margin:16px 0 0;padding:13px;border-radius:10px;border:1px solid #494950;background:#101012;color:var(--white);font:13px/1.5 DepartureMono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible}
.share-note,.share-feedback{font:11px/1.6 DepartureMono,monospace;color:var(--muted);margin:12px 0}.share-feedback{color:var(--lime)}
.share-actions{display:flex;flex-wrap:wrap;gap:8px}.share-actions button{border:1px solid #62626d;border-radius:10px;background:#26262e;color:var(--white);padding:12px;font:11px DepartureMono,monospace;cursor:pointer}.share-actions button:first-child{border-color:var(--lime);color:var(--lime)}.share-actions button:hover{border-color:#69bfff}
.gtd-gold{font:inherit;font-weight:400;background:linear-gradient(165deg,#fff0b1 5%,#dab458 35%,#fff0b1 48%,#b7863e 64%,#dab458 95%);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.hero-apply-wrap{display:flex;width:max-content;align-items:center;gap:22px;position:relative;margin-top:16px}.hero-apply{position:relative;display:inline;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font:inherit;font-style:normal;line-height:inherit;letter-spacing:inherit;color:var(--lime);cursor:pointer;animation:hero-signal 3.2s ease-in-out infinite}
.hero-apply::after{content:'';position:absolute;inset:-5px -8px;border:2px dashed #ccff0170;border-radius:8px;box-shadow:0 0 0 transparent;pointer-events:none;transition:border-color .2s,background-color .2s;animation:hero-frame-signal 3.2s ease-in-out infinite}
.hero-apply:hover::after,.hero-apply:focus-visible::after{border-color:var(--lime);background:#ccff0109}.hero-apply:focus-visible{outline:none}.hero-apply:active{color:#f3ffb5}
.hero-apply-arrow{display:inline-block;color:var(--lime);font:400 .52em/1 HomeVideo,'Courier New',monospace;transform:translateX(8px);animation:hero-arrow 1.35s ease-in-out infinite;pointer-events:none}
@keyframes hero-arrow{0%,100%{transform:translateX(8px)}50%{transform:translateX(0)}}
@keyframes hero-signal{0%,100%{color:var(--lime);text-shadow:0 0 0 transparent;transform:translateY(0)}50%{color:#dcff58;text-shadow:0 0 13px #ccff015c;transform:translateY(-1px)}}
@keyframes hero-frame-signal{0%,100%{border-color:#ccff015f;box-shadow:0 0 0 transparent}50%{border-color:#ccff01d9;box-shadow:0 0 16px #ccff012b,inset 0 0 10px #ccff010d}}
.phase-heading{font-family:HomeVideo,monospace!important;font-size:15px!important}.phase-strip li:first-child{border:1px solid #f3f1ec;box-shadow:inset 0 1px 0 #ffffff22}
.keyboard .key{font-size:18px}.keyboard .key.wide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;padding:0 4px}.key.wide .pixel-icon{width:18px;height:18px}
.result-actions{gap:10px}.result-actions .pill-button{min-height:42px;border-radius:11px;padding:10px 14px;font:13px/1.3 DepartureMono,monospace;border:1px solid #777780;background:rgba(25,25,29,.7);color:var(--white)}
.result-actions .pill-button.lime{border-color:var(--lime);color:var(--lime)}.result-actions .pill-button:hover{background:#28282f;border-color:#a0adff;filter:none}.result-actions .pill-button .pixel-icon{width:17px;height:17px}
@media(max-width:600px){.keyboard .key{font-size:16px}.keyboard .key.wide{flex:1.85;flex-direction:column;gap:2px;font-size:9px;padding:2px}.key.wide .pixel-icon{width:16px;height:16px}.result-actions .pill-button{font-size:12px}.hero-apply::after{inset:-3px -5px}.hero-apply-wrap{gap:15px;margin-top:12px}}
.phase-strip li.metal-phase{border:1px solid var(--metal-edge);background:linear-gradient(135deg,var(--metal-dark),#171719 55%,var(--metal-dark));box-shadow:inset 0 1px 0 #ffffff22,0 3px 8px #0005}
.metal-phase.gold{--metal-edge:#a8883e;--metal-dark:#483416;--metal-light:#fff0b1;--metal-mid:#dab458;--metal-deep:#9b6829}
.metal-phase.silver{--metal-edge:#818b99;--metal-dark:#323842;--metal-light:#f5fbff;--metal-mid:#b4c1d2;--metal-deep:#7b899d}
.metal-phase.bronze{--metal-edge:#9a6243;--metal-dark:#40271e;--metal-light:#f7cda8;--metal-mid:#ca936b;--metal-deep:#985735}
.metal-phase span{display:block;font-size:14px;background:linear-gradient(165deg,var(--metal-light) 5%,var(--metal-mid) 35%,var(--metal-light) 48%,var(--metal-deep) 64%,var(--metal-mid) 95%);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:400}
.step-card{position:relative;overflow:hidden;isolation:isolate}
.step-card.step-filled::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ccff012a,#ccff0105);transform-origin:left;animation:step-charge .8s ease-out both;pointer-events:none}
.game-panel.victory{animation:victory-glow 1.5s ease-out}
.board .cell.win-wave{animation:win-wave .7s cubic-bezier(.2,.8,.3,1) both;animation-delay:var(--win-delay)}
.victory-burst{position:absolute;width:0;height:0;pointer-events:none;z-index:4}
.victory-burst i{position:absolute;width:5px;height:5px;animation:pixel-burst 1.25s cubic-bezier(.15,.7,.25,1) both;animation-delay:var(--particle-delay);box-shadow:0 0 8px #ffffff20}
.game-result.result-filled{animation:result-charge .65s ease-out both}
@keyframes step-charge{from{transform:scaleX(0);opacity:0}30%{opacity:1}to{transform:scaleX(1);opacity:0}}
@keyframes victory-glow{0%,100%{box-shadow:0 10px 28px #0008,0 5px 0 #050506}25%{box-shadow:0 0 28px #ccff0144,inset 0 0 35px #ccff0115;border-color:#ccff01}}
@keyframes win-wave{0%,100%{transform:translateY(0) scale(1)}38%{transform:translateY(-15px) scale(1.07)}65%{transform:translateY(2px) scale(.98)}}
@keyframes pixel-burst{0%{opacity:0;transform:translate(0,0) scale(.4)}12%{opacity:1}80%{opacity:.7}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(90deg) scale(.4)}}
@keyframes result-charge{from{opacity:0;transform:translateY(12px);clip-path:inset(0 100% 0 0 round 18px)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0 round 18px)}}
@media(prefers-reduced-motion:reduce){.victory-burst{display:none}.step-card.step-filled::before,.game-panel.victory,.board .cell.win-wave,.game-result.result-filled,.hero-apply,.hero-apply-arrow{animation:none!important}.hero-apply-arrow{transform:none}}

/* Service-key affordances: the icon carries the action cue while the key stays in the same palette. */
.keyboard .key[data-key="enter"] .pixel-icon{color:#b6f28a;filter:drop-shadow(0 0 5px #b6f28a55)}
.keyboard .key[data-key="backspace"] .pixel-icon{color:#ff8792;filter:drop-shadow(0 0 5px #ff879255)}
.keyboard .key[data-key="enter"]:hover:not(:disabled) .pixel-icon,.keyboard .key[data-key="enter"]:focus-visible .pixel-icon{color:#d9ffbd}
.keyboard .key[data-key="backspace"]:hover:not(:disabled) .pixel-icon,.keyboard .key[data-key="backspace"]:focus-visible .pixel-icon{color:#ffb0b8}
.step-body .social-button{width:100%;min-height:41px;padding:10px 12px;justify-content:space-between;border:1px solid rgba(88,88,96,.7);border-radius:11px;background:rgba(18,18,21,.6);color:#bdbdc5;font:400 11px/1.4 DepartureMono,'Courier New',monospace;box-shadow:none;transition:background-color .16s,border-color .16s,color .16s}
.step-body .social-button .pixel-icon{width:14px;height:14px;color:#92929e}
.step-body .social-button:hover:not(:disabled),.step-body .social-button:focus-visible{background:rgba(30,30,35,.72);border-color:#a0adff;color:var(--white)}
.step-body .social-button:hover:not(:disabled) .pixel-icon,.step-body .social-button:focus-visible .pixel-icon{color:#a0adff}
.step-body .social-button:focus-visible{outline:2px solid #5b6cff;outline-offset:2px}
.step-body .required-mark{color:var(--yellow);font:inherit;font-size:15px;vertical-align:super;margin-left:4px;line-height:0}
.card-required-mark{position:absolute;z-index:5;left:8px;top:6px;margin:0;color:var(--yellow);font:400 23px/1 HomeVideo,'Courier New',monospace;text-shadow:0 0 8px #f2b84b55;pointer-events:none}
@media(max-width:600px){.card-required-mark{left:7px;top:5px;font-size:21px}}
.required-note{margin:17px 4px 0;color:var(--muted);font-size:11px;line-height:1.6}
.required-note>span{color:var(--yellow);font-size:16px;margin-right:5px}
.copy-word{font:inherit;font-weight:400;text-transform:uppercase;color:var(--white);letter-spacing:.025em}
.hero .copy-word,.apply-lead .copy-word{color:var(--lime)}
.phase-strip{gap:28px;padding:27px 0;display:grid;grid-template-columns:auto 1fr auto}
.phase-heading{display:grid;gap:6px;font-size:11px;color:var(--muted)}.phase-heading strong{font-size:15px;color:var(--white);font-weight:400}
.phase-strip ol{justify-content:center;gap:12px}.phase-strip li{position:relative;font-size:12px;padding:12px 18px}
.phase-strip li:not(:last-child)::after{content:'›';position:absolute;left:calc(100% + 1px);top:50%;width:12px;height:16px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);font:14px/1 DepartureMono,monospace;color:#7b7b83;pointer-events:none}
.phase-strip p{max-width:245px;font-size:12px;line-height:1.8;text-align:right}
footer{align-items:center;gap:24px;padding-top:25px;padding-bottom:25px}
.footer-brand{font-family:HomeVideo,monospace;font-size:16px;color:var(--white)}.footer-brand span{font:11px DepartureMono,monospace;color:var(--muted)}
footer p{margin:0;font:12px/1.6 DepartureMono,monospace;color:var(--muted)}footer p .copy-word{color:var(--lime)}
.footer-legal{display:grid;gap:5px;text-align:right}.footer-legal strong{font-weight:400;color:var(--white);font-size:12px}.footer-legal span{font-size:10px;color:var(--muted)}
@media(max-width:700px){.phase-strip{grid-template-columns:1fr;gap:18px}.phase-heading{display:flex;align-items:baseline;gap:9px}.phase-strip ol{justify-content:flex-start;flex-wrap:wrap}.phase-strip li{padding:10px 14px;font-size:11px}.phase-strip p{text-align:left;max-width:none}footer{display:grid;grid-template-columns:1fr auto;gap:16px}footer p{grid-column:1/-1;grid-row:2}.footer-legal{grid-column:2;grid-row:1}}

/* The finished-round dock replaces the now-useless keyboard, keeping the result above the fold. */
.game-result{min-height:154px;margin:22px auto 0;padding:20px 22px;border-color:#62626b;background:rgba(25,25,29,.78);align-items:stretch}
.result-summary{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center}
.result-kicker{display:block;margin-bottom:8px;color:var(--lime);font:400 10px/1.2 DepartureMono,'Courier New',monospace;letter-spacing:.08em}
.game-result strong{display:block;color:var(--white);font-size:clamp(34px,5vw,48px);line-height:.98;letter-spacing:.02em;text-shadow:3px 3px 0 #08080a,5px 5px 0 #000;filter:drop-shadow(0 2px 0 #ffffff18)}
.game-result p{margin:11px 0 0;font-size:11px;line-height:1.45;color:#bdbdc5}
.game-result .result-actions{flex:0 0 138px;flex-direction:column;justify-content:center;align-items:stretch}
.game-result .result-actions .pill-button{width:100%;min-height:46px}
.game-result .result-actions .pill-button.lime{background:var(--lime);border-color:var(--lime);color:#111}
.game-result .result-actions .pill-button.lime:hover{background:#dcff59;border-color:#f1ffb3}
@media(max-width:600px){.game-result{min-height:145px;padding:17px;gap:13px}.game-result strong{font-size:36px;text-shadow:2px 2px 0 #08080a,4px 4px 0 #000}.game-result .result-actions{flex-basis:126px}.game-result .result-actions .pill-button{min-height:43px}}

/* A bounded stage keeps the animated field visible instead of stretching UI across ultrawide screens. */
.site-shell{width:min(1240px,calc(100% - 48px));max-width:none}
.columns{grid-template-columns:repeat(2,minmax(0,560px));justify-content:center}
@media(max-width:1050px){.columns{width:min(720px,100%);margin-inline:auto;grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.site-shell{width:100%}.columns{width:100%}}

/* Prevent a transformed pixel layer or long word from creating a sideways page scroll on phones. */
html,body{overflow-x:hidden}
main,.hero,.columns,.panel{min-width:0}

/* Keep the brand and progress readout visually separate in the compact header. */
.topbar{gap:24px}.brand{flex:0 0 auto}.top-actions{flex:0 0 auto;margin-left:auto}
@media(max-width:760px){.topbar{gap:16px;padding-inline:14px}.brand{gap:3px}.brand span{width:34px;height:34px}.brand b{font-size:30px}.guessed-meter{gap:6px}.guessed-meter>span{font-size:8px}.guessed-meter strong{font-size:14px}}

.application-result{padding:20px;text-align:center}
.application-result strong{margin:0;color:var(--lime);font-size:clamp(18px,2.2vw,25px);line-height:1.25}
