@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-ext-400-normal-DehDhP4C.woff2)format("woff2"),url(/assets/libre-baskerville-latin-ext-400-normal-Dm_CMUlS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2)format("woff2"),url(/assets/libre-baskerville-latin-400-normal-B6A5kCEq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-baskerville-latin-ext-700-normal-URU-TBJY.woff2)format("woff2"),url(/assets/libre-baskerville-latin-ext-700-normal-CwmVKpN0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-baskerville-latin-700-normal-CLGq6Yj4.woff2)format("woff2"),url(/assets/libre-baskerville-latin-700-normal-DFRs2Bxw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-latin-ext-400-normal-CSc_-29E.woff2)format("woff2"),url(/assets/spline-sans-latin-ext-400-normal-CGjdi6Jr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-latin-400-normal-mLogX9rG.woff2)format("woff2"),url(/assets/spline-sans-latin-400-normal-DmG-Nwtr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-latin-ext-500-normal-4kVdjaA8.woff2)format("woff2"),url(/assets/spline-sans-latin-ext-500-normal-N5nyIdWq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-latin-500-normal-CdmnBg_0.woff2)format("woff2"),url(/assets/spline-sans-latin-500-normal-B9lAodj5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spline-sans-latin-ext-600-normal-n5R0030X.woff2)format("woff2"),url(/assets/spline-sans-latin-ext-600-normal-DxNkUstU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spline-sans-latin-600-normal-ByPuHedk.woff2)format("woff2"),url(/assets/spline-sans-latin-600-normal-Bx__ivQr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-synthesis:none;color:#1d2942;--ink:#17223b;--ink-soft:#253452;--canvas:#f3f1ea;--paper:#fffdf8;--paper-blue:#e7eef2;--signal:#ff6247;--signal-dark:#d9452f;--sage:#b9cebd;--text:#1d2942;--muted:#687287;--line:#d4d3cc;--line-dark:#ffffff29;--shadow:0 18px 50px #17223b17;background:#f3f1ea;font-family:Spline Sans,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:auto}body{background:linear-gradient(#17223b07 1px, transparent 1px), linear-gradient(90deg, #17223b07 1px, transparent 1px), var(--canvas);min-width:320px;min-height:100vh;color:var(--text);background-size:32px 32px;margin:0;line-height:1.55}button,textarea,input,select,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:.65rem;min-height:44px;padding:.72rem 1rem;font-weight:600;transition:transform .16s,box-shadow .16s,background .16s}button:hover:not(:disabled){background:var(--ink-soft);transform:translateY(-1px);box-shadow:0 8px 20px #17223b24}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{letter-spacing:-.035em;font-family:Libre Baskerville,Georgia,serif;line-height:1.02}h2{font-size:clamp(1.8rem,3vw,2.65rem)}h3{font-size:1.35rem}.eyebrow{letter-spacing:.17em;text-transform:uppercase;color:var(--signal-dark);margin:0 0 .8rem;font:500 .7rem/1.3 IBM Plex Mono,monospace}.brand-lockup{letter-spacing:-.01em;align-items:center;gap:.8rem;font-weight:650;display:flex}.brand-lockup>span:last-child{gap:.08rem;display:grid}.brand-lockup small{letter-spacing:.1em;text-transform:uppercase;opacity:.68;font:500 .58rem/1.3 IBM Plex Mono,monospace}.brand-lockup-light{color:#fff}.brand-sigil{border:1px solid;border-radius:50%;place-items:center;width:2.45rem;height:2.45rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.25rem;font-weight:650;display:grid}.auth-shell{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);min-height:100vh;display:grid}.auth-intro{background:var(--ink);color:#fff;flex-direction:column;padding:clamp(2rem,5vw,5rem);display:flex;position:relative;overflow:hidden}.auth-intro:before,.portal-rail:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 15%,#b9cebd33,#0000 27%),linear-gradient(125deg,#0000 58%,#ff62471a 58% 64%,#0000 64%);position:absolute;inset:0}.auth-intro>*,.portal-rail>*{position:relative}.auth-intro-copy{max-width:38rem;margin:auto 0}.auth-intro-copy .eyebrow{color:#ffc1b6}.auth-intro h2{color:#fff;max-width:10ch;margin:0 0 1.4rem;font-size:clamp(3rem,6vw,6.5rem)}.auth-intro-copy>p:last-child{color:#ffffffb8;max-width:34rem;font-size:1.08rem}.auth-footnote{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font:500 .65rem/1.3 IBM Plex Mono,monospace}.auth-form-wrap{background:radial-gradient(circle at 92% 12%, #b9cebd8c, transparent 28%), var(--canvas);place-items:center;padding:clamp(1.5rem,6vw,6rem);display:grid}.auth-card{border:1px solid var(--line);width:min(38rem,100%);box-shadow:var(--shadow);background:#fffdf8eb;border-radius:1.2rem;padding:clamp(2rem,5vw,4.2rem)}.auth-card h1{margin:0 0 1.2rem;font-size:clamp(2.8rem,5vw,5rem)}.auth-card>p:not(.eyebrow){max-width:31rem;color:var(--muted)}.auth-card label{gap:.5rem;margin-top:1.6rem;font-weight:600;display:grid}.auth-card textarea{border:1px solid var(--line);width:100%;min-height:7rem;color:var(--text);resize:vertical;background:#fff;border-radius:.7rem;padding:1rem}.auth-card button{margin-top:1rem}.auth-card a{width:fit-content;color:var(--muted);text-underline-offset:.25rem;margin-top:1.2rem;font-weight:600;display:block}.portal-loading{align-content:center;gap:1rem;width:min(28rem,100% - 3rem);min-height:100vh;margin:0 auto;display:grid}.portal-loading-line{background:var(--line);height:3px;margin-top:2rem;overflow:hidden}.portal-loading-line:after{background:var(--signal);content:"";width:45%;height:100%;animation:1.1s ease-in-out infinite alternate loading-line;display:block}.portal-loading p{color:var(--muted)}@keyframes loading-line{0%{transform:translate(-30%)}to{transform:translate(155%)}}.portal-shell{grid-template-columns:18.5rem minmax(0,1fr);min-height:100vh;display:grid}.portal-rail{background:var(--ink);color:#fff;flex-direction:column;height:100vh;padding:2rem;display:flex;position:sticky;top:0;overflow:hidden}.rail-context{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);gap:.25rem;margin-top:clamp(3rem,10vh,7rem);padding:1rem 0;display:grid}.rail-context span,.rail-note{letter-spacing:.08em;text-transform:uppercase;color:#ffffff85;font:500 .62rem/1.5 IBM Plex Mono,monospace}.rail-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.portal-rail nav{gap:.35rem;margin-top:1.4rem;display:grid}.portal-rail nav a,.rail-account summary{min-height:3.25rem;box-shadow:none;color:#ffffffb8;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;padding:.65rem .8rem;font-weight:600;text-decoration:none;list-style:none;display:flex}.rail-account summary::-webkit-details-marker{display:none}.portal-rail nav a:hover,.rail-account summary:hover{border-color:var(--line-dark);box-shadow:none;color:#fff;background:#ffffff0f;transform:none}.portal-rail nav a.active{background:var(--paper);color:var(--ink);border-color:#ffffff1f}.rail-note{max-width:14rem;margin-top:auto}.rail-account{border-top:1px solid var(--line-dark);margin-top:1.25rem;padding-top:1rem;position:relative}.rail-account-menu{z-index:20;border:1px solid var(--line);background:var(--paper);width:14.5rem;box-shadow:var(--shadow);color:var(--ink);border-radius:.8rem;gap:.3rem;padding:1rem;display:grid;position:absolute;bottom:calc(100% + .5rem);right:0}.rail-account-menu span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font:500 .62rem/1.4 IBM Plex Mono,monospace}.rail-account-menu strong{text-overflow:ellipsis;overflow:hidden}.rail-account-menu button{box-shadow:none;color:var(--signal-dark);background:0 0;border-color:#d9452f59;margin-top:.65rem}.rail-account-menu button:hover{background:var(--signal-dark);color:#fff}.portal-shell>main{min-width:0;padding:clamp(2rem,6vw,6rem)}.route-stage{width:min(72rem,100%);margin:0 auto}.route-heading{max-width:58rem;margin-bottom:clamp(2rem,5vw,4.5rem)}.route-heading h1,.proposal-editor>h1{max-width:12ch;margin:0;font-size:clamp(3.4rem,7vw,7.2rem)}.route-deck,.route-heading>p:last-child{max-width:44rem;color:var(--muted);margin:1.4rem 0 0;font-size:clamp(1rem,1.7vw,1.25rem)}.project-heading-meta{align-items:center;gap:1rem;margin-top:1.3rem;display:flex}.project-heading-meta p{color:var(--muted);margin:0}.project-status,.project-state{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.4rem;width:fit-content;font:500 .62rem/1.2 IBM Plex Mono,monospace;display:inline-flex}.project-status{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.38rem .6rem}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr));gap:1.1rem;display:grid}.workspace-index{gap:1.25rem;display:grid}.proposal-index,.project-index,.new-proposal-panel{border:1px solid var(--line);background:#fffdf8c7;border-radius:1rem;padding:clamp(1.25rem,3vw,2rem)}.proposal-index{background:linear-gradient(135deg,#fff0ece6,#fffdf8eb 62%)}.new-proposal-panel{background:var(--paper-blue);color:var(--text);border-color:#bac6cd;padding:clamp(1rem,2.2vw,1.5rem);position:relative;overflow:hidden;box-shadow:0 12px 32px #17223b0f}.new-proposal-panel:before{background:var(--signal);content:"";width:.35rem;position:absolute;top:0;bottom:0;left:0}.new-proposal-intro{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.new-proposal-marker{background:var(--paper);width:2.65rem;height:2.65rem;color:var(--signal-dark);border:1px solid #17223b47;border-radius:50%;place-items:center;font-size:1.6rem;font-weight:500;line-height:1;display:grid}.new-proposal-copy h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Spline Sans,sans-serif;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:650;line-height:1.15}.new-proposal-copy p{color:#526178;max-width:48rem;margin:.25rem 0 0}.new-proposal-form{background:#fffdf880;border-top:1px solid #bac6cd;grid-template-columns:minmax(12rem,.7fr) minmax(18rem,1.3fr);align-items:start;gap:1rem;margin-top:1.25rem;padding:clamp(1rem,2.2vw,1.4rem);display:grid}.new-proposal-form label{color:var(--ink);gap:.45rem;display:grid}.new-proposal-form input,.new-proposal-form textarea{width:100%;color:var(--text);background:#fff;padding:.8rem .9rem}.new-proposal-form textarea{resize:vertical;min-height:8rem}.new-proposal-form input::placeholder,.new-proposal-form textarea::placeholder{color:#687287}.new-proposal-form .form-actions{flex-wrap:wrap;grid-column:1/-1;gap:.65rem;display:flex}.section-heading-row{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.35rem;display:flex}.section-heading-row h2,.section-heading-row p{margin-top:0}.section-heading-row h2{margin-bottom:0}.section-heading-row>p{max-width:34rem;color:var(--muted);margin-bottom:0}.proposal-grid{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:.8rem;display:grid}.proposal-card{background:var(--paper);min-height:12rem;color:var(--text);text-align:left;border-color:#d9452f59;align-content:space-between;justify-items:start;padding:1.2rem;display:grid}.proposal-card-shell{align-content:start;gap:.55rem;display:grid}.proposal-card-shell .proposal-card{width:100%}.quiet-action{box-shadow:none;color:var(--muted);text-underline-offset:.2rem;background:0 0;border:0;justify-self:start;padding:.35rem .15rem;font-size:.9rem;text-decoration:underline}.quiet-action:hover:not(:disabled),.quiet-action:focus-visible{color:var(--signal-dark);box-shadow:none;background:0 0}button.proposal-card:hover:not(:disabled),button.proposal-card:focus-visible{border-color:var(--signal-dark);color:var(--text);background:#fff;box-shadow:0 10px 28px #17223b1a}.proposal-card strong{letter-spacing:-.03em;font-family:Libre Baskerville,Georgia,serif;font-size:1.75rem;line-height:1.05}.proposal-card>span:last-child{color:var(--signal-dark);font-weight:650}.project-card{border:1px solid var(--line);background:var(--paper);min-height:17rem;color:var(--text);text-align:left;border-radius:1rem;align-content:space-between;justify-items:start;padding:1.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 28px #17223b0d}.project-card:after{background:var(--paper-blue);content:"";border-radius:50%;width:8rem;height:8rem;transition:transform .22s;position:absolute;bottom:-2.5rem;right:-2.5rem}button.project-card:hover:not(:disabled),button.project-card:focus-visible{border-color:var(--ink);background:var(--paper);box-shadow:var(--shadow);color:var(--text);transform:translateY(-3px)}button.project-card:hover:not(:disabled):after,button.project-card:focus-visible:after{transform:scale(1.16)}.project-card strong{z-index:1;letter-spacing:-.035em;max-width:12ch;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1;position:relative}.project-card>span:last-child{z-index:1;max-width:28rem;color:var(--muted);position:relative}.project-subnav{border:1px solid var(--line);background:#fffdf8b8;border-radius:.8rem;gap:.25rem;margin:-1.5rem 0 2rem;padding:.35rem;display:flex;overflow-x:auto}.project-subnav button{box-shadow:none;color:var(--muted);text-transform:capitalize;background:0 0;border-color:#0000;flex:1 0 7.5rem}.project-subnav button:hover{background:var(--paper-blue);box-shadow:none;color:var(--ink);transform:none}.project-subnav button.active{background:var(--ink);color:#fff}.project-overview,.spec-workspace{gap:1rem;display:grid}.project-direction,.spec-progress,.spec-rubric,.spec-open-questions,.spec-admin-feedback,.living-spec,.project-delivery,.project-completion,.project-requests{border:1px solid var(--line);background:#fffdf8e6;border-radius:1rem;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 10px 34px #17223b0b}.project-direction-copy{max-width:62rem;font-size:1.08rem}.project-direction-copy .message-body{margin-top:0}.spec-progress{border-left:5px solid var(--signal)}.spec-progress.is-compact{box-shadow:none;margin:1rem 0;padding:1rem 1.15rem}.spec-progress-heading,.section-heading-row,.conversation-heading-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.spec-progress-heading h2,.spec-progress-heading p,.section-heading-row h2,.section-heading-row p,.conversation-heading-row h2,.conversation-heading-row p{margin:0}.spec-progress-heading>strong{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.35rem .55rem;font-size:.78rem}.spec-confidence-track{background:var(--paper-blue);border-radius:999px;height:.55rem;margin:1rem 0 .8rem;overflow:hidden}.spec-confidence-track span{border-radius:inherit;background:linear-gradient(90deg, var(--signal), #d99b52);height:100%;display:block}.spec-progress-gaps{color:var(--muted)}.spec-rubric ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 0;display:grid}.spec-rubric li{border:1px solid var(--line);background:#fff;border-left:4px solid #9b9da7;border-radius:.7rem;gap:.55rem;padding:1rem;display:grid}.spec-rubric li.is-partial{border-left-color:#c58a3f}.spec-rubric li.is-covered{border-left-color:#4e7a59}.spec-rubric li>div{justify-content:space-between;gap:.75rem;display:flex}.spec-rubric li span,.spec-rubric li small{color:var(--muted);font-size:.76rem}.spec-rubric li p{color:var(--muted);margin:0}.spec-open-questions li+li{margin-top:.7rem}.spec-admin-feedback{border-left:5px solid var(--signal-dark);background:#fff0ec}.living-spec .message-body{max-width:72ch}.project-delivery,.project-completion,.project-requests{gap:.8rem;display:grid}.project-delivery h2,.project-delivery h3,.project-delivery p,.project-completion h2,.project-completion h3,.project-completion p,.project-requests h2,.project-requests p,.project-requests label{margin:0}.delivery-gate{border:1px solid var(--line);border-left:5px solid var(--signal);background:var(--paper-blue);border-radius:.75rem;gap:.65rem;padding:1.2rem;display:grid}.delivery-gate p{max-width:56rem;margin:0}.delivery-gate-owner{background:var(--signal-dark);color:#fff;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:.28rem .5rem;font-size:.7rem;font-weight:800}.delivery-gate-actions{flex-wrap:wrap;gap:.55rem;display:flex}.delivery-gate>small,.operation-gate span{color:var(--muted)}.operation-gate{border:1px solid var(--line);background:var(--paper-blue);border-radius:.55rem;align-items:baseline;gap:.5rem;padding:.7rem .85rem;display:flex}.spec-workflow-handoff{border-left:4px solid var(--signal-dark);background:var(--paper-blue);grid-template-columns:auto auto 1fr;align-items:baseline;gap:.35rem .55rem;padding:.65rem .75rem;display:grid}.spec-workflow-handoff span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.spec-workflow-handoff small{color:var(--muted);grid-column:1/-1}.completion-review-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.completion-review-heading>div{gap:.35rem;display:grid}.completion-review-heading h2{letter-spacing:-.025em;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.35rem)}.completion-review-heading>div>p:last-child{max-width:50rem;color:var(--muted)}.completion-review-result{border:1px solid var(--line);background:#fffdf8eb;border-radius:.65rem;gap:.65rem;padding:1rem;display:grid;box-shadow:inset 4px 0 #9b9da7}.completion-review-result[data-state=succeeded]{box-shadow:inset 4px 0 #4e7a59}.completion-review-result[data-state=failed]{box-shadow:inset 4px 0 0 var(--signal)}.completion-review-result[data-state=notComplete]{box-shadow:inset 4px 0 #c27a2c}.completion-review-result>p{max-width:76ch;font-size:1.02rem;line-height:1.6}.completion-verdict{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.completion-verdict>strong{color:#315c3b;letter-spacing:.07em;text-transform:uppercase;background:#e3efe6;border-radius:999px;padding:.4rem .65rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.completion-verdict[data-verdict=notComplete]>strong{color:#8b4d14;background:#fff0df}.completion-verdict>span{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.completion-empty{background:var(--paper-blue);border:1px dashed #9ca9b5;border-radius:.75rem;padding:1.2rem}.completion-empty p{color:var(--muted);margin-top:.35rem}.completion-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;display:grid}.completion-counts>div{border:1px solid var(--line);background:#ffffffbd;border-top:3px solid #87929d;border-radius:.55rem;gap:.12rem;padding:.75rem;display:grid}.completion-counts>div[data-status=met]{border-top-color:#4e7a59}.completion-counts>div[data-status=partial],.completion-counts>div[data-status=blocked]{border-top-color:#c27a2c}.completion-counts>div[data-status=unmet]{border-top-color:#b6422f}.completion-counts>div:last-child:nth-child(odd){grid-column:span 2}.completion-counts strong{font-family:Libre Baskerville,Georgia,serif;font-size:1.35rem}.completion-counts span{color:var(--muted);text-transform:uppercase;font-size:.74rem}.completion-ledger{border:1px solid var(--line);background:#fff;border-radius:.75rem;overflow-x:auto}.completion-ledger table{border-collapse:collapse;width:100%;font-size:.91rem}.completion-ledger caption{text-align:left;padding:1rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.15rem;font-weight:700}.completion-ledger th,.completion-ledger td{border-top:1px solid var(--line);vertical-align:top;text-align:left;padding:.8rem}.completion-ledger th{background:var(--paper-blue);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.7rem}.completion-ledger th:first-child{width:16%}.completion-ledger th:nth-child(2){width:29%}.completion-ledger th:nth-child(3){width:11%}.completion-ledger td p{line-height:1.45}.completion-ledger td small{color:var(--muted);margin-top:.45rem;line-height:1.45;display:block}.completion-status{letter-spacing:.04em;text-transform:uppercase;background:#edf0f2;border-radius:999px;justify-self:start;padding:.28rem .45rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.completion-status[data-status=met]{color:#315c3b;background:#e3efe6}.completion-status[data-status=partial],.completion-status[data-status=blocked]{color:#8b4d14;background:#fff0df}.completion-status[data-status=unmet]{color:#8f3022;background:#fbe6e2}.project-delivery .iteration-history-heading{margin-top:.7rem;font-size:1.15rem}.project-requests textarea{min-height:9rem;padding:.8rem}.project-requests select{min-height:44px;padding:.65rem}.requirements,.proposal-editor,.route-stage>section:not(.project-grid){border:1px solid var(--line);background:#fffdf8e0;border-radius:1rem;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 10px 34px #17223b0b}.route-stage section h2:first-child,.requirements h2{margin-top:0}.requirements>p{max-width:52rem;font-size:1.08rem}.project-operations{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;padding-top:2rem;display:grid}.project-operations>section{border:1px solid var(--line);background:var(--paper-blue);border-radius:.75rem;align-content:start;gap:.7rem;padding:1.2rem;display:grid}.project-operations h3,.project-operations p,.project-operations label,.project-operations select,.project-operations textarea{margin:0}.project-operations h3{font-size:1.55rem}.project-operations textarea{min-height:7rem;padding:.8rem}.project-operations select{min-height:44px;padding:.65rem}.project-operations>.status{grid-column:1/-1;margin:0}.execution-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.execution-list li{border:1px solid var(--line);background:var(--paper);border-radius:.55rem;gap:.45rem;padding:.75rem;display:grid}.execution-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.execution-heading strong{min-width:0;font-family:Libre Baskerville,Georgia,serif;font-size:1rem;line-height:1.25}.execution-heading .project-state{border:1px solid var(--line);background:var(--paper-blue);white-space:nowrap;border-radius:999px;justify-self:end;padding:.28rem .48rem}.execution-list li>p{color:var(--muted);margin:0}.visibility-note{border-left:4px solid var(--signal);color:#71372d;background:#fff0ec;margin:1.2rem 0;padding:.85rem 1rem}.status{border:1px solid var(--line);border-left:4px solid var(--ink);background:var(--paper-blue);border-radius:.55rem;margin:1rem 0;padding:.9rem 1rem}.status-error{border-left-color:var(--signal-dark);background:#fff0ec}.status-success{background:#edf5ee;border-left-color:#4e7a59}label{font-weight:600}textarea,input,select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:.65rem}.proposal-editor textarea,.route-stage main textarea,.route-stage>section textarea{resize:vertical;width:100%;min-height:10rem;margin-top:.45rem;padding:1rem}.proposal-draft-panel,.proposal-conversation-panel{gap:.8rem;display:grid}.proposal-draft-panel{margin-top:2rem}.proposal-conversation-panel{border:1px solid var(--line);background:var(--paper-blue);border-radius:.85rem;margin-top:2.5rem;padding:clamp(1.2rem,3vw,1.8rem)}.proposal-draft-panel h2,.proposal-draft-panel p,.proposal-conversation-panel h2,.proposal-conversation-panel p{margin:0}.proposal-draft-panel label,.proposal-conversation-panel label{margin-top:.6rem}.proposal-conversation-panel .action-row,.proposal-draft-panel .action-row{margin-bottom:0}.step-label{letter-spacing:.12em;color:var(--signal-dark);font:500 .64rem/1.3 IBM Plex Mono,monospace}.action-row{flex-wrap:wrap;gap:.65rem;margin:1rem 0;display:flex}.agent-thinking{border:1px solid color-mix(in srgb, var(--signal) 32%, var(--line));background:color-mix(in srgb, var(--paper-blue) 72%, white);border-radius:.85rem;align-items:center;gap:.9rem;margin:.8rem 0 1rem;padding:.95rem 1.1rem;display:flex}.agent-thinking>span:last-child{gap:.15rem;display:grid}.agent-thinking small{color:var(--muted)}.agent-thinking-dots{gap:.25rem;min-width:2.1rem;display:flex}.agent-thinking-dots i{background:var(--signal);border-radius:50%;width:.42rem;height:.42rem;animation:1.2s ease-in-out infinite agent-thinking-pulse}.agent-thinking-dots i:nth-child(2){animation-delay:.16s}.agent-thinking-dots i:nth-child(3){animation-delay:.32s}@keyframes agent-thinking-pulse{0%,60%,to{opacity:.32;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}@media (prefers-reduced-motion:reduce){.agent-thinking-dots i{opacity:.75;animation:none}}button.secondary,.text-button{border-color:var(--line);box-shadow:none;color:var(--ink);background:0 0}button.secondary:hover:not(:disabled),.text-button:hover:not(:disabled),button.secondary:focus-visible,.text-button:focus-visible{border-color:var(--ink-soft);background:var(--ink-soft);color:var(--paper)}.turns,.inbox-list,.route-stage section>ul{padding:0;list-style:none}.turns,.inbox-list{gap:.7rem;display:grid}.turns li,.inbox-list li{border:1px solid var(--line);background:#fff;border-radius:.75rem;padding:1rem}.turns li strong,.inbox-list li>span{letter-spacing:.08em;text-transform:uppercase;color:var(--signal-dark);font:500 .64rem/1.3 IBM Plex Mono,monospace}.agent-identity{color:var(--muted);margin:-.25rem 0 1rem;font:500 .72rem/1.4 IBM Plex Mono,monospace}.message-body{overflow-wrap:anywhere;margin-top:.45rem}.message-body>:first-child{margin-top:0}.message-body>:last-child{margin-bottom:0}.message-body p,.message-body ul,.message-body ol,.message-body blockquote,.message-body pre{margin:.55rem 0}.message-body ul,.message-body ol{padding-left:1.4rem}.message-body li+li{margin-top:.3rem}.message-body h1,.message-body h2,.message-body h3,.message-body h4{letter-spacing:0;margin:1rem 0 .45rem;font-family:Spline Sans,sans-serif;font-size:1rem;line-height:1.35}.message-body blockquote{border-left:3px solid var(--sage);color:var(--muted);padding-left:.85rem}.message-body code{background:var(--paper-blue);border-radius:.25rem;padding:.1rem .3rem;font-family:IBM Plex Mono,monospace;font-size:.88em}.message-body pre{background:var(--ink);color:var(--paper);border-radius:.55rem;padding:.85rem;overflow-x:auto}.message-body pre code{color:inherit;background:0 0;padding:0}.message-body a{color:#9f2d1e;text-underline-offset:.16em;font-weight:600;text-decoration-thickness:.08em}.inbox-list li{gap:.45rem;display:grid}.inbox-list li.unread{border-left:4px solid var(--signal)}.inbox-list li p{color:var(--muted);margin:0}.notification-control{border:1px solid var(--line);background:var(--paper-blue);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1.25rem;margin:0 0 1.25rem;padding:1rem;display:flex}.notification-control h3,.notification-control p{margin:0}.notification-control h3{letter-spacing:0;font-family:Spline Sans,sans-serif;font-size:1rem}.notification-control p[role=status]{margin-top:.25rem}.notification-control small{color:var(--muted);margin-top:.35rem;display:block}.notification-control button{flex:none}.stream{white-space:pre-wrap;min-height:2rem}.split-list{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);gap:1rem;display:grid}.split-list ul{align-content:start;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.split-list button{text-align:left;width:100%}.split-list small{color:var(--muted);margin-top:.35rem;display:block}.split-list article{border:1px solid var(--line);background:var(--paper-blue);border-radius:.75rem;min-width:0;min-height:16rem;padding:1.2rem}.split-list pre{overflow-wrap:anywhere;white-space:pre-wrap}.voice-composer{align-items:center;gap:1rem;margin-top:1rem;display:flex}.empty-state{border:1px dashed var(--muted);background:#fffdf88c;border-radius:1rem;grid-column:1/-1;max-width:40rem;padding:2rem}.empty-state-onboarding{background:var(--paper-blue);border-style:solid;max-width:none;padding:clamp(1.5rem,4vw,3rem)}.empty-state-onboarding h2{margin:0;font-size:clamp(2.2rem,4vw,3.5rem)}.empty-state-onboarding p:not(.eyebrow){max-width:44rem}.compact-empty-state{margin-top:.5rem;padding:1.25rem}.compact-empty-state p{color:var(--muted);margin-bottom:0}.empty-state strong{font-family:Libre Baskerville,Georgia,serif;font-size:1.7rem}.skip-link{z-index:20;background:#fff;border-radius:.5rem;padding:.8rem 1rem;position:fixed;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}@media (width<=860px){.new-proposal-intro{grid-template-columns:auto minmax(0,1fr)}.new-proposal-intro>button{grid-column:1/-1;width:100%}.new-proposal-form,.spec-rubric ul{grid-template-columns:1fr}.spec-progress-heading,.section-heading-row,.conversation-heading-row{flex-direction:column;align-items:stretch}.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:22rem;padding:1.5rem}.auth-intro-copy{margin:4rem 0 2rem}.auth-intro h2{font-size:clamp(2.6rem,12vw,4.6rem)}.auth-footnote{display:none}.auth-form-wrap{padding:1.2rem}.auth-card{padding:1.5rem}.portal-shell{padding-bottom:5.4rem;display:block}.portal-rail{z-index:10;height:auto;padding:.55rem max(.65rem, env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));border-top:1px solid var(--line-dark);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.25rem;display:grid;position:fixed;inset:auto 0 0;overflow:visible}.portal-rail:before,.portal-rail>.brand-lockup,.rail-context,.rail-note{display:none}.portal-rail nav{grid-template-columns:repeat(2,1fr);gap:.25rem;margin:0;display:grid}.portal-rail nav a,.rail-account summary{text-align:center;justify-content:center;min-width:0;min-height:3.5rem;padding:.4rem .25rem;font-size:.67rem;display:flex}.rail-account{border:0;margin:0;padding:0;position:static}.rail-account summary{height:100%}.rail-account-menu{right:max(.65rem, env(safe-area-inset-right));text-align:left;width:min(18rem,100vw - 1.3rem);bottom:calc(100% + .5rem)}.portal-shell>main{padding:2rem 1rem 13rem}.route-heading h1,.proposal-editor>h1{font-size:clamp(3rem,16vw,5rem)}.project-heading-meta,.section-heading-row,.notification-control,.voice-composer{flex-direction:column;align-items:flex-start}.project-subnav{margin-top:-1rem}.project-subnav button{min-width:max-content}.split-list,.project-operations{grid-template-columns:1fr}.completion-review-heading{grid-template-columns:1fr;align-items:stretch}.completion-review-heading>button{width:100%}.completion-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-ledger{background:0 0;border:0;overflow:visible}.completion-ledger thead{display:none}.completion-ledger table,.completion-ledger tbody,.completion-ledger tr,.completion-ledger td{width:100%;display:block}.completion-ledger caption{padding:0 0 .75rem}.completion-ledger tr{border:1px solid var(--line);background:#fff;border-radius:.7rem;margin-bottom:.75rem}.completion-ledger td{border-top:1px solid var(--line);grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:.8rem;display:grid}.completion-ledger td:first-child{border-top:0}.completion-ledger td:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.66rem}}@media (width<=460px){.auth-intro{min-height:18rem}.auth-intro-copy{margin-top:3rem}.auth-intro-copy>p:last-child{display:none}.route-stage>section:not(.project-grid),.requirements,.proposal-editor{padding:1rem}.action-row>button{width:100%}.completion-ledger td{grid-template-columns:1fr;gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
