/* Shared color and font tokens are declared in theme.css. */
    * { box-sizing:border-box; }
    html,body { width:100%; height:100%; }
    body { margin:0; overflow:hidden; background:var(--bg); color:var(--text);
      font:12px/1.2 Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
    main { width:100%; max-width:1800px; height:100vh; margin:auto; padding:12px 13px 13px; display:flex; flex-direction:column; gap:8px; }
    header { flex:none; min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--line); }
    .brand { display:flex; align-items:baseline; gap:14px; min-width:max-content; white-space:nowrap; }
    h1 { margin:0; font-size:26px; line-height:1; font-weight:700; letter-spacing:-.055em; text-shadow:0 0 18px color-mix(in srgb,var(--highlight) 14.1%,transparent); }
    .eyebrow { color:var(--accent-ink); font-family:var(--font-mono); letter-spacing:.16em; font-size:10px; }
    .header-side { display:flex; align-items:center; justify-content:flex-end; gap:19px; min-width:0; }
    .health { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; white-space:nowrap; }
    .dot { width:8px; height:8px; border-radius:50%; background:var(--warning); box-shadow:0 0 13px var(--warning); }
    .dot.ok { background:var(--down); box-shadow:0 0 13px var(--down); }
    .workspace { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) clamp(236px,22vw,280px); gap:8px; }
    .panel { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px;
      background:var(--panel); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 4.31%,transparent),0 16px 48px color-mix(in srgb,var(--shadow-color) 40%,transparent); }
    .panel-heading { flex:none; height:36px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; gap:14px;
      border-bottom:1px solid var(--line); background:var(--raised); }
    .panel-heading strong { font-size:13px; font-weight:700; letter-spacing:.02em; }
    .panel-note { min-width:0; overflow:hidden; text-overflow:ellipsis; color:var(--muted); font-size:10px; white-space:nowrap; }
    .market-filter-bar { flex:none; min-height:40px; padding:5px 10px; display:flex; align-items:center; gap:10px;
      border-bottom:1px solid var(--line); background:var(--panel); }
    .watch-tray { flex:none; min-height:42px; padding:6px 10px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); background:var(--raised); }
    .watch-tray.is-collapsed .watch-tray-label,.watch-tray.is-collapsed .watch-chips,.watch-tray.is-collapsed .watch-focus { display:none; }
    .watch-tray-label { flex:none; color:var(--muted); font-size:10px; white-space:nowrap; }
    .watch-chips { min-width:0; flex:1; display:flex; align-items:center; gap:5px; overflow:auto; scrollbar-width:none; }
    .watch-chips::-webkit-scrollbar { display:none; }
    .watch-chip { flex:none; min-height:28px; display:inline-flex; align-items:center; border:1px solid var(--line-strong); border-radius:5px; background:var(--hover); overflow:hidden; }
    .watch-chip:hover,.watch-chip:focus-within { border-color:color-mix(in srgb,var(--accent) 42%,transparent); }
    .watch-chip-locate,.watch-chip-remove { min-height:26px; border:0; background:transparent; cursor:pointer; }
    .watch-chip-locate { padding:0 5px 0 9px; color:var(--text); font:700 10px/1 inherit; }
    .watch-chip-locate:hover,.watch-chip-locate:focus-visible { color:var(--accent-ink); outline:none; }
    .watch-chip-remove { width:25px; padding:0; color:var(--muted); font-family:var(--font-data); font-size:13px; line-height:1; }
    .watch-chip-remove:hover,.watch-chip-remove:focus-visible { color:var(--up); background:color-mix(in srgb,var(--up) 8%,transparent); outline:none; }
    .watch-focus,.watch-toggle { flex:none; min-height:28px; padding:0 9px; border:1px solid var(--line); border-radius:5px; background:var(--raised); color:var(--muted); font:700 9px/1 inherit; cursor:pointer; white-space:nowrap; }
    .watch-focus[aria-pressed="true"],.watch-toggle { border-color:color-mix(in srgb,var(--accent) 42%,transparent); color:var(--accent-text); background:var(--accent); }
    .watch-toggle { display:inline-flex; align-items:center; gap:5px; }
    .watch-toggle .material-symbols-outlined { font-size:15px; font-variation-settings:'FILL' 1; }
    .watch-empty { color:var(--muted); font-size:9px; }
    .classification-modes { flex:none; padding:2px; display:flex; align-items:center; gap:2px; border:1px solid var(--line);
      border-radius:6px; background:var(--raised); }
    .classification-mode,.classification-option { appearance:none; min-height:27px; padding:0 10px; border:1px solid transparent;
      border-radius:4px; background:transparent; color:var(--muted); font:700 10px/1 inherit; white-space:nowrap; cursor:pointer; }
    .classification-options { min-width:0; display:flex; align-items:center; gap:4px; overflow:auto; scrollbar-width:none; }
    .classification-options::-webkit-scrollbar { display:none; }
    .classification-mode:hover,.classification-option:hover { color:var(--text); background:var(--hover); }
    .classification-mode[aria-selected="true"],.classification-option[aria-pressed="true"] { color:var(--accent-text); background:var(--accent); }
    .market-grid { flex:1; min-height:0; padding:9px 13px 11px; display:grid; align-content:start; gap:5px 6px;
      overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
    .market-grid:focus-visible { outline:1px solid var(--accent); outline-offset:-2px; }
    .instrument-row { min-width:0; height:var(--card-height,44px); padding:3px; display:grid; grid-template-rows:minmax(14px,1fr) var(--period-size,15px); gap:3px;
      border:1px solid var(--line); border-radius:5px; background:var(--neutral-bg); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 4.71%,transparent);
      transition:filter .16s ease,transform .16s ease; }
    .instrument-row:hover { filter:brightness(1.18); transform:translateX(1px); }
    .instrument-row.is-targeted { position:relative; z-index:2; outline:2px solid var(--accent); outline-offset:1px;
      box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 14.1%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 31.4%,transparent),0 0 18px color-mix(in srgb,var(--accent) 37.6%,transparent); animation:target-pulse 1.1s ease-in-out 2; }
    .instrument-top { position:relative; min-width:0; height:100%; }
    .instrument-signal { min-width:0; height:100%; display:grid; grid-template-columns:minmax(0,1fr) auto;
      grid-template-rows:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"name code" "price change"; align-items:center; column-gap:6px; row-gap:1px;
      padding:0 5px; border:0; background:transparent; cursor:help; font-variant-numeric:tabular-nums; }
    .watch-bookmark { position:absolute; z-index:1; top:1px; right:1px; width:20px; height:14px; min-height:0; padding:0; display:grid; place-items:center; border:0; border-radius:4px; background:transparent; color:var(--muted); cursor:pointer; }
    .watch-bookmark .material-symbols-outlined { font-size:14px; }
    .watch-bookmark:hover,.watch-bookmark:focus-visible { color:var(--accent-ink); background:color-mix(in srgb,var(--accent) 8%,transparent); outline:none; }
    .watch-bookmark.is-following { color:var(--accent-ink); }
    .watch-bookmark.is-following .material-symbols-outlined { font-variation-settings:'FILL' 1; }
    .watch-bookmark:disabled { opacity:.45; cursor:wait; }
    .instrument-signal:focus-visible { outline:1px solid var(--accent); outline-offset:1px; border-radius:3px; }
    .instrument-row.signal-long { color:var(--text); border-color:var(--up-border); }
    .instrument-row.signal-short { color:var(--text); border-color:var(--down-border); }
    .instrument-row.signal-long.strength-1 { background:var(--signal-long-1); }
    .instrument-row.signal-long.strength-2 { background:var(--signal-long-2); }
    .instrument-row.signal-long.strength-3 { background:var(--signal-long-3); }
    .instrument-row.signal-long.strength-4 { background:var(--signal-long-4); border-color:var(--up-border); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 11%,transparent),0 0 12px color-mix(in srgb,var(--up) 6.27%,transparent); }
    .instrument-row.signal-short.strength-1 { background:var(--signal-short-1); }
    .instrument-row.signal-short.strength-2 { background:var(--signal-short-2); }
    .instrument-row.signal-short.strength-3 { background:var(--signal-short-3); }
    .instrument-row.signal-short.strength-4 { background:var(--signal-short-4); border-color:var(--down-border); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 11%,transparent),0 0 12px color-mix(in srgb,var(--down) 5.49%,transparent); }
    .product-name { grid-area:name; min-width:0; overflow:hidden; text-overflow:ellipsis; color:inherit; font-size:12px; font-weight:700; letter-spacing:.015em; white-space:nowrap; }
    .product-code { grid-area:code; min-width:0; padding-right:23px; overflow:hidden; color:var(--muted); font:600 8px/1 var(--font-data); letter-spacing:.02em; text-overflow:ellipsis; white-space:nowrap; }
    .product-price { grid-area:price; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; color:var(--muted);
      font:600 9.5px/1 var(--font-mono); font-variant-numeric:tabular-nums; }
    .product-change { grid-area:change; padding:2px 4px; border-radius:3px; white-space:nowrap; color:var(--muted); background:var(--panel);
      font:700 9px/1 var(--font-mono); font-variant-numeric:tabular-nums; }
    .product-change.up { color:var(--up); background:var(--up-soft); }
    .product-change.down { color:var(--down); background:var(--down-soft); }
    .product-change.flat { color:var(--muted); background:var(--panel); }
    .timeframe-strip { min-width:0; height:var(--period-size,15px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); justify-content:stretch; gap:0;
      overflow:hidden; border-radius:4px; }
    .tf-cell { --preview-color:var(--line-strong); --preview-glow:transparent; position:relative; min-width:0; height:100%;
      display:flex; align-items:center; justify-content:center; padding:1px 4px; border:1px solid transparent; border-radius:0;
      background:var(--neutral-bg); cursor:help; font-variant-numeric:tabular-nums; box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 3.14%,transparent);
      transition:filter .14s ease; }
    .tf-cell:hover { z-index:1; filter:brightness(1.45) saturate(1.18); }
    .tf-cell.current-long { background:var(--period-long-bg); color:var(--period-long); }
    .tf-cell.current-short { background:var(--period-short-bg); color:var(--period-short); }
    .tf-cell.preview-long { --preview-color:var(--up); --preview-glow:color-mix(in srgb,var(--up) 33.3%,transparent); }
    .tf-cell.preview-short { --preview-color:var(--down); --preview-glow:color-mix(in srgb,var(--down) 31.4%,transparent); }
    .tf-cell.has-preview.preview-conflict { animation:preview-conflict-flash .36s steps(1,end) infinite; }
    .tf-cell:focus-visible { outline:1px solid var(--accent); outline-offset:1px; }
    @keyframes preview-conflict-flash { 0%,44% { border-color:var(--preview-color); box-shadow:inset 0 0 0 2px var(--preview-color),inset 0 0 10px var(--preview-glow),0 0 13px var(--preview-glow); filter:brightness(1.75) saturate(1.4); } 45%,100% { border-color:transparent; box-shadow:none; filter:brightness(.72) saturate(.9); } }
    .tf-tooltip { position:fixed; z-index:100; display:none; pointer-events:none; min-width:230px; padding:10px 11px; border:1px solid var(--line-strong);
      border-radius:7px; background:var(--panel); box-shadow:0 18px 48px color-mix(in srgb,var(--shadow-color) 86.7%,transparent),0 0 0 1px var(--shadow-color); color:var(--text); }
    .tf-tooltip.visible { display:block; }
    .tf-tooltip-title { margin-bottom:7px; color:var(--muted); font-size:10px; }
    .tf-tooltip-grid { display:grid; grid-template-columns:auto auto; gap:3px 14px; justify-content:space-between; font-variant-numeric:tabular-nums; }
    .tf-tooltip-grid span { color:var(--muted); }
    .tf-tooltip-grid b { text-align:right; font-weight:600; }
    .tf-tooltip-grid .tf-status { justify-self:end; padding:1px 5px; border:1px solid var(--line); border-radius:3px; background:var(--raised); color:var(--muted); }
    .tf-tooltip-grid .tf-status-long { color:var(--up); border-color:var(--up-border); background:var(--up-soft); }
    .tf-tooltip-grid .tf-status-short { color:var(--down); border-color:var(--down-border); background:var(--down-soft); }
    .tf-tooltip-section,.tf-tooltip-since { margin-top:7px; padding-top:7px; border-top:1px solid var(--line); }
    .tf-tooltip-section strong { display:block; margin-bottom:5px; color:var(--warning); font-size:10px; }
    .tf-tooltip-note { margin-bottom:6px; color:var(--muted); font-size:10px; line-height:1.45; }
    .tf-tooltip-since { color:var(--muted); font-size:10px; }
    .tf-tooltip.instrument-tooltip { width:min(360px,calc(100vw - 16px)); min-width:min(320px,calc(100vw - 16px)); }
    .instrument-history { margin-top:9px; padding-top:8px; border-top:1px solid var(--line); }
    .instrument-history-head { margin-bottom:6px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .instrument-history-head strong { color:var(--text); font-size:10px; font-weight:700; }
    .instrument-history-head span { color:var(--muted); font-size:8px; }
    .instrument-history-list { display:grid; gap:4px; }
    .instrument-history-item { --history-color:var(--muted); min-width:0; padding:6px; display:grid; gap:5px;
      border-left:2px solid var(--history-color);
      border-radius:3px; background:var(--raised); font-variant-numeric:tabular-nums; }
    .instrument-history-item.to-long { --history-color:var(--long); background:color-mix(in srgb,var(--up) 7.5%,transparent); }
    .instrument-history-item.to-short { --history-color:var(--short); background:color-mix(in srgb,var(--down) 6.5%,transparent); }
    .instrument-history-summary { min-width:0; display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:7px; }
    .instrument-history-time { color:var(--muted); font:600 8px/1 var(--font-data); white-space:nowrap; }
    .instrument-history-change { min-width:0; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
    .instrument-history-change b { color:var(--history-color); font-weight:700; }
    .instrument-history-price { color:var(--text); font:700 8px/1 var(--font-data); white-space:nowrap; }
    .instrument-history-detail { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; }
    .instrument-history-trigger { color:var(--muted); font-size:8px; white-space:nowrap; }
    .instrument-history-timeframes { min-width:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; }
    .instrument-history-timeframes .event-tf { height:15px; }
    .instrument-history-empty { min-height:32px; display:grid; place-items:center; color:var(--muted); font-size:9px; }
    .event-panel { min-width:0; min-height:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px;
      background:var(--panel); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 3.14%,transparent),0 16px 48px color-mix(in srgb,var(--shadow-color) 33.3%,transparent); }
    .event-heading { flex:none; height:36px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; gap:8px;
      border-bottom:1px solid var(--line); background:var(--raised); }
    .event-heading strong { font-size:13px; font-weight:700; letter-spacing:.02em; }
    .event-count { color:var(--muted); font:10px/1 var(--font-mono); }
    .event-stream { flex:1; min-height:0; overflow:auto; padding:7px; display:flex; flex-direction:column; gap:5px; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
    .event-card { --event-color:var(--muted); appearance:none; width:100%; flex:none; min-width:0; padding:7px 8px 7px 9px; border:1px solid var(--line); border-left:2px solid var(--event-color);
      border-radius:4px; background:var(--raised); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 2.75%,transparent); color:inherit; font:inherit; text-align:left; cursor:pointer;
      transition:border-color .16s ease,filter .16s ease,box-shadow .16s ease,transform .16s ease; }
    .event-card.to-long { --event-color:var(--long); background:var(--up-soft); }
    .event-card.to-short { --event-color:var(--short); background:var(--down-soft); }
    .event-card:hover { filter:brightness(1.18); transform:translateX(-1px); }
    .event-card:focus-visible { outline:1px solid var(--accent); outline-offset:1px; }
    .event-card.is-active { border-color:var(--event-color); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 7.06%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 15.7%,transparent),0 0 14px color-mix(in srgb,var(--accent) 9.41%,transparent); }
    .event-top { display:flex; align-items:center; justify-content:space-between; gap:7px; }
    .event-product { min-width:0; overflow:hidden; text-overflow:ellipsis; color:var(--text); font-size:11px; font-weight:700; letter-spacing:.025em; white-space:nowrap; }
    .event-time { flex:none; color:var(--muted); font:9px/1 var(--font-mono); }
    .event-change { margin-top:5px; display:flex; align-items:center; gap:5px; min-width:0; font-size:11px; }
    .event-from { color:var(--muted); }
    .event-arrow { color:var(--muted); }
    .event-to { color:var(--event-color); font-weight:700; }
    .event-meta { margin-top:4px; display:flex; align-items:center; justify-content:space-between; gap:6px; color:var(--muted); font-size:9px; }
    .event-trigger { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .event-market { margin-top:5px; display:flex; align-items:center; justify-content:space-between; gap:8px;
      color:var(--muted); font:9px/1 var(--font-mono); font-variant-numeric:tabular-nums; }
    .event-market-change { font-weight:700; }
    .event-market-change.up { color:var(--long); }
    .event-market-change.down { color:var(--short); }
    .event-market-empty { color:var(--muted); }
    .event-timeframes { margin-top:5px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; }
    .event-tf { height:16px; display:flex; align-items:center; justify-content:center; gap:2px; border-radius:2px;
      background:var(--hover); color:var(--muted); font-variant-numeric:tabular-nums; }
    .event-tf.long { background:var(--period-long-bg); color:var(--up); }
    .event-tf.short { background:var(--period-short-bg); color:var(--down); }
    .event-tf small { font:7px/1 var(--font-mono); opacity:1; }
    .event-tf b { font-size:8px; line-height:1; }
    .event-source { flex:none; padding:1px 4px; border:1px solid var(--warning-border); border-radius:3px; color:var(--warning); font-size:8px; letter-spacing:.08em; }
    .event-empty { margin:auto; padding:20px 12px; color:var(--muted); text-align:center; font-size:10px; line-height:1.6; }
    .market-empty { grid-column:1/-1; min-height:120px; display:grid; place-items:center; color:var(--muted); text-align:center; font-size:10px; line-height:1.7; }
    .toast { position:fixed; z-index:300; left:50%; bottom:42px; max-width:min(420px,calc(100vw - 24px)); padding:9px 12px; border:1px solid var(--line-strong); border-radius:6px; background:var(--hover); color:var(--text); box-shadow:0 16px 44px color-mix(in srgb,var(--shadow-color) 66.7%,transparent); transform:translateX(-50%); font-size:10px; }
    .toast.is-error { border-color:color-mix(in srgb,var(--up) 48%,transparent); color:var(--up); }
    .disclaimer { flex:none; min-height:28px; padding:5px 14px; display:flex; align-items:center; justify-content:center;
      border-top:1px solid var(--line); color:var(--muted); background:var(--bg); font-size:9px; line-height:1.45; text-align:center; }
    .disclaimer strong { margin-right:5px; color:var(--muted); font-weight:700; }
    
    @keyframes target-pulse { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.45); } }
    @media(prefers-reduced-motion:reduce){.tf-cell.has-preview.preview-conflict,.instrument-row.is-targeted{animation:none}.tf-cell.has-preview.preview-conflict{border-color:var(--preview-color);border-style:dashed}.instrument-row,.event-card{transition:none}}
    @media(max-width:820px){.panel-note{display:none}}
    @media(max-width:700px){html,body{height:auto;min-height:100%}body{overflow:auto}main{height:auto;min-height:100vh;padding:8px;gap:6px}header{position:sticky;z-index:20;top:0;min-height:40px;padding:0 2px;background:var(--bg);backdrop-filter:blur(10px)}h1{font-size:22px}.eyebrow{display:none}.header-side{gap:5px}.health{gap:6px;font-size:10px}.dot{width:7px;height:7px}.workspace{flex:none;display:flex;flex-direction:column;gap:6px}.panel{flex:none;min-height:0;overflow:visible}.panel-heading{height:32px;padding:0 10px}.market-filter-bar{min-height:72px;padding:6px;align-items:stretch;flex-direction:column;gap:5px}.classification-modes{align-self:flex-start}.market-grid{flex:none;gap:5px 6px;padding:6px;overflow:visible}.instrument-row{height:var(--card-height,42px)}.instrument-signal{padding:1px 5px 1px 6px;gap:3px}.product-name{font-size:11px}.product-price{font-size:8px}.product-change{font-size:8px}.tf-cell{padding:0;border-radius:0}.event-panel{flex:none;height:320px;min-height:320px}.event-card{padding:7px}}

    /* Unified HiTick terminal skin */
    /* Shared color and font tokens are declared in theme.css. */
    html { background-color:var(--bg); }
    body { background-color:var(--bg); background-image:none;
      background-repeat:no-repeat,repeat; background-position:top center,0 0; background-size:min(1600px,100vw) 420px,64px 64px;
      font-family:var(--font-ui); color:var(--text); text-rendering:auto; }
    main { max-width:none; padding:0; gap:0; background-color:var(--bg); }
    header { position:relative; z-index:200; min-height:58px; flex:0 0 58px; padding:0 18px; border:0; border-bottom:1px solid var(--line);
      background-color:var(--panel); box-shadow:0 12px 36px color-mix(in srgb,var(--shadow-color) 22%,transparent); backdrop-filter:blur(18px); }
    .brand { align-items:center; gap:14px; }
    .brand-lockup { display:inline-flex; align-items:center; gap:9px; min-width:max-content; }
    
    .brand-word:hover { color:var(--accent-ink); }
    .brand-word:focus-visible { border-radius:2px; outline:1px solid var(--accent); outline-offset:4px; }
    .brand-cross { display:inline-grid; width:18px; height:18px; place-items:center; }
    .brand-cross img { display:block; width:18px; height:18px; }
    .brand-partner { color:var(--text); font:700 14px/1 var(--font-ui); letter-spacing:.08em;
      text-shadow:0 0 14px color-mix(in srgb,var(--accent) 8%,transparent); }
    .brand-copy { display:grid; gap:3px; padding-left:14px; border-left:1px solid var(--line-strong); }
    .brand-kicker { color:var(--muted); font:700 9px/1 var(--font-data); letter-spacing:.18em; }
    h1 { color:var(--text); font-size:16px; line-height:1.1; font-weight:600; letter-spacing:.03em; text-shadow:none; }
    .eyebrow { display:none; }
    .header-side { gap:8px; }
    .credit { position:relative; flex:none; }
    .credit-entry { min-height:31px; padding:0 10px; display:inline-flex; align-items:center; border:1px solid var(--line);
      border-radius:5px; background:var(--raised); color:var(--muted); font:600 10px/1 var(--font-ui); white-space:nowrap; cursor:pointer; }
    .credit-entry:hover,.credit-entry[aria-expanded="true"] { border-color:color-mix(in srgb,var(--warning) 44%,transparent); color:var(--warning); background:var(--raised); }
    .credit-popover[hidden] { display:none; }
    .credit-popover { position:absolute; z-index:230; top:calc(100% + 7px); right:0; width:min(318px,calc(100vw - 16px)); padding:13px;
      border:1px solid var(--line-strong); border-radius:8px; background:var(--panel);
      box-shadow:0 18px 52px color-mix(in srgb,var(--shadow-color) 52%,transparent); backdrop-filter:blur(24px); }
    .credit-kicker { color:var(--context); font:700 8px/1 var(--font-data); letter-spacing:.14em; }
    .credit-copy { margin:9px 0 11px; padding-left:10px; border-left:2px solid color-mix(in srgb,var(--accent) 58%,transparent); color:var(--muted); font-size:11px; line-height:1.65; }
    .credit-copy strong { color:var(--text); font-weight:700; }
    .credit-copy b { color:var(--accent-ink); font-weight:700; }
    .credit-platforms { padding-top:10px; display:grid; gap:7px; border-top:1px solid var(--line); }
    .credit-platforms-label { color:var(--muted); font:600 8px/1 var(--font-data); letter-spacing:.08em; }
    .credit-platform-link { min-height:31px; padding:0 10px; display:flex; align-items:center; justify-content:space-between; gap:12px;
      border:1px solid var(--line); border-radius:5px; background:var(--raised); color:var(--text); font-size:10px; font-weight:700; text-decoration:none; }
    .credit-platform-link span { color:var(--muted); font:600 8px/1 var(--font-data); }
    .credit-platform-link:hover,.credit-platform-link:focus-visible { border-color:color-mix(in srgb,var(--accent) 42%,transparent); background:var(--hover); color:var(--accent-ink); outline:none; }
    .health { min-height:31px; padding:0 9px; gap:7px; border:1px solid var(--line); border-radius:5px;
      background-color:var(--raised); color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.02em; }
    .health { color:var(--text); font-family:var(--font-data); font-size:10px; font-weight:600; }
    .feishu-entry { min-height:31px; padding:0 10px; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line);
      border-radius:5px; background:var(--raised); color:var(--muted); font:600 10px/1 var(--font-ui); white-space:nowrap; cursor:pointer; }
    .feishu-entry:hover { border-color:var(--line-strong); color:var(--text); background:var(--raised); }
    .feishu-entry-dot { width:6px; height:6px; border-radius:50%; background:var(--muted); box-shadow:0 0 8px transparent; }
    .feishu-entry.is-bound .feishu-entry-dot { background:var(--context); box-shadow:0 0 8px color-mix(in srgb,var(--warning) 48%,transparent); }
    .feishu-entry.is-subscribed { color:var(--down); border-color:color-mix(in srgb,var(--down) 28%,transparent); }
    .feishu-entry.is-subscribed .feishu-entry-dot { background:var(--short); box-shadow:0 0 9px color-mix(in srgb,var(--down) 55%,transparent); }
    .feishu-modal[hidden] { display:none; }
    .feishu-modal { position:fixed; z-index:240; width:min(372px,calc(100vw - 16px)); max-height:calc(100vh - 74px); overflow:auto;
      border:1px solid var(--line-strong); border-radius:8px; background:var(--panel);
      box-shadow:0 18px 52px color-mix(in srgb,var(--shadow-color) 52%,transparent); backdrop-filter:blur(24px); }
    .feishu-dialog { width:100%; }
    .feishu-dialog-head { min-height:47px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
    .feishu-dialog-head span { display:block; margin-bottom:3px; color:var(--context); font:700 8px/1 var(--font-data); letter-spacing:.1em; }
    .feishu-dialog-head h2 { margin:0; color:var(--text); font-size:12px; font-weight:700; }
    .feishu-dialog-body { padding:8px 10px 10px; }
    .feishu-loading,.feishu-error { min-height:92px; display:grid; place-items:center; color:var(--muted); text-align:center; line-height:1.6; }
    .feishu-error { gap:12px; align-content:center; color:var(--up); }
    .push-filter-section { padding-bottom:8px; border-bottom:1px solid var(--line); }
    .push-channel-section { padding-top:8px; }
    .push-section-heading { padding:2px 2px 8px; color:var(--context); font:700 8px/1 var(--font-data); letter-spacing:.12em; }
    .push-channel-list { margin-top:1px; display:grid; gap:7px; }
    .push-channel-item { overflow:hidden; border:1px solid var(--line); border-radius:7px; background:var(--raised); }
    .feishu-subscription-card { min-height:54px; padding:8px 10px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .feishu-subscription-card.is-disabled { opacity:.72; }
    .feishu-subscription-copy strong { display:block; margin-bottom:4px; color:var(--text); font-size:11px; font-weight:700; }
    .feishu-subscription-copy span { display:block; color:var(--muted); font-size:9px; line-height:1.45; }
    .push-binding-guide { padding:9px 10px 10px; border-top:1px solid var(--line); background:var(--raised); }
    .feishu-section-title { padding:0 0 6px; color:var(--context); font:700 8px/1 var(--font-data); letter-spacing:.1em; }
    .feishu-guide-intro { margin:0 0 9px; color:var(--muted); font-size:9px; line-height:1.55; }
    .feishu-guide-layout { display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px; align-items:start; }
    .feishu-qr { margin:0; padding:5px; border:1px solid var(--line); border-radius:6px; background:#fff; }
    .feishu-qr img { display:block; width:100%; height:auto; }
    .feishu-steps { display:grid; gap:8px; }
    .feishu-step { display:grid; grid-template-columns:18px minmax(0,1fr); gap:7px; color:var(--text); font-size:10px; line-height:1.4; }
    .feishu-step-index { width:18px; height:18px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:50%; color:var(--accent-ink); font:700 8px/1 var(--font-data); }
    .feishu-step strong { display:block; margin-bottom:2px; color:var(--text); font-size:10px; }
    .feishu-step small { display:block; color:var(--muted); font-size:8px; }
    .feishu-command { margin-top:6px; display:grid; gap:5px; }
    .feishu-command code { min-width:0; overflow:hidden; padding:6px 7px; border:1px solid var(--line); border-radius:5px; background:var(--bg);
      color:var(--muted); font:8px/1 var(--font-data); text-overflow:ellipsis; white-space:nowrap; }
    .feishu-button { min-height:28px; padding:0 9px; border:1px solid color-mix(in srgb,var(--accent) 45%,transparent); border-radius:5px; background:var(--accent);
      color:var(--accent-text); font:700 9px/1 var(--font-ui); cursor:pointer; }
    .feishu-button:disabled { opacity:.45; cursor:not-allowed; }
    .feishu-binding-help { display:block; margin-top:9px; color:var(--accent-ink); font-size:10px; line-height:1.5; text-align:center; text-decoration:underline; text-underline-offset:3px; }
    .feishu-binding-help:hover { color:var(--text); }
    .feishu-binding-help:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
    .feishu-polling { margin-top:9px; padding-top:8px; border-top:1px solid var(--line); color:var(--muted); font:8px/1.5 var(--font-data); text-align:center; }
    .display-binding-guide { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .display-binding-copy strong { display:block; margin-bottom:3px; color:var(--text); font-size:10px; font-weight:700; }
    .display-binding-copy span { display:block; color:var(--muted); font-size:9px; line-height:1.45; }
    .display-binding-link,.display-binding-retry { flex:none; min-height:28px; padding:0 10px; display:inline-flex; align-items:center; border:1px solid color-mix(in srgb,var(--accent) 36%,transparent); border-radius:5px;
      background:color-mix(in srgb,var(--accent) 8%,transparent); color:var(--accent-ink); font:700 9px/1 var(--font-ui); text-decoration:none; cursor:pointer; }
    .display-binding-link:hover,.display-binding-link:focus-visible,.display-binding-retry:hover,.display-binding-retry:focus-visible { border-color:color-mix(in srgb,var(--accent) 64%,transparent); background:color-mix(in srgb,var(--accent) 14%,transparent); outline:none; }
    .feishu-scope { padding:0 2px 8px; display:grid; gap:6px; }
    .feishu-scope-label { color:var(--muted); font-size:9px; }
    .feishu-scope-options { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
    .feishu-scope-option { min-height:31px; padding:0 8px; border:1px solid var(--line); border-radius:5px; background:var(--raised); color:var(--muted); font:700 9px/1 inherit; cursor:pointer; }
    .feishu-scope-option[aria-pressed="true"] { border-color:color-mix(in srgb,var(--accent) 42%,transparent); color:var(--accent-ink); background:var(--soft); }
    .feishu-scope-option:disabled { opacity:.45; cursor:not-allowed; }
    .feishu-strength { padding:0 2px; display:grid; gap:6px; }
    .feishu-strength-label { color:var(--muted); font-size:9px; }
    .feishu-strength-options { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
    .feishu-strength-option { min-height:31px; padding:0 8px; border:1px solid var(--line); border-radius:5px; background:var(--raised); color:var(--muted); font:700 9px/1 inherit; cursor:pointer; }
    .feishu-strength-option[aria-pressed="true"] { border-color:color-mix(in srgb,var(--accent) 42%,transparent); color:var(--accent-ink); background:var(--soft); }
    .feishu-strength-option:disabled { opacity:.45; cursor:not-allowed; }
    .feishu-switch { position:relative; flex:none; width:42px; height:24px; padding:0; border:1px solid var(--line-strong); border-radius:14px; background:var(--raised); cursor:pointer; }
    .feishu-switch::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:var(--muted); transition:transform .18s ease,background .18s ease; }
    .feishu-switch.on { border-color:color-mix(in srgb,var(--down) 48%,transparent); background:color-mix(in srgb,var(--down) 20%,transparent); }
    .feishu-switch.on::after { transform:translateX(18px); background:var(--short); }
    .feishu-switch:disabled { cursor:not-allowed; }
    .dot { width:7px; height:7px; background:var(--warning); box-shadow:0 0 10px color-mix(in srgb,var(--warning) 55%,transparent); }
    .dot.ok { background:var(--down); box-shadow:0 0 10px color-mix(in srgb,var(--down) 58%,transparent); }
    .workspace { padding:10px; grid-template-columns:minmax(0,1fr) clamp(246px,22vw,286px); gap:10px; }
    .panel,.event-panel { border-color:var(--line); border-radius:9px; background:var(--panel);
      box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 2.5%,transparent),0 18px 48px color-mix(in srgb,var(--shadow-color) 26%,transparent); }
    .panel-heading,.event-heading { height:48px; padding:0 13px; border-color:var(--line); background:var(--panel); }
    .panel-title { display:grid; gap:3px; }
    .panel-kicker { color:var(--context); font:700 8px/1 var(--font-data); letter-spacing:.17em; }
    .panel-heading strong,.event-heading strong { color:var(--text); font-size:12px; font-weight:700; letter-spacing:.02em; }
    .panel-note { color:var(--muted); font-size:9px; }
    .panel-note b { color:var(--muted); font-family:var(--font-data); }
    .market-filter-bar { min-height:42px; padding:6px 10px; gap:8px; border-color:var(--line); background:var(--panel); }
    .market-search { position:relative; flex:0 0 180px; min-width:0; max-width:100%; margin-left:auto; }
    .market-search svg { position:absolute; left:8px; top:8px; color:var(--muted); pointer-events:none; }
    .market-search input { width:100%; min-width:0; height:32px; padding:0 10px 0 29px; border:1px solid var(--line); border-radius:5px; background:var(--raised); color:var(--text); font:11px var(--font-ui); }
    .market-search input::placeholder { color:var(--muted); }
    .market-search input:focus-visible { outline:1px solid var(--accent); outline-offset:2px; }
    @media(max-width:700px){.market-search{flex:none;width:100%}.market-search input{font-size:16px}}
    .classification-modes { border-color:var(--line); border-radius:6px; background:var(--raised); }
    .classification-mode,.classification-option { min-height:27px; padding:0 10px; border-radius:4px; color:var(--muted);
      font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.02em; transition:color .14s ease,background-color .14s ease,border-color .14s ease; }
    .classification-mode:hover,.classification-option:hover { color:var(--text); background:var(--hover); }
    .classification-mode:focus-visible,.classification-option:focus-visible { outline:1px solid var(--accent); outline-offset:2px; }
    .classification-mode[aria-selected="true"] { color:var(--text); border-color:color-mix(in srgb,var(--accent) 28%,transparent); background:var(--soft); }
    .classification-option[aria-pressed="true"] { color:var(--accent-text); border-color:var(--accent); background:var(--accent);
      box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent),0 0 13px color-mix(in srgb,var(--accent) 12%,transparent); }
    .event-count { color:var(--muted); font:600 9px/1 var(--font-data); }
    .market-grid { padding:10px; gap:5px 6px; }
    .instrument-row { padding:3px; border-color:var(--line); border-radius:5px; background:var(--neutral-bg);
      box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 2.5%,transparent); transition:border-color .14s ease,background-color .14s ease,filter .14s ease; }
    .instrument-row:hover { transform:none; filter:brightness(1.13); border-color:var(--line-strong); }
    .instrument-row.signal-long { color:var(--text); border-color:color-mix(in srgb,var(--up) 20%,transparent); }
    .instrument-row.signal-short { color:var(--text); border-color:color-mix(in srgb,var(--down) 18%,transparent); }
    .instrument-row.signal-long.strength-4 { border-color:color-mix(in srgb,var(--up) 42%,transparent); box-shadow:inset 2px 0 0 var(--long),inset 0 1px 0 color-mix(in srgb,var(--highlight) 6%,transparent); }
    .instrument-row.signal-short.strength-4 { border-color:color-mix(in srgb,var(--down) 38%,transparent); box-shadow:inset 2px 0 0 var(--short),inset 0 1px 0 color-mix(in srgb,var(--highlight) 6%,transparent); }
    .instrument-row.is-targeted { outline:2px solid var(--accent); outline-offset:1px;
      box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),0 0 20px color-mix(in srgb,var(--accent) 25%,transparent); }
    .instrument-signal { padding:0 3px 0 5px; column-gap:5px; row-gap:1px; grid-template-columns:minmax(0,1fr) auto;
      grid-template-rows:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"name code" "price change"; }
    .product-name { font-family:var(--font-ui); font-size:10.5px; font-weight:700; letter-spacing:.01em; }
    .product-price { color:var(--text); font:600 9px/1 var(--font-data); }
    .product-change { padding:2px 4px; border:1px solid transparent; border-radius:3px; font:700 8px/1 var(--font-data); }
    .product-change.up { color:var(--up); border-color:color-mix(in srgb,var(--up) 20%,transparent); background:color-mix(in srgb,var(--up) 9%,transparent); }
    .product-change.down { color:var(--down); border-color:color-mix(in srgb,var(--down) 18%,transparent); background:color-mix(in srgb,var(--down) 7.5%,transparent); }
    .product-change.flat { color:var(--muted); background:var(--hover); }
    .timeframe-strip { border-radius:3px; }
    .tf-cell { background:var(--hover); box-shadow:none; }
    .tf-cell.current-long { background:var(--period-long-bg); color:var(--period-long); }
    .tf-cell.current-short { background:var(--period-short-bg); color:var(--period-short); }
    .tf-cell:hover { filter:brightness(1.32) saturate(1.08); }
    .tf-cell.preview-long { --preview-color:var(--up); --preview-glow:color-mix(in srgb,var(--up) 52%,transparent); }
    .tf-cell.preview-short { --preview-color:var(--down); --preview-glow:color-mix(in srgb,var(--down) 48%,transparent); }
    .tf-tooltip { min-width:242px; padding:11px 12px; border-color:var(--line-strong); border-radius:8px;
      background:var(--panel); box-shadow:0 24px 70px color-mix(in srgb,var(--shadow-color) 55%,transparent); }
    .tf-tooltip-title { color:var(--context); font:700 9px/1 var(--font-data); letter-spacing:.08em; }
    .tf-tooltip-grid { color:var(--text); font-family:var(--font-data); font-size:10px; }
    .tf-tooltip-grid span,.tf-tooltip-since { color:var(--muted); }
    .tf-tooltip-section,.tf-tooltip-since { border-color:var(--line); }
    .tf-tooltip-section strong { color:var(--accent-ink); }
    .event-stream { padding:8px; gap:6px; scrollbar-color:var(--line) transparent; }
    .event-card { padding:8px 9px 8px 10px; border-color:var(--line); border-left-color:var(--event-color);
      border-radius:5px; background:var(--raised); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 2%,transparent); transition:border-color .14s ease,background-color .14s ease,filter .14s ease; }
    .event-card.to-long { --event-color:var(--long); background:var(--up-soft); }
    .event-card.to-short { --event-color:var(--short); background:var(--down-soft); }
    .event-card:hover { transform:none; filter:brightness(1.12); border-color:var(--event-color); }
    .event-product { color:var(--text); font-family:var(--font-data); font-size:10px; font-weight:700; }
    .event-time { color:var(--muted); font:600 8px/1 var(--font-data); }
    .event-change { font-size:10px; }
    .event-from { color:var(--muted); }
    .event-arrow { color:var(--muted); }
    .event-meta { color:var(--muted); font-size:8px; }
    .event-market { color:var(--muted); font-size:8px; }
    .event-tf { background:var(--hover); color:var(--muted); }
    .event-tf.long { background:var(--period-long-bg); color:var(--up); }
    .event-tf.short { background:var(--period-short-bg); color:var(--down); }
    .event-empty { color:var(--muted); }
   @media(max-width:820px){.workspace{grid-template-columns:minmax(0,1fr) 230px}.panel-note{display:none}}
    @media(max-width:700px){body{background-size:1000px 300px,64px 64px}main{padding:0;gap:0}header{min-height:76px;flex-basis:76px;padding:8px 10px;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;background-color:var(--panel)}.brand{gap:9px}.brand-word{font-size:17px}.brand-copy{padding-left:9px}.brand-kicker{display:none}h1{font-size:13px}.header-side{justify-content:stretch}.credit-entry{min-height:24px;padding:0 8px;font-size:9px}.credit-popover{right:auto;left:0}.health{width:auto;min-width:0;flex:1;min-height:19px;padding:0;border:0;background:transparent;font-size:8px;overflow:hidden}.health #healthText{min-width:0;overflow:hidden;text-overflow:ellipsis}.feishu-entry{min-height:24px;padding:0 8px;font-size:9px}.feishu-modal{max-height:calc(100vh - 16px)}.workspace{padding:7px;gap:7px}.panel-heading,.event-heading{height:42px}.watch-tray{min-height:39px;padding:5px 7px}.watch-tray:not(.is-open-mobile) .watch-tray-label,.watch-tray:not(.is-open-mobile) .watch-chips,.watch-tray:not(.is-open-mobile) .watch-focus{display:none}.market-filter-bar{min-height:72px}.classification-mode,.classification-option{min-height:26px;padding:0 9px;font-size:9px}.market-grid{padding:7px}.instrument-row{height:var(--card-height,42px)}.event-panel{height:340px;min-height:340px}.disclaimer{min-height:0;padding:10px 14px 12px;font-size:9px}}
    @media(max-width:700px){.brand-lockup{gap:6px}.brand-cross,.brand-cross img{width:14px;height:14px}.brand-partner{font-size:12px;letter-spacing:.04em}}
