/* Connected universe. Tokens and fonts: src/brand/. */
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--text-default);background:var(--background-default);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;--ink:var(--text-default);--muted:var(--text-muted);--line:var(--border-default);--paper:var(--surface-container);--red:#d3213f}
*{box-sizing:border-box}body{margin:0;background:var(--background-default)}button,select,input{font:inherit}b,strong{font-weight:599}button,a,input,select{outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:var(--focus-ring)}
button{cursor:pointer;border:0;border-radius:9999px;background:var(--surface-container);box-shadow:inset 0 0 0 1px var(--border-interactive-subtle);padding:10px 16px;color:var(--text-interactive-default);font-size:.875rem;line-height:1.25;font-weight:499;font-feature-settings:"ss04" 1;transition:background var(--transition-fast) var(--ease-in-out),box-shadow var(--transition-fast) var(--ease-in-out),color var(--transition-fast) var(--ease-in-out)}button:hover{background:var(--surface-interactive-ghost-hover);box-shadow:inset 0 0 0 1px var(--border-interactive-subtle-hover);color:var(--text-interactive-default-hover)}button.primary{background:var(--surface-interactive-brand);color:var(--text-on-inverted);box-shadow:none}button.primary:hover{background:var(--surface-interactive-brand-hover);color:var(--text-on-inverted)}button.primary:active{background:var(--surface-interactive-brand-pressed)}button:disabled{cursor:not-allowed;opacity:.45}button:disabled:hover{background:var(--surface-container);box-shadow:inset 0 0 0 1px var(--border-interactive-subtle);color:var(--text-interactive-default)}button.primary:disabled:hover{background:var(--surface-interactive-brand);box-shadow:none;color:var(--text-on-inverted)}
a{color:var(--text-interactive-default)}h1,h2,h3,p{margin-top:0}p{line-height:1.5}h1{font-family:var(--display);font-weight:449;font-size:clamp(2rem,3.7vw,3.25rem);letter-spacing:-.01em;line-height:1.08;margin-bottom:16px}h2{font-size:1.4375rem;letter-spacing:-.01em;line-height:1.2;font-weight:599}h3{font-size:1rem;line-height:1.33;font-weight:599;margin-bottom:8px}
.topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--background-default) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-default);color:var(--text-default);padding:12px max(24px,calc((100vw - 1320px)/2));display:flex;gap:24px;align-items:center;justify-content:space-between}.toplinks{display:flex;gap:12px;font-size:.8rem;align-items:center}.toplinks a{color:var(--text-interactive-default);text-decoration:none}.toplinks button{white-space:nowrap}
.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:4px;padding:4px 6px;font-size:.75rem;line-height:1.15;font-weight:499;font-feature-settings:"ss04" 1;background:var(--surface-neutral);color:var(--text-on-neutral)}.topbar .badge{background:var(--graphic-violet-subtle);color:var(--graphic-violet-strong)}
.shell{max-width:1320px;margin:auto;padding:32px 24px 64px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:599;color:var(--text-muted);margin-bottom:12px}.hero p{max-width:650px;margin-bottom:0;color:var(--text-subtle);font-size:1rem}
.control-panel{background:var(--surface-container);border-radius:12px;padding:24px;align-self:start;box-shadow:var(--elevation-sm)}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.field{display:flex;gap:6px;flex-direction:column;flex:1;min-width:140px}.field label,.field-label{font-size:.75rem;font-weight:599;color:var(--text-subtle)}
select,input{width:100%;border:1px solid var(--border-interactive-default);border-radius:8px;background:var(--surface-container);color:var(--text-default);min-height:40px;padding:8px 12px;font-size:.875rem;transition:border-color var(--transition-fast)}select:hover,input:hover{border-color:var(--surface-interactive-brand)}input[type=number]{max-width:100px}
.clock{font-size:1.4375rem;font-weight:599;letter-spacing:-.01em;font-feature-settings:var(--figures);margin-bottom:12px}.micro{font-size:.75rem;color:var(--text-muted);line-height:1.5}.muted{color:var(--text-muted)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.toolbar button{font-size:.75rem;padding:6px 12px}
.notice{padding:12px 16px;margin-bottom:20px;border:1px solid var(--border-informative);border-radius:12px;background:var(--surface-informative-muted);color:var(--text-on-informative);font-size:.875rem;line-height:1.5}.notice.warning{background:var(--surface-attentive-muted);border-color:var(--border-attentive);color:var(--text-on-attentive)}.notice.error{background:var(--surface-negative-muted);border-color:var(--border-negative);color:var(--text-on-negative)}.notice[hidden]{display:none}
.nav{display:flex;gap:4px;border-bottom:1px solid var(--border-default);overflow:auto;margin-bottom:24px;padding-bottom:0}.nav button{white-space:nowrap;border-radius:0;background:transparent;box-shadow:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 16px;color:var(--text-muted)}.nav button:hover{color:var(--text-default);background:transparent;box-shadow:none}.nav button[aria-current=page]{color:var(--text-default);background:transparent;border-bottom-color:var(--graphic-violet-default);font-weight:599}.nav .num{opacity:.6;margin-right:8px;font-feature-settings:var(--figures)}
.section-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px}.section-heading h2{margin-bottom:6px}.section-heading p{margin-bottom:0;font-size:.875rem;color:var(--text-muted);max-width:790px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.metric{background:var(--surface-container);border:1px solid var(--border-default);border-radius:12px;padding:16px 20px}.metric strong{font-family:var(--display);font-weight:449;font-size:2rem;line-height:1;font-feature-settings:var(--tabular);display:block;margin:8px 0}.metric .label{color:var(--text-muted);font-size:.75rem;font-weight:599;text-transform:uppercase;letter-spacing:.04em}
.card{background:var(--surface-container);border:1px solid var(--border-default);border-radius:12px;padding:24px;min-width:0;box-shadow:var(--elevation-sm-lowered)}.card.selected{border-color:var(--border-strong);box-shadow:0 0 0 2px var(--graphic-violet-subtle)}.card p{font-size:.875rem}.card-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.card .badge{white-space:nowrap}.card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.card .micro{margin-bottom:8px}.card .cost{font-size:1.4375rem;font-weight:599;letter-spacing:-.01em;font-feature-settings:var(--tabular)}.card .divider{border-top:1px solid var(--border-default);margin-top:16px;padding-top:16px}.card ol,.card ul{padding-left:20px;line-height:1.6;font-size:.875rem}.wide{grid-column:1/-1}
.split{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.need-list{display:flex;flex-direction:column;gap:8px}.need-button{text-align:left;padding:16px;border-radius:12px;color:var(--text-default)}.need-button:hover{color:var(--text-default)}.need-button[aria-pressed=true]{background:var(--graphic-violet-muted);box-shadow:inset 0 0 0 1px var(--border-strong)}.need-button strong{display:block;margin-bottom:6px;font-size:.875rem}.need-button small{display:block;line-height:1.5;color:var(--text-muted)}.stack{display:flex;flex-direction:column;gap:12px}
.status{font-size:.75rem;line-height:1.15;background:var(--surface-neutral);color:var(--text-on-neutral);padding:4px 6px;border-radius:4px;font-weight:499;display:inline-block}.status.open,.status.unknown,.status.offered,.status.ordered{background:var(--surface-attentive);color:var(--text-on-attentive)}.status.rejected,.status.disputed,.status.declined,.status.expired{background:var(--surface-negative);color:var(--text-on-negative)}.status.paid,.status.incorporated,.status.confirmed,.status.assigned{background:var(--surface-positive);color:var(--text-on-positive)}
.travel{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.travel .tag{font-size:.75rem;border:1px solid var(--border-interactive-subtle);color:var(--text-interactive-default);border-radius:9999px;padding:2px 8px}.cost .micro{font-size:.75rem;font-weight:399;color:var(--text-muted)}.pay-details{margin-top:8px}.pay-details summary{padding:4px 0}.pay-lines{padding-left:18px;font-size:.8125rem;line-height:1.6;margin:8px 0;font-feature-settings:var(--figures)}.pay-lines .micro{margin-left:4px}.reasons{font-size:.75rem;padding-left:18px;color:var(--graphic-yellow-default);line-height:1.5}.role-note{background:var(--surface-informative-muted);color:var(--text-on-informative);border-radius:8px;padding:12px;font-size:.8125rem;margin:12px 0 0}
.table-wrap{overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-container)}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-default);vertical-align:top}th{font-size:.75rem;color:var(--text-muted);background:var(--surface-container);font-weight:599;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover td{background:var(--surface-muted)}td.money,th.money{text-align:right;white-space:nowrap;font-feature-settings:var(--tabular)}tr:last-child td{border:0}
.empty{padding:24px;color:var(--text-muted);text-align:center;font-size:.875rem;background:var(--surface-muted);border:1px dashed var(--border-emphasis);border-radius:12px}
.timeline{padding:0;list-style:none;margin:0}.timeline li{padding:12px 0 12px 20px;border-left:2px solid var(--graphic-violet-subtle);font-size:.8125rem;position:relative}.timeline li:before{content:'';width:8px;height:8px;background:var(--graphic-violet-default);border-radius:50%;position:absolute;left:-5px;top:17px}.timeline small{display:block;color:var(--text-muted);margin-bottom:4px}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted);margin:12px 0 20px}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8125rem;color:var(--text-muted);margin-bottom:16px}.flow span{background:var(--graphic-violet-muted);border:1px solid var(--border-default);color:var(--text-default);padding:6px 12px;border-radius:9999px}
.footer{font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border-default);margin-top:32px;padding-top:16px;line-height:1.6}.help-list{display:grid;gap:12px}.help-list p{font-size:.875rem;margin:0}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--graphic-violet-subtle);color:var(--graphic-violet-strong);font-size:.75rem;font-weight:599;flex:none}.person-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.person-heading h3{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{padding:64px;color:var(--text-muted)}.comparison{background:var(--graphic-violet-muted)}.actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.small-input{max-width:220px}.section-space{margin-top:24px}details{margin-top:16px}summary{cursor:pointer;font-size:.8125rem;font-weight:599;color:var(--text-interactive-default);padding:8px 0}pre{white-space:pre-wrap;word-break:break-word;font-size:.75rem}.hidden{display:none!important}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:24px;grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:260px minmax(0,1fr)}}@media(max-width:700px){.topbar{padding:12px 16px}.toplinks a{display:none}.shell{padding:24px 16px 40px}.hero,.grid,.grid.two,.split{grid-template-columns:1fr}.hero{gap:20px}.metric{padding:12px 16px}.metric strong{font-size:1.625rem}.section-heading{display:block}.section-heading .badge{margin-top:8px}.nav button{padding:12px}.need-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card{padding:16px}.control-panel{padding:16px}.toplinks{gap:8px}.need-button{padding:12px}.metric-grid{gap:8px}}@media print{.topbar,.nav,.toolbar,.controls,.actions,.actions-inline,button{display:none!important}.shell{max-width:none;padding:0}.hero{display:block}.card,.metric{break-inside:avoid;box-shadow:none}.grid{grid-template-columns:1fr 1fr}body{background:white}.footer{display:block}}

