:root{font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:#222521;background:#fff;font-synthesis:none;--rail:#f6f5f3;--line:#e2e1dc;--muted:#676a65;--accent:#a74128;--tint:#f5e6df;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--rad:12px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a.btn{cursor:pointer}button{color:inherit}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8eb4d7;outline-offset:2px}button:disabled{opacity:.55;cursor:wait}svg.icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;fill:none}.layout{min-height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr)}.rail{position:sticky;top:0;height:100dvh;padding:28px 13px 16px;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin:2px 8px 38px;font-size:24px;font-weight:750;letter-spacing:-1px}.brand img{width:34px;height:34px}.nav{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;background:none;text-align:left;border-radius:8px;margin:2px 0;font-weight:550;font-size:14px;line-height:1.4}.nav.active,.nav[aria-current="page"]{background:var(--tint);color:#90391f}.nav:hover,.textbtn:hover{background:#eae8e3}.bottom{margin-top:auto}.workplace{padding:15px 10px 1px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px}.workplace .icon{width:15px}.main{width:100%;max-width:1580px;margin:0 auto;padding:32px clamp(20px,3vw,58px) 64px}.crumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px;min-height:20px;margin-bottom:30px}.crumb b{font-weight:590;color:#282a26}.crumb button{border:none;padding:0;background:none;cursor:pointer;color:var(--muted)}.hero,.sectionhead,.linehead,.actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.hero{margin-bottom:30px}.hero h1{margin:0 0 8px;font-size:clamp(28px,3.5vw,48px);letter-spacing:-.055em;line-height:1.06;font-weight:730}.hero p,.sectionhead p,.desc{color:var(--muted);line-height:1.55;margin:0;font-size:15px}.btn,.textbtn,.smallbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:10px 14px;background:#fff;border:1px solid #cfcdc6;text-decoration:none;color:#30332f;font-weight:560;font-size:14px;line-height:1.35}.btn:hover,.smallbtn:hover{background:#f4f3ef}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.primary:hover{background:#8e3822}.textbtn{background:none;border:0;padding:7px}.smallbtn{font-size:12px;padding:7px 10px}.btn.danger{color:#9c382d}.actions{justify-content:flex-start;flex-wrap:wrap}.map{position:relative;background-color:#fafafa;background-image:radial-gradient(#cdd0cc .85px,transparent .85px);background-size:16px 16px;border:1px solid var(--line);border-radius:var(--rad);padding:19px 20px 22px;overflow:hidden}.maphead,.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px}.map h2,.sectionhead h2,.panel h2,.sheet h2{font-size:21px;letter-spacing:-.045em;line-height:1.3;margin:0;font-weight:660}.maphead small{color:var(--muted);background:#fafafa;line-height:1.45;text-align:right}.nodes{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:center;margin:40px 2px 32px}.node{display:flex;align-items:center;gap:12px;text-align:left;padding:16px 13px;background:white;border:1px solid #cfd2cb;border-radius:11px;min-height:82px;box-shadow:0 2px 3px #20251a05}.node:hover{border-color:#9b9f95;box-shadow:0 3px 7px #20251a10}.node.live{border:1px solid #277450;box-shadow:inset 0 0 0 1px #277450}.node b{display:block;font-size:17px;line-height:1.3;letter-spacing:-.035em}.node small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}.glyph{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex:none}.glyph .icon{width:25px;height:25px}.blue{background:#dceff7}.peach{background:#fae1ce}.lilac{background:#eae2f8}.bridge{height:1.5px;background:#7c96a4;position:relative}.bridge:after{content:"";width:6px;height:6px;position:absolute;right:1px;top:-3px;transform:rotate(-45deg);border-right:1.5px solid #7c96a4;border-bottom:1.5px solid #7c96a4}.sectionhead{margin:30px 0 14px}.table{border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}.row,.row.head{width:100%;text-align:left;border:0;background:#fff;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(80px,.9fr) minmax(65px,.5fr) 16px;gap:12px;padding:13px 16px;align-items:center;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.row:hover{background:#f9f9f6}.row.head{font-size:12px;background:#f6f6f4;border-top:0;color:#555950}.pkgname{display:flex;align-items:center;gap:13px;color:#202420;min-width:0}.pkgname b{font-size:15px;letter-spacing:-.02em}.pkgname small{font-size:12px;display:block;color:var(--muted);margin-top:3px}.folder{width:40px;height:30px;display:grid;place-items:center;position:relative;border-radius:4px 5px 5px 5px;flex:none;margin-top:4px;background:var(--folder);color:var(--ink)}.folder:before{content:"";position:absolute;left:0;top:-4px;width:18px;height:7px;background:var(--folder);border-radius:4px 4px 0 0}.folder .icon{width:16px;height:16px}.coral{--folder:#efb09a;--ink:#794127}.gold{--folder:#f0d79b;--ink:#655020}.sage{--folder:#c6d6b6;--ink:#3e5534}.slate{--folder:#c2d2df;--ink:#324957}.mono{font-family:var(--mono);font-size:12px}.muted,small{color:var(--muted)}.panel,.sheet{border:1px solid var(--line);border-radius:var(--rad);padding:20px;background:#fff}.panel+.panel{margin-top:14px}.panel p{line-height:1.55}.linehead{align-items:flex-start}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:20px;background:#f8f8f5;font-size:11px;color:#53594f;white-space:nowrap}.badge.running{color:#256041;background:#ecf4eb;border-color:#c9dfca}.error{color:#8b3c2a;line-height:1.45}.notice{border-left:3px solid #ce9475;background:#fcf5ef;padding:12px 16px;margin:13px 0;font-size:14px;line-height:1.45}.empty{padding:22px 15px;color:var(--muted);font-size:14px;line-height:1.5}.workgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.7fr);gap:16px}.stack{display:grid;gap:14px;align-content:start}.form{display:grid;gap:14px}.form label,.field{display:grid;gap:5px;font-size:13px;font-weight:590;line-height:1.4}.form input,.form select,.form textarea,.filter,.input{width:100%;background:white;color:inherit;border:1px solid #cfcfc8;border-radius:7px;padding:9px 10px;line-height:1.5;min-width:0}.form textarea{resize:vertical;min-height:100px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form .check{display:flex;gap:8px;align-items:center}.form .check input{width:auto}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filter{width:min(100%,270px);font-size:14px}.smallcopy{font-size:12px;line-height:1.5;color:var(--muted)}.viewnav{display:flex;gap:6px;margin:0 0 20px;border-bottom:1px solid var(--line);overflow-x:auto}.viewnav .textbtn{border-radius:0;white-space:nowrap;padding:10px 12px;border-bottom:2px solid transparent}.viewnav .on{color:var(--accent);border-bottom-color:var(--accent)}.file,.provider,.threadrow{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 2px;gap:10px;text-align:left}.file:last-child,.provider:last-child,.threadrow:last-child{border-bottom:0}.file:hover,.threadrow:hover{background:#f8f8f5}.file .name{min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:8px}.provider strong,.provider small,.threadrow small{display:block}.provider small,.threadrow small{margin-top:3px;line-height:1.4}.editor{font-family:var(--mono);font-size:13px;line-height:1.65;min-height:280px!important}.preview{max-width:100%;max-height:420px;border-radius:8px;display:block;margin:0 auto}.board{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px;overflow:auto;padding:1px 1px 8px}.column{background:#f6f6f3;border-radius:8px;min-height:135px;padding:10px}.coltitle{display:flex;justify-content:space-between;font-size:12px;font-weight:650;margin-bottom:9px;color:#414840}.jobcard{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px;margin-top:7px}.jobcard b{font-size:13px}.jobcard small{display:block;font-size:11px;line-height:1.4;margin-top:7px}.next{font-size:14px;margin:9px 0;padding:12px 14px;color:#444c40;border-left:2px solid #78a075;background:#f5f7f2}.msgs{display:grid;gap:9px;margin-bottom:15px;max-height:410px;overflow:auto}.msg{padding:10px 13px;border-radius:8px;background:#f5f5f1;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:14px}.msg.assistant{background:#f9ede7}.msg b{display:block;font-size:11px;color:#6d655d;margin-bottom:3px}.login{min-height:100dvh;display:grid;place-items:center;background-color:#f5f4f0;background-image:radial-gradient(#d9d7d1 .8px,transparent .8px);background-size:17px 17px;padding:15px}.loginbox{max-width:420px;width:100%;border:1px solid #dcdad3;border-radius:14px;background:white;padding:32px;box-shadow:0 8px 32px #1c21190a}.loginbox .brand{margin:0 0 30px}.loginbox h1{font-size:26px;letter-spacing:-.045em;margin:0 0 18px}.loginbox footer{margin-top:18px;color:var(--muted);font-size:12px;line-height:1.45}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:55;background:#292d28;color:#fff;max-width:min(90vw,580px);padding:12px 18px;border-radius:10px;box-shadow:0 5px 18px #2222;font-size:14px}#toast:empty{display:none}dialog{padding:0;border:1px solid var(--line);border-radius:14px;width:min(620px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-shadow:0 20px 70px #17221125;color:inherit}dialog::backdrop{background:#20242155}dialog .sheet{border:0}.sheethead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.sheethead h2{margin:0}.loading{margin:40px}.divider{height:1px;background:var(--line);margin:18px 0}.mobileonly{display:none}.emptycol{font-size:11px;color:#6a7167}.jobdetail{line-height:1.5;white-space:pre-wrap}.wrap{overflow-wrap:anywhere}.filelabel{cursor:pointer}.hidden{display:none!important}
@media(max-width:980px){.layout{grid-template-columns:175px minmax(0,1fr)}.brand{font-size:20px;gap:8px}.rail{padding-left:8px;padding-right:8px}.main{padding:25px 20px}.node{flex-direction:column;align-items:flex-start}.workgrid{grid-template-columns:1fr}}
@media(max-width:680px){.layout{display:block}.rail{position:static;height:auto;display:flex;flex-direction:row;align-items:center;gap:5px;padding:7px 12px;overflow-x:auto;border:0;border-bottom:1px solid var(--line)}.brand{margin:0 7px 0 0}.rail .brand span,.rail .bottom,.rail .nav span{display:none}.rail .brand img{width:28px;height:28px}.rail .nav{width:auto;padding:10px}.mobileonly{display:inline-flex}.main{padding:20px 15px 45px}.crumb{margin-bottom:18px}.hero{align-items:flex-start;margin-bottom:17px;flex-wrap:wrap}.hero h1{font-size:32px}.hero p{font-size:14px}.nodes{grid-template-columns:1fr;grid-template-rows:auto 16px auto 16px auto;margin:20px 0 2px}.node{flex-direction:row;min-height:56px;padding:8px 12px;align-items:center;gap:12px}.node b{font-size:15px}.node small{margin:1px 0 0}.glyph{width:31px;height:31px}.glyph .icon{width:18px;height:18px}.bridge{width:1px;height:100%;justify-self:center}.bridge:after{right:-2px;top:auto;bottom:2px;transform:rotate(45deg);width:4px;height:4px}.row,.row.head{grid-template-columns:minmax(0,1fr) 55px 12px;padding:11px}.row .date{display:none}.pkgname small{font-size:11px}.map{padding:14px}.sectionhead{margin-top:24px}.two{grid-template-columns:1fr}.folder{width:31px;height:24px}.railaccount{margin-left:auto}.sheet,.panel{padding:15px}.maphead small{font-size:10px}.actions{gap:7px}.maphead,.sectionhead{align-items:start}.loginbox{padding:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.returnpath{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;color:#5c645c;font-size:11px;margin-top:-10px}.returnpath .icon{width:13px;height:13px}.map:has(.smallbtn) .returnpath{margin-bottom:12px}.map .smallbtn{max-width:100%;overflow-wrap:anywhere;text-align:left}.map:has(.smallbtn) .smallbtn .icon{color:#39794e;animation:signal 2s infinite}@keyframes signal{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.map .smallbtn .icon{animation:none!important}}
.modelbank{padding:11px;background:#fff;border:1px solid #cfd2cb;border-radius:11px}.modelhead{border:0;background:none;display:flex;align-items:center;gap:8px;padding:0 3px 7px;cursor:pointer;letter-spacing:-.02em}.modelhead .glyph{width:25px;height:25px}.modelhead .icon{width:15px;height:15px}.branches{display:grid;grid-template-columns:1fr 1fr;gap:4px}.branch{background:#f8f7fa;border:1px solid #e8e5ec;border-radius:5px;text-align:left;padding:6px 8px;display:grid;grid-template-columns:8px 1fr;column-gap:4px;align-content:center;align-items:center}.branch b{font-size:12px;letter-spacing:-.01em}.branch small{grid-column:2;font-size:10px;color:#656268;line-height:1.45}.branchdot{width:5px;height:5px;background:#b3a6c1;border-radius:2px}.branch:hover{border-color:#a49aae}.branch.selected{border-color:#92ad92;background:#eef5eb}.branch.selected .branchdot{background:#427948}.nodes{margin-top:24px;margin-bottom:22px}.map{padding-bottom:15px}.hero h1{letter-spacing:-.045em}.modelhead b{font-size:15px}.branch.selected .branchdot{animation:signal 2s infinite}@media(prefers-reduced-motion:reduce){.branch.selected .branchdot{animation:none}}@media(max-width:680px){.nodes{margin-bottom:12px}.returnpath{margin-top:0}.modelbank{padding:8px 12px}.branches{grid-template-columns:repeat(4,minmax(0,1fr))}.branch{padding:4px;display:block}.branchdot{display:none}.branch small{display:block;font-size:9px}.branch b{font-size:11px}}

/* Read-only live map. Only animate evidence of work in that particular segment. */
.map .branch.selected:not(.authoring) .branchdot{animation:none}
.bridge::before{content:"";position:absolute;inset:-2px auto auto 0;width:5px;height:5px;border-radius:50%;background:#498473;opacity:0}
.phase-editorial .bridge:nth-child(4)::before,.phase-references .bridge:nth-child(2)::before,.phase-animation .bridge:nth-child(4)::before,.phase-prepare .bridge:nth-child(4)::before{animation:studio-hop 2s ease-in-out infinite}
.phase-export .returnpath,.phase-delivery .returnpath{color:#226b55;font-weight:650}
.phase-export .returnpath .icon,.phase-delivery .returnpath .icon{animation:signal 1.7s ease-in-out infinite}
@keyframes studio-hop{0%{left:0;opacity:0}18%,75%{opacity:1}100%{left:90%;opacity:0}}
@media(max-width:680px){.bridge::before{display:none}}
@media(prefers-reduced-motion:reduce){.map *,.map *::before{animation:none!important}}

.chatlayout{display:grid;grid-template-columns:minmax(180px,28%) minmax(0,1fr);gap:18px;align-items:start}
.chatrail .btn{margin:12px 0}.brand img{border-radius:50%;width:38px;height:38px}.brand span{letter-spacing:-.055em;white-space:nowrap}
@media(max-width:760px){.chatlayout{grid-template-columns:1fr}.chatrail{max-height:190px;overflow:auto}.rail{overflow:auto}}
