/* CHISAN premium visual foundation. Sprint 07. Local-first, owner-approved light design. */
:root{color-scheme:light;--canvas:#f7f2e8;--bg:#f7f2e8;--nav:#fdfcf9;--surface:#fffdf8;--surface2:#f0e9dc;--border:#ddd2bf;--ink:#28231d;--muted:#6d6559;--faint:#738797;--teal:#8b632c;--gold:#bd8d50;--heading:#28231d;--ring:#c49a5b;font-family:var(--font-interface);--font-interface:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--body-size:16px}
body{background:var(--canvas);color:var(--ink)}
h1,h2,h3{color:var(--ink);letter-spacing:-.045em}
h2{font-weight:680}.shell{grid-template-columns:238px minmax(0,1fr)}
.sidebar{background:var(--nav);border-right:1px solid #e6e6e3;padding:29px 15px 20px}
.brand{padding:1px 11px 48px;gap:11px}.brand-face{object-fit:cover;object-position:50% 37%;border-radius:50%;background:#f5e5d0;box-shadow:0 4px 20px #ab97702c;flex:0 0 54px}
.brand strong{color:#1b2936;font-size:1.24rem;letter-spacing:.14em;font-weight:780}.brand small{letter-spacing:.09em;font-size:.54rem;color:#857c70}
.workspace-label{color:#909ca2;font-size:.6rem;margin-bottom:13px}
.nav{gap:7px}.nav-item{color:#5b6d78;border-radius:12px;padding:13px 14px;font-size:.84rem}.nav-item:hover{background:#eceff1;color:#1a3742}.nav-item.is-active{color:#28323a;background:#f4ebdc;border:1px solid #eee0c9;box-shadow:inset 3px 0 #c49a5b}.nav-icon{color:#597887}
.nav-number{background:#e7e9e8;color:#536778}.sidebar-locked{background:#fbf6ee;border:1px solid #eee4d6;color:#765d39;border-radius:12px}.sidebar-locked strong{color:#765d39}.sidebar-locked small{color:#937d61}.lock-dot{background:#c59a5a}
.owner-tile{background:#f7f8f7;border:1px solid #e6e9e8;border-radius:14px}.owner-avatar{border-radius:50%;object-fit:cover}.owner-tile strong{color:#334451;font-size:.73rem}.owner-tile small{color:#87959d}
.content{min-width:0;background:transparent}.topbar{background:#ffffffd9;border-bottom:1px solid #e7e9e8;backdrop-filter:blur(12px);padding:20px 31px}.breadcrumb{color:#7f929b;letter-spacing:.1em;font-size:.65rem}.breadcrumb b{color:#293b49}.breadcrumb-emblem{display:inline-grid;place-items:center;border-radius:10px;width:27px;height:27px;margin-right:10px;background:#eef7f6;color:#338b87}
.offline-badge{background:#e9f2f0;border:1px solid #d1e3df;color:#2a6e6a;font-size:.68rem;letter-spacing:.06em;border-radius:100px;padding:9px 12px}.topbar-right,.timestamp{color:#8795a0}.timestamp{font-size:.68rem}
.page-width{max-width:1530px;padding:29px 33px 20px}.notice{background:#fff9ee;border:1px solid #f1dfc6;color:#806745;border-radius:14px;padding:13px 16px;margin-bottom:21px}.notice b{color:#654e31}.notice-icon{background:#f5e5ca;color:#8d6b3d;border:1px solid #efddb9}
.executive-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.72fr);align-items:stretch;gap:25px;margin:0 0 24px;min-width:0}
.executive-heading{min-width:0;padding:36px 26px 28px 5px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{color:#ae8a56!important;font-size:.7rem;letter-spacing:.16em;font-weight:700}.short-line{background:#c6a274}
.executive-hero h1{font-family:var(--font-interface);font-size:clamp(3.1rem,4.5vw,4.8rem);font-weight:650;letter-spacing:-.065em;line-height:1.08;max-width:700px;margin:14px 0 18px}
.heading-period{color:#bf965d}.intro-description{color:#687986;max-width:600px;font-size:.97rem;line-height:1.75}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}
.primary-action,.secondary-action{border-radius:100px;min-height:44px;padding:11px 19px;font-size:.82rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}
.primary-action{background:#203b46;color:white;border:1px solid #203b46;box-shadow:0 5px 18px #1538472b}.secondary-action{background:#ffffff;border:1px solid #d6dedf;color:#244553}
.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}
.executive-heading .health-card{flex:none;align-self:flex-start;margin:31px 0 0;border:1px solid #e5e8e6;background:#ffffffb8;box-shadow:0 8px 30px #3244500a;padding:12px 15px;border-radius:14px;min-width:270px;max-width:380px}
.health-card .health-caption{color:#88939b;font-size:.62rem}.health-card .health-value{color:#ad7a31;margin:5px 0;font-size:.9rem}.health-card .health-value strong{color:#a67d47}.health-card small{font-size:.67rem;color:#86949e}
.companion-card{position:relative;min-width:0;overflow:hidden;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;min-height:450px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}
.companion-art{position:absolute;inset:0 0 85px;overflow:hidden;pointer-events:none}.companion-art::before{content:"";position:absolute;inset:0;z-index:1;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.companion-portrait{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.aura{position:absolute;border:2px solid #48b9dfb0;box-shadow:0 0 18px #66cbf4a8;border-radius:50%;width:65%;aspect-ratio:1;left:17%;top:8%;z-index:2;opacity:.8}.aura-two{width:78%;left:11%;top:1%;opacity:.4}
.companion-controls{z-index:3;position:relative;padding:16px 20px 19px;;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}
.companion-kicker{display:block;color:#137986;font-size:.6rem;letter-spacing:.13em;font-weight:800;margin-bottom:8px}.companion-kicker span{color:#b9925b}.companion-title{display:block;color:#1e3b47;font-size:1.14rem;letter-spacing:-.025em}
.companion-controls p{color:#6f818a;font-size:.71rem;margin:7px 0 13px;line-height:1.55}.companion-controls button{background:#ebf6f7;color:#1a6e79;border:1px solid #c4e6e9;border-radius:100px;padding:9px 14px;font-size:.72rem;font-weight:760;min-height:39px}
.companion-controls button[aria-pressed="true"]{background:#d8eef0;border-color:#8ccdd7}.companion-card[data-voice-preview="motion"] .aura-one{animation:companion-wave 1.65s ease-in-out infinite}.companion-card[data-voice-preview="motion"] .aura-two{animation:companion-wave 1.65s ease-in-out -.5s infinite}
@keyframes companion-wave{0%,100%{transform:scale(.94);opacity:.45}50%{transform:scale(1.075);opacity:.95}}
.metrics{gap:16px;margin-bottom:23px}.metric,.surface,.director-card{background:linear-gradient(145deg,#ffffff,#fcfcfc);border:1px solid #e5e9ea;box-shadow:0 6px 25px #4152600a;border-radius:19px;color:var(--ink)}
.metric{padding:20px;min-height:135px}.metric-head{color:#687d87}.metric strong{color:#1a3744}.metric-symbol{color:#407f8b;background:#eaf5f6}.metric-symbol.amber{color:#ae8649;background:#fff4e3}.metric small{color:#82919b}
.surface{padding:23px}.surface-head h2{color:#1b3645;font-size:1.1rem}.micro-label,.director-id{color:#54929c}.mission-row{border-top:1px solid #e6ebec;color:var(--ink)}.mission-title,.director-name{color:#28414b}.mission-director,.results-label{color:#84949a}.mission-indicator{background:#eaf5f6;color:#157f84}
.state-neutral{background:#eaf1f6;color:#43647b}.state-warn{background:#fff2d9;color:#977035}.state-done{background:#e4f5ea;color:#337651}
.trust-list>div{border-color:#e8eded;color:#687986}.trust-list b{color:#906d3d}.tag-good{color:#2b856b!important}.tag-muted{color:#748997!important}.surface-foot{color:#8c979e}
.filterbar label{color:#5d7480}.filterbar input,.filterbar select{background:#f9fbfb;border-color:#d7e0e3;color:#28424e;border-radius:12px}.filterbar input::placeholder{color:#96a7af}.filterbar input:focus,.filterbar select:focus{border-color:#67aebb;outline:2px solid #bce4e9}
.director-grid{gap:17px}.director-card{background:white;border-color:#e5e9ea;border-radius:15px}.director-responsibility,.director-boundary p,.director-focus p{color:#667f89}.director-inactive{border-color:#ecdcbf;color:#86673b;background:#fff7e9}.director-details{border-color:#e6eaea}.director-summary{color:#287e8a}.director-boundary,.director-focus,.rule{border-color:#e5ebee}.director-safety-notice{background:#fbf7ee;border-color:#eadfc7;color:#97743c}.director-safety-notice strong{color:#8e6b33}.director-safety-notice p{color:#827660}.evidence-card p:not(.micro-label),.rule{color:#657986}.rule strong{color:#9b6f3f}
footer{color:#8f9a9f}footer b{color:#317986}.section-intro h1{font-family:var(--font-interface);font-weight:650;letter-spacing:-.045em}
@media(max-width:1260px){.shell{grid-template-columns:210px minmax(0,1fr)}.executive-hero{grid-template-columns:minmax(0,1.12fr) minmax(255px,.8fr)}.executive-heading{padding:25px 5px}}
@media(max-width:890px){.shell{grid-template-columns:1fr}.sidebar{min-height:0;display:flex;flex-direction:column;padding:12px 17px 9px}.brand{padding:0 0 9px;gap:8px}.brand-face{width:39px;height:39px;flex-basis:39px}.brand strong{font-size:1.05rem}.brand small{font-size:.48rem}.nav{width:100%;overflow-x:auto;display:flex}.nav-item{width:auto;flex:1;min-width:0;font-size:.73rem;white-space:nowrap;justify-content:center}.nav-icon{display:none}.topbar{padding:13px 20px}.page-width{padding:18px 22px}.executive-hero{grid-template-columns:1fr minmax(240px,.9fr)}.executive-heading{padding:12px 0}.executive-hero h1{font-size:clamp(2.9rem,6vw,4.5rem)}.companion-card{min-height:385px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.sidebar{padding:12px 13px 8px;gap:6px}.brand{padding-bottom:8px}.nav{gap:4px}.nav-item{padding:10px 6px;font-size:.72rem;white-space:normal}.nav-item.is-active{box-shadow:inset 0 -3px #c49a5b}.topbar{flex-direction:row;align-items:center;padding:11px 17px}.breadcrumb{font-size:.6rem}.topbar-right{width:auto;display:flex;flex-direction:column;align-items:flex-end}.timestamp{display:none}.offline-badge{font-size:.6rem;white-space:nowrap;padding:6px 8px}.page-width{padding:16px 14px}.notice{font-size:.72rem;padding:11px 13px;margin-bottom:12px}.executive-hero{grid-template-columns:1fr;gap:15px}.executive-heading{padding:4px 6px 0}.executive-hero h1{font-size:3.3rem;line-height:1.04;margin:11px 0}.executive-heading .intro-description{font-size:.88rem;line-height:1.55}.hero-actions{margin-top:10px}.primary-action,.secondary-action{min-height:41px;padding:9px 12px;font-size:.73rem}.executive-heading .health-card{margin:14px 0 0;min-width:0;width:100%}.companion-card{min-height:260px;border-radius:18px;display:grid;grid-template-columns:minmax(125px,41%) 1fr;align-items:stretch;overflow:hidden;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.companion-art{position:relative;inset:auto;min-height:260px}.companion-portrait{height:100%;width:100%;object-position:54% 23%}.aura{width:92%;left:3%;top:20%}.aura-two{width:110%;left:-7%;top:10%}.companion-controls{padding:19px 13px;display:flex;flex-direction:column;justify-content:center;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.companion-kicker{font-size:.55rem;line-height:1.4}.companion-title{font-size:1.03rem}.companion-controls p{font-size:.68rem}.companion-controls button{font-size:.66rem;line-height:1.4;padding:9px;min-height:42px}.metrics{gap:10px;margin-bottom:13px}.metric{padding:15px;min-height:128px}.metric strong{font-size:1.7rem}.surface{padding:17px}.director-card{padding:16px}}
@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Sprint 08: calm, readable system typography, consistent with local-first operation.
   No Apple-proprietary font is bundled; no network font requests are made. */
html{font-size:var(--body-size)}
body{font-family:var(--font-interface);font-variant-numeric:tabular-nums;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit}
.brand strong{letter-spacing:.045em;font-weight:720}
.brand small,.workspace-label{letter-spacing:.015em;text-transform:none;font-size:.74rem}
.eyebrow{font-size:.82rem;letter-spacing:.012em;font-weight:630;text-transform:none}
.micro-label,.health-caption,.companion-kicker{font-size:.76rem;letter-spacing:.012em;font-weight:640;text-transform:none}
.intro-description{font-size:1.025rem;line-height:1.62}
.hero-actions button{font-size:.9rem;font-weight:625;letter-spacing:-.005em}
.nav-item{font-size:.91rem;letter-spacing:-.01em}
.notice{font-size:.85rem;line-height:1.55}
.metric-head{font-size:.9rem}
.metric small,.health-card small,.companion-controls p{font-size:.78rem;line-height:1.55}
.companion-title{font-size:1.3rem;font-weight:650;letter-spacing:-.04em}
.companion-controls button{font-size:.8rem;font-weight:640}
.surface-head h2{font-size:1.21rem;font-weight:670;letter-spacing:-.025em}
.mission-title,.director-name{font-size:.96rem;font-weight:660}
.mission-director,.director-responsibility,.director-boundary p,.director-focus p{font-size:.79rem;line-height:1.5}
.results-label,.state,.director-inactive,.director-summary{font-size:.79rem}
.trust-list>div,.surface-foot{font-size:.8rem}
@media(max-width:890px){.nav-item{font-size:.8rem}}
@media(max-width:630px){.executive-hero h1{font-size:clamp(2.5rem,10.3vw,3.35rem);line-height:1.08}
  .executive-heading .intro-description{font-size:.93rem}
  .brand small{font-size:.66rem}
  .nav-item{font-size:.76rem;padding-inline:3px}
  .companion-title{font-size:1.06rem}
  .companion-controls p{font-size:.74rem}
  .companion-controls button{font-size:.76rem;line-height:1.4}
  .metric-head{font-size:.83rem}.metric small{font-size:.75rem}
  .notice{font-size:.8rem}
  .health-card small{font-size:.75rem}}

/* Centered Chisom presence: full portrait and one consistent emblem. */
.executive-hero{display:flex;flex-direction:column;gap:22px;align-items:center}
.executive-heading{text-align:center;width:100%;padding:8px 0}
.executive-hero h1{font-size:clamp(2rem,4vw,3rem);margin:8px 0 12px}
.executive-heading .intro-description{max-width:620px;margin:0 auto}
.hero-actions{justify-content:center}
.executive-heading .health-card{margin:16px auto 0;max-width:340px;min-width:0;text-align:left}
.companion-card{width:min(100%,560px);min-height:0;display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}
.companion-art{position:relative;inset:auto;height:390px;overflow:hidden;isolation:isolate}
.companion-art::before{z-index:-1;;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}
.companion-portrait{position:relative;z-index:1;height:100%;width:100%;object-fit:contain;object-position:center bottom}
.aura{z-index:0;border-color:#c49a5b55;box-shadow:0 0 22px #c49a5b33;width:65%;left:17.5%;top:10%}
.aura-two{width:78%;left:11%;top:0}
.companion-controls{text-align:center;;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}
.companion-emblem{display:block;margin:0 auto 10px;border-radius:9px}
.companion-card[data-voice-preview="motion"] .companion-portrait{animation:chisom-presence 4s ease-in-out infinite}
.companion-card[data-voice-preview="motion"] .companion-emblem,.shell[data-brand-motion="preview"] .brand-face{animation:chisom-glow 2.4s ease-in-out infinite}
@keyframes chisom-presence{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes chisom-glow{0%,100%{box-shadow:0 0 0 0 #c49a5b00}50%{box-shadow:0 0 0 5px #c49a5b22,0 0 18px #c49a5b44}}
@media(max-width:630px){.companion-card{display:flex;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.companion-art{height:320px;min-height:0}.companion-controls{padding:16px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.executive-hero h1{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){.companion-card *, .shell .brand-face{animation:none!important;transition:none!important}}

.presence-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px}
#companion-command-form{margin-top:14px;text-align:left}
#companion-command-form label{display:block;margin-bottom:6px;font-size:.85rem}
.presence-input{display:flex;gap:8px;align-items:center}
.presence-input input{min-width:0;flex:1;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit}
.companion-card[data-position="right"]{align-self:flex-end;width:min(100%,300px)}
.companion-card[data-position="left"]{align-self:flex-start;width:min(100%,300px)}
.companion-card[data-position="bottom"]{align-self:center;width:min(100%,320px);margin-top:70px}
.companion-card[data-position="right"] .companion-art,.companion-card[data-position="left"] .companion-art,.companion-card[data-position="bottom"] .companion-art{height:260px}
.companion-card[data-speech-state="speaking"] .companion-emblem{animation:chisom-glow 1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.companion-card[data-speech-state="speaking"] .companion-emblem{animation:none!important}}
