:root{--page:#f5f5f0;--surface:#fff;--surface-subtle:#eeeee7;--brand:#254d42;--brand-hover:#1a3a31;--brand-pressed:#122c24;--text:#222d29;--text-secondary:#53615a;--text-muted:#637168;--border:#d7dcd5;--border-strong:#a7b4a9;--focus:#ad6227;--selected-bg:#e7f0e9;--selected-border:#35604f;--success:#285941;--success-bg:#e8f1e9;--warning:#754c17;--warning-bg:#fbf0d9;--error:#9b3636;--error-bg:#fceeed;--info:#345b72;--info-bg:#eaf1f6;--disabled:#e1e5df;--overlay:#14221db3;--radius-sm:8px;--radius:16px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font:ui-rounded,"Nunito","Arial Rounded MT Bold",system-ui,sans-serif;--body-size:16px;--body-line:24px;--label-size:14px;--support-line:20px;--title-size:32px;--title-line:38px;--section-size:20px;--section-line:28px;--content-max:1440px;--content-max-editor:1600px;--control-min:44px;--shadow:0 12px 36px #213b2b08;--duration:.18s}*{box-sizing:border-box}body{background:var(--page);color:var(--text);font:var(--body-size)/var(--body-line) var(--font);margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--brand);text-underline-offset:var(--space-1)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}button,input,select,textarea{min-height:var(--control-min)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1{font-size:var(--title-size);line-height:var(--title-line);letter-spacing:-.025em;margin:var(--space-2) 0 var(--space-4)}h2{font-size:var(--section-size);line-height:var(--section-line);margin:0 0 var(--space-4)}h3{font-size:var(--body-size);line-height:var(--body-line);margin:0 0 var(--space-2)}p{margin:0 0 var(--space-4)}small,.support{font-size:var(--label-size);line-height:var(--support-line);color:var(--text-secondary)}.muted{color:var(--text-secondary)}.eyebrow{font-size:var(--label-size);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-min);padding:var(--space-3) var(--space-5);border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:var(--surface);transition:background var(--duration);font-weight:650;text-decoration:none;display:inline-flex}.button:hover{background:var(--brand-hover)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.button.secondary:hover{background:var(--surface-subtle)}.button.danger{background:var(--error);border-color:var(--error)}.button.quiet{color:var(--brand);background:0 0;border-color:#0000}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow)}.field{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.field>span,legend{font-size:var(--label-size);font-weight:650}.field input,.field textarea,.field select,.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:var(--space-3);min-width:0}.field textarea{resize:vertical;min-height:112px}.field input[aria-invalid=true]{border-color:var(--error)}fieldset{margin:0 0 var(--space-5);border:0;min-width:0;padding:0}legend{padding:0 0 var(--space-3)}.notice{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--info-bg);color:var(--info);margin:var(--space-4) 0;font-size:var(--label-size);line-height:var(--support-line)}.notice.warning{background:var(--warning-bg);color:var(--warning)}.notice.error{background:var(--error-bg);color:var(--error)}.notice.success{background:var(--success-bg);color:var(--success)}.badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-subtle);padding:var(--space-1) var(--space-3);font-size:var(--label-size);line-height:var(--support-line);color:var(--text-secondary);display:inline-flex}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.between{justify-content:space-between}.stack,.grid{gap:var(--space-6);display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.shell{max-width:var(--content-max);padding:var(--space-10) var(--space-8) var(--space-16);margin:auto}.topbar{border-bottom:1px solid var(--border);background:var(--surface);height:80px;padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand{gap:var(--space-3);color:var(--text);font-weight:750;font-size:var(--section-size);align-items:center;text-decoration:none;display:inline-flex}.brand-mark{background:var(--brand);color:var(--surface);width:var(--control-min);height:var(--control-min);border-radius:var(--radius-sm);font-size:var(--section-size);place-items:center;display:grid}.brand small{font-size:var(--label-size);font-weight:400;display:block}.nav{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.nav a{padding:var(--space-3);border-radius:var(--radius-sm);min-height:var(--control-min);text-decoration:none}.nav a[aria-current=page]{background:var(--selected-bg);color:var(--brand);font-weight:650}.stat{font-size:var(--title-size);line-height:var(--title-line);margin:var(--space-3) 0;font-weight:700}.empty{text-align:center;padding:var(--space-16) var(--space-8)}.divider{background:var(--border);height:1px;margin:var(--space-6) 0}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border);padding:var(--space-4);vertical-align:top}th{font-size:var(--label-size);color:var(--text-secondary)}.skeleton{border-radius:var(--radius-sm);background:var(--surface-subtle);min-height:var(--space-12);animation:1.5s ease-in-out infinite pulse}.skip-link{left:var(--space-4);z-index:99;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);max-width:560px;width:calc(100% - var(--space-8));max-height:90vh;color:var(--text);background:var(--surface);overflow:auto}dialog::backdrop{background:var(--overlay)}.auth-layout{max-width:1120px;margin:var(--space-12) auto;gap:var(--space-16);grid-template-columns:1fr 1fr;align-items:center;display:grid}.auth-proof{padding:var(--space-8);background:var(--surface-subtle);border-radius:var(--radius-lg)}.auth-proof img{object-fit:contain;width:100%;max-height:480px;display:block}.editor{max-width:var(--content-max-editor);gap:var(--space-10);padding:var(--space-8);grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);margin:auto;display:grid}.preview-panel{background:var(--surface-subtle);border-radius:var(--radius-lg);padding:var(--space-6);min-width:0}.preview-viewport{aspect-ratio:4/5;max-height:68vh;margin:var(--space-4) auto;border-radius:var(--radius-sm);place-items:center;max-width:100%;display:grid;overflow:auto}.preview-viewport img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;box-shadow:var(--shadow);display:block}.preview-viewport.zoomed img{width:150%;max-width:none;height:auto}.preview-viewport.zoomed{display:block}.control-panel{align-self:start}.control-panel .card{padding:var(--space-8)}.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:var(--control-min);display:flex}.swatch[aria-pressed=true]{border:2px solid var(--selected-border);background:var(--selected-bg)}.swatch-dot{width:var(--space-5);height:var(--space-5);border:1px solid var(--border-strong);border-radius:50%}.proof-summary{gap:var(--space-3);margin:var(--space-6) 0;grid-template-columns:1fr 1fr;display:grid}.proof-summary dt{color:var(--text-secondary)}.proof-summary dd{overflow-wrap:anywhere;margin:0}.sticky-action{margin-top:var(--space-6);gap:var(--space-3);display:grid}.checkbox{gap:var(--space-3);min-height:var(--control-min);margin:var(--space-3) 0;align-items:center;display:flex}.checkbox input{width:var(--space-5);min-height:var(--space-5);accent-color:var(--brand)}.code{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:var(--label-size)}.link-output{word-break:break-all;padding:var(--space-4);background:var(--surface-subtle);border-radius:var(--radius-sm)}.success-page{max-width:720px;margin:var(--space-12) auto}.success-symbol{width:var(--space-16);height:var(--space-16);background:var(--success-bg);color:var(--success);font-size:var(--title-size);margin-bottom:var(--space-6);border-radius:50%;place-items:center;display:grid}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=900px){.editor{gap:var(--space-6);grid-template-columns:1fr}.preview-viewport{max-height:58vh}.cols-3{grid-template-columns:1fr}.auth-layout{gap:var(--space-6)}}@media (width<=640px){:root{--title-size:28px;--title-line:34px}.shell{padding:var(--space-6) var(--space-4) var(--space-12)}.topbar{height:auto;min-height:80px;padding:var(--space-4);flex-wrap:wrap}.brand small{display:none}.cols-2,.auth-layout{grid-template-columns:1fr}.auth-proof{display:none}.auth-layout{margin:var(--space-6) 0}.editor,.preview-panel,.control-panel .card{padding:var(--space-4)}.sticky-action{background:var(--surface);padding:var(--space-4) 0 max(var(--space-4),env(safe-area-inset-bottom));z-index:2;position:sticky;bottom:0}.proof-summary{grid-template-columns:1fr}.proof-summary dd{margin-bottom:var(--space-3)}.nav{gap:0}.nav a{padding:var(--space-2)}.success-page{margin:var(--space-6) var(--space-4)}}.detail-preview{object-fit:contain;width:100%;max-height:480px;margin:var(--space-6) 0;display:block}details>summary{cursor:pointer;min-height:var(--control-min);padding:var(--space-3) 0}
