:root{--f360-bg: #0b1020;--f360-surface: #151c33;--f360-line: #263154;--f360-text: #f2f6ff;--f360-muted: #a6b2d4;--f360-accent: #57d2a0;--f360-warn: #ffcf6b;--f360-you: #2a3a6b;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--f360-bg);color:var(--f360-text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.f360-shell{display:flex;flex-direction:column;min-height:100dvh}.f360-shell__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--f360-line);position:sticky;top:0;background:var(--f360-bg);z-index:2}.f360-shell__brand{font-weight:700;letter-spacing:.02em}.f360-shell__identity{color:var(--f360-text);font-variant-numeric:tabular-nums}.f360-shell__identity[data-neutral=true]{color:var(--f360-muted)}.f360-shell__nav ul{display:flex;gap:.5rem;list-style:none;margin:0;padding:.5rem 1rem}.f360-shell__nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;color:var(--f360-muted);text-decoration:none;border-radius:999px}.f360-shell__nav a.is-active{color:var(--f360-text);background:var(--f360-surface)}.f360-shell__main{flex:1;padding:1rem}.f360-shell__main:focus{outline:none}.f360-shell__toasts{position:sticky;bottom:0;padding:.5rem 1rem 1rem}.f360-skip{position:absolute;left:-9999px;top:0;background:var(--f360-surface);color:var(--f360-text);padding:.5rem 1rem;z-index:5}.f360-skip:focus{left:0}:focus-visible{outline:3px solid var(--f360-accent);outline-offset:2px}.f360-screen__header{display:flex;align-items:baseline;gap:.75rem}.f360-screen__header h1{font-size:1.25rem;margin:0 0 .75rem}.f360-state{padding:1.5rem 0;color:var(--f360-muted)}.f360-state h2{color:var(--f360-text);font-size:1.05rem;margin:0 0 .5rem}.f360-spinner{display:inline-block;width:1rem;height:1rem;margin-right:.5rem;vertical-align:-2px;border:2px solid var(--f360-line);border-top-color:var(--f360-accent);border-radius:50%;animation:f360-spin .8s linear infinite}.f360-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;margin-bottom:.75rem;border-radius:8px;background:var(--f360-surface);color:var(--f360-warn);font-size:.9rem}.f360-live{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--f360-muted)}.f360-live__dot{width:8px;height:8px;border-radius:50%;background:var(--f360-line)}.f360-live--on .f360-live__dot{background:var(--f360-accent)}.f360-toast{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;border:1px solid var(--f360-line);border-radius:10px;background:var(--f360-surface)}.f360-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1rem;border:0;border-radius:999px;background:var(--f360-accent);color:#06210f;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.f360-button--secondary{background:var(--f360-surface);color:var(--f360-text)}.f360-button--inline{min-height:32px;padding:0 .75rem;font-size:.85rem}.f360-button--ghost{background:transparent;color:var(--f360-muted)}.f360-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.f360-board{list-style:none;margin:0;padding:0}.f360-board li{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.75rem;min-height:48px;padding:.25rem .5rem;border-bottom:1px solid var(--f360-line)}.f360-board li.is-you{background:var(--f360-you);border-radius:8px}.f360-board__rank{color:var(--f360-muted);font-variant-numeric:tabular-nums}.f360-board__score{font-variant-numeric:tabular-nums;font-weight:700}.f360-board__you{color:var(--f360-accent);font-size:.8rem}.f360-board[data-pulse]{animation:f360-pulse .6s ease-out}.f360-kiosk__tiles{display:flex;flex-wrap:wrap;gap:2rem;margin:0}.f360-kiosk__tiles dt{color:var(--f360-muted);font-size:.9rem}.f360-kiosk__tiles dd{margin:0;font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums}.f360-handoff{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}@keyframes f360-spin{to{transform:rotate(360deg)}}@keyframes f360-pulse{0%{background:var(--f360-surface)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.f360-spinner{animation:none;border-top-color:var(--f360-line)}.f360-board[data-pulse]{animation:none}}
