@layer components{.field{border:1px solid var(--color-line-strong);background:var(--color-raised);min-height:44px;color:var(--color-ink);transition:border-color .18s var(--ease-out-quint);border-radius:12px;padding:0 .9rem;font-size:.9rem}.field:hover,.field:focus{border-color:#60a5fa8c}.field option,.field optgroup{background:var(--color-raised);color:var(--color-ink)}.seg{border:1px solid var(--color-line);border-radius:999px;padding:3px;display:inline-flex}.seg button{min-height:36px;font-family:var(--font-mono);color:var(--color-dim);white-space:nowrap;transition:background-color .2s var(--ease-out-quint), color .2s var(--ease-out-quint), transform .16s var(--ease-out-quint);border-radius:999px;padding:0 .85rem;font-size:.75rem}.seg button:hover{color:var(--color-ink)}.seg button:active{transform:scale(.95)}.seg button[aria-pressed=true]{background:var(--color-ink);color:var(--color-canvas)}#download-menu summary{cursor:pointer;list-style:none}#download-menu summary::-webkit-details-marker{display:none}#download-menu summary svg{transition:transform .22s var(--ease-out-quint)}#download-menu[open] summary svg{transform:rotate(180deg)}.menu{z-index:30;border:1px solid var(--color-line-strong);background:var(--color-raised);transform-origin:100% 0;width:min(16rem,100vw - 2rem);animation:menu-in .2s var(--ease-out-quint);border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #00000073}.menu button{text-align:left;min-height:44px;transition:background-color .16s var(--ease-out-quint);border-radius:10px;flex-direction:column;justify-content:center;padding:.35rem .75rem;font-size:.9rem;display:flex}.menu button:hover:not(:disabled){background:#ffffff0f}.menu button:disabled{opacity:.4}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.tabs{border:1px solid var(--color-line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.tabs button{min-height:40px;color:var(--color-dim);transition:background-color .22s var(--ease-out-quint), color .22s var(--ease-out-quint);border-radius:10px;font-size:.9rem}.tabs button[aria-selected=true]{color:var(--color-ink);background:#ffffff14}.count{min-width:1.4rem;font-family:var(--font-mono);color:var(--color-dim);transition:background-color .24s var(--ease-out-quint);background:#ffffff14;border-radius:999px;place-items:center;margin-left:.3rem;padding:0 .4rem;font-size:.7rem;line-height:1.25rem;display:inline-grid}.count[data-kind=bad]{color:var(--color-bad);background:#f8717133}.count[data-kind=warn]{color:var(--color-warn);background:#f59e0b2e}.workspace{gap:1rem;display:grid}.pane{flex-direction:column;height:max(420px,100dvh - 15rem);min-height:0;display:flex;overflow:hidden}@media (width<=1023.98px){.workspace:not([data-view=spec]) .pane-spec,.workspace:not([data-view=diagram]) .pane-diagram,.workspace:not([data-view=checks]) .pane-checks{display:none}.workspace .pane{animation:pane-in .32s var(--ease-out-quint)}}@media (width>=1024px){.workspace{grid-template-rows:minmax(0,1.3fr) minmax(0,1fr);grid-template-columns:minmax(0,5fr) minmax(0,7fr);height:max(600px,100dvh - 19rem)}.pane{height:auto}.pane-spec{grid-row:span 2}}@keyframes pane-in{0%{opacity:0;transform:translateY(10px)}}.pane-head{border-bottom:1px solid var(--color-line);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding:0 .75rem 0 1rem;display:flex}.dot{background:var(--color-ok);width:8px;height:8px;transition:background-color .24s var(--ease-out-quint);border-radius:999px;flex:none}.dot[data-kind=busy]{background:var(--color-accent-soft);animation:1s ease-in-out infinite pulse}.dot[data-kind=warn]{background:var(--color-warn)}.dot[data-kind=bad]{background:var(--color-bad)}@keyframes pulse{50%{opacity:.45;transform:scale(1.6)}}.editor{min-height:0;font-family:var(--font-mono);flex:1;font-size:16px;line-height:1.6;display:flex;position:relative}@media (width>=1024px){.editor{font-size:13px}}.gutter{border-right:1px solid var(--color-line);text-align:right;min-width:3.2em;color:var(--color-faint);user-select:none;font:inherit;flex:none;padding:12px 10px 48px 12px;overflow:hidden}.gutter .ln{transition:color .2s var(--ease-out-quint);display:block}.gutter .ln-error{color:var(--color-bad);box-shadow:inset -2px 0 0 var(--color-bad)}.gutter .ln-warning{color:var(--color-warn);box-shadow:inset -2px 0 0 var(--color-warn)}.code{resize:none;white-space:pre;min-width:0;color:var(--color-ink);font:inherit;tab-size:2;caret-color:var(--color-accent-soft);background:0 0;outline:none;flex:1;padding:12px 14px 48px;overflow:auto}.code::selection{background:#3b82f666}.progress{flex:none;height:2px;position:relative;overflow:hidden}.progress span{background:linear-gradient(90deg, transparent, var(--color-accent-soft), transparent);opacity:0;width:32%;transition:opacity .2s;position:absolute;inset:0 auto 0 0}.progress[data-on] span{opacity:1;animation:slide 1.05s var(--ease-out-quint) infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.preview{min-height:0;transition:background-color .32s var(--ease-out-quint);background:#0b1012;flex:1;position:relative;overflow:auto}.preview[data-theme=light]{background:#eef2f6}.stage{min-height:100%;padding:12px;display:flex}.stage[data-fit="1"]{height:100%}.stage>svg{max-width:none;transition:opacity .24s var(--ease-out-quint), filter .24s var(--ease-out-quint);flex:none;margin:auto}.stage[data-stale="1"]>svg{opacity:.35;filter:grayscale(.7)}.rise{animation:rise .42s var(--ease-out-quint) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.subtab{min-height:36px;color:var(--color-dim);transition:background-color .2s var(--ease-out-quint), color .2s var(--ease-out-quint);border-radius:999px;align-items:center;padding:0 .8rem;font-size:.85rem;display:inline-flex}.subtab[aria-selected=true]{color:var(--color-ink);background:#ffffff14}.checks-body{flex:1;min-height:0;overflow:auto}#checks[data-tab=problems] .tab-review,#checks[data-tab=review] .tab-problems{display:none}.tab-review[data-stale="1"] #score,.tab-review[data-stale="1"] #dimensions{opacity:.4}#score,#dimensions{transition:opacity .24s var(--ease-out-quint)}.diag-button{text-align:left;width:100%;transition:background-color .18s var(--ease-out-quint);padding:.85rem 1rem;display:block}.diag-button:hover:not(:disabled){background:#ffffff0a}.finding{padding:.85rem 0}.fixes{color:var(--color-dim);gap:.2rem;margin-top:.4rem;font-size:.82rem;display:grid}.fixes li:before{content:"fix: ";font-family:var(--font-mono);color:var(--color-accent-soft);font-size:.72rem}.sev{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:.05rem .45rem;font-size:.68rem}.sev-error,.sev-blocker{color:var(--color-bad);background:#f8717129}.sev-warning,.sev-major{color:var(--color-warn);background:#f59e0b29}.sev-minor{color:var(--color-dim);background:#ffffff12}#verdict[data-kind=ok],.chip-ok{color:var(--color-ok);border-color:#22c55e66}#verdict[data-kind=bad],.chip-bad{color:var(--color-bad);border-color:#f8717166}.dim-row{grid-template-columns:6.5rem 2.5rem minmax(0,1fr) 2.2rem;align-items:center;gap:.75rem;display:grid}.bar{background:#ffffff12;border-radius:999px;height:6px;overflow:hidden}.bar-fill{background:var(--color-ok);width:0;height:100%;transition:width .76s var(--ease-out-quint);border-radius:999px;display:block}.bar-fill[data-kind=warn]{background:var(--color-warn)}.bar-fill[data-kind=bad]{background:var(--color-bad)}.toast{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:50;border:1px solid var(--color-line-strong);background:var(--color-raised);max-width:min(34rem,100vw - 2rem);color:var(--color-ink);opacity:0;pointer-events:none;transition:transform .36s var(--ease-out-quint), opacity .36s var(--ease-out-quint);border-radius:14px;padding:.75rem 1rem;font-size:.88rem;position:fixed;transform:translate(-50%,140%);box-shadow:0 18px 40px #00000080}.toast[data-on]{opacity:1;transform:translate(-50%)}.toast[data-tone=ok]{border-color:#22c55e73}.toast[data-tone=bad]{border-color:#f8717180}}
