:root{--ink: #17191C;--ink-soft: #6A6F76;--ink-dim: #8A8F96;--line: #E6E6E2;--line-soft: #EFEFEC;--bg: #F6F6F4;--panel: #FFFFFF;--sunk: #FAFAF8;--accent: #1A66C9;--accent-wash: #EFF4FC;--warn: #8A3F06;--warn-wash: #FBF0E6;--bad: #8C2F20;--bad-wash: #F6E3E0;--ui: system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, "Consolas", monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--ui)}h1{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0}h2{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ink-dim);margin:0 0 12px}.muted{color:var(--ink-soft)}.error{color:var(--bad)}.error:empty{display:none}td:nth-child(1),td:nth-child(3),.facts dd,.strip figcaption span,.plan-line em{font-family:var(--mono);font-variant-numeric:tabular-nums}button{display:inline-flex;align-items:center;gap:7px;background:var(--panel);color:var(--ink);border:1px solid #DCDCD7;border-radius:9px;padding:9px 13px;font:inherit;font-weight:500;cursor:pointer}button:hover:not(:disabled){border-color:#c6c6c0}button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button.primary{background:var(--ink);color:var(--panel);border-color:var(--ink)}button.primary:hover:not(:disabled){background:#000}button.quiet{background:transparent;border-color:transparent;color:var(--ink-soft)}button.danger{background:var(--panel, #fff);border-color:#e2b8b0;color:#8c2f20}button.danger:hover:not(:disabled){background:#f6e3e0}.study-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.study-actions[hidden]{display:none}.live-badge{display:inline-block;margin-left:6px;padding:0 7px;border-radius:6px;background:var(--accent-wash);color:var(--accent);font-size:12px}button.quiet:hover:not(:disabled){background:var(--line-soft);border-color:transparent}button.tiny{padding:5px 9px;font-size:12.5px;border-radius:7px}button:disabled{background:#f2f2ef;color:#a8acb2;border-color:#eaeae6;cursor:default}button.icon{padding:5px;border:0;background:transparent;color:var(--ink-dim)}button.icon:hover{color:var(--ink);background:var(--line-soft)}button.icon svg{width:16px;height:16px}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.signin form{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}.signin-mark{margin-bottom:14px}.signin h1{font-size:22px;margin-bottom:4px}.signin p{margin:0 0 20px;font-size:13px}.signin label{display:block;font-size:13px;font-weight:500;margin-bottom:12px}.signin input{display:block;width:100%;margin-top:5px;background:var(--panel);border:1px solid #DCDCD7;border-radius:9px;padding:10px 12px;font:inherit;color:var(--ink)}.signin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.signin button{width:100%;justify-content:center;margin-top:4px}.signin .error{margin:12px 0 0;font-size:13px}.app{display:flex;gap:8px;padding:8px;min-height:100vh;flex-wrap:wrap}[hidden]{display:none!important}.rail{flex:1 1 232px;min-width:0;max-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;gap:4px}.rail-mark{display:flex;align-items:center;gap:9px;padding:4px 8px 14px}.rail-mark span{min-width:0}.rail-mark b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}.rail-mark em{display:block;font-style:normal;font-size:11px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-group{color:var(--ink-dim);font-size:11px;font-weight:500;letter-spacing:.04em;padding:8px 8px 4px}.rail-nav{display:flex;flex-direction:column;gap:2px}.rail-nav button{justify-content:flex-start;width:100%;background:transparent;border:0;border-radius:8px;padding:8px;color:#43474d;font-weight:400;gap:10px}.rail-nav button:hover{background:var(--line-soft)}.rail-nav button svg{width:17px;height:17px;stroke-width:1.9}.rail-nav button span{flex:1 1 auto;text-align:left}.rail-nav button em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--ink-dim)}.rail-nav button[aria-selected=true]{background:var(--accent-wash);color:var(--accent);font-weight:500}.rail-nav button[aria-selected=true] em{color:var(--accent)}.rail-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:9px}.avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#e7eef9;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.rail-who{min-width:0;flex:1 1 auto}.rail-who b{display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-who em{display:block;font-style:normal;font-size:11px;color:var(--ink-dim)}.work{flex:999 1 560px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:9px 18px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.target{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-dim)}.target select{background:var(--panel);border:1px solid #DCDCD7;border-radius:7px;padding:5px 8px;font:inherit;font-size:13px;color:var(--ink);max-width:220px}.page{padding:22px 24px 24px;overflow:auto}.page-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head>div:first-child{flex:1 1 320px;min-width:0}.page-head p{margin:5px 0 0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.list{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 16px}th{background:var(--sunk);border-bottom:1px solid var(--line-soft);color:var(--ink-dim);font-size:12px;font-weight:500;padding-top:10px;padding-bottom:10px}tbody tr{border-bottom:1px solid var(--line-soft);border-left:3px solid transparent;cursor:pointer}tbody tr:last-child{border-bottom:0}tbody tr:hover{background:var(--sunk)}tbody tr[aria-selected=true]{border-left-color:var(--accent);background:#fbfcfe}tr.empty td,tr.empty{cursor:default;color:var(--ink-soft);text-align:center;padding:30px 20px}tr.empty:hover{background:transparent}.state-done,.state-prelim,.state-reading,.state-waiting,.state-bad{font-size:12.5px;white-space:nowrap}.state-done{color:var(--ink);font-weight:600}.state-prelim{color:var(--accent);font-weight:500}.state-reading{color:var(--warn);font-weight:500}.state-waiting{color:var(--ink-soft)}.state-bad{color:var(--bad);font-weight:500}.cold{display:inline-block;margin-left:6px;background:var(--line-soft);color:var(--ink-soft);border-radius:6px;padding:1px 7px;font-size:11.5px;white-space:nowrap}.split{display:flex;gap:14px;flex-wrap:wrap}.pane{flex:1 1 320px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px}.overview .exam{font-weight:500;margin-bottom:10px}.overview h4{font-size:13px;font-weight:500;margin:14px 0 6px}.overview .small{color:var(--ink-soft);font-size:12.5px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px;margin:0 0 12px}.facts dt{color:var(--ink-dim);font-size:12px}.facts dd{margin:0}.strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin:0}.strip figure{flex:0 0 auto;width:96px;margin:0}.strip img,.strip .noimage{display:block;width:96px;height:96px;object-fit:contain;background:#17191c;border:1px solid var(--line);border-radius:8px}.strip .noimage{display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:11px}.strip figcaption{font-size:11.5px;margin-top:5px}.strip figcaption b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip figcaption span{display:block;color:var(--ink-dim)}.report h3{font-size:13px;font-weight:500;margin:14px 0 4px}.report h3:first-child{margin-top:0}.report p{margin:0 0 10px;white-space:pre-wrap}.report .sig{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:12px;font-size:12.5px;color:var(--ink-soft)}.report .verified{color:var(--accent);font-weight:500}.report .unverified{color:var(--bad);font-weight:500}.report .compared li{font-size:12.5px;color:var(--ink-soft)}dialog{width:min(560px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;padding:0;background:var(--panel);color:var(--ink)}dialog::backdrop{background:#17191c6b}dialog form{padding:22px}dialog h2{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px}dialog menu{display:flex;gap:8px;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line-soft)}dialog menu #upload-close{margin-left:auto}.plan-line{display:flex;align-items:baseline;gap:8px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.plan-line em{font-style:normal;color:var(--ink-dim);font-size:12.5px;margin-left:auto}.plan-problems{background:var(--warn-wash);border:1px solid #E8D3B8;border-radius:10px;padding:11px 13px;margin-top:12px;color:var(--warn);font-size:12.5px}.bar-track{height:8px;background:#f2f2ef;border-radius:999px;overflow:hidden;margin:14px 0 10px}.bar-fill{height:8px;width:0;background:var(--accent);border-radius:999px;transition:width .3s ease}#progress-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 10px}#progress-figures dt{color:var(--ink-dim);font-size:12px}#progress-figures dd{margin:0 0 4px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}#progress-current{font-family:var(--mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-note{border-top:1px solid var(--line-soft);margin:14px 0 0;padding-top:12px;color:var(--ink-soft);font-size:12.5px}@media(max-width:760px){.app{flex-direction:column}.rail{max-width:none}.rail-nav{flex-direction:row;flex-wrap:wrap}.rail-nav button{width:auto}.page{padding:18px 16px}th,td{padding:11px 12px}}.modes{border:0;padding:0;margin:0 0 16px}.modes legend{padding:0;color:var(--ink-dim);font-size:12px;font-weight:500;margin-bottom:7px}.modes label{display:flex;gap:10px;align-items:flex-start;border:1px solid #DCDCD7;border-radius:10px;padding:11px 13px;margin-bottom:8px;cursor:pointer}.modes label:has(input:checked){border-color:var(--accent);background:var(--accent-wash)}.modes label.disabled{cursor:default;background:#fafaf8}.modes input{margin:3px 0 0;flex:0 0 auto}.modes b{display:block;font-size:13.5px;font-weight:500}.modes em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-soft);margin-top:1px}.modes label.disabled b,.modes label.disabled em{color:var(--ink-dim)}.modes i{font-style:normal;background:var(--line-soft);color:var(--ink-soft);border-radius:5px;padding:1px 6px;font-size:11px;margin-left:4px}.sharing{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--accent-wash);color:var(--accent);font-size:13.5px}.sharing.connecting,.sharing.closed{background:#fbf0e6;color:#8a3f06}.sharing[hidden]{display:none}.sharing.paused{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fbf0e6;color:#8a3f06}.live-badge.off{background:#fbf0e6;color:#8a3f06}.sharing.paused[hidden]{display:none}.plan-request{padding:8px 0;border-bottom:1px solid var(--line-soft, #EFEFEC)}.plan-request:last-child{border-bottom:0}.plan-studies{margin:4px 0 0 18px;padding:0;font-size:13px;color:var(--ink-soft)}
