/* 今日股气 · 晚安手账: warm paper, handwritten headings, soft cards. Loaded after the older sheets
   and only overrides; the "清晰行情" (terminal) theme keeps its own look. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces/fraunces-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2013-2014,U+2212}
:root{--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root:not([data-theme="terminal"]){
 --positive:#A64030;--negative:#2D6D50;
 --paper:#FAF4EC;--surface:#FFFCF7;--ink:#3A2F2A;--muted:#7A6D64;--line:#EADFD2;--soft:#F5E6DD;
 --accent:#BD4F3A;--green:#3E7C62;--action-hover:#5A4A42;--radius:20px;
 --heading:"LXGW WenKai",var(--font-ui);--num:"Fraunces",var(--font-ui);
 --mist:#E3EAF0;--butter:#F7EAC6;--blush:#F6DFD5;--sage:#DFEBE2;--tag:#B45E4A}
:root:not([data-theme="terminal"])[data-mode="dark"]{
 --paper:#1F1B18;--surface:#2A2420;--ink:#F1E8DE;--muted:#B9AC9F;--line:#3E3530;--soft:#3A2E28;
 --positive:#FF9C84;--negative:#86D2A8;--accent:#FF9C84;--green:#86D2A8;--action-hover:#E6D8CA;
 --mist:#27313A;--butter:#3A3222;--blush:#3D2B26;--sage:#243329;--tag:#FFB5A0}
:root:not([data-theme="terminal"]) .positive{color:var(--positive)}
:root:not([data-theme="terminal"]) .negative{color:var(--negative)}
:root:not([data-theme="terminal"]) body{background-color:var(--paper);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
:root:not([data-theme="terminal"]) h1,:root:not([data-theme="terminal"]) h2,:root:not([data-theme="terminal"]) h3{font-family:var(--heading);font-weight:700}
/* Shared shell: narrow screens get a full navigation row. */
[hidden]{display:none!important}
:root{--positive:var(--accent);--negative:var(--green);--mist:#E3EAF0;--butter:#F7EAC6;--blush:#F6DFD5;--sage:#DFEBE2;--tag:#9B4938;--num:"Fraunces",system-ui,sans-serif}
:root[data-mode=dark]{--positive:#FF9C84;--negative:#86D2A8;--mist:#27313A;--butter:#3A3222;--blush:#3D2B26;--sage:#243329;--tag:#FFB5A0}
body{font-family:var(--font-ui);font-size:16px;line-height:1.7}
.prototype[hidden]{display:none}
header{display:grid;grid-template-columns:minmax(170px,1fr) auto 44px auto;gap:22px;align-items:center;padding:22px 20px 18px;border-bottom:1px solid var(--line);max-width:1240px;margin:auto}
.brand{font-family:var(--heading);font-size:26px;letter-spacing:1px;line-height:1.15;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;justify-content:start;white-space:nowrap}
.brand small{grid-column:1/-1;font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.3px;color:var(--muted);margin-top:6px}
.brand-tag{font-family:system-ui,sans-serif;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--tag);background:var(--blush);padding:3px 7px;border-radius:20px}
header .site-nav{display:flex;gap:5px;order:initial;width:auto;justify-content:center;margin:0}
header .site-nav a{font-family:system-ui,sans-serif;padding:9px 13px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--muted);font-size:15px;border:0;white-space:nowrap;letter-spacing:0}
header .site-nav a.active{color:var(--ink);background:var(--soft);font-weight:600}
header #night{width:44px;height:44px;margin:0;padding:0;justify-self:end}
.me-wrap{position:relative;display:flex;align-items:center;margin:0;justify-self:end}
header .me-wrap>.account{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:8px 15px;min-height:44px;display:flex;align-items:center;white-space:nowrap;margin:0}
.me-toggle{display:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-height:44px;font:14px system-ui;white-space:nowrap}
.me-toggle.active,header .account.active{background:var(--soft);font-weight:600}
.me-drawer{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #0002;padding:6px;display:flex;flex-direction:column;min-width:170px;z-index:40}
.me-drawer a,.me-drawer button{display:flex;align-items:center;min-height:44px;padding:9px 14px;border-radius:10px;background:transparent;border:0;color:var(--ink);font:15px system-ui;text-align:left;margin:0;box-shadow:none}
.me-drawer a:hover,.me-drawer button:hover,header .me-toggle:hover,button.secondary:hover,.text-button:hover{background:var(--soft);color:var(--ink)}
footer{border-top:1px solid var(--line);margin-top:40px}footer b{font-family:var(--heading);font-size:17px}
main{max-width:1240px;padding:28px 20px 36px}
button,a.button,button.secondary,.account-nav a:not(.button){border-radius:10px}
button:disabled{cursor:default;opacity:.5}
.prose{max-width:720px;margin:0 auto}.prose p{line-height:1.9}.source-note,.today-note{font-size:13px}
.datatabs{width:auto;order:initial;flex-wrap:wrap}
[data-module],.hot-group,.calendar-detail{scroll-margin-top:120px}
@media(max-width:1000px){header{grid-template-columns:minmax(160px,1fr) auto 44px auto;gap:10px}header .site-nav a{font-size:14px;padding:9px 10px}}
@media(max-width:760px){header{grid-template-columns:minmax(0,1fr) 44px auto;grid-template-areas:"brand night me" "nav nav nav";gap:8px;padding:12px 16px 8px}.brand{grid-area:brand;font-size:24px}.brand small{display:none}.brand-tag{font-size:9px}header #night{grid-area:night}.me-wrap{grid-area:me}header .site-nav{grid-area:nav;display:grid;grid-template-columns:.8fr .8fr 1.25fr 1fr;gap:4px;width:100%;min-width:0;overflow:visible}header .site-nav a{font-size:14px;padding:8px 5px;min-width:0;min-height:44px}header .me-wrap>.account{display:none}.me-toggle{display:inline-flex;align-items:center}main{padding:22px 16px 28px}footer{padding:24px 16px}.prose h1{font-size:30px}}
@media(min-width:761px){.me-drawer{display:none}}
@media(max-width:360px){header{padding-left:12px;padding-right:12px}.brand{font-size:22px}main{padding-left:12px;padding-right:12px}}
/* Mobile reading never depends on a downloaded display font. Keep text zoom enabled. */
@media(max-width:760px){:root,:root:not([data-theme="terminal"]){--heading:var(--font-ui);--num:var(--font-ui)}.auth-story blockquote{font-family:var(--font-ui)}}

/* Login / register: the same warm sky as 今天 instead of the old dark green panel. */
:root:not([data-theme="terminal"]) .auth-story{position:relative;overflow:hidden;color:var(--ink);background:linear-gradient(165deg,#FFE7C7,#FFF1DE 60%,#FBF4EA)}
:root:not([data-theme="terminal"])[data-mode=dark] .auth-story{background:linear-gradient(165deg,#43362A,#2E2722 70%)}
:root:not([data-theme="terminal"]) .auth-story-brand{font-family:var(--heading)}
:root:not([data-theme="terminal"]) .auth-story-brand small{font-family:var(--heading);font-size:12px;opacity:.7}
:root:not([data-theme="terminal"]) .auth-story h1{font-size:40px}
:root:not([data-theme="terminal"]) .auth-story p{color:var(--muted);font-family:var(--heading)}
.auth-wx{position:absolute;right:6px;bottom:4px;width:170px;height:145px}
.auth-card{border-radius:0 0 var(--radius) var(--radius)}
@media(min-width:761px){.auth-wx{width:220px;height:187px;right:20px;bottom:20px}}

/* ===================== 数据角手账皮肤 ==================================
   适用 #market（.market-dashboard）与 #rotation（.rotation-page）两页。
   只覆写皮肤，不改 DOM 结构：卡片、数字、标题、表格行高、阴影、颜色。 */
:root:not([data-theme="terminal"]) .market-dashboard,
:root:not([data-theme="terminal"]) .rotation-page{
 --dashboard-radius:20px;
 --dashboard-shadow:none;
 color:var(--ink);
}
/* —— 卡片：奶油纸 + 软阴影 + 24–28px 圆角 —— */
:root:not([data-theme="terminal"]) .market-dashboard .market-module,
:root:not([data-theme="terminal"]) .rotation-page .market-module,
:root:not([data-theme="terminal"]) .market-dashboard .market-tape,
:root:not([data-theme="terminal"]) .market-dashboard .card,
:root:not([data-theme="terminal"]) .rotation-page .card,
:root:not([data-theme="terminal"]) .rotation-page .rotation-analysis{
 background:var(--surface);
 border:0;
 border-radius:var(--dashboard-radius);
 box-shadow:var(--dashboard-shadow);
 padding:26px;
}
/* 内部次级块（stats / metrics）保持纸色，不再叠阴影。 */
:root:not([data-theme="terminal"]) .market-dashboard .market-stats,
:root:not([data-theme="terminal"]) .rotation-page .rotation-metrics article,
:root:not([data-theme="terminal"]) .rotation-page .market-empty,
:root:not([data-theme="terminal"]) .market-dashboard .market-empty,
:root:not([data-theme="terminal"]) .market-dashboard .market-ladder-stocks li,
:root:not([data-theme="terminal"]) .rotation-page .rotation-missing{
 background:var(--paper);
 border:0;
 border-radius:18px;
 box-shadow:none;
}
/* —— 标题：霞鹜文楷 —— */
:root:not([data-theme="terminal"]) .market-dashboard h1,
:root:not([data-theme="terminal"]) .market-dashboard h2,
:root:not([data-theme="terminal"]) .market-dashboard h3,
:root:not([data-theme="terminal"]) .rotation-page h1,
:root:not([data-theme="terminal"]) .rotation-page h2,
:root:not([data-theme="terminal"]) .rotation-page h3,
:root:not([data-theme="terminal"]) .rotation-page .rotation-group-title{
 font-family:var(--heading);
 font-weight:700;
 letter-spacing:.5px;
}
/* —— 数字：Fraunces，保持原大小与 tabular-nums —— */
:root:not([data-theme="terminal"]) .market-dashboard .index-number,
:root:not([data-theme="terminal"]) .market-dashboard .market-totals strong,
:root:not([data-theme="terminal"]) .market-dashboard .market-stats strong,
:root:not([data-theme="terminal"]) .market-dashboard .market-index-cards strong,
:root:not([data-theme="terminal"]) .market-dashboard .market-readout strong,
:root:not([data-theme="terminal"]) .market-dashboard .card .number,
:root:not([data-theme="terminal"]) .market-dashboard .metrics .number,
:root:not([data-theme="terminal"]) .rotation-page .rotation-metrics strong,
:root:not([data-theme="terminal"]) .rotation-page .rotation-rank>b,
:root:not([data-theme="terminal"]) .rotation-page .rotation-columns b,
:root:not([data-theme="terminal"]) .rotation-page .rotation-table td{
 font-family:var(--num);
 font-variant-numeric:tabular-nums;
 font-weight:600;
 letter-spacing:-.5px;
}
/* —— 表格与列表：加宽行高、柔化分隔 —— */
:root:not([data-theme="terminal"]) .market-dashboard th,
:root:not([data-theme="terminal"]) .rotation-page .rotation-table th{
 background:transparent;
 color:var(--muted);
 font-family:var(--heading);
 font-weight:600;
 letter-spacing:.5px;
}
:root:not([data-theme="terminal"]) .market-dashboard th,
:root:not([data-theme="terminal"]) .market-dashboard td,
:root:not([data-theme="terminal"]) .rotation-page .rotation-table th,
:root:not([data-theme="terminal"]) .rotation-page .rotation-table td{
 padding:14px 12px;
 border-bottom:1px dashed var(--line);
 line-height:1.7;
}
:root:not([data-theme="terminal"]) .market-dashboard .market-table-scroll,
:root:not([data-theme="terminal"]) .rotation-page .rotation-table{
 background:transparent;
 border:0;
 border-radius:18px;
}
/* 行间分隔：把实线换成 dashed，更像手账贴纸上画的格线。 */
:root:not([data-theme="terminal"]) .rotation-page .rotation-rank,
:root:not([data-theme="terminal"]) .rotation-page .rotation-pairs article,
:root:not([data-theme="terminal"]) .market-dashboard .market-ladder div,
:root:not([data-theme="terminal"]) .market-dashboard .row,
:root:not([data-theme="terminal"]) .rotation-page .row{
 border-bottom:1px dashed var(--line);
}
:root:not([data-theme="terminal"]) .market-dashboard .row:last-child,
:root:not([data-theme="terminal"]) .rotation-page .row:last-child,
:root:not([data-theme="terminal"]) .rotation-page .rotation-pairs article:last-child{
 border-bottom:0;
}
/* 行高更"手账"：略松 */
:root:not([data-theme="terminal"]) .market-dashboard .market-note,
:root:not([data-theme="terminal"]) .market-dashboard .tape-meta,
:root:not([data-theme="terminal"]) .market-dashboard .market-heading p,
:root:not([data-theme="terminal"]) .rotation-page .market-note{
 line-height:1.8;
}
/* —— 涨跌色：日间保留品牌色；夜间把 raw green/red 调成柔和版 —— */
:root:not([data-theme="terminal"])[data-mode="dark"] .market-dashboard .positive,
:root:not([data-theme="terminal"])[data-mode="dark"] .rotation-page .positive{
 color:var(--positive);
}
:root:not([data-theme="terminal"])[data-mode="dark"] .market-dashboard .negative,
:root:not([data-theme="terminal"])[data-mode="dark"] .rotation-page .negative{
 color:var(--negative);
}
/* 同步处理表格里的 raw accent / trend-up trend-down 背景块。 */
:root:not([data-theme="terminal"])[data-mode="dark"] .market-dashboard .trend-up,
:root:not([data-theme="terminal"])[data-mode="dark"] .rotation-page .trend-up{
 background:color-mix(in srgb,var(--accent) 70%,var(--paper));
 color:var(--ink);
}
:root:not([data-theme="terminal"])[data-mode="dark"] .market-dashboard .trend-down,
:root:not([data-theme="terminal"])[data-mode="dark"] .rotation-page .trend-down{
 background:color-mix(in srgb,var(--green) 70%,var(--paper));
 color:var(--ink);
}
/* —— 量能柱 / 进度条：从硬蓝变成墨色淡彩 —— */
:root:not([data-theme="terminal"]) .rotation-page .rotation-bar,
:root:not([data-theme="terminal"]) .rotation-page .rotation-column-track{
 background:var(--soft);
}
:root:not([data-theme="terminal"]) .rotation-page{
 --volume:color-mix(in srgb,var(--accent) 55%,var(--muted));
 --volume-soft:var(--blush);
 --volume-label:var(--tag);
}
:root:not([data-theme="terminal"])[data-mode="dark"] .rotation-page{
 --volume:color-mix(in srgb,var(--accent) 65%,var(--paper));
 --volume-soft:var(--blush);
 --volume-label:var(--tag);
}
/* —— Tab / badge：remap 到手账 chip —— */
:root:not([data-theme="terminal"]) .market-dashboard .tabs button,
:root:not([data-theme="terminal"]) .market-dashboard .market-tabs button,
:root:not([data-theme="terminal"]) .rotation-page .rotation-badge,
:root:not([data-theme="terminal"]) .rotation-page .rotation-more{
 border:1px solid var(--line);
 background:var(--surface);
 color:var(--ink);
 border-radius:14px;
 font-family:var(--heading);
 letter-spacing:.3px;
}
:root:not([data-theme="terminal"]) .market-dashboard .tabs button.selected,
:root:not([data-theme="terminal"]) .market-dashboard .market-tabs button[aria-pressed=true],
:root:not([data-theme="terminal"]) .rotation-page .rotation-more:hover{
 background:var(--blush);
 color:var(--tag);
 border-color:transparent;
 font-weight:600;
}
/* —— "数据角"页内 tabs（#market ↔ #rotation 互跳） —— */
:root:not([data-theme="terminal"]) .datatabs{display:flex;gap:6px;margin:0 0 18px;align-items:center}
:root:not([data-theme="terminal"]) .datatabs a{
 padding:7px 14px;
 font-size:13px;
 font-family:var(--heading);
 letter-spacing:.5px;
 color:var(--muted);
 border-radius:14px;
 border:1px solid transparent;
}
:root:not([data-theme="terminal"]) .datatabs a[aria-current="page"]{
 background:var(--blush);
 color:var(--tag);
 font-weight:600;
}
/* —— 手机端：5 列 / 4 列网格压扁成 2 列，数字略降 —— */
@media(max-width:600px){
 :root:not([data-theme="terminal"]) .market-dashboard .market-totals{grid-template-columns:repeat(2,1fr);gap:14px}
 :root:not([data-theme="terminal"]) .market-dashboard .market-totals strong{font-size:22px}
 :root:not([data-theme="terminal"]) .market-dashboard .market-index-cards,
 :root:not([data-theme="terminal"]) .market-dashboard .market-stats{grid-template-columns:1fr 1fr;gap:14px}
 :root:not([data-theme="terminal"]) .market-dashboard .market-index-cards article{border-right:0;padding:5px 10px}
 :root:not([data-theme="terminal"]) .rotation-page .rotation-metrics{grid-template-columns:1fr 1fr;gap:12px}
 :root:not([data-theme="terminal"]) .rotation-page .rotation-columns{gap:2px}
 :root:not([data-theme="terminal"]) .rotation-page .market-module,
 :root:not([data-theme="terminal"]) .market-dashboard .market-module{padding:18px;border-radius:22px}
}
