:root{--ground:#f4f8f8;--surface:#fff;--surface-2:#f0f6f6;--surface-3:#fafcfc;--line:#e3ecec;--line-2:#cddada;--ink:#1b1b1b;--ink-2:#555;--ink-3:#999;--accent:#0b7475;--accent-2:#095c5d;--accent-soft:#e7f2f2;--accent-mid:#b2caca;--on-accent:#fff;--brand-cream:#f9f1d6;--logo-filter:none;--ok:#2e7d52;--ok-soft:#e4f2ea;--info:#1d6fa5;--info-soft:#e3eff7;--warn:#9d6a15;--warn-soft:#f8efdc;--bad:#ab3a30;--bad-soft:#f9e6e4;--sans:"Pretendard Variable", Pretendard, "Malgun Gothic", "Apple SD Gothic Neo", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", Consolas, "D2Coding", monospace;--shadow:0 1px 2px #1b1b1b0f, 0 6px 20px -12px #1b1b1b40;--radius:6px;--radius-lg:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0a1112;--surface:#0f1718;--surface-2:#182324;--surface-3:#121b1c;--line:#233234;--line-2:#31474a;--ink:#e5eded;--ink-2:#9aabab;--ink-3:#788a8a;--accent:#3fa5a6;--accent-2:#5cc0c1;--accent-soft:#0e2c2d;--accent-mid:#2b6465;--on-accent:#04191a;--logo-filter:brightness(1.6) saturate(.9);--ok:#5cb684;--ok-soft:#12291e;--info:#69a8d4;--info-soft:#12242e;--warn:#cb9a44;--warn-soft:#2b2214;--bad:#dd7a70;--bad-soft:#2e1917;--shadow:0 1px 2px #0006, 0 6px 20px -12px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#0a1112;--surface:#0f1718;--surface-2:#182324;--surface-3:#121b1c;--line:#233234;--line-2:#31474a;--ink:#e5eded;--ink-2:#9aabab;--ink-3:#788a8a;--accent:#3fa5a6;--accent-2:#5cc0c1;--accent-soft:#0e2c2d;--accent-mid:#2b6465;--on-accent:#04191a;--logo-filter:brightness(1.6) saturate(.9);--ok:#5cb684;--ok-soft:#12291e;--info:#69a8d4;--info-soft:#12242e;--warn:#cb9a44;--warn-soft:#2b2214;--bad:#dd7a70;--bad-soft:#2e1917;--shadow:0 1px 2px #0006, 0 6px 20px -12px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--mono)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.btn:hover{border-color:var(--accent-mid);background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pill{border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface-3);white-space:nowrap;border-radius:20px;padding:4px 8px;font-size:11px;line-height:1;display:inline-block}.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:#0000}.pill.info{color:var(--info);background:var(--info-soft);border-color:#0000}.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.pill.accent{color:var(--accent);background:var(--accent-soft);border-color:#0000}.center-screen{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.gate{text-align:center;width:100%;max-width:380px;padding:32px 30px}.gate .logo{height:34px;filter:var(--logo-filter);margin-bottom:18px}.gate p{color:var(--ink-2);margin:0 0 20px;font-size:13px}.gate .btn{width:100%;padding:11px 14px}.shell{grid-template-columns:240px 1fr;min-height:100%;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:100vh;max-height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.side .brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.side .brand img{height:22px;filter:var(--logo-filter)}.side .brand span{color:var(--ink-3);letter-spacing:.02em;font-size:11px}.side nav{padding:10px 8px 20px}.side .sec{color:var(--ink-3);letter-spacing:.03em;padding:14px 10px 6px;font-size:11px;font-weight:600}.side .item{border-radius:var(--radius);color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13.5px;display:flex}.side .item:hover{background:var(--surface-2);text-decoration:none}.side .item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side .item .pill{padding:3px 6px;font-size:10px}.main{flex-direction:column;min-width:0;display:flex}.top{border-bottom:1px solid var(--line);background:var(--surface);z-index:5;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.top h1{margin:0;font-size:16px;font-weight:700}.top .spacer{flex:1}.top .who{text-align:right;font-size:12px;line-height:1.35}.top .who b{font-size:13px}.menu-btn{display:none}.content{width:100%;max-width:1280px;padding:24px}.hello{margin-bottom:20px;padding:22px 24px}.hello h2{margin:0 0 4px;font-size:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tile{flex-direction:column;gap:8px;padding:16px 18px;display:flex}.tile h3{justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.tile p{color:var(--ink-2);margin:0;font-size:12.5px}.tile .links{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sec-title{color:var(--ink-2);margin:26px 0 10px;font-size:13px;font-weight:700}.module{padding:24px 26px}.module h2{margin:0 0 6px;font-size:20px}.module ul{color:var(--ink-2);margin:8px 0 0;padding-left:18px;font-size:13px}.module .now{border-radius:var(--radius);background:var(--accent-soft);margin-top:18px;padding:12px 14px;font-size:13px}.perms{flex-wrap:wrap;gap:6px;display:flex}@media (width<=860px){.shell{grid-template-columns:1fr}.side{z-index:20;width:260px;box-shadow:var(--shadow);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.open .side{transform:none}.shell.open:after{content:"";z-index:15;background:#00000059;position:fixed;inset:0}.menu-btn{display:inline-flex}.content{padding:16px}.top{padding:10px 14px}.top .who span{display:none}}
