.mast{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px;border-bottom:1px solid var(--rule)}.mast-brand{display:flex;align-items:center;gap:10px}.mast-logo{display:block;height:28px;width:auto;flex-shrink:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mast-title{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.mast-meta{font-family:var(--font-mono);font-size:10.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:8px}.mast-dot{width:5px;height:5px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.rail{display:flex;align-items:center;justify-content:space-between;padding:14px 0 16px;border-bottom:1px solid var(--rule);gap:10px}.rail-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);flex-shrink:0}.rail-ticks{display:flex;gap:6px;flex:1;justify-content:flex-end;align-items:baseline}.tick{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 18;font-size:12px;color:var(--ink-4);line-height:1;transition:color .45s var(--ease),transform .45s var(--ease),font-weight .3s var(--ease);min-width:14px;text-align:center}.tick.done{color:var(--ink-2)}.tick.current{color:var(--accent);font-weight:500;font-size:14px;transform:translateY(-1px)}.welcome{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:40px 0 32px;gap:32px}.welcome-top{display:flex;flex-direction:column;gap:32px}.welcome-eyebrow{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:10px}.welcome-title{font-family:var(--font-serif);font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 40;font-size:52px;line-height:1.02;letter-spacing:-.02em;color:var(--ink);margin:0}.welcome-title em{font-style:italic;font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 60;color:var(--accent)}.welcome-lede{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 36;font-size:19px;line-height:1.45;color:var(--ink-2);max-width:34ch;margin:0;text-wrap:pretty}.welcome-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.welcome-meta dt{color:var(--ink-3);font-weight:500}.welcome-meta dd{color:var(--ink);margin:0;font-weight:500}.welcome-cta{display:flex;flex-direction:column;gap:14px}.begin-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 22px;background:var(--ink);color:var(--paper);border-radius:var(--r-sm);transition:background .3s var(--ease),transform .3s var(--ease)}.begin-btn:hover,.begin-btn:focus-visible{background:#000;transform:translateY(-1px)}.begin-btn:active{transform:translateY(0)}.begin-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.begin-label{font-family:var(--font-sans);font-weight:500;font-size:16px;letter-spacing:-.005em}.begin-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.begin-arrow{font-family:var(--font-serif);font-weight:300;font-size:22px;line-height:1;transition:transform .35s var(--ease)}.begin-btn:hover .begin-arrow{transform:translate(4px)}.welcome-fineprint{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);text-align:center;text-transform:uppercase}@media (max-width: 480px){.welcome-title{font-size:44px}}.fade-rise{animation:fr .55s var(--ease) both}.fade-rise-2{animation:fr .55s var(--ease) .08s both}.fade-rise-3{animation:fr .55s var(--ease) .18s both}.fade-rise-4{animation:fr .55s var(--ease) .28s both}.fade-rise-5{animation:fr .55s var(--ease) .38s both}@keyframes fr{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.complete{flex:1;display:flex;flex-direction:column;justify-content:center;padding:40px 0;gap:28px}.complete-eyebrow{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}.complete-eyebrow:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.4}.complete-numerals{font-family:var(--font-serif);font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 40;font-size:52px;line-height:1;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.complete-numerals .x{font-size:80px;color:var(--accent);margin-right:4px}.complete-numerals .sep{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;align-self:center;margin:0 2px}.complete-title{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 72;font-size:30px;line-height:1.15;letter-spacing:-.012em;color:var(--ink);margin:0;text-wrap:balance}.complete-body{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 24;font-size:17px;line-height:1.5;color:var(--ink-2);margin:0;max-width:36ch}.complete-meta{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:0}.complete-meta dt{color:var(--ink-3);font-weight:500}.complete-meta dd{color:var(--ink);margin:0;font-weight:500}.complete-signoff{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:14px;color:var(--ink-3);padding-top:12px}@media (max-width: 480px){.complete-numerals{font-size:44px}.complete-numerals .x{font-size:66px}.complete-title{font-size:26px}}.fade-rise{animation:c-fr .55s var(--ease) both}.fade-rise-2{animation:c-fr .55s var(--ease) .08s both}.fade-rise-3{animation:c-fr .55s var(--ease) .18s both}.fade-rise-4{animation:c-fr .55s var(--ease) .28s both}.fade-rise-5{animation:c-fr .55s var(--ease) .38s both}@keyframes c-fr{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bot-line{padding:16px 0 4px;display:flex;gap:12px;align-items:flex-start}.bot-glyph{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--font-serif);font-weight:500;font-size:12px;margin-top:2px;line-height:1;padding-bottom:1px;color:var(--ink)}.bot-text{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 36;font-size:18px;line-height:1.4;color:var(--ink);text-wrap:pretty;flex:1;min-width:0;white-space:pre-wrap}.bot-em{font-style:italic;color:var(--ink-2)}.bot-text-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.bot-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}.bot-line.is-nudge .bot-glyph{border-color:var(--accent);color:var(--accent)}.fade-rise{animation:bot-fr .45s var(--ease) both}@keyframes bot-fr{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-line{padding:10px 0 14px 34px;margin-top:2px;border-bottom:1px solid var(--rule-soft);display:flex;gap:10px;align-items:flex-start}.user-line-mark{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);padding-top:3px;flex-shrink:0;letter-spacing:.08em}.user-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.user-tags{display:flex;flex-wrap:wrap;gap:4px}.user-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;padding:3px 7px;background:var(--paper-2);color:var(--ink-2);border-radius:var(--r-sm);border:1px solid var(--rule);line-height:1.3;white-space:nowrap;font-weight:500}.user-text{font-family:var(--font-sans);font-size:15.5px;line-height:1.45;color:var(--ink);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.fade-rise{animation:ul-fr .45s var(--ease) both}@keyframes ul-fr{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.aq{padding:18px 0 10px;display:flex;flex-direction:column;gap:14px}.aq.is-readonly{padding:12px 0 6px;gap:8px}.aq.is-readonly .aq-glyph{border-color:var(--ink-3);color:var(--ink-3)}.aq.is-readonly .aq-label{color:var(--ink-3)}.aq.is-readonly .aq-prompt{font-size:17px;color:var(--ink-2);line-height:1.35}.aq-header{display:flex;align-items:center;gap:12px}.aq-glyph{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent);display:grid;place-items:center;font-family:var(--font-serif);font-weight:500;font-size:12px;line-height:1;padding-bottom:1px;color:var(--accent);flex-shrink:0}.aq-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}.aq-prompt{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 48,"SOFT" 30;font-size:22px;line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin:0;padding-left:34px;text-wrap:pretty}.aq-helper{font-family:var(--font-sans);font-size:13.5px;line-height:1.5;color:var(--ink-3);font-weight:400;border-left:1.5px solid var(--rule);margin:0 0 0 14px;padding-left:12px}.aq-scaffold{padding-left:34px;display:flex;flex-direction:column;gap:12px}.aq-group{display:flex;flex-direction:column;gap:6px}.aq-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.aq-chips{display:flex;flex-wrap:wrap;gap:6px}.aq-chip{font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:1;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .14s var(--ease);cursor:pointer;white-space:nowrap}.aq-chip:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-4);color:var(--ink)}.aq-chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.aq-chip.is-on:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.aq-chip:disabled{opacity:.55;cursor:not-allowed}.aq-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase;padding-top:2px}.fade-rise{animation:aq-fr .4s var(--ease) both}@keyframes aq-fr{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.id-card{margin:10px 0 6px;padding:20px 20px 18px;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);position:relative;overflow:hidden}.id-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.id-card-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;display:flex;align-items:center;gap:8px}.id-card-label:after{content:"";flex:1;height:1px;background:var(--rule)}.id-card-name{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 48,"SOFT" 30;font-size:26px;line-height:1.1;letter-spacing:-.012em;color:var(--ink);margin:0 0 2px}.id-card-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-variation-settings:"opsz" 24;font-size:14.5px;color:var(--ink-2);margin-bottom:14px}.id-card-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;margin:0}.id-card-grid dt{color:var(--ink-3);text-transform:uppercase;font-weight:500}.id-card-grid dd{margin:0;color:var(--ink);font-weight:500}.id-actions{display:flex;gap:10px;margin-top:12px}.id-btn{flex:1;padding:13px 14px;border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:500;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .25s var(--ease),color .25s var(--ease)}.id-btn:hover{background:var(--paper-3)}.id-btn.primary{background:var(--ink);color:var(--paper)}.id-btn.primary:hover{background:#000}.scale-in{animation:id-si .5s var(--ease) both}@keyframes id-si{0%{opacity:0;transform:scale(.985) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.match-wrap{margin:10px 0 6px}.match-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.match-list{display:flex;flex-direction:column}.match-item{display:flex;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid var(--rule-soft);text-align:left;width:100%;transition:background .2s var(--ease)}.match-item:last-child{border-bottom:1px solid var(--rule-soft)}.match-item:hover,.match-item:focus-visible{background:var(--paper-2)}.match-num{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 24;font-size:18px;color:var(--accent);line-height:1;width:22px;flex-shrink:0}.match-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.match-name{font-family:var(--font-sans);font-weight:500;font-size:15px;color:var(--ink)}.match-co{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}.match-arrow{font-family:var(--font-serif);color:var(--ink-3);font-size:18px;transition:transform .3s var(--ease),color .3s var(--ease)}.match-item:hover .match-arrow{transform:translate(3px);color:var(--accent)}.match-none{margin-top:12px;width:100%;padding:13px 14px;border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:500;font-size:14.5px;transition:background .25s var(--ease)}.match-none:hover{background:var(--paper-3)}.scale-in{animation:ml-si .5s var(--ease) both}@keyframes ml-si{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.review{padding:12px 0 4px}.review-title{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.review-item{padding:14px 0;border-top:1px solid var(--rule-soft);display:grid;grid-template-columns:28px 1fr;gap:12px}.review-item:last-of-type{border-bottom:1px solid var(--rule-soft)}.review-num{font-family:var(--font-serif);font-weight:400;font-variation-settings:"opsz" 18;font-size:13px;color:var(--ink-3);padding-top:2px}.review-content{display:flex;flex-direction:column;gap:6px;min-width:0}.review-q{font-family:var(--font-serif);font-style:italic;font-weight:400;font-variation-settings:"opsz" 24;font-size:14px;line-height:1.35;color:var(--ink-3)}.review-tags{display:flex;flex-wrap:wrap;gap:4px}.review-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:3px 7px;background:var(--paper-3);color:var(--ink-2);border-radius:2px;line-height:1.3;white-space:nowrap;font-weight:500}.review-a{font-family:var(--font-sans);font-size:14.5px;line-height:1.45;color:var(--ink)}.review-actions{display:flex;gap:10px;margin-top:16px}.review-btn{flex:1;padding:13px 14px;border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:500;font-size:14.5px;transition:background .25s var(--ease)}.review-btn:hover{background:var(--paper-3)}.review-btn.primary{background:var(--ink);color:var(--paper)}.review-btn.primary:hover{background:var(--accent)}.scale-in{animation:r-si .5s var(--ease) both}@keyframes r-si{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.typing{padding:12px 0 4px;display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:22px;line-height:1;color:var(--ink-3)}.typing .d{display:inline-block;opacity:.3;animation:bob 1.1s var(--ease-in-out) infinite}.typing .d:nth-child(2){animation-delay:.15s}.typing .d:nth-child(3){animation-delay:.3s}@keyframes bob{0%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.fade-in{animation:tfi .35s var(--ease) both}@keyframes tfi{0%{opacity:0}to{opacity:1}}.scroll{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to bottom,transparent 0,black 16px,black calc(100% - 8px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 16px,black calc(100% - 8px),transparent 100%)}.scroll-inner{padding:8px 0 40px}.prev-stack{padding-bottom:10px;margin-bottom:4px}.conversation{display:flex;flex-direction:column}.dock{padding:12px 0 16px;border-top:1px solid var(--rule);background:linear-gradient(to bottom,transparent 0,var(--paper) 8px);position:relative}.input-shell{display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 14px;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);transition:border-color .2s var(--ease),background .2s var(--ease)}.input-shell:focus-within{border-color:var(--ink);background:var(--paper)}.input-shell.is-disabled{opacity:.5}.input-shell textarea{flex:1;border:none;background:transparent;resize:none;font-family:var(--font-sans);font-size:16px;line-height:1.4;color:var(--ink);padding:6px 0;max-height:120px;min-height:24px;outline:none}.input-shell textarea::placeholder{color:var(--ink-4);font-weight:400}.send{flex-shrink:0;width:38px;height:38px;background:var(--ink);color:var(--paper);border-radius:var(--r-sm);display:grid;place-items:center;transition:background .25s var(--ease),opacity .25s var(--ease),transform .25s var(--ease)}.send:disabled{opacity:.25;background:var(--ink-3)}.send:not(:disabled):hover{background:#000;transform:translateY(-1px)}.send svg{width:16px;height:16px}.dock-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:0 4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.dock-foot kbd{font-family:var(--font-mono);font-size:9px;padding:2px 5px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink-2)}.stage{position:relative;z-index:1;display:flex;flex-direction:column;height:100dvh;min-height:100dvh;max-width:var(--stage-max-width);margin:0 auto;padding:0 20px}@media (max-width: 480px){.stage{padding:0 18px}}:root{--paper: #F2F0EA;--paper-2: #E7E3D9;--paper-3: #DCD6C9;--ink: #0F1924;--ink-2: #283543;--ink-3: #5A6775;--ink-4: #94A0AC;--rule: #CFCCC4;--rule-soft: #E0DCD2;--accent: #124F7C;--accent-strong: #0E3F65;--accent-soft: rgba(18, 79, 124, .1);--accent-ring: rgba(18, 79, 124, .35);--slate: #94A6B4;--slate-soft: rgba(148, 166, 180, .18);--ok: #2E7D5B;--ok-soft: rgba(46, 125, 91, .18);--danger: #B33A3A;--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--font-sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-xs: 10.5px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15.5px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 26px;--fs-3xl: 44px;--fs-4xl: 52px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.45;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-sm: 2px;--r-md: 3px;--r-lg: 4px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .2s;--dur-base: .35s;--dur-slow: .55s;--stage-max-width: 560px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none;font-feature-settings:"ss01","cv11"}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(rgba(15,25,36,.035) 1px,transparent 1px),radial-gradient(rgba(15,25,36,.025) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;mix-blend-mode:multiply}button{font-family:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,textarea{font-family:inherit;color:inherit}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
