:root{--ink:#202737;--muted:#82899a;--border:#e8eaf0;--bg:#f6f7fa;--card:#fff;--nav:#141d2d;--purple:#7659dd;--purplelight:#f1edfc;--shadow:0 5px 24px rgba(25,35,55,.045);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(118,89,221,.35);outline-offset:2px}.loading-app{padding:45px;font-weight:700}
.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh;max-width:2000px;margin:auto}.sidebar{background:var(--nav);color:#dce3f5;display:flex;flex-direction:column;padding:26px 16px 18px;position:sticky;top:0;height:100vh;z-index:15}.brand{display:flex;align-items:center;gap:11px;padding:4px 15px 25px;cursor:pointer}.brand-symbol{width:37px;height:37px;border-radius:12px;background:#a98bf3;display:grid;place-items:center;color:#17213b}.brand h1{font-size:18px;color:#fff;font-weight:800;letter-spacing:-.75px}.brand small{font-size:10px;color:#a6b1c7;letter-spacing:1.18px;text-transform:uppercase}.side-label{font-size:10px;color:#75849e;letter-spacing:1.4px;font-weight:750;text-transform:uppercase;padding:22px 14px 11px}.side-nav{display:flex;flex-direction:column;gap:4px}.side-button{background:transparent;color:#a9b5ca;border:0;width:100%;text-align:left;display:flex;align-items:center;gap:13px;border-radius:10px;padding:11px 13px;font-size:13px;font-weight:650;transition:.18s}.side-button:hover,.side-button.active{background:#263147;color:#fff}.side-button svg{width:17px;height:17px;flex-shrink:0}.side-button.active svg{color:#c1a8ff}.side-button span.count{margin-left:auto;background:#323f57;border-radius:6px;font-size:10px;padding:2px 7px;color:#c3cce0}.sidebar-projects{display:flex;flex-direction:column;gap:2px;max-height:36vh;overflow:auto}.project-dot{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.sidebar-projects .side-button{padding-top:8px;padding-bottom:8px;gap:10px;font-size:12px}.sidebar-projects .side-button .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-add{border:1px dashed #34435d;background:transparent;color:#9caac1;width:calc(100% - 20px);margin:12px 10px 0;border-radius:9px;text-align:center;padding:10px;font-size:12px;font-weight:650}.side-add:hover{color:#fff;border-color:#7e90b3}.spacer{flex:1}.sidebar-foot{padding:14px 13px 3px;border-top:1px solid #2b3548;display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:10px;background:#b99de7;color:#1b1e30;font-weight:800;display:grid;place-items:center}.sidebar-foot b{font-size:12px;color:#fff}.sidebar-foot small{font-size:10px;color:#8e9cb3}.main{min-width:0}.topbar{height:81px;background:rgba(255,255,255,.84);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4%,60px);gap:15px}.crumb{display:flex;align-items:center;gap:12px;min-width:0;color:#959cab;font-size:13px}.crumb b{color:var(--ink);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:10px;align-items:center}.connection{display:flex;align-items:center;gap:7px;font-weight:700;font-size:11px;color:#677183;background:#f3f5f8;padding:9px 12px;border-radius:8px;white-space:nowrap}.connection i{display:block;width:7px;height:7px;border-radius:100%;background:#e0a352}.connection.online i{background:#51b48d}.circle-button{width:34px;height:34px;display:grid;place-items:center;background:#fff;border:1px solid #e6e8ee;border-radius:9px;color:#5c6578}.circle-button svg{width:17px;height:17px}.mobile-menu{display:none}.content{padding:36px clamp(24px,4%,60px) 80px;max-width:1540px;margin:auto}.eyebrow{font-size:11px;letter-spacing:1.65px;text-transform:uppercase;color:#9889cc;font-weight:800}.section-heading{font-size:27px;letter-spacing:-1.25px;font-weight:800;line-height:1.35}.subhead{font-size:13px;color:#818b9c;line-height:1.65;margin-top:7px}.heading-row{display:flex;justify-content:space-between;gap:15px;align-items:end;margin:0 0 19px}.button{border:0;border-radius:10px;background:#7659dd;color:white;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;transition:.18s;white-space:nowrap;line-height:1.3}.button:hover{background:#6046c4;transform:translateY(-1px)}.button svg{width:15px;height:15px}.button.secondary{background:#f0edf9;color:#7156cf}.button.secondary:hover{background:#e7e0fa}.button.outline{background:#fff;color:#454e61;border:1px solid #e1e5ed}.button.outline:hover{background:#f8f9fb}.button.danger{background:#fff1f1;color:#c34c55}.button.wide{width:100%}.button.small{padding:8px 11px;font-size:11px;border-radius:8px}.button.ghost{background:transparent;color:#737e91}.button.ghost:hover{background:#f1f2f6}.section{margin-bottom:29px}.hero{border-radius:18px;background:linear-gradient(117deg,#1a2841 0%,#262e57 72%,#4a3d75 100%);padding:31px 36px;position:relative;overflow:hidden;min-height:211px;color:#fff;display:flex;justify-content:space-between;gap:24px}.hero::before{content:'';position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:19px;top:-120px;box-shadow:0 0 0 47px rgba(255,255,255,.018),0 0 0 92px rgba(255,255,255,.015)}.hero-text{z-index:1;max-width:600px}.hero .eyebrow{color:#c4aaff}.hero h2{font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:27px;letter-spacing:-1.2px;margin-top:12px;line-height:1.3}.hero p{font-size:12px;line-height:1.8;color:#bbc6df;max-width:480px;margin:8px 0 18px}.hero .button{background:#bfa7ff;color:#241a44}.hero .button:hover{background:#d1bfff}.hero-graphic{align-self:center;position:relative;z-index:1;width:135px;height:135px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.hero-graphic::before{content:'';position:absolute;inset:7px;border:1px dashed rgba(223,205,255,.39);border-radius:50%}.hero-graphic .graphic-icon{width:75px;height:75px;background:rgba(207,182,255,.16);border:1px solid rgba(220,199,255,.28);border-radius:23px;display:grid;place-items:center;color:#d4c0ff;transform:rotate(-9deg)}.hero-graphic svg{width:37px;height:37px;transform:rotate(9deg)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:21px 0 32px}.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 23px;display:flex;justify-content:space-between;align-items:center;min-height:98px;box-shadow:var(--shadow)}.stat .label{font-size:11px;color:#8690a0;font-weight:600}.stat b{font:800 26px/1.5 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:-1.1px}.stat .stat-icon{background:#f4f0fe;color:#8d70d8;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:#eff9f6;color:#66ae91}.stat:nth-child(3) .stat-icon{background:#fff5e8;color:#d29a52}.stat-icon svg{width:20px;height:20px}.two-column{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,.95fr);gap:26px}.section-title{font-size:17px;letter-spacing:-.4px;font-weight:800}.text-link{color:#8063d2;font-size:11px;font-weight:800;background:none;border:0;display:flex;align-items:center;gap:5px;padding:7px}.text-link svg{width:13px;height:13px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:19px 19px 17px;box-shadow:var(--shadow);text-align:left;color:var(--ink);min-width:0;transition:transform .2s,border .2s;display:block;width:100%}.project-card:hover{transform:translateY(-3px);border-color:#c6b8f1}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between}.project-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:23px}.project-card .arrowbox{border:1px solid #e9eaf0;border-radius:8px;color:#929bb0;width:25px;height:25px;display:grid;place-items:center}.project-card .arrowbox svg{width:13px;height:13px}.project-card h3{font-size:13px;letter-spacing:-.2px;margin-top:16px;font-weight:800}.project-card p{font-size:11px;color:#8992a2;margin:4px 0 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f0f3;padding-top:13px;color:#7a8496;font-size:10px}.pill{display:inline-flex;align-items:center;gap:5px;background:#f1f2f5;color:#7d8592;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:750;white-space:nowrap}.pill.completed{background:#e9f7ef;color:#358b67}.pill.running{background:#efebff;color:#7659d6}.pill.queued{background:#eaf2ff;color:#6388c2}.pill.failed{background:#fff0ed;color:#d36c60}.pill.draft{background:#f2f3f6;color:#8992a1}.pill.cancelled{background:#f5f5f5;color:#84848d}.right-stack{display:flex;flex-direction:column;gap:19px}.panel{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);padding:21px}.panel h3{font-size:14px;font-weight:800;letter-spacing:-.25px}.panel p{color:#8490a0;font-size:11px;line-height:1.7}.ai-panel-top{display:flex;align-items:center;gap:12px}.ai-symbol{width:40px;height:40px;border-radius:11px;background:#f3edff;color:#906bdb;display:grid;place-items:center}.ai-symbol svg{width:21px;height:21px}.ai-panel strong{font-size:12px}.ai-panel .desc{padding:17px 0 16px}.divider{height:1px;background:#f0f1f4;margin:15px 0}.service-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#7d8796}.service-line b{color:#30394b;font-weight:800}.hint{font-size:10px!important;color:#a1a8b4!important;line-height:1.6}.queue-list{display:flex;flex-direction:column;gap:0}.queue-row{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:13px 0;border-bottom:1px solid #f0f1f4;background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left}.queue-row:last-child{border:0}.queue-row .qtitle{font-size:11px;font-weight:750;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:220px}.queue-row small{display:block;font-size:10px;color:#9ca4b1;margin-top:4px}.queue-row svg{width:15px;height:15px;color:#a3aabc;flex-shrink:0}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:10px;border:1px dashed #dcdfea;background:#fbfcfd;border-radius:13px;min-height:170px;padding:22px}.empty-icon{width:43px;height:43px;border-radius:12px;background:#f1edfb;color:#8068d0;display:grid;place-items:center}.empty h3{font-size:13px}.empty p{max-width:280px;font-size:11px;color:#939cab;line-height:1.6}.empty .button{margin-top:5px}.kicker{font-size:10px;letter-spacing:1.2px;color:#9c91ba;font-weight:800;text-transform:uppercase}.workspace-head{display:flex;gap:16px;align-items:center;margin-bottom:26px}.workspace-head .project-icon{width:64px;height:64px;font-size:30px;border-radius:16px}.workspace-head h1{font-size:25px;letter-spacing:-1.2px}.workspace-head p{font-size:12px;color:#8993a2;margin-top:5px}.workspace-actions{margin-left:auto;display:flex;gap:8px}.workspace-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:21px}.task-list{display:flex;flex-direction:column;gap:10px}.task-item{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:15px;background:#fff;border:1px solid #e9ebf1;border-radius:12px;transition:.15s}.task-item:hover{border-color:#c7b8ec}.task-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#f3f0fa;color:#8168c4;flex-shrink:0}.task-icon svg{width:17px;height:17px}.task-info{flex:1;min-width:0}.task-info b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-info small{color:#9a9fae;font-size:10px;display:block;margin-top:5px}.task-side{display:flex;gap:10px;align-items:center}.task-side>svg{width:15px;height:15px;color:#a5adba}.info-block{padding:14px;background:#f7f8fb;border-radius:9px;border:1px solid #f0f1f4;margin-top:13px}.info-block label{font-size:9px;font-weight:800;color:#8b93a4;letter-spacing:.9px;text-transform:uppercase;display:block;margin-bottom:6px}.info-block span{display:block;font-size:11px;color:#525d71;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.mono{font-family:ui-monospace,Menlo,Monaco,monospace!important;font-size:10px!important}.jobs-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.tab{border:1px solid #e4e6ed;border-radius:8px;background:#fff;padding:9px 14px;font-size:11px;font-weight:750;color:#8992a1}.tab.active{background:#231e36;color:#fff;border-color:#231e36}.job-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85;color:#475166;background:#fafafd;border:1px solid #ebecf1;border-radius:10px;padding:20px;max-height:680px;overflow:auto}.detail-head{background:white;border:1px solid var(--border);border-radius:14px;padding:25px;margin-bottom:20px}.detail-head h1{font-size:21px;letter-spacing:-.6px;margin:10px 0}.detail-head .metadata{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#95a0ad;font-size:11px}.detail-head p{font-size:12px;line-height:1.8;color:#657084;margin-top:13px;white-space:pre-wrap}.artifact-row{display:flex;align-items:center;gap:10px;border:1px solid #e7e9ee;border-radius:8px;padding:12px 14px;margin-top:10px;font-size:12px}.artifact-row svg{width:17px;height:17px;color:#8d70d8}.artifact-row span{flex:1;word-break:break-all}.timeline{border-left:2px solid #eae6f6;margin:16px 0 0 5px;padding:0 0 0 19px}.timeline-item{position:relative;padding-bottom:18px;font-size:11px;color:#5d6778;line-height:1.7}.timeline-item:before{content:'';position:absolute;left:-25px;top:4px;border-radius:50%;height:10px;width:10px;background:#bba6e8;border:3px solid #fff;box-shadow:0 0 0 1px #e9e2f5}.timeline-item small{color:#a9b0bc;display:block;margin-top:3px;font-size:10px}.form-group{margin:17px 0}.form-group label{font-size:11px;font-weight:800;color:#515a6c;display:block;margin-bottom:9px}.form-group small{font-size:10px;color:#9aa2af;line-height:1.6;display:block;margin-top:6px}.form-input,.form-textarea,.form-select{width:100%;background:#fff;border:1px solid #dfe3eb;border-radius:9px;padding:12px 13px;font-size:12px;color:#263045;transition:.2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#957ddd;outline:3px solid rgba(123,93,219,.1)}.form-textarea{resize:vertical;min-height:90px;line-height:1.7}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23818b9a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-overlay{position:fixed;inset:0;background:rgba(10,18,31,.56);z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.modal{width:100%;max-width:570px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:17px;box-shadow:0 20px 75px rgba(0,0,0,.24)}.modal-top{padding:23px 26px 16px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eff0f4}.modal-top h2{font-size:18px;letter-spacing:-.5px}.modal-top p{font-size:11px;color:#939baa;margin-top:6px}.modal-body{padding:5px 26px 24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.close{border:0;background:#f4f5f8;color:#727e90;width:31px;height:31px;border-radius:8px;display:grid;place-items:center}.close svg{width:17px;height:17px}.warning{border-radius:9px;padding:12px 14px;background:#fff8eb;color:#986c2e;font-size:11px;line-height:1.7}.notice{background:#f5f1ff;color:#6f5e9d;font-size:11px;line-height:1.7;padding:14px 16px;border-radius:10px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:24px}.connect-status{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:750;margin:14px 0;color:#647185}.connect-status .pulse{height:9px;width:9px;background:#d3a460;border-radius:50%}.connect-status.online .pulse{background:#58b48a}.info-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.info-list .row{display:flex;align-items:start;gap:9px;color:#717d91;font-size:11px;line-height:1.65}.info-list svg{flex-shrink:0;width:15px;height:15px;color:#967cde;margin-top:1px}.footnote{color:#9fa6b1;font-size:10px;line-height:1.7;margin-top:16px}#toast{position:fixed;bottom:25px;right:28px;z-index:50;max-width:400px;display:none;background:#212d43;color:#fff;border-radius:11px;padding:14px 18px;font-size:12px;box-shadow:0 10px 50px rgba(0,0,0,.2)}#toast.show{display:block}.mobile-scrim{display:none}.copy-text{font-size:11px;color:#7d8899}.instruction-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.8;color:#626d7e;max-height:195px;overflow:auto}
@media(max-width:1200px){.two-column{grid-template-columns:minmax(0,1.45fr) minmax(250px,.9fr)}.content{padding-left:27px;padding-right:27px}.topbar{padding-left:27px;padding-right:27px}}
@media(max-width:980px){.app-shell{grid-template-columns:220px 1fr}.sidebar{padding:22px 10px}.two-column,.workspace-layout,.settings-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-graphic{display:none}.stats{gap:10px}.stat{padding:14px}.stat b{font-size:23px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;height:100vh;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-scrim.open{display:block;position:fixed;inset:0;background:#0d19258c;z-index:14}.mobile-menu{display:grid}.topbar{height:65px;padding:0 18px}.content{padding:22px 16px 70px}.section-heading{font-size:22px}.hero{padding:24px;min-height:auto}.hero h2{font-size:23px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{min-height:80px;padding:13px 10px}.stat b{font-size:20px}.stat-icon{display:none!important}.stat .label{font-size:10px}.two-column{grid-template-columns:1fr}.project-grid{gap:10px}.project-card{padding:14px}.project-card h3{font-size:12px}.project-icon{height:40px;width:40px;font-size:19px}.right-stack{display:flex}.heading-row{align-items:center}.workspace-head{flex-wrap:wrap}.workspace-actions{margin-left:0;width:100%}.workspace-actions .button{flex:1}.connection{font-size:0;padding:10px}.connection i{width:8px;height:8px}.crumb{font-size:11px}.field-row{grid-template-columns:1fr}.modal-overlay{padding:10px}.modal-top{padding:18px 18px 14px}.modal-body{padding:5px 18px 18px}.task-side .pill{display:none}}

.connection{border:0}.asset-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:15px;margin-bottom:20px}.asset-image-card{border:1px solid var(--border);border-radius:12px;background:white;overflow:hidden;text-align:left;padding:0;box-shadow:var(--shadow)}.asset-image-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#f2f3f6}.asset-image-card>div{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.asset-image-card b{font-size:11px}.asset-image-card span{font-size:10px;color:#9ba2af}.image-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:15px 0}.image-results img{display:block;width:100%;border:1px solid #e6e7ee;border-radius:10px;object-fit:contain;max-height:530px;background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}

/* v0.3 — explicit multi-agent handoffs (read-only proposals). */
.team-stages{display:grid;gap:10px;margin:0 0 18px}.team-stage{border:1px solid #e1e4ea;background:#f8f9fb;border-radius:12px;overflow:hidden}.team-stage summary{padding:12px 14px;cursor:pointer;font-weight:700;font-size:13px;line-height:1.5}.team-stage summary svg{display:inline-block;vertical-align:middle;margin-right:7px;color:#378b71}.stage-body{border-top:1px solid #e1e4ea;padding:14px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;overflow-wrap:anywhere}

/* v0.3.1: in-app review surface; content is escaped and HTML preview sandboxed. */
.review-section{margin-top:24px;border-top:1px solid var(--border);padding-top:21px}
.review-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.review-heading h3{font-size:15px}.review-heading p{margin-top:5px;color:var(--muted);line-height:1.5}
.review-count{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
.review-layout{display:grid;grid-template-columns:minmax(155px,30%) minmax(0,1fr);border:1px solid var(--border);border-radius:12px;min-height:260px;overflow:hidden}
.review-file-list{border-right:1px solid var(--border);background:#f8f9fc;display:flex;flex-direction:column;padding:8px;gap:5px;min-width:0}
.review-file{background:none;border:1px solid transparent;text-align:left;padding:10px;display:flex;gap:8px;align-items:center;min-width:0;border-radius:8px;color:#626d7f;font-size:11px}
.review-file span:nth-child(2){flex:1;overflow-wrap:anywhere}.review-file svg{width:15px;flex-shrink:0}
.review-file:hover{background:white}.review-file.active{background:white;color:#644bc3;border-color:#dfd5fb;font-weight:750}
.review-body{padding:18px;min-width:0;max-height:610px;overflow:auto;background:white}
.review-document{font-size:13px;line-height:1.8;color:#364052;overflow-wrap:anywhere;max-width:80ch}
.review-document h2,.review-document h3,.review-document h4,.review-document h5{color:#252c3c;margin:20px 0 9px;font-size:15px;line-height:1.4}
.review-document h2:first-child,.review-document h3:first-child{margin-top:0}
.review-document p{font-size:13px;color:#364052;margin:0 0 12px;line-height:1.75}
.review-document .review-list-line{padding-left:13px}
.review-code,.review-source pre,.review-document pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:#3f4560}
.review-document code{background:#f5f4f9;padding:1px 4px;border-radius:3px}
.review-document pre{background:#f7f7fa;padding:12px;border-radius:8px;margin:12px 0;overflow:auto}
.review-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:#747b8d;margin-bottom:14px}
.review-preview-tools>div{display:flex;gap:5px}.review-preview-tools button[aria-pressed="true"]{background:#eee7fc;color:#6d49c6}
.review-frame-shell{margin:auto;border:1px solid #d8dae2;border-radius:8px;overflow:hidden;max-width:100%;background:#fff;box-shadow:0 3px 16px #20203014}
.review-frame-shell.desktop{width:100%}.review-frame-shell.mobile{width:min(100%,375px)}
.review-frame-shell iframe{width:100%;height:430px;display:block;border:0;background:white}
.review-source{margin-top:14px}.review-source summary{cursor:pointer;font-weight:700;font-size:11px;color:#6a52bd}
.review-source pre{margin-top:9px;padding:11px;border-radius:8px;background:#f8f8fa;max-height:300px;overflow:auto}
.review-empty{padding:20px;color:#818ba0;text-align:center;font-size:12px}
.review-image-button{padding:0;border:1px solid var(--border);background:transparent;border-radius:10px;overflow:hidden;cursor:zoom-in;display:inline-flex;max-width:100%}
.review-image-button img{max-width:100%;max-height:240px;object-fit:contain}
.review-lightbox{position:fixed;inset:0;z-index:99;background:rgba(11,15,27,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;gap:16px}
.review-lightbox img{max-width:95vw;max-height:82vh;object-fit:contain}.review-lightbox button{align-self:end}
@media(max-width:720px){.review-layout{grid-template-columns:1fr}.review-file-list{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.review-file{min-width:145px}.review-body{padding:12px;max-height:65vh}.review-heading{align-items:flex-start}.review-frame-shell iframe{height:360px}}

/* v0.4.1: explicit job-to-job handoff */
.followup-source{padding:15px;border:1px solid var(--border,#d8d9df);border-radius:12px;background:var(--surface-secondary,#f7f7fa);margin:2px 0 18px}
.followup-source p{font-size:13px;line-height:1.5;margin:7px 0;color:var(--muted,#657080)}
.followup-files{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:13px}
.followup-files label{display:flex;align-items:center;gap:8px;cursor:pointer;overflow-wrap:anywhere}
.followup-files input{accent-color:#7561bd}
.followup-source small{display:block;margin-top:12px;color:var(--muted,#657080)}
.source-lineage{font-size:13px;margin:12px 0;color:var(--muted,#657080)}

/* v0.5: proposals compared only with recorded, read-only GitHub source */
.change-panel{margin-top:28px;border:1px solid var(--border,#d8d9df);border-radius:14px;padding:18px;background:var(--surface,#fff)}
.change-panel .review-heading{margin-bottom:14px}.change-origin{font-size:12px;color:var(--muted,#657080);margin-bottom:13px;overflow-wrap:anywhere}
.change-files{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px}.change-file{border:1px solid var(--border,#d8d9df);border-radius:10px;background:transparent;cursor:pointer;padding:8px 12px;min-width:142px;max-width:230px;display:flex;flex-direction:column;gap:5px;text-align:left;color:inherit}
.change-file.active{border-color:#8672c8;background:#eee9fa}.change-file span{font:600 12px/1.5 monospace;overflow-wrap:anywhere}.change-file small{color:var(--muted,#657080)}
.change-diff{max-height:480px;overflow:auto;background:#192029;color:#e6e9ed;border-radius:10px;padding:15px;font:12px/1.5 monospace;white-space:pre;tab-size:2}
.change-diff span{display:block;min-height:1.5em}.change-diff .add{background:#183a2e;color:#b7f4c9}.change-diff .remove{background:#542e35;color:#ffd0d0}.change-diff .hunk{color:#a6cafa}
.change-review{display:flex;flex-direction:column;gap:9px;padding-top:16px}.change-review>span{font-size:12px;color:var(--muted,#657080)}.change-review>div{display:flex;flex-wrap:wrap;gap:10px}

/* v0.6: clearly separated human-approval and draft-PR publishing */
.pr-publish{margin-top:15px;border-top:1px solid #dfe3e8;padding-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pr-publish>div{flex:1;min-width:210px}.pr-publish p,.pr-checks p{font-size:13px;color:#667085;margin:6px 0}
.pr-checks{border:1px solid #dfe3e8;border-radius:10px;padding:14px;margin-top:12px}
.pr-check{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e8eaf0;font-size:13px}
.pr-check:last-child{border-bottom:0}

/* Workshop 0.7 — explicit verification status, never silently treating no CI as green */
.ci-verdict{padding:14px 16px;border:1px solid var(--border, #d8dedb);border-radius:10px;margin-bottom:14px;background:var(--panel-soft,#f7f7f5)}
.ci-verdict strong{font-weight:750;display:block;margin-bottom:4px}
.ci-verdict p{margin:0;font-size:.88rem;line-height:1.45}
.ci-passed{border-left:4px solid #24844b}
.ci-failed,.ci-changed{border-left:4px solid #c54238}
.ci-pending{border-left:4px solid #aa7d24}
.ci-unavailable,.ci-unverified{border-left:4px solid #777}

/* v0.8: conversational Project Launchpad and versioned brief */
.kickoff-meter{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#7c7893;margin:0 0 12px}
.kickoff-progress{height:5px;background:#e8e6ed;border-radius:20px;overflow:hidden;margin-bottom:25px}.kickoff-progress i{display:block;background:#7b62cc;height:100%;border-radius:20px;transition:width .16s}
.kickoff-question{display:flex;align-items:flex-start;gap:15px;margin:0 0 22px}.kickoff-question h3{font-size:20px;margin:0 0 5px}.kickoff-question p{font-size:13px;color:#737589;line-height:1.5;margin:0}
.kickoff-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#ede6fb;color:#7154bc;display:grid;place-items:center}
.kickoff-actions,.brief-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;margin-top:20px}.kickoff-actions>span{flex:1}
.kickoff-summary{background:#f6f3fb;border:1px solid #e2dbf2;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:3px;margin-bottom:22px}.kickoff-summary strong{font-size:17px}.kickoff-summary small{color:#737589}
.launch-brief{margin:18px 0 24px;padding:20px}.launch-brief h3{margin:0}.brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;margin:20px 0}.brief-grid strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#777789}.brief-grid p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.55}.launch-brief .footnote{margin-top:16px}
@media(max-width:700px){.brief-grid{grid-template-columns:1fr}.kickoff-actions{justify-content:space-between}.kickoff-actions .button{flex:1}.kickoff-meter{font-size:10px}}
/* Rimsky v0.9 — interface skin only. Core jobs, authentication, and APIs unchanged. */
:root {
  --ink:#f3f0e8; --muted:#a5afbc; --border:#293745; --bg:#0d1721; --card:#15212c;
  --nav:#0b141d; --purple:#d4a872; --purplelight:#2e291f;
  --shadow:0 8px 32px rgba(0,0,0,.15);
  --rimsky-gold:#ddb783; --rimsky-cream:#f4efe5;
  color-scheme:dark;
  background:var(--bg);color:var(--ink);
  font-family:Inter, 'Avenir Next', -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
body {background:var(--bg); color:var(--ink)}
h1,h2,h3,h4 {font-family:Inter,'Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.section-heading,.hero h2,.rimsky-auth>h1{font-family:Georgia,'Iowan Old Style',Cambria,serif;font-weight:500;letter-spacing:-.7px}
.app-shell{max-width:none}
.sidebar{background:#0b151f;border-right:1px solid #253443}
.brand{padding:2px 12px 30px;gap:12px}
.brand-symbol{width:46px;height:46px;flex:0 0 46px;background:transparent;border-radius:0}
.brand-symbol img{width:46px;height:46px;object-fit:contain}
.brand h1{font-size:22px;font-weight:600;letter-spacing:5px;color:#f8f3e9}
.brand small{font-size:8px;letter-spacing:1.55px;color:#c4a172}
.side-label,.eyebrow,.kicker{color:#bc9869;letter-spacing:1.85px}
.side-button{color:#aab7c3;border:1px solid transparent;font-weight:550}
.side-button:hover,.side-button.active{background:#192a39;border-color:#32485b;color:#faf5e9}
.side-button.active{box-shadow:inset 3px 0 0 #d6aa76}
.side-button.active svg{color:#d7aa76}
.side-button span.count{color:#debe93;background:#293947}
.side-add{border-color:#415264;color:#d7b88b;background:#12202d}
.side-add:hover{border-color:#d4a872;background:#203344;color:#ffefd4}
.sidebar-foot{border-color:#283849}.avatar{background:linear-gradient(135deg,#edcf96,#b7854e);color:#0d1823;border-radius:12px}
.sidebar-foot small{color:#93a3b4}
.topbar{background:rgba(16,28,40,.96);border-color:#2b3b48}
.crumb{color:#94a5b4}.crumb b{color:#f6f0e5}
.connection,.circle-button{background:#1d2c3a;border:1px solid #354553;color:#d1dce2}
.circle-button:hover{background:#304456;color:#fff}
.content{max-width:1550px}
.section-heading{font-size:31px}.subhead{color:#a8b4bf}
.button{background:linear-gradient(115deg,#e9c894,#c89a61);color:#101b26;border:1px solid #d9ae78;border-radius:9px;font-weight:780;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.button:hover{background:#f2d3a0;color:#101b26}
.button.secondary,.button.outline{background:#202f3e;color:#f0d5ad;border:1px solid #425063}
.button.secondary:hover,.button.outline:hover{background:#2d4050;color:#fff1d9}
.button.ghost{color:#b9c8d4;background:transparent;border:1px solid transparent;box-shadow:none}
.button.ghost:hover{background:#263a49;color:#fff}
.button.danger{background:#472e34;color:#ffb2b4;border-color:#77434a}
.hero{background:radial-gradient(ellipse at 75% 8%,rgba(189,143,83,.24),transparent 45%),linear-gradient(112deg,#122433,#162331 60%,#273342);border:1px solid #47513e;min-height:246px;border-radius:16px;padding:37px 40px}
.hero::before{width:460px;height:460px;right:-105px;top:-150px;border-color:rgba(214,177,116,.29);box-shadow:0 0 0 56px rgba(198,147,76,.035),0 0 0 119px rgba(208,158,88,.025)}
.hero .eyebrow{color:#dcb17a}.hero h2{font-size:39px;letter-spacing:-1.1px;color:#f8f0e0}
.hero p{color:#c5ccd0;font-size:13px;line-height:1.8;max-width:570px}
.hero .button{background:linear-gradient(115deg,#f0d19f,#d0a06a);color:#16212b}
.hero-graphic{height:172px;width:172px;filter:drop-shadow(0 8px 30px rgba(0,0,0,.28))}
.hero-graphic:before{inset:-4px;border:1px solid rgba(215,177,119,.31);border-style:solid;box-shadow:0 0 0 28px rgba(219,171,102,.035),0 0 0 51px rgba(219,171,102,.02)}
.hero-graphic .graphic-icon{border:0;background:none;width:150px;height:150px;transform:none}
.hero-graphic .graphic-icon img{width:142px;height:142px;object-fit:contain}
.stat,.panel,.project-card,.detail-head,.task-item,.asset-image-card,.change-panel,.review-section{background:#15232f;color:var(--ink);border-color:#2d4051;box-shadow:var(--shadow)}
.stat .label,.project-card p,.workspace-head p,.task-info small,.detail-head p,.detail-head .metadata,.panel p,.panel .desc{color:#a6b3c0}
.stat b{color:#f3ecdf;font-weight:700}
.stat .stat-icon,.stat:nth-child(2) .stat-icon,.stat:nth-child(3) .stat-icon,.ai-symbol,.task-icon,.empty-icon{background:#2e3c42;color:#d6ae78}
.stat .stat-icon{border:1px solid #4b514a}
.text-link{color:#e2b981}
.project-card:hover,.task-item:hover{border-color:#b79060;background:#192b39}
.project-card .arrowbox{border-color:#405062;color:#ccad81}
.project-meta{border-color:#304253;color:#99aab9}
.pill{background:#253441;color:#bcc8d4}.pill.completed{background:#173e36;color:#9be0be}
.pill.running{background:#453625;color:#efd09a}.pill.queued{background:#253d58;color:#bad1fa}.pill.failed{background:#4a2d31;color:#ffaaa8}.pill.draft{background:#303b45;color:#d0d5db}
.panel h3,.section-title{color:#f4efe5}
.panel .divider,.divider{background:#2c3c48}
.queue-row{border-color:#2d3e4b;color:#e2e9ed}.queue-row:hover{background:#203544}
.queue-row small,.queue-row svg{color:#a7b5c3}
.info-block,.job-result,.empty,.kickoff-summary,.followup-source,.ci-verdict,.notice{background:#1c2c39;border:1px solid #344654;color:#d4dde5}
.info-block label,.info-block span,.instruction-preview,.copy-text,.footnote{color:#acbac5}
.empty p{color:#abb7c3}
.form-group label{color:#dde6ec}.form-group small{color:#aab8c2}
.form-input,.form-select,.form-textarea,.tab{background:#101d29;border:1px solid #405363;color:#eef1f0}
.form-input::placeholder,.form-textarea::placeholder{color:#8d9ba8}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#d2a46a;outline:3px solid rgba(210,164,106,.2)}
.tab.active{background:#bd925e;border-color:#bd925e;color:#101c26}
.modal-overlay{background:rgba(3,9,15,.76)}
.modal{background:#14222f;border:1px solid #42505b;color:#eaf0ed}
.modal-top{border-bottom:1px solid #2e3d49}.modal-top p{color:#a1b2be}.close{background:#243747;color:#e0e5e8}
.warning{background:#3e3126;color:#efd19b;border:1px solid #695038}
.notice{color:#d4dfeb}.info-list .row{color:#c0cbd5}.info-list svg{color:#c9a16c}
.review-document,.review-code,.review-body,.review-file,.change-file,.review-source,.review-file-list,.pr-checks,.pr-publish,.followup-source{background:#152531;color:#e1e8ed;border-color:#344757}
.review-file.active,.change-file.active{background:#354336;border-color:#b4925f;color:#f5e0be}
.review-heading p,.change-origin,.review-count,.review-source summary,.review-preview-tools,.source-lineage{color:#b9c7d0}
.review-document p,.review-document li{color:#d5dde5}
.review-frame-shell{background:white}
.launch-brief{background:#15232f}.launch-brief .footnote{color:#abb6c1}
.brief-grid strong{color:#cfaa78}.brief-grid p{color:#e1e9ed}
.kickoff-question p,.kickoff-summary small{color:#b4c0cd}.kickoff-question h3{color:#f3eadb}
.kickoff-avatar{background:#354032;color:#e2ba85}.kickoff-progress{background:#344454}.kickoff-progress i{background:#d5a56e}.kickoff-meter{color:#d5b284}
#toast{background:#304353;color:#fff;border:1px solid #74644d}
/* Sign-in and MFA: skin the existing Cognito flow without changing authentication. */
#root:has(.rimsky-auth){min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 30% 15%,#243a49 0%,#0d1721 55%,#080f16 100%)}
.rimsky-auth{width:min(100%,450px);background:#152431;border:1px solid #4d4f47;box-shadow:0 24px 80px rgba(0,0,0,.45);padding:38px;border-radius:16px;text-align:left}
.rimsky-security{max-width:485px;width:min(100%,485px)}
.rimsky-auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}
.rimsky-auth-brand img{width:52px;height:52px}.rimsky-auth-brand span{font-size:24px;letter-spacing:5px;color:#fff4e6;font-weight:600}
.rimsky-auth h1{color:#f5eee2;font-size:29px;line-height:1.25;margin-bottom:9px}
.rimsky-auth p{color:#bbc8cf;font-size:13px;line-height:1.65}
.rimsky-auth label{color:#e6e1d9;font-size:13px;font-weight:600}
.rimsky-auth .form-input{margin-top:7px}.rimsky-auth code{color:#141e28;background:#fff!important}
.rimsky-auth details{color:#d9e0e8}
.rimsky-auth details p{color:#bbc8cf!important}
@media (max-width:980px){.hero h2{font-size:34px}}
@media (max-width:700px){.hero{padding:28px 24px}.hero h2{font-size:29px}.brand h1{font-size:20px}.section-heading{font-size:25px}.rimsky-auth{padding:26px}.content{padding-left:16px;padding-right:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Rimsky v1.0 — deeper product-wide rebrand. No functional behavior changes. */
:root{--rimsky-gold:#ddb783;--rimsky-midnight:#101c28}
.rimsky-login-kicker{margin:8px 0 12px;color:#c4a172;text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:800}
.hero .eyebrow{color:#e2bb85}
.hero .button{min-width:176px}
.kickoff-progress i{background:linear-gradient(90deg,#af895b,#ebc897)}
.kickoff-summary{background:#172633;border-color:#425064}
.kickoff-avatar{background:#2b3541;color:#e9bc82}
.kickoff-meter{color:#dfba8c}
.side-label{font-weight:750}
@media(max-width:700px){.hero .button{width:100%;justify-content:center}}

/* Rimsky v1.4 · inspectable AI team selection */
.rimsky-team-card{margin:14px 0 4px;padding:15px;border:1px solid var(--line, #394451);border-radius:12px;background:rgba(177,143,91,.06)}
.rimsky-team-card strong{font-size:13px;letter-spacing:.01em}
.rimsky-team-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.rimsky-team-chips span{border:1px solid rgba(178,145,95,.38);background:rgba(178,145,95,.07);border-radius:999px;padding:5px 10px;font-size:12px}
.rimsky-team-card small{display:block;color:var(--muted,#83929d);line-height:1.5}


/* Rimsky v1.4.2 — accessible Team Job result cards in the midnight theme. */
/* The legacy light stage surface was left behind when the app text switched
   to ivory. Scope the correction to job stages so previews can stay light. */
.panel .team-stage {
  background:#1d303e;
  color:#eaf0f1;
  border:1px solid #3e5362;
}
.panel .team-stage[open] {
  background:#1d303e;
  border-color:#60798a;
}
.panel .team-stage summary {
  color:#eaf0f1;
  background:#1d303e;
  line-height:1.6;
}
.panel .team-stage summary::marker { color:#e4bd87; }
.panel .team-stage summary::-webkit-details-marker { color:#e4bd87; }
.panel .team-stage summary svg { color:#9fdfbb; }
.panel .team-stage summary:hover { background:#253d4c; }
.panel .team-stage summary:focus-visible {
  outline:3px solid #e4bd87;
  outline-offset:-3px;
}
.panel .team-stage .stage-body {
  background:#101f2a;
  color:#dbe5eb;
  border-top:1px solid #405567;
  line-height:1.7;
  overflow-wrap:anywhere;
}

/* v1.5: private build previews run in an opaque-origin sandbox */
.preview-workspace{max-width:100%;display:grid;gap:20px}
.preview-workspace .preview-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.preview-standalone{border-radius:16px;border:1px solid var(--border,#283b48);overflow:hidden;background:#0e1924;padding:14px}
.preview-standalone .review-preview-tools{margin-bottom:12px}
.preview-standalone .review-frame-shell{width:100%;max-width:100%;margin:0 auto}
.preview-standalone .review-frame-shell.desktop{width:100%}
.preview-standalone .review-frame-shell.mobile{max-width:410px}
.preview-standalone iframe{min-height:70vh}
@media(max-width:680px){.preview-standalone{padding:8px}.preview-standalone iframe{min-height:65vh}}
