/* Atelier edition: a shared academy shell and a celestial study room. */
:root {
  color-scheme: dark;
  --ink: #edf2f8;
  --green-950: #060d18;
  --green-900: #111d30;
  --green-800: #91a7be;
  --green-100: #1a2b43;
  --gold: #bca367;
  --gold-soft: #dfc47d;
  --paper: #07111e;
  --paper-deep: #132239;
  --white: #0e1a2a;
  --muted: #8b9caf;
  --line: rgba(130,158,197,.17);
  --shadow: 0 28px 80px rgba(0,0,0,.34);
  --cosmic: #667bd4;
  --aurora: #4e9ca3;
  --surface: #0d1928;
  --surface-raised: #111f31;
  --border-bright: #29405d;
}
body { background:#07111e; background-image:radial-gradient(ellipse at 16% -8%,rgba(83,98,183,.18),transparent 38%),radial-gradient(ellipse at 86% 8%,rgba(51,126,142,.12),transparent 34%),linear-gradient(180deg,#081321,#060d18 76%);background-attachment:fixed;-webkit-font-smoothing:antialiased; }
[hidden] {display:none!important}
.sample-caption {display:block;color:#8f9b96;font-size:10px;margin-top:12px}
@media(max-width:560px){body.theme-ziwei .sidebar{display:flex}body.theme-ziwei .celestial-disc{height:230px;aspect-ratio:auto;margin-top:-8px;margin-bottom:-8px}}

/* Functional astrolabe workspace */
.chart-page-actions{display:flex;gap:10px;align-items:center}.chart-page-actions .dark{color:#aebbc0;border-color:#40505a}
.chart-empty{min-height:560px;border:1px solid #35444c;background:radial-gradient(circle at 50% 45%,#2b413c 0,transparent 23%),linear-gradient(145deg,#13232d,#0d1922);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;color:#dfe4df}.chart-empty h2{font:400 31px/1.4 var(--serif);letter-spacing:.08em;margin:2px 0 12px}.chart-empty>p:not(.hero-kicker){max-width:510px;color:#93a4ae;font-size:14px;line-height:1.9}.chart-empty .button{margin-top:25px}.chart-empty>small{margin-top:25px;color:#7d918e;font-size:11px;letter-spacing:.06em}.empty-astrolabe{width:148px;height:148px;border:1px solid #8a795b;border-radius:50%;display:grid;place-items:center;position:relative;margin-bottom:28px;box-shadow:0 0 80px #c8ad7b18,inset 0 0 45px #c8ad7b09}.empty-astrolabe:before,.empty-astrolabe:after,.empty-astrolabe i:before,.empty-astrolabe i:after{content:'';position:absolute;background:#776b55}.empty-astrolabe:before{width:1px;height:100%}.empty-astrolabe:after{height:1px;width:100%}.empty-astrolabe i{position:absolute;inset:17px;border:1px solid #4c5b56;border-radius:50%;transform:rotate(45deg)}.empty-astrolabe i:before{width:1px;height:100%;left:50%}.empty-astrolabe i:after{height:1px;width:100%;top:50%}.empty-astrolabe b{font:400 32px var(--serif);color:#d8c39c;background:#15262e;width:61px;height:61px;border-radius:50%;display:grid;place-items:center;z-index:1}
.chart-recordbar{display:flex;align-items:center;gap:13px;margin:26px 0 0;padding:14px 16px;border:1px solid #33434c;background:#14232d}.chart-recordbar label{display:flex;align-items:center;gap:12px}.chart-recordbar label>span,.flow-date span{font-size:10px;color:#8497a2;letter-spacing:.08em}.chart-recordbar select,.flow-date input{border:0;border-bottom:1px solid #566159;background:transparent;color:#e1d5bc;padding:7px 26px 7px 3px;font-size:13px;outline:0}.chart-recordbar select option{background:#15232c}.privacy-note{font-size:9px;color:#70847f;border:1px solid #3c4d49;padding:4px 7px;border-radius:20px}.text-action{border:0;background:none;color:#a9b8bd;font-size:11px;cursor:pointer;padding:6px}.text-action:first-of-type{margin-left:auto}.text-action.danger{color:#b28b85}.chart-recordbar .text-action:hover{color:#e0caa3}
#chartWorkspace .chart-toolbar{display:grid;grid-template-columns:auto auto minmax(140px,1fr);gap:12px;align-items:center}.flow-switch{display:flex;border:1px solid #34444d;background:#172630;border-radius:3px}.flow-switch button{border:0;border-right:1px solid #34444d;background:none;color:#8397a2;font-size:10px;padding:9px 12px;cursor:pointer}.flow-switch button:last-child{border:0}.flow-switch button.active{background:#33443c;color:#dec89f}.flow-date{justify-self:end;display:flex;align-items:center;gap:9px}.layer-chips{grid-column:1/-1;display:flex;justify-content:flex-start;gap:7px}.layer-chips button{background:transparent;border:1px solid #34424b;border-radius:20px;color:#647984;font-size:10px;padding:6px 11px;cursor:pointer}.layer-chips button.active{color:#c7b08c;border-color:#796b54;background:#bca27a08}.boundary-alert{margin:0 0 16px;border-left:2px solid #b49168;background:#342d264d;padding:11px 14px;color:#d4c2a3;font-size:11px;line-height:1.7}
#chartWorkspace .ziwei-board{min-height:650px;aspect-ratio:auto;overflow:visible}.palace{position:relative;gap:5px}.palace .palace-head{display:flex;justify-content:space-between;align-items:center;gap:5px}.palace .palace-head b{margin:0;font-size:15px;color:#aebdc2}.palace .palace-head em{font:10px var(--serif);color:#8f856f;font-style:normal}.palace .star-stack{margin:auto 0;display:flex;flex-wrap:wrap;gap:5px 7px;align-items:center}.palace .star-name{font:400 17px var(--serif);color:#e0c69d;white-space:nowrap}.palace .star-meta{font:9px var(--sans);color:#8ea0a7;border-left:1px solid #56615a;padding-left:4px}.palace .mutagen{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font:9px var(--serif);margin-left:-3px}.palace .mutagen.lu,.palace .mutagen.quan,.palace .mutagen.ke{color:#c6aa73}.palace .mutagen.ji{color:#bd7c77}.palace .minor-stack{font-size:9px;line-height:1.65;color:#94a2a5}.palace .minor-stack .soft{color:#aebc9e}.palace .minor-stack .tough{color:#bc8c83}.palace .flow-badge{font-size:9px;color:#c6b28d;margin-top:auto;border-top:1px solid #34444b;padding-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palace .decadal-range{position:absolute;right:8px;bottom:7px;font-size:8px;color:#677d86}.palace.active .decadal-range{color:#a9a48f}.chart-center{padding:20px}.chart-center .center-name{font:400 24px var(--serif);color:#dedfd8;letter-spacing:.09em}.chart-center .center-meta{font-size:11px;color:#d0bb92;line-height:1.7;margin:8px 0}.chart-center .center-date{font-size:9px;line-height:1.65;color:#83979f}.chart-center .center-rule{display:inline-block;margin-top:9px;padding-top:7px;border-top:1px solid #3d4d4d;color:#879b92;font-size:8px;letter-spacing:.06em}.chart-center:before,.chart-center:after{pointer-events:none}.chart-center>div{max-width:90%}
.star-study{border-top:1px solid #34434b;padding:17px 0}.star-study:empty{display:none}.star-study>small{display:block;font-size:9px;letter-spacing:.11em;color:#8b9da5;margin-bottom:10px}.study-star{padding:10px 0;border-top:1px solid #293942}.study-star:first-of-type{border:0}.study-star b{font:400 15px var(--serif);color:#d5c09d}.study-star p{font-size:11px;line-height:1.75;color:#8fa1a9;margin-top:4px}.study-star em{font-style:normal;font-size:9px;color:#71878f}.obs-section li span{text-align:right;max-width:65%}.sample-caption{line-height:1.6}.method li+li{margin-top:8px}

/* Birth data and rules sheets */
.chart-modal,.rules-modal,.star-modal,.zoom-modal{position:fixed;inset:0;z-index:80;display:none}.chart-modal.open,.rules-modal.open,.star-modal.open,.zoom-modal.open{display:block}.chart-sheet,.rules-sheet{position:absolute;right:0;top:0;bottom:0;width:min(690px,100%);background:#101d27;color:#dce2df;border-left:1px solid #46534f;overflow:auto;padding:48px clamp(26px,5vw,58px);box-shadow:-30px 0 80px #0008}.chart-sheet header h2,.rules-sheet h2{font:400 35px/1.35 var(--serif);letter-spacing:.08em;margin:0 0 10px}.chart-sheet header>p:last-child,.rules-sheet>p{color:#94a5ad;font-size:13px;line-height:1.85;max-width:590px}.dark-close{color:#b9c3c4;background:#16252e;border-color:#435159}.chart-sheet form{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}.form-grid>label,.form-grid fieldset{display:flex;flex-direction:column;gap:8px;min-width:0}.form-grid label>span,.form-grid legend{font-size:10px;color:#8fa1a9;letter-spacing:.08em}.form-grid input,.form-grid select{width:100%;border:1px solid #3c4d55;background:#15252e;color:#e2e5e1;border-radius:2px;min-height:44px;padding:9px 12px;font-size:13px;outline:0}.form-grid input:focus,.form-grid select:focus{border-color:#a58e68;box-shadow:0 0 0 3px #b3996a14}.form-grid select option{background:#15252e}.form-grid fieldset{border:0;padding:0;margin:0;flex-direction:row;flex-wrap:wrap}.form-grid fieldset legend{width:100%;margin-bottom:8px}.form-grid fieldset label{display:flex;align-items:center;gap:7px;border:1px solid #3b4c54;padding:10px 15px;min-width:82px;cursor:pointer}.form-grid fieldset input{width:auto;min-height:0;accent-color:#bfa676}.form-grid fieldset span{color:#d5dcda;font-size:12px}.input-suffix{display:flex;border:1px solid #3c4d55;background:#15252e;align-items:center}.input-suffix input{border:0}.input-suffix em{font-style:normal;color:#788c94;font-size:10px;padding:0 11px}.switch-field{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;border:1px solid #3e4e50;padding:13px 15px;background:#1b2b2c}.switch-field span{display:grid;gap:4px}.switch-field b{font-size:12px;color:#d5dedb;font-weight:400}.switch-field small{font-size:9px;color:#789088}.switch-field input{width:38px;height:21px;min-height:0;accent-color:#bca27a}.time-preview{margin-top:23px;border-left:2px solid #b59d72;background:#1a2a2d;padding:15px 17px;display:grid;gap:6px}.time-preview span{font-size:9px;color:#82969c;letter-spacing:.1em}.time-preview b{font:400 17px var(--serif);color:#dfcba7}.time-preview small{font-size:10px;line-height:1.6;color:#87999e}.time-preview.warning{border-color:#a56d66;background:#312725}.time-preview.warning b{color:#d4a39c}.rule-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.rule-summary b{width:100%;font-size:10px;font-weight:400;color:#879ca0;letter-spacing:.1em;margin-bottom:4px}.rule-summary span{border:1px solid #48534b;border-radius:20px;padding:6px 9px;font-size:9px;color:#b8bdac}.privacy-consent{color:#72878e;font-size:9px;line-height:1.7;margin:20px 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #34434b;padding-top:22px}.rules-sheet{width:min(620px,100%)}.rules-list{margin-top:26px}.rules-list>div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:17px 0;border-top:1px solid #33434b}.rules-list dt{font:400 16px var(--serif);color:#d9c39b}.rules-list dd{margin:0;color:#98a8ae;font-size:12px;line-height:1.8}.rules-source{display:block;margin-top:23px;color:#71878e;font-size:9px;line-height:1.8}

@media(max-width:1100px){#chartWorkspace .ziwei-board{min-height:610px}.chart-page-actions{margin-top:18px}.chart-page-actions .button{margin-top:0}.chart-layout{grid-template-columns:1fr}.observation-panel{display:block!important;border-left:0!important;border-top:1px solid #35434b!important;padding:24px 0!important}}
@media(max-width:760px){#chartWorkspace .chart-toolbar{grid-template-columns:1fr}.flow-date{justify-self:start}.layer-chips{grid-column:1}.chart-recordbar{flex-wrap:wrap}.text-action:first-of-type{margin-left:auto}#chartWorkspace .ziwei-board{min-height:560px}.chart-page-actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.chart-page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.chart-page-actions .button{width:100%;padding-inline:8px}.chart-empty{min-height:500px;padding:36px 22px}.chart-empty h2{font-size:26px}.chart-empty>p:not(.hero-kicker){font-size:12px}.empty-astrolabe{width:124px;height:124px}.chart-recordbar{margin-top:12px}.chart-recordbar label{width:100%}.chart-recordbar select{flex:1}.privacy-note{display:none}.text-action:first-of-type{margin-left:0}.flow-switch{display:grid;grid-template-columns:repeat(4,1fr)}.flow-switch button{padding-inline:7px}.layer-chips{overflow:auto;padding-bottom:4px;flex-wrap:nowrap}.layer-chips button{white-space:nowrap}.flow-date{width:100%;justify-content:space-between}.flow-date input{flex:1}#chartWorkspace .ziwei-board{min-height:0;aspect-ratio:1}.palace{padding:5px}.palace .palace-head b{font-size:10px}.palace .star-stack{gap:2px;margin:auto 0}.palace .star-name{font-size:11px}.palace .star-meta,.palace .minor-stack,.palace .flow-badge,.palace .decadal-range{display:none}.palace .mutagen{width:14px;height:14px;font-size:7px;margin-left:0}.chart-center{padding:6px}.chart-center .center-name{font-size:17px}.chart-center .center-meta{font-size:8px;margin:4px 0}.chart-center .center-date{font-size:7px}.chart-center .center-rule{display:none}.chart-sheet,.rules-sheet{padding:38px 22px 100px}.chart-sheet header h2,.rules-sheet h2{font-size:29px}.form-grid{grid-template-columns:1fr}.switch-field{grid-column:1}.form-actions{position:sticky;bottom:-100px;background:#101d27;padding-bottom:8px}.rules-list>div{grid-template-columns:57px 1fr;gap:11px}.boundary-alert{font-size:10px}}

.palace .star-unit{display:inline-flex;align-items:center;gap:4px;min-width:0}
button:focus-visible,a:focus-visible,select:focus-visible {outline:2px solid var(--gold-soft);outline-offset:5px}
.paper-noise,.theme-ziwei:before,.sidebar-stars,.sidebar:before,.sidebar-foot,.ink-orbit,.home-hero:after,.home-hero:before {display:none}
.app-shell {display:block}
.sidebar {width:100%;height:88px;inset:0 0 auto;padding:0 max(34px,calc((100vw - 1312px)/2));flex-direction:row;align-items:center;justify-content:space-between;background:rgba(10,18,25,.93);backdrop-filter:blur(24px);border-bottom:1px solid var(--line);overflow:visible}
.brand {gap:13px;flex-shrink:0}.brand-mark {width:38px;height:38px}.brand b {font-size:22px;letter-spacing:.24em;font-weight:500}.brand small {font-size:7px;letter-spacing:.19em;margin-top:8px;color:#7f8a91}
.side-nav {margin:0;display:flex;gap:20px;height:100%;align-items:stretch}.nav-item {width:auto;padding:0 17px;border-radius:0;gap:0;color:#8e9ba4;font-size:13px;letter-spacing:.12em;position:relative}.nav-icon {display:none}.nav-item.active {background:none;box-shadow:none;color:#ddc49a}.nav-item.active:after {content:'';position:absolute;height:2px;background:#d3b88b;bottom:0;left:17px;right:17px}.nav-item:hover{background:none;color:#f4e4c5}
.main-content {padding-top:88px;padding-bottom:60px}
.topbar {position:relative;top:auto;max-width:1380px;margin:0 auto;height:72px;padding:0 34px;border:0;background:none;backdrop-filter:none}.context-line {font-size:11px;letter-spacing:.04em;gap:16px}.eyebrow {color:#7e8c97;font-weight:400;font-size:11px;letter-spacing:.06em}.context-divider {background:#3e4b52;width:14px}.subject-context{color:#c0c7c6;font-family:var(--sans);font-size:11px;font-weight:400}.subject-context i{margin-right:9px}.context-divider.faint {display:none}
.demo-switch{border-color:#2a363f;background:transparent;padding:0 0 0 10px}.demo-switch label{font-size:9px;color:#7f8e98}.demo-switch select {color:#b5bec2;background:transparent;font-size:10px;font-weight:400;padding:8px}.demo-switch select option{background:#14222c}.icon-button{background:transparent;border-color:#344049;color:#b7c0c5}.avatar{background:#253630;color:#dbc298;border:1px solid #475244}.notification-dot{background:#c3a37b}
.page {padding:8px 34px 40px;max-width:1380px;animation:reveal .22s ease both}
.home-hero {min-height:440px;height:auto;padding:52px 52px 112px;display:block;border:1px solid rgba(189,171,134,.13);background:radial-gradient(ellipse at 74% 47%,rgba(57,83,91,.24),transparent 53%),linear-gradient(110deg,#111f29,#0c171f);box-shadow:none;border-radius:3px;overflow:hidden}
.home-hero:after{display:block;content:'ZI WEI DOU SHU';font-family:var(--sans);font-size:10px;letter-spacing:.46em;color:#546570;writing-mode:initial;top:auto;bottom:34px;right:40px}
.hero-copy,.celestial-disc + .hero-copy {max-width:49%;position:relative;z-index:2}.hero-kicker{font-size:10px;letter-spacing:.2em;font-weight:400;margin-bottom:25px}.home-hero .hero-kicker{color:#bbab8e}.hero-kicker:before{content:'';width:23px;height:1px;background:#af9670;display:inline-block;margin:0 12px 3px 0}
.hero-copy h1 {font-size:clamp(38px,3.7vw,54px);line-height:1.42;letter-spacing:.13em;font-weight:400}.hero-copy h1 em {font-style:normal;color:#dac29b}.hero-copy > p:not(.hero-kicker) {font-size:13px;line-height:1.9;margin:18px 0 0;max-width:345px;color:#9eafb8}
.hero-actions {margin-top:27px;gap:12px}.button {min-height:43px;font-size:11px;letter-spacing:.06em;font-weight:500;padding:0 21px;border-radius:2px}.button.primary{background:#d4be99;color:#172027;border:1px solid #e1ca9f}.button.primary:hover{background:#e4cda5}.button.secondary{border:1px solid #47534f;background:#22322f;color:#dfcfb2}.button.ghost{background:none;border:1px solid #42515a;color:#c2ced2}.button.ghost.dark{border-color:#536268;color:#d6dddd}
.hero-progress-wrap {position:absolute;left:52px;bottom:26px;min-width:0;border:0;padding:0;background:none;backdrop-filter:none;gap:13px;z-index:2}.hero-progress-wrap>div:last-child{display:flex;align-items:center;gap:13px}.hero-progress-wrap small{font-size:10px;color:#84949d}.hero-progress-wrap strong{font-family:var(--sans);font-size:11px;color:#c7d1d6;font-weight:400;margin:0}.hero-progress-wrap p{font-size:10px;color:#899b93;border-left:1px solid #39464b;padding-left:13px}.ring{width:32px;font-size:7px;--p:30%;background:conic-gradient(#bca27a var(--p),#283b43 0)}.ring:after{inset:2px;background:#11212b}
.celestial-disc {width:52%;right:0;top:47%;transform:translateY(-50%);border:0;aspect-ratio:1.2;opacity:1;display:block;pointer-events:none}.celestial-disc:before,.celestial-disc:after {display:none}.celestial-disc svg{width:100%;height:100%;overflow:visible}.celestial-disc .astral-label{font:10px var(--serif);fill:#b6a788;letter-spacing:3px}
.section-heading{margin:32px 0 20px;align-items:center}.section-heading>div{grid-template-columns:auto auto;gap:0 12px;align-items:center}.section-index{font:11px var(--sans);color:#7e8c95;border:1px solid #36434a;width:27px;height:27px;display:grid;place-items:center;padding:0;grid-row:auto;border-radius:50%}.section-heading h2{font:400 23px var(--serif);letter-spacing:.09em}.section-heading p{display:none}.date-chip{font-size:10px;background:none;border:0;color:#a3b1b8;padding:0}.date-chip:before{content:'';display:inline-block;width:5px;height:5px;background:#b6bd98;border-radius:50%;margin:0 8px 2px 0}
.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:28px}.feature-card{background:transparent;border:0;box-shadow:none}.lesson-card{grid-template-columns:230px minmax(0,1fr);min-height:217px;background:#14212a;border:1px solid #26343d;border-radius:3px;overflow:hidden}.card-media{background:radial-gradient(ellipse at 50% 80%,#304343,transparent 60%),linear-gradient(150deg,#0d1a21,#182930);min-height:217px}.card-media:after{inset:17%;border-color:#62644e;box-shadow:0 0 0 18px #c9aa7410,0 0 0 42px #c9aa7408;border-radius:50%}.card-media:before{opacity:.3}.media-label{left:17px;top:17px;font-size:9px;color:#b7a684}.play-button{width:43px;height:43px;border-color:#c7bda266;color:#d9c49d;background:#15252bd9;font-size:11px}.card-content{padding:24px 26px}.meta{font-size:10px;color:#af9f82;letter-spacing:.04em}.card-content h3{font:400 22px/1.5 var(--serif);margin:10px 0;color:#e1e1d8}.card-content p{font-size:11px;line-height:1.8;color:#8e9fa9;max-width:400px}.progress-line{margin-top:17px;background:#34424a;height:2px}.progress-line i{background:#bca27a}.text-link{font-size:10px;font-weight:400;color:#d2bd98;padding-top:11px}.task-card{padding:0 0 0 24px;border-left:1px solid #34424a}.card-title-row{align-items:center}.card-title-row .overline{display:none}.card-title-row h3{font:400 18px var(--serif);margin:2px 0 0}.round-count{border:0;width:auto;height:auto;color:#98a4ac;font-size:11px}.task-list{margin-top:10px}.task{padding:13px 0;gap:12px;border-top:1px solid #2b3840}.task:first-child{border-top:0}.task b{font-size:11px;font-weight:400;color:#bdc6ca}.task small{color:#7e909c;font-size:10px}.check{border-color:#52616b;border-radius:50%;width:18px;height:18px}.task input:checked+.check{background:#34483e;border-color:#526757}.task input:checked+.check:after{color:#d1c9a8}.task input{display:block;opacity:0;position:absolute;width:20px;height:20px}.task:focus-within .check{outline:2px solid #cbb28a;outline-offset:3px}
.section-heading.compact{margin-top:36px}.insight-grid{gap:0;border-block:1px solid #303c44}.insight-card{background:none;border:0;border-right:1px solid #303c44;min-height:185px;padding:24px 28px 24px 0;box-shadow:none;transition:background .2s}.insight-card+ .insight-card{padding-left:28px}.insight-card:last-child{border-right:0}.insight-card:hover{transform:none;box-shadow:none;background:#c3ad7f06}.ink-number{font-size:28px;right:26px;top:22px;color:#bba17d44}.insight-card small{font-size:10px;letter-spacing:.1em;color:#b49e7c}.insight-card h3{font:400 20px var(--serif);margin:19px 0 12px;max-width:none}.insight-card p{font-size:11px;color:#8e9da6;min-height:38px;max-width:335px}.insight-card b{font-size:10px;color:#b3bfbf;margin-top:18px;font-weight:400}
.page-intro {padding:28px 0 32px;border-color:#324049}.page-intro h1 {color:#e0e3de;font:400 clamp(30px,3vw,42px)/1.45 var(--serif);letter-spacing:.07em}.page-intro h1 em{color:#bba886}.page-intro>p:last-child,.inline-intro>div>p:last-child{font-size:13px;color:#8fa0ac;max-width:590px}.inline-intro h1{font-size:40px}.hero-kicker{color:#ae9b7e}.academy-programs{background:transparent;border:0;border-bottom:1px solid #35424a;gap:18px;padding-bottom:25px}.program-label,.program{background:transparent;min-height:85px;padding:14px}.program-label{padding-left:0}.program.active{background:#25363055;border:1px solid #536150;border-radius:3px}.program-label span{color:#8e9b9d}.program-label b{color:#d4d7ce;font-size:18px}.program-symbol{border-color:#948567;color:#d4bd97}.program b{font-size:16px;font-weight:400}.program small{color:#8c9ca5;font-size:10px}.program.future{opacity:.72}.course-tabs{border-color:#344049;gap:30px}.course-tabs button{color:#7e8f9b;font-size:12px}.course-tabs button.active{color:#ddc7a1}.learning-route{background:transparent;border:0;padding:25px 0 0;margin:0}.route-head{border:0;padding:0 0 18px}.route-head h2{font-size:26px;letter-spacing:.04em}.route-progress b{color:#c6ae86}.day-list{border:0;gap:10px;background:none;margin-top:7px}.day-item{background:#15222b;border:1px solid #304049;border-radius:3px;padding:21px 19px;min-height:145px}.day-item:hover{background:#1f303b}.day-item.current{background:linear-gradient(125deg,#36463d,#1e302d);border-color:#847b5d}.day-item.current .day-no{color:#d4b88d}.day-item.locked{background:#111c24;border-color:#25313a;color:#788994;opacity:.6}.day-item .day-no{font-size:9px;color:#9a947f}.day-item b{font-size:20px;font-weight:400;margin-top:21px}.day-item small{font-size:10px;color:#899aa3;margin-top:12px}.day-status{right:15px;top:16px;color:#b3ad95}.stage-grid{gap:0;border:1px solid #354149}.stage{background:transparent;border:0;border-right:1px solid #354149;padding:25px;min-height:184px}.stage:last-child{border:0}.stage.active{background:#24332b55;box-shadow:none}.stage b{font-size:21px;font-weight:400}.stage p{font-size:11px}.stage small{color:#a8b4b3}.conversion-panel{background:#1a2b2c;border:1px solid #42514b;border-radius:3px}.conversion-panel p{line-height:1.8}.conversion-panel h3{font-size:23px}
.chart-toolbar{margin-top:28px;margin-bottom:22px}.mode-switch{background:#172630;border:1px solid #34444d;border-radius:3px}.mode-switch button{font-size:11px;color:#8d9ea8}.mode-switch button.active{background:#d0b991;color:#162129;border-radius:2px}.chart-person{color:#d3dadb}.layer-chips span{color:#637783;border-color:#34424b;border-radius:20px;font-size:10px}.layer-chips span.active{color:#c7b08c;border-color:#796b54;background:#bca27a08}.chart-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,.65fr);gap:25px}.ziwei-board{background:#435055;border-color:#59605a;box-shadow:none;border-radius:3px}.palace{background:#14222c;padding:16px;color:#c5ccc9}.palace:hover,.palace.active{background:#2b3933;box-shadow:inset 0 0 0 1px #b7a37b}.palace .branch{color:#928a74}.palace b{font-size:14px;font-weight:400;color:#a0b1b9}.palace strong{font-size:18px;font-weight:400;color:#ddc8a2;margin-top:10px}.palace small{color:#7f969f;font-size:9px}.chart-center{background:radial-gradient(circle,#25383b,#0d1a24 72%)}.chart-center b{font-size:25px;font-weight:400}.chart-center small{color:#91a1a9}.observation-panel{background:transparent;border:0;border-left:1px solid #35434b;padding:3px 0 0 25px}.obs-head h2{font-size:30px}.obs-head p{font-size:11px;line-height:1.8;color:#8fa1ac}.obs-section li{font-size:12px;line-height:1.8}.obs-section li b{font-weight:400;color:#c0cbce}.obs-section ol li{font-size:12px}.note-field>span{font-size:11px}textarea{background:#15232c;color:#e0e5e3;border-color:#3c4b54;border-radius:3px;font-size:12px}textarea::placeholder{color:#7b909d}.note-field{padding-bottom:12px}
.level-strip{background:none;border:1px solid #3b474d;border-radius:3px;gap:0}.level{background:#121f29;border-right:1px solid #34424b;padding:18px 10px;color:#c8d0cc}.level:last-child{border:0}.level.active{background:#33433a;color:#dfc69d}.level b{font:400 13px var(--sans)}.level span{font-size:10px;color:#92a3ac;margin-top:8px}.case-card{background:#13212b;border:1px solid #35464e;border-radius:3px}.case-card h2{font-size:29px;letter-spacing:.04em;color:#e1e5db}.case-lead{font-size:13px;line-height:1.9;color:#a3b0b8}.case-facts{background:none;border-color:#3e4d53}.case-facts div{background:#1d2d31}.case-facts div+div{border-left:1px solid #3e4d53}.case-facts b{color:#d6c5a4}.case-facts small{color:#8fa39f}.answer-field>span{font-weight:400;color:#c5d0d2}.answer-field small{font-size:10px;line-height:1.7}.side-module{background:transparent;border:0;border-bottom:1px solid #34454d;padding:22px 12px}.side-module li{font-size:12px;line-height:1.8}.ability{font-size:10px;grid-template-columns:70px 1fr 48px}.ability i{background:#34454d}.ability em{color:#8ea29d}
.profile-hero{background:radial-gradient(ellipse at 70% 50%,#2c403b,#13222d 65%);border:1px solid #3c4c4e;border-radius:3px;padding:48px}.profile-hero .hero-kicker{color:#b3a083}.profile-hero h1{font-size:33px;letter-spacing:.09em;font-weight:400;margin-bottom:13px}.profile-hero p{color:#9eaea9}.profile-hero:after{font-size:200px;color:#cad5b908}.profile-stats{background:none;border-block:1px solid #35444d;border-inline:0;margin-top:25px}.profile-stats div{background:none;text-align:left;padding:27px 30px;border-right:1px solid #34434b}.profile-stats div:first-child{padding-left:0}.profile-stats div:last-child{border:0}.profile-stats b{color:#ddc59d;font-family:Georgia,serif;font-size:36px;font-weight:400}.profile-stats span{font-size:11px;color:#91a3ae;letter-spacing:.1em;margin-top:10px}.profile-grid{gap:40px;margin-top:35px}.archive-list{border:0}.archive-list button{background:none;border-color:#33444c;padding:22px 0;grid-template-columns:40px 1fr 20px}.archive-list b{font-size:13px;font-weight:400;color:#cad4d2}.archive-list small{font-size:11px;color:#8a9ea9;margin-top:7px}.archive-list button>span{border-color:#586157;color:#bba986;border-radius:50%;width:37px;height:37px}.service-card{background:#1b2c2c;border:1px solid #3b5049;padding:34px;border-radius:3px}.service-card p{font-size:12px;color:#a7b5af}.service-card small{color:#9aaba0}.service-card button{font-size:12px;color:#ddd2b9;padding:19px 0}.lesson-sheet{background:#101d27}.lesson-body h2{font-size:29px;font-weight:400}.lesson-objective p{color:#9caeb9}.timeline button.active span{color:#d9c59f}.timeline button{font-size:12px}.video-stage{background:radial-gradient(ellipse,#2b423f,#0c1722 65%)}.toast{border:1px solid #526154;background:#27392f;color:#ece0c7;bottom:26px}
@media(min-width:1600px){.home-hero{min-height:470px;padding-top:65px}.hero-copy h1{font-size:54px}}
@media(max-width:1100px){.sidebar{width:100%;padding:0 28px}.brand>span:last-child,.nav-item span:last-child{display:block}.side-nav{width:auto;gap:3px}.nav-item{padding:0 14px}.brand-mark{width:34px;height:34px}.brand b{font-size:20px}.hero-copy,.celestial-disc+.hero-copy{max-width:55%}.hero-copy h1{font-size:43px}.home-hero{padding:44px 35px 100px}.hero-progress-wrap{left:35px}.hero-copy>p:not(.hero-kicker){max-width:315px;font-size:12px}.celestial-disc{width:51%;right:-2%}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(240px,.8fr);gap:20px}.lesson-card{grid-template-columns:150px 1fr}.card-content{padding:20px}.card-content h3{font-size:20px}.task-card{padding-left:18px}.insight-grid{grid-template-columns:repeat(3,1fr)}.insight-card:last-child{grid-column:auto}.insight-card h3{font-size:18px;line-height:1.5}.insight-card{padding-right:19px}.insight-card+.insight-card{padding-left:19px}.ink-number{font-size:20px;right:18px}.chart-layout{grid-template-columns:1fr}.observation-panel{border:0;padding:25px 0;display:grid}.practice-layout{grid-template-columns:1fr}.practice-side{grid-template-columns:1fr 1fr}.academy-programs{grid-template-columns:110px repeat(3,1fr);gap:8px}.program{padding:12px 10px;grid-template-columns:30px 1fr}.program em{grid-column:2}.program-symbol{width:27px;height:27px}}
@media(max-width:760px){.sidebar{height:72px;padding:0 22px}.brand>span:last-child{display:block}.brand b{font-size:19px}.brand small{font-size:6px;margin-top:6px}.brand-mark{width:32px;height:32px}.side-nav{gap:0}.nav-item{font-size:11px;padding:0 10px}.nav-item.active:after{left:10px;right:10px}.main-content{padding-top:72px}.topbar{padding:0 23px;height:64px}.context-line{gap:9px}.context-line>.eyebrow,.context-divider{display:none}.page{padding-inline:23px}.home-hero{padding:35px 29px 98px;min-height:415px}.hero-copy h1{font-size:36px}.hero-copy>p:not(.hero-kicker){font-size:12px;max-width:260px}.hero-actions{gap:8px;flex-wrap:wrap}.button{font-size:10px;padding:0 15px;min-height:40px}.hero-progress-wrap{left:29px}.home-hero:after{right:25px;font-size:8px;letter-spacing:.2em}.dashboard-grid{grid-template-columns:1fr}.lesson-card{grid-template-columns:37% 1fr}.task-card{border-left:0;border-bottom:1px solid #35434b;padding:4px 0 8px}.task-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.task{border:0;padding:12px 0}.task b{font-size:11px;line-height:1.6}.task small{font-size:9px;line-height:1.7}.insight-grid{grid-template-columns:1fr}.insight-card,.insight-card+.insight-card{padding:24px 0;border-right:0;border-bottom:1px solid #33434c;min-height:0}.insight-card:last-child{border:0}.insight-card p{max-width:none;min-height:0}.insight-card h3{font-size:22px;margin-top:11px}.insight-card b{margin-top:15px}.ink-number{font-size:29px;right:8px;top:22px}.profile-hero{padding:30px}.profile-grid{gap:26px}.academy-programs{grid-template-columns:1fr 1fr 1fr}.program-label{grid-column:1/-1;min-height:40px;padding:0}.program-label span{display:none}.program{display:block;min-height:110px}.program-symbol{display:none}.program small{font-size:9px;margin-bottom:14px}.program b{font-size:15px}.day-list{grid-template-columns:repeat(2,1fr)}.stage-grid{grid-template-columns:1fr 1fr}.stage{border-bottom:1px solid #354149}.stage:nth-child(2){border-right:0}.level-strip{grid-template-columns:repeat(4,1fr)}.level{border-bottom:1px solid #34424b}.profile-stats div{padding:23px}.profile-stats div:nth-child(3){padding-left:0}.profile-stats div:nth-child(2){border-right:0}}
@media(max-width:560px){.sidebar{height:66px;position:relative;padding:0 21px}.side-nav{display:none}.main-content{padding-top:0;padding-bottom:70px}.topbar{height:58px;padding:0 20px}.context-line{display:flex;font-size:10px}.subject-context{font-size:10px}.mobile-brand{display:none}.context-line #todayText{display:none}.top-actions{gap:8px}.demo-switch{padding:0;border:0}.demo-switch select{font-size:10px;padding:6px}.demo-switch label{display:none}.icon-button{display:none}.avatar{width:29px;height:29px;font-size:12px}.page{padding:0 20px 25px}.home-hero{min-height:0;padding:32px 25px 66px;overflow:hidden}.hero-copy,.celestial-disc+.hero-copy{max-width:100%}.hero-copy h1{font-size:35px;line-height:1.48;letter-spacing:.08em}.hero-kicker{font-size:9px;margin-bottom:20px}.hero-copy>p:not(.hero-kicker){font-size:12px;line-height:1.8;margin-top:15px;max-width:100%}.hero-actions{margin-top:20px;gap:10px}.hero-actions .button{min-height:41px;font-size:11px;padding:0 14px}.celestial-disc{position:relative;width:calc(100% + 36px);height:auto;aspect-ratio:1.22;right:auto;top:auto;transform:none;margin:-25px -18px -27px;opacity:.94}.home-hero{display:flex;flex-direction:column}.hero-copy{order:0}.celestial-disc{order:1}.hero-progress-wrap{left:25px;bottom:21px;margin-top:0;min-width:0;width:auto}.hero-progress-wrap>div:last-child{gap:8px}.hero-progress-wrap p{display:none}.hero-progress-wrap strong{font-size:10px}.hero-progress-wrap small{font-size:9px}.home-hero:after{font-size:7px;right:23px;bottom:34px;letter-spacing:.13em}.section-heading{margin-top:29px;margin-bottom:16px}.section-heading h2{font-size:22px;letter-spacing:.04em}.section-index{width:23px;height:23px;font-size:9px}.section-heading>div{gap:9px}.date-chip{font-size:9px}.lesson-card{grid-template-columns:1fr;min-height:0}.card-media{min-height:172px;max-height:172px}.card-media:after{inset:15% 31%;box-shadow:0 0 0 23px #c9aa7410,0 0 0 55px #c9aa7408}.card-content{min-height:0;padding:21px}.card-content h3{font-size:23px}.card-content p{font-size:12px}.progress-line{margin-top:20px}.text-link{padding-top:14px}.task-card{padding-top:6px}.task-list{display:block;margin-top:12px}.task{border-top:1px solid #2d3c45;padding:15px 0}.task:first-child{border-top:0}.task b{font-size:12px}.task small{font-size:11px}.round-count{font-size:11px}.bottom-nav{display:grid;background:rgba(12,23,32,.96);border-color:#425049;padding:10px 6px max(10px,env(safe-area-inset-bottom));backdrop-filter:blur(20px)}.bottom-nav button{color:#8598a4;gap:6px;min-height:39px}.bottom-nav button.active{color:#d6c299}.bottom-nav button.active span{color:#d6c299}.bottom-nav small{font-size:10px}.bottom-nav button span{font:15px var(--serif)}.page-intro{padding-top:19px}.page-intro h1{font-size:29px;line-height:1.55}.page-intro>p:last-child,.inline-intro>div>p:last-child{font-size:12px}.inline-intro h1{font-size:34px}.route-head h2{font-size:23px;line-height:1.5;max-width:220px}.day-item{padding:20px 15px;min-height:144px}.day-item b{font-size:21px}.day-item small{font-size:10px}.stage{padding:20px;min-height:193px}.stage b{font-size:20px}.chart-toolbar{gap:9px}.mode-switch button{font-size:10px;padding:9px}.chart-person{font-size:10px;gap:5px}.ziwei-board{aspect-ratio:1}.palace{padding:7px}.palace strong{font-size:11px;line-height:1.6;margin-top:6px}.palace b{font-size:11px}.palace .branch{font-size:9px}.palace small{display:none}.chart-center b{font-size:19px}.chart-center small{font-size:9px}.observation-panel{display:block;padding-top:0}.case-card{padding:25px 20px}.case-card h2{font-size:26px}.case-top{font-size:9px;gap:12px}.case-facts{grid-template-columns:1fr}.case-facts div+div{border-left:0;border-top:1px solid #3e4d53}.practice-side{grid-template-columns:1fr}.level{padding:14px 6px}.level b{font-size:11px}.level span{font-size:9px}.profile-hero{padding:27px 23px;gap:15px}.profile-hero h1{font-size:25px}.profile-seal{width:48px;height:48px;font-size:22px}.profile-hero .hero-kicker{font-size:9px;margin-bottom:8px}.profile-hero .hero-kicker:before{display:none}.profile-stats b{font-size:32px}.profile-grid{grid-template-columns:1fr}.lesson-body{padding:27px 23px}.lesson-body h2{font-size:27px}.video-stage{height:225px}.toast{bottom:83px;width:max-content;max-width:90vw;text-align:center}}
/* ═══ windy 課程實播層（2026-09-09）═══ */
.video-stage{position:relative;overflow:hidden}
#lessonVideo{display:block;width:100%;height:100%;min-height:240px;object-fit:contain;background:#060d13}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse,#2b423f,#0c1722 65%)}
.video-placeholder .video-time{color:#9aaba0;font-size:12px;letter-spacing:.06em}
.badge-mini{display:inline-block;margin-left:8px;padding:1px 6px;font-size:9px;color:#d9c59f;border:1px solid #d9c59f55;border-radius:2px;vertical-align:1px;letter-spacing:.1em}
.lesson-desc{font-size:13px;line-height:1.9;color:#9caeb9;margin:12px 0 4px}
.lesson-objective{background:#182a2c;border:1px solid #33484a;border-radius:3px;padding:18px 20px;margin-top:16px}
.lesson-objective small{display:block;font-size:10px;letter-spacing:.22em;color:#b3a083;margin-bottom:10px}
.lesson-objective ul{margin:0;padding-left:18px;display:grid;gap:7px}
.lesson-objective li{font-size:12.5px;line-height:1.75;color:#b9c6c2}
.lesson-objective.homework p{font-size:12.5px;line-height:1.85;color:#b9c6c2;margin:0}
.lesson-duration{font-size:11px;color:#8a9ea9;letter-spacing:.08em;align-self:center;margin-right:auto}
.lesson-footer{display:flex;align-items:center;gap:10px;margin-top:20px}
.lesson-footer .button{margin-left:0}
@media(max-width:560px){#lessonVideo{min-height:200px}}
/* ═══ 身份條 & 直播角標（2026-09-09）═══ */
.identity-bar{display:flex;align-items:center;gap:10px;padding:9px 22px;font-size:11.5px;letter-spacing:.05em;border-bottom:1px solid #33484a}
.identity-bar span{color:#b3a083;font-size:10px;letter-spacing:.2em}
.identity-bar b{font-weight:400;color:#e4dbc8}
.identity-bar em{font-style:normal;color:#8fa29c}
.identity-bar.formal{background:#1d2f26}
.identity-bar.trial{background:#17262e}
.identity-bar.guest{background:#231f1a}
.live-badge{position:absolute;top:14px;right:16px;z-index:3;font-size:11px;letter-spacing:.14em;color:#ffd9a0;background:#8c2f2fcc;border:1px solid #d98d6a99;padding:5px 10px;border-radius:2px;animation:livePulse 2s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(max-width:560px){.identity-bar{flex-wrap:wrap;padding:8px 20px;font-size:10.5px}}
/* ═══ 课程封面 art & 专业模式强化 & 空态（2026-09-09 v2）═══ */
.day-item{overflow:hidden}
.day-art{position:absolute;top:0;right:0;bottom:0;width:74px;display:flex;align-items:center;justify-content:center;font:500 40px var(--serif);opacity:.16;letter-spacing:.02em;pointer-events:none}
.day-art.art-1{background:linear-gradient(160deg,#8c6b3f33,#1c2b31);color:#e8c86a}
.day-art.art-2{background:linear-gradient(160deg,#3f6b8c33,#1c2b31);color:#9fc3e0}
.day-art.art-3{background:linear-gradient(160deg,#6b3f8c33,#1c2b31);color:#cfa9e8}
.day-art.art-4{background:linear-gradient(160deg,#8c3f5c33,#1c2b31);color:#e8a9c3}
.day-art.art-5{background:linear-gradient(160deg,#5c8c3f33,#1c2b31);color:#b8e89f}
.day-art.art-6{background:linear-gradient(160deg,#8c7a3f33,#1c2b31);color:#e8d89f}
.day-art.art-7{background:linear-gradient(160deg,#3f7a8c33,#1c2b31);color:#9fe0e8}
.day-art.art-8{background:linear-gradient(160deg,#7a3f8c33,#1c2b31);color:#d8a9e8}
.day-art.art-9{background:linear-gradient(160deg,#b0555533,#1c2b31);color:#f0b4b4}
.day-art.art-10{background:linear-gradient(160deg,#55703f33,#1c2b31);color:#cfe0a9}
.day-art.art-11{background:linear-gradient(160deg,#8c6b3f55,#23333a);color:#f0d9a0}
.day-item.locked .day-art{opacity:.07}
.day-item.current .day-art{opacity:.28}
.day-main{display:block;position:relative}
.day-item .day-status{position:absolute;top:0;right:0}
.day-item .day-no em.badge-mini{position:relative;top:0}
/* 专业模式：盘面外框金线 + 面板密度提示 */
#chartWorkspace[data-mode="pro"] .ziwei-board{box-shadow:0 0 0 1px #d5bc9155,inset 0 0 42px #d5bc9108}
#chartWorkspace[data-mode="pro"] .obs-head .overline{color:#d5bc91}
#chartWorkspace[data-mode="pro"] .palace{background:#1b2730}
#chartWorkspace[data-mode="learn"] .palace{background:#14212a}
/* 空态试排按钮 */
#chartEmpty .button.ghost.dark{margin-top:.6rem}
#chartEmpty small{line-height:1.9;color:#8a9ea9;letter-spacing:.05em}
/* ═══ 首页课程封面 v2（统一 art 视觉）═══ */
.card-media{position:relative;overflow:hidden;background:#0e1a22}
.media-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 88px var(--serif);color:#ead9b2;opacity:.92;letter-spacing:.02em}
.media-art.art-0{background:radial-gradient(ellipse at 50% 45%,#2b3f36,#0e1a22 70%);color:#d5bc91}
.media-art.art-1{background:radial-gradient(ellipse at 50% 40%,#3a2f1e,#0e1a22 72%)}
.media-art.art-2{background:radial-gradient(ellipse at 50% 40%,#1e2f3a,#0e1a22 72%)}
.media-art.art-3{background:radial-gradient(ellipse at 50% 40%,#2e1e3a,#0e1a22 72%)}
.media-art.art-4{background:radial-gradient(ellipse at 50% 40%,#3a1e2c,#0e1a22 72%)}
.media-art.art-5{background:radial-gradient(ellipse at 50% 40%,#263a1e,#0e1a22 72%)}
.media-art.art-6{background:radial-gradient(ellipse at 50% 40%,#3a331e,#0e1a22 72%)}
.media-art.art-7{background:radial-gradient(ellipse at 50% 40%,#1e333a,#0e1a22 72%)}
.media-art.art-8{background:radial-gradient(ellipse at 50% 40%,#33203a,#0e1a22 72%)}
.media-art.art-9{background:radial-gradient(ellipse at 50% 40%,#3a2020,#0e1a22 72%)}
.media-art.art-10{background:radial-gradient(ellipse at 50% 40%,#2e3a1e,#0e1a22 72%)}
.media-art.art-11{background:radial-gradient(ellipse at 50% 40%,#45371c,#13222a 75%);color:#f0d9a0}
.media-day{position:absolute;left:16px;bottom:14px;font-size:10px;letter-spacing:.22em;color:#9a947f;background:#0a141b88;border:1px solid #d5bc9133;padding:4px 9px;border-radius:2px}
.card-media .play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.card-media .media-label{position:absolute;top:14px;left:16px;z-index:2}
/* 移除旧式圆环装饰，避免与 art 封面叠加 */
.card-media:after{display:none}
@media(max-width:560px){.card-media:after{display:none}.media-art{font-size:64px}}
/* ═══ 命盤專業視覺 v3：提亮 + 聯動 + 文墨符號（2026-09-09）═══ */
.chart-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:26px;align-items:start}
.ziwei-board{background:#0e1a23;border:1px solid #3a4d55;border-radius:4px;padding:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;box-shadow:0 18px 46px #00000055}
.palace{background:#1b2a35;border:1px solid #33444e;border-radius:3px;padding:10px 11px;min-height:128px;display:flex;flex-direction:column;gap:4px;transition:.16s ease;text-align:left}
.palace:hover{background:#22333f;border-color:#54666f}
.palace.active{background:#2a3831;border-color:#d5bc91;box-shadow:inset 0 0 0 1px #d5bc9177,0 0 18px #d5bc9122}
.palace.rel-opp{background:#232d26;border-color:#8f7d55;box-shadow:inset 0 0 0 1px #8f7d5544}
.palace.rel-tri{background:#1f2b2e;border-color:#5d6a66}
.palace .palace-head b{font-size:14px;color:#d7e0dd;font-weight:400;letter-spacing:.14em}
.palace.active .palace-head b{color:#e8c86a}
.palace .palace-head em{font-size:10px;color:#93a5a0;letter-spacing:.08em}
.palace.active .palace-head em{color:#c2ab7c}
.palace .star-name{font-size:18px;color:#f0d9a8;letter-spacing:.04em}
.palace .star-unit{display:inline-flex;align-items:center;gap:3px}
.palace .star-meta{font-size:10px;color:#7fa3ad;border:0;padding:0;margin-left:1px}
.palace .mutagen{width:19px;height:19px;font-size:10px;border-width:1.5px}
.palace .mutagen.lu{color:#d98c7a}.palace .mutagen.quan{color:#8fb8d9}.palace .mutagen.ke{color:#b99ad9}.palace .mutagen.ji{color:#6f8f7a}
.palace .minor-stack{font-size:10px;line-height:1.8;color:#b7c4c0}
.palace .minor-stack .soft{color:#c2d3a3}
.palace .minor-stack .tough{color:#d8a296}
.palace .flow-badge{font-size:9.5px;color:#d8c49a;border-top-color:#40525a;letter-spacing:.05em}
.palace .decadal-range{font-size:8.5px;color:#88a0a8}
.palace .borrow-tag{font-style:normal;font-size:8.5px;color:#8fa39c;border:1px solid #54665f;border-radius:2px;padding:0 3px;margin-left:2px;letter-spacing:.08em}
.palace .star-unit.borrowed .star-name{color:#a9bfb4;font-size:14.5px;opacity:.92}
.chart-center b,.chart-center{color:#dce4df}
.chart-recordbar{background:#131f28;border:1px solid #2e3f48;border-radius:4px}
.chart-toolbar{background:#131f28cc;border:1px solid #2e3f48;border-radius:4px;padding:8px 10px}
.mode-switch button,.flow-switch button,.layer-chips button{background:#1b2a35;color:#b7c4c0;border:1px solid #3a4d55}
.mode-switch button.active,.flow-switch button.active,.layer-chips button.active{background:#2a3831;color:#e8c86a;border-color:#d5bc9188}
.observation-panel{background:#101d26;border:1px solid #33444e;border-radius:4px;padding:20px 22px}
.observation-panel .overline,.obs-head small{color:#b7a37b}
.obs-section li,.obs-section small{color:#c3ceca}
.obs-section small{color:#a99b76;letter-spacing:.18em}
.note-field textarea{background:#0d1720;border-color:#33444e;color:#dce4df}
.star-study b{color:#e8c86a}
/* 手機：保持簡潔（隱藏 meta/輔星/流年，主星大字） */
@media(max-width:560px){
  .chart-layout{grid-template-columns:1fr}
  .ziwei-board{padding:8px;gap:4px;border-radius:3px}
  .palace{padding:6px 5px;min-height:0;aspect-ratio:auto}
  .palace .palace-head b{font-size:11px}
  .palace .star-name{font-size:13px}
  .palace .star-meta,.palace .minor-stack,.palace .flow-badge,.palace .decadal-range{display:none}
  .palace .mutagen{width:15px;height:15px;font-size:8px}
  .chart-toolbar{grid-template-columns:1fr;padding:8px}
  .chart-toolbar .flow-date{display:none}
}
/* ═══ 時間軸 & 星曜彈窗（2026-09-09 v4）═══ */
.time-axis{display:flex;align-items:stretch;gap:14px;background:#101d26;border:1px solid #33444e;border-radius:4px;padding:10px 14px;margin:14px 0 4px}
.axis-label{display:flex;align-items:center;font-size:10px;letter-spacing:.24em;color:#b7a37b;writing-mode:vertical-rl;padding-right:10px;border-right:1px solid #33444e}
.flow-switch{display:flex;gap:8px;flex:1}
.flow-switch button{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#1b2a35;border:1px solid #3a4d55;border-radius:3px;padding:9px 13px;cursor:pointer;transition:.15s}
.flow-switch button b{font:400 13px var(--serif);color:#c8d3cf;letter-spacing:.08em}
.flow-switch button small{font-size:10px;color:#8ba0a0;font-family:var(--sans)}
.flow-switch button.active{background:#2a3831;border-color:#d5bc9188}
.flow-switch button.active b{color:#e8c86a}
.flow-switch button.active small{color:#c2ab7c}
/* 星曜弹窗 */
.star-sheet{position:relative;max-width:460px;width:calc(100% - 40px);margin:12vh auto;background:#101d27;border:1px solid #3b4f52;border-radius:4px;padding:34px 36px;box-shadow:0 30px 80px #000000aa}
.star-sheet h2{font:400 34px var(--serif);color:#e8c86a;margin:10px 0 6px;letter-spacing:.12em}
.star-basic{font-size:12px;color:#aebcb8;letter-spacing:.08em;line-height:1.9}
.star-detail{font-size:14.5px;line-height:2.05;color:#d8e0dc;margin-top:14px}
.star-course{display:inline-block;margin-top:18px;font-size:11px;color:#d8c49a;border:1px solid #d5bc9155;border-radius:2px;padding:7px 12px;letter-spacing:.06em}
.star-note{font-size:10.5px;color:#7f938d;line-height:1.8;margin-top:16px;border-top:1px dashed #33444e;padding-top:12px}
.star-modal .modal-backdrop{background:#04090dcc}
@media(max-width:560px){
  .time-axis{flex-direction:column;gap:8px;padding:10px}
  .axis-label{writing-mode:horizontal-tb;border-right:0;border-bottom:1px solid #33444e;padding:0 0 6px}
  .star-sheet{padding:26px 22px}
}
/* ═══ 飛化 SVG & 宮位放大 & 紙本淺色皮膚（2026-09-09 v5）═══ */
.ziwei-board{position:relative}
#flySvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#flightChip.active{background:#b0452f!important;color:#fff!important;border-color:#b0452f!important}
.zoom-sheet{position:relative;max-width:600px;width:calc(100% - 36px);margin:9vh auto;background:#101d27;border:1px solid #3b4f52;border-radius:4px;padding:32px 36px;box-shadow:0 30px 80px #000000aa;max-height:82vh;overflow:auto}
.zoom-sheet h2{font:400 30px var(--serif);color:#e8c86a;letter-spacing:.14em;margin:8px 0 4px}
.zoom-meta{font-size:11.5px;color:#93a5a0;letter-spacing:.08em}
.zoom-stars{margin:16px 0 6px;border-block:1px solid #33444e;padding:14px 0}
.zmain{display:flex;flex-wrap:wrap;gap:10px 18px}
.zstar{display:flex;align-items:baseline;gap:7px;font-size:22px;color:#f0d9a8;font-family:var(--serif)}
.zstar i{font-style:normal;font-size:13px;color:#7fa3ad;font-family:var(--sans)}
.zstar em{font-style:normal;font-size:11px;color:#93a5a0;font-family:var(--sans)}
.zstar .mutagen{width:20px;height:20px;font-size:11px;transform:translateY(2px)}
.zempty{color:#93a5a0;font-size:14px;letter-spacing:.2em}
.zminor-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.zminor{font-size:11px;color:#b7c4c0;border:1px solid #3a4d55;border-radius:2px;padding:3px 8px}
.zminor.soft{color:#c2d3a3;border-color:#4a6a4a}
.zminor.tough{color:#d8a296;border-color:#6a4a44}
.zoom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.zoom-grid section{background:#16242e;border:1px solid #33444e;border-radius:3px;padding:14px 16px}
.zoom-grid section small{display:block;font-size:9.5px;letter-spacing:.22em;color:#b7a37b;margin-bottom:8px}
.zoom-grid section p{font-size:12.5px;line-height:1.85;color:#c3ceca;margin:0}
.zoom-grid section p b{color:#d8c49a;font-weight:400}
.zrel{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed #2c3d45;font-size:12px}
.zrel b{color:#c8d3cf;font-weight:400}
.zrel span{color:#93a5a0}
.zoom-grid section:last-child{grid-column:1/-1}
.zoom-note{font-size:10.5px;color:#7f938d;margin-top:14px;border-top:1px dashed #33444e;padding-top:10px;line-height:1.8}

/* ═══════════════════════════════════════════════
   紙本淺色皮膚（宣紙暖白 × 墨色 × 朱砂）— 命盤工具主皮膚
   作用域：#page-chart + 命盤流程 modal；預設啟用
   ═══════════════════════════════════════════════ */
body[data-skin="light"] #page-chart{background:#f7f4ec}
body[data-skin="light"] #page-chart .page-intro h1{color:#4a3f2f}
body[data-skin="light"] #page-chart .page-intro>p:last-child{color:#6f6757}
body[data-skin="light"] .chart-recordbar,body[data-skin="light"] .chart-toolbar{background:#fbf8f1;border-color:#ded6c4}
body[data-skin="light"] .chart-recordbar label span,body[data-skin="light"] .privacy-note,body[data-skin="light"] .text-action{color:#6f6757}
body[data-skin="light"] .chart-recordbar select,body[data-skin="light"] .flow-date input{background:#ffffff;color:#4a3f2f;border-color:#ded6c4}
body[data-skin="light"] .mode-switch button,body[data-skin="light"] .layer-chips button{background:#ffffff;color:#6f6757;border-color:#ddd5c3}
body[data-skin="light"] .mode-switch button.active,body[data-skin="light"] .layer-chips button.active{background:#4a3f2f;color:#f3e9d2;border-color:#4a3f2f}
body[data-skin="light"] .ziwei-board{background:#efeae0;border-color:#d5cdbb;box-shadow:0 18px 40px #8a7a5c22}
body[data-skin="light"] .palace{background:#ffffff;border-color:#ddd5c3}
body[data-skin="light"] .palace:hover{background:#f5efe2;border-color:#b7a67e}
body[data-skin="light"] .palace.active{background:#f5e9cf;border-color:#b0452f;box-shadow:inset 0 0 0 1px #b0452f66,0 0 14px #b0452f22}
body[data-skin="light"] .palace.rel-opp{background:#f6f0dd;border-color:#a8905c;box-shadow:inset 0 0 0 1px #a8905c44}
body[data-skin="light"] .palace.rel-tri{background:#f0f2e4;border-color:#a9b08a}
body[data-skin="light"] .palace .palace-head b{color:#3b3833}
body[data-skin="light"] .palace.active .palace-head b{color:#9a3a24}
body[data-skin="light"] .palace .palace-head em{color:#8a7f68}
body[data-skin="light"] .palace .star-name{color:#26221c}
body[data-skin="light"] .palace .star-meta{color:#7d8891}
body[data-skin="light"] .palace .mutagen.lu{color:#c0492f}
body[data-skin="light"] .palace .mutagen.quan{color:#2b5f96}
body[data-skin="light"] .palace .mutagen.ke{color:#6a4f9a}
body[data-skin="light"] .palace .mutagen.ji{color:#347a55}
body[data-skin="light"] .palace .minor-stack{color:#5f6656}
body[data-skin="light"] .palace .minor-stack .soft{color:#4e7a5e}
body[data-skin="light"] .palace .minor-stack .tough{color:#a84f33}
body[data-skin="light"] .palace .flow-badge{color:#8a6d3b;border-top-color:#ddd0b4}
body[data-skin="light"] .palace .decadal-range{color:#8a7f68}
body[data-skin="light"] .palace .star-unit.borrowed .star-name{color:#6a7f6f}
body[data-skin="light"] .palace .borrow-tag{color:#7d6a4a;border-color:#bfae8a}
body[data-skin="light"] .chart-center b,body[data-skin="light"] .chart-center div{color:#3b3833}
body[data-skin="light"] .chart-center small{color:#8a7f68}
body[data-skin="light"] .time-axis{background:#fbf8f1;border-color:#ded6c4}
body[data-skin="light"] .axis-label{color:#8a6d3b;border-right-color:#d5c9ae}
body[data-skin="light"] .flow-switch button{background:#ffffff;border-color:#ddd5c3}
body[data-skin="light"] .flow-switch button b{color:#4a3f2f}
body[data-skin="light"] .flow-switch button small{color:#8a7f68}
body[data-skin="light"] .flow-switch button.active{background:#4a3f2f;border-color:#4a3f2f}
body[data-skin="light"] .flow-switch button.active b{color:#f3e9d2}
body[data-skin="light"] .flow-switch button.active small{color:#cdbb96}
body[data-skin="light"] .observation-panel{background:#fbf8f1;border-color:#ded6c4}
body[data-skin="light"] .observation-panel .overline,body[data-skin="light"] .obs-head small,body[data-skin="light"] .obs-section small{color:#8a6d3b}
body[data-skin="light"] .obs-section li,body[data-skin="light"] .obs-section li b{color:#4a463c}
body[data-skin="light"] .obs-section .method li{color:#4a463c}
body[data-skin="light"] .note-field textarea{background:#ffffff;border-color:#ded6c4;color:#3b3833}
body[data-skin="light"] .note-field label span{color:#8a6d3b}
body[data-skin="light"] .star-study b{color:#9a3a24}
body[data-skin="light"] .star-study em{color:#7d6a4a}
body[data-skin="light"] .star-study p{color:#55504a}
body[data-skin="light"] .boundary-alert{background:#f7ead2;color:#7a5a20;border-color:#d9bc7a}
/* 命盤流程 modal 淺色 */
body[data-skin="light"] .chart-modal .modal-backdrop,body[data-skin="light"] .rules-modal .modal-backdrop,body[data-skin="light"] .star-modal .modal-backdrop,body[data-skin="light"] .zoom-modal .modal-backdrop{background:#4a4030cc}
body[data-skin="light"] .chart-sheet,body[data-skin="light"] .rules-sheet,body[data-skin="light"] .star-sheet,body[data-skin="light"] .zoom-sheet{background:#fdfbf6;border-color:#ddd5c3}
body[data-skin="light"] .chart-sheet h2,body[data-skin="light"] .rules-sheet h2,body[data-skin="light"] .star-sheet h2,body[data-skin="light"] .zoom-sheet h2{color:#4a3a20}
body[data-skin="light"] .chart-sheet p,body[data-skin="light"] .rules-sheet p,body[data-skin="light"] .rules-list dd,body[data-skin="light"] .star-detail,body[data-skin="light"] .zoom-grid section p,body[data-skin="light"] .zrel span{color:#4a463c}
body[data-skin="light"] .chart-sheet label>span,body[data-skin="light"] .form-grid legend,body[data-skin="light"] .switch-field b{color:#6a5a3a}
body[data-skin="light"] .chart-sheet input,body[data-skin="light"] .chart-sheet select{background:#ffffff;border-color:#ded6c4;color:#3b3833}
body[data-skin="light"] .rules-list dt{color:#9a3a24}
body[data-skin="light"] .star-basic{color:#7d6a4a}
body[data-skin="light"] .star-course{color:#7a5a20;border-color:#b0452f55}
body[data-skin="light"] .star-note,body[data-skin="light"] .zoom-note{color:#8a7f68;border-top-color:#ddd0b4}
body[data-skin="light"] .time-preview{background:#f1e9d4;color:#55504a}
body[data-skin="light"] .time-preview span{color:#8a6d3b}
body[data-skin="light"] .zoom-meta{color:#8a7f68}
body[data-skin="light"] .zstar{color:#26221c}
body[data-skin="light"] .zstar i{color:#7d8891}
body[data-skin="light"] .zstar em{color:#8a7f68}
body[data-skin="light"] .zstar .mutagen.lu{color:#c0492f}
body[data-skin="light"] .zoom-grid section{background:#ffffff;border-color:#e0d8c6}
body[data-skin="light"] .zoom-grid section small{color:#8a6d3b}
body[data-skin="light"] .zrel{border-bottom-color:#e2d8c0}
body[data-skin="light"] .zrel b{color:#3b3833}
body[data-skin="light"] .zminor{color:#5f6656;border-color:#d5c9ae}
body[data-skin="light"] .zminor.soft{color:#4e7a5e}
body[data-skin="light"] .zminor.tough{color:#a84f33}
@media(max-width:560px){
  .zoom-grid{grid-template-columns:1fr}
  .zoom-sheet{padding:22px 18px}
}

/* ═══ 行運推演軌道（2026-09-09 v6）═══ */
.chart-tool-surface{min-width:0}
.chart-viewbar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:8px;border:1px solid #33444e;border-radius:4px;overflow:hidden;background:#101d26}
.chart-viewbar button{display:flex;align-items:baseline;justify-content:center;gap:8px;min-height:46px;padding:7px 10px;border:0;border-right:1px solid #33444e;background:transparent;color:#91a39f;cursor:pointer;transition:.16s ease}
.chart-viewbar button:last-child{border-right:0}
.chart-viewbar button:hover{background:#1a2b34;color:#d6dfdb}
.chart-viewbar button.active{background:#2a3831;color:#edcf83;box-shadow:inset 0 -2px 0 #d6b767}
.chart-viewbar b{font:400 14px var(--serif);letter-spacing:.12em}
.chart-viewbar small{font-size:9px;color:#718788;letter-spacing:.05em}
.chart-viewbar button.active small{color:#baa775}
#chartWorkspace[data-chart-view="trines"] .palace:not(.active):not(.rel-opp):not(.rel-tri){opacity:.35;filter:saturate(.45)}
#chartWorkspace[data-chart-view="trines"] .palace.active,#chartWorkspace[data-chart-view="trines"] .palace.rel-opp,#chartWorkspace[data-chart-view="trines"] .palace.rel-tri{transform:translateY(-1px)}
#chartWorkspace[data-chart-view="mutagens"] .palace .star-unit:not(:has(.mutagen)){opacity:.42}
#chartWorkspace[data-chart-view="mutagens"] .palace .mutagen{box-shadow:0 0 0 2px #d5bc9117,0 0 12px currentColor}
.fortune-dock{margin-top:12px;background:#101d26;border:1px solid #33444e;border-radius:4px;overflow:hidden;box-shadow:0 14px 36px #00000022}
.fortune-dock-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 15px;border-bottom:1px solid #33444e;background:linear-gradient(90deg,#172730,#101d26)}
.fortune-dock-head>div{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.fortune-dock-head span{font-size:9px;letter-spacing:.2em;color:#8b9f9e}
.fortune-dock-head b{font:400 14px var(--serif);letter-spacing:.12em;color:#d9c394}
.fortune-dock-head p{margin:0;font-size:10px;color:#8fa29f;letter-spacing:.04em}
.fortune-dock-head i{display:inline-grid;place-items:center;width:24px;height:18px;margin-right:4px;border:1px solid #4b605f;border-radius:10px;color:#d9c394;font-style:normal}
.fortune-row{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:66px;border-bottom:1px solid #293b43}
.fortune-row:last-child{border-bottom:0}
.fortune-label{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:10px 14px;border:0;border-right:1px solid #33444e;background:#14232c;color:#b7c5c1;cursor:pointer;text-align:left}
.fortune-label:after{content:'›';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#5f7475;font-size:18px}
.fortune-label b{font:400 15px var(--serif);letter-spacing:.14em}
.fortune-label small{font-size:9px;color:#788e91;letter-spacing:.08em}
.fortune-label.active{background:#28372f;color:#edcf83}
.fortune-label.active small{color:#c0aa78}
.fortune-track{display:grid;grid-auto-flow:column;grid-auto-columns:112px;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;touch-action:pan-y;background:linear-gradient(90deg,#12212a,#0e1a23);outline:0;user-select:none;-webkit-user-select:none}
.fortune-track::-webkit-scrollbar{display:none}
.fortune-track.is-dragging{cursor:grabbing;scroll-behavior:auto}
.fortune-cell{position:relative;scroll-snap-align:center;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;padding:10px 12px;border:0;border-right:1px solid #2e4148;background:transparent;color:#c0cbc7;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}
.fortune-cell:hover{background:#1d3038}
.fortune-cell b{font:500 13px var(--serif);letter-spacing:.05em;white-space:nowrap}
.fortune-cell small{font-size:9px;line-height:1.4;color:#7f9495;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fortune-cell.is-current{background:linear-gradient(180deg,#3a4034,#26352f);color:#f2d789;box-shadow:inset 0 3px 0 #d6b767,inset 0 0 0 1px #d6b76744}
.fortune-cell.is-current small{color:#d1bc89}
.fortune-track:focus-visible{box-shadow:inset 0 0 0 2px #d6b767aa}

body[data-skin="light"] .fortune-dock{background:#f6f1e6;border-color:#cfc1a3;box-shadow:0 14px 34px #806f4e24}
body[data-skin="light"] .chart-viewbar{background:#f6f1e6;border-color:#cfc1a3}
body[data-skin="light"] .chart-viewbar button{color:#756b59;border-right-color:#d5c9ae}
body[data-skin="light"] .chart-viewbar button:hover{background:#f1e8d6;color:#3f3a32}
body[data-skin="light"] .chart-viewbar button.active{background:#4a3f2f;color:#f2ddb0;box-shadow:inset 0 -2px 0 #b0452f}
body[data-skin="light"] .chart-viewbar button.active small{color:#d8c49a}
body[data-skin="light"] .fortune-dock-head{background:linear-gradient(90deg,#eee5d2,#f8f3e8);border-bottom-color:#d5c9ae}
body[data-skin="light"] .fortune-dock-head span,body[data-skin="light"] .fortune-dock-head p{color:#807663}
body[data-skin="light"] .fortune-dock-head b{color:#5a4728}
body[data-skin="light"] .fortune-dock-head i{border-color:#b7a47e;color:#9a3a24}
body[data-skin="light"] .fortune-row{border-bottom-color:#ddd1b7}
body[data-skin="light"] .fortune-label{background:#eee6d6;border-right-color:#d5c9ae;color:#4a3f2f}
body[data-skin="light"] .fortune-label small{color:#8a7f68}
body[data-skin="light"] .fortune-label.active{background:#4a3f2f;color:#f3e1b9}
body[data-skin="light"] .fortune-label.active small{color:#d8c49a}
body[data-skin="light"] .fortune-track{background:linear-gradient(90deg,#fffdf7,#f9f4e8)}
body[data-skin="light"] .fortune-cell{border-right-color:#e2d7bf;color:#3f3a32}
body[data-skin="light"] .fortune-cell:hover{background:#f1e8d6}
body[data-skin="light"] .fortune-cell small{color:#897e68}
body[data-skin="light"] .fortune-cell.is-current{background:linear-gradient(180deg,#f2e6c9,#ead9b3);color:#8f321f;box-shadow:inset 0 3px 0 #b0452f,inset 0 0 0 1px #b0452f44}
body[data-skin="light"] .fortune-cell.is-current small{color:#6f5938}

@media(max-width:760px){
  .fortune-dock-head{align-items:flex-start;padding:10px 12px}
  .fortune-dock-head p{max-width:210px;line-height:1.55;text-align:right}
  .fortune-row{grid-template-columns:76px minmax(0,1fr);min-height:61px}
  .fortune-label{padding:8px 10px}
  .fortune-label b{font-size:13px}
  .fortune-label:after{right:7px}
  .fortune-track{grid-auto-columns:98px}
  .fortune-cell{padding:8px 10px}
}
@media(max-width:560px){
  .chart-viewbar button{flex-direction:column;align-items:center;gap:2px;min-height:49px;padding:6px 3px}
  .chart-viewbar b{font-size:13px}
  .chart-viewbar small{font-size:8px}
  .fortune-dock{margin-inline:-8px}
  .fortune-dock-head>div{display:block}
  .fortune-dock-head span{display:block;margin-bottom:3px}
  .fortune-dock-head p{font-size:9px;max-width:155px}
  .fortune-row{grid-template-columns:68px minmax(0,1fr)}
  .fortune-label{padding-inline:8px}
  .fortune-label small{font-size:8px}
  .fortune-track{grid-auto-columns:88px}
  .fortune-cell b{font-size:12px}
  .fortune-cell small{font-size:8px}
  .palace .flow-badge{display:block;font-size:7px;padding-top:2px;line-height:1.25}
}

/* ═══════════════════════════════════════════════════════════════
   CELESTIAL OBSIDIAN · 全站高級星辰色彩系統（2026-09-09 v7）
   曜石夜空 / 星霧靛藍 / 冷玉青 / 香檳金
   ═══════════════════════════════════════════════════════════════ */
.sidebar{background:rgba(6,13,24,.9);border-bottom-color:#223550;box-shadow:0 12px 42px #0000003d}
.brand-mark{color:#e0c77f;filter:drop-shadow(0 0 12px #d9bd7150)}
.brand small{color:#72849b}
.nav-item{color:#8b9bb0}
.nav-item:hover{color:#e8eef6}
.nav-item.active{color:#f0dfb6}
.nav-item.active:after{background:linear-gradient(90deg,transparent,#e0c77f 18%,#8da1ff 82%,transparent);box-shadow:0 0 14px #8da1ff55}
.topbar{color:#aebccd}
.eyebrow{color:#778ba4}.context-divider{background:#304762}.subject-context{color:#b7c5d5}.subject-context i{color:#dfc47d;text-shadow:0 0 12px #dfc47d88}
.icon-button{border-color:#2a3c55;color:#aab9cb;background:#0b1725}.icon-button:hover{border-color:#6f83a2;color:#f1dfb6}
.avatar{background:linear-gradient(145deg,#233451,#111f32);border-color:#465d7d;color:#ead69f;box-shadow:inset 0 0 18px #8397d722}
.home-hero{border-color:#263b59;background:radial-gradient(ellipse at 76% 42%,rgba(84,104,196,.24),transparent 42%),radial-gradient(ellipse at 58% 100%,rgba(52,133,147,.13),transparent 42%),linear-gradient(125deg,#0c1727,#0a1422 48%,#101a31);box-shadow:0 32px 90px #0000004d,inset 0 1px 0 #9fb5df16}
.home-hero .hero-kicker,.hero-copy h1 em{color:#e0c77f}.hero-copy>p:not(.hero-kicker){color:#9aabbe}
.celestial-disc{filter:drop-shadow(0 0 30px #7385ce18)}
.button.primary{background:linear-gradient(135deg,#ead79c,#c9a95f);border-color:#f0dda7;color:#101827;box-shadow:0 8px 24px #bd9a4930}
.button.primary:hover{background:linear-gradient(135deg,#f2e2b1,#d2b66e);box-shadow:0 10px 30px #c8aa5a45}
.button.secondary{background:linear-gradient(135deg,#233755,#17263e);border-color:#415d81;color:#edf2f8}
.button.ghost,.button.ghost.dark{border-color:#354c69;color:#c5d1df;background:#0c182622}
.button.ghost:hover{border-color:#6e82a3;background:#7f98c410}
.section-index{color:#8b9db3;border-color:#2e435e}.section-heading h2{color:#e8edf4}.date-chip{color:#9dafc1}
.lesson-card,.day-item,.case-card,.level,.service-card{background:#0d1928;border-color:#213651;box-shadow:inset 0 1px 0 #9db9e00b}
.card-media{background:radial-gradient(ellipse at 50% 75%,#243957,transparent 58%),linear-gradient(150deg,#08121f,#13233a)}
.card-content h3,.card-title-row h3,.task b{color:#e4ebf3}.card-content p,.task small{color:#8295aa}
.progress-line{background:#20344d}.progress-line i{background:linear-gradient(90deg,#6186c7,#e0c77f)}
.task-card{border-left-color:#263b55}.task{border-top-color:#20334b}.check{border-color:#405875}.task input:checked+.check{background:#5870b8;border-color:#8ba0e4}
.insight-grid{border-color:#243850}.insight-card{border-color:#243850}.insight-card:hover{background:#6f83ca0c}.insight-card small,.meta,.text-link{color:#cbb274}.insight-card p{color:#8396aa}
.page-intro{border-color:#243850}.page-intro h1{color:#eef2f7}.page-intro>p:last-child,.inline-intro>div>p:last-child{color:#8fa1b5}
.academy-programs,.course-tabs{border-color:#263a53}.program.active{background:linear-gradient(135deg,#172945,#102337);border-color:#425d80;box-shadow:inset 0 1px 0 #bed2f01a}.program-symbol{border-color:#a58e55;color:#e0c77f}
.day-item:hover{background:#13243a;border-color:#375274}.day-item.current{background:linear-gradient(135deg,#24375a,#172c42);border-color:#8f7e57;box-shadow:inset 0 2px 0 #e0c77f}.day-item.locked{background:#091421;border-color:#1b2b40}
.stage-grid{border-color:#283c55}.stage{border-color:#283c55}.stage.active{background:linear-gradient(145deg,#15283f,#101f33);box-shadow:inset 0 2px 0 #c7a95f}
.conversion-panel,.lesson-objective{background:linear-gradient(135deg,#12243a,#10212f);border-color:#304a68}
.profile-hero{background:radial-gradient(ellipse at 76% 40%,#283d68,#101d31 58%,#0b1727);border-color:#2e4666;box-shadow:inset 0 1px 0 #afc4ea18}
.profile-stats{border-color:#283e59}.profile-stats div{border-color:#283e59}.profile-stats b{color:#e0c77f}.archive-list button{border-color:#243950}.service-card{background:linear-gradient(150deg,#14283a,#0d1c2c)}
.level-strip{border-color:#2a405b}.level{border-color:#263b54}.level.active{background:linear-gradient(145deg,#263b5c,#192d45);color:#ead9ad}.case-facts div{background:#132337}.case-facts,.case-facts div+div{border-color:#2b415b}
.lesson-sheet,.chart-sheet,.rules-sheet,.star-sheet,.zoom-sheet{background:linear-gradient(145deg,#0e1b2b,#091421);border-color:#2d4460}.video-stage,.video-placeholder{background:radial-gradient(ellipse,#253b60,#07111e 68%)}
.toast{border-color:#506787;background:#172841;color:#f1e4c4;box-shadow:0 18px 46px #0008}

/* 命盤主工作面 */
#page-chart{background:transparent}
.chart-recordbar,.chart-toolbar,.time-axis,.chart-viewbar,.fortune-dock,.observation-panel{background:#0c1827;border-color:#263b55;box-shadow:inset 0 1px 0 #9eb8dd0a}
.chart-recordbar select,.flow-date input{color:#e7d7aa;border-color:#49607c}.privacy-note{color:#8294a8;border-color:#354c67}.text-action{color:#aab8c9}
.mode-switch,.flow-switch{background:#0a1523;border-color:#293d56}
.mode-switch button,.flow-switch button,.layer-chips button{background:#101e30;color:#95a7ba;border-color:#2b415c}
.mode-switch button:hover,.flow-switch button:hover,.layer-chips button:hover{background:#172a42;border-color:#496786;color:#dfe7ef}
.mode-switch button.active,.flow-switch button.active,.layer-chips button.active{background:linear-gradient(135deg,#263a5d,#1d304c);border-color:#7282b4;color:#f0d98f;box-shadow:inset 0 0 0 1px #c6b16e22}
.axis-label,.observation-panel .overline,.obs-head small,.obs-section small{color:#c5aa65}.axis-label{border-color:#2b4059}
.chart-viewbar button{border-color:#263b55;color:#8fa2b7}.chart-viewbar button:hover{background:#14263c}.chart-viewbar button.active{background:linear-gradient(135deg,#263b5d,#172b45);color:#f0d98f;box-shadow:inset 0 -2px 0 #e0c77f}
.chart-viewbar button.active small{color:#b9c7da}
.ziwei-board{background:#07111d;border-color:#2b4260;box-shadow:0 24px 70px #00000055,inset 0 0 70px #5e70bd08}
.palace,#chartWorkspace[data-mode="pro"] .palace,#chartWorkspace[data-mode="learn"] .palace{background:linear-gradient(145deg,#101d2d,#0b1725);border-color:#243a54;color:#c7d2df}
.palace:hover{background:linear-gradient(145deg,#172a42,#102238);border-color:#4d6a8c}
.palace.active{background:linear-gradient(145deg,#293b5f,#172d48)!important;border-color:#e0c77f;box-shadow:inset 0 0 0 1px #e0c77f55,0 0 24px #7185d22e}
.palace.rel-opp{background:linear-gradient(145deg,#172946,#12223a)!important;border-color:#647fc2;box-shadow:inset 0 0 0 1px #718bd044}
.palace.rel-tri{background:linear-gradient(145deg,#112b38,#102331)!important;border-color:#3f7d86}
.palace .palace-head b{color:#d8e1ec}.palace.active .palace-head b{color:#f3dc96}.palace .palace-head em{color:#8296ad}.palace.active .palace-head em{color:#c9b780}
.palace .star-name{color:#f0e5c8;text-shadow:0 0 14px #d8bd7030}.palace .star-meta{color:#78a7c0}.palace .minor-stack{color:#9baaba}.palace .minor-stack .soft{color:#7fc4ab}.palace .minor-stack .tough{color:#d58f91}.palace .flow-badge{color:#d7c180;border-color:#2d4661}.palace .decadal-range{color:#72879e}
.palace .mutagen.lu{color:#59bf90}.palace .mutagen.quan{color:#e0b45f}.palace .mutagen.ke{color:#75a9e6}.palace .mutagen.ji{color:#d56f7b}
.chart-center{background:radial-gradient(circle at 50% 38%,#243961,#101d32 48%,#07121f 78%);box-shadow:inset 0 0 70px #7588d31a}.chart-center .center-name{color:#f0f2f5}.chart-center .center-meta{color:#e0c77f}.chart-center .center-date{color:#90a2b8}.chart-center .center-rule{color:#7489a1;border-color:#2a415d}
.observation-panel{background:linear-gradient(155deg,#0e1c2c,#091522)}.obs-head p,.study-star p{color:#91a3b6}.obs-section li,.obs-section li b{color:#c9d3df}.note-field textarea{background:#08131f;border-color:#2b425e;color:#e7edf3}
.fortune-dock-head{background:linear-gradient(90deg,#111f34,#0b1726);border-color:#263b55}.fortune-dock-head b{color:#e0c77f}.fortune-dock-head span,.fortune-dock-head p{color:#8094ab}.fortune-row{border-color:#20354e}.fortune-label{background:#0e1b2c;border-color:#263b55;color:#b7c5d4}.fortune-label.active{background:linear-gradient(145deg,#273b5d,#172c47);color:#f0d98f}.fortune-track{background:linear-gradient(90deg,#0a1523,#0d1929)}.fortune-cell{border-color:#223851;color:#b8c5d3}.fortune-cell:hover{background:#14263c}.fortune-cell.is-current{background:linear-gradient(180deg,#2b4066,#192f4c);color:#f2dda0;box-shadow:inset 0 3px 0 #e0c77f,inset 0 0 0 1px #788bc044}.fortune-cell.is-current small{color:#aebdd0}
#flightChip.active{background:#5d6fc5!important;border-color:#8e9ee9!important;box-shadow:0 0 20px #7184dc55!important}

/* 冷月白皮膚：保留閱讀選項，不再使用土黃宣紙 */
body[data-skin="light"]{color-scheme:light}
body[data-skin="light"] #page-chart{background:linear-gradient(180deg,#edf2f7,#e8eef5)}
body[data-skin="light"] #page-chart .page-intro h1{color:#172438}
body[data-skin="light"] #page-chart .page-intro>p:last-child{color:#617086}
body[data-skin="light"] .chart-recordbar,body[data-skin="light"] .chart-toolbar,body[data-skin="light"] .time-axis,body[data-skin="light"] .chart-viewbar,body[data-skin="light"] .fortune-dock,body[data-skin="light"] .observation-panel{background:#f8fafc;border-color:#c8d3df;box-shadow:0 12px 34px #334c6920}
body[data-skin="light"] .chart-recordbar label span,body[data-skin="light"] .privacy-note,body[data-skin="light"] .text-action{color:#617086}
body[data-skin="light"] .chart-recordbar select,body[data-skin="light"] .flow-date input{background:#fff;color:#1e2b3d;border-color:#aebdcd}
body[data-skin="light"] .mode-switch button,body[data-skin="light"] .flow-switch button,body[data-skin="light"] .layer-chips button{background:#f1f5f9;color:#596a80;border-color:#c8d3df}
body[data-skin="light"] .mode-switch button.active,body[data-skin="light"] .flow-switch button.active,body[data-skin="light"] .layer-chips button.active{background:linear-gradient(135deg,#263957,#182a44);color:#f1dda2;border-color:#263957}
body[data-skin="light"] .chart-viewbar button{color:#5f6f83;border-color:#ced8e3}
body[data-skin="light"] .chart-viewbar button:hover{background:#e8eef5;color:#1c2a3e}
body[data-skin="light"] .chart-viewbar button.active{background:linear-gradient(135deg,#293d60,#192c48);color:#f2dda0}
body[data-skin="light"] .ziwei-board{background:#d2dbe6;border-color:#aebcca;box-shadow:0 22px 60px #435b772c}
body[data-skin="light"] .palace,body[data-skin="light"] #chartWorkspace[data-mode="pro"] .palace,body[data-skin="light"] #chartWorkspace[data-mode="learn"] .palace{background:linear-gradient(145deg,#ffffff,#f5f8fb);border-color:#cbd6e1;color:#243247}
body[data-skin="light"] .palace:hover{background:#eef3f8;border-color:#869bb5}
body[data-skin="light"] .palace.active{background:linear-gradient(145deg,#fff7df,#f3e6bd)!important;border-color:#a78638;box-shadow:inset 0 0 0 1px #b7974d55,0 0 18px #9a7b3340}
body[data-skin="light"] .palace.rel-opp{background:linear-gradient(145deg,#e7edfb,#dce5f7)!important;border-color:#7087be}
body[data-skin="light"] .palace.rel-tri{background:linear-gradient(145deg,#e4f2f2,#daecee)!important;border-color:#5f9298}
body[data-skin="light"] .palace .palace-head b{color:#253246}
body[data-skin="light"] .palace.active .palace-head b{color:#8b6a21}
body[data-skin="light"] .palace .palace-head em{color:#6f8095}
body[data-skin="light"] .palace .star-name{color:#172233;text-shadow:none}
body[data-skin="light"] .palace .flow-badge{color:#8b6b27;border-color:#c9d4df}
body[data-skin="light"] .chart-center,body[data-skin="light"] .chart-center div{color:#edf2f8;background:radial-gradient(circle at 50% 38%,#334b77,#1b2f4c 52%,#101e31 82%)}
body[data-skin="light"] .chart-center .center-name{color:#f4f6f8}
body[data-skin="light"] .chart-center .center-meta{color:#ead289}
body[data-skin="light"] .chart-center .center-date{color:#bdcad8}
body[data-skin="light"] .fortune-dock-head{background:linear-gradient(90deg,#edf2f7,#f8fafc);border-color:#cbd6e1}
body[data-skin="light"] .fortune-dock-head b{color:#263957}
body[data-skin="light"] .fortune-dock-head span,body[data-skin="light"] .fortune-dock-head p{color:#6b7b8f}
body[data-skin="light"] .fortune-row{border-color:#d2dce6}
body[data-skin="light"] .fortune-label{border-color:#cbd6e1}
body[data-skin="light"] .fortune-label{background:#edf2f7;color:#26364b}
body[data-skin="light"] .fortune-label.active{background:linear-gradient(145deg,#2d4266,#1a2e4b);color:#f2dda0}
body[data-skin="light"] .fortune-track{background:linear-gradient(90deg,#fff,#f4f7fa)}
body[data-skin="light"] .fortune-cell{border-color:#d5dee8;color:#29374a}
body[data-skin="light"] .fortune-cell:hover{background:#eaf0f6}
body[data-skin="light"] .fortune-cell.is-current{background:linear-gradient(180deg,#e1e8f5,#d3deee);color:#765914;box-shadow:inset 0 3px 0 #a78638,inset 0 0 0 1px #7e91bd55}
body[data-skin="light"] .observation-panel{background:linear-gradient(155deg,#fff,#f2f6fa)}
body[data-skin="light"] .obs-section li,body[data-skin="light"] .obs-section li b{color:#29374a}
body[data-skin="light"] .note-field textarea{background:#fff;border-color:#c4d0dc;color:#1f2b3b}

/* 全站星霧與課程封面統一 */
body.theme-ziwei:before{display:block;opacity:.52;background-image:radial-gradient(circle at 8% 12%,#d9c785 0 1px,transparent 1.4px),radial-gradient(circle at 29% 34%,#728bd7 0 1px,transparent 1.5px),radial-gradient(circle at 62% 16%,#eef3ff 0 .7px,transparent 1.2px),radial-gradient(circle at 83% 46%,#5fa1b0 0 1px,transparent 1.5px);background-size:310px 290px,430px 390px,270px 340px,520px 460px;mix-blend-mode:screen}
.media-art{color:#f1dfb0;text-shadow:0 0 32px #aebbf055}
.media-art.art-0{background:radial-gradient(ellipse at 50% 43%,#2c416a,#08131f 72%);color:#e3cb87}
.media-art.art-1{background:radial-gradient(ellipse at 50% 42%,#433968,#091321 72%)}
.media-art.art-2{background:radial-gradient(ellipse at 50% 42%,#244c67,#08131f 72%)}
.media-art.art-3{background:radial-gradient(ellipse at 50% 42%,#403b78,#091321 72%)}
.media-art.art-4{background:radial-gradient(ellipse at 50% 42%,#563954,#091321 72%)}
.media-art.art-5{background:radial-gradient(ellipse at 50% 42%,#28545a,#08131f 72%)}
.media-art.art-6{background:radial-gradient(ellipse at 50% 42%,#554c35,#091421 72%)}
.media-art.art-7{background:radial-gradient(ellipse at 50% 42%,#265361,#08131f 72%)}
.media-art.art-8{background:radial-gradient(ellipse at 50% 42%,#493b70,#091321 72%)}
.media-art.art-9{background:radial-gradient(ellipse at 50% 42%,#603b49,#091321 72%)}
.media-art.art-10{background:radial-gradient(ellipse at 50% 42%,#345349,#08131f 72%)}
.media-art.art-11{background:radial-gradient(ellipse at 50% 42%,#5b4c2d,#0c1727 74%);color:#f4dea7}
.identity-bar{border-color:#263b55}.identity-bar.formal{background:#10263b}.identity-bar.trial{background:#111e36}.identity-bar.guest{background:#181a27}.identity-bar span{color:#d0b66e}.identity-bar b{color:#e7edf3}.identity-bar em{color:#91a2b5}
@media(max-width:560px){.bottom-nav{background:rgba(6,13,24,.94);border-color:#2a405b;box-shadow:0 -16px 38px #0007}.bottom-nav button{color:#7f91a8}.bottom-nav button.active,.bottom-nav button.active span{color:#e2cb86;text-shadow:0 0 14px #d9bd7155}}

/* ═══ LUNAR GLASS · 命盤預設淺色（Apple 式留白與清晰層級）═══ */
body[data-skin="light"]{background:#f5f5f7;background-image:radial-gradient(circle at 50% -20%,#ffffff 0,#f5f5f7 48%,#eef1f5 100%);color:#1d1d1f}
body[data-skin="light"].theme-ziwei:before{display:none;opacity:0;mix-blend-mode:normal}
body[data-skin="light"] .sidebar{background:rgba(255,255,255,.82);border-bottom-color:rgba(0,0,0,.08);box-shadow:0 1px 0 #ffffffcc,0 10px 34px #273b5610}
body[data-skin="light"] .brand b{color:#17181a}body[data-skin="light"] .brand small{color:#7e8792}body[data-skin="light"] .brand-mark{color:#91742e;filter:none}
body[data-skin="light"] .nav-item{color:#62666d}body[data-skin="light"] .nav-item:hover{color:#111214}body[data-skin="light"] .nav-item.active{color:#111214}body[data-skin="light"] .nav-item.active:after{background:#0071e3;box-shadow:none}
body[data-skin="light"] .topbar{color:#61666d}body[data-skin="light"] .eyebrow{color:#777d86}body[data-skin="light"] .context-divider{background:#d2d6dc}body[data-skin="light"] .subject-context{color:#30343a}
body[data-skin="light"] .icon-button{background:rgba(255,255,255,.78);border-color:#d8dde4;color:#31363d}body[data-skin="light"] .avatar{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
body[data-skin="light"] #page-chart{background:transparent;border-radius:0}
body[data-skin="light"] #page-chart .page-intro{border-color:#d9dde3}body[data-skin="light"] #page-chart .page-intro h1{color:#1d1d1f;font-weight:600;letter-spacing:.015em}body[data-skin="light"] #page-chart .page-intro>div>p:last-child{color:#6e6e73}
body[data-skin="light"] #page-chart .hero-kicker{color:#877130;font-weight:600}
body[data-skin="light"] #page-chart .button.secondary{background:#1d1d1f;border-color:#1d1d1f;color:#fff;border-radius:999px;box-shadow:0 5px 16px #0002}
body[data-skin="light"] #page-chart .button.ghost.dark{background:#fff;border-color:#d6dbe2;color:#1d1d1f;border-radius:999px}
body[data-skin="light"] .chart-recordbar{background:rgba(255,255,255,.88);border:0;border-radius:16px;box-shadow:0 1px 2px #1d2c3d12,0 14px 40px #354a6512;padding:15px 18px}
body[data-skin="light"] .chart-recordbar select,body[data-skin="light"] .flow-date input{background:#f5f5f7;color:#1d1d1f;border:1px solid #d8dce3;border-radius:9px;padding:8px 12px;font-weight:600}
body[data-skin="light"] .privacy-note{background:#eff6ff;color:#1769aa;border-color:#c9e2f7}
body[data-skin="light"] .text-action{color:#0066cc;font-weight:600}body[data-skin="light"] .text-action.danger{color:#c6362f}
body[data-skin="light"] .chart-toolbar{background:rgba(255,255,255,.82);border:0;border-radius:16px;box-shadow:0 1px 2px #1d2c3d10,0 12px 34px #354a6510;padding:12px}
body[data-skin="light"] .mode-switch{background:#ececf1;border:0;border-radius:10px;padding:3px}
body[data-skin="light"] .mode-switch button{background:transparent;border:0;border-radius:8px;color:#686b72;padding:8px 14px}
body[data-skin="light"] .mode-switch button.active{background:#fff;color:#1d1d1f;border:0;box-shadow:0 1px 4px #0002}
body[data-skin="light"] .layer-chips button{background:#f5f5f7;color:#5c626b;border-color:#dde1e7;border-radius:999px;font-weight:600}
body[data-skin="light"] .layer-chips button.active{background:#e7f2ff;color:#0066cc;border-color:#acd2f5;box-shadow:none}
body[data-skin="light"] .time-axis{background:rgba(255,255,255,.84);border:0;border-radius:16px;box-shadow:0 1px 2px #1d2c3d10,0 12px 34px #354a6510;padding:11px 13px}
body[data-skin="light"] .axis-label{color:#777d86;border-color:#dfe3e8;font-weight:600}
body[data-skin="light"] .flow-switch{background:transparent;border:0;gap:7px}
body[data-skin="light"] .flow-switch button{background:#f2f2f7;color:#5f646c;border:1px solid transparent;border-radius:11px;padding:10px 12px}
body[data-skin="light"] .flow-switch button b{color:#33363b;font-weight:600}body[data-skin="light"] .flow-switch button small{color:#858a92}
body[data-skin="light"] .flow-switch button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f;box-shadow:0 6px 18px #0002}
body[data-skin="light"] .flow-switch button.active b{color:#fff}body[data-skin="light"] .flow-switch button.active small{color:#b9d9fb}
body[data-skin="light"] .chart-viewbar{background:#e9e9ee;border:0;border-radius:14px;padding:4px;gap:4px;box-shadow:none}
body[data-skin="light"] .chart-viewbar button{background:transparent;border:0;border-radius:10px;color:#6b7078}
body[data-skin="light"] .chart-viewbar button b{font-weight:600}body[data-skin="light"] .chart-viewbar button small{color:#8e949c}
body[data-skin="light"] .chart-viewbar button:hover{background:#f5f5f7;color:#1d1d1f}
body[data-skin="light"] .chart-viewbar button.active{background:#fff;color:#0066cc;box-shadow:0 1px 5px #0002}body[data-skin="light"] .chart-viewbar button.active small{color:#60738a}
body[data-skin="light"] .ziwei-board{background:#dfe5ec;border:0;border-radius:18px;padding:8px;gap:6px;box-shadow:0 2px 5px #1d2c3d12,0 24px 70px #354a6520}
body[data-skin="light"] .palace,body[data-skin="light"] #chartWorkspace[data-mode="pro"] .palace,body[data-skin="light"] #chartWorkspace[data-mode="learn"] .palace{background:#fff;border:1px solid #d9e0e8;border-radius:11px;color:#252a31;box-shadow:0 1px 2px #20344c0d}
body[data-skin="light"] .palace:hover{background:#f8fbff;border-color:#a8c5e1;box-shadow:0 5px 16px #2c527d16}
body[data-skin="light"] .palace.active{background:#edf6ff!important;border-color:#1884e8;box-shadow:inset 0 0 0 1px #1884e855,0 8px 24px #147bd420}
body[data-skin="light"] .palace.rel-opp{background:#f2f0ff!important;border-color:#9c91d8;box-shadow:none}
body[data-skin="light"] .palace.rel-tri{background:#eef9f8!important;border-color:#78b4b5;box-shadow:none}
body[data-skin="light"] .palace .palace-head b{color:#1d1d1f;font-size:15px;font-weight:700;letter-spacing:.09em}
body[data-skin="light"] .palace.active .palace-head b{color:#0066cc}body[data-skin="light"] .palace .palace-head em{color:#6e7783;font-weight:600}
body[data-skin="light"] .palace .star-name{color:#111827;font-size:19px;font-weight:600;text-shadow:none}body[data-skin="light"] .palace .star-meta{color:#477590;font-weight:600}
body[data-skin="light"] .palace .minor-stack{color:#596573;font-size:10.5px}body[data-skin="light"] .palace .minor-stack .soft{color:#177b5a}body[data-skin="light"] .palace .minor-stack .tough{color:#bd493f}
body[data-skin="light"] .palace .flow-badge{color:#0066cc;background:#e8f3ff;border:0;border-radius:6px;padding:4px 6px;font-size:10px;font-weight:700}
body[data-skin="light"] .palace .decadal-range{color:#6d7784;font-weight:600}
body[data-skin="light"] .palace .mutagen{background:#fff;font-weight:700}body[data-skin="light"] .palace .mutagen.lu{color:#16815d}body[data-skin="light"] .palace .mutagen.quan{color:#a46d00}body[data-skin="light"] .palace .mutagen.ke{color:#1769b0}body[data-skin="light"] .palace .mutagen.ji{color:#c73b48}
body[data-skin="light"] .chart-center,body[data-skin="light"] .chart-center div{background:transparent;color:#fff}
body[data-skin="light"] .chart-center{background:radial-gradient(circle at 50% 30%,#426a9e,#1d3555 52%,#101e32 100%);border-radius:13px;box-shadow:inset 0 1px 0 #ffffff2b,0 8px 24px #1d355530}
body[data-skin="light"] .chart-center .center-name{color:#fff;font-size:25px;font-weight:600}body[data-skin="light"] .chart-center .center-meta{color:#f0d58a;font-weight:600}body[data-skin="light"] .chart-center .center-date{color:#d5e0ec;font-size:10px}body[data-skin="light"] .chart-center .center-rule{color:#afc2d5;border-color:#ffffff22}
body[data-skin="light"] .fortune-dock{background:#fff;border:0;border-radius:18px;box-shadow:0 2px 5px #1d2c3d10,0 20px 55px #354a6518}
body[data-skin="light"] .fortune-dock-head{background:#fff;border-color:#e3e6eb;padding:15px 18px}body[data-skin="light"] .fortune-dock-head b{color:#1d1d1f;font-weight:700}body[data-skin="light"] .fortune-dock-head span,body[data-skin="light"] .fortune-dock-head p{color:#777d86}body[data-skin="light"] .fortune-dock-head i{color:#0066cc;border-color:#acd2f5;background:#edf6ff}
body[data-skin="light"] .fortune-row{border-color:#e4e7eb;grid-template-columns:96px minmax(0,1fr)}
body[data-skin="light"] .fortune-label{background:#f5f5f7;color:#1d1d1f;border-color:#e1e5ea}body[data-skin="light"] .fortune-label b{font-weight:700}body[data-skin="light"] .fortune-label small{color:#7c828a}
body[data-skin="light"] .fortune-label.active{background:#e8f3ff;color:#0066cc}body[data-skin="light"] .fortune-label.active small{color:#3576ac}
body[data-skin="light"] .fortune-track{background:#fff}body[data-skin="light"] .fortune-cell{border-color:#e4e7eb;color:#31353b}body[data-skin="light"] .fortune-cell b{font-size:14px;font-weight:600}body[data-skin="light"] .fortune-cell small{color:#777d86;font-size:10px}
body[data-skin="light"] .fortune-cell:hover{background:#f5f8fb}body[data-skin="light"] .fortune-cell.is-current{background:#edf6ff;color:#0066cc;box-shadow:inset 0 3px 0 #0071e3,inset 0 0 0 1px #a9d2f7}body[data-skin="light"] .fortune-cell.is-current small{color:#436b8f}
body[data-skin="light"] .observation-panel{background:#fff;border:0;border-radius:18px;box-shadow:0 2px 5px #1d2c3d10,0 20px 55px #354a6518;padding:24px}
body[data-skin="light"] .observation-panel .overline,body[data-skin="light"] .obs-head small,body[data-skin="light"] .obs-section small{color:#877130;font-weight:700}body[data-skin="light"] .obs-head h2{color:#1d1d1f;font-weight:700}body[data-skin="light"] .obs-head p,body[data-skin="light"] .study-star p{color:#6e6e73}
body[data-skin="light"] .obs-section{border-color:#e2e5e9}body[data-skin="light"] .obs-section li,body[data-skin="light"] .obs-section li b{color:#30343a}body[data-skin="light"] .obs-section li span{color:#4d6074}body[data-skin="light"] .obs-section ol li{color:#3d454d}body[data-skin="light"] .sample-caption{color:#735f27;font-size:11px}body[data-skin="light"] .study-star b{color:#0066cc}
body[data-skin="light"] .note-field textarea{background:#f5f5f7;border-color:#d8dde4;color:#1d1d1f;border-radius:12px;font-size:13px}
body[data-skin="light"] #saveObservation{background:#0071e3;border-color:#0071e3;color:#fff;border-radius:999px;box-shadow:none}
@media(max-width:560px){
  body[data-skin="light"] .ziwei-board{border-radius:13px;padding:5px;gap:3px}
  body[data-skin="light"] .palace{border-radius:7px;padding:6px 5px}
  body[data-skin="light"] .palace .palace-head b{font-size:10px}
  body[data-skin="light"] .palace .star-name{font-size:12.5px}
  body[data-skin="light"] .palace .flow-badge{font-size:7px;padding:2px 3px}
  body[data-skin="light"] .fortune-row{grid-template-columns:72px minmax(0,1fr)}
}

/* ═══ LUNAR GLASS · 全站可读性与手机端精修（2026-09-09）═══ */
body[data-skin="light"] .page-intro h1,
body[data-skin="light"] .section-heading h2,
body[data-skin="light"] .route-head h2,
body[data-skin="light"] .card-content h3,
body[data-skin="light"] .card-title-row h3,
body[data-skin="light"] .insight-card h3,
body[data-skin="light"] .stage b,
body[data-skin="light"] .case-card h2,
body[data-skin="light"] .side-module h3{color:#1d1d1f}
body[data-skin="light"] .page-intro>p:last-child,
body[data-skin="light"] .inline-intro>div>p:last-child,
body[data-skin="light"] .section-heading p,
body[data-skin="light"] .card-content p,
body[data-skin="light"] .task small,
body[data-skin="light"] .insight-card p,
body[data-skin="light"] .stage p,
body[data-skin="light"] .case-lead,
body[data-skin="light"] .side-module li{color:#5f6368}
body[data-skin="light"] .section-index{color:#8a6b22}
body[data-skin="light"] .date-chip{color:#34383e;border-color:#d8dde4;background:#fff}
body[data-skin="light"] .feature-card,
body[data-skin="light"] .insight-card,
body[data-skin="light"] .case-card,
body[data-skin="light"] .side-module,
body[data-skin="light"] .profile-stats div,
body[data-skin="light"] .archive-list button{background:#fff;border-color:#dfe3e8;box-shadow:0 8px 30px #25364b0d}
body[data-skin="light"] .task b{color:#272b30}
body[data-skin="light"] .text-link,
body[data-skin="light"] .insight-card b{color:#0066cc}

/* 课程页：白底黑字，深蓝仅用于选中状态 */
body[data-skin="light"] #page-courses .page-intro{border-color:#d9dde3}
body[data-skin="light"] #page-courses .page-intro h1{color:#1d1d1f;font-weight:650;letter-spacing:.012em}
body[data-skin="light"] #page-courses .page-intro>p:last-child{color:#555b63;font-size:14px}
body[data-skin="light"] #page-courses .hero-kicker,
body[data-skin="light"] #page-courses .overline{color:#806a2d}
body[data-skin="light"] .academy-programs{grid-template-columns:160px minmax(260px,360px);gap:12px;background:transparent;border:0;border-bottom:1px solid #dfe3e8;padding-bottom:26px}
body[data-skin="light"] .program-label{background:transparent;padding-left:0}
body[data-skin="light"] .program-label span{color:#6f7780}
body[data-skin="light"] .program-label b{color:#292d32;font-weight:650}
body[data-skin="light"] .program{background:#fff;border:1px solid #dfe3e8;border-radius:14px;box-shadow:0 8px 26px #25364b0d}
body[data-skin="light"] .program.active{background:linear-gradient(145deg,#18314e,#10243b);border-color:#274d72;box-shadow:0 12px 30px #1b365227}
body[data-skin="light"] .program.active b{color:#fff;font-weight:600}
body[data-skin="light"] .program.active small{color:#c5d2df;font-size:10px}
body[data-skin="light"] .program.active em{color:#f1d37a;font-size:10px}
body[data-skin="light"] .course-tabs{border-color:#d9dee5}
body[data-skin="light"] .course-tabs button{color:#666b72;font-size:13px}
body[data-skin="light"] .course-tabs button.active{color:#0066cc}
body[data-skin="light"] .course-tabs button.active:after{background:#0071e3}
body[data-skin="light"] .learning-route{background:#fff;border:0;border-radius:18px;box-shadow:0 2px 5px #1d2c3d0d,0 22px 58px #354a6515;padding:30px}
body[data-skin="light"] .route-head{border-color:#e1e5ea}
body[data-skin="light"] .route-head h2{font-weight:650}
body[data-skin="light"] .route-progress b{color:#8b6b20;font-weight:650}
body[data-skin="light"] .route-progress span{color:#666d76}
body[data-skin="light"] .day-list{gap:12px;background:transparent;border:0}
body[data-skin="light"] .day-item{background:#fff;border:1px solid #dce2e8;border-radius:14px;color:#24282e;box-shadow:0 7px 22px #283d5410;min-height:158px}
body[data-skin="light"] .day-item:hover{background:#f7faff;border-color:#a8c8e7}
body[data-skin="light"] .day-item .day-no{color:#6b7179;font-weight:700}
body[data-skin="light"] .day-item .day-status{color:#0874d7;font-size:12px;font-weight:700}
body[data-skin="light"] .day-item b{color:#1f2328;font-weight:650;position:relative;z-index:1}
body[data-skin="light"] .day-item small{color:#5d6670;font-size:11px;line-height:1.55;position:relative;z-index:1}
body[data-skin="light"] .day-item .day-art{opacity:.075;color:#29679c;background:linear-gradient(160deg,#b6d8f133,#eff5fa)}
body[data-skin="light"] .day-item.current{background:linear-gradient(145deg,#24466c,#142c47);border-color:#315d86;box-shadow:inset 0 3px 0 #e0c77f,0 13px 30px #1736522b}
body[data-skin="light"] .day-item.current .day-no{color:#f0d991}
body[data-skin="light"] .day-item.current .day-status,
body[data-skin="light"] .day-item.current b{color:#fff}
body[data-skin="light"] .day-item.current small{color:#d3deea}
body[data-skin="light"] .day-item.current .day-art{opacity:.16;color:#9fc3d7;background:linear-gradient(160deg,#6fa0c833,#142c47)}
body[data-skin="light"] .day-item.locked{background:#eef1f4;border-color:#d9dee4;color:#636a73;opacity:1}
body[data-skin="light"] .day-item.locked b{color:#59616a}
body[data-skin="light"] .day-item.locked small{color:#747c85}
body[data-skin="light"] .day-item.locked .day-art{opacity:.045}
body[data-skin="light"] .stage-grid{gap:12px;border:0}
body[data-skin="light"] .stage{background:#fff;border:1px solid #dfe3e8;border-radius:14px;box-shadow:0 8px 24px #25364b0d}
body[data-skin="light"] .stage.active{background:#f5f9ff;border-color:#9ac4eb;box-shadow:inset 0 3px 0 #0071e3}
body[data-skin="light"] .stage span{color:#806a2d}
body[data-skin="light"] .stage small{color:#24658f}

/* 弹窗：去除褐色遮罩与宣纸色 */
body[data-skin="light"] .lesson-modal .modal-backdrop,
body[data-skin="light"] .chart-modal .modal-backdrop,
body[data-skin="light"] .rules-modal .modal-backdrop,
body[data-skin="light"] .star-modal .modal-backdrop,
body[data-skin="light"] .zoom-modal .modal-backdrop{background:rgba(20,27,38,.58);backdrop-filter:blur(12px) saturate(.82)}
body[data-skin="light"] .lesson-sheet,
body[data-skin="light"] .chart-sheet,
body[data-skin="light"] .rules-sheet,
body[data-skin="light"] .star-sheet,
body[data-skin="light"] .zoom-sheet{background:#fff;border-color:#dfe3e8;color:#1d1d1f;box-shadow:0 30px 90px #1018274d}
body[data-skin="light"] .star-sheet,
body[data-skin="light"] .zoom-sheet{border:0;border-radius:22px}
body[data-skin="light"] .star-sheet .hero-kicker,
body[data-skin="light"] .zoom-sheet .hero-kicker{color:#617083}
body[data-skin="light"] .chart-sheet h2,
body[data-skin="light"] .rules-sheet h2,
body[data-skin="light"] .star-sheet h2,
body[data-skin="light"] .zoom-sheet h2{color:#1d1d1f;font-weight:650}
body[data-skin="light"] .star-basic,
body[data-skin="light"] .zoom-meta{color:#5d6570}
body[data-skin="light"] .star-detail,
body[data-skin="light"] .zoom-grid section p,
body[data-skin="light"] .zrel span{color:#30343a}
body[data-skin="light"] .star-course{color:#075eae;background:#edf6ff;border-color:#b8d9f7;border-radius:9px;font-weight:650}
body[data-skin="light"] .star-note,
body[data-skin="light"] .zoom-note{color:#656c75;border-color:#dce1e7}
body[data-skin="light"] .zoom-grid section{background:#f6f8fa;border-color:#e0e4e9;border-radius:12px}
body[data-skin="light"] .zoom-grid section small{color:#746021}
body[data-skin="light"] .zrel{border-color:#d8dee5}
body[data-skin="light"] .zrel b{color:#252a30}
body[data-skin="light"] .dark-close{background:#1d2939;border-color:#42546a;color:#fff;box-shadow:0 6px 18px #1018272a}

/* 练盘、个人页与课程弹层保持同一浅色系统 */
body[data-skin="light"] .level-strip,
body[data-skin="light"] .case-facts,
body[data-skin="light"] .profile-stats{background:#dfe3e8;border-color:#dfe3e8}
body[data-skin="light"] .level{background:#fff;color:#25292e}
body[data-skin="light"] .level span{color:#656c75}
body[data-skin="light"] .level.active{background:#17324f;color:#fff}
body[data-skin="light"] .level.active span{color:#d1deea}
body[data-skin="light"] .case-facts div{background:#f5f7f9}
body[data-skin="light"] .profile-stats b{color:#15324e}
body[data-skin="light"] .profile-stats span,
body[data-skin="light"] .archive-list small{color:#626970}
body[data-skin="light"] .archive-list b{color:#252a30;font-weight:650}
body[data-skin="light"] .archive-list em{color:#755b18}
body[data-skin="light"] .level.locked{opacity:.72}
body[data-skin="light"] .level.locked b{color:#4f5863}
body[data-skin="light"] .level.locked span{color:#68727d}

body[data-skin="light"] .bottom-nav{background:rgba(255,255,255,.92);border-color:#d8dde4;box-shadow:0 -14px 38px #26384d1a}
body[data-skin="light"] .bottom-nav button{color:#6b7280;text-shadow:none}
body[data-skin="light"] .bottom-nav button.active,
body[data-skin="light"] .bottom-nav button.active span{color:#0066cc;text-shadow:none}

#flySvg line{filter:drop-shadow(0 1px 1px rgba(255,255,255,.85))}

@media(max-width:1100px){
  body[data-skin="light"] .observation-panel{padding:28px!important;border:0!important;border-radius:18px!important}
}
@media(max-width:560px){
  body[data-skin="light"] .page{padding-inline:16px}
  body[data-skin="light"] #page-home{padding-bottom:42px;overflow-x:hidden}
  body[data-skin="light"] #page-home .home-hero{padding:28px 22px 58px;border-radius:18px;min-height:0}
  body[data-skin="light"] #page-home .hero-copy h1{font-size:32px;line-height:1.38;letter-spacing:.045em}
  body[data-skin="light"] #page-home .hero-copy>p:not(.hero-kicker){font-size:13px;line-height:1.75}
  body[data-skin="light"] #page-home .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  body[data-skin="light"] #page-home .hero-actions .button{width:100%;padding-inline:10px}
  body[data-skin="light"] #page-home .celestial-disc{width:228px;height:228px;aspect-ratio:1;align-self:center;margin:-3px auto -7px;right:auto}
  body[data-skin="light"] #page-home .hero-progress-wrap{left:22px;right:22px;bottom:20px}
  body[data-skin="light"] #page-home .section-heading{margin-top:26px;margin-bottom:14px}
  body[data-skin="light"] #page-home .section-heading.compact{margin-top:28px}
  body[data-skin="light"] #page-home .section-heading h2{font-size:21px;line-height:1.35}
  body[data-skin="light"] #page-home .section-heading p{font-size:11px}
  body[data-skin="light"] #page-home .dashboard-grid{gap:12px}
  body[data-skin="light"] #page-home .lesson-card,
  body[data-skin="light"] #page-home .task-card{border-radius:15px;overflow:hidden}
  body[data-skin="light"] #page-home .card-content{padding:19px}
  body[data-skin="light"] #page-home .card-content h3{font-size:21px;margin:12px 0 8px}
  body[data-skin="light"] #page-home .task-card{padding:18px}
  body[data-skin="light"] #page-home .task-list{margin-top:10px}
  body[data-skin="light"] #page-home .task{padding:12px 0}
  body[data-skin="light"] #page-home .insight-grid{display:grid;grid-template-columns:1fr;gap:10px;border:0;padding-bottom:18px}
  body[data-skin="light"] #page-home .insight-card,
  body[data-skin="light"] #page-home .insight-card+.insight-card{width:100%;min-height:0;padding:18px 18px 16px;border:1px solid #dfe3e8;border-radius:14px;box-shadow:0 8px 26px #25364b0d}
  body[data-skin="light"] #page-home .insight-card h3{font-size:19px;line-height:1.45;margin:10px 0 7px;padding-right:34px}
  body[data-skin="light"] #page-home .insight-card p{font-size:12px;line-height:1.65;min-height:0}
  body[data-skin="light"] #page-home .insight-card b{font-size:11px;margin-top:10px}
  body[data-skin="light"] #page-home .insight-card .ink-number{font-size:34px;right:16px;top:15px;color:#325f8c17}
  body[data-skin="light"] #page-courses .page-intro h1{font-size:32px;line-height:1.35}
  body[data-skin="light"] #page-courses .page-intro>p:last-child{font-size:14px;line-height:1.8}
  body[data-skin="light"] .academy-programs{grid-template-columns:1fr;padding-bottom:22px;gap:8px}
  body[data-skin="light"] .program-label{min-height:42px}
  body[data-skin="light"] .program{min-height:96px;padding:16px}
  body[data-skin="light"] .learning-route{padding:18px 14px;border-radius:16px}
  body[data-skin="light"] .route-head{align-items:flex-start;gap:12px}
  body[data-skin="light"] .route-head h2{font-size:23px;max-width:220px}
  body[data-skin="light"] .day-list{gap:9px}
  body[data-skin="light"] .day-item{min-height:150px;padding:16px 13px}
  body[data-skin="light"] .day-item b{font-size:18px;line-height:1.4;margin-top:24px}
  body[data-skin="light"] .day-item small{font-size:11px;line-height:1.55}
  body[data-skin="light"] .star-sheet,
  body[data-skin="light"] .zoom-sheet{width:calc(100% - 24px);margin:3vh auto;max-height:94vh;padding:27px 22px;border-radius:18px;overflow:auto}
  body[data-skin="light"] .star-sheet h2{font-size:36px}
  body[data-skin="light"] .star-basic{font-size:13px;line-height:1.75}
  body[data-skin="light"] .star-detail{font-size:15px;line-height:1.85}
  body[data-skin="light"] .star-course{font-size:12px;line-height:1.6}
  body[data-skin="light"] .star-note{font-size:12px;line-height:1.75}
  body[data-skin="light"] .chart-layout{gap:14px}
  body[data-skin="light"] .observation-panel{padding:22px 18px 24px!important;border-radius:16px!important}
  body[data-skin="light"] .obs-head{padding-bottom:18px}
  body[data-skin="light"] .obs-head h2{font-size:31px}
  body[data-skin="light"] .obs-head p{font-size:13px;line-height:1.75;color:#525960}
  body[data-skin="light"] .sample-caption{font-size:11px;line-height:1.7}
  body[data-skin="light"] .obs-section>small,
  body[data-skin="light"] .note-field>span{font-size:11px}
  body[data-skin="light"] .obs-section li{display:grid;grid-template-columns:1fr;gap:4px;padding:9px 0;font-size:14px;line-height:1.55}
  body[data-skin="light"] .obs-section li span{text-align:left;max-width:none;color:#526477;font-size:13px;line-height:1.6}
  body[data-skin="light"] .obs-section ol li{display:list-item;font-size:13px;line-height:1.75;color:#414950}
  body[data-skin="light"] .study-star b{font-size:17px}
  body[data-skin="light"] .study-star p{font-size:13px;line-height:1.75;color:#525960}
  body[data-skin="light"] .note-field textarea{font-size:16px;min-height:118px}
  body[data-skin="light"] .main-content{padding-bottom:106px}
}

/* 2026-09-09 全站移动端边界与真实数据版：任何页面都不得贴边裁切 */
html,body{max-width:100%;overflow-x:clip}
.app-shell,.main-content,.page{min-width:0;max-width:100%}
.profile-stats>*{min-width:0}
.data-integrity-note{margin:14px 0 0;padding:12px 15px;border:1px solid #2b4059;border-radius:10px;color:#94a6b8;font-size:11px;line-height:1.75}
.data-integrity-note span{color:#e0c77f;margin-right:7px;font-weight:650}
.ability-empty{margin-top:18px;padding:18px;border:1px solid #2e4358;border-radius:12px;background:#0e1d2d}
.ability-empty b{display:block;color:#d9e2eb;font-size:13px;font-weight:650}
.ability-empty p{margin:8px 0 0;color:#92a3b5;font-size:11px;line-height:1.75}
body[data-skin="light"] .data-integrity-note{background:#f4f7fa;border-color:#d9e1e8;color:#59636f}
body[data-skin="light"] .data-integrity-note span{color:#755b18}
body[data-skin="light"] .ability-empty{background:#f5f7f9;border-color:#dce2e8}
body[data-skin="light"] .ability-empty b{color:#252a30}
body[data-skin="light"] .ability-empty p{color:#5f6872}

@media(max-width:560px){
  .main-content{width:100%;overflow:visible}
  body[data-skin="light"] .page{width:100%;margin:0;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:34px}
  .identity-bar,.topbar{max-width:100%;overflow:hidden}
  .profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;width:100%;padding:24px 20px;border-radius:18px}
  .profile-hero>div:nth-child(2){min-width:0}
  .profile-hero .button{grid-column:1/-1;width:max-content;margin:4px 0 0}
  .profile-hero h1{font-size:clamp(25px,8vw,31px);line-height:1.28;overflow-wrap:anywhere}
  .profile-hero p{line-height:1.65}
  .profile-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:16px;overflow:hidden;margin-top:14px}
  .profile-stats div,.profile-stats div:first-child,.profile-stats div:nth-child(3){padding:20px 16px;text-align:left;border-right:1px solid #dfe3e8}
  .profile-stats div:nth-child(even){border-right:0}
  .profile-stats b{font-size:clamp(28px,9vw,36px);line-height:1;white-space:nowrap}
  .profile-stats span{font-size:10px;line-height:1.45;letter-spacing:.06em;overflow-wrap:anywhere}
  .data-integrity-note{font-size:11px;margin-top:10px}
  .profile-grid{width:100%;min-width:0;margin-top:24px}
  .archive-list,.archive-list button,.service-card{width:100%;min-width:0}
  .archive-list button{grid-template-columns:40px minmax(0,1fr) 18px}
  .archive-list b,.archive-list small{overflow-wrap:anywhere}
  .inline-intro,.route-head,.chart-page-actions,.chart-toolbar{min-width:0;max-width:100%}
  .practice-stat{width:max-content;max-width:100%}
  .level-strip{max-width:100%;overflow-x:auto;scrollbar-width:none}
  .level-strip .level{min-width:92px}
}
/* ═══ 課程驗證引導條（2026-09-09）═══ */
.verify-bar{display:flex;align-items:center;gap:14px;justify-content:space-between;background:#2a3831;border:1px solid #d5bc9166;border-left:3px solid #d5bc91;border-radius:3px;padding:11px 16px;margin-bottom:14px}
.verify-bar b{color:#e8c86a;font-weight:400;font-size:12px;letter-spacing:.06em;white-space:nowrap}
.verify-bar span{color:#c3ceca;font-size:12.5px;line-height:1.7}
.verify-bar button{background:none;border:0;color:#93a5a0;font-size:18px;cursor:pointer;line-height:1;padding:2px 6px}
.verify-bar button:hover{color:#e8c86a}
body[data-skin="light"] .verify-bar{background:#f5e9cf;border-color:#b0452f55;border-left-color:#b0452f}
body[data-skin="light"] .verify-bar b{color:#9a3a24}
body[data-skin="light"] .verify-bar span{color:#5a5140}
@media(max-width:560px){.verify-bar{flex-wrap:wrap;gap:6px}}
/* ═══ 筆記瀏覽（2026-09-09）═══ */
.notes-sheet{position:relative;max-width:640px;width:calc(100% - 36px);margin:9vh auto;background:#101d27;border:1px solid #3b4f52;border-radius:4px;padding:30px 34px;box-shadow:0 30px 80px #000000aa;max-height:82vh;overflow:auto}
.notes-sheet h2{font:400 30px var(--serif);color:#e8c86a;letter-spacing:.14em;margin:8px 0 4px}
.notes-sub{font-size:12px;color:#93a5a0;line-height:1.8}
.notes-list{display:grid;gap:12px;margin-top:18px}
.note-item{background:#16242e;border:1px solid #33444e;border-radius:3px;padding:14px 16px}
.note-item header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}
.note-item header b{font-weight:400;color:#d8c49a;font-size:13px;letter-spacing:.06em}
.note-item header span{font-size:10px;color:#8a9ea9;letter-spacing:.12em}
.note-item p{font-size:13px;line-height:1.9;color:#c3ceca;margin:0;white-space:pre-wrap}
.notes-empty{text-align:center;padding:40px 10px;color:#8a9ea9;font-size:14px;line-height:2.1;border:1px dashed #33444e;border-radius:3px}
.notes-empty span{font-size:12px;color:#6f8580}
body[data-skin="light"] .notes-sheet{background:#faf6ec;border-color:#d9cfb8}
body[data-skin="light"] .notes-sheet h2{color:#4a3a20}
body[data-skin="light"] .notes-sub{color:#8a7f68}
body[data-skin="light"] .note-item{background:#ffffff;border-color:#e0d8c6}
body[data-skin="light"] .note-item header b{color:#7a5600}
body[data-skin="light"] .note-item header span{color:#8a7f68}
body[data-skin="light"] .note-item p{color:#4a463c}
body[data-skin="light"] .notes-empty{border-color:#d5c9ae;color:#8a7f68}
body[data-skin="light"] .notes-modal .modal-backdrop{background:#4a4030cc}
@media(max-width:560px){.notes-sheet{padding:22px 18px}}
/* ═══ LINE 登入按鈕 ═══ */
.identity-bar button{background:#06c755;border:0;color:#fff;font-size:11px;letter-spacing:.1em;border-radius:2px;padding:5px 12px;cursor:pointer;font-weight:600;margin-left:auto}
.identity-bar button:hover{filter:brightness(1.1)}
.identity-bar.guest{flex-wrap:wrap}

/* ═════════════════════════════════════════════════════
   冷月白 · 全站淺色皮膚（2026-09-09 23:10 用户拍板：全站白底，不要深色/褐调）
   默认 light；☾ 切回星夜深色
   ═════════════════════════════════════════════════════ */
body[data-skin="light"]{background:#f7f4ee;color:#3a3730}
body[data-skin="light"] .app-shell{background:transparent}
/* 侧栏浅化 */
body[data-skin="light"] .sidebar{background:#f1ece1;border-right:1px solid #e0d8c6}
body[data-skin="light"] .sidebar .brand b,body[data-skin="light"] .brand small{color:#3a3730}
body[data-skin="light"] .sidebar-stars,body[data-skin="light"] .sidebar-foot .seal{opacity:.5}
body[data-skin="light"] .nav-item{color:#5d574a}
body[data-skin="light"] .nav-item.active{color:#9a3a24;background:#eae2d0}
body[data-skin="light"] .sidebar-foot p{color:#7a7262}
/* 顶栏浅化 */
body[data-skin="light"] .topbar{color:#3a3730}
body[data-skin="light"] .topbar .eyebrow,body[data-skin="light"] .topbar .subject-context,body[data-skin="light"] #todayText{color:#5d574a}
body[data-skin="light"] .icon-button{color:#5d574a}
body[data-skin="light"] .avatar{background:#e3d9c4;color:#5d4a2a}
body[data-skin="light"] .context-divider{background:#d8cfba}
/* 身份条浅化 */
body[data-skin="light"] .identity-bar{border-bottom-color:#e0d8c6}
body[data-skin="light"] .identity-bar.formal{background:#eef2e6}
body[data-skin="light"] .identity-bar.trial{background:#eef1f4}
body[data-skin="light"] .identity-bar.guest{background:#f4efe4}
body[data-skin="light"] .identity-bar span{color:#8a6d3b}
body[data-skin="light"] .identity-bar b{color:#3a3730}
body[data-skin="light"] .identity-bar em{color:#6f6757}
/* 首页 hero 浅化（淡金白渐变 + 墨字） */
body[data-skin="light"] .home-hero{background:radial-gradient(ellipse at 76% 38%,#e9dfc8cc,transparent 46%),radial-gradient(ellipse at 20% 90%,#dfe6e0cc,transparent 40%),linear-gradient(130deg,#f6f1e5,#fbf8f1 55%,#f2ede0)}
body[data-skin="light"] .home-hero{border-color:#e0d8c6;box-shadow:0 24px 70px #8a7a5c22}
body[data-skin="light"] .hero-kicker{color:#8a6d3b}
body[data-skin="light"] .hero-copy h1{color:#3a3730}
body[data-skin="light"] .hero-copy h1 em{color:#9a3a24}
body[data-skin="light"] .hero-copy>p:not(.hero-kicker){color:#5d574a}
body[data-skin="light"] .celestial-disc{opacity:.85}
body[data-skin="light"] .celestial-disc b,body[data-skin="light"] .celestial-disc small{color:#8a7a5c}
body[data-skin="light"] .ring{border-color:#d8cfba;background:#fdfbf6}
body[data-skin="light"] .hero-progress-wrap strong,body[data-skin="light"] .hero-progress-wrap small{color:#5d574a}
/* 各页标题与区块浅化 */
body[data-skin="light"] .page-intro h1,body[data-skin="light"] .inline-intro h1{color:#3a3730}
body[data-skin="light"] .page-intro>p:last-child,body[data-skin="light"] .inline-intro>div>p:last-child{color:#6f6757}
body[data-skin="light"] .section-heading h2{color:#3a3730}
body[data-skin="light"] .section-heading p{color:#6f6757}
body[data-skin="light"] .section-index{background:#e6dcc6;color:#8a6d3b}
body[data-skin="light"] .date-chip{background:#efe7d4;color:#7a5a20;border-color:#ddd0b4}
/* 首页卡片浅化 */
body[data-skin="light"] .feature-card,body[data-skin="light"] .insight-card{background:#ffffff;border-color:#e0d8c6;box-shadow:0 10px 30px #8a7a5c14}
body[data-skin="light"] .card-content h3,body[data-skin="light"] .insight-card h3,body[data-skin="light"] .card-title-row h3{color:#3a3730}
body[data-skin="light"] .card-content p,body[data-skin="light"] .insight-card p,body[data-skin="light"] .task small,body[data-skin="light"] .card-content .meta{color:#6f6757}
body[data-skin="light"] .card-content .meta span:first-child,body[data-skin="light"] .overline{color:#8a6d3b}
body[data-skin="light"] .media-label{background:#4a3f2f;color:#f3e9d2}
body[data-skin="light"] .text-link,body[data-skin="light"] .insight-card b{color:#9a3a24}
body[data-skin="light"] .insight-card .ink-number{color:#d8c49a}
body[data-skin="light"] .task{border-color:#e8e0cf}
body[data-skin="light"] .task .check{background:#fff;border-color:#c9bfa8}
body[data-skin="light"] .task.done .check{background:#4a3f2f;border-color:#4a3f2f}
/* 课程页浅化 */
body[data-skin="light"] .academy-programs{background:#f1ece1;border-color:#e0d8c6}
body[data-skin="light"] .program-label span,body[data-skin="light"] .program-label b{color:#5d574a}
body[data-skin="light"] .program{background:#fff;border-color:#e0d8c6}
body[data-skin="light"] .program b{color:#3a3730}
body[data-skin="light"] .program small{color:#8a7f68}
body[data-skin="light"] .program.active{border-color:#9a3a24}
body[data-skin="light"] .program.active em{background:#9a3a24}
body[data-skin="light"] .program em{background:#e0d8c6;color:#6f6757}
body[data-skin="light"] .course-tabs button{color:#6f6757;border-color:#ddd3c0}
body[data-skin="light"] .course-tabs button.active{color:#9a3a24;border-color:#9a3a24}
body[data-skin="light"] .day-item{background:#ffffff;border-color:#e0d8c6}
body[data-skin="light"] .day-item b{color:#3a3730}
body[data-skin="light"] .day-item small{color:#8a7f68}
body[data-skin="light"] .day-item.locked{background:#f1ede4}
body[data-skin="light"] .route-head h2{color:#3a3730}
body[data-skin="light"] .route-progress b{color:#9a3a24}
body[data-skin="light"] .level{background:#fff;border-color:#e0d8c6}
body[data-skin="light"] .level b,body[data-skin="light"] .level span{color:#3a3730}
body[data-skin="light"] .level.locked{background:#f1ede4;opacity:.75}
/* 练盘/我的页浅化 */
body[data-skin="light"] .case-card,body[data-skin="light"] .practice-panel,body[data-skin="light"] .profile-hero{background:#ffffff;border-color:#e0d8c6}
body[data-skin="light"] .profile-hero h1,body[data-skin="light"] .case-card h2,body[data-skin="light"] .side-module h3,body[data-skin="light"] .service-card h2{color:#3a3730}
body[data-skin="light"] .profile-stats{border-color:#e8e0cf}
body[data-skin="light"] .profile-stats div{border-color:#e8e0cf}
body[data-skin="light"] .profile-stats b{color:#9a3a24}
body[data-skin="light"] .profile-stats span{color:#8a7f68}
body[data-skin="light"] .profile-seal{background:#e3d9c4;color:#7a5a20}
body[data-skin="light"] .archive-list button{border-color:#e8e0cf}
body[data-skin="light"] .archive-list b{color:#3a3730}
body[data-skin="light"] .archive-list small{color:#8a7f68}
body[data-skin="light"] .archive-list button>span{background:#f1ece1;color:#8a6d3b;border-color:#ddd0b4}
body[data-skin="light"] .service-card,body[data-skin="light"] .side-module{background:#f6f1e6;border-color:#e0d8c6}
body[data-skin="light"] .service-card button{color:#5d574a;border-color:#ddd3c0}
body[data-skin="light"] .data-integrity-note{color:#8a7f68;background:#f1ece1}
body[data-skin="light"] .ability-empty{color:#6f6757;background:#f6f1e6;border-color:#ddd3c0}
body[data-skin="light"] .practice-stat b{color:#9a3a24}
/* 弹层通用浅化（课程/练盘流程弹窗） */
body[data-skin="light"] .lesson-sheet,body[data-skin="light"] .case-sheet{background:#fdfbf6;border-color:#ddd5c3}
body[data-skin="light"] .lesson-body h2,body[data-skin="light"] .lesson-objective small,body[data-skin="light"] .lesson-desc{color:#3a3730}
body[data-skin="light"] .lesson-objective{background:#f6f1e6;border-color:#e0d8c6}
body[data-skin="light"] .lesson-objective li,body[data-skin="light"] .homework p{color:#55504a}
body[data-skin="light"] .modal-close{color:#8a7f68}
body[data-skin="light"] .modal-backdrop{background:#4a403088}
/* 按鈕淺化 */
body[data-skin="light"] .button.primary{background:#4a3f2f;color:#f3e9d2;border-color:#4a3f2f}
body[data-skin="light"] .button.secondary{border-color:#c9bfa8;background:#fff;color:#5d4a2a}
body[data-skin="light"] .button.ghost{border-color:#c9bfa8;color:#5d574a}
body[data-skin="light"] .button.ghost.dark{border-color:#b7a67e;color:#5d4a2a}

/* ═══ 2026-09-09 冷白瓷最终覆盖：移除遗留暖褐色与防止隐藏弹层漏出 ═══ */
.notes-modal{position:fixed;inset:0;z-index:80;display:none}
.notes-modal.open{display:block}
.lesson-modal[aria-hidden="true"],.chart-modal[aria-hidden="true"],.rules-modal[aria-hidden="true"],.star-modal[aria-hidden="true"],.zoom-modal[aria-hidden="true"],.notes-modal[aria-hidden="true"]{display:none!important}

body[data-skin="light"]{background:#f5f5f7;background-image:radial-gradient(circle at 50% -18%,#fff 0,#f7f8fa 43%,#eef1f5 100%);color:#1d1d1f}
body[data-skin="light"] .sidebar{background:rgba(255,255,255,.9);border-color:#e1e5ea;box-shadow:0 1px 0 #fff,0 12px 36px #20334b0d}
body[data-skin="light"] .sidebar .brand b{color:#17191c}
body[data-skin="light"] .brand small{color:#7a828c}
body[data-skin="light"] .nav-item{color:#5d636b;background:transparent}
body[data-skin="light"] .nav-item:hover,body[data-skin="light"] .nav-item.active{color:#111317;background:transparent}
body[data-skin="light"] .nav-item.active:after{background:#0071e3}
body[data-skin="light"] .topbar{background:transparent;color:#50565e}
body[data-skin="light"] .topbar .eyebrow,body[data-skin="light"] .topbar .subject-context,body[data-skin="light"] #todayText{color:#505862}
body[data-skin="light"] .context-divider{background:#d5dae1}
body[data-skin="light"] .icon-button{background:#fff;border-color:#d8dde4;color:#333942}
body[data-skin="light"] .avatar{background:#17191d;border-color:#17191d;color:#fff}

body[data-skin="light"] .identity-bar{border-bottom-color:#e1e5ea}
body[data-skin="light"] .identity-bar.formal{background:#eef6f4}
body[data-skin="light"] .identity-bar.trial{background:#f0f5fb}
body[data-skin="light"] .identity-bar.guest{background:#f4f6f9}
body[data-skin="light"] .identity-bar span{color:#546272}
body[data-skin="light"] .identity-bar b{color:#24282e}
body[data-skin="light"] .identity-bar em{color:#66717e}

body[data-skin="light"] .home-hero{background:radial-gradient(ellipse at 79% 30%,#33537a88,transparent 42%),radial-gradient(ellipse at 42% 110%,#1d71824a,transparent 46%),linear-gradient(135deg,#142a46,#0c1c31 58%,#0b1727);border-color:#294866;box-shadow:0 24px 70px #233b5826}
body[data-skin="light"] .home-hero .hero-kicker{color:#c9d5e3}
body[data-skin="light"] .hero-copy h1{color:#fff}
body[data-skin="light"] .hero-copy h1 em{color:#f0d681}
body[data-skin="light"] .hero-copy>p:not(.hero-kicker){color:#c3cfdb}
body[data-skin="light"] .celestial-disc b,body[data-skin="light"] .celestial-disc small,body[data-skin="light"] .hero-progress-wrap strong,body[data-skin="light"] .hero-progress-wrap small{color:#d9e3ee}
body[data-skin="light"] .ring{background:#132944;border-color:#6d88a6}

body[data-skin="light"] .page-intro h1,body[data-skin="light"] .inline-intro h1,body[data-skin="light"] .section-heading h2,body[data-skin="light"] .route-head h2{color:#1d1d1f}
body[data-skin="light"] .page-intro>p:last-child,body[data-skin="light"] .inline-intro>div>p:last-child,body[data-skin="light"] .section-heading p{color:#5f6670}
body[data-skin="light"] .section-index{background:#e8f2fd;color:#0066cc}
body[data-skin="light"] .date-chip{background:#fff;color:#424951;border-color:#d8dde4}

body[data-skin="light"] .feature-card,body[data-skin="light"] .insight-card,body[data-skin="light"] .program,body[data-skin="light"] .day-item,body[data-skin="light"] .level,body[data-skin="light"] .case-card,body[data-skin="light"] .practice-panel,body[data-skin="light"] .profile-hero,body[data-skin="light"] .service-card,body[data-skin="light"] .side-module{background:#fff;border-color:#dfe4ea;box-shadow:0 10px 32px #26394f0d}
body[data-skin="light"] .card-content h3,body[data-skin="light"] .insight-card h3,body[data-skin="light"] .card-title-row h3,body[data-skin="light"] .program b,body[data-skin="light"] .day-item b,body[data-skin="light"] .level b,body[data-skin="light"] .case-card h2,body[data-skin="light"] .side-module h3,body[data-skin="light"] .service-card h2,body[data-skin="light"] .profile-hero h1{color:#1d1f23}
body[data-skin="light"] .card-content p,body[data-skin="light"] .insight-card p,body[data-skin="light"] .task small,body[data-skin="light"] .program small,body[data-skin="light"] .day-item small,body[data-skin="light"] .profile-stats span,body[data-skin="light"] .archive-list small{color:#616a74}
body[data-skin="light"] .academy-programs{background:transparent;border-color:#dfe4ea;box-shadow:none}
body[data-skin="light"] .program.active{background:linear-gradient(145deg,#18314e,#10243b);border-color:#315a83;box-shadow:0 12px 30px #1b365227}
body[data-skin="light"] .program.active b{color:#fff}
body[data-skin="light"] .program.active small{color:#c5d2df}
body[data-skin="light"] .program.active em{background:#0071e3;color:#fff}
body[data-skin="light"] .program em{background:#edf1f5;color:#59636e}
body[data-skin="light"] .course-tabs button{color:#656c75;border-color:#d9dee5}
body[data-skin="light"] .course-tabs button.active{color:#0066cc;border-color:#0071e3}
body[data-skin="light"] .day-item.current{background:linear-gradient(145deg,#24466c,#142c47);border-color:#315d86}
body[data-skin="light"] .day-item.current b{color:#fff}
body[data-skin="light"] .day-item.current small{color:#d3deea}
body[data-skin="light"] .day-item.locked,body[data-skin="light"] .level.locked{background:#eef1f4;border-color:#d9dee4}

body[data-skin="light"] .profile-seal{background:#e8f2fd;color:#0066cc}
body[data-skin="light"] .profile-stats,body[data-skin="light"] .profile-stats div{background:#fff;border-color:#dfe4ea}
body[data-skin="light"] .profile-stats b,body[data-skin="light"] .practice-stat b{color:#173a5e}
body[data-skin="light"] .archive-list button{background:#fff;border-color:#dfe4ea}
body[data-skin="light"] .archive-list b{color:#262b31}
body[data-skin="light"] .archive-list button>span{background:#eef5fc;color:#1769aa;border-color:#d3e6f7}
body[data-skin="light"] .data-integrity-note,body[data-skin="light"] .ability-empty{background:#f4f7fa;border-color:#dbe2e9;color:#5c6671}
body[data-skin="light"] .verify-bar{background:#eef5fc;border-color:#bdd8f0;border-left-color:#0071e3}
body[data-skin="light"] .verify-bar b{color:#075eae}
body[data-skin="light"] .verify-bar span{color:#4e5d6d}

body[data-skin="light"] .lesson-sheet,body[data-skin="light"] .case-sheet,body[data-skin="light"] .chart-sheet,body[data-skin="light"] .rules-sheet,body[data-skin="light"] .star-sheet,body[data-skin="light"] .zoom-sheet,body[data-skin="light"] .notes-sheet{background:#fff;border-color:#dfe4ea;color:#1d1f23;box-shadow:0 30px 90px #1018274d}
body[data-skin="light"] .lesson-body h2,body[data-skin="light"] .lesson-objective small,body[data-skin="light"] .lesson-desc,body[data-skin="light"] .notes-sheet h2{color:#1d1f23}
body[data-skin="light"] .lesson-objective,body[data-skin="light"] .note-item{background:#f6f8fa;border-color:#e0e5ea}
body[data-skin="light"] .lesson-objective li,body[data-skin="light"] .homework p,body[data-skin="light"] .note-item p{color:#4d5660}
body[data-skin="light"] .notes-sub,body[data-skin="light"] .note-item header span,body[data-skin="light"] .notes-empty{color:#66717d}
body[data-skin="light"] .note-item header b{color:#075eae}
body[data-skin="light"] .modal-close{color:#fff}
body[data-skin="light"] .modal-backdrop,body[data-skin="light"] .notes-modal .modal-backdrop{background:rgba(19,27,39,.58);backdrop-filter:blur(12px) saturate(.85)}

body[data-skin="light"] .button.primary{background:#0071e3;color:#fff;border-color:#0071e3}
body[data-skin="light"] .button.secondary{border-color:#1d1d1f;background:#1d1d1f;color:#fff}
body[data-skin="light"] .button.ghost,body[data-skin="light"] .button.ghost.dark{border-color:#d3d9e0;color:#272c33;background:#fff}

/* 2026-09-10：課表頂部「期次｜開課時間」說明；DAY 旁日期徽章 */
.route-note{margin:8px 0 0;font-size:12px;line-height:1.6;letter-spacing:.04em;color:#b3ad95}
.day-item .day-no em.badge-mini{margin-left:6px}

/* ═══ 2026-09-10 今日研習封面重做（天象盤 + 星點 + 精緻播放鍵）═══ */
.card-media{background:
  radial-gradient(circle at 68% 28%, rgba(122,158,178,.20), transparent 54%),
  radial-gradient(ellipse at 50% 112%, #35564f 0%, transparent 60%),
  linear-gradient(150deg,#08121f,#122234 58%,#18324a)}
.media-sky{position:absolute;inset:0;pointer-events:none;display:block}
.media-sky i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#e9dcb6;opacity:.40;box-shadow:0 0 7px rgba(233,220,182,.45)}
.media-disc{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border:1px solid rgba(216,189,122,.20);border-radius:50%;pointer-events:none}
.media-disc i{position:absolute;inset:13px;border:1px solid rgba(216,189,122,.11);border-radius:50%}
.media-disc i:nth-child(2){inset:29px}
.media-disc i:nth-child(3){inset:45px;border-color:rgba(216,189,122,.20)}
.card-media .media-art{font:400 62px var(--serif);color:#e9d7ac;opacity:.95;letter-spacing:.04em;text-shadow:0 0 34px rgba(201,162,39,.42);pointer-events:none}
.card-media .play-button{width:46px;height:46px;padding:0;display:grid;place-items:center;font-size:0;line-height:0;border:1px solid rgba(216,189,122,.42);background:linear-gradient(160deg,rgba(33,57,72,.94),rgba(11,22,31,.94));color:#e6d3a4;box-shadow:0 8px 22px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.07);transition:transform .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.card-media .play-button svg{width:14px;height:14px;margin-left:2.5px;display:block}
.card-media .play-button:hover{transform:translate(-50%,-50%) scale(1.07);border-color:rgba(216,189,122,.8);color:#f4e6c2;box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 7px rgba(201,162,39,.09)}

/* ═══ 2026-09-10 自訂播放器控制列 ═══ */
.video-stage .video-placeholder{pointer-events:none}
.vw-controls{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:26px 16px 11px;
  background:linear-gradient(to top,rgba(5,12,18,.94),rgba(5,12,18,.55) 58%,transparent);
  transition:opacity .28s ease,transform .28s ease}
.vw-controls[hidden]{display:none}
.vw-controls.idle{opacity:0;transform:translateY(6px);pointer-events:none}
.vw-progress{position:relative;height:14px;cursor:pointer;display:flex;align-items:center;touch-action:none}
.vw-progress i,.vw-progress b{position:absolute;left:0;height:3px;border-radius:2px;pointer-events:none}
.vw-progress .vw-buf{background:rgba(240,232,214,.20)}
.vw-progress .vw-play{background:linear-gradient(90deg,#b98f22,#e8cf8a);box-shadow:0 0 10px rgba(201,162,39,.4)}
.vw-progress .vw-knob{position:absolute;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;
  background:#f2e6c6;box-shadow:0 0 0 3px rgba(201,162,39,.22),0 2px 7px rgba(0,0,0,.55);
  transition:transform .18s ease;pointer-events:none}
.vw-progress:hover .vw-knob{transform:scale(1.28)}
.vw-controls.seeking .vw-knob{transform:scale(1.4)}
.vw-progress.no-seek{cursor:default;pointer-events:none;opacity:.5}
.vw-progress.no-seek .vw-knob{display:none}
.vw-row{display:flex;align-items:center;gap:9px;margin-top:5px}
.vw-btn{width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:#e7dcc4;
  cursor:pointer;border-radius:50%;padding:0;transition:background .18s ease,color .18s ease}
.vw-btn:hover{background:rgba(240,232,214,.13);color:#fff}
.vw-btn svg{width:17px;height:17px;display:block}
.vw-btn#vwPlay svg.i-pause{display:none}
.vw-btn#vwPlay.playing svg.i-play{display:none}
.vw-btn#vwPlay.playing svg.i-pause{display:block}
.vw-btn#vwMute svg.i-mute{display:none}
.vw-btn#vwMute.muted svg.i-vol{display:none}
.vw-btn#vwMute.muted svg.i-mute{display:block}
.vw-time{font:12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:#c6bda6;display:inline-flex;align-items:center}
.vw-time b{color:#f2e9d2;font-weight:600}
.vw-time em{font-style:normal;opacity:.38;margin:0 3px}
.vw-live{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.16em;color:#ffc9c0;
  background:rgba(140,47,47,.72);border:1px solid rgba(217,141,106,.55);padding:3px 8px;border-radius:2px}
.vw-live[hidden]{display:none}
.vw-live i{width:6px;height:6px;border-radius:50%;background:#ff8f7a;animation:livePulse 1.6s ease-in-out infinite}
.vw-spacer{flex:1}
.vw-speed{position:relative}
.vw-speed-btn{width:auto;padding:0 10px;border-radius:14px;font:600 11px/1 ui-monospace,Menlo,monospace}
.vw-speed-menu{position:absolute;right:0;bottom:38px;min-width:80px;margin:0;padding:5px;list-style:none;
  background:rgba(10,20,29,.97);border:1px solid rgba(216,189,122,.26);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.55)}
.vw-speed-menu[hidden]{display:none}
.vw-speed-menu li{padding:7px 10px;font:12px/1 ui-monospace,Menlo,monospace;color:#c9c0a9;border-radius:5px;cursor:pointer}
.vw-speed-menu li:hover{background:rgba(240,232,214,.1);color:#fff}
.vw-speed-menu li.on{color:#e8cf8a;background:rgba(201,162,39,.13)}
.video-placeholder .video-play svg{width:22px;height:22px;display:block}
.video-placeholder .video-play{display:grid;place-items:center}

/* ═══ 2026-09-10 課堂互動（真實資料）═══ */
.classroom{margin:0;background:#0d1a24;border-top:1px solid rgba(216,189,122,.16);display:flex;flex-direction:column}
.cr-head{display:flex;align-items:center;gap:9px;padding:11px 16px;border-bottom:1px solid rgba(216,189,122,.12);background:rgba(255,255,255,.015)}
.cr-head b{font-size:13px;color:#e9e0c8;letter-spacing:.04em;font-weight:600}
.cr-live{display:inline-flex;width:8px;height:8px}
.cr-live i{width:8px;height:8px;border-radius:50%;background:#7ad39a;box-shadow:0 0 0 3px rgba(122,211,154,.16);animation:livePulse 2.4s ease-in-out infinite}
.cr-stats{margin-left:auto;font-size:11px;color:#8e8672;white-space:nowrap}
.cr-stats b{color:#dcc487;font-weight:600}
.cr-list{height:246px;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.cr-empty{margin:auto;font-size:12px;color:#7d7768}
.cr-msg{display:flex;gap:8px;align-items:flex-start}
.cr-msg.sys{justify-content:center}
.cr-sys{font-size:11px;color:#8a8272;background:rgba(255,255,255,.04);padding:3px 10px;border-radius:10px}
.cr-av{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;color:#0d1a24;background:linear-gradient(140deg,#e0cd9a,#b99a52);font-weight:700}
.cr-msg.me .cr-av{background:linear-gradient(140deg,#9fd2c4,#5f9c8c);color:#062017}
.cr-msg.teacher .cr-av{background:linear-gradient(140deg,#e8b9a8,#c1795f);color:#2a0e06}
.cr-bub{max-width:78%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:7px 11px}
.cr-msg.me .cr-bub{background:rgba(120,190,170,.12);border-color:rgba(120,190,170,.22)}
.cr-msg.teacher .cr-bub{background:rgba(201,162,39,.12);border-color:rgba(201,162,39,.28)}
.cr-name{display:block;font-size:10px;color:#9a927e;margin-bottom:2px;letter-spacing:.03em}
.cr-msg.teacher .cr-name{color:#d9bd7c}
.cr-bub p{margin:0;font-size:13px;line-height:1.65;color:#e6ddc6;word-break:break-word;white-space:pre-wrap}
.cr-input{display:flex;align-items:center;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(216,189,122,.12)}
.cr-checkin{flex:0 0 auto;padding:8px 13px;border-radius:16px;border:1px solid rgba(201,162,39,.45);background:rgba(201,162,39,.12);
  color:#e8cf8a;font-size:12px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.cr-checkin:hover{background:rgba(201,162,39,.22);transform:translateY(-1px)}
.cr-checkin.done{background:rgba(122,211,154,.14);border-color:rgba(122,211,154,.4);color:#9fe0b6;cursor:default}
.cr-input input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:16px;
  padding:9px 14px;color:#eee5cf;font-size:13px;outline:none;transition:border-color .18s ease,background .18s ease}
.cr-input input::placeholder{color:#7e7867}
.cr-input input:focus{border-color:rgba(201,162,39,.45);background:rgba(255,255,255,.07)}
.cr-send{flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;
  background:linear-gradient(150deg,#c9a227,#a8862a);color:#12232c;transition:transform .18s ease,filter .18s ease}
.cr-send:hover{transform:scale(1.06);filter:brightness(1.08)}
.cr-send svg{width:15px;height:15px}
body[data-skin="light"] .classroom{background:#f6f3ea}
body[data-skin="light"] .cr-bub{background:#fff;border-color:rgba(0,0,0,.07)}
body[data-skin="light"] .cr-bub p{color:#2c2a24}
body[data-skin="light"] .cr-head b{color:#3a362c}
body[data-skin="light"] .cr-input input{background:#fff;border-color:rgba(0,0,0,.1);color:#2c2a24}

/* 統計列（四格真數字） */
.cr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(216,189,122,.12);
  border-bottom:1px solid rgba(216,189,122,.12)}
.cr-stats span{background:#0d1a24;padding:9px 4px;text-align:center;display:flex;flex-direction:column;gap:2px}
.cr-stats b{font:600 15px/1 var(--serif,serif);color:#e2c887;letter-spacing:.02em}
.cr-stats em{font-style:normal;font-size:9.5px;color:#8a8272;letter-spacing:.06em}
body[data-skin="light"] .cr-stats{background:rgba(0,0,0,.08)}
body[data-skin="light"] .cr-stats span{background:#f6f3ea}
body[data-skin="light"] .cr-stats b{color:#9a7d2e}

/* 播放鍵放大 + 影片中央大播放鍵（2026-09-10） */
.vw-btn#vwPlay{width:44px;height:44px;background:linear-gradient(150deg,#e3cb8c,#b8932f);color:#0d1a22;
  box-shadow:0 4px 14px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.25)}
.vw-btn#vwPlay:hover{background:linear-gradient(150deg,#f2dfa6,#c9a227);color:#06121a}
.vw-btn#vwPlay svg{width:20px;height:20px}
.vw-btn#vwPlay.playing{background:rgba(240,232,214,.14);color:#f0e6cd;box-shadow:none}
.vw-bigplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  width:74px;height:74px;border-radius:50%;padding:0;display:grid;place-items:center;cursor:pointer;
  border:1px solid rgba(233,215,168,.5);color:#f2e6c6;
  background:linear-gradient(160deg,rgba(30,52,66,.78),rgba(9,18,26,.78));
  backdrop-filter:blur(6px);box-shadow:0 12px 36px rgba(0,0,0,.5),0 0 0 10px rgba(201,162,39,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.vw-bigplay[hidden]{display:none}
.vw-bigplay:hover{transform:translate(-50%,-50%) scale(1.06);border-color:rgba(233,215,168,.85);box-shadow:0 14px 42px rgba(0,0,0,.55),0 0 0 14px rgba(201,162,39,.1)}
.vw-bigplay svg{width:26px;height:26px;margin-left:3px}
