:root{--background:#fff;--foreground:#0f172a;--muted:#64748b;--border:#e2e8f0;--surface:#f8fafc;--primary:#0d9488;--primary-dark:#0f766e;--primary-soft:#ccfbf1;--danger:#b91c1c;--danger-soft:#fee2e2;--warning:#b45309;--warning-soft:#fef3c7;--radius:18px;--tone-danger:var(--danger);--tone-danger-soft:var(--danger-soft);--tone-warning:var(--warning);--tone-warning-soft:var(--warning-soft);--tone-neutral:var(--primary);--tone-neutral-soft:var(--primary-soft)}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground);min-height:100%}body{background:var(--surface);min-height:100%;color:var(--foreground);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:10;background:#ffffffdb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,2rem);display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:.75rem;font-weight:750;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.8rem;display:inline-flex}.nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:.55rem .8rem;font-size:.92rem}.nav a:hover,.nav a:focus-visible{background:var(--primary-soft);color:var(--primary-dark);outline:none}.nav a[data-active]{background:var(--primary-soft);color:var(--primary-dark)}.nav-meta{color:var(--muted);padding:0 .5rem;font-size:.88rem;font-weight:600}.nav-button{border:1px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;padding:.45rem;font-size:.9rem;font-weight:600;display:inline-flex}.nav-button:hover:not(:disabled),.nav-button:focus-visible{background:var(--surface);border-color:var(--primary);color:var(--primary-dark);outline:none}.nav-button:disabled{cursor:not-allowed;opacity:.6}.page{width:100%;max-width:980px;margin:0 auto;padding:clamp(1rem,4vw,2rem);overflow-x:hidden}.narrow-page{max-width:560px}.hero{padding:clamp(2.5rem,8vw,5rem) 0 2rem}.eyebrow{color:var(--primary-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.title{letter-spacing:-.08em;margin:.75rem 0 1rem;font-size:clamp(2.2rem,9vw,4.6rem);line-height:.92}.subtitle{color:var(--muted);max-width:680px;margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.stack{gap:1rem;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem;display:grid}.card{background:var(--background);border:1px solid var(--border);word-break:break-word;overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:1.25rem;box-shadow:0 1px 3px #0f172a0a,0 1px 2px #0f172a05}.card h2,.card h3{letter-spacing:-.02em;color:var(--foreground);margin:0 0 .75rem;font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.88rem}.field{gap:.45rem;display:grid}.field label{color:#334155;font-size:.9rem;font-weight:650}.input,.textarea,select{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:12px;width:100%;min-height:3rem;padding:.85rem 1rem;font-size:1.05rem;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:7rem}.input:focus,.textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:.85rem 1.25rem;font-size:1.05rem;font-weight:650;transition:background .15s,transform .1s;display:inline-flex}.button:hover:not(:disabled){background:var(--primary-dark)}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{cursor:not-allowed;opacity:.55}.button:focus-visible{box-shadow:0 0 0 3px var(--primary-soft);outline:none}.button-secondary{border:1px solid var(--border);color:var(--foreground);background:#fff}.button-secondary:hover:not(:disabled){background:var(--surface);border-color:#cbd5e1}.button-danger{background:var(--danger)}.button-danger:hover:not(:disabled){background:#991b1b}.button-danger:focus-visible{box-shadow:0 0 0 3px var(--danger-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.badge{background:var(--primary-soft);color:var(--primary-dark);text-transform:capitalize;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge.tone-danger{background:var(--tone-danger-soft);color:var(--tone-danger);border-color:#b91c1c26}.badge-dot.tone-danger{background:var(--tone-danger)}.badge.tone-warning{background:var(--tone-warning-soft);color:var(--tone-warning);border-color:#b4530926}.badge-dot.tone-warning{background:var(--tone-warning)}.badge.tone-neutral{background:var(--tone-neutral-soft);color:var(--primary-dark);border-color:#0d948826}.badge-dot.tone-neutral{background:var(--primary-dark)}.data-list{gap:.85rem;display:grid}.data-row{border-bottom:1px solid var(--border);gap:.25rem;padding-bottom:.85rem;display:grid}@media (min-width:540px){.data-row{grid-template-columns:1fr 2fr;align-items:baseline;gap:1rem}}.data-row:last-child{border-bottom:0;padding-bottom:0}.data-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.data-value{color:var(--foreground);word-break:break-word;overflow-wrap:anywhere;font-size:1.05rem;font-weight:500}.timeline{gap:1.25rem;display:grid}.timeline-item{border-left:3px solid var(--border);padding-left:1rem;position:relative}.timeline-item:before{content:"";background:var(--border);border-radius:50%;width:7px;height:7px;position:absolute;top:.4rem;left:-5px}.timeline-item:first-child{border-left-color:var(--primary)}.timeline-item:first-child:before{background:var(--primary)}.case-list-item{background:var(--background);border:1px solid var(--border);border-left:4px solid var(--tone-neutral);border-radius:12px;gap:.35rem;padding:1rem 1.25rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 1px 2px #0f172a05}.case-list-item:hover,.case-list-item:focus-visible{border-color:#cbd5e1;outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0d}.case-list-item h3,.case-list-item p{margin:0}.case-list-item .complaint{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tone-danger{border-left-color:var(--tone-danger)}.tone-warning{border-left-color:var(--tone-warning)}.tone-neutral{border-left-color:var(--tone-neutral)}.severity-bar{border-radius:10px;flex-direction:column;gap:.4rem;padding:.85rem 1rem;display:flex}.severity-bar.tone-danger{background:var(--tone-danger-soft);color:var(--tone-danger)}.severity-bar.tone-warning{background:var(--tone-warning-soft);color:var(--tone-warning)}.severity-bar.tone-neutral{background:var(--tone-neutral-soft);color:var(--primary-dark)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem .9rem;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s}.tab:hover,.tab:focus-visible{color:var(--primary-dark);outline:none}.tab[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary-dark)}.button.button-link{text-decoration:none}.button .button-detail{opacity:.85;margin-left:.45rem;font-size:.78rem;font-weight:500}.action-stack{z-index:20;background:var(--background);box-shadow:0 -4px 20px #0f172a0d, 0 0 0 1px var(--border);border-radius:12px;grid-template-columns:1fr;gap:.75rem;margin:1rem -.5rem 0;padding:.75rem;display:grid;position:sticky;bottom:1rem}@media (min-width:540px){.action-stack{box-shadow:none;background:0 0;border-radius:0;grid-template-columns:repeat(2,1fr);margin:0;padding:0;position:static}}.skeleton{background:linear-gradient(100deg,#0f172a0a 30%,#0f172a17 50%,#0f172a0a 70%) 0 0/200% 100%;border-radius:10px;width:100%;height:1em;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;padding:1rem 0 .5rem;display:flex}.page-header h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.15}.page-header p{color:var(--muted);margin:.35rem 0 0;font-size:1.05rem}.flash{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;transition:opacity .4s;display:inline-flex}.flash.is-stale{background:var(--tone-warning-soft);color:var(--tone-warning)}details.disclosure{border:1px solid var(--border);background:var(--background);border:1px solid var(--border);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 1px 2px #0f172a05}details.disclosure summary{cursor:pointer;padding:1rem 1.25rem;font-size:1.05rem;font-weight:650;list-style:none;transition:background .15s}details.disclosure summary:hover{background:var(--surface)}details.disclosure summary::-webkit-details-marker{display:none}details.disclosure summary:after{content:"+";float:right;opacity:.6;font-size:1.1rem;font-weight:600}details.disclosure[open] summary:after{content:"–"}details.disclosure>.disclosure-body{border-top:1px solid var(--border);gap:1rem;padding:1rem;display:grid}pre{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:100%;padding:.75rem;overflow:auto}.metadata-grid{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.5rem 1.5rem;margin:.75rem 0 0;padding:.75rem;display:grid}.metadata-grid>div{flex-direction:column;gap:.15rem;display:flex}.metadata-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.metadata-grid dd{color:var(--foreground);word-break:break-word;overflow-wrap:anywhere;min-width:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem}.metadata-grid code{font-size:.85rem}.badge.badge-action{background:var(--primary-soft);color:var(--primary-dark)}.input-row{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.input-row>.input,.input-row>label{flex:100%;min-width:0}@media (min-width:540px){.input-row>.input,.input-row>label{flex-basis:10rem}}.input-row>.button{flex:none}.list-reset{margin:0;padding:0;list-style:none}.alert{border-radius:16px;padding:.9rem 1rem}.alert-error{color:var(--danger);background:#fef2f2}.alert-info{background:var(--primary-soft);color:var(--primary-dark)}.case-detail-layout{grid-template-columns:1fr;gap:1rem;margin-top:1rem;display:grid}@media (min-width:900px){.case-detail-layout{grid-template-columns:2fr 1fr;align-items:start}.case-detail-sidebar{position:sticky;top:5rem}}.case-detail-main{gap:1rem;display:grid}.install-banner{left:1rem;right:1rem;bottom:max(1rem, env(safe-area-inset-bottom,1rem));z-index:50;border:1px solid var(--border);background:#fffffff7;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;max-width:28rem;margin-inline:auto;padding:.95rem 1.1rem;display:flex;position:fixed;box-shadow:0 12px 36px #0f172a2e}.install-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.install-actions{flex-wrap:wrap;gap:.5rem;display:flex}.install-actions .button{padding:.55rem .95rem}@media (max-width:680px){.topbar{flex-direction:column;align-items:flex-start}.nav{width:100%;padding-bottom:.1rem;overflow-x:auto}.card .button:not(.button-secondary){width:100%}.metadata-grid>div{grid-template-columns:minmax(0,1fr);gap:.1rem}}
