:root{--bg:#0b0b0e;--surface:#131318;--elev:#1b1b22;--field:#0f0f13;--line:#ffffff14;--line-strong:#ffffff29;--hover-line:#ffffff42;--text:#f5f5f7;--muted:#8e8e9a;--placeholder:#5d5d68;--accent:#f6b73c;--accent-text:#f6b73c;--accent-ink:#1d1405;--accent-soft:#f6b73c24;--accent-line:#f6b73c73;--ok:#4ade80;--ok-soft:#4ade801f;--ok-line:#4ade804d;--bad:#f87171;--bad-soft:#f871711f;--bad-line:#f8717173;--error-text:#fecaca;--header-bg:#0b0b0ec7;--nav-bg:#18181ed1;--shadow:0 12px 32px #00000073;--glow:#f6b73c12;--radius:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,sans-serif}:root[data-theme=light]{--bg:#f4f4f7;--surface:#fff;--elev:#f0f0f4;--field:#f5f5f8;--line:#14142814;--line-strong:#14142824;--hover-line:#14142847;--text:#16161c;--muted:#6c6c7a;--placeholder:#a2a2ae;--accent:#f2a900;--accent-text:#9a5b00;--accent-ink:#231600;--accent-soft:#f2a90029;--accent-line:#b0700073;--ok:#15803d;--ok-soft:#16a34a1a;--ok-line:#16a34a59;--bad:#dc2626;--bad-soft:#dc262614;--bad-line:#dc262666;--error-text:#991b1b;--header-bg:#f4f4f7d1;--nav-bg:#ffffffdb;--shadow:0 10px 28px #1e1e3c24;--glow:#f2a9001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{color:var(--text);background:radial-gradient(120% 60% at 50% -10%, var(--glow), transparent 60%), var(--bg);word-break:keep-all;overflow-wrap:anywhere;background-attachment:fixed;margin:0;line-height:1.45}#root{min-height:100svh}::selection{background:var(--accent-soft)}.app{flex-direction:column;max-width:560px;min-height:100svh;margin:0 auto;display:flex}header{z-index:5;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);flex-wrap:nowrap;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand img{width:34px;height:34px;box-shadow:0 0 0 1px var(--line-strong);border-radius:10px;display:block}.brand h1{letter-spacing:.14em;margin:0;font-size:19px;font-weight:800}.who{align-items:center;gap:8px;min-width:0;display:flex}.who .muted{text-overflow:ellipsis;white-space:nowrap;max-width:96px;overflow:hidden}.who button{padding:7px 11px;font-size:12px}.who .theme{border-radius:999px;place-items:center;width:34px;height:34px;padding:0;display:grid}.who .theme svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}main{flex:1;padding:16px 16px 120px}nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--nav-bg);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line-strong);max-width:536px;box-shadow:var(--shadow);z-index:10;border-radius:24px;gap:2px;margin:0 auto;padding:6px;display:flex;position:fixed}nav button{color:var(--muted);background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 0 7px;font-size:11px;font-weight:600;display:flex}nav button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}nav button.active{color:var(--accent-text);background:var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.card.inner{background:var(--field);border-radius:14px;margin:10px 0}.card h2{margin:0 0 6px;font-size:22px;font-weight:800}.card h3{margin:0;font-size:16px;font-weight:700}.card p{margin:8px 0}h4{letter-spacing:.06em;color:var(--muted);margin:18px 0 8px;font-size:12px;font-weight:700}section>h4:first-child{margin-top:4px}.muted{color:var(--muted);font-size:13px}.error{background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--error-text);border-radius:14px;padding:11px 14px;font-size:13px}.tag{background:var(--accent-soft);color:var(--accent-text);vertical-align:middle;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.ok-text{color:var(--ok)}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.row.between{flex-wrap:nowrap;justify-content:space-between}.row.between>button,.row.between>.row{white-space:nowrap;flex-shrink:0}.row.between>.when{min-width:0}.row.seg>button{flex:1;padding:13px 10px;font-size:15px}input,select,button{font:inherit;color:var(--text);border-radius:12px;min-width:0}input,select{background:var(--field);border:1px solid var(--line-strong);outline:none;flex:1;padding:11px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder{color:var(--placeholder)}input[type=time],input[type=date]{min-width:120px}label{color:var(--muted);gap:6px;margin-bottom:10px;font-size:13px;display:grid}label>input,label>select{color:var(--text);font-size:15px}button{background:var(--elev);border:1px solid var(--line-strong);cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s}button:hover{border-color:var(--hover-line)}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:not-allowed}button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.off{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}button.danger{color:var(--bad)}.chips{scrollbar-width:none;gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;margin:0;overflow:visible}.chips button{white-space:nowrap;background:var(--field);border-radius:999px;padding:7px 13px;font-size:13px}.chips button.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.chips button.other:not(.on){opacity:.45}.assign{grid-template-columns:52px 1fr;align-items:start;gap:10px;margin:10px 0;display:grid}.assign .inst{color:var(--muted);padding-top:8px;font-size:13px;font-weight:600}.list{gap:6px;margin:10px 0;padding:0;list-style:none;display:grid}.list li{gap:6px;display:flex}.list li button:first-child{text-align:left;flex:1}.when{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.when .date{letter-spacing:-.01em;font-size:22px;font-weight:800}.when .time{color:var(--muted);font-size:14px;font-weight:600}.songs{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.songs li{background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:700}.people{gap:4px;margin-top:12px;font-size:14px;display:grid}.people .muted{font-size:13px}.who-line{margin:0 2px 12px;font-size:14px}.who-line strong{margin-left:4px}.card.notice{border-color:var(--accent-line);background:var(--accent-soft)}.card.notice p{margin:6px 0 0}.switch{background:var(--field);border:1px solid var(--line);border-radius:14px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.switch button{color:var(--muted);background:0 0;border:0;border-radius:11px;flex:1;padding:9px;font-weight:700}.switch button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000002e}.poll-meta{margin:4px 0 12px;line-height:1.5}.tag.closed{background:var(--elev);color:var(--muted)}button.opt{text-align:left;background:var(--field);border-radius:14px;width:100%;margin:8px 0 0;padding:13px 14px;display:block;position:relative;overflow:hidden}button.opt:disabled{opacity:1}button.opt.mine{border-color:var(--accent-line)}.opt .fill{background:var(--accent-soft);transition:width .25s;position:absolute;inset:0 auto 0 0}.opt .inner{align-items:center;gap:10px;display:flex;position:relative}.opt .dot{border:2px solid var(--line-strong);width:22px;height:22px;color:var(--accent-ink);border-radius:999px;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid}.opt.mine .dot{background:var(--accent);border-color:var(--accent)}.opt .label{flex:1;min-width:0;font-size:15px;font-weight:600}.opt .count{color:var(--accent-text);font-weight:800}.opt-meta{justify-content:flex-end;align-items:flex-start;gap:8px;margin:5px 6px 0 36px;display:flex}.voters{flex:1;min-width:0;font-size:12px;line-height:1.5}.opt-actions{flex-shrink:0;gap:6px;display:flex}.opt-actions button{padding:3px 10px;font-size:12px}.opt-actions button.danger{color:var(--muted);background:0 0;border:0;padding:2px 4px}.opt-actions button.danger:hover{color:var(--bad)}label.check{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}label.check input{width:18px;height:18px;accent-color:var(--accent);flex:none}textarea{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line-strong);resize:vertical;border-radius:12px;outline:none;padding:11px 12px}textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}button.wide{width:100%;padding:14px;font-size:15px}.login{place-items:center;min-height:100svh;padding:24px 16px;display:grid}.login .wrap,.login>.card{width:100%;max-width:380px}.login .card{padding:24px 20px}.login .logo{width:72px;height:72px;box-shadow:0 0 0 1px var(--line-strong);border-radius:20px;margin:0 auto 14px;display:block}.login h2,.login .muted{text-align:center}.login h2{letter-spacing:.16em}
