/* Buyside Saga — terminal workspace. Existing game layouts remain underneath. */
:root {
  color-scheme: dark;
  --terminal-bg: #080a0e;
  --terminal-panel: #101319;
  --terminal-raised: #171d25;
  --terminal-line: #303741;
  --terminal-orange: #ff9f1c;
  --terminal-cyan: #58c7ff;
  --terminal-text: #e3e6eb;
  --terminal-muted: #9ba7b4;
  --terminal-positive: #51d59a;
  --terminal-negative: #ff6868;
  --ink: var(--terminal-text);
  --muted: var(--terminal-muted);
  --green: var(--terminal-orange);
  --green-soft: #292115;
  --orange: var(--terminal-orange);
  --orange-soft: #292115;
  --paper: var(--terminal-bg);
  --line: var(--terminal-line);
  --white: var(--terminal-panel);
  --red: var(--terminal-negative);
  --shadow: none;
  --terminal-font: ui-monospace, SFMono-Regular, Menlo, Consolas, 'PingFang SC', 'Microsoft YaHei', monospace;
}
body { background:var(--terminal-bg); color:var(--terminal-text); font:12px/1.55 var(--terminal-font); -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font-family:var(--terminal-font); }
::selection { background:#a85a12; color:#fff; }
* { scrollbar-width:thin; scrollbar-color:#45515f #0c1016; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--terminal-orange); outline-offset:2px; }
button:disabled { opacity:.42; }
button,a,input { touch-action:manipulation; }
input,textarea,select { border:1px solid #465161; background:#090d13; color:#dce9f8; border-radius:2px; padding:9px 10px; box-shadow:none; font-size:12px; }
input::placeholder,textarea::placeholder { color:#798696; opacity:1; }
input:hover,textarea:hover,select:hover { border-color:#7c8999; }
input:focus,textarea:focus,select:focus { border-color:var(--terminal-orange); box-shadow:none; }
label { color:#b2bcc9; font-size:11px; margin:12px 0 6px; }
option { background:#101319; color:#e3e6eb; }
.sidebar { width:176px; padding:17px 11px 13px; background:#0b0e13; border-right:1px solid #373d45; box-shadow:none; }
.brand { font-size:16px; letter-spacing:-.5px; gap:7px; color:#fff; }
.brand-mark { color:var(--terminal-orange); font-size:35px; width:29px; letter-spacing:-2px; font-family:Georgia,serif; }
.brand-mark > span { display:none; }
.brand small { color:#84909f; font-size:9px; letter-spacing:1.6px; margin-top:4px; }
.fund-identity { margin:22px 0 15px; padding:13px 0; border-color:#303741; gap:7px; }
.fund-icon { width:27px; height:30px; background:#25200f; color:var(--terminal-orange); border:1px solid #594220; border-radius:1px; box-shadow:none; font-size:16px; }
.fund-identity strong { max-width:115px; color:#e5e8ed; font-size:11px; }
.fund-identity small { font-size:10px; color:#8f9ba9; margin-top:4px; }
nav { gap:3px; }
.nav-button { padding:10px 8px; min-height:46px; gap:9px; border-radius:1px; border:1px solid transparent; color:#b4bdc8; transition:background .12s; }
.nav-button > span { font-family:var(--terminal-font); min-width:22px; height:24px; display:grid;place-items:center; font-size:12px; color:var(--terminal-orange); border:1px solid #44413c; background:#161719; }
.nav-label { min-width:0; font-size:12px; line-height:1.45; }
.nav-label small { display:block; margin:3px 0 0; font-size:9px; letter-spacing:1px; opacity:1; color:#7e8d9e; }
.nav-button i { margin-left:auto; font-size:17px; font-style:normal; color:#526171; }
.nav-button:hover { background:#18202a; color:#fff; }
.nav-button.active { border-color:#735025; background:#2a2115; color:var(--terminal-orange); box-shadow:none; }
.nav-button.active > span { background:var(--terminal-orange); border-color:var(--terminal-orange); color:#080a0e; font-weight:700; }
.nav-button.active small,.nav-button.active i { color:#dca04a; }
.sidebar-quote { margin:0 4px 18px; font-size:10px; line-height:1.9; color:#6c7c8e; }
.sidebar-bottom { padding-top:20px; }
.sidebar-bottom .nav-button { font-size:11px; padding:8px 3px; }
.save-status { margin:12px 3px 0; font-size:10px; color:#8fa1af; gap:6px; }
.save-status i,.small-dot { background:var(--terminal-positive); border-radius:1px; width:5px;height:5px; }
.main-shell { margin-left:176px; }
.topbar { height:39px; padding:0 17px; background:#12171e; backdrop-filter:none; border-bottom:1px solid #3d444e; }
.breadcrumb { color:#7d8a9b; font-size:11px; }
.breadcrumb b { color:var(--terminal-orange); font-weight:600; }
.breadcrumb span { color:#566575; margin:0 8px; }
.topbar-right { gap:15px; color:#a4afbc; font-size:11px; }
.avatar { width:25px; height:25px; color:#080a0e; background:#b5c5d5; border:0; border-radius:2px; box-shadow:none; }
.actor-label { font-size:10px;color:#8096ae;border-right:1px solid #3b4a5b;padding-right:12px; }
.mode-badge { color:var(--terminal-cyan); background:#102232; border:1px solid #2c536b; border-radius:1px; padding:3px 7px; font-size:10px; }
.mode-badge.demo { color:#ffbd65; background:#302216; border-color:#664827; }
.terminal-command { display:flex; align-items:center; gap:10px; height:42px; margin:0; padding:5px 12px; background:#080a0e; border-bottom:1px solid #393f48; }
.terminal-command-prompt { color:var(--terminal-orange); white-space:nowrap; font-weight:700; font-size:11px; letter-spacing:.4px; }
.terminal-command input { flex:1; width:0; min-width:0; padding:5px 0; border:0; background:transparent; color:#ffbd65; font-size:12px; box-shadow:none; }
.terminal-command input:focus-visible { outline:0; }
.terminal-command:focus-within { box-shadow:inset 0 -2px var(--terminal-orange); }
.terminal-command kbd { color:#7a8797; font:10px var(--terminal-font); border:0; background:transparent; white-space:nowrap; }
.terminal-command button { align-self:stretch; background:var(--terminal-orange); color:#090c10; font-size:12px; font-weight:700; padding:0 13px; border-radius:1px; }
.terminal-command button:hover { background:#ffbb57; }
.terminal-command button span { margin-left:8px; }
main { max-width:1920px; padding:16px 16px 12px; }
.page-intro { margin-bottom:14px; gap:12px; }
.page-intro h1 { color:#e7ebf0; font-size:23px; line-height:1.25; font-weight:600; letter-spacing:-.7px; }
.eyebrow { color:var(--terminal-orange); font-size:10px; letter-spacing:1.2px; margin-bottom:6px; }
.page-intro p,.section-heading p { font-size:11px; color:#8b99aa; margin-top:5px; line-height:1.6; }
.intro-actions { gap:6px; }
.button { border-radius:2px; font-size:12px; padding:8px 12px; box-shadow:none; transition:background .12s; }
.button.primary { background:var(--terminal-orange); color:#0a0d12; border:1px solid var(--terminal-orange); box-shadow:none; font-weight:700; }
.button.primary:hover { background:#ffb44b; transform:none; box-shadow:none; }
.button.secondary { background:#1c2632; border:1px solid #445568; color:#c9d8e8; box-shadow:none; }
.button.secondary:hover { background:#243447; border-color:#67829c; transform:none; }
.button.danger { background:#361b20; color:#ff8585; border:1px solid #783b44; }
.text-button { color:var(--terminal-cyan); font-size:11px; text-decoration:none; }
.text-button:hover { color:#b6e9ff; text-decoration:underline; }
.metrics { grid-template-columns:1.2fr 1fr 1fr 1fr; gap:8px; margin-bottom:12px; }
.metric { background:#0f131a; border:1px solid #303a47; border-top:2px solid #52657a; border-radius:1px; padding:11px 13px; min-height:89px; box-shadow:none; }
.metric:first-child { border-top-color:var(--terminal-orange); }
.metric-label { color:#98a5b4; font-size:11px; }
.metric-label > span { color:#667b91; }
.metric strong { color:#e9eff8; font:500 26px/1.25 var(--terminal-font); letter-spacing:-.8px; margin:7px 0 4px; }
.metric:nth-child(2) strong { color:var(--terminal-cyan); }
.metric strong small { color:#8296aa; font-size:12px; }
.metric-sub { font-size:10px; color:#758599; line-height:1.5; }
.metric-tag { color:var(--terminal-positive); background:#11231b; border-radius:1px; padding:2px 5px; font-size:10px; right:11px; bottom:11px; }
.positive { color:var(--terminal-positive)!important; }
.negative { color:var(--terminal-negative)!important; }
.metric-tag.negative { background:#2b171b; }
.office-layout { grid-template-columns:minmax(0,1fr) 285px; gap:10px; }
.scene-card { background:#0b0f15; border:1px solid #3c4654; border-radius:1px; box-shadow:none; }
.scene-top { height:35px; padding:0 12px; background:#1a2738; border-bottom:1px solid #40556c; color:#d5e2ef; font-size:11px; }
.scene-top strong { font-size:12px; color:var(--terminal-orange); }
.scene-top span#scene-detail { color:#8da2b7; font-size:10px; }
.scene-button { color:var(--terminal-cyan); font-size:11px; }
.canvas-container { background:#0b0f15; height:480px; }
.scene-location { color:#8393a5; font-size:10px; }
.scene-location strong { color:#b1bfce; font-size:11px; }
.scene-hint { color:#e9e4da; background:#151d27ed; border:1px solid #655132; border-radius:2px; box-shadow:none; backdrop-filter:none; font-size:11px; }
.scene-reset { background:#172333; color:var(--terminal-orange); border:1px solid #405369; border-radius:2px; }
.scene-controls { min-height:34px; height:auto; padding:8px 12px; background:#101820; border-top:1px solid #303c4b; color:#8f9fb0; font-size:10px; }
kbd { background:#1a2735; color:#afc9df; border:1px solid #3e5268; border-radius:1px; box-shadow:none; }
.office-feed { gap:10px; }
.feed-card,.content-card,.staff-card,.note-card { border:1px solid #303b49; border-radius:1px; background:#10151c; padding:16px; box-shadow:none; }
.feed-card { padding:13px; }
.feed-card h3 { font-size:12px; color:var(--terminal-orange); margin-bottom:11px; padding-bottom:9px; border-bottom:1px solid #344252; }
.feed-card h3 small { color:#8294a8; font-size:10px; }
.daily-card { background:#151b24; border-color:#4c4535; }
.daily-card .eyebrow { color:#ffb34e; font-size:10px; }
.daily-card h2 { font-size:19px; line-height:1.5; color:#e5eaf0; }
.daily-card p { color:#99a7b8; font-size:11px; line-height:1.8; }
.daily-card .tiny-leaf { display:none; }
.person-row { border-radius:1px; margin-top:7px; padding:4px 0; transition:none; }
.person-row:hover { background:#1d2b3a; transform:none; }
.person-row strong { font-size:12px; color:#d8e2ec; }
.person-row small { color:#8194a8; font-size:10px; }
.person-avatar { background:#243447!important; border:1px solid #3e5267; color:#a2c7e6; border-radius:1px; box-shadow:none; }
.person-row .arrow { color:#5b91b5; }
.news-item { border-color:#293745; padding-top:9px; margin-top:9px; }
.news-item small { color:#6b9cbd; font-size:10px; }
.news-item p { color:#ccd6df; font-size:12px; line-height:1.7; margin-top:4px; }
.market-strip { margin-top:12px; background:#090d12; border:1px solid #354150; border-radius:0; box-shadow:none; min-height:52px; }
.market-strip-title { color:var(--terminal-orange); background:#1b1a16; font-size:10px; padding:8px 12px; border-color:#3c424a; }
.ticker { overflow-x:auto; }
.ticker-item { min-width:133px; padding:7px 12px; border-right:1px solid #283341; text-align:left; }
.ticker-item:hover { background:#172333; }
.ticker-item strong { font-size:12px; color:#d9e4f1; }
.ticker-item b { color:var(--terminal-cyan); font-size:13px; font-weight:500; margin-top:3px; }
.ticker-item small { font-size:10px; color:#70859d; }
.page-footer { margin-top:9px; font-size:10px; color:#6f7e8f; line-height:1.6; }
.page-footer a { color:var(--terminal-cyan); text-decoration:none; margin-left:10px; }
.page-footer a:hover { text-decoration:underline; }
.section-heading { margin-bottom:13px; gap:9px; }
.section-heading h2 { color:var(--terminal-orange); font-size:16px; font-weight:600; }
.content-card > h2,.content-card > h3 { color:var(--terminal-orange); }
.two-column { gap:10px; }
.empty-state { color:#8b9bac; padding:28px 16px; font-size:12px; }
.empty-symbol { color:#445e78; font-size:29px; }
.empty-state strong { color:#c7d6e4; font-size:14px; }
.data-table { font:12px/1.55 var(--terminal-font); color:#dce4ec; }
.data-table th { background:#1b2939; color:#a9bed3; border-color:#40536a; padding:8px 9px; font-size:11px; }
.data-table td { border-bottom:1px solid #253341; padding:10px 9px; }
.data-table tbody tr:nth-child(even) { background:#131c27; }
.data-table tbody tr:hover { background:#1e3145; }
.data-table small { color:#7e9ab4; font-size:10px; margin-top:3px; }
.data-table td strong { color:#e0e9f2; font-weight:500; }
.chart { height:150px; margin:8px 0; background:repeating-linear-gradient(0deg,transparent,transparent 36px,#28374855 37px),repeating-linear-gradient(90deg,transparent,transparent 100px,#28374855 101px); border-bottom:1px solid #304156; }
.chart text { fill:#8ba1b7; font:10px var(--terminal-font); }
.chart polyline { stroke:var(--terminal-orange); }
.chart stop { stop-color:var(--terminal-orange); }
.summary-line { padding:9px 0; border-color:#2a3746; font-size:12px; }
.summary-line span { color:#8e9fb1; }
.summary-line strong { color:#dce6f0; font-weight:500; }
.subtle,.staff-card p,.note-card p { color:#96a6b7; font-size:12px; line-height:1.8; }
.notice { color:#a9bfd5; background:#122234; border:1px solid #304e6c; border-radius:1px; font-size:11px; line-height:1.8; padding:11px 13px; margin-bottom:12px; }
.notice.warn { color:#efbb72; background:#2b2215; border-color:#69502d; }
.notice.danger { color:#ff9b9b; background:#2d171d; border-color:#783a46; }
.badge { color:#81c3ee; background:#13293a; border:1px solid #2e5069; border-radius:1px; font-size:10px; padding:2px 6px; }
.card-grid { gap:10px; }
.city-tabs,.filter-tabs { gap:5px; margin-bottom:13px; }
.city-tabs button,.filter-tabs button { color:#a9bdd0; background:#101c29; border-color:#374d63; border-radius:1px; padding:7px 12px; font-size:12px; }
.city-tabs button.active,.filter-tabs button.active { background:#ff9f1c; color:#080a0e; border-color:#ff9f1c; }
.staff-card h3,.note-card h3 { color:#dbe5ef; font-size:15px; }
.staff-cost { color:var(--terminal-orange); }
.staff-card .staff-cost small { color:#8196ad; }
.note-card { gap:9px; transition:none; }
.note-card:hover { transform:none; box-shadow:none; background:#172435; border-color:#52708b; }
.note-card footer,.note-meta { color:#8097b0; font-size:10px; border-color:#304054; }
.note-counter { background:#292319; color:#d5b884!important; border-radius:1px; padding:9px; }
.bubble { background:#1b2938; border:1px solid #314b63; color:#d6e1ed; border-radius:2px; font-size:12px; }
.bubble.mine { background:#172c31; border-color:#315e60; border-radius:2px; }
.bubble small { color:#58c7ff; font-size:10px; }
.chat-compose { border-color:#334354; padding-top:10px; }
.suggestions button { color:#8ec6ed; background:#152432; border-color:#375572; border-radius:1px; font-size:11px; }
.suggestions button:hover { background:#213d52; }
.dialog-backdrop { background:#010307b8; backdrop-filter:blur(3px); }
.dialog:not(.welcome-dialog) { background:#10151d; color:#e0e8f2; border:1px solid #566372; border-top:2px solid var(--terminal-orange); border-radius:2px; box-shadow:0 15px 80px #0009; }
.dialog-header { padding:15px 20px 13px; background:#1a2737; border-bottom:1px solid #40516a; border-radius:0; }
.dialog-header h2 { font-size:18px; color:#ffaf44; font-weight:600; }
.dialog-header small { color:#91a6bd; font-size:11px; }
.dialog-body { padding:20px; }
.close-button { color:#a0b8d0; }
.close-button:hover { color:#ffb54f; background:#29394a; }
.divider { background:#344152; border-color:#344152; }
.ledger-row { border-color:#2c3a4a; color:#b6c9dd; font-size:12px; }
.ledger-row small { color:#8095ad; font-size:11px; }
.loading { color:#93a8bf; }
.city-choice { background:#122233; border-color:#344d66; border-radius:2px; }
.city-choice.active { background:#332615; border-color:#c37d21; }
.city-choice small { color:#91a8c1; }
.toast { color:#dce8f5; background:#1b2b3f; border:1px solid #4d6887; border-left:3px solid var(--terminal-orange); border-radius:2px; box-shadow:0 8px 25px #0006; font-size:12px; }
.toast.error { background:#321b24; border-color:#8b4654; }
.position-direction { color:#61dda5; background:#133025; border-radius:1px; }
.position-direction.short { color:#ff8b92; background:#351c25; }
.portfolio-funding details { border-color:#344356; }
.portfolio-funding summary { color:#69c8ff; }
@media(min-width:1500px) and (min-height:950px) { .canvas-container { height:510px; } }
@media(max-width:1100px) { .office-layout { grid-template-columns:1fr; } .office-feed { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); } .canvas-container { height:440px; } .two-column { grid-template-columns:1fr; } }
@media(max-width:800px) { .page-intro h1 { font-size:19px; } .topbar-right { gap:8px; } .terminal-command-shortcut { display:none; } .office-feed { grid-template-columns:1fr; } .card-grid,.card-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
  .sidebar { width:45px;padding:13px 4px 10px; }
  .main-shell { margin-left:45px; }
  .brand-mark { width:30px;font-size:32px;text-align:center; }
  .brand>div,.fund-identity,.sidebar-quote,.save-status { display:none; }
  .sidebar nav { margin-top:24px;gap:4px; }
  .nav-button { padding:7px 2px; min-height:40px;justify-content:center; }
  .nav-label,.nav-button i { display:none; }
  .nav-button > span { font-size:13px;min-width:25px;height:25px; }
  .sidebar-bottom .nav-button { font-size:0; }
  .topbar { height:37px;padding:0 9px; }
  .breadcrumb { font-size:10px; }
  .breadcrumb span { margin:0 5px; }
  .topbar-right { gap:6px; }
  .actor-label { display:none; }
  .mode-badge { font-size:9px;padding:3px 5px; }
  .avatar { width:22px;height:22px;font-size:10px; }
  .terminal-command { height:40px;padding:5px 8px;gap:5px; }
  .terminal-command-prompt { display:none; }
  .terminal-command input { font-size:11px; }
  .terminal-command button { padding:0 8px;font-size:11px; }
  .terminal-command button span { display:none; }
  main { padding:12px 9px; }
  .page-intro { gap:7px;align-items:flex-start;margin-bottom:11px; }
  .page-intro h1 { font-size:17px;line-height:1.5; }
  .page-intro .eyebrow { font-size:8px;letter-spacing:.4px; }
  .page-intro p { font-size:10px;max-width:210px; }
  .intro-actions .secondary { display:none; }
  .intro-actions .button { padding:6px 7px;font-size:10px;white-space:nowrap; }
  .metrics { grid-template-columns:1fr 1fr;gap:6px; }
  .metric { padding:9px;min-height:91px; }
  .metric-label { font-size:10px; }
  .metric strong { font-size:22px; }
  .metric-sub { font-size:9px;max-width:75%; }
  .metric-tag { font-size:9px;right:7px;bottom:9px; }
  .scene-top { padding:0 8px;height:33px; }
  .scene-top strong { font-size:10px; }
  .scene-top #scene-detail { display:none; }
  .scene-button { font-size:10px; }
  .canvas-container { height:355px; }
  .scene-controls { font-size:9px;padding:7px;gap:5px; }
  .scene-location { left:9px;top:10px; }
  .scene-location strong { font-size:10px; }
  .feed-card,.content-card,.staff-card,.note-card { padding:12px; }
  .section-heading h2 { font-size:15px; }
  .market-strip-title { padding:7px;font-size:9px; }
  .ticker-item { min-width:120px; }
  .page-footer { flex-direction:column;gap:4px; }
  .dialog-backdrop { padding:8px; }
  .dialog-header { padding:13px; }
  .dialog-header h2 { font-size:17px; }
  .dialog-body { padding:13px; }
  .dialog input,.dialog textarea,.dialog select { font-size:16px; }
  .card-grid,.card-grid.four { gap:7px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
