@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap");@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-surface-raised:#ffffff;--color-text:#201e1d;--color-accent:#ec3013;--color-divider:color-mix(in srgb,#201e1d 40%,transparent);--color-hairline:color-mix(in srgb,#201e1d 16%,transparent);--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-success:#1d6b3f;--color-success-bg:#e4f0e8;--color-warning:#8a5a00;--color-warning-bg:#f6ecd8;--color-danger:#ae1800;--color-danger-bg:#ffe0d9;--color-danger-solid:#ae1800;--color-on-danger:#ffffff;--color-info:#1f4f80;--color-info-bg:#e2ebf4;--font-heading:"Archivo","Pretendard Variable",Pretendard,system-ui,-apple-system,sans-serif;--font-body:"Archivo","Pretendard Variable",Pretendard,system-ui,-apple-system,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--font-heading-weight:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px color-mix(in srgb,#2d2b2b 14%,transparent);--shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,transparent);--shadow-lg:0 12px 32px color-mix(in srgb,#2d2b2b 22%,transparent);--sidebar-w:232px;--sidebar-w-collapsed:60px;--topbar-h:56px;--z-drawer:40;--z-dialog:50;--z-toast:60}[data-theme=dark]{--color-bg:#1a1918;--color-surface:#232120;--color-surface-raised:#2d2b2b;--color-text:#f3f2f2;--color-divider:color-mix(in srgb,#f3f2f2 34%,transparent);--color-hairline:color-mix(in srgb,#f3f2f2 14%,transparent);--color-accent:#ff563c;--color-success:#7fc79c;--color-success-bg:#22322a;--color-warning:#e0b45f;--color-warning-bg:#33291a;--color-danger:#ff9783;--color-danger-bg:#3a201b;--color-danger-solid:#c9351c;--color-on-danger:#ffffff;--color-info:#8db6de;--color-info-bg:#1f2a35;--shadow-sm:0 1px 2px rgba(0,0,0,.5);--shadow-md:0 3px 10px rgba(0,0,0,.55);--shadow-lg:0 12px 32px rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-wrap:pretty}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2);text-wrap:balance}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}a:hover{color:var(--color-accent-600)}img{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-mono{font-family:var(--font-mono);font-size:.92em}.text-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog :has(>.text-ellipsis){min-width:0}.kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.grayscale{filter:grayscale(1) contrast(1.08)}.hr{border:0;margin:var(--space-4) 0;border-radius:var(--radius-pill)}.hr,.hr-thin{height:1px;background:var(--color-hairline)}.hr-thin{border:0;margin:var(--space-3) 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.stack{gap:var(--space-3)}.stack,.stack-2{display:flex;flex-direction:column}.stack-2{gap:var(--space-2)}.stack-6{display:flex;flex-direction:column;gap:var(--space-6)}.row{gap:var(--space-3)}.row,.row-end{display:flex;align-items:center}.row-end{gap:var(--space-2);justify-content:flex-end}.spacer{flex:1 1}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-start{align-items:start}.grid-2>.accordion+.accordion,.grid-3>.accordion+.accordion,.grid-4>.accordion+.accordion,.grid-auto-sm>.accordion+.accordion,.grid-auto>.accordion+.accordion,.grid-sidebar>.accordion+.accordion{margin-top:0}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3,.grid-4{display:grid;gap:var(--space-4)}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-sidebar{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-6)}@media (max-width:900px){.grid-2,.grid-3,.grid-4,.grid-sidebar{grid-template-columns:1fr}}.page{padding:var(--space-6) var(--space-8);max-width:1440px}.page-head{display:flex;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-6)}.page-title{font-size:28px;margin:0}.page-sub{font-size:13px;margin:4px 0 0;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.page-actions{margin-left:auto;display:flex;gap:var(--space-2)}.section-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100%;min-height:100vh}.shell[data-collapsed=true]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.shell-main{display:flex;flex-direction:column;min-width:0}.shell-body{flex:1 1;overflow:auto}.sidebar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;background:var(--color-surface);border-right:1px solid var(--color-hairline);overflow:hidden}.sidebar-backdrop{display:none}@media (max-width:700px){.shell,.shell[data-collapsed=true]{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:40;width:min(78vw,300px);transform:translateX(-100%);transition:transform .2s ease;overflow-y:auto}.shell[data-mobile-open=true] .sidebar{transform:translateX(0);box-shadow:var(--shadow-lg)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:39;border:0;padding:0;cursor:pointer;background:color-mix(in srgb,var(--color-neutral-900) 45%,transparent)}.topbar{padding:0 var(--space-3)}.page,.page-narrow{padding:var(--space-4) var(--space-3)}}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-3);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;letter-spacing:-.02em;border-bottom:1px solid var(--color-hairline);margin-bottom:var(--space-2)}.sidebar-mark{width:22px;height:22px;flex:none;background:var(--color-accent);border-radius:var(--radius-sm)}.sidebar-group{padding:var(--space-3) var(--space-4) var(--space-1)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px var(--space-4);font:inherit;font-size:14px;text-align:left;color:var(--color-text);text-decoration:none;background:none;border:0;border-left:3px solid transparent;cursor:pointer;white-space:nowrap;margin:0 var(--space-2);width:auto;padding-inline:var(--space-3);border-left:0;border-radius:var(--radius-md)}.nav-item:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.nav-item[aria-current=page]{color:var(--color-accent);font-weight:600;background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.nav-item .nav-badge{margin-left:auto}@media (min-width:701px){.shell[data-collapsed=true] .nav-label{display:none}.shell[data-collapsed=true] .nav-item,.shell[data-collapsed=true] .sidebar-brand{justify-content:center;padding-inline:0}.shell[data-collapsed=true] .nav-badge{display:none}.shell[data-collapsed=true] .sidebar-group{padding:var(--space-2) 0 0}.shell[data-collapsed=true] .sidebar-group:before{content:"";display:block;border-top:1px solid var(--color-hairline);margin:0 var(--space-3)}.shell[data-collapsed=true] nav>div:first-child .sidebar-group:before{display:none}}.topbar{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-6);flex:none;border-bottom:1px solid var(--color-hairline);background:var(--color-bg)}.topbar-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px}.crumb{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.crumb b{font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis}.avatar{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;font-size:12px}.avatar,.btn{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;white-space:nowrap;cursor:pointer;text-decoration:none;font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);transition:background .12s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-600)}.btn-primary:active:not(:disabled){background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-2)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-danger{background:var(--color-danger-solid);color:var(--color-on-danger)}.btn-icon{width:34px;height:34px;padding:0;border-color:var(--color-divider)}.btn-pill{border-radius:var(--radius-pill)}.btn-sm{font-size:12px;padding:5px 10px}.btn-block{width:100%;justify-content:flex-start;text-align:left}.btn-row{white-space:normal;flex-wrap:wrap}.field{display:flex;flex-direction:column}.field>label{font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.field>label .req{color:var(--color-accent);margin-left:3px}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input::placeholder{color:color-mix(in srgb,var(--color-text) 38%,transparent)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}.input:disabled{opacity:.5;cursor:not-allowed}select.input{appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-size:5px 5px,5px 5px;background-position:right 13px center,right 8px center;background-repeat:no-repeat}textarea.input{min-height:90px;resize:vertical}.field-hint{color:color-mix(in srgb,var(--color-text) 50%,transparent)}.field-error,.field-hint{font-size:11px;margin-top:4px}.field-error{color:var(--color-danger);font-weight:600}.field[data-invalid=true] .input{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 6%,var(--color-surface))}.check,.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.check input,.radio input,.seg-opt input,.switch input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.check .box{width:16px;height:16px;flex:none;display:grid;place-items:center;border:1.5px solid var(--color-divider);color:transparent;font-size:11px;border-radius:var(--radius-sm)}.check input:checked+.box{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.seg{overflow-x:auto;max-width:100%;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer;white-space:nowrap;flex:none}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:#fff}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.switch .track{width:38px;height:20px;flex:none;background:var(--color-neutral-400);position:relative;transition:background .15s ease;border-radius:var(--radius-pill)}.switch .track:after{content:"";position:absolute;inset:2px auto 2px 2px;width:16px;background:#fff;border-radius:var(--radius-pill);transition:transform .15s ease}.switch input:checked+.track{background:var(--color-accent)}.switch input:checked+.track:after{transform:translateX(18px)}.card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;overflow-wrap:anywhere;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg)}.card-outline{background:transparent;border:1px solid var(--color-hairline)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1 1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-bg)}.stat-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.stat-value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(24px,2.4vw,34px);line-height:1;letter-spacing:-.03em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-delta{font-size:12px;font-weight:600}.stat-unit{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px;margin-left:2px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.stat-delta[data-dir=up]{color:var(--color-success)}.stat-delta[data-dir=down]{color:var(--color-danger)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-neutral{background:var(--color-neutral-200);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.tag-success{background:var(--color-success-bg);color:var(--color-success)}.tag-warning{background:var(--color-warning-bg);color:var(--color-warning)}.tag-danger{background:var(--color-danger-bg);color:var(--color-danger)}.tag-info{background:var(--color-info-bg);color:var(--color-info)}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;background:var(--color-accent);color:#fff;border-radius:var(--radius-pill)}.table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px}.table td,.table th{min-width:4.5rem}.table td{white-space:normal;word-break:keep-all}.table .num,.table th{white-space:nowrap}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-divider)}.table th[aria-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}.table th[aria-sort]:hover{color:var(--color-accent)}.table td{padding:11px var(--space-3);border-bottom:1px solid var(--color-hairline);vertical-align:middle}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.table tbody tr[data-selected=true]{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .text-mono,.table td .btn,.table td .tag,.table td .text-mono{white-space:nowrap}.toolbar{gap:var(--space-2);padding-bottom:var(--space-3)}.pagination,.toolbar{display:flex;align-items:center;flex-wrap:wrap}.pagination{gap:var(--space-1);padding:var(--space-4) 0}.page-btn{min-width:30px;height:30px;padding:0 8px;font:inherit;font-size:13px;background:none;border:1px solid transparent;cursor:pointer;color:var(--color-text);border-radius:var(--radius-md)}.page-btn:hover:not(:disabled){border-color:var(--color-divider)}.page-btn[aria-current=page]{background:var(--color-accent);color:#fff}.page-btn:disabled{opacity:.35;cursor:not-allowed}.dl{display:grid;grid-template-columns:140px minmax(0,1fr)}.dl>dt{padding:11px var(--space-3) 11px 0;font-size:12px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.dl>dd,.dl>dt{border-bottom:1px solid var(--color-hairline)}.dl>dd{margin:0;padding:11px 0;font-size:14px}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--color-hairline);overflow-x:auto}.tab{padding:9px 2px;font:inherit;font-size:14px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;flex:none;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.tab:hover{color:var(--color-text)}.tab[aria-selected=true]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.timeline{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.timeline>li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-4);position:relative}.timeline>li:before{content:"";width:9px;height:9px;margin-top:6px;background:var(--color-accent)}.timeline>li:not(:last-child):after{content:"";position:absolute;left:4px;top:18px;bottom:0;width:1px;background:var(--color-hairline)}.banner{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:13px;border-radius:var(--radius-md);border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.banner[data-tone=success]{border-color:var(--color-success);background:var(--color-success-bg)}.banner[data-tone=warning]{border-color:var(--color-warning);background:var(--color-warning-bg)}.banner[data-tone=danger]{border-color:var(--color-danger);background:var(--color-danger-bg)}.banner[data-tone=info]{border-color:var(--color-info);background:var(--color-info-bg)}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);z-index:var(--z-dialog);background:color-mix(in srgb,#000 55%,transparent)}.dialog{width:min(460px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-bg);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}.dialog,.dialog>*{min-width:0}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-head{flex-wrap:wrap}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.drawer-backdrop{inset:0;background:color-mix(in srgb,#000 45%,transparent)}.drawer,.drawer-backdrop{position:fixed;z-index:var(--z-drawer)}.drawer{top:0;right:0;bottom:0;width:min(420px,92vw);display:flex;flex-direction:column;background:var(--color-bg);border-left:1px solid var(--color-hairline);box-shadow:var(--shadow-lg)}.drawer-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-hairline)}.drawer-body{flex:1 1;overflow:auto;padding:var(--space-6)}.progress{height:8px;width:100%;background:color-mix(in srgb,var(--color-text) 10%,transparent);overflow:hidden}.progress,.progress>span{border-radius:var(--radius-pill)}.progress>span{display:block;height:100%;background:var(--color-accent);transition:width .3s ease}.progress[data-tone=success]>span{background:var(--color-success)}.stepper{list-style:none;margin:0;padding:0}.stepper,.stepper>li{display:flex;align-items:center;gap:var(--space-2)}.stepper>li{font-size:13px;white-space:nowrap;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.stepper>li:before{content:counter(step);counter-increment:step;width:22px;height:22px;display:grid;place-items:center;font-size:11px;font-weight:700;border-radius:var(--radius-pill);border:1px solid var(--color-hairline)}.stepper{counter-reset:step}.stepper>li:after{content:"";width:28px;height:1px;background:var(--color-hairline)}.stepper>li:last-child:after{display:none}.stepper>li[data-state=done]{color:var(--color-text)}.stepper>li[data-state=done]:before{background:var(--color-accent);color:#fff;border-color:var(--color-accent);content:"✓"}.stepper>li[aria-current=step]{color:var(--color-accent);font-weight:600}.stepper>li[aria-current=step]:before{border-color:var(--color-accent);color:var(--color-accent)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 11px;font-size:12px;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-pill)}.chip button{width:16px;height:16px;display:grid;place-items:center;font:inherit;font-size:11px;line-height:1;background:none;border:0;cursor:pointer;color:inherit;border-radius:var(--radius-pill);opacity:.6}.chip button:hover{opacity:1;background:color-mix(in srgb,var(--color-text) 12%,transparent)}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--color-bg)}.avatar-group .avatar+.avatar{margin-left:-10px}.avatar-neutral{background:var(--color-neutral-600)}.kbd{display:inline-block;font-size:11px;background:var(--color-surface);border:solid var(--color-hairline);border-width:1px 1px 2px}.code,.kbd{padding:1px 6px;font-family:var(--font-mono);border-radius:var(--radius-sm)}.code{font-size:.88em;background:color-mix(in srgb,var(--color-text) 7%,transparent)}.tooltip{position:relative}.tooltip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:5px 9px;font-size:11px;white-space:nowrap;background:var(--color-neutral-900);color:#f3f2f2;border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity .12s ease}.tooltip:focus-visible:after,.tooltip:hover:after{opacity:1}.accordion{border:1px solid var(--color-hairline);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg)}.accordion+.accordion{margin-top:var(--space-2)}.accordion>summary{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-3) var(--space-4);font-size:14px;font-weight:600;list-style:none}.accordion>summary::-webkit-details-marker{display:none}.accordion>summary:after{content:"▾";margin-left:auto;font-size:11px;opacity:.55;transition:transform .15s ease}.accordion[open]>summary:after{transform:rotate(180deg)}.accordion>summary:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.accordion-body{padding:0 var(--space-4) var(--space-4);font-size:13px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.accordion-sub{display:block;margin-top:2px;font-size:13px;font-weight:400;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.launcher{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center}.launcher .btn{margin-top:var(--space-6)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-hairline)}.list-row:last-child{border-bottom:0}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-12) var(--space-8);border:1px dashed var(--color-hairline);border-radius:var(--radius-lg)}.empty-mark{width:40px;height:40px;border:2px solid var(--color-hairline);border-radius:var(--radius-md)}.empty-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.empty-body{font-size:13px;max-width:46ch;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin:0}.skeleton{background:color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:var(--radius-sm);animation:skeleton-pulse 1.3s ease-in-out infinite}.skeleton-line{height:12px}.skeleton-title{height:22px;width:45%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.spinner{width:18px;height:18px;border:2px solid var(--color-hairline);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast-stack{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);min-width:280px;padding:var(--space-3) var(--space-4);font-size:13px;background:var(--color-neutral-900);color:#f3f2f2;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.container{max-width:1180px}.container,.container-narrow{width:100%;margin:0 auto;padding:var(--space-8) var(--space-4)}.container-narrow{max-width:760px}.page-narrow{padding:var(--space-6) var(--space-4);max-width:820px;margin:0 auto}.grid-auto{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-auto-sm{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.site-header{position:sticky;top:0;z-index:var(--z-drawer);background:var(--color-bg);border-bottom:2px solid var(--color-divider)}.site-header-inner{gap:var(--space-4);height:var(--topbar-h)}.site-brand,.site-header-inner{display:flex;align-items:center}.site-brand{gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;letter-spacing:-.02em;color:var(--color-text);text-decoration:none;flex:none}.site-brand:hover{color:var(--color-accent)}.topnav{display:flex;align-items:center;gap:var(--space-1)}.topnav .nav-item{margin:0;padding:7px var(--space-3)}.nav-divider{width:1px;height:20px;flex:none;background:var(--color-divider)}.site-footer{margin-top:var(--space-12);padding:var(--space-8) 0;border-top:2px solid var(--color-divider);font-size:13px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}@media (max-width:700px){.page-head{flex-wrap:wrap;align-items:flex-start}.page-actions{margin-left:0;width:100%}.dl{grid-template-columns:1fr}.dl>dt{padding-bottom:0;border-bottom:0}.dl>dd{padding-top:var(--space-1)}.only-wide{display:none!important}}@media (min-width:701px){.only-narrow{display:none!important}}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;border-radius:var(--radius-md)}.skip-link:focus-visible{top:var(--space-2)}@supports (padding-top:env(safe-area-inset-top)){.pt-safe{padding-top:env(safe-area-inset-top)}}@supports (padding-bottom:env(safe-area-inset-bottom)){.pb-safe{padding-bottom:env(safe-area-inset-bottom)}}.no-overscroll{overscroll-behavior:none}.article{font-size:16px;line-height:1.85;max-width:68ch}.article>:first-child{margin-top:0}.article h2{font-size:25px;margin:var(--space-8) 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-divider)}.article h3{font-size:20px;margin:var(--space-6) 0 var(--space-2)}.article h4{font-size:16px;margin:var(--space-4) 0 var(--space-2)}.article ol,.article p,.article ul{margin:0 0 var(--space-4)}.article ol,.article ul{padding-left:var(--space-6)}.article li{margin-bottom:var(--space-2)}.article li::marker{color:var(--color-accent)}.article a{color:var(--color-accent-700);text-decoration:underline}.article strong{font-weight:600}.article blockquote{margin:var(--space-6) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,transparent);border-radius:0 var(--radius-md) var(--radius-md) 0}.article blockquote>:last-child{margin-bottom:0}.article pre{margin:0 0 var(--space-4);padding:var(--space-4);overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.65;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md)}.article :not(pre)>code{padding:1px 6px;font-family:var(--font-mono);font-size:.88em;background:color-mix(in srgb,var(--color-text) 7%,transparent);border-radius:var(--radius-sm)}.article img{margin:var(--space-6) 0;border-radius:var(--radius-lg)}.article hr{height:1px;border:0;margin:var(--space-8) 0;background:var(--color-hairline)}.article table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 var(--space-4)}.article th{text-align:left;border-bottom:2px solid var(--color-divider)}.article td,.article th{padding:var(--space-2) var(--space-3)}.article td{border-bottom:1px solid var(--color-hairline)}.article :where(h2,h3){scroll-margin-top:var(--space-12)}@media print{.site-footer,.site-header,[data-noprint]{display:none!important}:root{--color-bg:#ffffff;--color-surface:#ffffff;--color-text:#201e1d}.article a{text-decoration:underline}}.card-link{color:inherit;text-decoration:none}a:where(.tag,.page-btn,.stat,.nav-item,.btn){text-decoration:none}.card-link:hover .card-title{color:var(--color-accent)}.card-link:hover{color:inherit}.avatar-xl{width:104px;height:104px;font-size:32px}.table-scroll{width:100%;overflow-x:auto}.play-badge{display:grid;place-items:center;width:52px;height:52px;flex:none;color:var(--color-accent);background:var(--color-surface-raised);border-radius:var(--radius-pill);box-shadow:var(--shadow-md)}.chat-log{display:flex;flex-direction:column;gap:var(--space-6);flex:1 1;overflow-y:auto;padding:var(--space-6)}.bubble{max-width:80%;padding:var(--space-3) var(--space-4);font-size:14px;border-radius:var(--radius-lg);background:var(--color-surface)}.bubble p{margin:0;white-space:pre-wrap;overflow-wrap:break-word}.bubble-user{margin-left:auto;background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent)}.bubble-agent{max-width:100%;background:var(--color-surface);border:1px solid var(--color-hairline)}.list-row>span:not(.tag){min-width:0;overflow-wrap:anywhere}.chat-composer{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-hairline)}.chat-composer .input{min-width:0}.chat-agent-select{flex:0 1 176px;min-width:0;max-width:100%}.chat-input-row{display:flex;align-items:flex-end;gap:var(--space-2);flex:1 1 12rem;min-width:0}.chat-composer textarea.input{flex:1 1 12rem}.chart{width:100%;height:auto;display:block}.chart-empty{align-items:center;justify-content:center;color:color-mix(in srgb,var(--color-text) 55%,transparent);border:1px dashed var(--color-hairline);border-radius:var(--radius-lg)}.chart-empty,.legend{display:flex;font-size:13px}.legend{flex-direction:column;gap:var(--space-2)}.legend-row{display:flex;align-items:center;gap:var(--space-2)}.legend-mark{width:10px;height:10px;flex:none;border-radius:var(--radius-sm);background:var(--color-accent)}.legend-mark[data-tone=info]{background:var(--color-info)}.legend-value{margin-left:auto;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.canvas-stage{position:relative;display:grid;place-items:center;overflow:auto;background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-lg)}.canvas-stage canvas{max-width:100%;height:auto;display:block}.crop-guide{position:absolute;inset:0;z-index:50;pointer-events:none;border:2px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:0 0 0 9999px color-mix(in srgb,var(--color-neutral-900) 55%,transparent)}.checkerboard{--checker:10px;background-color:var(--color-surface);background-image:linear-gradient(45deg,color-mix(in srgb,var(--color-text) 8%,transparent) 25%,transparent 25% 75%,color-mix(in srgb,var(--color-text) 8%,transparent) 75%),linear-gradient(45deg,color-mix(in srgb,var(--color-text) 8%,transparent) 25%,transparent 25% 75%,color-mix(in srgb,var(--color-text) 8%,transparent) 75%);background-size:calc(var(--checker) * 2) calc(var(--checker) * 2);background-position:0 0,var(--checker) var(--checker)}.range{width:auto;flex:1 1;min-width:0;height:20px;margin:0;appearance:none;background:none;cursor:pointer}.row:has(>.range)>:not(.range){flex:none;white-space:nowrap}.range::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-text) 18%,transparent)}.range::-moz-range-track{height:4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-text) 18%,transparent)}.range::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6px;background:var(--color-accent);border:0;border-radius:var(--radius-pill)}.range::-moz-range-thumb{width:16px;height:16px;background:var(--color-accent);border:0;border-radius:var(--radius-pill)}.range:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.scroll-y{overflow-y:auto;min-height:0}.reading-detail{position:sticky;left:0;width:min(100%,calc(100vw - var(--space-8)));overflow-wrap:anywhere}.cell-wrap{max-width:12rem;overflow-wrap:anywhere}.date-strip{display:flex;gap:var(--space-2);overflow-x:auto;margin-left:auto;padding-bottom:var(--space-1);scrollbar-width:none;-webkit-overflow-scrolling:touch}.date-strip::-webkit-scrollbar{display:none}.date-strip>*{flex:none}@media (max-width:700px){.stat-wide{grid-column:1/-1}}.banner>svg{flex:none}