@font-face{font-family:Golos;src:url('golos.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box} :root{--paper:#f4f1e8;--ink:#272b26;--muted:#5b6155;--line:#d5d7cb;--gray:#b8bdb3;--yellow:#eac34c;--green:#7aa878;--red:#cf7464}body{margin:0;background:var(--paper);color:var(--ink);font-family:Golos,Arial,sans-serif;font-size:15px;line-height:1.5}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:inherit;text-underline-offset:4px}::selection{background:#d5e4bf;color:#20251d}:focus-visible{outline:3px solid #47734b;outline-offset:5px}input,textarea{caret-color:#47734b}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}header,footer,main{max-width:1240px;margin:auto}header{height:112px;padding:0 44px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:8px;font-size:44px;font-weight:750;letter-spacing:-.04em;text-decoration:none}.logo-wheel{width:16px;height:16px;border:3px solid var(--ink);border-radius:50%;display:block}.logo-wheel:after{content:'';display:block;height:2px;background:var(--ink);margin-top:4px}nav{display:flex;align-items:center;gap:24px}.quiet{border:0;padding:8px 0;background:transparent}.quiet:hover{text-decoration:underline;text-underline-offset:5px}.outline{background:transparent;border:1px solid var(--ink);border-radius:8px;padding:10px 23px}.outline:hover{background:#e5e7db}main{padding:16px 44px 100px}.intro{text-align:center;margin:18px 0 34px}h1{font-size:clamp(34px,4.5vw,60px);letter-spacing:-.035em;line-height:1.1;font-weight:600;margin:0 0 15px;text-wrap:balance}.intro p{color:var(--muted);font-size:17px;margin:0}.playground{position:relative;border:1px solid var(--line);border-radius:16px;padding:24px 28px 20px;background:#faf8f1}.stage-top,.stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.stage-top{font-size:13px}.stage-top i{display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--gray);border-radius:50%}.keyboard-hint{color:var(--muted)}.play-area{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;max-width:970px;margin:0 auto}#spin{display:block;padding:0;background:none;border:0;width:100%;touch-action:manipulation;border-radius:12px;user-select:none}#spin:focus-visible{outline-offset:-4px}canvas{display:block;width:100%;height:auto;aspect-ratio:900/540}#spin:disabled{opacity:1}#percent{font-size:31px;line-height:1;font-weight:550;font-variant-numeric:tabular-nums}#percent span{font-size:14px;margin-left:2px}.meter-area{display:flex;align-items:center;flex-direction:column;gap:15px}.meter{width:18px;height:205px;background:#e6e8df;border-radius:9px;position:relative;overflow:hidden}#fill{background:var(--yellow);position:absolute;inset:auto 0 0;height:0;transition:height .12s linear,background .2s}.meter-target{position:absolute;top:8px;left:0;width:100%;height:2px;background:#4b7046}.meter-caption{font-size:12px;color:var(--muted)}.stage-bottom{padding-top:8px;border-top:1px solid var(--line);font-size:12px}.stage-bottom #cadence{font-size:22px;font-variant-numeric:tabular-nums;white-space:nowrap}.stage-bottom small{font-size:12px;color:var(--muted)}#instruction{font-size:13px;text-align:center}#remaining{color:var(--muted);text-align:right}.game-actions{margin:22px 0 27px;display:flex;align-items:center;justify-content:space-between}.reset{display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);border:0;padding:13px 24px;border-radius:8px}.reset:hover,.primary:hover{background:#424b3c}.game-actions>span{font-size:13px;color:var(--muted)}details{font-size:13px;color:var(--muted);max-width:650px;margin:12px 0}summary{cursor:pointer;width:fit-content;color:var(--ink);padding:3px 0}details p{line-height:1.8}footer{padding:26px 44px 94px;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}footer .quiet{color:var(--ink)}.file-label{display:inline-block;cursor:pointer}#head-files{position:absolute;width:1px;height:1px;opacity:0}.file-label:focus-within{outline:3px solid #47734b;outline-offset:4px}.heads .quiet{margin-left:12px}.chat-launch{position:fixed;bottom:24px;right:28px;border:0;background:var(--ink);color:var(--paper);display:flex;gap:12px;align-items:center;padding:17px 22px;border-radius:12px;z-index:4;box-shadow:0 8px 30px #272b2620;font-size:14px}.chat-launch:hover{background:#424b3c}.live-dot{width:7px;height:7px;border-radius:50%;background:#b5d29c}.chat-panel{position:fixed;bottom:24px;right:28px;width:390px;height:min(570px,calc(100dvh - 40px));background:#faf8f1;border:1px solid var(--line);border-radius:16px;z-index:5;display:flex;flex-direction:column;box-shadow:0 15px 60px #272b2626;overflow:hidden}[hidden]{display:none!important}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.chat-panel .panel-head{padding:20px;border-bottom:1px solid var(--line)}h2{margin:0;font-size:24px;font-weight:550;letter-spacing:-.025em}.panel-head p{font-size:12px;margin:3px 0 0;color:var(--muted)}.icon-close{border:0;background:transparent;font-size:29px;line-height:1;width:34px;height:34px;flex-shrink:0}.icon-close:hover{background:#e6e8df;border-radius:8px}.chat-log{overflow:auto;flex:1;padding:18px;display:flex;flex-direction:column;gap:12px;scrollbar-color:#a5b19a transparent;scrollbar-width:thin}.bubble{margin:0;max-width:92%;font-size:14px;padding:12px 15px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}.assistant{background:#e8eddf;align-self:flex-start}.user{background:var(--ink);color:var(--paper);align-self:flex-end}.chat-panel form{display:flex;gap:8px;padding:14px 16px 7px}.chat-panel textarea{border:1px solid #b6bcb0;background:transparent;flex:1;min-width:0;resize:none;border-radius:8px;padding:10px;font-size:14px}.chat-panel form button{background:var(--ink);border:0;color:var(--paper);border-radius:8px;width:46px}.chat-note{font-size:12px;color:var(--muted);margin:4px 16px 13px}.error{color:#a63c2f;font-size:13px;min-height:0}.fine{font-size:12px;color:var(--muted)}dialog{background:#faf8f1;color:var(--ink);padding:28px;border:1px solid var(--line);border-radius:16px;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-shadow:0 18px 70px #272b2630}dialog::backdrop{background:#272b2670}dialog>p{color:var(--muted);font-size:14px}dialog form{display:flex;flex-direction:column;gap:10px;margin-top:22px}dialog label{font-size:13px}dialog input{padding:11px 12px;border:1px solid #aeb6a7;background:transparent;border-radius:8px;margin-bottom:6px;width:100%}.primary{border:0;border-radius:8px;background:var(--ink);color:var(--paper);padding:13px 15px;margin-top:8px}.social{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.social>span{color:var(--muted)}.social>div{display:flex;justify-content:space-between;margin-top:12px}.social a{padding:8px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.social a:hover{background:#e8eddf}.amounts{display:flex;gap:10px}.amounts button{flex:1;background:none;border:1px solid var(--line);padding:10px;border-radius:8px}.amounts button.selected{background:#e8eddf;border-color:#5b7950}#toast{position:fixed;left:50%;transform:translateX(-50%);top:20px;max-width:calc(100vw - 32px);background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:10px;z-index:10;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}input::placeholder,textarea::placeholder{color:var(--muted)}@media(max-width:700px){header{height:86px;padding:0 22px}.logo{font-size:36px}nav{gap:16px}nav .quiet{font-size:12px}.outline{padding:8px 15px}main{padding:14px 18px 60px}.intro{margin:18px 0 26px}.intro p{font-size:13px}h1{font-size:36px}.playground{padding:17px 14px}.stage-top{font-size:12px}.keyboard-hint{font-size:12px}.play-area{grid-template-columns:minmax(0,1fr) 48px;margin:20px -7px}.meter{height:130px;width:14px}.meter-area{gap:12px}#percent{font-size:24px}.meter-caption{font-size:12px;text-align:center;max-width:45px}.stage-bottom{flex-wrap:wrap;gap:4px}.stage-bottom #cadence{font-size:18px}.stage-bottom #instruction{order:3;width:100%;text-align:left;margin-bottom:0;font-size:12px}#remaining{font-size:12px}.game-actions>span{font-size:12px;max-width:140px;text-align:right}.reset{padding:11px 18px}.chat-launch{right:16px;bottom:16px;padding:14px 17px;font-size:13px}.chat-panel{right:12px;bottom:12px;width:calc(100vw - 24px);height:min(570px,calc(100dvh - 24px))}footer{padding:22px 20px 100px;font-size:12px;flex-wrap:wrap;gap:10px}footer .quiet{display:none}.logo-wheel{height:13px;width:13px;border-width:2px}.logo-wheel:after{margin-top:3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
