:root{--color-orange:#ff6a00;--color-orange-dark:#c50;--color-orange-light:#ff8c3d;--color-black:#0a0a0a;--color-black-soft:#161616;--color-card:#1c1c1c;--color-white:#fff;--color-white-dim:#c9c9c9;--color-error:#ff4d4d;--color-success:#3ddc84;--radius:16px;--font:"Segoe UI", Roboto, system-ui, -apple-system, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--color-black);color:var(--color-white);-webkit-tap-highlight-color:transparent;min-height:100vh}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,p{margin:0}button,input{font-family:inherit}::selection{background:var(--color-orange);color:var(--color-black)}.app-shell{flex-direction:column;min-height:100svh;padding:0 0 32px;display:flex}.screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:32px 20px;display:flex}.brand-title{letter-spacing:-.5px;color:var(--color-white);font-size:2.4rem;font-weight:800}.accent{color:var(--color-orange)}.subtitle{color:var(--color-white-dim);font-size:1.05rem}.team-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:420px;margin-top:24px;display:grid}.team-button{border-radius:var(--radius);border:2px solid var(--color-orange);background:var(--color-black-soft);color:var(--color-white);cursor:pointer;padding:28px 12px;font-size:1.1rem;font-weight:700;transition:transform .15s,background .15s}.team-button:active{background:var(--color-orange);color:var(--color-black);transform:scale(.96)}.progress-header{border-bottom:1px solid #262626;flex-direction:column;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.team-pill{background:var(--color-orange);color:var(--color-black);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:700}.station-badge{font-size:1.3rem;font-weight:700}.dots{gap:8px;display:flex}.dot{background:#333;border-radius:50%;width:10px;height:10px}.dot-done{background:var(--color-orange)}.dot-current{background:var(--color-white);box-shadow:0 0 0 3px #ff6a0080}.main-content{flex:1;justify-content:center;align-items:center;padding:24px 20px;display:flex}.scan-prompt{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.prompt-text{color:var(--color-white-dim);max-width:320px;font-size:1.15rem}.primary-button{background:var(--color-orange);color:var(--color-black);border-radius:var(--radius);cursor:pointer;border:none;padding:16px 32px;font-size:1.1rem;font-weight:700;transition:transform .15s,background .15s}.primary-button:active{background:var(--color-orange-dark);transform:scale(.96)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.scan-button{min-width:200px}.banner-text{color:var(--color-orange-light);max-width:300px;font-weight:600}.riddle-card{background:var(--color-card);border-radius:var(--radius);border:1px solid #2a2a2a;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:28px 24px;display:flex}.riddle-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-orange);font-size:.8rem;font-weight:700}.riddle-text{font-size:1.2rem;line-height:1.5}.photo-task{flex-direction:column;align-items:center;gap:12px;display:flex}.photo-input{display:none}.photo-preview{object-fit:cover;border:2px solid var(--color-orange);border-radius:12px;width:100%;max-height:240px}.pin-form{flex-direction:column;gap:10px;margin-top:8px;display:flex}.pin-form label{color:var(--color-white-dim);font-size:.85rem}.pin-form input{background:var(--color-black-soft);color:var(--color-white);letter-spacing:8px;text-align:center;border:2px solid #333;border-radius:12px;width:100%;padding:12px;font-size:1.6rem}.pin-form input:focus{border-color:var(--color-orange);outline:none}.pin-form.shake{animation:.4s shake}.error-text{color:var(--color-error);font-size:.9rem;font-weight:600}.secondary-button{color:var(--color-white);border:2px solid var(--color-orange);border-radius:var(--radius);cursor:pointer;background:0 0;padding:12px 20px;font-weight:700}.secondary-button:active{background:var(--color-orange);color:var(--color-black)}.scanner-overlay{z-index:50;background:#000000eb;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.scanner-card{background:var(--color-black-soft);border-radius:var(--radius);border:1px solid #2a2a2a;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:24px;display:flex;position:relative}.scanner-card h2{font-size:1.2rem}.close-button{color:var(--color-white);cursor:pointer;background:0 0;border:none;font-size:1.8rem;line-height:1;position:absolute;top:10px;right:14px}.qr-reader-viewport{aspect-ratio:1;border:2px solid var(--color-orange);border-radius:12px;width:100%;max-width:420px;overflow:hidden}.qr-reader-viewport video{object-fit:cover}.manual-entry{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.manual-entry label{color:var(--color-white-dim);text-align:center;font-size:.8rem}.manual-entry input{background:var(--color-black);color:var(--color-white);text-align:center;text-transform:uppercase;border:2px solid #333;border-radius:10px;padding:10px}.success-overlay{background:var(--color-black);z-index:60;flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.success-check{width:96px;height:96px}.success-check-circle{stroke:var(--color-orange);stroke-width:3px;stroke-dasharray:151;stroke-dashoffset:151px;animation:.5s forwards drawCircle}.success-check-mark{stroke:var(--color-white);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:.3s .45s forwards drawCheck}.success-text{color:var(--color-orange);opacity:0;font-size:1.8rem;font-weight:800;animation:.3s .6s forwards popIn}.success-subtext{color:var(--color-white-dim);opacity:0;animation:.3s .7s forwards popIn}.finish-time{color:var(--color-orange);font-size:1.4rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.admin-shell{flex-direction:column;width:100%;max-width:720px;min-height:100svh;margin:0 auto;padding:0 16px 32px;display:flex}.admin-header{justify-content:space-between;align-items:center;padding:20px 0 12px;display:flex}.admin-header h1{font-size:1.4rem;font-weight:800}.admin-tabs{border-bottom:1px solid #262626;gap:8px;margin-bottom:20px;display:flex}.admin-tab{color:var(--color-white-dim);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 16px;font-weight:700}.admin-tab-active{color:var(--color-orange);border-bottom-color:var(--color-orange)}.admin-login-form{flex-direction:column;gap:12px;width:100%;max-width:320px;margin-top:16px;display:flex}.admin-login-form input{background:var(--color-black-soft);color:var(--color-white);text-align:center;border:2px solid #333;border-radius:12px;padding:14px;font-size:1.1rem}.admin-login-form input:focus{border-color:var(--color-orange);outline:none}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.save-message{color:var(--color-orange);font-weight:700}.station-list{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.station-row{background:var(--color-card);border-radius:var(--radius);border:1px solid #2a2a2a;flex-direction:column;gap:12px;padding:16px;display:flex}.station-row-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-toggle{align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:flex}.station-order-buttons{gap:4px;display:flex}.station-order-buttons button{background:var(--color-black-soft);color:var(--color-white);cursor:pointer;border:1px solid #333;border-radius:8px;width:32px;height:32px}.station-order-buttons button:disabled{opacity:.3;cursor:not-allowed}.station-row-header select{background:var(--color-black-soft);color:var(--color-white);border:1px solid #333;border-radius:8px;padding:6px 10px}.danger-link{color:var(--color-error);cursor:pointer;background:0 0;border:none;margin-inline-start:auto;font-weight:700}.station-riddle-input{background:var(--color-black-soft);color:var(--color-white);resize:vertical;border:2px solid #333;border-radius:10px;min-height:70px;padding:10px;font-family:inherit;font-size:1rem}.station-riddle-input:focus{border-color:var(--color-orange);outline:none}.station-pin-input{background:var(--color-black-soft);color:var(--color-white);text-align:center;letter-spacing:4px;border:2px solid #333;border-radius:10px;width:120px;padding:10px}.station-token-row{align-items:center;gap:12px;display:flex}.station-token-info{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.qr-preview-img{border:1px solid #333;border-radius:6px;width:64px;height:64px}.qr-preview-placeholder{width:64px;height:64px}.progress-view{flex-direction:column;gap:10px;display:flex}.progress-row{background:var(--color-card);border:1px solid #2a2a2a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;display:flex}.progress-team{color:var(--color-orange);min-width:80px;font-weight:800}.progress-step{font-weight:600}.progress-status{color:var(--color-white-dim)}.progress-time{margin-inline-start:auto;font-family:ui-monospace,monospace}
