:root{color-scheme:light dark;--font-ui: -apple-system, "SF Pro Text", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, "Cascadia Code", monospace;--bg: #faf9f5;--bg-raised: #ffffff;--bg-sunken: #f2f0e9;--border: #e5e2da;--border-soft: #eae7df;--border-strong: #d6d2c7;--text: #1f1e1d;--text-dim: #6b6862;--text-faint: #9a968d;--accent: #d97757;--accent-ink: #ffffff;--accent-soft-bg: #fcede7;--accent-soft-fg: #b4551f;--accent-hairline: #f0cdbe;--live: #1a8a73;--live-soft-bg: #e3f3ee;--live-soft-fg: #14705c;--transit: #8a7638;--transit-soft-bg: #f5efdc;--transit-soft-fg: #6e5c28;--danger: #c13b39;--danger-ink: #ffffff;--danger-soft-bg: #fbe9e8;--danger-soft-fg: #97302e;--danger-hairline: #f0c9c7;--scrim: rgba(31, 30, 29, .4);--shadow-1: 0 1px 2px rgba(31, 30, 29, .05), 0 1px 3px rgba(31, 30, 29, .04);--shadow-2: 0 2px 4px rgba(31, 30, 29, .05), 0 8px 20px rgba(31, 30, 29, .09);--shadow-3: 0 4px 12px rgba(31, 30, 29, .1), 0 24px 56px rgba(31, 30, 29, .18);--skeleton: #ece9e1;--skeleton-sheen: #f6f4ee;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px}@media(prefers-color-scheme:dark){:root{--bg: #262624;--bg-raised: #30302e;--bg-sunken: #1f1e1d;--border: #3d3d3a;--border-soft: #2f2f2d;--border-strong: #4d4d49;--text: #f0eee6;--text-dim: #a3a099;--text-faint: #78756e;--accent: #d97757;--accent-ink: #1f1e1d;--accent-soft-bg: #40291f;--accent-soft-fg: #e89b79;--accent-hairline: #5a382a;--live: #4fd6c4;--live-soft-bg: #243830;--live-soft-fg: #7fd1b9;--transit: #c9b36b;--transit-soft-bg: #3a362c;--transit-soft-fg: #d6c68a;--danger: #e5484d;--danger-ink: #1f1e1d;--danger-soft-bg: #4a2422;--danger-soft-fg: #f0928f;--danger-hairline: #6b3230;--scrim: rgba(0, 0, 0, .6);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 6px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .35);--shadow-3: 0 4px 14px rgba(0, 0, 0, .5), 0 28px 60px rgba(0, 0, 0, .5);--skeleton: #343431;--skeleton-sheen: #3f3f3c}}:root{--dur-1: .11s;--dur-2: .2s;--dur-3: .3s;--ease: cubic-bezier(.2, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}@media(prefers-reduced-motion:reduce){:root{--dur-1: 1ms;--dur-2: 1ms;--dur-3: 1ms}}*{box-sizing:border-box}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}@media(display-mode:standalone){:root{--safe-top: max(env(safe-area-inset-top, 0px), 47px)}}html,body,#root{height:100%}html{overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;font:16px/1.5 var(--font-ui);background:var(--bg);color:var(--text);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{-webkit-tap-highlight-color:transparent;font-family:inherit;cursor:pointer}button:disabled{cursor:default}button,a,.chip,.row,summary{transition:background-color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}button:active:not(:disabled),.row:active,.chip:active{transform:scale(.97)}.row:active,.browse-row:active:not(:disabled){transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}h1{font:600 1.05rem/1.2 var(--font-ui);letter-spacing:.02em;margin:0}.app-shell{display:flex;flex-direction:column;height:100dvh}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.75rem,var(--safe-top)) max(1rem,var(--safe-right)) .75rem max(1rem,var(--safe-left));border-bottom:1px solid var(--border-soft);background:var(--bg)}.detail-topbar{gap:.25rem;padding-right:max(.5rem,var(--safe-right))}.detail-heading{flex:1 1 auto;min-width:0;padding:0 .35rem}.detail-topbar h1{font:600 .92rem/1.3 var(--font-ui);letter-spacing:0;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-project{margin:.1rem 0 0;font:600 .66rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-tools{flex:none;display:flex;align-items:center;gap:.1rem}.icon-btn{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-dim)}.icon-btn svg{width:1.3rem;height:1.3rem}.icon-btn-live{color:var(--accent)}.icon-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 0 0 2px var(--bg);animation:breathe 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.icon-dot{animation:none}}.alerts{flex:0 0 auto;padding:.6rem max(1rem,var(--safe-right)) 0 max(1rem,var(--safe-left))}.alerts .banner:last-child{margin-bottom:0}.scroll-area{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:.75rem max(1rem,var(--safe-right)) max(1.25rem,var(--safe-bottom)) max(1rem,var(--safe-left))}main{min-height:100%}@keyframes spin{to{transform:rotate(1turn)}}.spinner{flex:none;width:.95em;height:.95em;border-radius:var(--radius-pill);border:2px solid currentColor;border-top-color:transparent;opacity:.9;animation:spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:currentColor;opacity:.5}}.notice{margin:0;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-dim);font:400 .84rem/1.45 var(--font-ui);animation:banner-in var(--dur-2) var(--ease-out)}.notice-error{background:var(--danger-soft-bg);color:var(--danger-soft-fg)}.field{grid-template-columns:minmax(0,1fr);display:grid;gap:.35rem}.field-label{display:flex;align-items:baseline;gap:.4rem;font:600 .78rem/1.2 var(--font-ui);color:var(--text-dim)}.field-optional{font:400 .72rem/1 var(--font-ui);color:var(--text-faint)}.field-help{font:400 .75rem/1.35 var(--font-ui);color:var(--text-faint)}.field-input{width:100%;min-height:48px;padding:.7rem .85rem;font:400 16px/1.35 var(--font-ui);color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.field-input::placeholder{color:var(--text-faint)}.field-input:disabled{opacity:.55}.field-code{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.field-code::placeholder{letter-spacing:0;text-transform:none}.rule{display:flex;align-items:center;gap:.75rem;margin:0;font:500 .75rem/1 var(--font-ui);color:var(--text-faint)}.rule:before,.rule:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.pairing-screen{display:grid;min-height:100dvh;overflow-y:auto;padding:max(1.5rem,var(--safe-top)) max(1.5rem,var(--safe-right)) max(1.5rem,var(--safe-bottom)) max(1.5rem,var(--safe-left));background:radial-gradient(ellipse at 50% 30%,var(--bg-raised) 0%,var(--bg) 70%)}.primary{min-height:44px;padding:.7rem 1.25rem;font:600 .95rem/1 var(--font-ui);color:var(--accent-ink);background:var(--accent);border:none;border-radius:999px;transition:opacity .15s ease}.primary:active{opacity:.6}.back{color:var(--accent)}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}}.banner{position:relative;animation:banner-in var(--dur-2) var(--ease-out);display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.8rem .9rem .8rem 1rem;border-radius:8px;border-left:4px solid var(--accent);background:var(--accent-soft-bg);color:var(--accent-soft-fg);font:600 .82rem/1.4 var(--font-ui)}.banner:before{content:"";flex:0 0 auto;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid currentColor}.banner-error{border-left-color:var(--danger);background:var(--danger-soft-bg);color:var(--danger-soft-fg)}.list{grid-template-columns:minmax(0,1fr);display:grid;gap:0;padding-bottom:1.5rem}.chips-scroll{position:relative;margin-bottom:.35rem;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent)}.chips{display:flex;gap:.35rem;overflow-x:auto;padding:.1rem 2rem .5rem .1rem;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;font:600 .74rem/1 var(--font-ui);min-height:32px;padding:.45rem .8rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim)}.chip-on{background:var(--accent-soft-bg);border-color:var(--accent);color:var(--accent-soft-fg)}.section{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.4rem;margin:1.1rem 0 .35rem;padding:.35rem .1rem;background:var(--bg);font:700 .68rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.section:first-child{margin-top:.2rem}.section-urgent{color:var(--accent-soft-fg)}.section-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent);animation:breathe 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.section-dot{animation:none}}.section-count{padding:.1rem .4rem;border-radius:var(--radius-pill);background:var(--bg-sunken);color:var(--text-faint);font-size:.66rem;letter-spacing:.04em}.section-urgent .section-count{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.section-more{font:600 .8rem/1 var(--font-ui);color:var(--accent-soft-fg);background:none;border:none;padding:.6rem .2rem;text-align:left}.row{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;width:100%;padding:.7rem .85rem;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:inherit;text-align:left;font-family:var(--font-ui)}.row+.row{margin-top:.3rem}.row:active{background:var(--bg-sunken)}.row-waiting{padding:.85rem .85rem .9rem;border-color:var(--accent-hairline);border-left:3px solid var(--accent);background:var(--bg-raised);box-shadow:var(--shadow-1)}.row-working{border-color:var(--border-soft);background:var(--bg-raised)}.row-quiet{padding:.55rem .85rem}.row-top{display:flex;align-items:center;gap:.4rem;min-width:0}.row-project{min-width:0;font:700 .62rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-time{margin-left:auto;flex:none;font:.7rem/1 var(--font-ui);color:var(--text-faint);white-space:nowrap}.row-title{font:600 .92rem/1.35 var(--font-ui);color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-waiting .row-title{font-size:.98rem}.row-quiet .row-title{font-weight:500;color:var(--text-dim)}.row-preview{font:.79rem/1.35 var(--font-ui);color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-waiting .row-preview{color:var(--accent-soft-fg)}.row-skeleton{grid-template-columns:minmax(0,1fr);display:grid;gap:.35rem;padding:.8rem .85rem}.row-skeleton .skeleton-line{height:.7rem}.blank-action{margin-top:.6rem}.pill{flex:none;display:inline-flex;align-items:center;gap:.28rem;font:700 .6rem/1 var(--font-ui);letter-spacing:.05em;text-transform:uppercase;padding:.2rem .45rem;border-radius:999px}.pill-dot{width:5px;height:5px;border-radius:999px;background:currentColor}.pill-mac{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.pill-bridge{background:var(--live-soft-bg);color:var(--live-soft-fg)}.pill-releasing{background:var(--transit-soft-bg);color:var(--transit-soft-fg)}.pill-stale{background:var(--danger-soft-bg);color:var(--danger-soft-fg)}@keyframes pill-pulse{0%,to{opacity:1}50%{opacity:.25}}.pill-dot.pulsing{animation:pill-pulse 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.pill-dot.pulsing{animation:none}}.conversation{padding-top:1rem}.turns{grid-template-columns:minmax(0,1fr);display:grid;gap:1.25rem}@keyframes turn-in{0%{opacity:0;transform:translateY(10px)}}.entering{animation:turn-in var(--dur-2) var(--ease-out)}.turn{display:grid;gap:.5rem}.turn p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-assistant p{font:400 1rem/1.6 var(--font-ui);color:var(--text)}.turn-user{justify-self:end;justify-items:end;max-width:85%}.turn-user p{padding:.65rem .9rem;border-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);font:400 .95rem/1.5 var(--font-ui)}.turn-pending p{opacity:.72;transition:opacity var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.turn-sending p{box-shadow:var(--shadow-1)}.turn-delivered p,.turn-waiting p{opacity:1}@keyframes state-in{0%{opacity:0;transform:translateY(-3px)}}.turn-status{justify-self:stretch;display:grid;justify-items:end}.turn-state{display:inline-flex;align-items:center;gap:.35rem;font:500 .7rem/1 var(--font-ui);letter-spacing:.03em;animation:state-in var(--dur-2) var(--ease-out)}.turn-state svg{flex:none;width:.95em;height:.95em}.turn-state-sending{color:var(--text-faint)}.turn-state-delivered{color:var(--live-soft-fg)}.turn-held{justify-self:stretch;display:grid;gap:.25rem;padding:.5rem .65rem;border-radius:var(--radius-sm);background:var(--transit-soft-bg);color:var(--transit-soft-fg);box-shadow:var(--shadow-1);text-align:left;animation:state-in var(--dur-2) var(--ease-out)}.turn-held-head{display:flex;align-items:center;gap:.35rem;font:600 .72rem/1 var(--font-ui);letter-spacing:.03em}.turn-held-head svg{flex:none;width:.95em;height:.95em}.turn-held-note{font:400 .76rem/1.4 var(--font-ui)}.tools{grid-template-columns:minmax(0,1fr);display:grid;gap:.3rem;padding:.15rem 0 .15rem .85rem;border-left:2px solid var(--border)}.tool{display:flex;align-items:baseline;gap:.5rem;margin:0;min-width:0;font:400 .8rem/1.5 var(--font-mono)}.tool-name{flex:none;font-weight:600;color:var(--text-dim)}.tool-detail{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-faint)}.turn-tools{grid-template-columns:minmax(0,1fr);display:grid;gap:.3rem;padding-left:.85rem;border-left:2px solid var(--border)}.scroll-anchor{height:1px;width:100%}.thinking{display:flex;align-items:center;gap:.55rem;margin:1.25rem 0 0}.thinking-mark{width:1.05rem;height:1.05rem;color:var(--accent);animation:spin 3s linear infinite}.thinking-label{font:500 .85rem/1 var(--font-ui);color:var(--text-dim)}@keyframes breathe{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.thinking-mark{animation:none}.thinking-label{animation:breathe 2s ease-in-out infinite}}@keyframes sheen{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton) 0%,var(--skeleton-sheen) 50%,var(--skeleton) 100%);background-size:200% 100%;animation:sheen 1.4s linear infinite}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--skeleton)}}.skeleton-line{height:.95rem}.skeleton-mid{width:62%}.skeleton-short{width:38%}.stream-loading{grid-template-columns:minmax(0,1fr);display:grid;gap:.6rem;padding:.5rem 0 1rem}.blank{grid-template-columns:minmax(0,1fr);display:grid;justify-items:center;gap:.35rem;padding:2.25rem 1rem;text-align:center}.blank-icon{width:2rem;height:2rem;margin-bottom:.3rem;color:var(--text-faint)}.blank-title{margin:0;font:600 .95rem/1.3 var(--font-ui);color:var(--text)}.blank-note{margin:0;max-width:24rem;font:400 .85rem/1.5 var(--font-ui);color:var(--text-dim)}.composer-dock{position:relative;flex:0 0 auto}.jump{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.7rem;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-raised);color:var(--text-dim);font:600 .78rem/1 var(--font-ui);box-shadow:var(--shadow-2);animation:turn-in var(--dur-2) var(--ease-out)}.jump:active:not(:disabled){transform:translate(-50%) scale(.97)}.jump svg{width:.9rem;height:.9rem}.jump-urgent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.composer{grid-template-columns:minmax(0,1fr);display:grid;gap:.5rem;padding:.6rem max(.85rem,var(--safe-right)) max(.7rem,var(--safe-bottom)) max(.85rem,var(--safe-left));background:var(--bg)}.composer-status{margin:0;padding:.45rem .7rem;border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-dim);font:400 .78rem/1.4 var(--font-ui)}.composer-status-locked{background:var(--transit-soft-bg);color:var(--transit-soft-fg)}.composer-error{margin:0;padding:.55rem .7rem;border-radius:var(--radius-sm);border-left:3px solid var(--danger);background:var(--danger-soft-bg);color:var(--danger-soft-fg);font:.8rem/1.35 var(--font-ui)}.composer-row{display:flex;align-items:flex-end;gap:.4rem;padding:.3rem .3rem .3rem .85rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:var(--shadow-1);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.composer-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.composer-row-locked{opacity:.6}.composer-input{flex:1 1 auto;min-width:0;min-height:38px;max-height:140px;padding:.5rem 0 .55rem;resize:none;border:0;background:none;color:var(--text);font:400 16px/1.4 var(--font-ui);overflow-y:auto}.composer-input:focus{outline:none}.composer-input::placeholder{color:var(--text-faint)}.composer-send{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;padding:0;color:var(--accent-ink);background:var(--accent);border:0;border-radius:var(--radius-pill)}.composer-send svg{width:1.15rem;height:1.15rem}.composer-send:disabled{background:var(--bg-sunken);color:var(--text-faint)}.permission-stack{grid-template-columns:minmax(0,1fr);display:grid;gap:.65rem;margin:1.25rem 0 0}.permission-card{grid-template-columns:minmax(0,1fr);display:grid;gap:.65rem;padding:1rem;border:1px solid var(--accent-hairline);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-2);animation:turn-in var(--dur-2) var(--ease-out)}.permission-label{display:flex;align-items:center;gap:.4rem;margin:0;font:700 .68rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft-fg)}.permission-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent);animation:breathe 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.permission-dot{animation:none}}.permission-title{margin:0;font:500 .95rem/1.4 var(--font-ui);color:var(--text)}.permission-preview{grid-template-columns:minmax(0,1fr);display:grid;gap:.35rem;padding:.6rem .7rem;border-radius:var(--radius-sm);background:var(--bg-sunken)}.permission-tool{font:700 .66rem/1 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--accent-soft-fg)}.permission-preview code{display:block;overflow-x:auto;font:400 .82rem/1.5 var(--font-mono);color:var(--text);white-space:pre}.permission-actions{grid-template-columns:minmax(0,1fr);display:grid;gap:.5rem}.permission-allow,.permission-deny,.permission-deny-confirm,.permission-cancel{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:46px;padding:.7rem 1.1rem;font:600 .9rem/1 var(--font-ui);border-radius:var(--radius-pill);border:1px solid transparent}.permission-allow{color:var(--accent-ink);background:var(--accent)}.permission-deny,.permission-cancel{color:var(--text-dim);background:transparent;border-color:var(--border-strong)}.permission-deny-confirm{color:var(--danger-ink);background:var(--danger)}.permission-allow:disabled,.permission-deny:disabled,.permission-deny-confirm:disabled,.permission-cancel:disabled{opacity:.45}.permission-deny-panel{grid-template-columns:minmax(0,1fr);display:grid;gap:.6rem}.permission-reason{width:100%;min-height:64px;resize:vertical;padding:.65rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:400 16px/1.4 var(--font-ui)}.permission-reason:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.permission-reason::placeholder{color:var(--text-faint)}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:0;background:var(--scrim);animation:fade-in var(--dur-2) var(--ease)}.sheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:88dvh;background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-3);animation:sheet-up var(--dur-3) var(--ease-out)}.sheet:focus{outline:none}.sheet-closing .sheet{animation:sheet-down var(--dur-3) var(--ease) forwards}.sheet-closing .sheet-scrim{animation:fade-out var(--dur-3) var(--ease) forwards}.sheet-head{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:.6rem;padding:1.1rem .7rem .7rem 1rem;border-bottom:1px solid var(--border-soft)}.sheet-grab{position:absolute;top:.45rem;left:50%;transform:translate(-50%);width:2.25rem;height:4px;border-radius:var(--radius-pill);background:var(--border-strong)}.sheet-titles{flex:1 1 auto;min-width:0}.sheet-title{margin:0;font:600 1rem/1.25 var(--font-ui);color:var(--text)}.sheet-subtitle{margin:.15rem 0 0;font:400 .78rem/1.35 var(--font-mono);color:var(--text-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.9rem 1rem}.sheet-foot{flex:0 0 auto;padding:.7rem 1rem max(.8rem,var(--safe-bottom));border-top:1px solid var(--border-soft);background:var(--bg)}.cmd{display:flex;align-items:center;gap:.5rem}.cmd-prompt{flex:none;font:600 1rem/1 var(--font-mono);color:var(--accent)}.cmd-input{flex:1 1 auto;min-width:0;min-height:46px;padding:.6rem .75rem;font:400 16px/1.35 var(--font-mono);color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.cmd-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.cmd-input::placeholder{color:var(--text-faint)}.cmd-run{flex:none}.cmd-run:disabled{opacity:.45}.runs{grid-template-columns:minmax(0,1fr);display:grid;gap:.8rem}.run{overflow:hidden;border:1px solid var(--border-soft);border-left:3px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);animation:turn-in var(--dur-2) var(--ease-out)}.run-running,.run-queued{border-left-color:var(--transit)}.run-done{border-left-color:var(--live)}.run-failed{border-left-color:var(--danger)}.run-head{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem}.run-command{flex:1 1 auto;min-width:0;margin:0;font:600 .84rem/1.45 var(--font-mono);color:var(--text);overflow-wrap:anywhere}.run-prompt{margin-right:.4rem;color:var(--accent)}.run-badge{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:var(--radius-pill);font:700 .68rem/1 var(--font-ui);letter-spacing:.03em}.run-badge-good{background:var(--live-soft-bg);color:var(--live-soft-fg)}.run-badge-bad{background:var(--danger-soft-bg);color:var(--danger-soft-fg)}.run-badge-running{background:var(--transit-soft-bg);color:var(--transit-soft-fg)}.run-time{font-weight:500;opacity:.8}.run-output{margin:0;max-height:22rem;padding:.7rem;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-top:1px solid var(--border-soft);background:var(--bg-sunken);color:var(--text);font:400 13px/1.5 var(--font-mono);white-space:pre;-moz-tab-size:2;tab-size:2}.run-note{margin:0;padding:.4rem .7rem .55rem;font:400 .74rem/1.3 var(--font-ui);color:var(--text-faint)}.progress-block{display:grid;gap:.5rem;padding:1.5rem 0;justify-items:center;text-align:center}.progress-label{margin:0;font:500 .9rem/1.3 var(--font-ui);color:var(--text)}@keyframes progress-slide{0%{transform:translate(-110%)}to{transform:translate(360%)}}.progress{position:relative;width:min(100%,16rem);height:3px;overflow:hidden;border-radius:var(--radius-pill);background:var(--bg-sunken)}.progress:after{content:"";position:absolute;inset:0 auto 0 0;width:30%;border-radius:var(--radius-pill);background:var(--accent);animation:progress-slide 1.3s var(--ease) infinite}@media(prefers-reduced-motion:reduce){.progress:after{animation:none;width:100%;opacity:.4}}.tunnel-live{grid-template-columns:minmax(0,1fr);display:grid;gap:.6rem}.tunnel-serving{margin:0;font:400 .8rem/1.4 var(--font-ui);color:var(--text-dim)}.tunnel-serving code{font:400 .8rem/1.4 var(--font-mono);color:var(--text)}.tunnel-link{display:flex;align-items:center;gap:.6rem;padding:.85rem .9rem;border:1px solid var(--accent-hairline);border-radius:var(--radius);background:var(--accent-soft-bg);color:var(--accent-soft-fg);font:500 .85rem/1.4 var(--font-mono);text-decoration:none}.tunnel-url{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.tunnel-link svg{flex:none;width:1.05rem;height:1.05rem}.tunnel-copy{justify-self:start}.tunnel-note{margin:0;font:400 .78rem/1.35 var(--font-ui);color:var(--text-faint)}.tunnel-close{width:100%;min-height:46px;padding:.6rem 1rem;border:1px solid var(--danger-hairline);border-radius:var(--radius-pill);background:transparent;color:var(--danger-soft-fg);font:600 .88rem/1 var(--font-ui)}.tunnel-close-armed{background:var(--danger);border-color:var(--danger);color:var(--danger-ink)}.new-message{width:100%;margin-top:.5rem;padding:.6rem .7rem;font:400 16px/1.45 var(--font-ui);color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);resize:none}.new-start{width:100%;margin-top:.9rem}.workspace{display:flex;height:100dvh;background:var(--bg)}.sidebar{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;height:100%}.pane{display:none;flex:1 1 auto;min-width:0;height:100%}.workspace-open .sidebar{display:none}.workspace-open .pane{display:flex}.pane>.app-shell{flex:1 1 auto;min-width:0}.topbar-actions{display:flex;align-items:center;gap:.4rem}.ghost{min-height:36px;padding:.4rem .75rem;font:500 .8rem/1 var(--font-ui);color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:999px}.pane-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1 1 auto;padding:2rem;text-align:center}.pane-empty-mark{width:1.9rem;height:1.9rem;margin-bottom:.3rem;color:var(--text-faint)}.pane-empty-title{margin:0;font:600 1.1rem/1.3 var(--font-ui);color:var(--text)}.pane-empty-note{margin:0 0 .5rem;max-width:24rem;font:400 .9rem/1.5 var(--font-ui);color:var(--text-dim)}.row-current{background:var(--bg-sunken);border-color:var(--border)}.brand{display:flex;align-items:center;gap:.5rem;min-width:0}.brand-mark{flex:none;width:1.15rem;height:1.15rem;color:var(--accent)}@media(min-width:900px){.sidebar{flex:0 0 clamp(260px,24vw,340px);border-right:1px solid var(--border-soft)}.workspace-open .sidebar,.pane{display:flex}.pane .scroll-area>*{max-width:46rem;margin-left:auto;margin-right:auto}.pane .composer>*{max-width:46rem;margin-left:auto;margin-right:auto;width:100%}.pane .back{display:none}.row:hover{background:var(--bg-sunken)}.row-waiting:hover,.row-working:hover{background:var(--bg-raised);border-color:var(--border-strong)}.chip:hover,.browse-row:hover:not(:disabled),.icon-btn:hover,.ghost:hover{background:var(--bg-sunken);color:var(--text)}.primary:hover:not(:disabled),.permission-allow:hover:not(:disabled),.composer-send:hover:not(:disabled){filter:brightness(1.06)}.tunnel-link:hover,.jump:hover{border-color:var(--accent)}.permission-deny:hover:not(:disabled),.permission-cancel:hover:not(:disabled),.tunnel-close:hover:not(:disabled){background:var(--bg-sunken)}.sheet-root{align-items:center;padding:2rem}.sheet{width:min(100%,46rem);max-height:78dvh;border-radius:var(--radius-lg);animation:sheet-pop var(--dur-2) var(--ease-out)}.sheet-closing .sheet{animation:sheet-shrink var(--dur-2) var(--ease) forwards}.sheet-grab{display:none}.sheet-head{padding-top:.85rem}.sheet-foot{padding-bottom:.9rem}}@keyframes sheet-pop{0%{opacity:0;transform:scale(.97) translateY(8px)}}@keyframes sheet-shrink{to{opacity:0;transform:scale(.97) translateY(8px)}}.sidebar>.topbar{flex-direction:column;align-items:stretch;gap:.6rem}.sidebar>.topbar h1{font:600 1.05rem/1.2 var(--font-ui);letter-spacing:-.01em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-actions .primary{flex:1 1 auto;white-space:nowrap}.topbar-actions .ghost{flex:0 0 auto;white-space:nowrap}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem;margin:.35rem 0 .6rem}.crumb-part{display:inline-flex;align-items:center;min-width:0}.crumb{padding:.3rem .35rem;border:0;border-radius:var(--radius-sm);background:none;color:var(--accent-soft-fg);font:500 .82rem/1.3 var(--font-mono);overflow-wrap:anywhere}.crumb:disabled{color:var(--text);font-weight:600}.crumb-sep{color:var(--text-faint);font:400 .82rem/1 var(--font-mono)}.browse{position:relative;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-raised);transition:opacity var(--dur-2) var(--ease)}.browse-loading{opacity:.45;pointer-events:none}.browse-spinner{position:absolute;top:.6rem;right:.7rem;z-index:1;color:var(--accent)}.browse-row{display:flex;align-items:center;gap:.6rem;width:100%;min-height:46px;padding:.6rem .7rem;text-align:left;font:400 .86rem/1.3 var(--font-mono);color:var(--text);background:none;border:0;border-bottom:1px solid var(--border-soft)}.browse-row:last-child{border-bottom:0}.browse-row:active:not(:disabled){background:var(--bg-sunken)}.browse-icon{flex:none;width:1.15rem;height:1.15rem;color:var(--accent)}.browse-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.browse-chevron{flex:none;width:.9rem;height:.9rem;color:var(--text-faint)}.browse-files{display:flex;flex-wrap:wrap;gap:.3rem .7rem;margin:0;padding:.6rem .75rem .7rem;border-top:1px solid var(--border-soft);list-style:none;font:400 .76rem/1.4 var(--font-mono);color:var(--text-faint)}.browse-note{margin:0;padding:.75rem;font:400 .82rem/1.4 var(--font-ui);color:var(--text-dim)}.new-message{width:100%;margin-top:.5rem;padding:.7rem .8rem;font:400 16px/1.45 var(--font-ui);color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);resize:none}.new-message:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-bg)}.new-message::placeholder{color:var(--text-faint)}.new-foot{flex:0 0 auto;padding:.7rem max(1rem,var(--safe-right)) max(.8rem,var(--safe-bottom)) max(1rem,var(--safe-left));border-top:1px solid var(--border-soft);background:var(--bg)}.new-start{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.new-start:disabled{opacity:.45}.pairing{grid-template-columns:minmax(0,1fr);display:grid;gap:1.1rem;width:min(23rem,100%);margin:auto;padding:1.25rem 0}.pairing-head{display:grid;justify-items:center;gap:.5rem;text-align:center}.pairing-mark{width:2.5rem;height:2.5rem;color:var(--accent)}.pairing-name{margin:0;font:600 1.5rem/1.15 var(--font-ui);letter-spacing:-.015em;color:var(--text)}.pairing-lede{margin:0;max-width:20rem;font:400 .92rem/1.5 var(--font-ui);color:var(--text-dim)}.steps{grid-template-columns:minmax(0,1fr);display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.step{display:flex;align-items:center;gap:.6rem}.step-n{flex:none;display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:var(--radius-pill);background:var(--accent-soft-bg);color:var(--accent-soft-fg);font:700 .72rem/1 var(--font-ui)}.step-text{font:400 .88rem/1.4 var(--font-ui);color:var(--text-dim)}.step-cmd{padding:.1rem .35rem;border-radius:var(--radius-sm);background:var(--bg-sunken);border:1px solid var(--border-soft);font:500 .82rem/1.4 var(--font-mono);color:var(--text)}.viewfinder{position:relative;display:grid;place-items:center;width:min(100%,38vh,16rem);aspect-ratio:1;margin:0 auto;padding:0;overflow:hidden;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-sunken);color:var(--text-dim)}.viewfinder-on{border-style:solid;border-color:var(--accent);background:var(--bg-sunken);box-shadow:var(--shadow-2)}.viewfinder-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-3) var(--ease)}.viewfinder-on .viewfinder-video{opacity:1}.viewfinder-frame{position:absolute;top:16%;right:16%;bottom:16%;left:16%;opacity:0;transform:scale(1.08);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}.viewfinder-on .viewfinder-frame{opacity:1;transform:none}.viewfinder-frame i{position:absolute;width:1.6rem;height:1.6rem;border:3px solid var(--accent)}.viewfinder-frame i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:var(--radius)}.viewfinder-frame i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:var(--radius)}.viewfinder-frame i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:var(--radius)}.viewfinder-frame i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:var(--radius)}.viewfinder-label{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:var(--radius-pill);font:600 .88rem/1 var(--font-ui);color:var(--text-dim);transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.viewfinder-on .viewfinder-label{position:absolute;bottom:.75rem;background:var(--bg);color:var(--text-dim);box-shadow:var(--shadow-1);font-weight:500;font-size:.8rem}.viewfinder-icon{width:1.35rem;height:1.35rem;color:var(--accent)}.pairing-form{grid-template-columns:minmax(0,1fr);display:grid;gap:.9rem}.pairing-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.1rem}.pairing-submit:disabled{opacity:.45}@media(min-width:900px){.pairing{width:min(44rem,100%);grid-template-columns:1fr 1fr;grid-template-areas:"head head" "steps steps" "scan rule" "scan form" "scanerror form";align-items:start;column-gap:2.25rem;row-gap:.9rem}.pairing-head{grid-area:head}.steps{grid-area:steps;justify-self:center}.viewfinder{grid-area:scan;width:100%}.rule{grid-area:rule}.pairing-form{grid-area:form;align-self:start}.pairing>.notice{grid-area:scanerror}}
