:root{color:#143f35;font-synthesis:none;--green:#103e35;--yellow:#f4dc50;--paper:#f6f0de;background:#f6f0de;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;margin:0}button,a,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #398c98}button{border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit}.topbar{border-bottom:1px solid #d5d8c4;justify-content:space-between;align-items:center;max-width:1280px;height:86px;margin:auto;padding:0 40px;display:flex}.brand{letter-spacing:1.5px;align-items:center;gap:12px;font-size:15px;font-weight:900;display:flex}.brand-icon{background:var(--green);width:40px;height:40px;color:var(--yellow);border-radius:50%;place-items:center;font-size:30px;display:grid}.brand small{letter-spacing:2.8px;margin-top:5px;font-size:9px;font-weight:600;display:block}.toolbar{gap:8px;display:flex}.iconbtn{background:0 0;border:1px solid #c3cdb7;border-radius:50%;place-items:center;min-width:48px;height:48px;font-size:19px;display:grid}.iconbtn[aria-pressed=true]{background:#e0e3cc}.home{max-width:1200px;margin:auto;padding:34px 32px 0}.eyebrow{letter-spacing:3px;color:#457464;align-items:center;gap:14px;font-family:monospace;font-size:12px;font-weight:700;display:flex}.eyebrow:before{content:"";background:#b0b755;width:24px;height:3px;display:block}.hero{grid-template-columns:1fr 1.04fr;align-items:center;gap:46px;margin-top:20px;display:grid}.intro h1{letter-spacing:-5px;margin:13px 0 22px;font-size:clamp(48px,6.8vw,88px);font-weight:900;line-height:.95}.intro h1 .light{letter-spacing:-1.5px;font-size:.51em;font-style:italic;font-weight:500;line-height:1.4;display:block}.intro h1 .outline{color:#247b54;display:block}.intro p{color:#546c5a;max-width:380px;margin-bottom:25px;font-size:16px;line-height:1.65}.facts{gap:26px;margin:26px 0 27px;display:flex}.fact strong{letter-spacing:-1px;font-size:24px;display:block}.fact span{letter-spacing:1.1px;color:#607763;margin-top:6px;font-family:monospace;font-size:10px;display:block}.fact+.fact{border-left:1px solid #c9d0b9;padding-left:25px}.art-card{background:#103e35;border:6px solid #103e35;border-radius:14px;position:relative;overflow:hidden;transform:rotate(1deg);box-shadow:10px 10px #d9dfc6}.art-top{color:#e9edc9;letter-spacing:2px;justify-content:space-between;align-items:center;padding:12px 14px;font-family:monospace;font-size:10px;display:flex}.live-dot{color:var(--yellow)}.art-card canvas{width:100%;image-rendering:pixelated;aspect-ratio:1.5;display:block}.art-bottom{color:var(--yellow);letter-spacing:1px;background:#103e35;justify-content:space-between;padding:13px 15px;font-family:monospace;font-size:12px;display:flex}.flag{background:linear-gradient(31deg,#0000 43%,#f5d342 44% 55%,#0000 56%),linear-gradient(-31deg,#0000 43%,#f5d342 44% 55%,#0000 56%),conic-gradient(from 60deg,#1c7350 0deg 60deg,#112f29 60deg 180deg,#1c7350 180deg 240deg,#112f29 240deg);border:1px solid #d3b833;width:38px;height:22px;display:inline-block}.mode-label{letter-spacing:1.7px;margin:0 0 9px;font-family:monospace;font-size:11px}.mode-choices{gap:9px;margin-bottom:12px;display:flex}.modebtn{text-align:left;background:0 0;border:1px solid #b7c4ab;border-radius:8px;flex:1;justify-content:space-between;align-items:center;min-height:64px;padding:12px 14px;display:flex}.modebtn b{font-size:14px}.modebtn small{color:#627664;margin-top:5px;font-family:monospace;font-size:10px;display:block}.modebtn.selected{background:#e4e8cd;border:2px solid #103e35;padding:11px 13px}.modebtn .dot{border:1px solid #91a58a;border-radius:50%;width:15px;height:15px;display:block}.modebtn.selected .dot{background:#103e35;box-shadow:inset 0 0 0 3px #e4e8cd}.playbtn{background:var(--yellow);border:2px solid var(--green);width:100%;box-shadow:0 4px 0 var(--green);border-radius:8px;justify-content:space-between;align-items:center;min-height:64px;padding:0 20px;font-size:18px;font-weight:800;display:flex}.playbtn:hover{background:#fce86a;transform:translateY(-1px)}.underplay{text-align:center;color:#6e8067;margin-top:13px;font-family:monospace;font-size:10px}.strip{border-top:1px solid #cdd3bd;justify-content:space-between;align-items:center;gap:20px;margin-top:39px;padding:21px 0 24px;display:flex}.howto{color:#5e755f;align-items:center;gap:15px;font-size:12px;display:flex}.steps-icon{color:#287659;letter-spacing:5px;font-size:23px}.textbtn{color:var(--green);background:0 0;border-bottom:1px solid #5f775e;padding:7px 0;font-size:12px;font-weight:700}.footer{letter-spacing:.8px;color:#7b8971;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 32px 16px;font-family:monospace;font-size:9px;display:flex}.game-screen{touch-action:none;-webkit-user-select:none;user-select:none;background:#092f2b;justify-content:center;align-items:center;width:100%;height:calc(100dvh - 72px);display:none;overflow:hidden}.playing .topbar{background:var(--green);color:#f6efd5;max-width:none;height:72px;padding:0 max(22px,env(safe-area-inset-left));border-bottom:1px solid #3a5f49}.playing .iconbtn{color:#f6efd5;border-color:#608269}.playing .brand-icon{background:var(--yellow);color:var(--green)}.playing .game-screen{display:flex}.playing .home,.playing .footer,.playing .brand small{display:none}#game{width:100%;height:100%;display:block}#game canvas{image-rendering:pixelated;touch-action:none;display:block}#exit{border-radius:24px;min-width:76px;font-size:13px;font-weight:700;display:none}.playing #exit{display:grid}.overlay{z-index:5;background:#082e27c9;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.dialog{background:var(--paper);color:#103e35;border:2px solid #103e35;border-radius:18px;width:100%;max-width:680px;padding:28px;position:relative;box-shadow:0 8px #082e27}.dialog h2{letter-spacing:-1.7px;margin:7px 0 15px;font-size:36px}.dialog p{color:#5a705c;font-size:14px;line-height:1.6}.dialog .close{font-size:20px;position:absolute;top:14px;right:18px}.dialog .playbtn{min-height:55px;margin-top:18px;font-size:16px}.dialog .subtitle{letter-spacing:1.5px;color:#608163;font-family:monospace;font-size:10px}.board-tabs{gap:8px;margin:20px 0;display:flex}.board-tabs button{background:#e2e5ce;border-radius:7px;min-height:48px;padding:14px 30px}.board-tabs button.active{color:#f9efd0;background:#103e35}.score-table{border-collapse:collapse;width:100%;font-size:15px}.score-table th{color:#718268;text-align:left;letter-spacing:1px;border-bottom:1px solid #b8c3a9;padding:12px 8px;font-family:monospace;font-size:10px}.score-table td{border-bottom:1px solid #dfe2ce;padding:11px 8px}.score-table td:last-child,.score-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.score-table td:first-child{color:#7f906e;width:42px;font-family:monospace;font-size:11px}.result-cards{gap:10px;margin:22px 0;display:flex}.result-card{text-align:center;background:#e4e8d2;border:1px solid #bacaac;border-radius:9px;flex:1;padding:14px 8px}.result-card.best{background:#dbe9c6;border:2px solid #317952;padding:13px 7px}.result-card span{color:#60735b;font-family:monospace;font-size:10px;display:block}.result-card strong{margin:11px 0;font-size:27px;display:block}.name-display{letter-spacing:2px;text-align:center;background:#e8e9d4;border:2px solid #b7c5a9;border-radius:7px;min-height:58px;padding:12px;font-size:26px}.keyboard{grid-template-columns:repeat(9,1fr);gap:6px;margin-top:12px;display:grid}.keyboard button{color:#f6efd5;background:#103e35;border-radius:5px;min-height:48px;font-size:20px;font-weight:700}.keyboard .backspace{grid-column:span 2}.name-error{min-height:20px;color:#8b4936!important;margin:9px 0!important;font-size:12px!important}.dialog-actions{align-items:center;gap:15px;display:flex}.dialog-actions .playbtn{margin:0}.loading{color:#f5dc58;text-align:center;font-family:monospace;font-size:24px}.loading small{color:#b9ccb0;margin-top:16px;font-size:13px;display:block}.operator{color:#76846b;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:11px;display:flex}.operator button{color:#6d7961;background:0 0;font-size:11px;text-decoration:underline}.operator-status{color:#92713c;font-size:9px}#rotate{display:none}.rotate-icon{font-size:80px}body.interrupted .game-screen{visibility:hidden}@media (orientation:portrait){#rotate{z-index:20;color:#f6f0de;text-align:center;background:#103e35;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}#rotate p{font-size:16px;line-height:1.6}}@media (width<=1000px){.topbar{height:70px;padding:0 25px}.home{padding-top:24px}.hero{gap:26px}.intro h1{font-size:66px}.intro p{margin-bottom:15px;font-size:14px}.facts{gap:15px;margin:18px 0}.fact strong{font-size:22px}.fact+.fact{padding-left:15px}.strip{margin-top:27px}.art-top{font-size:8px}.modebtn{padding:10px}.modebtn.selected{padding:9px}.dialog{padding:22px}.dialog h2{font-size:30px}.keyboard button{min-height:48px}.keyboard{gap:5px}}@media (height<=720px) and (orientation:landscape){.home{padding-top:20px}.hero{margin-top:12px}.intro h1{margin:8px 0 14px;font-size:58px}.intro p{margin:0 0 15px;font-size:13px;line-height:1.5}.facts{margin:14px 0 18px}.fact strong{font-size:21px}.eyebrow{font-size:10px}.art-card{max-width:510px}.strip{margin-top:23px;padding:16px 0}.modebtn{min-height:58px}.dialog{max-height:calc(100dvh - 24px);padding:20px;overflow:auto}.dialog h2{margin:5px 0 10px;font-size:28px}.keyboard button{min-height:48px}.name-display{min-height:48px;padding:8px}.name-error{margin:5px 0!important}.dialog p{margin:8px 0}.brand small{font-size:8px}.topbar{height:68px}}.celebration{color:#28774e;justify-content:center;gap:22px;margin:6px 0;font-size:30px;display:flex}.celebration span{animation:.7s ease-in-out infinite alternate cheer}.celebration span:nth-child(2){color:#b7a52b;animation-delay:.2s}.celebration span:nth-child(3){animation-delay:.4s}@keyframes cheer{0%{transform:translateY(0)rotate(-12deg)}to{transform:translateY(-7px)rotate(12deg)}}@media (prefers-reduced-motion:reduce){.celebration span{animation:none}}.benchmark{background:#e4e9c9;font-weight:700}.benchmark td{border-bottom:2px solid #b0bf92}.victory-overlay{isolation:isolate;background:#082e27ed}.victory-overlay .dialog{text-align:center;border:4px solid #e5cc44;box-shadow:0 0 65px #e8d35155,0 8px #082e27}.victory-overlay h2{color:#1e754e;letter-spacing:-2px;font-size:clamp(35px,6vw,62px);line-height:1}.victory-overlay .celebration{font-size:48px}.confetti{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{left:var(--x);background:var(--color);width:11px;height:18px;animation:3s linear infinite confetti-fall;animation-delay:var(--delay);position:absolute;top:-30px}@keyframes confetti-fall{to{transform:translateY(105vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.confetti i{top:calc(var(--x)*.7);animation:none}.victory-overlay .dialog{box-shadow:0 0 20px #e8d35155}}.keyboard-hint{color:#41745c;text-align:center;margin-top:10px;font-family:monospace;font-size:12px;line-height:1.5}.dialog .keyboard-hint{text-align:left;margin:12px 0;font-size:14px}.photo-finish-overlay{background:#082e27ed}.photo-finish-overlay .dialog{text-align:center;border:4px solid #72c9d5;box-shadow:0 0 45px #7dd4df55}.photo-finish-overlay h2{color:#196976;font-size:clamp(30px,5vw,48px);line-height:1.1}.photo-finish-lanes{border-right:8px double #196976;gap:5px;max-width:300px;margin:12px auto;display:grid;overflow:hidden}.photo-finish-lanes span{text-align:left;color:#103e35;background:#c9e7df;padding:8px 18px;font:700 17px monospace;animation:1.6s ease-in-out infinite alternate photo-lanes;display:block}@keyframes photo-lanes{0%{transform:translate(-14px)}to{transform:translate(14px)}}@media (prefers-reduced-motion:reduce){.photo-finish-lanes span{animation:none}}