textarea{font:inherit;width:100%;display:block;margin-top:8px;padding:12px;border:1px solid var(--border-interactive-default);border-radius:8px;background:var(--surface-container);color:var(--text-default);resize:vertical;line-height:1.5}textarea:focus-visible{outline:var(--focus-ring);outline-offset:2px}.observation-text{white-space:pre-wrap;overflow-wrap:anywhere}

.profile-picker{max-width:1040px;padding-top:64px}.picker-intro{max-width:740px;color:var(--text-subtle);margin-bottom:32px}.profile-card{display:flex;flex-direction:column;align-items:start}.profile-card button{margin-top:auto}.profile-context{margin-top:16px!important;font-size:.8125rem!important}.profile-picker .micro{overflow-wrap:anywhere}#narvik[aria-busy=true]{cursor:progress}#narvik[aria-busy=true] button{pointer-events:none;opacity:.6}@media(max-width:700px){.profile-picker{padding-top:32px}.profile-card button{width:100%;text-align:center}}

/* Shared universe shell */
.home-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.home-grid button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:20px;min-height:136px;border-radius:12px;background:var(--surface-container);box-shadow:inset 0 0 0 1px var(--border-default),var(--elevation-sm-lowered);color:var(--text-default);font-weight:399}.home-grid button:hover{box-shadow:inset 0 0 0 1px var(--border-strong),var(--elevation-sm);background:var(--surface-container)}.home-grid .eyebrow{color:var(--graphic-violet-default);margin-bottom:0}.home-grid strong{display:block;margin:12px 0;font-size:1rem}.home-grid small{font-weight:399;line-height:1.5;display:block;color:var(--text-muted)}
.journey{padding:24px;background:var(--graphic-violet-subtle);border-radius:12px;margin-bottom:24px}.journey h2{margin:6px 0 8px}.journey p{margin-bottom:16px;color:var(--text-subtle)}.journey .eyebrow{color:var(--graphic-violet-strong);margin-bottom:0}
.subnav{display:flex;gap:8px;margin-bottom:16px}.subnav button[aria-pressed=true]{background:var(--surface-interactive-brand);color:var(--text-on-inverted);box-shadow:none}.task.done{background:var(--surface-positive-muted);border-color:var(--border-positive)}.task.blocked{background:var(--surface-attentive-muted);border-color:var(--border-attentive)}.privacy{border:1px solid var(--border-informative);border-radius:12px;padding:16px 20px;background:var(--surface-informative-muted);color:var(--text-on-informative)}
.hero{grid-template-columns:1.2fr 1fr}.hero h1{font-size:clamp(2rem,3.2vw,3rem)}.nav button{white-space:normal;text-align:left;padding:12px 14px;min-width:145px}.status.pending{background:var(--surface-attentive);color:var(--text-on-attentive)}.table-wrap td{max-width:340px}.skill{font-size:.75rem;border:1px solid var(--border-interactive-subtle);color:var(--text-interactive-default);border-radius:9999px;padding:2px 8px;display:inline-block}.card .actions button{max-width:100%;white-space:normal}.readonly{background:var(--surface-attentive-muted);border-color:var(--border-attentive);color:var(--text-on-attentive)}.profile-picker h1{font-size:clamp(2.25rem,5vw,3.75rem)}.main-title{display:flex;justify-content:space-between;align-items:center;gap:12px}#universe[aria-busy=true]{cursor:progress}.route-trace{font-family:ui-monospace,monospace;font-size:.7rem;overflow-wrap:anywhere}.card details pre{max-height:300px;overflow:auto}@media(max-width:1000px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.toplinks button{padding:8px 12px;font-size:.8125rem}.home-grid{grid-template-columns:1fr}.home-grid button{min-height:0}.hero{grid-template-columns:1fr}.nav button{min-width:145px}.main-title{display:block}.controls{align-items:stretch}.clock{font-size:1.125rem}.topbar{gap:12px}.profile-picker{padding-top:32px}}
