:root{
  --cream:#f5efe4;
  --cream-2:#efe7d9;
  --paper:#fffaf3;
  --paper-2:#f4f0e8;
  --ink:#173229;
  --ink-2:#2f443b;
  --muted:#78837d;
  --line:#ded8cd;
  --sage:#6f9784;
  --sage-2:#a9c1b4;
  --sage-soft:#e2ece6;
  --amber:#b7985f;
  --amber-soft:#f2ead7;
  --peach:#d88d70;
  --peach-soft:#f4dfd5;
  --red:#b95f48;
  --green:#33806d;
  --shadow:0 18px 50px rgba(64,54,38,.08);
  --shadow-soft:0 8px 25px rgba(64,54,38,.055);
}
*{box-sizing:border-box}
html{background:var(--cream);scroll-behavior:smooth}
body{
  margin:0;min-height:100svh;color:var(--ink);background:var(--cream);
  font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.no-scroll{overflow:hidden}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.hidden{display:none!important}
.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.28;z-index:-1}
.ambient-a{width:300px;height:300px;background:#d7e7dc;right:-120px;top:80px}
.ambient-b{width:260px;height:260px;background:#efd7c5;left:-140px;top:42vh}
.app-shell{min-height:100svh;padding-bottom:92px}
.topbar{
  position:sticky;top:0;z-index:35;height:72px;padding:0 18px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(247,241,231,.88);backdrop-filter:blur(22px) saturate(1.1);
  border-bottom:1px solid rgba(74,70,60,.09)
}
.brand{border:0;background:none;padding:0;font-weight:900;letter-spacing:.20em;font-size:13px}
.brand i{font-style:normal;color:var(--sage)}
.top-actions{display:flex;align-items:center;gap:8px}
.date-pill{font-size:10px;color:var(--muted);letter-spacing:.05em;background:rgba(255,250,242,.72);border:1px solid var(--line);padding:8px 10px;border-radius:999px}
.round-icon,.plain-icon{border:0;background:none;display:grid;place-items:center}
.round-icon{width:42px;height:42px;border-radius:50%;background:rgba(255,250,242,.82);border:1px solid var(--line);box-shadow:0 5px 16px rgba(50,47,39,.04)}
.round-icon.small{width:34px;height:34px;font-size:20px}
.round-icon svg,.search-box svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.view{max-width:900px;margin:0 auto;padding:18px 14px 38px}
.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:900;color:var(--sage);text-transform:uppercase}
.display{font-family:"Noto Serif TC","Songti TC","PMingLiU",Georgia,serif;font-weight:500;letter-spacing:-.035em}
.announcement{
  margin-bottom:12px;padding:14px 15px;border:1px solid #dbcdb3;background:linear-gradient(135deg,#f7eedc,#fffaf2);
  border-radius:18px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;box-shadow:var(--shadow-soft)
}
.announcement.warn{border-color:#e6bfad;background:linear-gradient(135deg,#f7e2d8,#fff9f2)}
.announcement-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);margin-top:5px;box-shadow:0 0 0 5px rgba(183,152,95,.12)}
.announcement.warn .announcement-dot{background:var(--peach)}
.announcement b{display:block;font-size:12px}.announcement p{margin:4px 0 0;font-size:10px;line-height:1.65;color:#6d746f}
.announcement button{border:0;background:none;color:#8b938e;padding:0;font-size:18px}
.market-note{
  position:relative;overflow:hidden;background:linear-gradient(145deg,#18362c,#10261f 74%);color:#f7f2e8;
  border-radius:28px;padding:22px;box-shadow:0 22px 55px rgba(21,43,34,.18)
}
.market-note:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-70px;top:-90px}
.market-note:after{content:"";position:absolute;width:120px;height:120px;background:radial-gradient(circle,rgba(169,193,180,.14),transparent 68%);left:46%;bottom:-50px}
.market-note .eyebrow{color:#a9c1b4}
.note-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px}
.note-kicker small{font-size:9px;color:#95a69d}
.pulse-layout{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:end;margin-top:15px}
.pulse-score{font:500 66px/1 Georgia,serif;letter-spacing:-.06em}
.pulse-state{font-size:11px;color:#a7b7ae;margin-top:6px}
.pulse-story{padding-bottom:4px}.pulse-story b{display:block;font-size:16px;line-height:1.5}.pulse-story p{font-size:10px;color:#9eaca5;line-height:1.6;margin:6px 0 0}
.regime{margin-top:24px;position:relative;padding-top:17px;display:flex;justify-content:space-between;font-size:8px;color:#8fa097}
.regime-track{position:absolute;top:0;left:0;right:0;height:5px;border-radius:999px;background:linear-gradient(90deg,#4b8b7b,#d0b85e,#d67858)}
.regime-track i{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#f7f2e8;border:3px solid #173229;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #f7f2e8}
.history-chip{margin-top:14px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#aab8b0}
.history-chip b{color:#e8ede9}
.section-card,.warm-card,.qmap-card,.profile-card,.settings-card{
  margin-top:11px;background:rgba(255,250,242,.90);border:1px solid var(--line);border-radius:23px;box-shadow:var(--shadow-soft)
}
.section-card{padding:19px}
.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.section-head h2,.section-card h2,.warm-card h2,.qmap-card h2{font-size:20px;margin:5px 0 0;letter-spacing:-.025em}
.text-btn{border:0;background:none;color:var(--sage);font-size:10px;font-weight:900;padding:7px 0}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}
.moment-card{border:1px solid var(--line);border-radius:17px;padding:13px;background:linear-gradient(180deg,#fffdf8,#f8f3ea);min-height:112px}
.moment-card:nth-child(2){background:linear-gradient(180deg,#f6eee0,#fbf7ef)}
.moment-card:nth-child(3){background:linear-gradient(180deg,#eaf2ed,#f9fbf8)}
.moment-card span{font:500 14px Georgia,serif;color:var(--amber)}
.moment-card b{display:block;font-size:12px;margin-top:14px;line-height:1.45}
.moment-card small{display:block;color:var(--muted);font-size:9px;line-height:1.55;margin-top:6px}
.temperature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.temperature-grid article{border:1px solid var(--line);border-radius:16px;padding:12px 10px;background:#fffdf8;min-width:0}
.temperature-grid span,.temperature-grid small{display:block;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.temperature-grid strong{display:block;font:500 21px/1.1 Georgia,serif;margin:9px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up{color:var(--red)!important}.down{color:var(--green)!important}.flat{color:var(--ink-2)!important}
.stock-list{margin-top:8px}
.stock-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto 9px;gap:9px;align-items:center;padding:14px 0;border:0;border-top:1px solid var(--line);background:none;text-align:left}
.rank{font:500 14px Georgia,serif;color:var(--amber);min-width:18px}
.stock-main{min-width:0}.stock-main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-main em{font-style:normal;font-weight:500;color:#66716b;margin-left:4px}.stock-main small,.stock-side small{display:block;margin-top:5px;color:var(--muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-side{text-align:right;min-width:72px}.stock-side strong{font-size:12px}.chev{color:#9aa09c}
.sector-strip{display:flex;gap:8px;overflow:auto;margin:13px -4px -2px;padding:2px 4px 5px;scrollbar-width:none}.sector-strip::-webkit-scrollbar{display:none}
.sector-pill{min-width:145px;border:1px solid var(--line);background:#fffdf8;border-radius:17px;padding:13px;text-align:left}.sector-pill b{display:block;font-size:11px}.sector-pill span{display:block;font:500 20px Georgia,serif;margin-top:9px}.sector-pill small{display:block;font-size:8px;color:var(--muted);margin-top:4px}
.data-caveat{margin-top:11px;padding:14px;border-radius:18px;background:#f2eadb;border:1px solid #ddccb0}.data-caveat b{font-size:11px}.data-caveat p{font-size:9px;color:#756f64;line-height:1.7;margin:5px 0 0}
.page-title{padding:15px 4px 18px}.page-title h1{font:500 38px/1.15 "Noto Serif TC","Songti TC",Georgia,serif;letter-spacing:-.045em;margin:9px 0}.page-title p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.segmented{display:flex;gap:5px;overflow:auto;padding:4px;background:rgba(255,250,242,.72);border:1px solid var(--line);border-radius:16px;scrollbar-width:none;box-shadow:var(--shadow-soft)}.segmented::-webkit-scrollbar{display:none}
.segmented button{border:0;background:none;padding:10px 13px;border-radius:12px;font-size:10px;white-space:nowrap;color:#69736e}.segmented button.active{background:var(--ink);color:#fff9ef;font-weight:900}
.view-toggle{display:flex;justify-content:flex-end;gap:6px;margin:10px 3px}
.view-toggle button{border:1px solid var(--line);background:rgba(255,250,242,.75);border-radius:999px;padding:8px 12px;font-size:9px;color:#717b75}.view-toggle button.active{background:var(--sage-soft);border-color:#bad0c3;color:#315d4b;font-weight:900}
.radar-note{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:var(--muted);padding-bottom:7px}.radar-note b{color:var(--ink)}
.metric-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;background:#f4ecdf;border-radius:999px;color:#7f6b48;font-size:8px;margin-left:5px}
.qmap-card{padding:18px}.qmap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.help-btn{width:34px;height:34px;border:1px solid var(--line);background:#f7f2e8;border-radius:50%;font-weight:900;color:#738078}
.qmap{height:500px;margin-top:15px;border-radius:20px;background:linear-gradient(180deg,#f1efe8,#eceee8);position:relative;overflow:hidden;border:1px solid #e1ddd3}
.qmap:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#c7ccc7 1px,transparent 1px);background-size:20px 20px;opacity:.18}
.qmap .vline,.qmap .hline{position:absolute;background:#cfd5cf;z-index:1}.qmap .vline{width:1px;top:10%;bottom:10%;left:50%}.qmap .hline{height:1px;left:10%;right:10%;top:50%}
.axis-label{position:absolute;font-size:8px;color:#919992;z-index:3}.axis-top{top:10px;left:11px}.axis-bottom{bottom:28px;left:11px}.axis-left{bottom:9px;left:11px}.axis-right{bottom:9px;right:11px}
.bubble{position:absolute;transform:translate(-50%,-50%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;border:1px solid;box-shadow:0 9px 25px rgba(45,50,43,.10);padding:4px;transition:transform .15s ease}
.bubble:active{transform:translate(-50%,-50%) scale(.95)}.bubble b{font-size:10px}.bubble small{font-size:8px;margin-top:2px}.bubble.up{background:rgba(240,205,192,.83);border-color:#d79a82;color:#75402f!important}.bubble.down{background:rgba(206,229,220,.88);border-color:#8eb7a8;color:#215d4e!important}.bubble.flat{background:rgba(239,231,211,.9);border-color:#c9b989;color:#64583f!important}
.map-note{font-size:8.5px;color:var(--muted);line-height:1.65;margin:12px 3px 0}
.explore-hero{padding:21px;background:linear-gradient(135deg,#f6ead9,#edf3ee);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.explore-hero h1{font:500 32px "Noto Serif TC","Songti TC",Georgia,serif;margin:8px 0 5px}.explore-hero p{font-size:10px;color:var(--muted);line-height:1.7;margin:0}
.explore-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:11px}.explore-action{border:1px solid var(--line);border-radius:19px;background:#fffaf2;padding:16px;text-align:left;min-height:132px}.explore-action:nth-child(2){background:#eef4ef}.explore-action:nth-child(3){background:#f7eadf}.explore-action:nth-child(4){background:#f3efdf}.explore-action span{display:block;font-size:9px;color:var(--sage);letter-spacing:.11em;font-weight:900}.explore-action b{display:block;margin-top:12px;font-size:14px}.explore-action p{font-size:9px;color:var(--muted);line-height:1.6;margin:6px 0 0}
.stock-page{padding-top:2px}.stock-back{border:0;background:none;color:var(--muted);font-size:10px;padding:8px 0}.stock-title{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12px}.stock-title h1{font:500 35px/1.15 "Noto Serif TC","Songti TC",Georgia,serif;letter-spacing:-.04em;margin:7px 0 0}.stock-title h1 span{font:600 16px system-ui,sans-serif;color:#637068;margin-left:5px}.watch-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fffaf2;font-size:23px;color:#87928b}.watch-btn.active{color:var(--amber);background:#f3ead6;border-color:#d8c38f}
.quote-block{display:flex;align-items:baseline;gap:11px;margin-top:25px}.quote-block strong{font:500 49px/1 Georgia,serif}.quote-block span{font-size:14px;font-weight:900}.quote-block small{margin-left:auto;font-size:8px;color:var(--muted)}
.chart-tabs{display:flex;gap:5px;margin-top:15px}.chart-tabs button{border:1px solid var(--line);background:#fffaf2;border-radius:999px;padding:6px 10px;font-size:8px}.chart-tabs button.active{background:var(--ink);color:#fff}
.spark-wrap{height:150px;margin:8px 0 4px;background:rgba(255,250,242,.55);border:1px solid var(--line);border-radius:18px;padding:10px}.spark{width:100%;height:100%}.spark polyline{fill:none;stroke:var(--sage);stroke-width:2.2;vector-effect:non-scaling-stroke}.spark-grid{stroke:#d9ded9;stroke-width:.7}.spark-empty{height:100%;display:grid;place-items:center;font-size:9px;color:var(--muted)}
.signal-card{margin-top:11px;padding:20px;border-radius:23px;background:linear-gradient(145deg,#173329,#10241e);color:#f6f1e7;box-shadow:0 18px 44px rgba(20,43,34,.15)}.signal-card .eyebrow{color:#a7beb1}.signal-score{display:flex;justify-content:space-between;align-items:end}.signal-score .score b{font:500 54px Georgia,serif}.signal-score .score span{font-size:10px;color:#9caaa3}.signal-score>strong{font-size:18px;padding-bottom:8px}.signal-wait{padding:18px 0 3px}.signal-wait b{display:block;font:500 25px "Noto Serif TC","Songti TC",Georgia,serif}.signal-wait p{font-size:9px;color:#a0aea7;line-height:1.6}
.confidence{font-size:8px;color:#92a39a;margin:7px 0 15px}.factor{display:grid;grid-template-columns:68px 1fr 25px;gap:8px;align-items:center;margin-top:10px;font-size:8px}.factor>div{height:4px;background:#35463d;border-radius:999px;overflow:hidden}.factor i{display:block;height:100%;background:#9db7aa;border-radius:999px}.factor b{text-align:right}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.insight-grid article{background:#fffaf2;border:1px solid var(--line);border-radius:16px;padding:12px}.insight-grid span{display:block;font-size:8px;color:var(--muted)}.insight-grid b{display:block;font:500 17px Georgia,serif;margin-top:7px}.insight-grid small{display:block;font-size:7.5px;color:var(--muted);margin-top:4px}
.structure-lines{margin-top:11px}.structure-lines p{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0;margin:0;font-size:10px}.structure-lines span{color:var(--muted)}
.disclaimer{font-size:8px;color:var(--muted);line-height:1.7;padding:14px 4px 25px}
.profile-card{padding:19px;background:linear-gradient(140deg,#173329,#244a3d);color:#f7f1e7;display:flex;align-items:center;justify-content:space-between}.profile-left{display:flex;gap:12px;align-items:center}.profile-mark{width:45px;height:45px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;font:500 23px Georgia,serif;color:#bfd0c7}.profile-card b,.profile-card span{display:block}.profile-card b{font-size:13px}.profile-card span{font-size:8px;color:#a5b5ad;margin-top:5px}.login-btn{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 12px;font-size:9px;font-weight:900}
.settings-card{padding:19px}.settings-list{margin-top:10px}.settings-list>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:13px 0;font-size:10px}.settings-list span{color:var(--muted)}.ok-text{color:var(--sage);font-weight:900}
.setting-buttons{display:flex;gap:5px}.setting-buttons button{border:1px solid var(--line);background:#fffaf2;border-radius:999px;padding:6px 9px;font-size:8px}.setting-buttons button.active{background:var(--ink);color:#fff}
.legal-card{margin-top:11px;border:1px solid #ddcba8;background:#f4ead7;border-radius:19px;padding:16px}.legal-card b{font-size:10px}.legal-card p{font-size:8.5px;color:#786f61;line-height:1.7;margin-bottom:0}
.empty-card{margin-top:12px;background:rgba(255,250,242,.86);border:1px dashed #cfc9bd;border-radius:22px;padding:34px 20px;text-align:center}.empty-card b{font-size:14px}.empty-card p{font-size:9.5px;color:var(--muted);line-height:1.7;margin:7px 0 0}
.page-loading{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:9px}.page-loading.compact{min-height:210px}.page-loading span{width:22px;height:22px;border:2px solid #d7d2c9;border-top-color:var(--sage);border-radius:50%;animation:spin .7s linear infinite}.page-loading p{margin-top:10px}@keyframes spin{to{transform:rotate(360deg)}}
.bottom-nav{position:fixed;z-index:45;left:0;right:0;bottom:0;height:75px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(250,247,239,.93);backdrop-filter:blur(24px);border-top:1px solid var(--line)}
.nav-item{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#626c66;font-size:8.5px}.nav-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{color:var(--sage);font-weight:900}.nav-item.active svg{stroke-width:2}
.overlay{position:fixed;z-index:80;inset:0;background:var(--cream);overflow:auto}.overlay-panel{max-width:900px;margin:auto;padding:14px}.overlay-head{display:flex;gap:8px;align-items:center;position:sticky;top:0;background:rgba(247,241,231,.94);backdrop-filter:blur(18px);padding:6px 0 14px;z-index:2}.plain-icon{width:39px;height:39px;font-size:21px}.search-box{flex:1;height:49px;border:1px solid var(--line);background:#fffaf2;border-radius:17px;display:flex;align-items:center;gap:10px;padding:0 14px}.search-box svg{width:18px;height:18px}.search-box input{border:0;background:none;outline:0;width:100%;min-width:0;font-size:13px}.search-results{padding-bottom:30px}.search-hint{padding:40px 9px}.search-hint b{font:500 26px "Noto Serif TC","Songti TC",Georgia,serif}.search-hint p{font-size:10px;color:var(--muted);line-height:1.7}
.sheet-layer{position:fixed;z-index:95;inset:0;display:flex;align-items:flex-end}.sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(19,34,28,.42);backdrop-filter:blur(3px)}.sheet{position:relative;width:100%;max-width:700px;margin:0 auto;background:#fffaf2;border-radius:28px 28px 0 0;padding:10px 19px 26px;box-shadow:0 -20px 60px rgba(20,30,25,.16);max-height:78vh;overflow:auto}.sheet-grabber{width:46px;height:4px;border-radius:999px;background:#d1ccc1;margin:2px auto 17px}.sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sheet-head h2{font:500 27px "Noto Serif TC","Songti TC",Georgia,serif;margin:6px 0 0}.sheet-body{padding:12px 0 5px}.sheet-body p{font-size:11px;line-height:1.8;color:#5f6a64}.sheet-step{display:grid;grid-template-columns:34px 1fr;gap:9px;border-top:1px solid var(--line);padding:14px 0}.sheet-step>span{font:500 15px Georgia,serif;color:var(--amber)}.sheet-step b{font-size:11px}.sheet-step small{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:5px}
.toast{position:fixed;z-index:120;left:50%;bottom:91px;transform:translateX(-50%);background:var(--ink);color:#fffaf2;border-radius:999px;padding:10px 14px;font-size:9px;box-shadow:var(--shadow);white-space:nowrap}
@media(max-width:390px){.moment-grid{grid-template-columns:1fr}.temperature-grid{grid-template-columns:repeat(2,1fr)}.pulse-layout{grid-template-columns:88px 1fr}.pulse-score{font-size:58px}}
@media(min-width:700px){
  .view{padding:28px 20px 60px}.market-note{padding:28px}.pulse-layout{grid-template-columns:140px 1fr}.pulse-score{font-size:84px}.moment-grid{gap:11px}.temperature-grid{gap:10px}
  .bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:570px;height:68px;bottom:12px;border:1px solid var(--line);border-radius:23px;overflow:hidden;box-shadow:var(--shadow)}.app-shell{padding-bottom:100px}.sheet{border-radius:28px;margin-bottom:14px}.explore-actions{grid-template-columns:repeat(4,1fr)}
}

/* V4 — Warm Professional Intelligence */
button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html[data-font="large"] body{font-size:17px}
html[data-font="small"] body{font-size:14px}
html[data-color="us"] .up{color:var(--green)!important}
html[data-color="us"] .down{color:var(--red)!important}
.flow-teaser{margin-top:11px;padding:19px;border-radius:23px;border:1px solid #cfd8cf;background:linear-gradient(135deg,#edf3ee 0%,#fff9ef 58%,#f5ead7 100%);box-shadow:var(--shadow-soft)}
.flow-teaser h2{font-size:20px;margin:5px 0 0}.flow-teaser>p{font-size:8.5px;line-height:1.65;color:var(--muted);margin:11px 0 0}
.flow-summary-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.flow-summary-mini article{padding:13px 9px;border:1px solid rgba(91,117,101,.18);border-radius:16px;background:rgba(255,253,247,.72)}.flow-summary-mini span{display:block;color:var(--muted);font-size:8px}.flow-summary-mini b{display:block;margin-top:7px;font:600 13px Georgia,serif}
.flow-title{padding-bottom:14px}.flow-title h1{max-width:590px}.flow-agents{margin-bottom:9px}.flow-periods{display:flex;gap:6px;margin:8px 2px 10px}.flow-periods button{border:1px solid var(--line);background:rgba(255,250,242,.7);border-radius:999px;padding:8px 14px;font-size:9px;color:var(--muted)}.flow-periods button.active{background:#e7efe9;border-color:#b8cdbf;color:#285a46;font-weight:900}
.flow-overview-card{position:relative;overflow:hidden;padding:21px;border-radius:24px;color:#f8f2e7;background:linear-gradient(145deg,#244b3d,#143028 68%,#2e5848);box-shadow:0 20px 50px rgba(30,57,47,.16)}.flow-overview-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-75px;top:-100px}.flow-overview-card .eyebrow{color:#b7cec1}.flow-overview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.flow-overview-head h2{font:500 27px "Noto Serif TC","Songti TC",Georgia,serif;margin:8px 0 0}.flow-overview-head p{font-size:8.5px;color:#a9b8b0;margin:6px 0 0}.flow-overview-card .help-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#e7eee9;position:relative;z-index:2}
.flow-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:19px}.flow-summary-grid article{padding:12px 9px;border-radius:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.flow-summary-grid span{display:block;color:#9dafA5;font-size:8px}.flow-summary-grid b{display:block;margin-top:7px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-overview-card .up{color:#f3a085!important}.flow-overview-card .down{color:#82c8b4!important}
.soft-note{font-size:8px;color:var(--muted);align-self:end;padding-bottom:3px}.flow-map-card{background:linear-gradient(180deg,#fffaf2,#f7f3ea)}.flow-bubble small{max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inst-strip{display:flex;gap:8px;overflow:auto;margin:12px -3px -2px;padding:2px 3px 5px;scrollbar-width:none}.inst-strip::-webkit-scrollbar{display:none}.inst-strip article{min-width:155px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fffdf8}.inst-strip span,.inst-strip small{display:block;font-size:8px;color:var(--muted)}.inst-strip b{display:block;margin:7px 0 5px;font:600 15px Georgia,serif}
.preference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.preference-grid button{min-height:83px;text-align:left;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fffdf8,#f8f3e9);padding:13px}.preference-grid span{display:block;color:var(--muted);font-size:8px}.preference-grid b{display:block;margin-top:9px;font-size:11px}.sheet-primary{width:100%;border:0;background:var(--ink);color:#fffaf2;border-radius:15px;padding:13px;font-size:11px;font-weight:900;margin-top:8px}
@media (prefers-reduced-motion:no-preference){.section-card,.flow-teaser,.qmap-card,.settings-card,.profile-card{transition:transform .18s ease,box-shadow .18s ease}.stock-row,.sector-pill,.nav-item,.explore-action{transition:background .14s ease,transform .14s ease}.stock-row:active,.sector-pill:active,.nav-item:active,.explore-action:active{transform:scale(.985)}}
@media(max-width:390px){.flow-summary-grid,.flow-summary-mini{grid-template-columns:1fr}.flow-summary-grid article,.flow-summary-mini article{display:flex;justify-content:space-between;align-items:center}.flow-summary-grid b,.flow-summary-mini b{margin-top:0}.preference-grid{grid-template-columns:1fr 1fr}}

/* V4.1 — sector motion replay */
.flow-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 18px 14px;padding:5px;border:1px solid var(--line);border-radius:18px;background:rgba(255,252,246,.72);box-shadow:0 10px 30px rgba(28,55,45,.04)}
.flow-view-switch button{border:0;background:transparent;border-radius:13px;padding:11px 10px;font-weight:750;color:var(--muted);font-size:14px}
.flow-view-switch button.active{background:var(--ink);color:#fff;box-shadow:0 7px 16px rgba(16,48,39,.16)}
.replay-card{margin:0 16px 24px;padding:20px 16px 18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,253,248,.92);box-shadow:0 20px 50px rgba(42,55,45,.07)}
.replay-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}
.replay-head h2{margin:5px 0 5px;font-size:24px;letter-spacing:-.035em;color:var(--ink)}
.replay-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.replay-controls{display:grid;grid-template-columns:46px 1fr 68px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);margin-bottom:14px}
.replay-play{width:42px;height:42px;border-radius:50%;border:1px solid rgba(20,62,49,.15);background:var(--ink);color:#fff;font-weight:800}
.replay-timeline{display:grid;gap:7px;min-width:0}
.replay-timeline b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.replay-timeline input{width:100%;accent-color:var(--sage)}
#replaySpeed{width:68px;border:1px solid var(--line);background:#fffdf7;border-radius:12px;padding:8px 4px;color:var(--ink);font-size:12px}
.replay-map{height:430px;position:relative;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 78% 20%,rgba(118,159,137,.13),transparent 31%),radial-gradient(circle at 20% 85%,rgba(213,177,119,.12),transparent 33%),linear-gradient(180deg,#f8f7ee,#f2f4e9);border:1px solid rgba(35,76,61,.08)}
.replay-map .vline,.replay-map .hline{position:absolute;background:rgba(37,74,60,.17);z-index:0}
.replay-map .vline{width:1px;height:72%;left:50%;top:13%}
.replay-map .hline{height:1px;width:78%;left:11%;top:50%}
.sector-motion{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:1px solid currentColor;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px;z-index:2;backdrop-filter:blur(3px);box-shadow:0 10px 22px rgba(31,55,46,.08);overflow:hidden}
.sector-motion b{font-size:11px;line-height:1.15;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sector-motion small{font-size:9px;margin-top:3px;font-weight:750}
.sector-motion.up{background:rgba(211,103,69,.12);color:var(--up)}
.sector-motion.down{background:rgba(74,142,122,.13);color:var(--down)}
.replay-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:10px 3px 16px;color:var(--muted);font-size:11px}
.replay-ranks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.replay-ranks article{border:1px solid var(--line);border-radius:20px;padding:14px;background:rgba(255,255,255,.48)}
.replay-ranks h3{font-size:16px;margin:4px 0 10px;color:var(--ink)}
.replay-ranks button{width:100%;border:0;border-top:1px solid rgba(38,65,55,.08);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 0;color:var(--ink);font-size:11px;text-align:left}
.replay-ranks button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.replay-ranks button b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}
.replay-empty{display:grid;place-items:center;height:330px;color:var(--muted);font-size:13px}
@media (max-width:380px){.replay-map{height:390px}.replay-ranks{grid-template-columns:1fr}.replay-controls{grid-template-columns:42px 1fr 62px}.sector-motion b{font-size:10px}}


/* V5.2 — member-first research experience */
.account-chip{border:1px solid var(--line);background:rgba(255,252,246,.86);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;color:var(--ink);min-width:48px}
.account-chip.signed-in{background:rgba(31,74,59,.1);border-color:rgba(31,74,59,.18);color:var(--ink)}
.login-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.login-benefits span{border:1px solid var(--line);border-radius:14px;padding:10px;font-size:10px;background:rgba(255,255,255,.45)}
.login-sheet-btn{display:block;text-align:center;text-decoration:none;margin-top:14px}

.research-workspace{margin:18px 16px 24px}.research-workspace .section-head{margin-bottom:12px}.research-workspace h2{margin:5px 0 4px;font-size:23px}.research-workspace p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.research-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.research-tool-grid button{min-height:148px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,rgba(255,253,247,.98),rgba(242,245,236,.9));padding:15px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 15px 34px rgba(26,54,43,.05)}
.research-tool-grid button:nth-child(2){background:linear-gradient(155deg,#193f33,#0f2c24);color:#f6f1e7;border-color:transparent}
.research-tool-grid button span{font-size:8px;letter-spacing:.12em;font-weight:900;color:var(--sage)}.research-tool-grid button:nth-child(2) span{color:#aac4b6}
.research-tool-grid button b{font-size:16px;margin:9px 0 6px}.research-tool-grid button p{font-size:10px;line-height:1.55;flex:1;color:var(--muted)}.research-tool-grid button:nth-child(2) p{color:#b9c7c0}
.research-tool-grid button em{font-style:normal;font-size:9px;font-weight:850;margin-top:12px;color:var(--ink)}.research-tool-grid button:nth-child(2) em{color:#f6f1e7}

.watch-login-hero{margin:0 16px 24px;padding:24px 20px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(145deg,#fffaf1,#eef4ea);text-align:center;box-shadow:0 20px 55px rgba(32,57,47,.08)}
.watch-login-hero h2{font:500 27px "Noto Serif TC","Songti TC",Georgia,serif;margin:7px 0}.watch-login-hero p{font-size:11px;line-height:1.7;color:var(--muted)}
.watch-orbit{width:94px;height:94px;margin:0 auto 15px;position:relative;display:grid;place-items:center}.watch-orbit span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff6e8;font-size:25px;box-shadow:0 12px 28px rgba(21,53,42,.2)}.watch-orbit i{position:absolute;inset:5px;border:1px solid rgba(40,89,70,.17);border-radius:50%;animation:orbitSpin 9s linear infinite}.watch-orbit i+ i{inset:17px;animation-direction:reverse;animation-duration:6s}@keyframes orbitSpin{to{transform:rotate(360deg)}}
.primary-login-cta{display:block;width:100%;border:0;border-radius:16px;background:var(--ink);color:#fff7ed;padding:14px;text-decoration:none;font-size:13px;font-weight:850;margin:18px 0 12px}
.watch-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.watch-benefit-grid span{border:1px solid var(--line);border-radius:13px;padding:9px 6px;font-size:9px;color:var(--muted);background:rgba(255,255,255,.45)}
.watch-cloud-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 8px}.watch-cloud-head h2{font-size:20px;margin:3px 0}

.premium-profile{display:grid;grid-template-columns:1fr auto auto;align-items:center}.member-plan-pill{border-radius:999px;padding:8px 10px;background:var(--ink);color:#fff7ed;font-size:9px;font-weight:900;letter-spacing:.08em}
.membership-card{margin:0 16px 18px;padding:20px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(255,252,245,.96),rgba(239,246,237,.92));box-shadow:0 20px 45px rgba(25,55,44,.06)}
.membership-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.membership-head h2{font-size:22px;margin:5px 0}.membership-head p{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.plan-compare-btn{white-space:nowrap;border:1px solid var(--line);background:#fffaf2;border-radius:999px;padding:9px 11px;font-size:9px;font-weight:800;color:var(--ink)}
.plan-roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.plan-roadmap article{border:1px solid var(--line);border-radius:17px;padding:12px 10px;background:rgba(255,255,255,.46)}.plan-roadmap article.active{border-color:rgba(32,80,63,.35);box-shadow:inset 0 0 0 1px rgba(32,80,63,.12);background:rgba(224,239,230,.7)}.plan-roadmap span,.plan-roadmap b,.plan-roadmap small{display:block}.plan-roadmap span{font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--sage)}.plan-roadmap b{font-size:12px;margin:5px 0}.plan-roadmap small{font-size:8px;line-height:1.45;color:var(--muted)}
.upgrade-cta{width:100%;border:0;border-radius:16px;padding:13px;background:var(--ink);color:#fff7ec;font-weight:850}.plan-sheet{display:grid;gap:10px}.plan-sheet article{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.45)}.plan-sheet article.pro{background:#15382e;color:#f7f1e8}.plan-sheet article.pro p{color:#b8c8c0}.plan-sheet span{font-size:8px;font-weight:900;letter-spacing:.13em;color:var(--sage)}.plan-sheet b{display:block;font-size:15px;margin:5px 0}.plan-sheet p,.plan-sheet-note{font-size:10px!important;line-height:1.6!important}.research-preferences button{background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(239,245,237,.7))}

/* Smooth Sector Motion: persistent spheres instead of per-frame DOM redraw */
.premium-replay{overflow:hidden}.replay-livebar{display:flex;justify-content:space-between;align-items:center;margin:-2px 2px 10px;font-size:9px;color:var(--muted)}.replay-livebar span{display:flex;align-items:center;gap:6px}.replay-livebar i{width:7px;height:7px;border-radius:50%;background:#6ca487;box-shadow:0 0 0 5px rgba(108,164,135,.12);animation:livePulse 1.8s ease-in-out infinite}@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(108,164,135,0)}}
.replay-map.replay-live{height:455px;background:radial-gradient(circle at 77% 18%,rgba(114,164,140,.18),transparent 32%),radial-gradient(circle at 22% 82%,rgba(220,181,116,.15),transparent 34%),linear-gradient(180deg,#f8f7ed,#edf3e9);isolation:isolate}
.replay-aurora{position:absolute;inset:-40%;background:conic-gradient(from 90deg,transparent,rgba(118,162,141,.08),transparent,rgba(218,178,112,.07),transparent);animation:auroraSpin 24s linear infinite;z-index:-1}@keyframes auroraSpin{to{transform:rotate(360deg)}}
#replayNodeLayer{position:absolute;inset:0}
.sector-motion{transition:left .78s cubic-bezier(.22,.8,.2,1),top .78s cubic-bezier(.22,.8,.2,1),width .78s cubic-bezier(.22,.8,.2,1),height .78s cubic-bezier(.22,.8,.2,1),opacity .45s ease,filter .45s ease,box-shadow .45s ease;will-change:left,top,width,height;animation:sectorFloat 3.6s ease-in-out infinite alternate;transform:translate(-50%,-50%) translateY(var(--drift,0px));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 28px rgba(25,61,48,.13)}
@keyframes sectorFloat{from{margin-top:-2px}to{margin-top:3px}}
.sector-motion .motion-core{position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.76),transparent 30%);pointer-events:none}
.sector-motion.up{background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.72),rgba(211,103,69,.23) 46%,rgba(211,103,69,.13));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 30px rgba(168,87,59,.15)}
.sector-motion.down{background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.72),rgba(74,142,122,.25) 46%,rgba(74,142,122,.13));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 30px rgba(47,111,92,.15)}
.sector-motion.flat{background:rgba(232,229,218,.82);color:var(--muted)}
.sector-motion.entering{opacity:0;filter:blur(3px)}.sector-motion.leaving{opacity:0;filter:blur(4px);pointer-events:none}
.sector-motion:active{transform:translate(-50%,-50%) scale(.96)}
@media(max-width:430px){.top-actions{gap:6px}.date-pill{display:none}.research-tool-grid{grid-template-columns:1fr 1fr}.research-tool-grid button{min-height:138px;padding:13px}.plan-roadmap{grid-template-columns:1fr}.premium-profile{grid-template-columns:1fr auto}.premium-profile .login-btn{grid-column:1/-1;margin-top:10px;width:100%}.replay-map.replay-live{height:430px}}


/* V5.3 — stable radar, direct auth and clearer membership */
.upgrade-chip{border:1px solid rgba(183,139,66,.28);background:linear-gradient(135deg,#fff9e9,#efe1b9);color:#765a25;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;letter-spacing:.04em;box-shadow:0 5px 16px rgba(109,82,35,.08)}
#radarContent{min-height:420px;transition:opacity .16s ease}#radarContent.radar-refreshing{opacity:.76}.radar-modes button,.view-toggle button{transition:background .16s ease,color .16s ease,transform .16s ease}.radar-modes button:active{transform:scale(.98)}
.plan-clarity{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:8px 0 14px}.plan-clarity>div{display:grid;grid-template-columns:minmax(132px,1.6fr) repeat(3,minmax(50px,.7fr));align-items:center;border-top:1px solid rgba(35,66,55,.08);min-height:44px}.plan-clarity>div:first-child{border-top:0;background:rgba(31,74,59,.06)}.plan-clarity span{padding:9px 10px;font-size:10px;font-weight:750;color:var(--ink)}.plan-clarity b,.plan-clarity i{padding:9px 4px;text-align:center;font-size:9px;font-style:normal;color:var(--muted)}.plan-clarity-head b{color:var(--ink);font-size:9px}.plan-purpose{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-purpose article{padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.5)}.plan-purpose article.pro{background:var(--ink);color:#fff}.plan-purpose b{font-size:11px}.plan-purpose p{font-size:9px!important;line-height:1.5!important;margin:5px 0 0!important}.plan-purpose .pro p{color:#cbd8d2}.plan-login{display:block;text-align:center;text-decoration:none;margin-top:12px}
@media(max-width:430px){.upgrade-chip{padding:8px 10px}.plan-clarity>div{grid-template-columns:minmax(118px,1.5fr) repeat(3,minmax(44px,.65fr))}.plan-clarity span{font-size:9px;padding:8px}.plan-clarity b,.plan-clarity i{font-size:8px}.plan-purpose{grid-template-columns:1fr}}
