:root{--bg: #0c0b0a;--bg-2: #16130f;--ink: #f6f1e7;--muted: #a39888;--dim: #6e655b;--gold: #d4b483;--gold-2: #f0e2c4;--line: rgba(212, 180, 131, .2);--good: #8fd0a8;--hot: #e08b74;--cool: #8eb7d4;--danger: #e07a6a;color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg)}body{overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#ffffff08;color:var(--ink);border-radius:14px;min-height:44px;padding:.65rem .9rem}@media(hover:hover){button:hover{border-color:#d4b4838c;background:#d4b48314}}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}.row button{white-space:nowrap;padding-inline:.4rem;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app{height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.stage{position:relative;grid-row:1;min-height:0;background:radial-gradient(ellipse at 50% 40%,#2a241c,#0c0b0a 68%);touch-action:none}.stage canvas{display:block}.stage-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.stage-canvas>div{width:100%;height:100%}.panel{grid-row:2;min-height:0;overflow:auto;padding:1rem 1rem 1.25rem;background:#0c0b0aeb;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.85rem}.brand{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.brand h1{margin:0;font-family:Palatino,Palatino Linotype,Georgia,serif;font-weight:500;font-style:italic;font-size:2rem;letter-spacing:-.04em;color:var(--gold-2)}.brand p{margin:.15rem 0 0;color:var(--dim);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:var(--gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.stats,.row,.pair{display:grid;gap:.6rem}.stats,.row{grid-template-columns:1fr 1fr 1fr}.pair{grid-template-columns:1fr 1fr}.card,.rec,.note,.choice{border:1px solid var(--line);border-radius:16px;background:#ffffff08}.card{padding:.7rem .75rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.card span,.label{color:var(--dim);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.card strong{font-size:.95rem;font-weight:650}.white{color:var(--ink)}.black{color:var(--gold)}.low{color:var(--good)}.moderate{color:#e4c56a}.high{color:var(--danger)}.move-form{display:flex;gap:.5rem}.move-form input{flex:1;min-width:0;min-height:44px;border-radius:14px;border:1px solid var(--line);background:#100e0c;padding:0 .85rem}.hint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.alert{margin:0;color:var(--danger);font-size:.85rem}.coach{display:flex;flex-direction:column;gap:.55rem}.coach header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.coach header p{margin:0;color:var(--muted);font-size:.8rem}.rec{padding:.9rem 1rem}.rec.best{border-color:#8fd0a873;background:#8fd0a80f}.san{font-family:Palatino,Georgia,serif;font-size:1.65rem;letter-spacing:-.03em;margin:.15rem 0}.squares{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.rec p,.note p{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}.choice{text-align:left;padding:.75rem;display:flex;flex-direction:column;gap:.25rem;min-height:0}.choice strong{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.choice.hot strong{color:var(--hot)}.choice.cool strong{color:var(--cool)}.choice p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.choice.on{border-color:var(--gold)}.note{padding:.85rem 1rem}.note span{display:block;margin-bottom:.2rem}.moves{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.2rem;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.moves li{display:flex;gap:.45rem}.moves i{color:var(--dim);font-style:normal;width:1.4rem}.hud{position:absolute;top:.75rem;right:.75rem;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;pointer-events:none}.pill{background:#0c0b0ab8;border:1px solid var(--line);border-radius:999px;padding:.4rem .75rem;font-size:.78rem;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.banner,.promo,.board-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(24rem,calc(100% - 1.5rem));padding:1.1rem 1.15rem;border-radius:18px;background:#0c0b0ae6;border:1px solid var(--line);text-align:center}.banner p,.promo p,.board-error p{margin:0 0 .8rem}.promo-row,.banner{display:flex;flex-direction:column;align-items:center}.promo-row{flex-direction:row;justify-content:center;gap:.4rem}.path-note{position:absolute;left:.75rem;bottom:.75rem;margin:0;max-width:min(22rem,calc(100% - 1.5rem));padding:.55rem .7rem;border-radius:12px;background:#0c0b0ac7;border:1px solid var(--line);font-size:.78rem;color:var(--gold-2);pointer-events:none}@media(min-width:860px){.app{grid-template-columns:380px 1fr;grid-template-rows:1fr}.panel{grid-column:1;grid-row:1;border-top:0;border-right:1px solid var(--line);max-height:100dvh;padding:1.25rem 1.2rem 1.5rem}.stage{grid-column:2;grid-row:1}.row button{font-size:.95rem}}@media(max-width:859px){.stats .card:not(.threat){display:none}.stats{grid-template-columns:1fr}.stats .card{flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem .75rem}.panel{gap:.65rem}.hint{display:none}}@media(max-width:420px){.brand h1{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
