:root{--font-size-h0:3.625rem;--font-size-display:2.25rem;--font-size-h1:2rem;--font-size-h2:1.75rem;--font-size-h3:1.625rem;--font-size-h4:1.375rem;--font-size-h5:1.25rem;--font-size-h6:1.125rem;--font-size-base:1rem;--font-size-s:.875rem;--font-size-xs:.75rem;--font-size-label:.688rem;--font-size-xxs:.625rem;--font-medium:500;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Hoefler Text", Georgia, "Times New Roman", serif;--paper:#f6f6f7;--card:#fff;--ink:#17191c;--muted:#4c4c4c;--faint:#85868c;--line:#e6e6ea;--line-soft:#eef0f1;--accent:#5d2a1a;--accent-soft:#fbe1d1;--good:#4f7a63;--sev-high:#b4472f;--sev-medium:#8a6d1f;--sev-low:#4f7a63}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}.home{max-width:920px;margin:0 auto;padding:20px 20px 64px}.home-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:0 0 18px;display:flex}.home-topbar-title{font-family:var(--serif);font-size:var(--font-size-h5);letter-spacing:-.01em;font-weight:600}.user-menu{align-items:center;gap:10px;display:inline-flex}.user-avatar{background:var(--ink);width:32px;height:32px;color:var(--card);font-size:var(--font-size-s);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.user-meta{flex-direction:column;max-width:180px;line-height:1.2;display:flex}.user-name{font-size:var(--font-size-s);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.user-email{font-size:var(--font-size-xs);color:var(--faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-build{font-size:var(--font-size-label);color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-signout{font-size:var(--font-size-xs);color:var(--muted);background:var(--card);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 12px;font-weight:600}.user-signout:hover{border-color:var(--faint)}.home-cta{background:var(--ink);color:var(--card);font-weight:600;font-size:var(--font-size-s);white-space:nowrap;border-radius:10px;align-items:center;gap:9px;padding:10px 18px;text-decoration:none;display:inline-flex}.home-hero{padding:20px 0 4px}.home-eyebrow{font-size:var(--font-size-label);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700}.home-status{font-size:var(--font-size-xs);color:var(--good);background:#eaf1ed;border:1px solid #cfe0d7;border-radius:999px;align-items:center;gap:8px;margin:14px 0 0;padding:5px 12px;font-weight:600;display:inline-flex}.home-status-dot{background:var(--good);border-radius:50%;width:8px;height:8px}.home-title{font-family:var(--serif);font-size:clamp(var(--font-size-h1), 6vw, var(--font-size-display));letter-spacing:-.02em;max-width:16ch;margin:16px 0 0;font-weight:600;line-height:1.08}.home-lede{max-width:60ch;font-size:var(--font-size-h6);color:var(--muted);margin-top:16px}.home-cta{background:var(--ink);color:var(--card);font-weight:600;font-size:var(--font-size-base);border-radius:11px;align-items:center;gap:9px;margin-top:24px;padding:13px 22px;text-decoration:none;display:inline-flex}.home-cta:hover{opacity:.9}.home-cta svg{flex:none}.home-facts{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:1px;margin:34px 0 8px;display:grid;overflow:hidden}.home-fact{background:var(--card);padding:16px 18px}.home-fact .n{font-family:var(--serif);font-size:var(--font-size-h5);font-weight:600}.home-fact .l{font-size:var(--font-size-xs);color:var(--faint);margin-top:4px;line-height:1.35}.home-section{border-top:1px solid var(--line);margin-top:8px;padding:36px 0}.home-section-first{border-top:none;padding-top:8px}.home-embed-desktop{border:1px solid var(--line);background:var(--card);border-radius:18px;height:clamp(360px,100dvh - 200px,700px);overflow:hidden;box-shadow:0 18px 40px #17191c14}.home-embed-desktop iframe{border:0;width:100%;height:100%;display:block}.home-embed-mobile{width:100%;height:100%}.home-embed-mobile iframe{border:0;width:100%;height:100%;display:block}.phone-sim{--phone-teal-dark:#00819c;--phone-teal-light:#4eaec2}.phone-sim-bar{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:16px;display:flex}.phone-sim-bar .home-sec-eyebrow{margin:0}.phone-sim-switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.phone-sim-switch input{opacity:0;width:0;height:0;position:absolute}.phone-sim-track{background:var(--line);border-radius:999px;flex:none;width:40px;height:23px;transition:background .16s;position:relative}.phone-sim-thumb{background:var(--card);border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #17191c4d}.phone-sim-switch input:checked+.phone-sim-track{background:var(--phone-teal-dark)}.phone-sim-switch input:checked+.phone-sim-track .phone-sim-thumb{transform:translate(17px)}.phone-sim-switch input:focus-visible+.phone-sim-track{outline:2px solid var(--phone-teal-dark);outline-offset:2px}.phone-sim-switch-label{font-size:var(--font-size-xs);color:var(--muted);font-weight:600}.phone{background:#17191c;border-radius:56px;width:414px;margin:0 auto;padding:12px;position:relative;box-shadow:0 24px 60px #17191c59,inset 0 0 0 2px #3a3d42}.phone-btn{background:#101114;border-radius:2px;position:absolute}.phone-btn-mute{width:3px;height:26px;top:120px;left:-3px}.phone-btn-volup{width:3px;height:46px;top:168px;left:-3px}.phone-btn-voldown{width:3px;height:46px;top:224px;left:-3px}.phone-btn-power{width:3px;height:72px;top:188px;right:-3px}.phone-screen{background:#f8f9fa;border-radius:44px;flex-direction:column;height:min(780px,97dvh - 24px);display:flex;position:relative;overflow:hidden}.phone-host{pointer-events:none;color:#17191c;background:#f8f9fa;flex:none}.phone-host-os{background:radial-gradient(63.8% 63.8% at 62.5% 55.47%, var(--phone-teal-light) 17.79%, var(--phone-teal-dark) 100%);color:#fff}.phone-statusbar{justify-content:space-between;align-items:center;padding:0 22px;display:flex}.phone-time{font-size:var(--font-size-s);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-weight:700}.phone-status-icons{align-items:center;gap:6px;display:inline-flex}.phone-signal{align-items:flex-end;gap:2px;display:inline-flex}.phone-signal i{background:currentColor;border-radius:1px;width:3px}.phone-signal i:first-child{height:4px}.phone-signal i:nth-child(2){height:6px}.phone-signal i:nth-child(3){height:9px}.phone-signal i:nth-child(4){height:12px}.phone-battery{opacity:.75;border:1.5px solid;border-radius:3.5px;width:23px;height:11px;padding:1.5px;position:relative}.phone-battery:after{content:"";background:currentColor;border-radius:0 2px 2px 0;width:2px;height:5px;position:absolute;top:3px;right:-4px}.phone-battery i{background:currentColor;border-radius:1.5px;width:72%;height:100%;display:block}.phone-oshead{align-items:center;padding:0 14px;display:flex;position:relative}.phone-host:not(.phone-host-os) .phone-oshead{border-bottom:1px solid #e9ecef}.phone-osback{flex:none;width:22px;height:22px}.phone-ostitle{text-align:center;font-size:var(--font-size-s);font-weight:400;position:absolute;left:0;right:0}.phone-host:not(.phone-host-os) .phone-ostitle{font-weight:600}.phone-viewport{flex:1;min-height:0}.phone-homebar{pointer-events:none;justify-content:center;align-items:center;height:22px;display:flex;position:absolute;bottom:0;left:0;right:0}.phone-homebar span{opacity:.45;background:#17191c;border-radius:999px;width:34%;height:5px}@media (max-width:470px){.phone{border-radius:44px;width:100%}.phone-screen{border-radius:34px;height:min(700px,97dvh - 24px)}}.home-sec-eyebrow{font-size:var(--font-size-label);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-weight:700}.home-caps{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.home-cap{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px 18px;display:flex}.home-cap .tick{color:var(--good);flex:none;font-weight:700}.home-cap h3{font-size:var(--font-size-base);margin:0;font-weight:700}.home-cap p{font-size:var(--font-size-s);color:var(--muted);margin-top:3px}.home-tbl-wrap{border:1px solid var(--line);border-radius:12px;max-height:460px;overflow:auto}.home-tbl{border-collapse:collapse;background:var(--card);width:100%;font-size:var(--font-size-s);min-width:760px}.home-tbl th{text-align:left;font-size:var(--font-size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:var(--paper);border-bottom:1px solid var(--line);z-index:1;padding:12px 16px;font-weight:700;position:sticky;top:0}.home-tbl td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:13px 16px}.home-tbl tr:last-child td{border-bottom:none}.home-tbl .phase{font-family:var(--serif);white-space:nowrap;font-weight:600}.home-tbl .feat{font-family:var(--serif);font-weight:600}.home-tbl .muted{color:var(--muted)}.home-tbl .src{color:var(--faint);font-size:var(--font-size-xs)}.home-tag{font-size:var(--font-size-label);white-space:nowrap;border-radius:5px;padding:2px 8px;font-weight:700}.home-tag.live{color:var(--good);background:#eaf1ed}.home-tag.should{background:var(--line-soft);color:var(--ink)}.home-tag.could,.home-tag.wont{background:var(--paper);color:var(--faint);border:1px solid var(--line)}.home-decisions{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.home-dec{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:18px}.home-dec .qid{font-size:var(--font-size-label);letter-spacing:.06em;color:var(--accent);align-items:center;gap:8px;font-weight:700;display:inline-flex}.home-dec .sev{border-radius:50%;width:9px;height:9px;display:inline-block}.home-dec .sev.high{background:var(--sev-high)}.home-dec .sev.medium{background:var(--sev-medium)}.home-dec .sev.low{background:var(--sev-low)}.home-dec h3{font-size:var(--font-size-base);margin:6px 0 0;font-weight:700}.home-dec p{font-size:var(--font-size-s);color:var(--muted);margin-top:7px}.home-dec .owner{font-size:var(--font-size-xs);color:var(--faint);margin-top:10px}.home-dec .owner b{color:var(--muted);font-weight:600}.home-callout{background:var(--accent-soft);font-size:var(--font-size-s);color:#5a3218;border:1px solid #eecbb2;border-radius:12px;margin-top:16px;padding:16px 18px}.home-cta-foot{text-align:center;margin-top:36px}.home-sec-note{font-size:var(--font-size-s);color:var(--muted);margin:-8px 0 16px}.react{gap:8px;display:inline-flex}.react-btn{font-size:var(--font-size-xs);color:var(--muted);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 9px;font-weight:600;line-height:1;display:inline-flex}.react-btn:hover:not(:disabled){border-color:var(--faint)}.react-btn:disabled{opacity:.55;cursor:default}.react-btn svg{flex:none}.react-btn.on.up{color:var(--good);background:#eaf1ed;border-color:#cfe0d7}.react-btn.on.down{color:var(--sev-high);background:var(--accent-soft);border-color:#eecbb2}.react-reason{gap:6px;max-width:260px;margin-top:10px;display:grid}.react-reason label{font-size:var(--font-size-xs);color:var(--muted);font-weight:600}.react-reason textarea{font:inherit;font-size:var(--font-size-s);color:var(--ink);background:var(--card);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:8px 10px}.react-reason textarea:focus{border-color:var(--ink);outline:none}.react-reason-actions{gap:8px;display:flex}.react-reason-send{font-size:var(--font-size-xs);color:var(--card);background:var(--ink);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-weight:600}.react-reason-send:disabled{opacity:.6;cursor:default}.react-reason-skip{font-size:var(--font-size-xs);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-weight:600}.react-thanks{font-size:var(--font-size-xs);color:var(--good);margin:8px 0 0;font-weight:600}.fb-form{gap:16px;max-width:620px;display:grid}.fb-posting-as{font-size:var(--font-size-s);color:var(--muted);margin:0}.fb-posting-as strong{color:var(--ink);font-weight:600}.fb-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fb-field{gap:6px;display:grid}.fb-field>span{font-size:var(--font-size-xs);color:var(--muted);font-weight:600}.fb-field input,.fb-field textarea{font:inherit;font-size:var(--font-size-s);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}.fb-field input:focus,.fb-field textarea:focus{border-color:var(--ink);outline:none}.fb-field textarea{resize:vertical}.fb-rating{border:none;align-items:center;gap:4px;margin:0;padding:0;display:flex}.fb-rating legend{font-size:var(--font-size-xs);color:var(--muted);margin-bottom:6px;padding:0;font-weight:600}.fb-star{font-size:var(--font-size-h4);color:var(--faint);cursor:pointer;background:0 0;border:none;padding:0 2px;line-height:1}.fb-star.on{color:var(--sev-medium)}.fb-actions{margin-top:4px}.fb-actions .home-cta{cursor:pointer;border:none}.fb-actions .home-cta:disabled{opacity:.6;cursor:default}.fb-error{color:var(--sev-high);font-size:var(--font-size-s);margin:0}.fb-thanks{background:#eaf1ed;border:1px solid #cfe0d7;border-radius:12px;max-width:620px;padding:18px 20px}.fb-thanks p{font-size:var(--font-size-s);color:var(--muted);margin:4px 0 10px}.fb-link{color:var(--good);font-weight:600;font-size:var(--font-size-s);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.home-section-export{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.fb-export-group{flex-wrap:wrap;gap:10px;display:flex}.fb-export{font-size:var(--font-size-s);color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:10px;padding:10px 16px;font-weight:600}.fb-export:hover:not(:disabled){border-color:var(--faint)}.fb-export:disabled{opacity:.6;cursor:default}@media (max-width:720px){.home-facts{grid-template-columns:repeat(2,1fr)}.home-caps,.home-decisions,.fb-row{grid-template-columns:1fr}}.gate{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:18px;width:100%;max-width:420px;padding:40px 32px;box-shadow:0 18px 40px #17191c14}.gate-eyebrow{font-size:var(--font-size-label);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700}.gate-title{font-family:var(--serif);font-size:var(--font-size-h3);letter-spacing:-.01em;margin:14px 0 0;font-weight:600}.gate-lede{font-size:var(--font-size-s);color:var(--muted);margin:10px 0 24px}.gate-checking{font-size:var(--font-size-s);color:var(--muted);margin-top:20px}.gate-btn{background:var(--ink);width:100%;color:var(--card);font-weight:600;font-size:var(--font-size-base);cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;padding:13px 22px;display:inline-flex}.gate-btn:hover:not(:disabled){opacity:.9}.gate-btn:disabled{opacity:.6;cursor:default}.gate-note{font-size:var(--font-size-xs);color:var(--faint);margin-top:18px;line-height:1.5}.gate-note code{font-family:var(--serif);background:var(--paper);border-radius:4px;padding:1px 5px}.gate-error{font-size:var(--font-size-s);color:var(--sev-high);margin-top:16px;font-weight:600}.fbadm{max-width:920px;margin:0 auto;padding:24px 20px 64px}.fbadm-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.fbadm-title{font-family:var(--serif);font-size:var(--font-size-h2);letter-spacing:-.01em;margin:6px 0 0;font-weight:600}.fbadm-meta{font-size:var(--font-size-s);color:var(--faint);margin-top:6px}.fbadm-actions{flex-wrap:wrap;gap:10px;display:flex}.fbadm-link{font-size:var(--font-size-s);color:var(--ink);background:var(--card);border:1px solid var(--line);white-space:nowrap;border-radius:10px;align-items:center;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-flex}.fbadm-link:hover{border-color:var(--faint)}.fbadm-error{background:var(--accent-soft);color:#5a3218;font-size:var(--font-size-s);border:1px solid #eecbb2;border-radius:12px;margin-top:18px;padding:14px 16px}.fbadm-section{margin-top:32px}.fbadm-h2{font-family:var(--serif);font-size:var(--font-size-h6);margin:0 0 14px;font-weight:600}.fbadm-tbl{min-width:0}.fbadm-tbl th:not(:first-child),.fbadm-tbl td:not(:first-child){text-align:center;width:130px}.fbadm-up{color:var(--good);font-weight:700}.fbadm-down{color:var(--sev-high);font-weight:700}.fbadm-empty{font-size:var(--font-size-s);color:var(--faint)}.fbadm-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.fbadm-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.fbadm-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fbadm-who{font-size:var(--font-size-s);color:var(--ink);font-weight:700}.fbadm-email{font-size:var(--font-size-xs);color:var(--faint)}.fbadm-stars{font-size:var(--font-size-s);color:var(--sev-medium);letter-spacing:1px}.fbadm-date{font-size:var(--font-size-xs);color:var(--faint);margin-left:auto}.fbadm-tag{font-size:var(--font-size-label);color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 8px;font-weight:700}.fbadm-msg{font-size:var(--font-size-s);color:var(--muted);white-space:pre-wrap;margin:8px 0 0}.audit-badge{font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:2px 8px;font-weight:700;display:inline-block}.audit-create{color:var(--good);background:#eaf1ed}.audit-update{color:var(--sev-medium);background:#f4eecf}.audit-delete{color:var(--sev-high);background:#f6e2dc}.log-kind-request{color:var(--accent);background:var(--accent-soft)}.log-kind-upstream{color:var(--sev-medium);background:#f4eecf}.log-kind-mutation{color:var(--good);background:#eaf1ed}.log-status-ok{color:var(--good);font-weight:700}.log-status-warn{color:var(--sev-medium);font-weight:700}.log-status-err{color:var(--sev-high);font-weight:700}.log-source{font-weight:700}.log-corr{font-family:var(--mono,monospace);font-size:var(--font-size-xs);color:var(--accent);text-decoration:none}.log-corr:hover{text-decoration:underline}.audit-sys-syntho{color:var(--accent);background:var(--accent-soft)}.audit-sys-apim{color:var(--good);background:#eaf1ed}.audit-sys-outsystems{color:#5a4a6a;background:#ece6f2}.audit-sys-other{color:var(--faint);background:var(--paper)}.audit-check input[type=checkbox]{width:14px;min-width:0;height:14px;accent-color:var(--ink);margin:0;padding:0}.audit-check{font-size:var(--font-size-s);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.audit-url{font-family:var(--mono,monospace);text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}.audit-oid{cursor:pointer;font-family:var(--mono,monospace);font-size:var(--font-size-xs);color:var(--accent);background:0 0;border:none;padding:0}.audit-oid:hover{text-decoration:underline}.audit-id{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:110px;display:inline-block;overflow:hidden}.fbadm-wide{max-width:1480px}.fbadm-wide .home-tbl-wrap{max-height:70vh}.audit-tbl{min-width:1120px}.audit-tbl td{white-space:nowrap}.log-pager{align-items:center;gap:12px;margin-top:14px;display:flex}.log-pager button{font-size:var(--font-size-s);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 16px;font-weight:600}.log-pager button:disabled{opacity:.45;cursor:default}.log-pager-at{font-size:var(--font-size-s);color:var(--muted)}.log-filters{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.log-filters select,.log-filters input{font-size:var(--font-size-s);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:7px 10px}.log-filters input{min-width:180px}.log-filters button{font-size:var(--font-size-s);border:1px solid var(--line);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:8px;padding:7px 16px;font-weight:600}.log-clear{font-size:var(--font-size-s);color:var(--faint);align-items:center;padding:0 6px;text-decoration:none;display:inline-flex}.log-view-btn{cursor:pointer;font-size:var(--font-size-xs);color:var(--accent);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.log-view-btn:disabled{opacity:.5;cursor:default}.ao-intro{max-width:68ch;margin-top:16px;line-height:1.6}.ao-intro code,.ao-banner code{font-family:var(--mono,monospace);font-size:var(--font-size-xs)}.ao-banner{font-size:var(--font-size-s);color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:12px 14px;line-height:1.6}.ao-banner-env{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.ao-pattern{font-family:var(--mono,monospace);font-size:var(--font-size-xs);word-break:break-all}.ao-on{color:var(--good);background:#eaf1ed}.ao-off{color:var(--faint);background:var(--paper)}.ao-actions{white-space:nowrap;gap:12px;display:flex}.ao-danger{color:var(--sev-high)}.log-json{background:var(--paper);border:1px solid var(--line);font-family:var(--mono,monospace);font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:12px 14px;line-height:1.5;overflow:auto}.log-dialog{background:var(--card);width:100%;max-width:min(720px,92vw);color:var(--ink);border:none;border-radius:14px;padding:0;box-shadow:0 20px 60px #00000047}.log-dialog::backdrop{background:#0000006b}.log-dialog-inner{padding:16px 18px 18px}.log-dialog-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.log-dialog-title{font-family:var(--serif);font-size:var(--font-size-base);word-break:break-word;font-weight:600}.log-dialog-close{cursor:pointer;font-size:var(--font-size-h4);color:var(--faint);background:0 0;border:none;padding:0 4px;line-height:1}.log-dialog .log-json{max-height:70vh}.confirm-dialog{background:var(--card);width:100%;max-width:min(420px,92vw);color:var(--ink);border:none;border-radius:16px;padding:0;box-shadow:0 20px 60px #00000047}.confirm-dialog::backdrop{background:#17191c6b}.confirm-dialog-inner{padding:24px 24px 20px}.confirm-dialog-title{font-family:var(--serif);font-size:var(--font-size-h5);letter-spacing:-.01em;margin:0;font-weight:600}.confirm-dialog-body{font-size:var(--font-size-s);color:var(--muted);margin:10px 0 22px}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.confirm-dialog-cancel{font-size:var(--font-size-s);color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:600}.confirm-dialog-cancel:hover{border-color:var(--faint)}.confirm-dialog-confirm{font-size:var(--font-size-s);color:var(--card);background:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 16px;font-weight:600}.confirm-dialog-confirm.is-danger{background:var(--sev-high)}.confirm-dialog-confirm:hover{opacity:.9}.toast-stack{z-index:40;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--ink);color:#fff;font-size:var(--font-size-s);border-left:3px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;animation:.16s ease-out toast-in;display:flex;box-shadow:0 14px 34px #17191c4d}.toast-success{border-left-color:#8fc7ab}.toast-error{border-left-color:#e79f8c}.toast-info{border-left-color:#cfd2d6}.toast-text{flex:1}.toast-dismiss{cursor:pointer;font-size:var(--font-size-h6);color:#ffffffb3;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.toast-dismiss:hover{color:#fff}.toast :focus-visible{outline-color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.oauth-callback{text-align:center;max-width:320px;font-family:var(--sans);margin:80px auto}.oauth-callback h2{font-family:var(--serif);font-size:var(--font-size-h6);margin-bottom:12px;font-weight:600}.oauth-callback p{font-size:var(--font-size-s);color:var(--muted)}.oauth-callback .oauth-error{color:var(--sev-high);font-weight:600}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
