:root{--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;--bg:#f7f7f8;--surface:#fff;--surface-2:#f4f4f5;--surface-hover:#f9f9fa;--border:#e8e8eb;--border-strong:#d6d6db;--text:#18181b;--text-2:#3f3f46;--muted:#71717a;--faint:#a1a1aa;--accent:#3b6fe0;--accent-hover:#2f5fcc;--accent-soft:#edf2fd;--accent-text:#2a56b8;--on-accent:#fff;--amber-soft:#fdf3e2;--amber-text:#9a5b00;--green-soft:#e8f7ee;--green-text:#1d7a46;--violet-soft:#f1edfd;--violet-text:#6741c9;--danger:#d33a3c;--danger-soft:#fdecec;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280a;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280f;--ring:0 0 0 3px #3b6fe038;--sidebar-w:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#0e0f11;--surface:#16171a;--surface-2:#1d1e22;--surface-hover:#1b1c20;--border:#26272c;--border-strong:#34363c;--text:#ededef;--text-2:#c9c9ce;--muted:#8e8e96;--faint:#63636b;--accent:#6b93f2;--accent-hover:#86a7f5;--accent-soft:#1b2440;--accent-text:#9db8f7;--on-accent:#0c1120;--amber-soft:#2e2414;--amber-text:#f0c27a;--green-soft:#142a1e;--green-text:#7fd3a2;--violet-soft:#241c3d;--violet-text:#b9a3f5;--danger:#f07a7b;--danger-soft:#2d1718;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 4px 16px #0000004d;--ring:0 0 0 3px #6b93f24d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}body{font-size:14px}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}.muted{color:var(--muted)}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:2px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.logo{color:var(--text);align-items:center;gap:10px;padding:4px 8px 18px;display:flex}.logo-mark{border-radius:10px;flex-shrink:0;width:34px;height:34px;box-shadow:0 2px 8px #3b6fe059}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-name{letter-spacing:-.02em;font-size:15.5px;font-weight:750}.logo-sub{color:var(--muted);font-size:11.5px;font-weight:500}.nav-label{color:var(--faint);letter-spacing:.04em;padding:10px 10px 6px;font-size:11px;font-weight:600}.nav-item{border-radius:var(--radius-sm);height:36px;color:var(--text-2);align-items:center;gap:10px;padding:0 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item svg{color:var(--muted);transition:color .12s}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.active svg{color:var(--accent)}.sidebar-footer{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);align-items:center;gap:10px;margin-top:auto;padding:10px;display:flex}.sidebar-user{flex:1;min-width:0;line-height:1.3}.sidebar-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--muted);font-size:12px}.main{min-width:0}.page{max-width:1080px;margin:0 auto;padding:36px 36px 80px}.mobile-bar{display:none}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.03em;font-size:26px;font-weight:750}.page-desc{color:var(--muted);margin-top:6px}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s,color .12s;display:inline-flex}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #3b6fe04d}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:not(:disabled):hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-danger-ghost:not(:disabled):hover{background:var(--danger-soft)}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-lg{height:44px;font-size:14.5px}.btn-block{width:100%}.icon-btn{width:32px;height:32px;padding:0}.input,.textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .12s,box-shadow .12s}.input{height:42px;padding:0 12px}.textarea{resize:vertical;min-height:96px;padding:12px 14px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-2);font-size:13px;font-weight:600}.search-box{flex:280px;min-width:0;position:relative}.search-box svg{color:var(--faint);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-box .input{padding-left:40px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #10182814, 0 0 0 1px var(--border)}.segmented button:focus-visible{box-shadow:var(--ring);outline:none}.segmented-sm button{height:28px;padding:0 10px;font-size:12.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-2);cursor:pointer;border-radius:999px;padding:0 13px;font-size:13px;font-weight:500;transition:all .12s}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.chip:focus-visible{box-shadow:var(--ring);outline:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.toolbar{flex-direction:column;gap:12px;margin-bottom:18px;padding:14px;display:flex}.toolbar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-row+.toolbar-row{border-top:1px dashed var(--border);padding-top:12px}.toolbar-label{color:var(--faint);min-width:44px;margin-right:2px;font-size:12px;font-weight:600}.list-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:2px 2px 10px;font-size:13px;display:flex}.list-meta strong{color:var(--text);font-variant-numeric:tabular-nums}.badge{white-space:nowrap;background:var(--surface-2);height:22px;color:var(--muted);border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.badge svg{width:12px;height:12px}.badge-amber{background:var(--amber-soft);color:var(--amber-text)}.badge-blue{background:var(--accent-soft);color:var(--accent-text)}.badge-green{background:var(--green-soft);color:var(--green-text)}.badge-violet{background:var(--violet-soft);color:var(--violet-text)}.badge-outline{box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);background:0 0}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:999px;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.rows{margin:0;padding:0;list-style:none;overflow:hidden}.rows>li+li{border-top:1px solid var(--border)}.row{color:inherit;gap:14px;padding:18px 20px;transition:background .12s;display:flex}a.row:hover{background:var(--surface-hover)}.row-body{flex:1;min-width:0}.row-head{align-items:center;gap:8px;min-width:0;display:flex}.row-title{letter-spacing:-.01em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.row-preview{color:var(--muted);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin-top:4px;line-height:1.55;display:-webkit-box;overflow:hidden}.row-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:12.5px;display:flex}.meta-item{align-items:center;gap:5px;display:inline-flex}.row-meta svg{width:14px;height:14px}.author-name{color:var(--text-2);font-weight:600}.row-side{color:var(--faint);flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:8px;font-size:12.5px;display:flex}.row-chevron{color:var(--faint);transition:transform .12s,color .12s}a.row:hover .row-chevron{color:var(--text-2);transform:translate(2px)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-hover)}.person{align-items:center;gap:12px;min-width:0;display:flex}.person-name{color:var(--text);white-space:nowrap;font-weight:600}.person-sub{color:var(--muted);font-size:12.5px}.cell-muted{color:var(--muted);white-space:nowrap;font-size:13px}.table .cell-right{text-align:right;white-space:nowrap}.breadcrumb{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:18px;padding:0;font-weight:500;display:inline-flex}.breadcrumb:hover{color:var(--text)}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.detail-main{flex-direction:column;gap:18px;min-width:0;display:flex}.post{padding:28px 30px}.post-badges{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.post-title{letter-spacing:-.025em;font-size:23px;font-weight:750;line-height:1.35}.post-time{color:var(--muted);margin-top:8px;font-size:13px}.post-content{border-top:1px solid var(--border);white-space:pre-wrap;color:var(--text-2);margin-top:22px;padding-top:22px;font-size:15.5px;line-height:1.85}.aside{flex-direction:column;gap:14px;display:flex;position:sticky;top:24px}.aside-title{color:var(--faint);letter-spacing:.03em;margin-bottom:14px;font-size:12px;font-weight:600}.author-card{align-items:center;gap:12px;display:flex}.author-card-name{font-size:15px;font-weight:700}.author-card-sub{color:var(--muted);font-size:13px}.note{border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber-text);gap:8px;margin-top:14px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.note svg{flex-shrink:0;margin-top:1px}.kv{flex-direction:column;gap:12px;margin:0;display:flex}.kv div{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.kv dt{color:var(--muted)}.kv dd{color:var(--text-2);text-align:right;margin:0;font-weight:600}.section-head{letter-spacing:-.01em;align-items:center;gap:8px;margin-top:6px;font-size:16px;font-weight:700;display:flex}.count-pill{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.composer{padding:14px 16px;transition:border-color .12s,box-shadow .12s}.composer .textarea{resize:none;background:0 0;border:none;min-height:72px;padding:4px 2px 10px}.composer .textarea:focus{box-shadow:none}.composer:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.composer-bar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.composer-bar .spacer{flex:1}.counter{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.thread{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.comment{padding:18px 20px}.comment-row{gap:12px;display:flex}.comment-body{flex:1;min-width:0}.comment-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.comment-name{font-weight:650}.comment-time{color:var(--faint);font-size:12.5px}.comment-text{white-space:pre-wrap;color:var(--text-2);margin-top:6px;line-height:1.65}.comment-actions{gap:2px;margin-top:6px;margin-left:-10px;display:flex}.replies{border-left:2px solid var(--border);flex-direction:column;gap:16px;margin:14px 0 0 48px;padding:0 0 0 16px;list-style:none;display:flex}.reply-composer{margin:14px 0 0 48px}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:60px 20px;display:flex}.empty-icon{background:var(--surface-2);width:48px;height:48px;color:var(--faint);border-radius:14px;place-items:center;margin-bottom:8px;display:grid}.empty-title{color:var(--text);font-size:15px;font-weight:650}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 37%, var(--surface-2) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--accent-soft);color:var(--accent-text)}.alert-success{background:var(--green-soft);color:var(--green-text)}.pagination{justify-content:center;align-items:center;gap:4px;margin-top:22px;display:flex}.page-btn{border-radius:var(--radius-sm);min-width:34px;height:34px;color:var(--text-2);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;place-items:center;padding:0 8px;font-size:13px;font-weight:600;display:inline-grid}.page-btn:hover:not(:disabled){background:var(--surface-2)}.page-btn[aria-current=page]{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--text)}.page-btn:disabled{color:var(--faint);cursor:default}.page-gap{color:var(--faint);padding:0 4px}.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-hero{color:#fff;background:radial-gradient(120% 90% at 0 0,#6d9cf7 0%,#0000 55%),radial-gradient(90% 80% at 100% 100%,#2a4fb8 0%,#0000 60%),linear-gradient(160deg,#3f78ea,#2c55c4);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth-hero:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff24 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 45%,#0000);mask-image:linear-gradient(#0000,#000 45%,#0000)}.auth-hero .logo{color:#fff;z-index:1;padding:0;position:relative}.auth-hero .logo-sub{color:#ffffffbf}.auth-hero .logo-mark{box-shadow:0 0 0 2px #ffffff8c,0 6px 18px #00000040}.auth-hero-copy{z-index:1;max-width:440px;position:relative}.auth-hero-title{letter-spacing:-.035em;font-size:34px;font-weight:750;line-height:1.3}.auth-hero-desc{color:#ffffffd6;margin-top:16px;font-size:15px;line-height:1.75}.auth-hero-points{flex-direction:column;gap:12px;margin-top:28px;display:flex}.auth-hero-point{color:#ffffffeb;align-items:center;gap:10px;font-size:14px;display:flex}.auth-hero-point span{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.auth-hero-foot{z-index:1;color:#ffffffa6;font-size:12.5px;position:relative}.auth-panel{background:var(--surface);place-items:center;padding:40px 24px;display:grid}.auth-form-wrap{width:100%;max-width:380px}.auth-mobile-logo{display:none}.auth-title{letter-spacing:-.03em;font-size:26px;font-weight:750}.auth-desc{color:var(--muted);margin-top:6px;line-height:1.6}.form{flex-direction:column;gap:16px;margin-top:28px;display:flex}.auth-foot{color:var(--muted);text-align:center;margin-top:24px;font-size:13px}.auth-foot a{font-weight:600}.steps{gap:6px;margin-top:22px;display:flex}.step{color:var(--faint);flex-direction:column;flex:1;gap:6px;font-size:12px;font-weight:600;display:flex}.step:before{content:"";background:var(--border);border-radius:999px;height:4px}.step.done:before,.step.active:before{background:var(--accent)}.step.active{color:var(--text)}.code-input{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;height:54px;font-size:22px;font-weight:700}.center-screen{place-items:center;min-height:100vh;display:grid}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-card{text-align:center}.status-icon{background:var(--amber-soft);width:56px;height:56px;color:var(--amber-text);border-radius:16px;place-items:center;margin:0 auto 18px;display:grid}@media (width<=960px){.detail-grid{grid-template-columns:minmax(0,1fr)}.aside{order:-1;position:static}}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-bar{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-bar .logo{padding:0}.mobile-nav{align-items:center;gap:2px;display:flex}.mobile-nav .nav-item{height:32px;padding:0 10px;font-size:13px}.page{padding:22px 16px 64px}.auth{grid-template-columns:minmax(0,1fr)}.auth-hero{display:none}.auth-mobile-logo{padding:0 0 28px;display:flex}}@media (width<=640px){.toolbar-row>.segmented{width:100%}.toolbar-row>.segmented button{flex:1;justify-content:center}.page-header{flex-direction:column;align-items:flex-start}.row{padding:14px 16px}.row-side{display:none}.post{padding:22px 20px}.replies,.reply-composer{margin-left:12px}.mobile-bar .logo-text,.hide-sm{display:none}}
