:root{--ink:#1d1f23;--sub:#5f6368;--line:#e3e5e8;--bg:#f5f6f8;--card:#fff;--accent:#1b4fb8;--accent-soft:#e8effc;--live:#d93025;--ok:#188038;--warn:#b06000;--radius:12px;--fs:16px}*{box-sizing:border-box}html{font-size:var(--fs)}body.big{--fs:19px}body{color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;line-height:1.55}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0 0 8px;line-height:1.35}p{margin:0 0 8px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:#fff;border:1px solid #cfd3d8;border-radius:10px;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}hr{border:0;border-top:1px solid var(--line);margin:16px 0}.page{flex-direction:column;min-height:100vh;display:flex}.container{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:16px}.container.narrow{max-width:560px}.container.wide{max-width:1280px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar.admin{color:#fff;background:#1d2433;border-color:#1d2433}.topbar.admin .btn.ghost{color:#fff;border-color:#4a5468}.brand{color:inherit;flex-direction:column;min-width:0;display:flex}.brand b{color:var(--accent);font-size:1.05rem}.topbar.admin .brand b{color:#9cc0ff}.brand span{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.topbar.admin .brand span{color:#b8c0cf}.foot{text-align:center;color:var(--sub);padding:24px;font-size:.8rem}.row{align-items:center;display:flex}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap8{gap:8px}.grow{flex:1}.center{text-align:center}.muted{color:var(--sub)}.small,small{font-size:.85rem}.error{color:var(--live);font-weight:600}.nowrap{white-space:nowrap}.dim{opacity:.45}.up{color:var(--ok);font-weight:700}.down{color:var(--live);font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.title{font-size:1.45rem}.h2{font-size:1.1rem}.h3{margin-top:16px;font-size:1rem}.h2.section{margin:20px 0 10px}.chip{color:#3c4043;white-space:nowrap;background:#eef0f3;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;display:inline-flex}.chip.live{color:var(--live);background:#fde7e7;font-weight:700}.chip.ok{color:var(--ok);background:#e6f4ea;font-weight:700}.btn{cursor:pointer;color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #cfd3d8;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{color:var(--live);background:#fff;border-color:#f1b5b2}.btn.ghost{background:0 0}.btn.sm{padding:6px 12px;font-size:.88rem}.btn.lg{padding:14px 20px;font-size:1.1rem}.btn.block{width:100%;display:flex}.linkbtn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:.88rem}.linkbtn.danger{color:var(--live)}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:8px 0 12px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--sub);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-weight:600}.tab.on{color:var(--accent);border-color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.chipbtn{cursor:pointer;background:#fff;border:1px solid #cfd3d8;border-radius:999px;padding:6px 12px}.chipbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}.hero{padding:16px 0 8px}.hero h1{font-size:1.5rem}.hero p{color:var(--sub)}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.mcard{color:inherit;flex-direction:column;gap:6px;transition:box-shadow .15s;display:flex}.mcard:hover{box-shadow:0 4px 16px #00000014}.mcard h3{margin:4px 0 0;font-size:1.1rem}.mcard .go{color:var(--accent);margin-top:auto;font-weight:700}.form .field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{font-weight:700}.field em{color:var(--live);margin-left:4px;font-size:.75rem;font-style:normal}.field em.opt,em.opt{color:var(--sub);font-size:.8rem;font-style:normal}.field small{color:var(--sub)}.persona-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.persona-btn{cursor:pointer;text-align:left;background:#fff;border:2px solid #dfe2e6;border-radius:10px;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.persona-btn.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 10%, #fff)}.pshape{font-size:1.15em;line-height:1}.pmark{align-items:center;gap:4px;display:inline-flex}.plabel{font-size:.88rem}.consent{background:#f7f8fa;border-radius:10px;margin-bottom:14px;padding:12px}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{flex:none;width:22px;height:22px;margin-top:2px}.consent-detail{color:#3c4043;margin:8px 0 0;padding-left:18px;font-size:.88rem}.room-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start;gap:16px;width:100%;max-width:1280px;margin:0 auto;padding:12px;display:grid}.room-title h1{margin-bottom:2px;font-size:1.2rem}.online{color:var(--ok);white-space:nowrap;font-size:.85rem;font-weight:700}.topbar.admin .online{color:#8fe3a5}.player-box{aspect-ratio:16/9;border-radius:var(--radius);background:#0d0f14;width:100%;margin:8px 0 12px;position:relative;overflow:hidden}.player-box video,.player-box iframe,.live-video{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.live-msg{text-align:center;color:#e8eaed;z-index:1;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.unmute{z-index:2;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:12px 22px;font-size:1.05rem;font-weight:700;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.notice{background:var(--accent-soft);border-color:#c9d8f5}.me-line{margin:4px 2px 8px}.banner{text-align:center;padding:8px 16px;font-weight:600}.banner.warn{color:var(--warn);background:#fef7e0}.mobile-only{display:none}.dot{background:var(--live);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:4px;display:inline-block}.poll-head{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.poll-q{margin:6px 0 12px;font-size:1.15rem}.vote-opts{gap:8px;margin-bottom:8px;display:grid}.vote-opts.yesno{grid-template-columns:1fr 1fr}.vote-opts.scale{grid-template-columns:repeat(5,1fr)}.vote-btn{--c:var(--accent);border:2px solid color-mix(in srgb, var(--c) 35%, #fff);cursor:pointer;min-height:64px;color:var(--ink);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;display:flex}.vote-btn b{color:var(--c);font-size:1.35rem}.vote-btn span{color:var(--sub);text-align:center;font-size:.78rem;line-height:1.2}.vote-btn.on{background:var(--c);border-color:var(--c)}.vote-btn.on b,.vote-btn.on span{color:#fff}.vote-opts.yesno .vote-btn{min-height:76px}.poll-result{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.bars{flex-direction:column;gap:6px;display:flex}.bar-row{grid-template-columns:minmax(84px,9em) 1fr 5.5em;align-items:center;gap:8px;display:grid}.bar-label{font-size:.88rem}.bar-track{background:#eef0f3;border-radius:6px;height:18px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .4s}.bar-val{text-align:right;font-size:.88rem;font-weight:700}.bar-val small{color:var(--sub);font-weight:400}.bar-foot{color:var(--sub);margin-top:4px;font-size:.85rem}.bars.large .bar-row{grid-template-columns:11em 1fr 7em;gap:16px}.bars.large .bar-label,.bars.large .bar-val{font-size:1.6rem}.bars.large .bar-track{border-radius:10px;height:44px}.bars.large .bar-foot{font-size:1.4rem}.ptable{border-collapse:collapse;width:100%;font-size:.88rem}.ptable th,.ptable td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.mini{background:#eef0f3;border-radius:5px;min-width:80px;height:18px;position:relative}.mini-fill{opacity:.8;border-radius:5px;height:100%}.mini span{font-size:.78rem;font-weight:700;line-height:18px;position:absolute;top:0;left:6px}.comments{flex-direction:column;display:flex}.clist{flex-direction:column;gap:10px;min-height:160px;max-height:46vh;padding:4px 2px 8px;display:flex;overflow-y:auto}.citem{border-bottom:1px solid #f0f1f3;padding-bottom:8px}.cmeta{font-size:.88rem}.cbody{white-space:pre-wrap;margin-top:2px}.cform{gap:8px;margin-top:8px;display:flex}.survey h3{margin:0;font-size:1.05rem}.survey .btn.block{margin-top:10px}.sform{margin-top:12px}.sq{margin-bottom:16px}.sq-t{margin-bottom:8px}.sq-opts{flex-direction:column;gap:6px;display:flex}.scale5{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.optbtn{cursor:pointer;text-align:left;background:#fff;border:2px solid #dfe2e6;border-radius:10px;padding:10px;font-weight:600}.scale5 .optbtn{text-align:center;flex-direction:column;align-items:center;padding:8px 2px;display:flex}.scale5 .optbtn b{font-size:1.2rem}.scale5 .optbtn span{color:var(--sub);font-size:.72rem;line-height:1.2}.optbtn.on{border-color:var(--accent);background:var(--accent);color:#fff}.optbtn.on span{color:#fff}.modal-bg{z-index:50;background:#0f141e8c;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:92vh;padding:20px 16px 16px;animation:.2s ease-out up;position:relative;overflow-y:auto}@keyframes up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.modal-x{cursor:pointer;color:var(--sub);background:0 0;border:0;padding:6px;font-size:1.3rem;position:absolute;top:8px;right:10px}.toast{z-index:60;color:#fff;background:#1d2433;border-radius:12px;max-width:92vw;padding:12px 18px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.share{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;padding:10px;display:flex}.share .url{word-break:break-all;font-size:.95rem}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:12px 16px;display:grid}.grid2.tight{gap:12px 24px}.span2{grid-column:1/-1}.pitem.is-open{border-color:var(--live);box-shadow:0 0 0 2px #fde7e7}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.table th{color:var(--sub);font-size:.85rem}.qedit{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:8px;padding:10px;display:flex}.qedit select{width:auto;padding:6px 8px}.regions{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.region .chips{margin:6px 0 0}.row select,.row input{width:auto}.stats{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.stats>div{background:#f7f8fa;border-radius:10px;min-width:110px;padding:10px 14px}.stats b{font-size:1.5rem;display:block}.stats span{color:var(--sub);font-size:.82rem}.texts{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.screen{color:#fff;background:#0f1524;grid-template-columns:34% 1fr;display:grid;position:fixed;inset:0}.screen-left{text-align:center;background:#16203a;flex-direction:column;align-items:center;gap:1.2vh;padding:4vh 3vw;display:flex}.screen-brand{color:#9cc0ff;font-size:1.6vw;font-weight:700}.screen-left h1{font-size:2.2vw}.screen-qr{background:#fff;border-radius:16px;width:min(26vw,46vh);height:auto;padding:1vw}.screen-url{margin:0;font-size:1.8vw;font-weight:700}.screen-hint{color:#b8c0cf;font-size:1.3vw}.screen-stats{gap:2vw;margin-top:auto;display:flex}.screen-stats div{flex-direction:column;display:flex}.screen-stats b{color:#8fe3a5;font-size:3.6vw}.screen-stats span{color:#b8c0cf;font-size:1.2vw}.screen-right{flex-direction:column;justify-content:center;padding:6vh 4vw;display:flex}.screen-chips{gap:1vw;margin-bottom:2vh;display:flex}.screen-chips span{background:#2a3554;border-radius:999px;padding:.3vw 1vw;font-size:1.3vw}.screen-chips span.live{background:var(--live)}.screen-poll h2{margin-bottom:5vh;font-size:3vw}.screen .bars.large .bar-label,.screen .bars.large .bar-val,.screen .bar-foot{color:#fff}.screen .bar-track{background:#2a3554}.screen .bar-val small{color:#b8c0cf}.screen-count{font-size:2vw}.screen-count b{color:#8fe3a5;font-size:9vw}.screen-wait h2{font-size:3.4vw}.screen-wait p{color:#b8c0cf;font-size:1.8vw}.report-head{border-bottom:2px solid var(--ink);margin:16px 0;padding-bottom:12px}@media print{body{background:#fff}.no-print,.topbar{display:none!important}.card{break-inside:avoid;border-color:#ccc}.container{max-width:none;padding:0}}@media (width<=860px){.room-grid{grid-template-columns:1fr;gap:0;padding:8px}.mobile-only{display:flex}.room .pane{display:none}.room .pane.show{display:block}.clist{max-height:55vh}.grid2{grid-template-columns:1fr}.hide-sm{display:none}.screen{grid-template-columns:1fr;min-height:100vh;position:static;overflow:auto}}@media (width<=420px){.vote-opts.scale{gap:4px}.vote-btn span{font-size:.68rem}.persona-grid{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:6.5em 1fr 4.8em}}
