:root{--ground:#F2F4F2;--surface:#FFFFFF;--surface-2:#E9EDEA;--ink:#14232A;--ink-2:#4A6067;--ink-3:#7C9095;--line:#D5DCD8;--line-strong:#B2BFB9;--accent:#1F6F5F;--accent-soft:#DDEBE5;--ochre:#8E631A;--ochre-soft:#F3E8D2;--crit:#A03B2B;--crit-soft:#F6E2DD;--warn:#8E631A;--warn-soft:#F5EBD8;--radius:4px;--sticky-tabs:52px;--shadow:0 1px 2px rgba(20,35,42,.05),0 8px 24px -18px rgba(20,35,42,.3)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{margin:0;letter-spacing:-.015em;text-wrap:balance}h1{font-size:1.6rem}h1,h2{font-weight:650}h2{font-size:1.05rem}h3{font-size:.95rem;font-weight:600}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.shell{display:grid;grid-template-columns:232px 1fr;height:100dvh;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:26px;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:baseline;gap:8px;padding:0 8px}.brand strong{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.brand span{font-size:11px;color:var(--ink-3)}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:var(--radius);color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:500}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav a[data-soon=true]{opacity:.45;pointer-events:none}.nav a small{font-size:10px;letter-spacing:.06em}.nav a small,.nav-label{font-weight:600;text-transform:uppercase}.nav-label{font-size:10.5px;letter-spacing:.13em;padding:0 10px;margin-bottom:6px}.nav-label,.who{color:var(--ink-3)}.who{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--line);font-size:12px}.who b{display:block;color:var(--ink-2);font-weight:600}.main{padding:0 34px 80px;overflow-y:auto;overscroll-behavior:contain}.main>:first-child{margin-top:30px}.main>*{max-width:1240px}.page-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:26px;flex-wrap:wrap}.page-head p{margin:4px 0 0;color:var(--ink-2);max-width:62ch}.page-head .spacer{margin-left:auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-head p{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}.card-body{padding:20px;display:flex;flex-direction:column;gap:18px}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.pill-live{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pill-draft{background:var(--ochre-soft);color:var(--ochre);border-color:color-mix(in srgb,var(--ochre) 30%,transparent)}.pill-off{background:var(--surface-2);color:var(--ink-3);border-color:var(--line-strong)}.pill-warn{background:var(--crit-soft);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 15px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.btn-quiet{border-color:transparent;color:var(--ink-2)}.btn-quiet:hover{background:var(--surface-2)}.btn-danger{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 32%,transparent)}.btn-danger:hover{background:var(--crit-soft)}.btn:disabled{opacity:.5;cursor:default}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.field .hint{font-size:12px;color:var(--ink-3);line-height:1.45}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;padding:7px 10px}textarea{resize:vertical;min-height:74px;line-height:1.5}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent)}.row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.color-field{display:flex;align-items:center;gap:8px}.color-field input[type=color]{width:34px;height:32px;padding:2px;flex:none;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer}.color-field input[type=text]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.check{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-2)}.check input{margin-top:3px;flex:none}.check b{display:block;color:var(--ink);font-weight:600}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:2px}.notice{padding:9px 13px;border-radius:var(--radius);font-size:13px;border:1px solid}.notice-ok{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}.notice-err{background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 28%,transparent);color:var(--crit)}.notice-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 28%,transparent);color:var(--warn)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:11px 20px;white-space:nowrap}td,th{border-bottom:1px solid var(--line)}td{padding:13px 20px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}td .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td a.title{font-weight:600;color:var(--ink);text-decoration:none}td a.title:hover{color:var(--accent)}.empty{padding:52px 20px;text-align:center;color:var(--ink-3)}.empty p{max-width:44ch;margin:6px auto 18px}.tabs{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;gap:2px;border-bottom:1px solid var(--line);margin:22px 0 20px;padding-top:10px;background:var(--ground);overflow-x:auto}.tabs a{padding:9px 14px;border-bottom:2px solid transparent;color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:500;white-space:nowrap}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.detail{display:grid;grid-template-columns:minmax(0,1fr) 424px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:1100px){.detail{grid-template-columns:minmax(0,1fr)}}.snippet{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;overflow-x:auto;white-space:pre;color:var(--ink-2)}.origin-list{display:flex;flex-direction:column;gap:0}.origin-list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.origin-list li:last-child{border-bottom:0}.origin-list form{margin-left:auto}ul.origin-list{list-style:none;margin:0;padding:0}.preview-card{position:-webkit-sticky;position:sticky;top:calc(var(--sticky-tabs) + 16px)}.preview-frame{width:100%;height:560px;border:0;display:block;background:var(--surface-2)}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:100%;max-width:372px}.login-card .card-body{gap:15px}.login-head{text-align:center;margin-bottom:20px}.login-head p{margin:5px 0 0;color:var(--ink-2);font-size:13.5px}.login-hint{margin:14px 0 0;text-align:center;font-size:12px;color:var(--ink-3)}.diff{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;max-height:420px;overflow:auto}.diff-line{display:flex;gap:10px;padding:0 16px;white-space:pre-wrap;overflow-wrap:anywhere}.diff-marker{flex:none;width:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-marker,.diff-same{color:var(--ink-3)}.diff-added{background:var(--accent-soft);color:var(--accent)}.diff-removed{background:var(--crit-soft);color:var(--crit);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb,var(--crit) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--crit) 40%,transparent)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1px;gap:1px}.stat,.stats{background:var(--surface)}.stat{box-shadow:0 0 0 1px var(--line);padding:16px 20px;display:flex;flex-direction:column;gap:3px}.stat dt{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.stat dd{margin:0;font-size:1.5rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat small{font-size:12px;color:var(--ink-3);font-weight:400}