/* The compact observer is the default; specialist workspaces retain their tools. */
.universe-intro {display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.universe-intro p {max-width:470px;font-size:18px}
.universe-intro label {display:grid;gap:6px;color:var(--muted);font-size:12px}
.universe-intro select {max-width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.universe-layout {display:grid;grid-template-columns:1fr;gap:24px;margin:24px 0}
.universe-official,.universe-board,.universe-participate {padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.universe-official {background:var(--panel)}
.universe-pill {font-size:11px;color:var(--muted);text-align:right}
.universe-symbol {height:84px;margin:12px auto;display:flex;align-items:center;justify-content:center;color:var(--acid);font-size:48px;gap:6px}
.universe-symbol span {font-size:25px}
.universe-benchmark {display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.universe-benchmark strong {font-size:22px;font-variant-numeric:tabular-nums}
.universe-empty {padding:36px 0;text-align:center;color:var(--muted)}
.universe-empty p {font-size:13px}
.universe-mine {display:grid;grid-template-columns:1fr auto;gap:6px;padding:16px;background:var(--hover);border-radius:12px;margin:16px 0}
.universe-mine small {grid-column:1/-1;color:var(--muted)}
#companion .universe-table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}
#companion .universe-table th,#companion .universe-table td {padding:14px 5px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top}
#companion .universe-table th:first-child,#companion .universe-table td:first-child {width:26px;text-align:left}
#companion .universe-table th:nth-child(2) {width:36%;text-align:left;overflow-wrap:anywhere}
.universe-table small {display:block;margin-top:5px;font-weight:normal;font-size:10px;color:var(--muted)}
.universe-table .is-mine {background:var(--hover)}
.universe-consent {display:flex;align-items:flex-start;gap:12px;font-size:13px;margin:20px 0}
.universe-consent input {margin-top:4px;flex-shrink:0}
.universe-actions {display:flex;gap:10px;flex-wrap:wrap}
.universe-rules,.universe-legacy {margin-top:24px;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.universe-official details {font-size:12px;margin-top:18px;color:var(--muted)}
@media(min-width:960px){.universe-layout{grid-template-columns:minmax(260px,.8fr) minmax(400px,1.4fr);align-items:start}.universe-participate{max-width:900px}.universe-intro{flex-wrap:nowrap}}
@media(max-width:480px){.universe-official,.universe-board,.universe-participate{padding:16px}.universe-intro{gap:0}.universe-intro label{width:100%}#companion .universe-table{font-size:11px}.universe-benchmark strong{font-size:20px}}
:root { color-scheme:light;--bg:#fff;--panel:#f5f8f6;--line:#dce5df;--muted:#5f7066;--ink:#18271f;--acid:#137c4e;--red:#b43d3e;--blue:#356897;--hover:#eaf4ee;--primary-ink:#fff;--outer:#f0f4f1; }
:root[data-theme=dark] { color-scheme:dark;--bg:#101a16;--panel:#18251e;--line:#31453a;--muted:#a4b9ac;--ink:#ebf4ed;--acid:#6ce1a5;--red:#ff9291;--blue:#8db8eb;--hover:#233a2d;--primary-ink:#0c2418;--outer:#0b120e; }
.observer-app { background:var(--outer);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif; }
.observer-app > .top,.observer-app > footer { display:none; }
#companion { display:block;grid-template-areas:none;width:100%;max-width:440px;margin:0 auto;padding:0 0 calc(76px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--bg); }
#companion * { min-width:0; }
#companion button,#companion input,#companion select { font:inherit; }
#companion button { min-height:44px;padding:8px 12px;border:0;border-radius:9px;box-shadow:none;line-height:1.35; }
#companion button:hover { background:var(--hover); }
#companion button:disabled { opacity:.42; }
#companion :focus-visible { outline:2px solid var(--acid);outline-offset:3px; }
#companion h1,#companion h2,#companion h3 { font-family:inherit;font-weight:600;letter-spacing:-.025em; }
#companion h1 { font-size:22px; }
#companion h2 { font-size:16px; }
#companion h3 { font-size:14px;margin:0; }
#companion p { line-height:1.65; }
#companion .small { font-size:12px; }
#companion .muted { color:var(--muted); }
#companion .positive { color:var(--acid); }
#companion .negative { color:var(--red); }
#companion .companion-header { display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px; }
#companion .companion-header a { color:var(--ink);font-size:18px;font-weight:800;letter-spacing:.11em;text-decoration:none; }
#companion .paper-badge { border:1px solid var(--line);border-radius:5px;font-size:10px;padding:2px 8px;color:var(--muted); }
#companion .companion-header { gap:12px; }
#companion .language-control { display:flex;align-items:center;gap:6px;margin-left:auto;font-size:12px; }
#companion .language-control select { min-height:40px;max-width:120px;border:0;padding:5px;background:transparent; }
#companion select,#companion select option,#companion select optgroup { background-color:var(--bg);color:var(--ink); }
#companion .language-icon { color:var(--muted);font-size:19px; }
#companion .overview { padding:9px 22px 10px; }
#companion .overview>.muted { font-size:13px; }
#companion .big-number { font-size:38px;line-height:1.35;letter-spacing:-.055em;font-weight:500;font-variant-numeric:tabular-nums; }
#equityChange:empty { display:none; }
#companion .line-chart { height:125px; }
#companion #equityLine { height:85px; }
#companion #equityLine:has(.chart-empty) { height:70px; }
#companion .line-chart svg { display:block;width:100%;height:100%;overflow:visible; }
#companion .line-chart polyline { stroke:var(--acid);stroke-width:2.3;fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke; }
#companion .line-chart circle { fill:var(--acid); }
#companion .chart-baseline { fill:none;stroke:var(--line);stroke-width:1; }
#companion .chart-empty { display:grid;place-items:center;min-height:100%;font-size:12px;color:var(--muted);text-align:center;background:linear-gradient(transparent 99%,var(--line) 99%); }
#companion .range-bar { display:flex;align-items:center;gap:4px; }
#companion .range-bar button { min-width:44px;font-size:12px;padding:5px 10px; }
#companion .range-bar>span { margin-left:auto;font-size:10px; }
#companion [aria-pressed=true] { color:var(--acid);background:var(--hover); }
#companion .fly-card { margin:0 12px;position:relative;overflow:hidden;border-radius:12px;background:#060709;color:#e9f2ed; }
#companion .fly-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;z-index:1;inset:10px 12px auto;pointer-events:none;font-size:12px; }
#companion .fly-heading b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%; }
#companion #flyDecision { font-size:11px;color:#adbbb2;text-align:right; }
#companion .scene-wrap { height:190px;border:0; }
#companion .scene-caption { display:none; }
#companion #greeting { position:absolute;bottom:8px;left:12px;right:12px;text-align:center;font-size:12px;background:#15271eee;padding:8px;border-radius:8px; }
#companion .fly-actions { display:flex;justify-content:space-between;padding:0 12px 4px; }
#companion #greetFly { color:var(--muted);font-size:12px; }
#companion #greetFly span { margin-left:9px; }
#companion #flyTools { margin:0 22px 18px;padding:12px;background:var(--panel);border-radius:9px; }
#companion #companionRename { display:flex;gap:8px; }
#companion input { width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--bg);color:var(--ink); }
#companion .tool-row { display:flex;flex-wrap:wrap;gap:4px;margin-top:8px; }
#companion .tool-row button { font-size:12px;border:1px solid var(--line); }
#companion .home-body { padding:0 22px; }
#companion .home-body>section { border-top:1px solid var(--line);padding:12px 0; }
#companion .asset-row { display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;text-align:left; }
#companion .coin { display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:19px;flex-shrink:0; }
#companion .asset-title { flex:1; }
#companion .asset-title small { display:block;font-size:11px;color:var(--muted); }
#companion .asset-row>b { font-size:14px;font-weight:500;font-variant-numeric:tabular-nums; }
#companion .cash-row { display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--line);font-size:13px; }
#companion .cash-row details { border:0;flex:1; }
#companion .cash-row summary { padding:7px 0;min-height:36px;font-size:13px;font-weight:400;color:var(--muted); }
#companion .cash-row summary::after { display:none; }
#companion .cash-row>span { white-space:nowrap;font-variant-numeric:tabular-nums; }
#companion .teaching-choices { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px; }
#companion .teaching-choices button { border:1px solid var(--line);font-size:12px;padding:9px 2px; }
#companion .teaching>p { margin:8px 0 0;font-size:11px; }
#companion #lessonPanel { padding:12px;margin:12px 0;background:var(--panel);border:1px solid var(--line);border-radius:10px; }
#companion .section-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
#companion .section-row button { font-size:12px;color:var(--muted);padding-right:0; }
#companion .lesson-actions { display:flex;justify-content:space-between;gap:12px; }
#companion .primary { background:var(--acid);color:var(--primary-ink);padding-left:20px;padding-right:20px; }
#companion .primary:hover { background:var(--acid);filter:brightness(.92); }
#companion #lessonResult { color:var(--acid); }
#companion #lessonResult:empty,#companionStatus:empty,#flyRunMessage:empty { display:none; }
#companion .recent-link { display:flex;justify-content:space-between;gap:8px;width:100%;padding:8px 0;text-align:left;font-size:12px; }
#companion time { color:var(--muted);font-size:10px;font-weight:400;white-space:nowrap; }
#companion .bottom-nav { position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,440px);background:var(--bg);border-top:1px solid var(--line);padding:5px 12px calc(7px + env(safe-area-inset-bottom)); }
#companion .bottom-nav button { display:grid;justify-items:center;gap:1px;color:var(--muted);font-size:10px; }
#companion .bottom-nav button>span { font-size:23px;line-height:24px; }
#companion .bottom-nav [aria-current=page] { color:var(--acid); }
#companion [data-page]:not([data-page=home]) { padding:10px 22px 25px;min-height:65vh; }
#companion .page-heading { display:flex;align-items:center;gap:8px;margin:0 0 22px -10px; }
#companion .page-heading button { font-size:28px;min-width:40px; }
#companion .menu-row { display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;width:100%;border-bottom:1px solid var(--line);border-radius:0;padding:17px 0; }
#companion details { border-bottom:1px solid var(--line); }
#companion summary { display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;min-height:52px;padding:10px 0;font-size:14px; }
#companion summary::-webkit-details-marker { display:none; }
#companion summary::after { content:'›';color:var(--muted); }
#companion details[open]>summary::after { transform:rotate(90deg); }
#companion details p { font-size:12px;color:var(--muted); }
#companion dl { margin:10px 0 20px; }
#companion dl>div { display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:13px; }
#companion dt { color:var(--muted); }
#companion dd { margin:0;font-variant-numeric:tabular-nums; }
#companion .full-width { width:100%;margin:22px 0 8px; }
#companion .filter-bar { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px; }
#companion .filter-bar button { font-size:12px;border:1px solid var(--line); }
#companion .record summary { font-size:14px; }
#companion .record summary small { display:block;font-size:10px;color:var(--muted);padding:3px 0; }
#companion .record summary::after { display:none; }
#companion .empty-message { color:var(--muted);padding:30px 0;text-align:center; }
#companionStatus { padding:8px 22px;color:var(--red); }
/* Existing advanced controls stay reachable on their own pages. */
#companion .account { border:0;padding:0;box-shadow:none;background:transparent; }
#companion .account-login,#companion .fly-identity-panel { margin:0 0 18px;border:0;padding:0;background:transparent; }
#companion .account-login form { display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:20px; }
#companion .account-login button { border:1px solid var(--line); }
#companion .brain-runtime { margin:22px 0;overflow-wrap:anywhere; }
#companion .brain-runtime button { border:1px solid var(--line);margin:3px 0; }
#companion .brain-runtime-actions { flex-wrap:wrap; }
#companion .fly-identity-panel>strong { font-size:12px; }
#companion .fly-identity-panel>small { font-size:11px;line-height:1.7; }
#companion .router-panel { width:auto;grid-column:auto; }
#companion .router-panel,#companion #wardrobe,#companion .round-facts,#companion .terminal-head,#companion .arena-join,#companion .join99x { background:var(--panel);color:var(--ink);border-color:var(--line);font-family:inherit; }
#companion .router-panel summary,#companion .live-desk summary { color:var(--ink);letter-spacing:normal; }
#companion #raisingRoot button,#companion #sessionRecovery button,#companion #colonyRoot button { background:var(--panel);border:1px solid var(--line); }
#companion #raisingRoot button[aria-pressed=true] { background:var(--hover);color:var(--acid); }
#companion #raisingRoot input,#companion #raisingRoot select,#companion select { background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px; }
#companion .desk-rules,#companion #deskTime,#companion .desk-chart-toolbar span { color:var(--muted); }
#companion input[type=checkbox] { width:20px;height:20px;min-height:20px;accent-color:var(--acid);vertical-align:middle; }
#companion #colonyConsentLabel { display:block;font-size:12px;line-height:1.7; }
#companion #colonyRoot { border:0;padding:0;background:transparent; }
#companion .terminal { margin:0 0 15px; }
#companion .terminal canvas { width:100%; }
#companion .terminal-head { flex-wrap:wrap;gap:7px; }
#companion #labControls .auto-controls,#companion #labControls .auto-head { display:none; }
#companion .fly-profile { flex-wrap:wrap; }
#companion .fly-profile input { width:100%; }
#companion .raising-tabs { gap:2px; }
#companion .round-toolbar { flex-wrap:wrap; }
#companion .round-toolbar input,#companion .round-toolbar select { max-width:100%; }
#companion .brain-bar,#companion .decision,#companion .brain-inside,#companion .decoder label { background:var(--panel); }
#companion .decision>div { flex-wrap:wrap;gap:10px; }
#companion .decision small { color:var(--muted); }
#companion #technicalSlot,#companion #experimentsSlot { overflow-wrap:anywhere; }
#companion .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
#companion #recoverySlot { padding:0 22px; }
#companion .market-teaching { margin:0 22px 20px;padding:12px 0 0; }
#companion .market-teaching h2 { margin:0; }
#companion #marketPrice { font-weight:500;font-variant-numeric:tabular-nums; }
#companion #teachChart { height:150px;margin-top:12px;cursor:crosshair;touch-action:pan-y; }
#companion #chartPoint { position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;clip-path:inset(50%);overflow:hidden;accent-color:var(--acid); }
#companion #chartPoint:focus-visible { position:static;width:100%;height:44px;clip-path:none; }
#companion .chart-caption { display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;margin:4px 0; }
#companion .chart-caption .small { font-size:10px; }
#companion .chart-cursor { stroke:var(--muted);stroke-dasharray:3 4;fill:none;vector-effect:non-scaling-stroke; }
#companion .selected-point { stroke:var(--bg);stroke-width:2; }
#companion .lesson-marker { stroke:var(--bg);stroke-width:1.5; }
#companion .marker-SELL { fill:var(--red); }
#companion .marker-HOLD { fill:var(--muted); }
#companion .record-detail { background:var(--panel);border-radius:10px;padding:16px;margin-bottom:14px;overflow-wrap:anywhere; }
#companion .record-detail h3 { margin-top:18px; }
#companion .record-detail h3:first-child { margin-top:0; }
#companion .record-badge { display:block;font-size:11px;color:var(--muted);padding:4px 0; }
#companion .record-badge.changed { color:var(--acid); }
#companion .record summary { align-items:flex-start;gap:16px;padding:16px 0; }
#companion .record summary strong { font-weight:500; }
#companion .record summary time { margin-top:4px; }
#companion .record-link { display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;width:100%;border-top:1px solid var(--line);border-radius:0;padding:12px 0;font-size:12px; }
#companion .choice-comparison { display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:14px 10px; }
#companion .choice-comparison small { display:block;color:var(--muted);font-size:10px;margin-bottom:4px; }
#companion .choice-comparison strong { font-weight:500;font-size:13px; }
#companion .record-note { font-size:11px; }
#companion .appearance-control { display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0 20px; }
#companion .appearance-control select { min-height:44px;padding:8px 12px; }
#companion .market-toolbar { display:none;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px; }
#companion .show-chart-tools .market-toolbar { display:flex; }
#companion .chart-style { display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px; }
#companion .market-toolbar button { min-height:36px;font-size:12px;padding:7px 12px; }
#companion .market-toolbar select { min-height:44px;padding:6px 10px;font-size:12px; }
#companion #chartSettingsToggle { margin-left:auto;color:var(--muted); }
#companion .mobile-chart-toggle { font-size:20px;min-width:44px; }
#companion #marketPrice { margin-left:auto; }
#companion #marketSettings { display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;background:var(--panel);padding:14px;border-radius:10px;margin-top:12px;font-size:12px; }
#companion #marketSettings label { display:flex;align-items:center;gap:7px;min-height:36px; }
#companion #marketSettings button { color:var(--muted);font-size:12px;margin-left:auto; }
#companion .market-ohlc { display:flex;gap:8px 18px;flex-wrap:wrap;color:var(--muted);font-size:11px;padding-top:16px;font-variant-numeric:tabular-nums; }
#companion .market-ohlc b { color:var(--ink);font-weight:400;margin-left:4px; }
#companion .partial-note { font-size:10px; }
#companion .chart-grid { stroke:var(--line);stroke-width:1;opacity:.6;fill:none; }
#companion .chart-axis { fill:var(--muted);font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#companion .market-candle.rising { color:var(--acid); }
#companion .market-candle.falling { color:var(--red); }
#companion .market-candle path { stroke:currentColor;stroke-width:1; }
#companion .market-candle rect { fill:currentColor;stroke:currentColor;stroke-width:1; }
#companion .market-candle.partial rect { fill:var(--bg);stroke-dasharray:2 2; }
#companion .volume-bar { opacity:.25;fill:var(--acid); }
#companion .volume-bar.falling { fill:var(--red); }
#companion .line-chart .moving-average { stroke:var(--blue);stroke-width:1.5; }
#companion .market-foot { display:none;border-top:1px solid var(--line);margin-top:24px;padding-top:12px; }
#companion .market-foot>button { font-size:12px;color:var(--muted); }
#companion .market-foot details { flex-basis:100%;border:0; }
#companion .market-foot summary { font-size:12px;min-height:40px; }
@media(max-width:999px) { #companion .market-teaching:not(.show-chart-tools) #marketSettings { display:none; } }
#companion .round-review,#companion .round-details,#companion .round-actions,#companion .desk-chart-toolbar,#companion .memory-strip,#companion .workspace-panel,#companion .brain-detail { background:var(--panel);color:var(--ink);border-color:var(--line); }
#companion [hidden] { display:none!important; }
@media(min-width:600px) { #companion { max-width:720px; }#companion .bottom-nav { width:min(100%,720px); }#companion .scene-wrap { height:250px; } }
@media(min-width:1000px) {
  #companion { position:relative;width:calc(100% - 48px);max-width:1440px;padding:0 32px 40px;margin:24px auto;min-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:18px; }
  #companion .companion-header { padding:22px 0;margin-bottom:32px;justify-content:flex-start;gap:16px;border-bottom:1px solid var(--line); }
  #companion .bottom-nav { position:static;transform:none;grid-template-columns:repeat(4,auto);width:auto;margin-left:auto;border:0;padding:0;background:transparent; }
  #companion .bottom-nav button { display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px; }
  #companion .bottom-nav [aria-current=page] { background:var(--hover); }
  #companion [data-page=home] { display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto 1fr;grid-template-areas:'recovery recovery' 'value sidebar' 'market sidebar';gap:0 36px;align-items:start; }
  #companion #recoverySlot { grid-area:recovery;padding:0; }
  #companion .overview { grid-area:value;padding:0 0 30px; }
  #companion .big-number { font-size:46px; }
  #companion .market-teaching { grid-area:market;margin:0;padding-top:0; }
  #companion .market-teaching h2 { font-size:20px; }
  #companion #marketPrice { font-size:20px; }
  #companion .market-toolbar { display:flex; }
  #companion .mobile-chart-toggle { display:none; }
  #companion #teachChart { height:300px;margin-top:20px; }
  #companion .chart-caption .small { font-size:12px; }
  #companion .market-foot { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px; }
  #companion .home-sidebar { grid-area:sidebar;border-left:1px solid var(--line);padding-left:28px; }
  #companion .fly-card { margin:0; }
  #companion .scene-wrap { height:250px; }
  #companion .fly-actions { padding:4px 0 12px; }
  #companion #flyTools { margin:0 0 20px; }
  #companion .home-body { padding:0; }
  #companion .home-body>section { padding:22px 0; }
  #companion .home-sidebar .asset-row { flex-wrap:wrap; }
  #companion .recent-link { flex-direction:column;gap:6px; }
  #companion time { font-size:11px; }
  #companion [data-page]:not([data-page=home]) { padding:10px 0 25px;max-width:1140px;margin:0 auto; }
  #companion [data-page=records] { max-width:900px; }
  #companion [data-page=more],#companion [data-page=account],#companion [data-page=holding] { max-width:760px; }
}
@media(min-width:1280px) { #companion { padding:0 40px 48px; }#companion [data-page=home] { grid-template-columns:minmax(0,1fr) 356px;gap:0 48px; }#companion .home-sidebar { padding-left:32px; }#companion #teachChart { height:340px; }#companion .scene-wrap { height:280px; } }
@media(max-width:359px) { #companion .home-body,#companion .overview { padding-left:16px;padding-right:16px; }#companion .big-number { font-size:34px; }#companion .fly-heading { font-size:11px; }#companion #flyDecision { font-size:10px; }#companion [data-page]:not([data-page=home]) { padding-left:16px;padding-right:16px; } }
@media(prefers-reduced-motion:reduce) { #companion * { scroll-behavior:auto;transition:none!important; } }

/* Account, room and training share the quiet trading palette. */
#companion #headerAccount { display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;padding:4px 8px; }
#companion .header-account-name { max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
#companion .user-avatar { display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--hover);color:var(--acid);font-size:22px; }
#companion .avatar-moon { background:#383d61;color:#e8dcaa; }#companion .avatar-spark { background:#734946;color:#ffe4b3; }#companion .avatar-wave { background:#254f67;color:#b3e9ed; }#companion .avatar-pixel { background:#533c65;color:#e7c6ee; }
#companion .account-login { display:block;border:0;padding:0;background:transparent; }
#companion .account-login form { display:grid;gap:18px;max-width:480px;margin:20px 0; }
#companion .account-login label { display:grid;gap:8px;color:var(--ink); }
#companion .account-login input { width:100%;min-height:44px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px; }
#companion .account-actions { display:flex;flex-wrap:wrap;gap:8px; }
#companion #registrationCheck { display:grid;gap:12px; }
#companion .avatar-picker { display:flex;flex-wrap:wrap;gap:14px;border:0;padding:0; }
#companion .avatar-picker legend { padding:0 0 12px; }
#companion .avatar-picker input { position:absolute;opacity:0;width:1px;min-height:0; }
#companion .avatar-picker .user-avatar { width:44px;height:44px;cursor:pointer; }
#companion .avatar-picker input:checked+span { outline:2px solid var(--acid);outline-offset:3px; }
#companion .avatar-picker input:focus-visible+span { outline:2px solid var(--ink);outline-offset:5px; }
#companion #chartPoint,#companion #chartPoint:focus-visible { position:static;width:auto;height:auto;clip-path:none;overflow:visible;border:1px solid var(--line);font-size:12px;padding:7px 12px;margin-top:14px;min-height:40px; }
#companion #chartPoint:disabled { opacity:.42; }
#companion .teaching-entry { margin:8px 0 12px; }
#companion .teaching-entry button { padding-left:0;font-size:12px;color:var(--acid); }
#companion .room-tabs { display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 12px 8px;margin-bottom:10px; }
#companion .room-tabs button { font-size:12px; }
#companion .room-tabs [aria-current=page] { background:var(--hover);color:var(--acid); }
#companion .shop-layout { display:grid;gap:28px;align-items:start; }
#companion #shopScene { border-radius:12px;overflow:hidden; }
#companion #shopScene .scene-wrap { height:280px; }
#companion .shop-cash { font-size:26px;font-variant-numeric:tabular-nums; }
#companion .shop-filters { display:flex;gap:4px; }
#companion .shop-filters button { font-size:12px;padding:8px; }
#companion .shop-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
#companion .shop-item { display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px; }
#companion .item-illustration { height:90px;display:grid;place-items:center;border-radius:8px;background:var(--panel);color:var(--acid);font-size:42px; }
#companion .item-illustration svg { width:64px;height:64px; }
#companion .shop-category { display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-size:12px; }
#companion .shop-category select { padding:8px 12px;min-height:44px; }
#companion .item-background-mint { background:#244e43;color:#cee9da; }#companion .item-background-rose { background:#60434b;color:#f3d1d5; }#companion .item-background-graphite { background:#303b4a;color:#cedde6; }
#companion .item-sticker-star,#companion .item-sticker-bitcoin,#companion .item-sticker-moon { color:#927636; }
#companion .item-actions { display:grid;gap:6px;margin-top:auto; }
#companion .item-actions button { font-size:12px; }
#companion .shop-confirmation { border:1px solid var(--acid);border-radius:12px;padding:16px;background:var(--panel);margin-top:20px; }
#companion .shop-history-row { display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px; }
#companion .shop-history-row small { display:block;color:var(--muted); }
#companion .shop-history-row b { font-weight:500;white-space:nowrap; }
#companion .training-intro { max-width:720px;margin-bottom:28px; }
#companion .training-layout { display:grid;gap:28px;align-items:start; }
#companion #trainingChart { height:300px;margin:18px 0 10px; }
#companion .training-choice { background:var(--panel);border-radius:12px;padding:20px; }
#companion .training-choice h2 { margin-top:0; }
#companion #trainingIndicators { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px; }
#companion #trainingIndicators>div { display:block;border:0;padding:0;font-size:12px; }
#companion #trainingIndicators dd { margin:4px 0 0;font-size:15px; }
#companion #trainingHoldings { font-size:12px; }
#companion #saveTraining { margin-top:18px; }
#companion #trainingChart .moving-average { stroke:var(--blue); }
#companion #practiceSlot #wardrobeToggle,#companion #practiceSlot #wardrobePanel,#companion #practiceSlot #profilePoints { display:none; }
@media(min-width:1000px) { #companion .room-tabs { padding-left:0;padding-right:0; }#companion .shop-layout { grid-template-columns:minmax(260px,.9fr) minmax(0,1.7fr);gap:36px; }#companion .shop-layout>aside { position:sticky;top:24px; }#companion .shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }#companion .training-layout { grid-template-columns:minmax(0,1fr) 310px;gap:40px; } }
@media(max-width:599px) { #companion .paper-badge { display:none; }#companion .companion-header { gap:8px; }#companion .language-icon { display:none; }#companion .language-control select { max-width:96px; }#companion .header-account-name { max-width:48px; }#companion .shop-grid { gap:10px; } }

/* A larger catalog stays browsable without making the first screen longer. */
#companion .shop-discovery {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:22px;}
#companion .shop-discovery label {display:grid;gap:7px;min-width:0;font-size:12px;}
#companion .shop-discovery input,#companion .shop-discovery select {width:100%;min-width:0;min-height:44px;padding:8px 10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;}
#companion .shop-description {margin:0;line-height:1.5;}
#companion .shop-theme {color:var(--acid);}
#companion .shop-item h3 {font-size:15px;line-height:1.4;overflow-wrap:anywhere;}
#companion .shop-item .item-actions button {white-space:normal;overflow-wrap:anywhere;min-width:0;}
#companion .shop-more {display:block;margin:24px auto;}
#companion .shop-more[hidden] {display:none;}
@media(max-width:599px){#companion .shop-discovery {grid-template-columns:repeat(2,minmax(0,1fr));}#companion .shop-search {grid-column:1/-1;}#companion .shop-item {padding:10px;min-width:0;}#companion .shop-item .small {font-size:11px;}#companion .shop-history-row {flex-wrap:wrap;}}
