:root{color-scheme:dark;--bg:#141716;--surface:#1b1f1d;--line:#343a34;--ink:#eeeade;--muted:#a5aca2;--gold:#c0ad7c;--red:#b94739}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans TC',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a,textarea{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{max-width:1440px;margin:auto;height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:serif;font-size:25px;letter-spacing:3px}.seal{display:grid;place-items:center;background:var(--red);width:39px;height:43px;font-size:28px;color:#fff0da;border-radius:2px}.brand small{font:14px system-ui;color:var(--muted);letter-spacing:3px;margin-left:12px}nav{display:flex;gap:32px;font-size:14px}nav a:hover,footer>a:hover{color:var(--gold)}.edition{font-size:12px;letter-spacing:2px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:0 32px}.intro{display:flex;justify-content:space-between;align-items:center;padding:62px 0 46px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1{font-family:'Noto Serif TC','Songti TC',serif;font-size:clamp(30px,3.6vw,47px);font-weight:500;letter-spacing:2px;line-height:1.45;margin-bottom:16px}h1 span{color:#c9cbbc}.lead{color:var(--muted);margin:0}.intro-note{border-left:1px solid #5b5746;padding-left:24px;min-width:150px}.intro-note span{font-size:12px;letter-spacing:3px;color:var(--gold)}.intro-note p{margin:10px 0 0;font-family:serif;font-size:20px;letter-spacing:3px}.workspace{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);background:#191d1a}.board-wrap{padding:28px 30px 20px;border-right:1px solid var(--line)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:16px}h2{font-size:23px;letter-spacing:2px;font-family:serif;font-weight:500;margin-bottom:0}.badge{font-size:12px;border:1px solid #555840;border-radius:2px;color:var(--gold);padding:3px 9px}.hint{color:var(--muted);font-size:14px;margin:7px 0 15px}.compass-label{text-align:center;color:#a7a28c;letter-spacing:3px;font-size:12px;padding:9px}.board-row{display:flex;align-items:center;gap:13px}.side-label{writing-mode:vertical-rl;color:#a7a28c;font-size:12px;letter-spacing:3px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex:1}.palace{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:125px;border:1px solid #3d443b;background:#20251f;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s}.palace:hover{background:#2a3027;border-color:var(--gold)}.palace[aria-pressed="true"]{background:#78352b;border-color:#d2785b}.palace .position{position:absolute;top:8px;left:10px;color:#b2b7a9;font-size:12px}.palace[aria-pressed="true"] .position{color:#efd4bc}.palace .gate{font-family:serif;font-size:28px;letter-spacing:5px;margin-top:15px}.palace .element{font-size:12px;color:#b4b9aa;margin-top:4px}.palace[aria-pressed="true"] .element{color:#e8c8ad}.palace.center{background:#191d1a;border-style:dashed}.board-footer{display:flex;justify-content:space-between;margin-top:15px;color:var(--muted);font-size:12px}aside{padding:38px 40px;display:flex;flex-direction:column}.detail-top{display:flex;justify-content:space-between;color:var(--gold);font-size:13px;letter-spacing:2px}.detail-title{display:flex;align-items:center;gap:24px;margin:20px 0}.detail-title h2{font-size:64px;letter-spacing:9px}.trigram{font-size:56px;color:var(--gold);line-height:1}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid #41473b;padding:3px 12px;color:#c3c9b9;font-size:13px}.detail-copy{color:#c8cec2;line-height:1.95;margin:25px 0}.detail-definition{border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-definition dt{font-size:12px;color:var(--muted);margin-bottom:8px}.detail-definition dd{margin:0;font-family:serif;font-size:21px}.note{margin-top:auto;padding:18px 0 0;color:var(--muted);font-size:13px}.note strong{font-weight:400;color:var(--gold)}.method{padding:65px 0}.method .eyebrow{margin-bottom:10px}.small-muted{font-size:13px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--line)}.steps article{padding:28px 28px 0 0}.steps article+article{border-left:1px solid var(--line);padding-left:28px}.step-num{font-family:serif;color:var(--gold);font-size:18px}h3{font-size:18px;font-weight:500;margin:13px 0}.steps p{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:0}.notes{border-top:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.notes h2{font-size:29px;margin-bottom:15px}.notes p:not(.eyebrow){color:var(--muted);font-size:14px}label{display:block;font-size:14px;margin-bottom:8px}textarea{display:block;width:100%;border:1px solid #454c41;background:#1c211c;padding:13px;color:var(--ink);resize:vertical;border-radius:3px;margin-bottom:18px;line-height:1.7}textarea::placeholder{color:#939c8e;font-size:14px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.copy{background:#b9a477;color:#161b17;border:0;border-radius:2px;padding:10px 19px;cursor:pointer;white-space:nowrap}.copy:hover{background:#d1bd91}.copy span{margin-left:15px}#feedback{font-size:13px;color:var(--gold)}footer{padding:27px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer p{margin:0}.small{width:25px;height:29px;font-size:20px}footer .brand{font-size:18px}@media(max-width:900px){.edition{display:none}.intro-note{display:none}.workspace{grid-template-columns:1fr 1fr}.board-wrap{padding:22px 16px}.palace{min-height:112px}.board-row{gap:6px}.palace .gate{font-size:24px}aside{padding:30px 24px}.detail-title h2{font-size:48px}.notes{gap:35px}}@media(max-width:680px){header{height:auto;min-height:88px;flex-wrap:wrap;padding:18px 22px;gap:18px}.brand small{font-size:12px}.brand{font-size:22px}nav{width:100%;justify-content:space-between;font-size:14px;gap:15px}main{padding:0 20px}.intro{padding:35px 0 30px}h1{font-size:30px}h1 span{display:block}.lead{font-size:14px}.workspace{grid-template-columns:1fr}.board-wrap{border-right:0;border-bottom:1px solid var(--line);padding:22px 15px}.palace{min-height:110px}.detail-title h2{font-size:54px}aside{padding:28px}.note{margin-top:20px}.method{padding:42px 0}.method .small-muted{display:none}.steps{grid-template-columns:1fr}.steps article,.steps article+article{padding:23px 0;border-left:0;border-bottom:1px solid var(--line);padding-bottom:23px}.steps article:last-child{border-bottom:0}.notes{grid-template-columns:1fr;gap:20px;padding:32px 0}.notes .eyebrow{margin-bottom:12px}footer{flex-wrap:wrap}footer p{order:3;width:100%;font-size:12px}.detail-definition dd{font-size:19px}.form-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
 .member-section{margin:1.25rem 0 2rem;padding:1.25rem 1.5rem;border:1px solid rgba(120,53,43,.28);background:rgba(255,250,238,.52);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.member-section h2{margin:.2rem 0 .45rem}.member-section .small-muted{max-width:58rem;margin:0}.member-login{border:1px solid rgba(235,232,218,.35);background:transparent;color:inherit;padding:.55rem .8rem;cursor:pointer;font:inherit}.member-login:hover{border-color:#d39b62;color:#f0c48f}.member-section>div{width:100%}@media(max-width:700px){.member-section{display:block}.member-section button{margin-top:1rem}.member-login{font-size:.82rem}}
 .topup-menu{border:1px solid rgba(235,232,218,.22);background:transparent;color:#a5aca2;padding:.55rem .8rem;cursor:not-allowed;font:inherit;opacity:.78}.topup-menu small{font-size:.72rem}.member-section #member-logout{margin-left:12px}.admin-main{max-width:900px;padding-top:45px}.admin-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-toggle{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:14px;border:1px solid rgba(192,173,124,.28);background:rgba(255,250,238,.04)}.admin-toggle input{margin-top:7px;accent-color:#b94739}.admin-toggle span{display:grid;gap:2px}.admin-toggle small{color:#a5aca2}.admin-list{overflow-x:auto}.admin-table{min-width:650px;border-top:1px solid #343a34}.admin-row{display:grid;grid-template-columns:1.2fr 1fr 1.25fr;gap:16px;padding:13px 0;border-bottom:1px solid #343a34;align-items:center}.admin-row span{display:grid;gap:2px}.admin-row small{color:#a5aca2;overflow-wrap:anywhere}.admin-head{color:#a5aca2;font-size:.82rem}.admin-row button{margin-left:10px}.status-active{color:#9fc58f;font-size:.82rem}.status-suspended{color:#d39b62;font-size:.82rem}.danger{color:#d78274}.usage-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.usage-card{border:1px solid #343a34;padding:14px 12px;display:grid;gap:3px}.usage-card strong{font-size:1.55rem;color:#d39b62}.usage-card span{font-size:.82rem;color:#a5aca2}.usage-daily h3{font-size:1rem}.usage-daily ul{list-style:none;padding:0;margin:0}.usage-daily li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #343a34}.usage-daily li span{color:#a5aca2;text-align:right}@media(max-width:760px){.usage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row{grid-template-columns:1fr;gap:6px}.usage-daily li{display:grid}.usage-daily li span{text-align:left}}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.services-section{margin:45px 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.service-card{display:block;border:1px solid var(--line);background:var(--surface);padding:21px;min-height:170px}.service-card.active:hover{border-color:var(--gold);transform:translateY(-2px)}.service-card h3{margin:8px 0}.service-card p{color:var(--muted);font-size:14px;line-height:1.65;min-height:48px}.service-number{font-size:12px;color:var(--gold);letter-spacing:2px}.service-card b{font-size:13px;color:var(--gold)}.build-badge{color:var(--muted)!important;border:1px solid var(--line);padding:3px 8px;font-weight:400}.site-status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.site-status:before{content:'';width:10px;height:10px;border-radius:50%;background:#8ecf89;box-shadow:0 0 0 3px rgba(142,207,137,.15)}.site-status.maintenance:before{background:#d36d5f;box-shadow:0 0 0 3px rgba(211,109,95,.15)}@media(max-width:760px){.service-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.profile-fields,.service-grid{grid-template-columns:1fr}}
.nav-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 10px}.home-hero{padding:75px 0 62px;max-width:780px}.home-hero h1,.service-hero h1,.account-guest h1,.account-heading h1{font-family:'Noto Serif TC','Songti TC',serif;font-size:clamp(32px,5vw,58px);font-weight:500;line-height:1.45;letter-spacing:2px}.home-hero h1 span{color:#c9cbbc}.home-hero .copy{display:inline-block;margin-top:24px}.service-group{margin-top:34px}.service-group>h3{color:var(--gold);font-size:18px;border-bottom:1px solid var(--line);padding-bottom:10px}.service-group .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-main,.account-main{max-width:900px!important}.service-hero{padding:58px 0 35px}.service-placeholder{border:1px solid var(--line);background:var(--surface);padding:46px 34px;margin-bottom:30px}.service-placeholder h2{font-size:32px;margin:12px 0}.service-placeholder p{color:var(--muted);max-width:650px}.service-placeholder .copy{display:inline-block;margin-top:16px}.service-next{border-top:1px solid var(--line);padding:30px 0 60px}.service-next div{display:flex;gap:26px;margin-top:16px}.shared-profile-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid rgba(192,173,124,.3);background:rgba(192,173,124,.06);padding:10px 15px;margin:26px 0;color:var(--muted);font-size:14px}.shared-profile-bar a{color:var(--gold);white-space:nowrap}.account-main{padding-top:55px}.account-guest{border:1px solid var(--line);background:var(--surface);padding:42px 34px}.account-guest .lead{max-width:650px}.account-guest #google-login-button{margin-top:25px}.account-guest .copy{margin-top:22px}.account-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:24px}.account-form{border:1px solid var(--line);padding:28px;margin-top:24px;background:var(--surface)}.account-form .profile-fields{margin-top:0}.account-form label{margin-top:16px}.account-form .profile-fields label{margin-top:0}.account-form fieldset{margin-top:16px}.usage-panel{border:1px solid var(--line);padding:25px;margin:30px 0 70px;background:var(--surface)}
@media(max-width:760px){header{position:relative}.nav-toggle{display:block;order:2}header nav{display:none;position:absolute;z-index:5;top:82px;left:20px;right:20px;background:var(--surface);border:1px solid var(--line);padding:14px;flex-direction:column;gap:8px}header nav.open{display:flex}header nav a{padding:7px 0}.topup-menu{order:3}.member-login{order:4}.service-group .service-grid{grid-template-columns:1fr 1fr}.home-hero{padding:48px 0}.account-main{padding-top:35px}.shared-profile-bar{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:480px){.service-group .service-grid{grid-template-columns:1fr}.account-guest,.account-form,.service-placeholder{padding:25px 18px}.account-heading{gap:15px;flex-direction:column}}
.site-status.loading:before{background:#929a95;box-shadow:0 0 0 3px rgba(146,154,149,.15)}
.services-section>.section-top>.badge{display:none}.topup-menu{font-size:0;white-space:nowrap}.topup-menu:before{content:'訂閱服務（尚未開放）';font-size:14px}.topup-menu small{display:none}body[data-home] footer p,body[data-service] footer p,body[data-account] footer p{display:none}
.zodiac-panel{margin:0 0 30px}.zodiac-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.zodiac-card{border:1px solid var(--line);background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:8px}.zodiac-card strong{font-family:'Noto Serif TC','Songti TC',serif;font-size:32px;font-weight:500;color:var(--gold)}.zodiac-card small{color:var(--muted);font-size:14px}.zodiac-combination{font-family:'Noto Serif TC','Songti TC',serif;font-size:22px;color:var(--gold);margin:22px 0}.zodiac-reading,.zodiac-rule,.zodiac-message{border:1px solid var(--line);background:var(--surface);padding:28px;margin-bottom:20px}.zodiac-reading h2{font-family:'Noto Serif TC','Songti TC',serif;font-size:28px;font-weight:500;margin:8px 0 12px}.zodiac-reading>p:not(.eyebrow){max-width:700px;line-height:1.8}.zodiac-rule ul{margin:14px 0 20px;padding-left:22px;color:var(--muted);line-height:1.9}.zodiac-panel .copy{display:inline-block;margin-top:18px}@media(max-width:760px){.zodiac-cards{grid-template-columns:1fr 1fr}}@media(max-width:480px){.zodiac-cards{grid-template-columns:1fr}}
.nav-services{position:relative}.nav-services-toggle{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font:inherit;font-size:14px}.nav-services-toggle:hover{color:var(--gold)}.nav-services-toggle span{font-size:16px;line-height:1;transition:transform .18s ease}.nav-services.open .nav-services-toggle span{transform:rotate(180deg)}.nav-services-panel{position:absolute;top:calc(100% + 16px);left:0;right:auto;z-index:20;width:min(650px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.28)}.nav-service-group h3{margin:0 0 8px;color:var(--gold);font-size:13px;font-weight:500;letter-spacing:1px}.nav-service-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid transparent;font-size:14px;line-height:1.35}.nav-service-link:hover,.nav-service-link.current{background:rgba(192,173,124,.08);border-color:rgba(192,173,124,.32);color:var(--ink)}.nav-service-copy{display:flex;align-items:center;gap:8px;min-width:0}.nav-service-copy strong{width:20px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:1px}.nav-service-link.enabled .nav-service-copy strong{color:var(--gold)}.nav-service-status{flex:0 0 auto;color:var(--muted);font-size:11px;white-space:nowrap}.nav-service-link.enabled .nav-service-status{color:#9fc58f}.nav-service-link.preparing{opacity:.82}@media(max-width:760px){.nav-services{width:100%}.nav-services-toggle{width:100%;justify-content:space-between;padding:7px 0;text-align:left}.nav-services-panel{position:static;width:auto;grid-template-columns:1fr;gap:12px;margin-top:5px;padding:10px 0 0;border:0;border-top:1px solid var(--line);box-shadow:none;background:transparent}.nav-service-group h3{margin-top:4px}.nav-service-link{padding:9px 8px}.nav-services.open{padding-bottom:5px}}
.nav-services-panel[hidden]{display:none}
.subject-profile{border:1px solid var(--line);background:rgba(192,173,124,.045);padding:22px 24px;margin:24px 0 4px}.subject-profile .section-top{align-items:flex-start}.subject-profile h2,.subject-profile h3{margin:0;font-size:20px}.subject-mode-status{color:var(--gold);font-size:13px;white-space:nowrap}.subject-choice{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 4px}.subject-choice label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:8px 12px;color:var(--ink);cursor:pointer}.subject-choice label:has(input:checked){border-color:var(--gold);background:rgba(192,173,124,.08)}.subject-choice input{width:18px;min-width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--gold)}.subject-profile .profile-fields{margin:18px 0 14px}.subject-profile .profile-fields label{margin:0}.subject-profile #subject-other-solar,.subject-profile #subject-other-lunar{margin-top:16px}.subject-profile .copy{margin-top:16px}.subject-profile .field-help{margin-top:12px}@media(max-width:540px){.subject-profile{padding:18px 15px}.subject-profile .section-top{gap:8px}.subject-mode-status{font-size:12px}.subject-choice{display:grid}.subject-choice label{width:100%}}
.subject-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.subject-actions .copy{margin-top:0}.qimen-subject-profile{margin:24px 0 4px}.qimen-subject-profile .text-button{margin-top:10px}
.site-version{color:var(--muted);font-size:12px;letter-spacing:1px;white-space:nowrap}
@media(max-width:680px){.site-version{width:100%;order:4}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-switcher{display:inline-flex;align-items:center;margin-left:auto}
.language-switcher select{width:auto;min-width:112px;min-height:36px;padding:6px 28px 6px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:2px;font-size:13px;cursor:pointer}
.zodiac-card{position:relative;overflow:hidden;isolation:isolate;--zodiac-image:none}
.zodiac-card::before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(90deg,rgba(27,31,29,.98) 0%,rgba(27,31,29,.84) 48%,rgba(27,31,29,.3) 100%),var(--zodiac-image);background-position:center;background-size:cover;pointer-events:none}
.zodiac-card>*{position:relative;z-index:1}
.zodiac-reading #zodiac-inner-title{font-family:'Noto Serif TC','Songti TC',serif;font-size:21px;font-weight:500;color:var(--gold);margin:27px 0 9px;padding-top:20px;border-top:1px solid var(--line)}
.zodiac-reading #zodiac-inner-text{font-size:15px;color:var(--ink);line-height:1.9}
.zodiac-rule>.text-button,.service-next>p{display:none}
@media(max-width:760px){.language-switcher{order:3;margin-left:0}.language-switcher select{min-width:104px}.zodiac-reading #zodiac-inner-title{font-size:19px}}
.service-open-badge{color:#9fc58f!important}.service-workspace{border:1px solid var(--line);background:var(--surface);padding:26px 28px;margin:24px 0 30px}.service-workspace-head,.service-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.service-workspace-head h2,.service-result-head h2{margin:0;font-family:'Noto Serif TC','Songti TC',serif;font-size:28px;font-weight:500}.service-live-badge{flex:0 0 auto;color:#9fc58f;border:1px solid rgba(159,197,143,.4);padding:4px 9px;font-size:12px}.service-notice{border:1px solid rgba(192,173,124,.35);background:rgba(192,173,124,.06);padding:20px;margin-top:22px}.service-notice p{color:var(--muted);line-height:1.8;margin:8px 0}.service-notice a{color:var(--gold)}.service-controls{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.service-controls-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.service-controls label{display:block}.service-controls textarea{margin:8px 0 0;min-height:90px}.service-controls input,.service-controls select,.service-ai select{display:block;width:100%;min-height:43px;margin-top:8px;border:1px solid #454c41;background:#1c211c;padding:10px;color:var(--ink);border-radius:3px}.service-controls .copy{margin-top:18px}.service-controls .field-help{margin:10px 0 0}.service-result{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.service-result-head{margin-bottom:20px}.service-result-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 25px}.service-card-result{border:1px solid var(--line);padding:17px;display:grid;gap:8px;min-height:112px}.service-card-result span,.service-result-item span{font-size:12px;color:var(--muted)}.service-card-result strong{font-family:'Noto Serif TC','Songti TC',serif;color:var(--gold);font-size:24px;font-weight:500}.service-card-result small,.service-result-item small{color:var(--muted);line-height:1.55}.service-result-section{border-top:1px solid var(--line);padding:20px 0 4px}.service-result-section h3{margin:0 0 12px;color:var(--gold);font-size:18px}.service-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-result-item{border:1px solid rgba(192,173,124,.2);padding:12px;display:grid;grid-template-columns:minmax(90px,.7fr) minmax(90px,1fr);gap:5px 12px;align-items:baseline}.service-result-item small{grid-column:1/-1}.service-result-item strong{font-size:15px}.service-basis{border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.8;padding-top:17px;margin:22px 0 0}.service-basis strong{color:var(--gold);font-weight:400}.service-ai{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.service-ai .service-workspace-head{align-items:center}.service-quota{color:var(--gold);font-size:13px;white-space:nowrap}.service-ai-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.service-ai-actions select{width:auto;min-width:130px;margin:0}.service-ai-actions .copy{margin:0}.service-ai-answer{white-space:pre-wrap;border-left:2px solid var(--gold);background:rgba(192,173,124,.05);padding:17px 18px;margin-top:20px;line-height:1.9;color:var(--ink)}.service-ai-answer[hidden]{display:none}.service-ai .field-help{line-height:1.7}.service-workspace [hidden]{display:none!important}@media(max-width:760px){.service-workspace{padding:22px 17px}.service-controls-grid,.service-result-cards{grid-template-columns:1fr 1fr}.service-result-item{grid-template-columns:1fr}.service-result-item small{grid-column:auto}}@media(max-width:480px){.service-workspace-head,.service-result-head{display:block}.service-live-badge,.service-quota{display:inline-block;margin-top:12px}.service-controls-grid,.service-result-cards,.service-result-list{grid-template-columns:1fr}.service-ai-actions{align-items:stretch;flex-direction:column}.service-ai-actions select{width:100%}}
.version-list{display:grid;gap:12px;margin-top:18px}.version-row{border:1px solid #343a34;background:rgba(255,255,255,.015);padding:16px 18px}.version-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.version-row-top strong{color:#d39b62;font-size:1.25rem;letter-spacing:1px}.version-row-top span{color:#a5aca2;font-size:.82rem}.version-row h3{margin:9px 0 3px;font-size:1.05rem}.version-row p{margin:0;color:#a5aca2;font-size:.9rem;line-height:1.75}@media(max-width:540px){.version-row-top{display:block}.version-row-top span{display:block;margin-top:3px}}
/* Service directory: trusted Lucide motifs, no ordinal labels. */
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card[data-service-id]{position:relative;isolation:isolate;overflow:hidden;min-height:244px;padding:30px 26px;border:1px solid #555744;border-radius:12px;background:linear-gradient(135deg,#30362b,#1b2525);display:flex;flex-direction:column;text-decoration:none;transition:transform .18s,border-color .18s}.service-card[data-service-id]::after{content:"";position:absolute;z-index:-1;right:-14px;bottom:0;width:155px;height:155px;opacity:.2;background:var(--service-art) center/contain no-repeat;transform:rotate(-10deg);pointer-events:none}.service-card[data-service-id] h3{font-size:1.45rem;margin:0 0 14px;max-width:85%;color:#f5eddb}.service-card[data-service-id] p{font-size:1rem;line-height:1.7;max-width:90%;color:#d5d8ce;margin:0 0 25px}.service-card[data-service-id] b{font-size:1rem;margin-top:auto;color:#e5cc8e}.service-card[data-service-id]:hover{transform:translateY(-3px);border-color:#d7bd7e}.service-card[data-service-id="astrology"],.service-card[data-service-id="ziwei"]{background:linear-gradient(135deg,#253546,#1b202f)}.service-card[data-service-id="tarot"],.service-card[data-service-id="liuren"]{background:linear-gradient(135deg,#3b2b43,#24212d)}.service-card[data-service-id="outfit"],.service-card[data-service-id="phone"]{background:linear-gradient(135deg,#244039,#172b29)}.service-card.paused{filter:saturate(.25);opacity:.7}.service-card.paused b{color:#dda39c}.nav-service-link[aria-disabled="true"]{opacity:.6;cursor:not-allowed}.nav-service-copy{gap:0}.service-control-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #465047}.service-control-row label{display:flex;align-items:center;gap:12px;margin:0}.service-control-row input{width:22px;height:22px;accent-color:#8dc19a}.service-on{color:#9cd8ad}.service-off{color:#f1a79f}.service-on::before,.service-off::before{content:'●';margin-right:8px}#service-availability{margin:24px;padding:20px;border:1px solid #aa766f;background:#302927}#service-availability a{color:#edcf8f}@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-card[data-service-id]{min-height:210px}.service-control-row{gap:10px}}
/* Shared, spacious navigation and dedicated service surfaces. */
header{height:auto;min-height:96px;gap:24px;padding:18px 32px;justify-content:flex-start;flex-wrap:wrap}header>.brand{flex-shrink:0}header .brand small{display:block;margin:0;font-size:12px;letter-spacing:1px}header nav{gap:22px;flex:0 1 auto}header #member-login{order:3;margin-left:0}header #topup-menu{order:4;margin-left:auto;white-space:normal;font-size:14px}header .language-switcher{order:5;margin:0}header .language-switcher select{font-size:14px}header #nav-toggle{order:2}.service-next{padding:24px 0}.service-hero{padding:32px 0 22px}.zodiac-facets{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.zodiac-facets article{border-top:1px solid var(--line);padding-top:16px}.zodiac-facets h3{color:var(--gold)}.zodiac-facets p{line-height:1.9;color:var(--muted);margin:0}.service-workspace[data-service="astrology"]{background:linear-gradient(100deg,rgba(24,29,37,.98),rgba(24,29,37,.82)),url('/assets/services/astrology.svg') right 24px top 24px/300px no-repeat;background-color:#181d25;border-color:#46505d}.service-workspace[data-service="astrology"] .service-workspace-head{min-height:140px}.translation-status{padding:8px 32px;color:var(--muted);font-size:14px;max-width:1280px;margin:auto}.translation-status:empty{display:none}
@media(max-width:1100px){header{gap:16px}header nav{gap:15px}header .brand small{max-width:150px}header .brand{font-size:22px;letter-spacing:1px}}
@media(max-width:760px){header{padding:16px 20px;gap:12px}header>.brand{margin-right:auto}header #nav-toggle{order:2}header #member-login{order:3;margin-left:0}header #topup-menu{order:4;margin-left:0;flex:1}header .language-switcher{order:5}header nav{top:76px}main{padding:0 20px}.zodiac-facets{grid-template-columns:1fr}.service-workspace[data-service="astrology"] .service-workspace-head{min-height:100px}}

header .topup-menu:before{content:none}

.service-workspace[data-service="astrology"]{background:#181d25}.service-workspace[data-service="astrology"]>.service-workspace-head{position:relative;overflow:hidden;padding:24px 0;isolation:isolate}.service-workspace[data-service="astrology"]>.service-workspace-head:after{content:"";position:absolute;z-index:-1;right:20px;top:-64px;width:300px;height:300px;background:#d7bd7e;opacity:.26;mask:url("/assets/services/zodiac-wheel.svg") center/contain no-repeat;-webkit-mask:url("/assets/services/zodiac-wheel.svg") center/contain no-repeat}.art-credit{font-size:12px;max-width:420px;color:var(--muted)}.art-credit a{text-decoration:underline}

/* Compact admin controls and independently scrollable release history. */
#service-controls-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
#service-controls-list .service-control-row{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
#service-controls-list .service-control-row strong{font-size:1rem;overflow-wrap:anywhere}
#service-controls-list .service-control-row label{min-height:32px;gap:10px;font-size:.9rem;cursor:pointer}
#service-controls-list .service-control-row input{margin:0;flex-shrink:0}
#service-controls-message{font-size:.875rem;color:var(--muted);margin-bottom:0}
#version-list{max-height:400px;max-height:min(400px,60vh);overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain;align-content:start;padding:2px 8px 2px 2px}
#version-list:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#version-list .version-row{border-color:var(--line);border-radius:6px;padding:14px 16px}
#version-list .version-row-top strong{color:var(--gold)}
#version-list .version-row-top span,#version-list .version-row p{color:var(--muted)}
.admin-scroll-hint{font-size:.875rem;color:var(--muted);margin:10px 0 0}
@media(max-width:760px){#service-controls-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){#service-controls-list{grid-template-columns:1fr}#service-controls-list .service-control-row{flex-direction:row;align-items:center;justify-content:space-between;padding:12px}#version-list{max-height:360px;max-height:min(360px,60vh)}}

/* Admin lists remain bounded; infrequent tools open on demand. */
#members-list,#contact-admin-messages{max-height:420px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;margin-top:12px;padding-right:8px}
#members-list:focus-visible,#contact-admin-messages:focus-visible,.admin-disclosure>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#members-list .admin-head{position:sticky;top:0;background:var(--surface);z-index:1}
#contact-admin-messages .contact-admin-item{overflow-wrap:anywhere}
.admin-disclosure>summary{position:relative;cursor:pointer;list-style:none;padding-right:75px}
.admin-disclosure>summary::-webkit-details-marker{display:none}
.admin-disclosure>summary .eyebrow{display:block;margin:0 0 16px}
.admin-disclosure>summary h2{margin:0}
.disclosure-state{position:absolute;right:0;top:50%;color:var(--gold);font-size:14px}
.disclosure-state::after{content:'＋ 展開'}
.admin-disclosure[open]>summary .disclosure-state::after{content:'－ 收合'}
.admin-disclosure-body{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.usage-day{border:1px solid var(--line);border-radius:6px;margin:12px 0;overflow:hidden}
.usage-day>summary{cursor:pointer;padding:12px 14px;background:var(--surface);font-weight:600}
.usage-day>summary time{white-space:nowrap}
.usage-day>summary span{margin-left:14px;font-size:14px;font-weight:400;color:var(--muted)}
.usage-detail-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.usage-detail-table th,.usage-detail-table td{text-align:left;padding:10px 14px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.usage-detail-table th{color:var(--muted);font-weight:500}
.usage-detail-table th:last-child,.usage-detail-table td:last-child{width:65px;text-align:right;font-variant-numeric:tabular-nums}
#usage-cards .usage-card span{color:var(--muted);font-size:14px}#usage-cards .usage-card strong{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){#members-list .admin-table{min-width:0}#members-list .admin-head{display:none}#members-list .admin-row{padding:14px 0}#members-list,#contact-admin-messages{max-height:360px}.usage-detail-table th,.usage-detail-table td{padding:10px 8px}}

/* Small-screen header controls must not collapse into vertical text. */
@media(max-width:760px){header #topup-menu{order:8;flex:0 0 100%;width:100%;white-space:normal;min-height:40px;padding:8px 12px}header #member-login,header #nav-toggle,header #theme-toggle{flex-shrink:0;white-space:nowrap}header .language-switcher{min-width:0}header .language-switcher select{font-size:16px;max-width:100%}.service-workspace-head,.service-result-head{flex-wrap:wrap}.service-quota{white-space:normal}.service-ai-actions{flex-wrap:wrap}input,select,textarea{max-width:100%}}
@media(max-width:380px){header{padding:14px 12px;gap:10px}main{padding-inline:12px}.service-workspace{padding-inline:12px}.service-result-item{grid-template-columns:minmax(0,1fr)}.service-result-item small{grid-column:1}.service-ai.natal-conversation{padding:10px}}

@media(max-width:760px){header nav#site-nav{left:12px;right:12px;width:auto;max-width:calc(100vw - 24px);min-width:0;max-height:75dvh;flex-wrap:nowrap;overflow-y:auto;overscroll-behavior:contain}header nav#site-nav>*{min-width:0;max-width:100%}header nav#site-nav .nav-services-panel{min-width:0;width:100%}}

@media(max-width:760px){header nav#site-nav>*{flex-shrink:0}}

/* Native date controls have an intrinsic minimum width on mobile WebKit. */
input[type="date"],input[type="time"],input[type="datetime-local"]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;-webkit-appearance:none;appearance:none;font-size:16px}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type="date"]::-webkit-datetime-edit,input[type="time"]::-webkit-datetime-edit,input[type="datetime-local"]::-webkit-datetime-edit{min-width:0;padding:0}
.form-grid>*,.profile-fields>*,.service-controls-grid>*,.cast-panel,.account-form,#profile-solar,#subject-other-solar{min-width:0}
@media(max-width:760px){.form-grid,.service-controls-grid{grid-template-columns:minmax(0,1fr)}input[type="date"],input[type="time"],input[type="datetime-local"]{padding-inline:8px}}

.nav-member{position:relative}.nav-member>summary{cursor:pointer;list-style:none;white-space:nowrap}.nav-member>summary::-webkit-details-marker{display:none}.nav-member>summary:after{content:'⌄';margin-left:8px}.nav-member-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:60;min-width:230px;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px #0002;display:flex;flex-direction:column;gap:4px}.nav-member:not([open])>.nav-member-panel{display:none}.nav-member-panel>a,.nav-member-panel>#topup-menu{display:block;width:100%;box-sizing:border-box;text-align:left;padding:10px 12px;margin:0;white-space:normal;font:inherit;font-size:14px}.nav-member-panel>#topup-menu:disabled{opacity:.6}.nav-member>summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:760px){.nav-member{width:100%}.nav-member-panel{position:static;margin-top:8px;min-width:0;box-shadow:none}}

/* Member dropdown shares the navigation rhythm, not content disclosure spacing. */
header #site-nav{align-items:center}
header .nav-member{margin:0;padding:0;border:0;background:transparent;align-self:center;font:inherit;line-height:1.5}
header .nav-member>summary{display:flex;align-items:center;gap:7px;margin:0;padding:0;border:0;min-height:0;font:inherit;font-size:14px;line-height:1.5;color:inherit}
header .nav-member>summary:after{margin:0;font-size:16px;line-height:1;transition:transform .18s ease}
header .nav-member[open]>summary:after{transform:rotate(180deg)}
header .nav-member>summary:hover{color:var(--gold)}
header .nav-member-panel{top:calc(100% + 16px);left:0;right:auto;width:240px;min-width:0;max-width:calc(100vw - 40px);box-sizing:border-box;padding:6px;border-radius:6px}
header .nav-member-panel>a,header .nav-member-panel>#topup-menu{margin:0;min-height:40px;padding:10px 12px;border:0;border-radius:3px;line-height:1.4;font-size:14px;background:transparent;color:var(--ink);box-shadow:none;letter-spacing:0}
header .nav-member-panel>a:hover{background:color-mix(in srgb,var(--gold) 12%,transparent)}
header .nav-member-panel>#topup-menu{color:var(--muted);border-top:1px solid var(--line);opacity:1;text-align:left}
@media(max-width:760px){header #site-nav{align-items:stretch}header .nav-member{align-self:stretch}header .nav-member>summary{padding:7px 0;justify-content:space-between}header .nav-member-panel{position:static;width:100%;max-width:100%;margin-top:5px;border-radius:3px;box-shadow:none}}
header .nav-member>summary{max-width:160px;overflow:hidden;text-overflow:ellipsis}header .nav-member-panel>.nav-member-logout{margin:4px 0 0;padding:10px 12px;text-align:left;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;cursor:pointer}.nav-member-logout[hidden]{display:none!important}.account-sections{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.account-sections a{padding:8px 12px;border:1px solid var(--line);border-radius:4px}.account-feature{padding:20px;border:1px solid var(--line);margin-top:20px}#birth-profiles,.account-feature{scroll-margin-top:110px}
@media(hover:hover) and (pointer:fine){header .nav-member-panel:before{content:'';position:absolute;left:0;right:0;top:-17px;height:17px}}
html[data-account-view] [data-account-section]{display:none}
html[data-account-view="account"] [data-account-section="account"],html[data-account-view="birth-profiles"] [data-account-section="birth-profiles"],html[data-account-view="invite"] [data-account-section="invite"],html[data-account-view="plans"] [data-account-section="plans"]{display:block}
.account-sections a[aria-current="page"]{color:var(--gold);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
body:not([data-member-authenticated="true"]) .nav-member>summary:after{display:none}.member-login-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.member-login-dialog::backdrop{background:#0007}.member-login-dialog form{text-align:right}.member-login-dialog h2{margin:8px 0}.member-login-dialog p{line-height:1.7}.member-login-dialog .copy{margin-top:12px}header #member-login[hidden]{display:none!important}
.auth-modal-open{overflow:hidden}.auth-dialog{position:fixed;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box;padding:30px;border:1px solid #d5c7a3;border-radius:22px;background:var(--surface,#faf8f3);color:var(--ink,#26302a);box-shadow:0 24px 90px #0003}.auth-dialog::backdrop{background:#20251f88;backdrop-filter:blur(4px)}.auth-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;padding:8px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>span{display:grid;place-items:center;width:44px;height:44px;background:#ab3429;color:#fff;font-family:serif;font-size:28px;border-radius:8px}.auth-brand p{font-size:10px;letter-spacing:2px;color:var(--gold)}.auth-dialog h2{font-family:serif;font-size:30px;margin:22px 0 8px}.auth-dialog #auth-subtitle{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 22px}.auth-dialog label{display:block;font-size:13px}.auth-dialog input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;height:46px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:16px;background:color-mix(in srgb,var(--surface) 94%,var(--gold));color:var(--ink);margin:6px 0 15px}.auth-label-row{display:flex;align-items:center;justify-content:space-between}.auth-label-row button,.auth-switch{border:0;background:transparent;color:var(--gold);cursor:pointer;font-size:13px}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:64px!important}.auth-password-wrap button{position:absolute;right:8px;top:15px;background:transparent;border:0;color:var(--muted);cursor:pointer}.auth-dialog .auth-consent{display:flex;gap:8px;align-items:start;font-size:12px;line-height:1.6;margin:4px 0 12px}.auth-consent input{width:17px;height:17px;flex-shrink:0}.auth-consent a{color:var(--gold);text-decoration:underline}.auth-primary{width:100%;border:1px solid #a4823f;border-radius:9px;background:#baa16b;color:#181b18;padding:12px;font-size:16px;cursor:pointer}.auth-primary:disabled{opacity:.6;cursor:wait}.auth-switch{display:block;width:100%;margin:14px 0}.auth-divider{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin:18px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}#auth-google{display:flex;justify-content:center;min-height:42px}#auth-google-status,.auth-note{font-size:11px;text-align:center;color:var(--muted)}#auth-message{font-size:13px;line-height:1.6;color:var(--gold);margin:0 0 12px}#auth-message:empty{display:none}.auth-dialog [hidden]{display:none!important}.auth-note{margin:20px 0 0}@media(max-width:480px){.auth-dialog{padding:24px 20px;border-radius:16px}.auth-dialog h2{font-size:26px}}

/* Google owns the button iframe; keep its transparent canvas from inheriting the page color scheme. */
#auth-google iframe{color-scheme:light;border:0;background:transparent}#auth-google.auth-browser-help{display:flex;flex-direction:column;gap:12px;font-size:13px;text-align:left}#auth-google.auth-browser-help p{margin:0}#auth-google.auth-browser-help a{font-size:11px;overflow-wrap:anywhere;color:var(--gold);text-decoration:underline}

.service-release{display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:1.6;font-weight:600;color:var(--ink);flex-wrap:wrap}.service-dot,.service-release[data-stage]::before{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--lamp,#888);box-shadow:0 0 0 2px color-mix(in srgb,var(--lamp,#888) 18%,transparent)}.service-release[data-stage]::before{content:''}.service-release:has(.service-dot)::before{display:none}.service-release[data-stage="stable"]{--lamp:#24b568}.service-release[data-stage="beta"]{--lamp:#e6ad12}.service-release[data-stage="unavailable"]{--lamp:#ec4949}.service-legend{display:flex;gap:12px 24px;flex-wrap:wrap;margin:18px 0}.service-card .service-release{margin:0 0 14px}.service-card.paused{filter:none}.service-card[data-service-id] .service-release{color:inherit}.service-control-row{flex-wrap:wrap}.service-control-row>.service-release{margin-left:auto}#service-release-notice{padding:14px 18px;margin-bottom:20px;border:1px solid var(--line);border-radius:8px}.nav-service-status.service-release{font-size:12px;max-width:150px;white-space:normal}

.service-card[data-service-id="qimen"] .qimen-card-phrase{display:block;white-space:nowrap;letter-spacing:0}

/* Each service family has its own compact navigation menu. */
.nav-services-panel{width:min(280px,calc(100vw - 32px));grid-template-columns:1fr;gap:0;padding:12px}.nav-service-group h3{display:none}.nav-services-toggle{white-space:nowrap}.nav-services-panel::before{content:"";position:absolute;left:0;right:0;height:18px;top:-18px}@media(max-width:760px){.nav-services-panel{width:100%;padding:8px 0}.nav-services-panel::before{display:none}}

.member-access{display:grid;gap:10px;margin-bottom:16px}.member-access label{display:block;font-size:13px}.member-access input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle}.member-access select,.member-access input[type=datetime-local]{width:100%;font-size:14px}

/* Compact shared navigation and member menu. */
header .language-switcher{position:relative;width:42px;height:42px;flex:0 0 42px;justify-content:center;border-radius:12px;background:var(--surface);color:var(--ink)}
header .language-switcher svg{width:25px;height:25px;pointer-events:none}
header .language-switcher select{position:absolute;inset:0;min-width:0;width:100%;height:100%;opacity:0;cursor:pointer}
header .language-switcher:focus-within{outline:2px solid var(--gold);outline-offset:3px}
header #theme-toggle{border:0;border-radius:12px;width:42px;height:42px;background:transparent}
header #site-nav .nav-subscription{white-space:nowrap}
header .nav-member-panel{left:auto;right:0;width:288px;border-radius:16px;padding:10px;box-shadow:0 16px 48px #0004}
.member-menu-identity{display:flex;flex-direction:column;gap:5px;padding:14px 12px 18px;margin-bottom:6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.member-menu-identity small,.member-menu-identity span{color:var(--muted);font-size:13px}
header .nav-member-panel>a{padding:13px 14px;border-radius:8px;font-size:15px}
header .nav-member-panel>.nav-member-logout{color:#d7857c;padding:14px}
body[data-member-authenticated="true"] header .nav-member>summary:before{content:attr(data-initial);display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--gold);color:#171b18;font-size:16px}
body:not([data-member-authenticated="true"]) header .nav-member>summary{background:var(--gold);color:#171b18;padding:9px 18px;border-radius:12px;font-weight:600}
footer.site-footer{display:grid;grid-template-columns:minmax(190px,1fr) minmax(420px,2fr) 140px;gap:40px;align-items:start;padding:56px 32px 24px}
footer.site-footer .footer-intro{text-align:left;margin:0;max-width:280px}
footer.site-footer .footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}
footer.site-footer .footer-column h3{font-size:14px;border:0;margin:0 0 18px;padding:0;color:var(--muted)}
footer.site-footer .footer-column li{margin-bottom:12px;font-size:14px}
footer.site-footer .footer-meta{grid-column:1/-1;width:100%;margin-top:12px}
.footer-actions{display:flex;flex-direction:column;gap:22px;padding-top:2px;font-weight:600}
@media(max-width:1000px){footer.site-footer{grid-template-columns:1fr 2fr}.footer-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}header{gap:14px}header #site-nav{gap:14px}}
@media(max-width:760px){footer.site-footer{grid-template-columns:1fr;padding:36px 20px 20px;gap:28px}footer.site-footer .footer-columns{grid-template-columns:repeat(2,1fr);gap:24px}.footer-actions{grid-column:auto}header .nav-member-panel{position:static;width:100%}header .nav-member>summary{max-width:100%}}
/* Member cards keep account identity separate from editable access settings. */
#members-list .admin-table{display:grid;gap:18px}
#members-list .admin-head{display:none}
#members-list .admin-row:not(.admin-head){display:grid;grid-template-columns:1fr auto;gap:14px 24px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--bg);align-items:start}
#members-list .admin-row>span:first-child strong{font-size:18px}
#members-list .admin-row>span:first-child small{display:block;margin-top:6px;overflow-wrap:anywhere}
#members-list .admin-row>span:nth-child(2){font-size:13px;color:var(--muted);padding-top:4px}
#members-list .admin-row>span:last-child{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:18px}
#members-list .member-access{flex:0 0 100%;display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,1.5fr);gap:16px;align-items:end;margin:0 0 14px}
#members-list .member-access>b{color:var(--gold);align-self:center;font-size:14px}
#members-list .member-access label{margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
#members-list .member-access label:has(.member-tester){flex-direction:row;align-items:center;justify-self:end;align-self:center}
#members-list .member-access input,#members-list .member-access select{box-sizing:border-box;min-width:0;margin:0}
#members-list .member-access .member-save-plan{justify-self:start;border:1px solid var(--line);border-radius:6px;padding:10px 14px}
#members-list .member-action{width:auto!important;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:6px}
#members-list .member-action[data-action=delete]{margin-left:auto;color:#d7857c}
@media(max-width:600px){#members-list .admin-row:not(.admin-head){grid-template-columns:1fr;padding:16px}#members-list .admin-row>span:nth-child(2){grid-column:1}#members-list .member-access{grid-template-columns:1fr}#members-list .member-access label:has(.member-tester){justify-self:start}}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0}
.admin-toolbar h1{font-size:28px;margin:0}
.admin-toolbar #admin-logout{padding:14px 24px;border:1px solid var(--gold);border-radius:8px;font-size:16px;color:var(--gold)}
.admin-back-top{position:fixed;right:24px;bottom:24px;z-index:90;padding:13px 18px;background:var(--surface);color:var(--gold);border:1px solid var(--gold);border-radius:24px;box-shadow:0 4px 20px #0003;cursor:pointer}
.admin-disclosure>summary{min-height:48px;align-items:center}
.admin-disclosure-body>.section-top:empty{display:none}
@media(max-width:600px){.admin-back-top{right:14px;bottom:14px}.admin-toolbar #admin-logout{padding:12px 16px}}

.member-search-bar{margin:18px 0}.member-search-bar>div{display:flex;gap:12px;align-items:center}.member-search-bar input{flex:1;min-width:0}.member-search-bar button{flex-shrink:0}

.member-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.member-stats>div{padding:18px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:6px}.member-stats strong{font-size:28px;color:var(--gold)}.member-stats span{font-size:13px;color:var(--muted)}.member-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.member-filters label{font-size:13px}.member-pagination{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.member-pagination button:disabled{opacity:.35;cursor:default}#members-list{max-height:none;overflow:visible}@media(max-width:600px){.member-stats{grid-template-columns:repeat(2,1fr)}}

/* Availability is resolved from the signed-in member on the server. */
.service-card[hidden],.nav-service-link[hidden],.nav-services[hidden],.footer-column[hidden]{display:none!important}
body:not([data-services-ready="true"]) .nav-service-link{display:none!important}
.legal-reader{width:min(680px,calc(100vw - 32px));max-height:85dvh;padding:0;border:1px solid var(--line,#7775);border-radius:22px;background:var(--surface,#1b211e);color:var(--ink,#eee);overflow:hidden;box-shadow:0 24px 80px #0005}.legal-reader::backdrop{background:#0008;backdrop-filter:blur(4px)}.legal-reader-head{display:block;padding:12px 24px 18px;border-bottom:1px solid var(--line,#7775);touch-action:none;user-select:none}.legal-reader-head>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:16px}.legal-reader-head h2{margin:0;font-size:24px}.legal-reader-close{min-height:44px;padding:8px 14px;border:1px solid var(--line,#7775);border-radius:12px;color:inherit;background:transparent;cursor:pointer}.legal-drag-handle{width:40px;height:4px;border-radius:4px;background:var(--muted,#999);margin:0 auto 14px;opacity:.55}.legal-reader-body{padding:12px 24px 28px;max-height:calc(85dvh - 110px);overflow:auto;overscroll-behavior:contain;line-height:1.9}.legal-reader-body h2{font-size:20px;margin-top:24px}.legal-reader-body a{color:var(--gold)}.app-tabbar,.app-back{display:none}
@media(max-width:760px){.legal-reader{width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.legal-reader-body{max-height:calc(90dvh - 110px);padding-bottom:calc(28px + env(safe-area-inset-bottom))}.guanju-app body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.guanju-app body>header{position:sticky;top:0;z-index:50;padding-top:calc(10px + env(safe-area-inset-top));gap:10px;min-height:64px}.guanju-app body>header .brand small,.guanju-app body>header #nav-toggle,.guanju-app body>header #site-nav{display:none!important}.guanju-app body>header .brand{font-size:20px}.guanju-app .app-back{display:block;border:0;background:transparent;color:var(--gold);padding:10px 4px;min-height:44px}.guanju-app .app-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:60;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--surface,#1b211e);border-top:1px solid var(--line,#7775);box-shadow:0 -4px 20px #0001}.app-tabbar a{display:flex;align-items:center;flex-direction:column;gap:2px;color:var(--muted);font-size:12px;text-decoration:none;border-radius:12px;min-height:48px}.app-tabbar a>span:first-child{font-size:24px;line-height:28px}.app-tabbar a[aria-current]{color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.guanju-app footer.site-footer{display:none}.guanju-app main{padding-left:16px;padding-right:16px}.guanju-app input,.guanju-app select,.guanju-app textarea{font-size:16px}.guanju-app .home-consult{padding-top:28px}.guanju-app .account-sections{overflow-x:auto;flex-wrap:nowrap}.guanju-app .account-sections a{white-space:nowrap}}

.auth-dialog #auth-consent-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;text-align:left;margin:8px 0 18px;font-size:13px;line-height:1.7}
.auth-dialog #auth-consent-row #auth-consent{display:block;position:static;align-self:start;appearance:auto;width:18px;height:18px;min-height:0;max-width:18px;padding:0;margin:2px 0 0;transform:none;accent-color:var(--gold)}
.auth-dialog #auth-consent-row>span{display:block;min-width:0;margin:0;padding:0}

@media(max-width:760px){
 header>.nav-member{order:10;width:auto;align-self:center;flex:0 0 auto;position:relative}
 header>.nav-member>summary{min-height:44px;max-width:none;padding:4px;justify-content:center}
 body[data-member-authenticated="true"] header>.nav-member>summary{font-size:0;gap:4px}
 header>.nav-member>summary .member-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;object-fit:cover}
 header>.nav-member .nav-member-panel{position:absolute;top:calc(100% + 8px);left:auto;right:0;width:280px;max-width:calc(100vw - 32px);margin:0;box-shadow:0 16px 48px #0004;border-radius:16px;z-index:100}
 body:not([data-member-authenticated="true"]) header>.nav-member>summary{font-size:13px;padding:8px 10px}
}

/* Management portal: shared desktop and touch layout. */
.admin-main [id]{scroll-margin-top:96px}.admin-quick-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.admin-quick-nav a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none}
.maintenance-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.maintenance-links a{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:52px;padding:16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.maintenance-links a:hover,.admin-quick-nav a:hover{border-color:var(--gold)}.maintenance-links small{color:var(--muted);font-size:13px}.maintenance-group{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.maintenance-group>summary{min-height:48px;padding:12px 0;cursor:pointer}.maintenance-group ol{padding-left:22px;line-height:1.9}.admin-main :focus-visible{outline:2px solid var(--gold);outline-offset:3px}#admin-site-origin{overflow-wrap:anywhere}
@media(max-width:600px){.admin-main{padding:20px 12px 90px;width:100%;box-sizing:border-box}.admin-main .qa-section{padding:18px 14px;margin-bottom:20px;min-width:0}.admin-main h1{font-size:26px}.admin-main h2{font-size:21px}.admin-main .admin-disclosure>summary{padding-right:64px}.admin-main .admin-disclosure-body{margin-top:16px;padding-top:16px}.maintenance-links{grid-template-columns:1fr}.admin-main button,.admin-main input:not([type=checkbox]),.admin-main select{min-height:44px;font-size:16px;max-width:100%;box-sizing:border-box}.admin-main input[type=file]{width:100%;min-width:0}.admin-main .section-top,.admin-main .admin-section-head{flex-wrap:wrap;gap:12px}.admin-main .member-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main .member-stats>div{padding:12px}.admin-main .member-search-bar>div{flex-wrap:wrap}.admin-main .member-search-bar input{flex-basis:100%}.admin-main #service-controls-list .service-control-row{flex-direction:column;align-items:stretch}.admin-main #service-controls-list select{width:100%}.admin-main #admin-form>button,.admin-main #backup-restore-form>button{margin:10px 0 0!important;width:100%}.admin-main .admin-toolbar{gap:12px}.admin-main .admin-toolbar h1{font-size:24px}.admin-main .admin-toolbar #admin-logout{white-space:nowrap}.admin-main p,.admin-main small{overflow-wrap:anywhere}}

.member-pin-settings{margin-bottom:24px}.member-pin-settings summary{cursor:pointer;padding:12px 0}.member-pin-settings input{display:block;width:100%;box-sizing:border-box}.member-pin-settings label{display:block;margin:12px 0}
#member-delete-dialog{width:min(440px,calc(100vw - 48px));box-sizing:border-box;max-height:85dvh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:24px}#member-delete-dialog::backdrop{background:rgb(0 0 0 / .65)}#member-delete-dialog input{display:block;width:100%;box-sizing:border-box;font-size:16px;min-height:44px}#member-delete-target{overflow-wrap:anywhere}.member-delete-actions{display:flex;justify-content:flex-end;gap:16px}#member-delete-error{color:var(--danger,#b53e35)}

/* Focused administration workspace: one destination at a time. */
.admin-main{max-width:1080px;margin:0 auto;padding:30px 28px 72px}
.admin-main .admin-toolbar{margin:0;gap:16px;align-items:center}.admin-main .admin-toolbar h1{margin:0;font-family:inherit;font-size:28px;letter-spacing:.04em}.admin-main .admin-toolbar button{min-height:44px}
.admin-intro{margin:8px 0 24px;color:var(--muted);font-size:15px}
.admin-main .admin-quick-nav{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 24px;padding:18px 22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);scroll-margin-top:16px}
.admin-quick-nav label{font-size:14px;font-weight:600;color:var(--muted)}.admin-quick-nav select{width:100%;min-height:48px;font:inherit;font-size:16px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.admin-nav-caption{font-size:13px;color:var(--muted);margin:0}
#admin-content > section.qa-section{margin:0;padding:24px;border:1px solid var(--line);border-radius:12px;box-shadow:none;min-width:0}#admin-content > section[hidden]{display:none!important}
#admin-content > section > .admin-disclosure{border:0;margin:0;padding:0}#admin-content > section > .admin-disclosure > summary{padding:0;min-height:44px;border:0;gap:12px}#admin-content > section > .admin-disclosure > summary .eyebrow{display:none}#admin-content > section > .admin-disclosure > summary h2{font-family:inherit;font-size:22px;letter-spacing:.02em;margin:0}#admin-content > section > .admin-disclosure > .admin-disclosure-body{padding-top:20px}
.admin-main .member-stats{margin-top:0}.admin-main .member-pin-settings{margin:0 0 18px;padding:0 14px;border:1px solid var(--line);border-radius:8px}.admin-main .member-pin-settings summary{font-size:14px;color:var(--muted)}
.admin-main .maintenance-links a{border-radius:8px;box-shadow:none}.admin-main .admin-back-top{font-size:13px;padding:9px 12px;bottom:16px;right:16px}.admin-main :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.admin-main{padding:20px 16px 70px}.admin-main .admin-toolbar h1{font-size:24px}.admin-main .admin-toolbar button{font-size:14px;padding:8px 12px}.admin-intro{margin-bottom:16px}.admin-main .admin-quick-nav{padding:14px;margin-bottom:16px}#admin-content > section.qa-section{padding:18px 14px}#admin-content > section > .admin-disclosure > summary h2{font-size:20px}.admin-main .admin-disclosure-body{padding-left:0;padding-right:0}.admin-nav-caption{font-size:12px}}
.admin-main .admin-back-top{position:static;display:block;margin:20px 0 0 auto;width:auto}

.roadmap-overview{display:flex;gap:16px;align-items:center;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.roadmap-overview strong{font-size:26px;color:var(--gold)}.roadmap-overview span{color:var(--muted)}.roadmap-links{display:flex;gap:20px;flex-wrap:wrap}.roadmap-links a{color:var(--gold);text-decoration:underline}.roadmap-stages{list-style:none;padding:0;margin:22px 0}.roadmap-stages>li{border:1px solid var(--line);border-radius:8px;margin:12px 0;overflow:hidden}.roadmap-stages summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px}.roadmap-order{color:var(--gold);font-variant-numeric:tabular-nums}.roadmap-title{flex:1;font-weight:600}.roadmap-status{font-size:13px;color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:2px 8px;border-radius:5px}.roadmap-status[data-state=done]{color:var(--gold)}.roadmap-tasks{padding:0 16px 16px}.roadmap-tasks article{padding:16px 0;border-top:1px solid var(--line)}.roadmap-task-title{display:flex;gap:10px;justify-content:space-between}.roadmap-tasks p{margin:8px 0;font-size:15px}.roadmap-tasks small{color:var(--muted)}.roadmap-history summary{cursor:pointer;padding:12px 0}@media(max-width:600px){.roadmap-stages summary{flex-wrap:wrap;gap:8px;padding:12px}.roadmap-title{flex-basis:75%}.roadmap-stages summary>.roadmap-status{margin-left:26px}.roadmap-task-title{flex-direction:column;align-items:flex-start}.roadmap-overview{align-items:flex-start;flex-direction:column;gap:4px}}

#progress-sync-status{padding:12px 16px;border:1px solid currentColor;border-radius:8px;line-height:1.7}#progress-sync-status[data-state="stale"]{color:#d7a554}.roadmap-tasks small{display:block;overflow-wrap:anywhere}.roadmap-status[data-state="blocked"]{color:#df8c85}
