/* 星屿 · 晨光 — ivory, apricot, sage */
:root{color-scheme:light;--bg:#f8f5ef;--panel:#fffdf9;--panel2:#f0ebe2;--line:#ded8cd;--text:#343e39;--muted:#70776e;--gold:#937044}
body{background:radial-gradient(ellipse at 95% 0%,#efe1ca88,transparent 50%),#f8f5ef;color:var(--text)}
.sidebar{background:#fffdf8;border-color:#e5dfd4}.brand{color:#426156}.brand-mark{border-color:#a2b2a2;box-shadow:0 0 0 5px #78977d10}.nav-caption,.nav-group,.sidebar-bottom,.sidebar-bottom small{color:#7b8175}.sidebar-bottom{border-color:#e1dbcf}.nav-link,.nav-link i{color:#647568}.nav-link:hover{background:#edf1e8}.nav-link.active{background:linear-gradient(90deg,#e4ecdf,#f0f3ec);color:#385c45;border-color:#cad8c6;box-shadow:inset 3px 0 #719179}.nav-link.active i{color:#527458}.topbar{background:#fffdf6cc;border-color:#e5dfd4;color:#6b786b}.top-note{color:#7d8275}.avatar{background:#efe2cb;color:#82633d;border-color:#dec9a7}.topbar #breadcrumb span{color:#a19b8b}.eyebrow{color:#947347}.heading-row p,.date-label{color:#738071}.date-label{border-color:#d7cebb}.date-label strong{color:#997345}.primary{background:#d9b77f;border-color:#d9b77f;color:#3f3829;box-shadow:0 5px 18px #8f754019;border-radius:9px}.primary:hover{background:#e7c99a;border-color:#c6a166}.secondary{border-color:#bbcbb5;color:#416746;background:#f2f6ed}.secondary:hover{background:#e4eddd}.text-link{color:#856239}.daily-card{background:linear-gradient(135deg,#fff9ee,#f1f3e8);border-color:#dedac6;box-shadow:0 10px 30px #8073440a;border-radius:16px}.card-kicker,.daily-body .roman{color:#967341}.card-kicker>span{color:#8b907d}.daily-body h3{color:#425b44}.daily-body p,.daily-bottom{color:#6d7868}.daily-bottom{border-color:#dbdccb}.daily-bottom span{color:#88693e}.daily-image{box-shadow:5px 9px 20px #7c684426}.section-heading>span{color:#7d8276}.section-heading .rule{background:#ded9cb}.filters{background:#f0ede4;border-color:#ddd7c9}.filter{color:#77816d}.filter.active{background:#fffdf7;color:#4d684c;border-color:#c5d2ba;box-shadow:0 2px 5px #65522a0a}.quiet-banner{background:linear-gradient(90deg,#ecefdf88,transparent);border-color:#d9dfcb;color:#717a66}.quiet-banner strong{color:#5d7454}.quiet-banner>span{color:#92764c}footer{border-color:#e2dccf;color:#7b8074}
.cosmic-panel{border-color:#d7c5a5;box-shadow:0 12px 28px #76634813;border-radius:18px}.cosmic-panel:after{background:linear-gradient(90deg,#f8eddaff,#f8eddad9 37%,#f8edda20 82%)}.cosmic-panel>img{filter:saturate(.75) brightness(1.15)}.cosmic-content h2{color:#374c40;text-shadow:none}.cosmic-content p{color:#5f6c5e}.cosmic-content .pill{color:#8d7044;border-color:#a48b57}
.module-card.has-art,.module-card.has-art[data-group]{border-color:#d5dacb;border-radius:14px;box-shadow:0 5px 18px #596a4410;background:#f1f2e7}.module-card.has-art:before,.module-card.has-art[data-group=east]:before{background:linear-gradient(90deg,#f7f5edff 5%,#f7f5edeb 50%,#f7f5ed22)}.module-card.has-art[data-group=west]:before{background:linear-gradient(90deg,#f2edf6ff 5%,#f2edf6eb 50%,#f2edf622)}.module-card.has-art[data-group=inner]:before{background:linear-gradient(90deg,#edf4f3ff 5%,#edf4f3eb 50%,#edf4f322)}.module-card.has-art h3{color:#3e574a;text-shadow:none}.module-card.has-art p{color:#626e62}.module-card.has-art .symbol{color:#55795d;background:#ffffffa8;border-color:#bacab4;backdrop-filter:blur(4px)}.module-card.has-art .tag,.module-card.has-art[data-group=east] .tag{color:#738866}.module-card.has-art .arrow{color:#7e7958}
.panel,.form-panel{background:#fffdf9;border-color:#ddd8cb;border-radius:14px;box-shadow:0 5px 22px #71694707}.form-panel{border-top-color:#bfa16b}.panel h3{color:#465d4b}.panel p{color:#687564}.field{color:#556a55}.field input,.field select,.field textarea{background:#f8f8f1;border-color:#d2dbca;color:#394f3e;border-radius:8px}.field input::placeholder,.field textarea::placeholder{color:#8b9585}.field input:focus,.field select:focus,.field textarea:focus{border-color:#799976}.hint,.panel .hint{color:#7b8576}.badge{background:#f0f1e3;border-color:#d8dec9;color:#747b53}.result-head{border-color:#e0ded1}.result-head h2,.result-empty h2{color:#425946}.result-empty p{color:#788171}.empty-symbol,.big-symbol,.number-orbit{color:#9a7b48}.stat,.insight,.planet-row,.pillar,.decades>div,.name-char,.palace{background:#f5f6ed;border-color:#d9dfce;color:#58634e}.stat strong,.pillar strong,.name-char strong,.hexagram h3{color:#806638}.stat small,.stat p,.palace p,.palace small,.name-char small{color:#73816a}.palace.major{background:#f4ebd5;border-color:#cbb78e}.palace h3{color:#866c3e}.insight h3{color:#62734c}.tarot-front{background:radial-gradient(ellipse,#fff9e6,#e5d6b2)}.tarot-front strong{color:#675036}.tarot-front small,.tarot-front .card-no{color:#807254}.tarot-front .card-symbol{color:#9b7c40}.number-orbit{border-color:#c2ac7c}.result-poem{color:#856a44}
.reading-toolbar{background:#f3f0e4;border-color:#e3d9c3}.reading-toolbar>span{color:#83745b}.reading-jump{background:#ddc298;color:#4d412e}.reading-section{border-color:#d6dccb}.reading-title h2{color:#49634d}.reading-title>span{color:#a48950}.panel p.reading-intro{color:#74826b}.reading-detail{background:#fffefa;border-color:#dbe1d1;border-radius:10px}.reading-detail summary strong{color:#4b6347}.reading-detail summary small{color:#7a896c}.reading-detail[open] summary{background:#f0f4e9;border-color:#dde4d2}.detail-plus{color:#81906c}.panel .reading-copy p{color:#57664f}.reading-copy p b{color:#8c7546}.reading-takeaway{background:linear-gradient(110deg,#f3ead5,#faf6e9);border-color:#b8a06e;border-radius:0 10px 10px 0}.reading-takeaway>strong{color:#816936}.panel .reading-takeaway p{color:#6b6f53}.panel .reading-source,.reading-source a{color:#7e8268}.ritual-stage{background:radial-gradient(ellipse,#eadbbc55,transparent 70%)}.ritual-stage h2{color:#5b674b}.ritual-progress{background:#ac8c53}
#main[data-route=lots] .form-panel,#main[data-route=lots] #result{background:#fffdf7;border-color:#ded7c7;box-shadow:0 10px 30px #8070440c}#main[data-route=lots] .form-panel h3,#main[data-route=lots] .result-head h2{color:#5b6548}#main[data-route=lots] .field{color:#707654}#main[data-route=lots] input,#main[data-route=lots] select,#main[data-route=lots] textarea{background:#f8f6ed;color:#50583f;border-color:#dddcc9}#main[data-route=lots] .hint{color:#858675}#main[data-route=lots] .insight{background:#f5f6eb;border-color:#dce1c9}#main[data-route=lots] .reading-toolbar{border-color:#e1d9c5;color:#807251}.oracle-wait{color:#788065}.oracle-wait p{color:#91927e}.oracle-hero:after{background:linear-gradient(90deg,#f6efdcf5,#f6efdcbd 40%,#f6efdc00 80%)}.oracle-topline,.oracle-topline a{color:#77663f}.oracle-hero-copy h1{color:#4c5d43}.oracle-hero-copy .eyebrow,.oracle-hero-copy p{color:#7f7351}.oracle-seal{background:#f4e8cacc;color:#796238;border-color:#ac9660}
@media(max-width:650px){.module-card.has-art:before,.module-card.has-art[data-group=east]:before{background:linear-gradient(0deg,#f5f4eaff 15%,#f5f4eae8 55%,#f5f4ea22)}.module-card.has-art[data-group=west]:before{background:linear-gradient(0deg,#f2edf6ff 15%,#f2edf6e8 55%,#f2edf622)}.module-card.has-art[data-group=inner]:before{background:linear-gradient(0deg,#edf4f3ff 15%,#edf4f3e8 55%,#edf4f322)}.module-card.has-art .symbol{border-color:#bacab4}.module-card.has-art .arrow{color:#6e7c57}}
/* Full illustrated Rider–Waite–Smith fronts */
#main[data-route=tarot] .tarot-card{aspect-ratio: .49;max-width:190px;background:#fff8e8;border-color:#cbb68a;box-shadow:0 9px 22px #73644320}#main[data-route=tarot] .tarot-front{padding:5px;border:0;gap:5px;background:#fff9eb;justify-content:flex-start}#main[data-route=tarot] .tarot-front .card-no{font-size:11px;line-height:1.4;letter-spacing:.08em;padding:3px 0;color:#807052}#main[data-route=tarot] .tarot-card .card-face-art{width:100%;height:auto;aspect-ratio:1114/1919;object-fit:contain;border-radius:3px;min-height:0;flex:1}#main[data-route=tarot] .tarot-front strong{font-size:17px;line-height:1.4;margin-top:2px}#main[data-route=tarot] .tarot-front small{font-size:9px;line-height:1.4;padding-bottom:4px}.is-reversed{transform:rotate(180deg)}.illustrated-reading{display:flex;gap:22px;align-items:center;padding:24px 0}.reading-card-art{width:130px;height:auto;flex-shrink:0;border:1px solid #d5c6a3;border-radius:7px;box-shadow:0 7px 20px #705c3520}.illustrated-reading>div{min-width:0}.illustrated-reading h3{line-height:1.7}.illustrated-reading p{line-height:1.9}@media(max-width:650px){#main[data-route=tarot] .tarot-deck{gap:8px}#main[data-route=tarot] .tarot-front{padding:3px;gap:3px}#main[data-route=tarot] .tarot-front strong{font-size:13px}#main[data-route=tarot] .tarot-front small{font-size:8px}#main[data-route=tarot] .tarot-front .card-no{font-size:10px}.reading-card-art{width:110px}.illustrated-reading{gap:16px;align-items:flex-start}.illustrated-reading h3{font-size:17px}.illustrated-reading p{font-size:13px}}
.quick-iching{width:100%;justify-content:center;margin:0 0 12px;grid-column:1/-1;min-height:48px;background:#edf3e6;border-color:#b5c9a5;color:#46683b}.quick-iching:disabled{opacity:.5;cursor:default}#main[data-route=iching] .insight h3{font-size:18px}#main[data-route=iching] .insight p{line-height:2}
.zodiac-emblem{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:24px auto;width:190px;height:190px;border:1px solid #c9b88d;border-radius:50%;background:radial-gradient(circle,#fff8e6,#e9eddb);box-shadow:0 0 0 8px #d3c7991c}.zodiac-emblem span{font-size:12px;color:#8c7957;letter-spacing:.2em}.zodiac-emblem strong{font:70px/1.6 var(--serif);color:#6d7752}.zodiac-emblem small{font-size:12px;color:#7d8065}
.rune-spread{grid-template-columns:repeat(3,minmax(0,1fr))}.rune-spread .stat:only-child{grid-column:1/-1;max-width:240px;width:100%;justify-self:center}.rune-spread .big-symbol{font-size:64px}.rune-spread .stat strong{font-size:17px;overflow-wrap:anywhere}.reading-section>.result-grid{margin:20px 0}.reading-section .reading-section{border-top:0;padding-top:0;margin-top:15px}@media(max-width:650px){.rune-spread{gap:8px}.rune-spread .stat{padding:12px 6px}.rune-spread .big-symbol{font-size:45px}.rune-spread .stat strong{font-size:13px}.rune-spread .stat p{font-size:11px}}
.reading-toc{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding:12px;background:#f5f5ea;border:1px solid #e0e4d0;border-radius:10px}.reading-toc button{border:1px solid #d6dfc7;color:#586d45;background:#fffef8;padding:9px 12px;border-radius:20px;font-size:12px;cursor:pointer;line-height:1.6;text-align:left;max-width:100%}.reading-toc button:hover{background:#e9efdd}.reading-toc button:focus-visible{outline:2px solid #769259;outline-offset:2px}
.city-picker{border:1px solid #dce2cf;border-radius:12px;padding:16px;margin-bottom:18px;background:#f8f9f1}.city-picker-title{font-size:16px;color:#465f41;margin-bottom:16px}.city-picker-title span{display:block;font-size:11px;color:#78866c;margin-top:5px}.city-picker .field{margin-bottom:12px}.city-results{max-height:270px;overflow:auto;display:grid;gap:6px;margin-bottom:10px}.city-results:empty{display:none}.city-results button{background:#fffdf7;border:1px solid #dbe3ce;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;text-align:left;gap:5px;cursor:pointer;color:#455b3d}.city-results button:hover,.city-results button:focus-visible{background:#eaf0df;outline:1px solid #8da975}.city-results button strong{font-size:14px}.city-results button span{font-size:11px;color:#76826b}.city-global{width:100%;font-size:12px}.city-status{font-size:12px!important;line-height:1.9;color:#587346!important}.city-manual{margin-top:12px;border-top:1px solid #dce2cf;padding-top:12px}.city-manual summary{cursor:pointer;font-size:12px;color:#778262;margin-bottom:12px}.city-credit{font-size:10px!important;line-height:1.7;color:#87907b!important}.city-credit a{color:#738755;text-decoration:underline}.city-picker .hint{font-size:11px;line-height:1.8;margin-top:9px}
/* Shared birth profile */
.birth-profile{margin:0 0 28px;padding:28px;background:linear-gradient(115deg,#fffaf0,#f1f5ee);border:1px solid #d9dfcc;border-radius:22px}
.profile-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.profile-heading h2{font-size:25px;margin:4px 0 7px}.profile-heading p{margin:0;color:#697465}.profile-heading .badge{margin-left:auto;white-space:nowrap}.profile-symbol{font-size:42px;color:#798b62}.profile-main{display:flex;align-items:end;gap:16px}.profile-main .field{flex:1;margin:0}.profile-main .primary{min-height:48px;white-space:nowrap}.profile-extra{margin-top:18px}.profile-extra summary{cursor:pointer;color:#63744e;padding:8px 0}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}.profile-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#536349;margin-top:14px}.profile-foot p{margin:0}.profile-foot button{white-space:nowrap;background:none;border:0;cursor:pointer}.shared-profile{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px;background:#f0f3e8;border-radius:12px;font-size:13px;color:#536349}.shared-profile a{margin-left:auto}.shared-profile small{width:100%;line-height:1.6}.shared-profile button{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.profile-fields .wide{grid-column:1/-1}.birth-profile input{min-width:0}.birth-profile form{min-width:0}
@media(max-width:600px){.birth-profile{padding:20px 16px}.profile-heading{gap:10px}.profile-heading h2{font-size:22px}.profile-heading .badge{font-size:10px}.profile-symbol{display:none}.profile-main{flex-direction:column;align-items:stretch;gap:12px}.profile-fields{grid-template-columns:1fr}.profile-foot{align-items:start}.profile-heading p{font-size:12px}}
.name-preview{text-align:center;padding:6px 10px 25px}.name-preview img{width:100%;max-height:230px;object-fit:cover;border-radius:16px;margin-bottom:26px}.name-preview h2{font-size:25px;margin:13px 0}.name-preview p{line-height:1.9}.name-report-hero{border:1px solid #e2d9bf;background:linear-gradient(135deg,#f4eddb,#f9f8ef);border-radius:18px;text-align:center;padding:30px 12px;margin:20px 0}.name-report-hero h2{font-size:40px;letter-spacing:.2em;color:#657650;margin:16px 0}.name-report-hero p{font-size:16px;line-height:1.8;color:#766444}.name-report-hero>span:last-child{font-size:12px;color:#817765}
