:root{--ink:#fff8ec;--ink-dim:#fff8ecb3;--glass:#12100e8c;--glass-hi:#12100ebf;--line:#fff8ec29;--accent:#ffb21e;--accent-ink:#1d1404;--live:#e2382c;--robbo:#ffb21e;--kel:#7fd3c4}*{box-sizing:border-box}html,body{background:#8fb4d6;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;font-family:Inter,system-ui,sans-serif}canvas#view{width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}#loading{z-index:50;text-align:center;background:radial-gradient(at 50% 120%,#c98a3a 0%,#6b4a2a 35%,#1c1712 80%);place-content:center;gap:18px;display:grid;position:fixed;inset:0}#loading h1{letter-spacing:2px;margin:0;font:400 clamp(56px,10vw,120px)/.9 Anton,sans-serif}#loading p{color:var(--ink-dim);margin:0}#loading .bar{background:var(--line);border-radius:3px;width:min(360px,80vw);height:6px;margin:0 auto;overflow:hidden}#loading-bar{background:var(--accent);width:0;height:100%;transition:width .2s}#start{background:var(--accent);color:var(--accent-ink);letter-spacing:.5px;border:0;border-radius:999px;margin:8px auto 0;padding:14px 34px;font-size:18px;font-weight:800}#title{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;display:flex;position:fixed;top:16px;left:16px}#title .tag{background:var(--live);color:#fff;letter-spacing:1px;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:800}#title .name{letter-spacing:1px;font:400 22px/1 Anton,sans-serif}#title .height{color:var(--ink-dim);font-size:13px}#panel{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:thin;border-radius:14px;gap:12px;width:300px;max-height:calc(100vh - 96px);padding:12px;transition:opacity .3s,transform .3s;display:grid;position:fixed;top:72px;left:16px;overflow-y:auto}body.busy #panel{opacity:.35;pointer-events:none;transform:translate(-8px)}#panel h2{letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-dim);margin:0 0 6px;font-size:11px;font-weight:600}.cards{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid}.card{text-align:center;background:#ffffff0f;border:1.5px solid #0000;border-radius:10px;grid-template-rows:52px auto;gap:2px;padding:5px;display:grid}.card img{object-fit:cover;border-radius:6px;width:100%;height:52px}.card span{font-size:11px;font-weight:600;line-height:1.2}.card small{color:var(--ink-dim);font-size:10px;font-weight:400;display:block}.card:hover{background:#ffffff1f}.card.on{border-color:var(--accent);background:#ffb21e29}#pane-row{align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:600;display:flex}#pane-row[hidden]{display:none}#pane-row span{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1.4px;margin-right:auto;font-size:11px}#pane-row button{background:#ffffff1f;border:0;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:1}#pane-row b{text-align:center;min-width:18px}.sliders{gap:8px;display:grid}.sliders label{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:12px;display:grid}.sliders label[hidden]{display:none}.sliders span{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:600}.sliders b{font-weight:700}.sliders input{width:100%;accent-color:var(--accent);grid-column:1/-1}.aim-row{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}#aim-pad{border:1.5px solid var(--line);background:repeating-radial-gradient(circle, transparent 0 15px, var(--line) 15px 16px);cursor:crosshair;touch-action:none;border-radius:50%;width:96px;height:96px;position:relative}#aim-dot{background:var(--accent);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #ffb21e4d}.wind{text-align:center}#wind-arrow{color:var(--kel);font-size:34px;line-height:60px;transition:transform .4s}#wind-speed{font-size:13px;font-weight:600}#cams{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;gap:2px;padding:4px;display:flex;position:fixed;top:16px;right:16px}#cams button{color:var(--ink-dim);background:0 0;border:0;border-radius:7px;padding:6px 11px;font-size:13px;font-weight:600}#cams button.on{background:var(--ink);color:#1c1712}#actions{align-items:center;gap:10px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}#actions button{background:var(--glass-hi);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:600}#actions button:disabled{opacity:.35;cursor:default}#btn-drop{letter-spacing:2px;color:var(--accent-ink);box-shadow:0 6px 24px #ffb21e73;background:var(--accent)!important;padding:16px 44px!important;font:400 30px/1 Anton,sans-serif!important}#btn-drop:not(:disabled):hover{transform:translateY(-1px)}#countdown{pointer-events:none;color:var(--ink);text-shadow:0 8px 40px #00000080;opacity:0;place-items:center;font:400 min(34vw,260px)/1 Anton,sans-serif;display:grid;position:fixed;inset:0}#countdown.pop{animation:.9s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.6)}15%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(.9)}}#caption{background:var(--glass-hi);text-align:center;opacity:0;border-radius:10px;max-width:min(720px,90vw);padding:10px 16px;font-size:18px;line-height:1.35;transition:opacity .2s;position:fixed;bottom:104px;left:50%;transform:translate(-50%)}#caption.show{opacity:1}#caption b{margin-right:8px;font-weight:800}#caption.robbo b{color:var(--robbo)}#caption.kel b{color:var(--kel)}#replay-badge{background:var(--live);letter-spacing:3px;opacity:0;color:#fff;pointer-events:none;border:0;border-radius:6px;padding:6px 14px;font:400 22px/1 Anton,sans-serif;transition:opacity .3s;position:fixed;top:72px;right:16px}#replay-badge small{letter-spacing:.5px;opacity:.85;vertical-align:middle;margin-left:6px;font:600 11px/1 Inter,sans-serif}body.replaying #replay-badge{opacity:1;pointer-events:auto;cursor:pointer}#toast{background:var(--glass-hi);opacity:0;pointer-events:none;border-radius:10px;max-width:340px;padding:10px 14px;font-size:13px;transition:opacity .3s;position:fixed;bottom:96px;right:16px}#toast.show{opacity:1}@media (width<=720px){#panel{grid-template-columns:1fr 1fr;width:auto;inset:auto 16px 92px}#panel .aim-row{display:none}.cards{grid-template-columns:1fr 1fr}.card{grid-template-rows:40px auto}.card img{height:40px}#title .height{display:none}#cams{top:64px;left:16px;right:auto}#caption{font-size:15px;top:112px;bottom:auto}}
