:root{--paper: #F0EFE7;--paper-sunk: #E8E6DB;--surface: #FBFAF5;--surface-warm: #F4F3EB;--sand: #E6E3D6;--sand-deep: #DAD6C6;--line: #E2DED1;--line-strong: #D2CDBC;--line-soft: #EAE7DC;--ink: #20221C;--ink-2: #555749;--ink-3: #87887A;--ink-4: #A8A899;--plum: #5B4B8A;--plum-deep: #4C3E77;--plum-bright: #6F5EA6;--slate: #4F6E87;--slate-deep: #3C5871;--improve: #A8791F;--danger: #A8472F;--strength: var(--plum);--plum-soft: color-mix(in srgb, var(--plum) 17%, var(--surface));--plum-softer: color-mix(in srgb, var(--plum) 8%, var(--surface));--plum-ring: color-mix(in srgb, var(--plum) 30%, transparent);--slate-soft: color-mix(in srgb, var(--slate) 16%, var(--surface));--improve-soft: color-mix(in srgb, var(--improve) 18%, var(--surface));--danger-soft: color-mix(in srgb, var(--danger) 16%, var(--surface));--font: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--t-display: 600 44px/1.05 var(--font);--t-h1: 600 32px/1.12 var(--font);--t-h2: 600 23px/1.2 var(--font);--t-h3: 600 18px/1.3 var(--font);--t-body-lg: 400 17px/1.55 var(--font);--t-body: 400 15px/1.6 var(--font);--t-small: 400 13.5px/1.5 var(--font);--t-meta: 500 12px/1.4 var(--font);--tracking-tight: -.02em;--tracking-wide: .08em;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--shadow-xs: 0 1px 2px rgba(50, 44, 25, .05);--shadow-sm: 0 1px 3px rgba(50, 44, 25, .06), 0 1px 2px rgba(50, 44, 25, .04);--shadow-md: 0 4px 14px rgba(50, 44, 25, .07), 0 1px 3px rgba(50, 44, 25, .05);--shadow-lg: 0 12px 36px rgba(45, 40, 22, .1), 0 3px 10px rgba(45, 40, 22, .05);--shadow-plum: 0 8px 26px color-mix(in srgb, var(--plum) 22%, transparent);--focus-ring: 0 0 0 3px var(--plum-ring);--ease: cubic-bezier(.22, .61, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--dur: .24s;--dur-slow: .42s}:root[data-theme=dark]{--paper: #141715;--paper-sunk: #0F1210;--surface: #1B1F1C;--surface-warm: #222723;--sand: #272D28;--sand-deep: #313832;--line: #2C322D;--line-strong: #3A413B;--line-soft: #232824;--ink: #ECEDE6;--ink-2: #AFB3A8;--ink-3: #82877A;--ink-4: #5E635A;--plum: #9384C9;--plum-deep: #A294D6;--plum-bright: #B0A4E0;--slate: #7CA0BE;--slate-deep: #95B3CC;--improve: #D2A24E;--danger: #DB7A60;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .34), 0 1px 2px rgba(0, 0, 0, .26);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4), 0 1px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 44px rgba(0, 0, 0, .52), 0 4px 12px rgba(0, 0, 0, .36);--shadow-plum: 0 8px 28px color-mix(in srgb, var(--plum) 30%, transparent)}*{box-sizing:border-box}html,body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html{transition:background var(--dur) var(--ease)}::selection{background:var(--plum-ring)}.wordmark{display:flex;align-items:center;gap:10px;font:var(--t-h3);font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.wordmark-mark{color:var(--plum);flex:0 0 auto}.theme-toggle{width:38px;height:38px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-4)}.btn{font:var(--t-body);font-weight:600;border-radius:var(--r-sm);padding:11px 18px;border:1px solid transparent;cursor:pointer;transition:all var(--dur) var(--ease);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2)}.btn-primary{background:var(--plum);color:#fff;box-shadow:var(--shadow-plum)}.btn-primary:hover:not(:disabled){background:var(--plum-deep);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-warm);border-color:var(--ink-4)}.btn-secondary:disabled{opacity:.55;cursor:default}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-danger:disabled{opacity:.55;cursor:default}.chip-pill{font:var(--t-meta);font-weight:600;padding:5px 11px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chip-pill .dot{width:6px;height:6px;border-radius:var(--r-pill)}.chip-plum{background:var(--plum-soft);color:var(--plum-deep)}.chip-plum .dot{background:var(--plum)}.chip-slate{background:var(--slate-soft);color:var(--slate-deep)}.chip-amber{background:var(--improve-soft);color:var(--improve)}.chip-neutral{background:var(--sand);color:var(--ink-2)}.chip-live{background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.chip-live .dot{background:var(--slate);animation:livepulse 1.6s var(--ease-soft) infinite}@keyframes livepulse{0%,to{opacity:1}50%{opacity:.3}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.input-search{width:100%;font:var(--t-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:11px 14px;transition:border-color var(--dur) var(--ease)}.input-search:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus-ring)}.input-grant{width:72px;font:var(--t-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 10px}.input-grant:focus{outline:none;border-color:var(--plum);box-shadow:var(--focus-ring)}.avatar{flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--plum-deep);background:var(--plum-soft)}.mini-select{position:relative}.mini-trigger{display:flex;align-items:center;gap:7px;height:38px;padding:0 11px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font:var(--t-small);font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease)}.mini-trigger:hover{border-color:var(--ink-4);color:var(--ink)}.mini-trigger.open{border-color:var(--plum);color:var(--plum-deep)}.mini-trigger svg:last-child{color:var(--ink-4)}.mini-value{white-space:nowrap}.mini-ic{display:inline-flex;align-items:center}.mini-ic-mobile{display:none}.mini-menu{position:absolute;top:calc(100% + 8px);z-index:40;min-width:220px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;animation:miniRise var(--dur) var(--ease) both}.mini-menu.align-left{left:0}.mini-menu.align-right{right:0}.mini-menu.wide{min-width:288px}.mini-menu.open-up{top:auto;bottom:calc(100% + 8px);animation-name:miniRiseUp}@keyframes miniRise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes miniRiseUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.mini-opt{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);text-align:left;background:transparent;border:none;border-radius:var(--r-sm);padding:9px 10px;cursor:pointer;color:var(--ink);transition:background var(--dur) var(--ease)}.mini-opt:hover{background:var(--surface-warm)}.mini-opt.selected{background:var(--plum-softer)}.mini-check{color:var(--plum);display:grid;place-items:center}.composer-wrap{width:100%;max-width:720px}.composer{position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:var(--s-4) var(--s-4) var(--s-3);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.composer:focus-within{border-color:var(--plum);box-shadow:var(--focus-ring),var(--shadow-md)}.composer.dragging{border-color:var(--plum);border-style:dashed}.composer-input{width:100%;border:none;background:transparent;resize:none;color:var(--ink);font:var(--t-body-lg);line-height:1.5;padding:6px 6px 2px;min-height:54px;max-height:220px;overflow-y:auto;display:block}.composer-input:focus{outline:none}.composer-input::placeholder{color:var(--ink-4)}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap}.composer-tools{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0}.composer-hint{font:var(--t-small);color:var(--ink-3);text-align:center;margin:var(--s-3) 0 0}.dot-tone{width:8px;height:8px;border-radius:50%;background:var(--plum)}.opt-1{font:var(--t-body);font-weight:600}.opt-2{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-2-title{font:var(--t-body);font-weight:600}.opt-2-sub{font:var(--t-small);color:var(--ink-3);text-wrap:pretty}.tint-plum{--acc: var(--plum);--acc-deep: var(--plum-deep);--acc-soft: var(--plum-soft)}.tint-plum-bright{--acc: var(--plum-bright);--acc-deep: var(--plum-deep);--acc-soft: color-mix(in srgb, var(--plum-bright) 16%, var(--surface))}.tint-slate{--acc: var(--slate);--acc-deep: var(--slate-deep);--acc-soft: var(--slate-soft)}.tint-slate-deep{--acc: var(--slate-deep);--acc-deep: var(--slate-deep);--acc-soft: color-mix(in srgb, var(--slate-deep) 16%, var(--surface))}.tint-amber{--acc: var(--improve);--acc-deep: var(--improve);--acc-soft: var(--improve-soft)}.tint-neutral{--acc: var(--ink-3);--acc-deep: var(--ink-2);--acc-soft: var(--sand)}.home-tabs{position:relative;display:inline-flex;align-items:center;gap:2px;padding:4px;background:var(--sand);border-radius:var(--r-pill)}.home-tab-thumb{position:absolute;top:4px;bottom:4px;z-index:0;background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);transition:left .16s var(--ease),width .16s var(--ease)}.home-tab{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;background:transparent;color:var(--ink-2);font:var(--t-small);font-weight:600;padding:8px 16px;border-radius:var(--r-pill);transition:color var(--dur) var(--ease);white-space:nowrap}.home-tab:hover{color:var(--ink)}.home-tab.active{color:var(--plum-deep)}.home-tab svg{color:currentColor;opacity:.9}.pcard{display:flex;flex-direction:column;gap:var(--s-3);text-align:left;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.pcard:hover .pcard-go{opacity:1;transform:none}.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.pcard-glyph{width:40px;height:40px;border-radius:var(--r-md);flex:0 0 auto;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc)}.pcard-go{flex:0 0 auto;width:30px;height:30px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--plum);color:#fff;opacity:0;transform:translate(-4px);transition:all var(--dur) var(--ease)}.pcard-cat{font:var(--t-meta);letter-spacing:.02em;color:var(--acc-deep);font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:6px}.pcard-cat .v{color:var(--ink-4);font-weight:600;text-transform:none;letter-spacing:0}.pcard-title{font:var(--t-h3);letter-spacing:-.01em;margin:0;text-wrap:balance;color:var(--ink)}.pcard-title mark{background:var(--plum-soft);color:var(--plum-deep);border-radius:3px;padding:0 1px}.pcard-desc{font:var(--t-small);color:var(--ink-2);margin:0;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-foot{display:flex;align-items:center;gap:var(--s-3);margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--line-soft)}.pcard-meta{display:inline-flex;align-items:center;gap:5px;font:var(--t-small);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.pcard-meta svg{color:var(--ink-4)}html,body{overscroll-behavior:none}#root{min-height:100vh;min-height:100dvh}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-shell.room-mode{height:100vh;height:100dvh;min-height:0;overflow:hidden}.muted{color:var(--ink-3);font:var(--t-small)}.error{color:var(--danger)}.center{min-height:60vh;display:grid;place-items:center}.topbar{height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-5);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.topbar-right{display:flex;align-items:center;gap:var(--s-4)}.page{width:100%;max-width:920px;margin:0 auto;padding:var(--s-7) var(--s-5) var(--s-9);flex:1}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--ink-4);display:inline-block}.signin{min-height:100vh;min-height:100dvh;display:grid;place-items:center;position:relative;overflow:hidden;padding:var(--s-5)}.signin-card{position:relative;z-index:2;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:var(--s-7);width:100%;max-width:440px;text-align:left}.signin-card .wordmark{margin-bottom:var(--s-6)}.signin-title{font:var(--t-display);font-size:40px;letter-spacing:var(--tracking-tight);margin:0}.dash-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-6)}.dash-title{font:var(--t-h1);letter-spacing:var(--tracking-tight);margin:0 0 8px}.dash-sub{font:var(--t-body-lg);color:var(--ink-2);margin:0;max-width:46ch}.dash-start{flex:0 0 auto;padding:12px 20px}.dash-quota{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-7);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.quota-bar{flex:1;height:6px;background:var(--sand);border-radius:var(--r-pill);overflow:hidden;max-width:220px}.quota-bar span{display:block;height:100%;background:var(--plum);border-radius:var(--r-pill)}.quota-text{font:var(--t-small);color:var(--ink-2)}.dash-list-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3)}.dash-count{background:var(--sand);color:var(--ink-3);border-radius:var(--r-pill);padding:1px 9px;font-weight:600}.dash-list{display:flex;flex-direction:column;gap:var(--s-3)}.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:all var(--dur) var(--ease);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5);text-align:left;font:inherit;color:var(--ink);width:100%}.dash-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.dash-card:hover .dash-card-chevron{color:var(--plum);transform:translate(3px)}.dash-card-top{display:flex;align-items:center;gap:var(--s-3);margin-bottom:7px}.dash-card-top h4{font:var(--t-h3);margin:0;text-transform:capitalize}.dash-card-meta{display:flex;align-items:center;gap:var(--s-3);font:var(--t-small);color:var(--ink-3);white-space:nowrap}.dash-card-chevron{font-size:20px;color:var(--ink-4);transition:all var(--dur) var(--ease)}.dash-empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--s-6);text-align:center;color:var(--ink-3);font:var(--t-body)}.room{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.room-studio{display:flex;flex-direction:row;gap:0;position:relative;min-height:0}.time{font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.studio-stage{flex:1 1 auto;min-width:0;background:var(--paper-sunk);display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:var(--s-6) var(--s-6) 104px}.studio-stage-inner{margin:auto;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);width:100%;max-width:340px}.text-compose{width:100%;max-width:320px;margin-top:var(--s-2)}.text-field{display:flex;align-items:flex-end;gap:var(--s-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:6px 6px 6px 14px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.text-field:focus-within{border-color:var(--plum);box-shadow:var(--focus-ring)}.text-input{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;color:var(--ink);font:var(--t-body);line-height:1.5;min-height:30px;max-height:132px;overflow-y:auto;padding:6px 0;transition:min-height var(--dur) var(--ease)}.text-input::placeholder{color:var(--ink-4)}.text-compose.expanded .text-input{min-height:58px}.text-send{flex:0 0 auto;width:34px;height:34px;border-radius:var(--r-pill);border:none;background:var(--plum);color:#fff;display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.text-send:hover:not(:disabled){background:var(--plum-deep);transform:translateY(-1px)}.text-send:disabled{background:var(--sand-deep);color:var(--ink-4);cursor:default}.text-hint{font:var(--t-meta);color:var(--ink-4);margin-top:0;height:0;opacity:0;overflow:hidden;transition:opacity var(--dur) var(--ease),height var(--dur) var(--ease),margin-top var(--dur) var(--ease)}.text-compose.expanded .text-hint{height:16px;margin-top:6px;opacity:1}.studio-transcript{flex:0 0 440px;width:440px;display:flex;flex-direction:column;min-width:0;background:var(--surface);border-left:1px solid var(--line);overflow:hidden;transition:flex-basis var(--dur-slow) var(--ease),opacity var(--dur) var(--ease),border-color var(--dur) var(--ease)}.room-studio.tx-hidden .studio-transcript{flex-basis:0;width:0;opacity:0;border-left-color:transparent}.studio-timer{text-align:center;margin-bottom:var(--s-3)}.studio-timer .time{font:600 30px/1 var(--font)}.studio-timer .time-label{display:block;font:var(--t-meta);color:var(--ink-3);margin-top:5px}.studio-state{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3)}.studio-waves{width:100%;max-width:320px;display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-4)}.wave-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px}.wave-label{font:var(--t-meta);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;display:block;margin-bottom:4px}.studio-tx-head{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);padding:var(--s-5) var(--s-6) var(--s-4);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);white-space:nowrap}.tx-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.studio-transcript .transcript{flex:1;padding:var(--s-6)}.tx-jump{position:absolute;left:50%;bottom:var(--s-5);z-index:6;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.96);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.tx-jump.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.tx-jump:hover{border-color:var(--plum);color:var(--plum-deep);box-shadow:var(--shadow-lg)}.tx-ctrl{display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;font:var(--t-small);font-weight:600;border-radius:var(--r-pill);transition:all var(--dur) var(--ease);border:1px solid transparent}.tx-ctrl-hide{background:var(--sand);color:var(--ink-2);padding:7px 13px}.tx-ctrl-hide:hover{background:var(--sand-deep);color:var(--ink)}.tx-ctrl-show{position:absolute;top:17px;right:22px;z-index:6;background:var(--surface);color:var(--ink);border-color:var(--line-strong);padding:9px 15px;box-shadow:var(--shadow-md);opacity:0;transform:translateY(-6px) scale(.97);pointer-events:none}.tx-ctrl-show.visible{opacity:1;transform:none;pointer-events:auto;transition-delay:.36s}.tx-ctrl-show:hover{border-color:var(--plum);color:var(--plum-deep);box-shadow:var(--shadow-lg)}.transcript{display:flex;flex-direction:column;gap:var(--s-5);overflow-y:auto}.transcript-empty{font:var(--t-body-lg);color:var(--ink-3);max-width:40ch;margin:var(--s-6) auto;text-align:center}.turn{display:flex;flex-direction:column;gap:var(--s-1)}.turn .who{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase}.turn.ai .who{color:var(--plum)}.turn.you .who{color:var(--slate-deep)}.turn .said{font:var(--t-body-lg);color:var(--ink);text-wrap:pretty}.turn.you .said{color:var(--ink-2)}@media (prefers-reduced-motion: no-preference){.turn{animation:turnIn var(--dur-slow) var(--ease) both}}@keyframes turnIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.room-dock{position:absolute;bottom:var(--s-5);left:0;right:440px;z-index:10;display:flex;align-items:center;justify-content:center;gap:var(--s-4);pointer-events:none;transition:right var(--dur-slow) var(--ease)}.room-dock>*{pointer-events:auto}.room-studio.tx-hidden~.room-dock{right:0}.mic{width:56px;height:56px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--plum);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--dur) var(--ease)}.mic:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mic-muted{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.end-btn{padding:10px 16px}.tx-toggle{display:none;padding:10px 16px}@media (max-width: 900px){.studio-stage{flex:1 1 auto}.room-studio .studio-transcript{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;flex:none;border-left:none;z-index:20}.room-studio.tx-hidden .studio-transcript{display:none}.room-studio .studio-transcript .transcript{padding-bottom:96px}.tx-jump{bottom:104px}.room-studio .tx-ctrl-show,.room-studio .studio-tx-head .tx-ctrl-hide{display:none}.tx-toggle{display:inline-flex}.room-dock,.room-studio.tx-hidden~.room-dock{right:0;z-index:30}}.back-link{background:none;border:none;font:var(--t-small);font-weight:600;color:var(--ink-3);cursor:pointer;padding:0;margin-bottom:var(--s-5);transition:color var(--dur) var(--ease);white-space:nowrap;text-decoration:none;display:inline-block}.back-link:hover{color:var(--plum)}.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-7)}.result-title{font:var(--t-h1);letter-spacing:var(--tracking-tight);margin:0 0 10px}.result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);font:var(--t-small);color:var(--ink-3)}.result-meta>span{white-space:nowrap}.result-page-wrap{min-height:calc(100dvh - 60px)}.result-inner{max-width:1100px;padding:var(--s-7) var(--s-5) var(--s-9);margin-left:max(var(--s-5),(100% - 1100px) / 2);margin-right:max(var(--s-5),(100% - 1100px) / 2);transition:margin-right var(--dur-slow) var(--ease)}.result-page-wrap:not(.tx-hidden) .result-inner{margin-right:calc(440px + var(--s-6))}.result-left{display:flex;flex-direction:column;gap:var(--s-5)}.result-page-wrap .tx-ctrl-show{position:fixed;top:77px;right:22px}.fb-eyebrow{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-3)}.fb-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.fb-summary p{font:var(--t-body-lg);color:var(--ink);margin:0;text-wrap:pretty}.fb-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--s-3)}.fb-list li{font:var(--t-body);color:var(--ink-2);padding-left:var(--s-5);position:relative;text-wrap:pretty}.fb-list li:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%}.fb-list.strengths li:before{background:var(--strength)}.fb-list.improve li:before{background:var(--improve)}.fb-skel{display:flex;flex-direction:column;gap:var(--s-5)}.fb-skel-lines{display:flex;flex-direction:column;gap:var(--s-3)}.fb-skel .fb-list li{padding-block:3px}.result-page-wrap .studio-transcript{position:fixed;top:60px;right:0;bottom:0;width:440px;height:auto;z-index:30;transition:width var(--dur-slow) var(--ease),opacity var(--dur) var(--ease),border-color var(--dur) var(--ease)}.result-page-wrap.tx-hidden .studio-transcript{width:0;opacity:0;border-left-color:transparent;pointer-events:none}.tx-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;height:100%}.tx-panel-head{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-soft)}.tx-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-5)}.tx-scroll .turn .said{font:var(--t-body)}.result-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4);margin-top:var(--s-7)}.result-cta-note{font:var(--t-small);color:var(--ink-3)}.topbar-link{font:var(--t-small);font-weight:600;color:var(--ink-2);text-decoration:none;padding:6px 12px;border-radius:var(--r-sm);transition:all var(--dur) var(--ease)}.topbar-link:hover{color:var(--plum);background:var(--plum-softer)}.admin-search-field{margin:var(--s-5) 0 var(--s-6)}.admin-user-list{display:flex;flex-direction:column;gap:var(--s-4)}.admin-user{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-5);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4)}.admin-user-main{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-user-id{display:flex;align-items:center;gap:var(--s-3)}.admin-user-name{font:var(--t-h3);color:var(--ink);overflow-wrap:anywhere}.admin-user-email{font:var(--t-small);color:var(--ink-3);overflow-wrap:anywhere}.admin-user-stats{display:flex;align-items:center;gap:var(--s-3);font:var(--t-small);color:var(--ink-3);flex-wrap:wrap}.admin-user-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.admin-user-link{width:100%;text-align:left;cursor:pointer;flex-wrap:nowrap;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.admin-user-link:hover{border-color:var(--plum);box-shadow:var(--shadow-md);background:var(--plum-softer)}.admin-user-chevron{flex:0 0 auto;font-size:18px;color:var(--ink-3)}.admin-detail-head{display:flex;flex-direction:column;gap:6px;margin-top:var(--s-5)}.admin-section-title{display:flex;align-items:center;gap:var(--s-3);font:var(--t-h2);color:var(--ink);margin:var(--s-7) 0 var(--s-4)}.admin-sessions{display:flex;flex-direction:column;gap:var(--s-3)}.interview-stats{display:flex;flex-direction:column;gap:2px;font:var(--t-small);color:var(--ink-3)}.credit-history{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.credit-row{display:grid;grid-template-columns:56px 140px 90px 1fr auto;gap:var(--s-3);align-items:baseline;padding:var(--s-2) var(--s-3);font:var(--t-small)}.credit-row+.credit-row{border-top:1px solid var(--line)}.credit-delta{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.credit-delta.pos{color:var(--plum)}.credit-delta.neg{color:var(--danger)}.credit-balance{font-variant-numeric:tabular-nums;color:var(--ink-3)}.credit-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-session{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-session.open{border-color:var(--line-strong)}.admin-session-head{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;color:inherit;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);transition:background var(--dur) var(--ease)}.admin-session-head:hover{background:var(--plum-softer)}.admin-session-head h4{font:var(--t-h3);margin:0}.admin-session-id{display:flex;align-items:center;gap:var(--s-3);min-width:0}.admin-session-meta{display:flex;align-items:center;gap:var(--s-3);margin-left:auto;font:var(--t-small);color:var(--ink-3);white-space:nowrap}.twisty{flex:0 0 auto;color:var(--ink-3);transition:transform var(--dur) var(--ease)}.twisty.open{transform:rotate(90deg)}.admin-session-body{display:flex;flex-direction:column;gap:var(--s-4);padding:0 var(--s-5) var(--s-5);border-top:1px solid var(--line);padding-top:var(--s-4)}.admin-proscons{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}@media (max-width: 640px){.admin-proscons{grid-template-columns:1fr}}.admin-filter-bar{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;margin:var(--s-5) 0 var(--s-4)}.admin-filter-search{flex:1 1 240px;min-width:200px}.admin-filter-meta{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);font:var(--t-small);color:var(--ink-3)}.admin-opt-n{color:var(--ink-3);font-weight:400;margin-left:var(--s-3)}.admin-spec-group{margin-top:var(--s-7)}.admin-spec-group-title{display:flex;align-items:center;gap:var(--s-3);font:var(--t-h2);color:var(--ink);margin:0 0 var(--s-4)}.admin-spec-group-glyph{display:inline-flex;color:var(--acc, var(--ink-3))}.admin-spec-cat{margin:0 0 var(--s-5)}.admin-spec-cat-title{display:flex;align-items:center;gap:var(--s-3);font:var(--t-h3);color:var(--ink-2);margin:0 0 var(--s-3)}.admin-spec-cat-glyph{display:inline-flex;color:var(--acc, var(--ink-3))}.admin-spec-cat-count{font:var(--t-meta);color:var(--ink-3);background:var(--sand);border-radius:999px;padding:1px 8px}.admin-spec-prose{font:var(--t-body);color:var(--ink-2);margin:0 0 var(--s-3);white-space:pre-wrap}.admin-spec-list{margin:0 0 var(--s-3);padding-left:var(--s-5);display:flex;flex-direction:column;gap:4px;font:var(--t-body);color:var(--ink-2)}.admin-spec-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.admin-spec-active-hint{font:var(--t-small)}.admin-spec-questions{display:flex;flex-direction:column;gap:var(--s-4)}.admin-spec-question{border-left:2px solid var(--line-strong);padding-left:var(--s-4)}.admin-spec-q{font:var(--t-body);font-weight:600;color:var(--ink);margin:0 0 var(--s-2)}.admin-spec-flow{display:flex;flex-direction:column;gap:var(--s-3)}.admin-spec-flow-row{display:flex;gap:var(--s-4);align-items:baseline}.admin-spec-flow-min{flex:0 0 64px;font:var(--t-small);font-variant-numeric:tabular-nums;color:var(--ink-3);text-align:right}.admin-spec-flow-section{font:var(--t-body);font-weight:600;color:var(--ink);margin:0}.admin-spec-private-note{font:var(--t-small);margin:0 0 var(--s-3)}.admin-spec-guide-topic{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4);background:var(--surface)}.admin-spec-guide-title{font:var(--t-h3);color:var(--ink);margin:0 0 var(--s-2)}.admin-spec-guide-label{font:var(--t-meta);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:var(--s-3) 0 4px}@media (max-width: 820px){.result-page-wrap{display:block;min-height:0}.result-page-wrap .studio-transcript{position:fixed;top:60px;right:0;bottom:0;left:0;width:auto;height:auto;flex:none;z-index:40;border-left:none;opacity:1}.result-page-wrap.tx-hidden .studio-transcript{display:none}.result-page-wrap:not(.tx-hidden) .result-inner{margin-right:max(var(--s-5),(100% - 1100px) / 2)}.result-page-wrap .tx-ctrl-show{top:72px;right:16px;bottom:auto}.result-inner{padding-top:calc(var(--s-7) + 24px)}.tx-scroll{max-height:540px}.dash-hero{flex-direction:column}}.app-shell.dash-mode{height:100vh;height:100dvh;min-height:0;overflow:hidden}.dash-shell{flex:1;display:flex;min-height:0;overflow:hidden}.dash-sidebar{--sb-w: 290px;position:relative;flex:0 0 var(--sb-w);width:var(--sb-w);display:flex;flex-direction:column;min-height:0;background:var(--paper-sunk);border-right:1px solid var(--line);transition:margin-left var(--dur-slow) var(--ease)}.dash-sidebar.collapsed{margin-left:calc(-1px - var(--sb-w))}body.sb-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.sb-resizing .dash-sidebar{transition:none}.sb-resizer{position:absolute;top:0;right:-4px;width:9px;height:100%;z-index:5;cursor:col-resize;display:flex;align-items:center;justify-content:center}.sb-resizer-grip{width:2px;height:100%;background:transparent;transition:background var(--dur) var(--ease)}.sb-resizer:hover .sb-resizer-grip,body.sb-resizing .sb-resizer-grip{background:var(--plum)}.dash-sidebar.collapsed .sb-resizer{display:none}.sb-head{flex:0 0 60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-4)}.sb-collapse,.sb-open{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.sb-collapse:hover,.sb-open:hover{background:var(--sand);color:var(--ink)}.sb-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--s-3) var(--s-4)}.sb-group{margin-bottom:var(--s-4)}.sb-group-label{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);padding:var(--s-3) var(--s-2) var(--s-2);position:sticky;top:0;z-index:1;background:var(--paper-sunk)}.sb-item{width:100%;text-align:left;display:flex;gap:var(--s-3);align-items:flex-start;background:transparent;border:1px solid transparent;border-radius:var(--r-md);padding:10px var(--s-3);cursor:pointer;color:var(--ink);transition:all var(--dur) var(--ease)}.sb-item:hover{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-xs)}.sb-item-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;margin-top:7px;background:var(--ink-4)}.sb-item-dot.completed{background:var(--plum)}.sb-item-dot.in_progress{background:var(--slate)}.sb-item-body{min-width:0;display:flex;flex-direction:column;gap:2px}.sb-item-title{font:var(--t-body);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item-meta{font:var(--t-small);color:var(--ink-3);display:flex;align-items:center;gap:6px;white-space:nowrap}.sb-item-note{font:var(--t-small);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-sidebar.dens-compact .sb-item{padding:7px var(--s-3)}.dash-sidebar.dens-compact .sb-item-note{display:none}.dash-sidebar.dens-compact .sb-group{margin-bottom:var(--s-3)}.sb-empty{text-align:center;padding:var(--s-7) var(--s-4)}.sb-empty-ic{width:44px;height:44px;border-radius:var(--r-md);background:var(--sand);color:var(--ink-3);display:grid;place-items:center;margin:0 auto var(--s-3)}.sb-empty-title{font:var(--t-body);font-weight:600;margin:0}.dash-main{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--paper)}.dash-main-bar{flex:0 0 60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-5)}.dmb-left{display:flex;align-items:center;gap:var(--s-3)}.dmb-right{display:flex;align-items:center;gap:var(--s-4);margin-left:auto}.dash-canvas{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:0 var(--s-5)}.dash-canvas[hidden],.lib[hidden]{display:none}.dash-stack{margin:auto 0;transform:translateY(-44px);width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--s-6);padding:var(--s-7) 0 var(--s-8)}.layout-docked .dash-canvas{justify-content:flex-start}.layout-docked .dash-stack{margin:0;gap:var(--s-5);padding-top:var(--s-8)}.dash-greet{width:100%;max-width:720px;text-align:center}.layout-docked .dash-greet{text-align:left}.greet-title{font:var(--t-display);font-size:40px;letter-spacing:var(--tracking-tight);margin:0}.layout-docked .greet-title{font:var(--t-h1);margin:0}.composer-files{display:flex;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-2) 4px var(--s-1)}.file-chip{display:flex;align-items:center;gap:8px;max-width:240px;background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 8px 6px 10px}.file-chip-ic{color:var(--plum);display:grid;place-items:center}.file-chip-name{font:var(--t-small);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip-size{font:var(--t-meta);color:var(--ink-3);white-space:nowrap}.file-chip-x{flex:0 0 auto;width:20px;height:20px;border-radius:var(--r-pill);border:none;background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.file-chip-x:hover{background:var(--sand-deep);color:var(--ink)}.composer-actions{display:flex;align-items:center;gap:var(--s-2);flex:0 0 auto}@media (max-width: 540px){.dash-main-bar{padding:0 var(--s-3)}.dmb-left,.dmb-right{gap:var(--s-2)}.dmb-left .sb-open+.wordmark{display:none}.composer{padding:var(--s-3) var(--s-3) var(--s-2)}.composer-bar{flex-wrap:nowrap;gap:6px}.composer-tools{gap:6px;min-width:0;flex-wrap:nowrap}.composer-actions{gap:6px}.composer-tools .tool-btn,.composer-actions .tool-btn,.composer-send,.composer-tools .mini-trigger{width:32px;height:32px}.composer-tools .mini-trigger{padding:0;gap:0;justify-content:center}.composer-tools .mini-ic-desktop,.composer-tools .mini-value,.composer-tools .mini-trigger>svg{display:none}.composer-tools .mini-ic-mobile{display:inline-flex}.composer-tools .mini-menu.align-right{right:auto;left:0}}.tool-btn{width:38px;height:38px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.tool-btn:hover{border-color:var(--plum-ring);color:var(--plum);background:var(--plum-softer)}.tool-btn.recording,.tool-btn.recording:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft);animation:livepulse 1.6s var(--ease-soft) infinite}.composer-send{flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-pill);border:none;background:var(--plum);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-plum);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.composer-send:hover:not(:disabled){background:var(--plum-deep);transform:translateY(-1px)}.composer-send:disabled{background:var(--sand-deep);color:var(--ink-4);box-shadow:none;cursor:default}.composer-drop{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-xl);background:color-mix(in srgb,var(--plum-softer) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1.5px dashed var(--plum);display:none;align-items:center;justify-content:center;gap:var(--s-2);font:var(--t-body);font-weight:600;color:var(--plum-deep);pointer-events:none}.composer.dragging .composer-drop{display:flex}.layout-docked .composer-hint{text-align:left}.hint-sep{margin:0 7px;color:var(--ink-4)}.building{flex:1;min-height:0;display:flex;padding:var(--s-6)}.build-card{margin:auto;width:100%;max-width:720px;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:var(--s-6);animation:buildIn var(--dur-slow) var(--ease)}.build-body{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 calc(-1 * var(--s-6));padding:0 var(--s-6);background:linear-gradient(var(--surface) 30%,transparent) center top / 100% 28px no-repeat local,linear-gradient(transparent,var(--surface) 70%) center bottom / 100% 28px no-repeat local,radial-gradient(farthest-side at 50% 0,rgba(28,25,10,.1),transparent) center top / 100% 12px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,rgba(28,25,10,.1),transparent) center bottom / 100% 12px no-repeat scroll}@keyframes buildIn{0%{transform:translateY(12px)}to{transform:none}}.build-eyebrow{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--plum);margin-bottom:var(--s-4)}.bp-line{font:var(--t-body);color:var(--ink-2);text-wrap:pretty}.shimmer-line{height:12px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--sand) 25%,var(--surface-warm) 50%,var(--sand) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.shimmer-line.w-60{width:60%}.shimmer-line.w-75{width:75%}.shimmer-line.w-90{width:90%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.build-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.build-title{font:var(--t-h2);letter-spacing:var(--tracking-tight);margin:0;text-wrap:balance}.build-len{flex:0 0 auto;font:var(--t-small);font-weight:600;color:var(--ink-2);background:var(--sand);padding:5px 11px;border-radius:var(--r-pill);white-space:nowrap}.build-desc{font:var(--t-body);color:var(--ink-2);margin:0 0 var(--s-5);text-wrap:pretty}.build-section{margin-bottom:var(--s-5)}.build-sec-label{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-3)}.build-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.build-bullets li{position:relative;padding-left:var(--s-4);font:var(--t-body);color:var(--ink-2);text-wrap:pretty}.build-bullets li:before{content:"";position:absolute;left:3px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--plum)}.build-flow{display:flex;flex-direction:column;gap:var(--s-3)}.flow-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 52px;align-items:center;gap:var(--s-3)}.flow-name{font:var(--t-body);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-bar{height:7px;background:var(--sand);border-radius:var(--r-pill);overflow:hidden}.flow-fill{display:block;height:100%;background:var(--plum);border-radius:var(--r-pill);transition:width var(--dur-slow) var(--ease)}.flow-min{font:var(--t-small);color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.build-foot{flex:0 0 auto;margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}.build-foot-wait{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding-bottom:2px}.build-foot-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-4);flex-wrap:wrap}.build-back{background:none;border:none;font:var(--t-small);font-weight:600;color:var(--ink-3);cursor:pointer;transition:color var(--dur) var(--ease)}.build-back:hover{color:var(--ink)}.build-analyzing{font:var(--t-small);color:var(--ink-3)}.bc-start{padding:10px 20px;white-space:nowrap}.sb-scrim{display:none}@media (max-width: 900px){.dash-sidebar{position:fixed;top:0;left:0;z-index:30;height:100%;box-shadow:var(--shadow-lg)}.sb-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#18160c66;opacity:0;pointer-events:none;touch-action:none;overscroll-behavior:contain;transition:opacity var(--dur-slow) var(--ease)}.sb-scrim.open{opacity:1;pointer-events:auto}:root[data-theme=dark] .sb-scrim{background:#0000008c}.hint-enter{display:none}}@media (max-width: 680px){.greet-title{font-size:30px}}.dash-tabs{position:absolute;top:0;left:0;right:0;height:60px;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.dash-tabs>*{pointer-events:auto}@media (max-width: 760px){.dash-tabs{position:static;height:auto;right:auto;padding:2px 0 var(--s-3);pointer-events:auto}}.lib{flex:1;min-height:0;overflow-y:auto}.lib-inner{max-width:1180px;margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-9)}.lib-hero{padding:var(--s-2) 0 var(--s-6)}.lib-title{font:var(--t-h1);letter-spacing:var(--tracking-tight);margin:0 0 8px}.lib-sub{font:var(--t-body-lg);color:var(--ink-2);margin:0 0 var(--s-5);max-width:56ch;text-wrap:pretty}.search{position:relative;max-width:620px}.search.block{max-width:none}.search-field{display:flex;align-items:center;gap:var(--s-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:4px 6px 4px var(--s-4);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.search-field:focus-within{border-color:var(--plum);box-shadow:var(--focus-ring),var(--shadow-sm)}.search-ic{color:var(--ink-3);flex:0 0 auto;display:grid;place-items:center}.search-input{flex:1;border:none;background:transparent;color:var(--ink);font:var(--t-body-lg);padding:11px 0;min-width:0}.search-input:focus{outline:none}.search-input::placeholder{color:var(--ink-4)}.search-clear{flex:0 0 auto;width:30px;height:30px;border-radius:var(--r-pill);border:none;background:var(--sand);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}.search-clear:hover{background:var(--sand-deep);color:var(--ink)}.suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:7px;animation:miniRise var(--dur) var(--ease) both;max-height:60vh;overflow-y:auto}.suggest-group+.suggest-group{margin-top:4px;border-top:1px solid var(--line-soft);padding-top:5px}.suggest-lbl{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-4);padding:6px 10px 4px}.suggest-row{display:flex;align-items:center;gap:var(--s-3);width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r-sm);padding:8px 10px;cursor:pointer;color:var(--ink);transition:background var(--dur) var(--ease)}.suggest-row:hover,.suggest-row.cursor{background:var(--surface-warm)}.suggest-ic{width:26px;height:26px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--acc-soft, var(--sand));color:var(--acc, var(--ink-2));flex:0 0 auto}.suggest-tx{min-width:0;flex:1;display:flex;flex-direction:column}.suggest-t{font:var(--t-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-t mark{background:var(--plum-soft);color:var(--plum-deep);border-radius:3px;padding:0 1px}.suggest-s{font:var(--t-small);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-kind{font:var(--t-meta);color:var(--ink-4);flex:0 0 auto}.facet{position:relative}.facet-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font:var(--t-small);font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease);white-space:nowrap}.facet-btn:hover{border-color:var(--ink-4);color:var(--ink)}.facet-btn .caret{color:var(--ink-4);display:grid;place-items:center}.facet-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:42;min-width:248px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:7px;animation:miniRise var(--dur) var(--ease) both;max-height:340px;overflow-y:auto}.facet-menu.right{left:auto;right:0}.facet-opt{display:flex;align-items:center;gap:var(--s-3);width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r-sm);padding:8px 9px;cursor:pointer;color:var(--ink);transition:background var(--dur) var(--ease)}.facet-opt:hover{background:var(--surface-warm)}.facet-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--surface);flex:0 0 auto;display:grid;place-items:center;color:#fff;transition:all var(--dur) var(--ease)}.facet-opt.on .facet-check{background:var(--plum);border-color:var(--plum)}.facet-opt .radio-check{border-radius:50%}.facet-opt-tx{flex:1;min-width:0;font:var(--t-body);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-top:var(--s-4)}.afilter{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 6px 0 12px;background:var(--plum-softer);border:1px solid var(--plum-ring);color:var(--plum-deep);border-radius:var(--r-pill);font:var(--t-small);font-weight:600;white-space:nowrap}.afilter-sub{font:var(--t-meta);font-weight:600;color:var(--plum);opacity:.72}.afilter-sub:after{content:"·";margin-left:6px}.afilter button{width:20px;height:20px;border-radius:var(--r-pill);border:none;background:transparent;color:var(--plum-deep);display:grid;place-items:center;cursor:pointer;transition:background var(--dur) var(--ease)}.afilter button:hover{background:var(--plum-soft)}.afilter-clear{background:none;border:none;color:var(--ink-3);font:var(--t-small);font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm)}.afilter-clear:hover{color:var(--danger)}.res-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin:var(--s-6) 0 var(--s-4)}.res-count{font:var(--t-body);color:var(--ink-2)}.res-count b{color:var(--ink);font-weight:700}.res-sort{display:inline-flex;align-items:center;gap:8px}.res-sort-lbl{font:var(--t-small);color:var(--ink-3)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-4)}.lib-cols{display:grid;grid-template-columns:252px 1fr;gap:var(--s-6);align-items:start}.rail{position:sticky;top:var(--s-3);align-self:start;max-height:calc(100dvh - 120px);overflow-y:auto;padding-right:10px}.rail-inner{display:flex;flex-direction:column;gap:var(--s-5)}.rail-sec-h{font:var(--t-meta);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--s-2);display:flex;align-items:center;justify-content:space-between}.rail-reset{background:none;border:none;color:var(--ink-3);font:var(--t-meta);font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}.rail-reset:hover{color:var(--danger)}.rail-tree{display:flex;flex-direction:column;gap:1px}.rail-v{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r-sm);padding:8px 9px;cursor:pointer;color:var(--ink);transition:background var(--dur) var(--ease)}.rail-v:hover{background:var(--surface-warm)}.rail-v.on{background:var(--plum-softer);color:var(--plum-deep)}.rail-v-caret{width:16px;height:16px;color:var(--ink-4);flex:0 0 auto;display:grid;place-items:center;transition:transform var(--dur) var(--ease)}.rail-v.open .rail-v-caret{transform:rotate(90deg)}.rail-v-glyph{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc);flex:0 0 auto}.rail-v-lbl{flex:1;min-width:0;font:var(--t-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-v-n{font:var(--t-small);color:var(--ink-4);font-variant-numeric:tabular-nums}.rail-cats{display:flex;flex-direction:column;gap:1px;margin:1px 0 4px 14px;padding-left:12px;border-left:1px solid var(--line)}.rail-cat{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r-sm);padding:6px 9px;cursor:pointer;color:var(--ink-2);transition:background var(--dur) var(--ease)}.rail-cat:hover{background:var(--surface-warm);color:var(--ink)}.rail-cat.on{color:var(--plum-deep);font-weight:600}.rail-cat .rail-check{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:#fff;flex:0 0 auto;transition:all var(--dur) var(--ease)}.rail-cat.on .rail-check{background:var(--plum);border-color:var(--plum)}.rail-cat-lbl{flex:1;min-width:0;font:var(--t-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-cat-n{font:var(--t-meta);color:var(--ink-4);font-variant-numeric:tabular-nums}.rail-checks{display:flex;flex-direction:column;gap:1px}.rail-chk{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r-sm);padding:7px 9px;cursor:pointer;color:var(--ink);transition:background var(--dur) var(--ease)}.rail-chk:hover{background:var(--surface-warm)}.rail-chk .rail-check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:#fff;flex:0 0 auto;transition:all var(--dur) var(--ease)}.rail-chk.on .rail-check{background:var(--plum);border-color:var(--plum)}.rail-chk-lbl{flex:1;font:var(--t-body)}.rail-chk-n{font:var(--t-small);color:var(--ink-4);font-variant-numeric:tabular-nums}.lib-empty{text-align:center;padding:var(--s-8) var(--s-5);max-width:460px;margin:0 auto}.lib-empty-ic{width:56px;height:56px;border-radius:var(--r-lg);background:var(--sand);color:var(--ink-3);display:grid;place-items:center;margin:0 auto var(--s-4)}.lib-empty-t{font:var(--t-h3);margin:0 0 6px}.lib-empty-s{font:var(--t-body);color:var(--ink-3);margin:0;text-wrap:pretty}.lib-filter-toggle{display:none}@media (max-width: 940px){.lib-cols{grid-template-columns:1fr;gap:0}.lib-inner{padding:var(--s-5) var(--s-4) var(--s-8)}.lib-filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);width:100%;padding:11px 14px;margin-bottom:0;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font:var(--t-body);font-weight:600;color:var(--ink);transition:border-radius var(--dur) var(--ease),border-color var(--dur) var(--ease)}.lib-filter-toggle .lft-left{display:inline-flex;align-items:center;gap:9px}.lib-filter-toggle .lft-left svg{color:var(--ink-3)}.lib-filter-toggle .lft-caret{display:inline-flex;color:var(--ink-4);transition:transform var(--dur) var(--ease)}.lib-filter-toggle.open{border-bottom-color:transparent;border-radius:var(--r-md) var(--r-md) 0 0}.lib-filter-toggle.open .lft-caret{transform:rotate(180deg)}.lft-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;background:var(--plum);color:#fff;border-radius:var(--r-pill);font:var(--t-meta);font-weight:700}.rail{position:static;max-height:none;padding-right:0;margin-bottom:var(--s-3);display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur) var(--ease)}.rail-clip{min-height:0;overflow:hidden}.rail-inner{background:var(--surface);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--r-md) var(--r-md);padding:var(--s-2) var(--s-4) var(--s-4)}.rail.open{grid-template-rows:1fr}.res-bar{margin-top:var(--s-2)}}@media (max-width: 680px){.home-tab{padding:8px 12px}}@media (prefers-reduced-motion: reduce){.pcard,.pcard-go,.rail-v-caret,.suggest,.facet-menu{transition:none;animation:none}}
