@font-face{font-family:'StageDokdo';src:url('/brand/dokdo-subset-bokmyeongawang-VS.woff2') format('woff2');font-display:swap;}
:root{--color-scheme:dark;--bg:#101217;--panel:#1c2029;--text:#f5f6fa;--muted:#b6bdcc;--accent:#f5d45b;--ink:#17150b;--line:#444b5a;--danger:#842d37;--danger-text:#ffffff;--green:#a7e7bd;--button-hover:#343b49;--choice-hover:#ffe798;--bar-track:#343a47;--qr-background:#ffffff;--font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;--font-title:clamp(2rem,4vw,3.5rem);--font-heading:clamp(1.4rem,2vw,2rem);--font-subheading:clamp(1.1rem,1.5vw,1.4rem);--font-body:clamp(1rem,1.1vw,1.2rem);--font-choice:clamp(1.4rem,6vw,1.9rem);--font-timer:clamp(1.7rem,7vw,2.3rem);--font-receipt:clamp(1.5rem,6vw,2rem);--font-status:clamp(.85rem,1vw,1rem);--font-admin-title:clamp(1.8rem,3vw,2.5rem);--font-admin-button:.9rem;--font-bar-label:clamp(.95rem,1.2vw,1.25rem);--font-screen-header:clamp(1.3rem,2vw,2rem);--font-screen-title:clamp(3rem,6.5vw,8rem);--font-screen-kicker:clamp(1.5rem,2.4vw,3rem);--font-screen-subtitle:clamp(1.4rem,2.2vw,2.8rem);--font-screen-url:clamp(.9rem,1.3vw,1.5rem);--font-screen-versus:clamp(2rem,4.2vw,5rem);--font-screen-vs-label:clamp(1.3rem,2vw,2rem);--font-screen-countdown:clamp(5rem,10vw,12rem);--font-screen-result:clamp(2rem,4vw,5rem);--font-screen-bar-label:clamp(1.5rem,2.7vw,3rem);--font-screen-prediction-label:clamp(1rem,1.65vw,2rem);--font-screen-warning:clamp(.6rem,.8vw,1rem);--font-screen-compact-title:clamp(2rem,6vw,3rem);--font-screen-compact-subtitle:1rem;--font-screen-compact-kicker:1.1rem;--font-brand-subtitle:clamp(.9rem,1.3vw,1.4rem);--radius-button:8px;--radius-input:6px;--radius-notice:6px;--radius-panel:12px;--radius-bar:4px;--radius-qr:8px;--background-image:none;--background-size:cover;--background-position:center;--background-repeat:no-repeat;--audience-background:var(--bg);--screen-background:var(--bg);--admin-background:var(--bg);--logo-width:112px;--logo-height:64px;--screen-logo-width:180px;--screen-logo-height:64px;--logo-fit:contain;--brand-gap:16px;--aud-bg:#0b0a0d;--aud-surface:#19171a;--aud-text:#fffdf7;--aud-muted:#c8c0b2;--aud-line:#d4a84b;--aud-select:#f2d489;--aud-icon:#d4a84b;--aud-red:#d7192a;--aud-stroke:#5e0710;--aud-glow:rgba(212,168,75,.12);--admin-bg:#fff;--admin-surface:#f2f3f6;--admin-text:#1a1c20;--admin-muted:#5e626a;--admin-line:#dadce1;--admin-green:#287f50;--admin-danger:#b2333d;--admin-warning-bg:#fff2f0;--admin-selected:#e9edf0;--admin-selected-line:#adb4bb;}
.audience{box-sizing:border-box;margin:0;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + max(40px,7svh)) 20px max(24px,env(safe-area-inset-bottom));color:var(--aud-text);font-family:var(--font-family);background:radial-gradient(ellipse 24% 50% at 18% 0,var(--aud-glow),transparent),radial-gradient(ellipse 24% 50% at 82% 0,var(--aud-glow),transparent),var(--aud-bg);}
.audience *{box-sizing:border-box;}
.audience:before{content:"";position:fixed;top:52px;left:8%;width:2px;height:2px;border-radius:50%;background:var(--aud-line);box-shadow:54px 55px var(--aud-line),116px 5px var(--aud-line),210px 76px var(--aud-line),290px 20px var(--aud-line),40px 240px var(--aud-line),250px 280px var(--aud-line),12px 480px var(--aud-line);opacity:.35;pointer-events:none;}
.audience header,.audience main{width:100%;max-width:520px;margin:0 auto;}
.audience header{display:flex;flex-direction:column;align-items:center;text-align:center;}
.audience main{flex:1;display:flex;flex-direction:column;justify-content:center;}
.audience [hidden],.audience .brand-subtitle{display:none!important;}
.audience h1,.audience h2,.audience p{margin:0;}
.audience .eyebrow{color:var(--aud-line);font-size:9px;font-weight:800;letter-spacing:.4em;}
.audience h1{margin-top:10px;color:var(--aud-red);font:400 64px/1 'StageDokdo',var(--font-family);}
.audience .round-label{margin-top:12px;color:var(--aud-muted);font-size:13px;font-weight:700;}
.audience #connection{width:100%;margin:0;font-size:12px;color:var(--aud-muted);}
.audience #connection.connected{display:none;}
.audience #connection.disconnected{margin-top:14px;padding:12px;background:var(--danger);color:var(--danger-text);font-size:14px;}
.audience .match-vote{text-align:center;}
.audience .question{font-size:23px;line-height:1.4;font-weight:800;letter-spacing:-.04em;word-break:keep-all;}
.audience .timer-box{display:inline-block;margin:18px 0 28px;padding:9px 18px;border:1px solid var(--aud-line);border-radius:5px;background:var(--aud-surface);}
.audience .timer{color:var(--aud-select);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;}
.audience .match-vote .choices{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;align-items:center;padding:20px 0;}
.audience .brush{position:absolute;left:-20px;top:0;width:calc(100% + 40px);height:100%;color:var(--aud-red);transform:rotate(-3deg);pointer-events:none;}
.audience .versus-label{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--aud-select);font:400 40px/1 'StageDokdo',var(--font-family);-webkit-text-stroke:1px var(--aud-stroke);paint-order:stroke fill;pointer-events:none;}
.audience button{font:inherit;cursor:pointer;}
.audience .choice{min-width:0;width:100%;color:var(--aud-text);word-break:keep-all;overflow-wrap:normal;}
.audience .match-vote .choice{position:relative;min-height:96px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--aud-line);border-radius:6px;background:var(--aud-surface);font-size:18px;font-weight:800;text-align:center;}
.audience .choice>span{min-width:0;max-width:100%;}
.audience .match-vote .choice.selected{background:var(--aud-select);color:var(--aud-bg);}
.audience .match-vote .choice.unselected{opacity:.5;}
.audience .match-vote .check{font-size:18px;font-style:normal;}
.audience .done,.audience .prompt{margin-top:20px;color:var(--aud-muted);font-size:14px;}
.audience .closed{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 25px;padding:14px;background:var(--aud-surface);color:var(--aud-muted);font-size:14px;font-weight:700;}
.audience .closed svg{width:18px;height:18px;}
.audience .prediction{display:none;}
.audience .prediction h2{font-size:22px;font-weight:800;}
.audience .prediction .prompt{margin-top:8px;margin-bottom:16px;}
.audience .prediction .choice{min-height:56px;padding:12px 0;display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--aud-line);background:transparent;font-size:16px;text-align:left;}
.audience .prediction .choice>span{flex:1;font-weight:500;}
.audience .prediction .choice.selected>span{font-weight:800;}
.audience .prediction .check{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--aud-icon);border-radius:50%;color:var(--aud-bg);font-size:16px;}
.audience .prediction .selected .check{background:var(--aud-select);border-color:var(--aud-select);}
.audience .waiting{text-align:center;}
.audience .waiting h2{font-size:24px;font-weight:800;line-height:1.35;letter-spacing:-.04em;word-break:keep-all;}
.audience .waiting p{margin-top:12px;color:var(--aud-muted);font-size:14px;}
.audience .vote-error{margin-top:12px;color:var(--danger-text);font-size:14px;}
.audience button:focus-visible{outline:3px solid var(--aud-select);outline-offset:3px;}
