/* Marina's visual layer (design/workspace/workspace.css), integrated by Wes: font URLs point at
   public/fonts/, and the unused italic face is left out. Otherwise unchanged; Marina owns its design. */
@font-face{font-family:"Staffmor Serif Fallback";src:local("Georgia");size-adjust:91.5%;ascent-override:113.7%;descent-override:37.2%;line-gap-override:0%}
@font-face{font-family:"Staffmor Sans Fallback";src:local("Arial");size-adjust:92.6%;ascent-override:110.1%;descent-override:43.2%;line-gap-override:0%}
@font-face{font-family:"Source Serif 4";src:url("fonts/source-serif-4.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
/* Marina visual layer for the existing Staffmor product. Load after product styles.css.
   No app behavior, API, billing, provider status or read-state semantics are changed. */
:root,:root[data-theme="light"]{
 --ground:#f8f5ee;--surface:#fffdf9;--surface-2:#eff1e9;--ink:#192724;--muted:#59645e;--line:#d9ddd3;
 --accent:#21352f;--accent-ink:#fffdf9;--accent-soft:#e7eee3;--brass:#a5593c;--brass-soft:#f5e7dc;--focus:#a5593c;
 --claude-ink:#924322;--claude-bg:#f5e8df;--chatgpt-ink:#1d6253;--chatgpt-bg:#e0efe7;
 --neutral-ink:#4b5a50;--neutral-bg:#e9ece4;--wait-ink:#755015;--wait-bg:#f4ecd4;
 --ok-ink:#245a3d;--ok-bg:#e4efdf;--bad-ink:#962f26;--bad-bg:#fae8e3;--sim-ink:#594883;--sim-bg:#eee8f6;
 --sans:"Source Sans 3","Staffmor Sans Fallback",Arial,sans-serif;--serif:"Source Serif 4","Staffmor Serif Fallback",Georgia,serif;--radius:10px;--shadow:none;
 color-scheme:light;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
 --ground:#172720;--surface:#20332b;--surface-2:#293d33;--ink:#f8f5ee;--muted:#b9c8bc;--line:#3b5143;
 --accent:#e7eee3;--accent-ink:#192724;--accent-soft:#314b3a;--brass:#ecb495;--brass-soft:#443426;--focus:#e8b095;
 --claude-ink:#f3bba0;--claude-bg:#453027;--chatgpt-ink:#9edde0;--chatgpt-bg:#214739;
 --neutral-ink:#c5d2c7;--neutral-bg:#344a3c;--wait-ink:#eed398;--wait-bg:#473d24;--ok-ink:#b7dba7;--ok-bg:#2a4531;
 --bad-ink:#ffc0b0;--bad-bg:#52352f;--sim-ink:#d1c0eb;--sim-bg:#3d354b;--shadow:none;color-scheme:dark;
}}
:root[data-theme="dark"]{
 --ground:#172720;--surface:#20332b;--surface-2:#293d33;--ink:#f8f5ee;--muted:#b9c8bc;--line:#3b5143;
 --accent:#e7eee3;--accent-ink:#192724;--accent-soft:#314b3a;--brass:#ecb495;--brass-soft:#443426;--focus:#e8b095;
 --claude-ink:#f3bba0;--claude-bg:#453027;--chatgpt-ink:#9edde0;--chatgpt-bg:#214739;--neutral-ink:#c5d2c7;--neutral-bg:#344a3c;
 --wait-ink:#eed398;--wait-bg:#473d24;--ok-ink:#b7dba7;--ok-bg:#2a4531;--bad-ink:#ffc0b0;--bad-bg:#52352f;
 --sim-ink:#d1c0eb;--sim-bg:#3d354b;--shadow:none;color-scheme:dark;
}
body{font:400 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-kerning:normal;font-synthesis:none}
h1,h2,h3{text-wrap:pretty}h1{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;font-size:2.5rem}
h2{font-size:1.125rem;font-weight:600}h3{font-weight:600}
.btn,.reply,.seg{min-height:44px;white-space:normal;line-height:1.4}.btn{font-weight:500;border-radius:7px;padding:9px 16px}
.btn.quiet{padding:8px 10px}.btn-row{gap:10px}
textarea,input[type="text"],select{padding:12px;min-height:44px;border-radius:7px}
textarea::placeholder,input::placeholder{color:var(--muted);opacity:1}
.chip{border-radius:5px;font-size:.78rem;white-space:normal;max-width:100%}
.chip.via{border-style:solid}.hint,.field small{font-size:.875rem;line-height:1.55}
.shell{grid-template-columns:222px minmax(0,1fr) 266px}.main{padding:32px clamp(20px,3vw,40px) 56px;gap:24px}
.rail{background:#21352f;color:#f8f5ee;border-color:#425949}
.rail a,.rail .btn{color:#e7eee3}.rail .nav-label,.rail .hint,.rail .count{color:#bac8bc}
.rail .brand strong{font:400 1.85rem/1 var(--serif);letter-spacing:-.025em}.rail .brand img{width:36px;height:36px;border-radius:50%}
.rail .nav a{padding:11px 12px;min-height:44px;border-radius:6px}
.rail .nav a[aria-current="page"]{background:#f8f5ee;color:#21352f;font-weight:500}
.rail .nav a:hover,.rail .btn.quiet:hover{background:#344c3d}.rail .nav a[aria-current="page"]:hover{background:#e6ebde}
.rail .nav a[aria-current="page"] .count{color:#59645e}.rail .count.attention{background:#f4ecd4;color:#755015}
.rail-inner{padding:24px 14px;gap:25px}.rail .org-switch{border-block:1px solid #425949;padding:16px 10px;gap:8px}
.rail .org-name{font-size:1rem;font-weight:500}.rail .nav-label{font-size:.72rem;letter-spacing:.1em}
.brand img,.welcome img,.turn img,.guide-head img{object-fit:cover;border-radius:50%;background:#21352f}
.home{max-width:1040px;gap:28px;padding:48px clamp(16px,4vw,44px) 64px}
.welcome{gap:24px;align-items:center}.welcome .lede{font-size:clamp(2rem,3.4vw,3rem);max-width:710px;line-height:1.08;letter-spacing:-.03em}
.welcome .pair{font-weight:400;font-size:.9rem;margin-top:16px;gap:9px}.welcome .pair .chip{font-size:.85rem}
.welcome img{width:112px;height:112px}
.panel{padding:22px;gap:16px;border-radius:10px}.panel.job{border-top:3px solid var(--brass)}
.panel.job textarea{min-height:108px;font-size:1rem;line-height:1.6}
.page-head .meta{margin-top:16px}.overview{gap:24px}.work-grid{gap:14px}
.work-item{padding:14px;gap:10px;background:var(--surface)}.work-title{font-weight:500;font-size:.95rem;line-height:1.55}
.work-meta,.work-report{font-size:.83rem;line-height:1.55}.work-list{gap:12px}.work h2{margin-bottom:4px}
.work:has(.chip.attention){border-top:3px solid var(--wait-ink)}
.guide{background:var(--surface-2)}.guide-inner{padding:26px 20px;gap:20px}
.guide-head{align-items:flex-start}.guide-head img{width:48px;height:48px}.guide-head .who strong{font:1.6rem/1.1 var(--serif)}
.guide-head .who span{font-size:.8rem;margin-top:6px}.say{font-size:1.3rem;line-height:1.35;padding:18px}
.guide-foot{font-size:.8rem;line-height:1.6}.steps li{padding:9px 4px}.steps .d{font-size:.82rem}
.setup{padding:28px;gap:20px}.turn img{width:42px;height:42px}.turn.staffmor .bubble{background:var(--brass-soft);font-family:var(--sans);font-size:1rem;line-height:1.6;padding:16px 20px;max-width:65ch}
.turn.you .bubble{padding:13px 18px}.turn .bubble{border-radius:8px}.reply{padding:12px 18px;border-radius:7px;font-weight:500;font-size:.95rem}
.replies{padding-left:52px;gap:10px}.setup .note-field,.setup .team-pick,.setup>.field,.setup>.btn-row,.setup>.hint{margin-left:52px}
.pick-row{padding:15px;gap:16px}.pick-name{gap:12px}.pick-name strong{font-weight:500}.pick-name small{font-size:.83rem;line-height:1.5;margin-top:4px}
.segmented{border-radius:7px}.seg{padding:8px 13px}.note-field textarea{min-height:104px}
.msg{border:none;border-bottom:1px solid var(--line);border-radius:0;padding:22px 4px;gap:12px;background:transparent}
.msg .body{font-size:1rem;line-height:1.65;max-width:75ch}.msg-head{gap:8px 10px;font-size:.875rem}
.msg-head .who{font-weight:600}.msg.handoff,.msg.report{border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:9px;padding:20px;background:var(--surface)}
.msg.note{padding:16px;border-radius:8px}.feed{gap:0}.context{padding:12px 14px;background:var(--surface-2);gap:5px}
.composer{padding-top:16px;padding-bottom:env(safe-area-inset-bottom)}.composer textarea{font-size:1rem;min-height:108px}
.composer .panel{padding:18px}.composer-row .field{flex-basis:160px}.empty{padding:28px;font-size:.95rem;line-height:1.6}
.node{padding:16px;gap:10px;min-width:0;max-width:520px}.tree ul{gap:14px}.node .job,.node .personality{line-height:1.6}
.node.owner{background:var(--accent-soft)}.tree ul>li::before,.tree ul>li::after{border-width:1px}
.notice{border:1px solid transparent;padding:16px;line-height:1.6}.notice.error{border-color:var(--bad-ink)}
.toast{border-radius:8px;padding:13px 20px}.count{font-variant-numeric:tabular-nums}
@media(max-width:1280px){.shell{grid-template-columns:210px minmax(0,1fr)}.guide-inner{position:static;max-height:none;min-height:0}.guide-head{align-items:center}}
@media(max-width:820px){.shell{grid-template-columns:1fr}.rail-inner{padding:14px 18px;gap:12px}.rail .brand strong{font-size:1.8rem}.rail .menu-toggle{color:#f8f5ee;background:transparent;border-color:#587060;min-height:44px}
 .rail.open .nav-wrap{padding-block:10px}.guide{grid-column:1;order:3}.main{padding:24px 18px 36px}.channel{min-height:calc(100dvh - 104px)}.composer{position:static}
 .guide-inner{padding:22px 18px}.panel{padding:18px}.work-grid{grid-template-columns:1fr}.home{padding-top:30px}
}
@media(max-width:560px){.home{gap:24px}.welcome{grid-template-columns:1fr;gap:18px}.welcome img{width:76px;height:76px}
 .welcome .lede{font-size:2.1rem}.setup{padding:18px;gap:18px}.turn.staffmor .bubble{padding:14px}.turn{gap:8px}
 .replies,.setup .note-field,.setup .team-pick,.setup>.field,.setup>.btn-row,.setup>.hint{padding-left:0;margin-left:0}
 .reply{flex:1 1 140px}.pick-row{padding:14px}.seg{flex:1}.segmented{width:100%}.pick-name{width:100%}
 .panel.job textarea{min-height:124px}.composer-row{align-items:stretch}.composer-row>.btn.primary{flex:1 1 100%}
 .composer-row .field{flex-basis:100%}.page-head h1{font-size:2rem;overflow-wrap:anywhere}.msg-head .chip{font-size:.74rem}
 .msg{padding-block:18px}.composer .panel{padding:14px}.node .node-top{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
