:root{--bg:#faf9f5;--surface:#fff;--border:#e8e5dd;--border-strong:#e0dcd2;--ink:#1f1e1d;--ink-soft:#6e6a62;--accent:#f0561d;--accent-soft:color-mix(in srgb, var(--accent) 10%, var(--surface));--ok:#7c9a6d;--warn:#d9a44a;--alert:#b4645a;--neutral:#c9c5bc;--radius:12px;--radius-card:16px;--font-ui:"Pretendard Variable", "Pretendard", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Nanum Myeongjo", "Batang", serif}@media (prefers-color-scheme:dark){:root{--bg:#1c1b19;--surface:#262523;--border:#37352f;--border-strong:#454138;--ink:#f2f0ea;--ink-soft:#a9a49a}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}table,.tabular{font-variant-numeric:tabular-nums}a{color:inherit}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-card);padding:20px}.student{font-size:18px;line-height:1.6}.student button,.student .touch{min-width:48px;min-height:48px}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:.5px solid var(--border-strong);background:var(--surface);color:var(--ink);padding:10px 16px}button[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:#fff}button{transition:transform 90ms,background-color .14s,border-color .14s,box-shadow .14s}button:hover:not(:disabled){border-color:var(--ink-soft)}button:active:not(:disabled){background:color-mix(in srgb, var(--accent) 14%, var(--surface));transform:scale(.97)}button[data-variant=primary]:active:not(:disabled){background:color-mix(in srgb, #000 12%, var(--accent))}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}button[data-just="1"]{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, var(--surface));color:var(--ink)}@media (prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}input{font:inherit;color:var(--ink);background:var(--surface);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:10px 12px}.muted{color:var(--ink-soft)}.ai-draft{font-family:var(--font-serif);background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-radius:var(--radius);padding:16px}.topbar{z-index:20;background:var(--surface);border-bottom:.5px solid var(--border);align-items:center;gap:20px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent);border-radius:4px;width:12px;height:12px;display:inline-block}.toptabs{gap:4px;display:flex}.toptabs a{color:var(--ink-soft);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500;text-decoration:none}.toptabs a:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.toptabs a[aria-current=page]{background:var(--accent);color:#fff}.shell{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 56px);display:grid}.shell>aside{border-right:.5px solid var(--border);background:color-mix(in srgb, var(--ink) 2.5%, var(--surface));flex-direction:column;gap:6px;height:calc(100vh - 56px);padding:14px 10px;display:flex;position:sticky;top:56px;overflow-y:auto}.shell>.shell-main{min-width:0;padding:24px 28px 60px}.student.shell{min-height:100vh}.student.shell>aside{height:100vh;top:0}@media (max-width:860px){.shell{grid-template-columns:1fr}.shell>aside{border-right:none;border-bottom:.5px solid var(--border);height:auto;position:static}.shell>.shell-main{padding:16px}}.sidenav{gap:2px;display:grid}.sidenav-title{letter-spacing:.06em;color:var(--ink-soft);padding:10px 12px 4px;font-size:11px}.sidenav a{color:var(--ink-soft);border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:9px 12px;font-size:14px;text-decoration:none;display:flex}.sidenav a:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.sidenav a[aria-current=page]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-weight:600}.sidenav-badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px}.student .sidenav a{min-height:48px;font-size:18px}.ai-new{background:var(--accent);color:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.ai-threads{flex:1;min-height:0;display:grid}.ai-threads>aside{background:0 0!important;border-right:none!important}.ai-profile{border-top:.5px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px 10px 4px;display:flex}.ai-avatar{background:var(--accent);color:#fff;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.widgets{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.quick-actions a{border-radius:var(--radius);border:.5px solid var(--border);background:var(--surface);align-items:center;gap:10px;min-height:52px;padding:14px 16px;font-weight:600;text-decoration:none;display:flex}.quick-actions a:hover{border-color:var(--accent);background:var(--accent-soft)}
