/* Moonlit atlas: retain the blue-violet identity, quiet surfaces and metallic moon accents. */
:root{--bg:#11192c;--paper:#f9fafc;--ink:#202b40;--muted:#5f6c80;--line:#dce2ec;--jade:#5668bf;--jade-soft:#edf0fb;--gold:#ad7930;--shadow:0 18px 48px #060e251a}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{background:radial-gradient(ellipse at 12% 0,#34476c 0,transparent 52rem),radial-gradient(ellipse at 100% 40%,#302952 0,transparent 60rem),#11192c;font-family:'Microsoft YaHei UI','PingFang SC',system-ui,sans-serif;font-size:16px;line-height:1.65}
body::before,body::after{display:none}
.shell{width:min(1320px,calc(100% - 64px));padding:30px 0 70px;border:0;box-shadow:none;background:none}
header{padding:26px 30px 28px;margin-bottom:20px;border:1px solid #8494c234;border-radius:20px;background:linear-gradient(120deg,#1a263d,#252d4b);box-shadow:0 18px 40px #05091b25;align-items:center;gap:24px}
header::before{display:none}header::after{font-size:96px;top:18px;right:22px;color:#e6ebff08}
header h1{font-size:clamp(27px,3.15vw,44px);font-weight:800;line-height:1.35;letter-spacing:-.025em;text-shadow:none;margin:12px 0;color:#f3f5fb}
header .eyebrow{background:transparent;border:0;box-shadow:none;padding:0;font-size:12px;font-weight:700;letter-spacing:.2em;color:#b1bfed}
.subtitle{font-size:14px;font-weight:400;color:#b7c2d8;max-width:720px}
button{font-size:14px;font-weight:600;border:1px solid #cbd3e3;border-radius:10px;box-shadow:none;background:#f7f9fd;color:#304363;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}
button:hover{border-color:#7185c6;box-shadow:0 4px 16px #26375815;transform:translateY(-2px)}button:active{transform:translateY(0) scale(.98)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #718eff;outline-offset:3px}
header .toolbar button{color:#e3e8f7;background:#ffffff09;border-color:#7384af60;white-space:nowrap}
.panel,.miniprogram-launch,.supporters-board{border:1px solid #e3e8f0;border-radius:20px;background:#f9fafc;box-shadow:var(--shadow)}
.miniprogram-launch{padding:18px 24px;min-height:0;background:#eaf0fc;margin-bottom:18px;box-shadow:none}
.miniprogram-launch h2{font-size:20px;letter-spacing:0}.miniprogram-launch p{font-size:14px}.miniprogram-badge{background:transparent;color:#5d70b0;padding:0;box-shadow:none;font-size:12px}.miniprogram-badge::before{display:none}
.miniprogram-code{width:84px;height:84px;box-shadow:0 4px 16px #253f6a15;border:4px solid white;border-radius:12px}.miniprogram-code-wrap small{font-size:12px}
.supporters-board{margin-bottom:20px;background:#eef2f9}.supporters-head{padding:18px 24px;background:#e8edf7;color:#33415d;box-shadow:none;border-bottom:1px solid #dce3ef}.supporters-head h2{font-size:21px;letter-spacing:0}.supporters-eyebrow{color:#6b7995;font-size:12px}.supporters-seal,.supporters-count{box-shadow:none;background:#d9e2f7;color:#4a5d8b;border:0}.supporters-seal{width:42px;height:42px;font-size:20px;border-radius:12px}
.supporter-card{background:#f9fbff;border:1px solid #dce3ef;box-shadow:none;border-radius:12px}.supporter-card.featured{background:#e7edfa;border-color:#bcc8e5}.supporters-toggle{background:#f6f8fd;border:1px solid #bfcbe2;box-shadow:none;color:#425984}.supporter-avatar{background:#6d81b9}.featured .supporter-avatar{background:#d5def2;color:#4b5980}
.mix-stage{position:relative;padding:28px;border:1px solid #dce3ef;background:#f9fafc;margin-bottom:20px;overflow:hidden}.mix-stage::before,.mix-stage::after,.mix-art{display:none}
.mix-stage h2,.recommend h2{font-weight:800;color:#23314a;letter-spacing:-.025em;line-height:1.4}.mix-stage h2{font-size:27px}.mix-stage-head{gap:16px}.mix-decision{border:0;border-radius:8px;background:#e9eefb;color:#40599e;box-shadow:none;padding:8px 12px;font-size:14px;font-weight:650}.mix-decision.switch{background:#e8edf7;color:#586982;box-shadow:none}
.eyebrow,.step{color:#6c7fae;font-size:12px;font-weight:700}.mix-reason{font-size:15px;max-width:100%;color:#66738a;margin-top:14px}
.mix-metric,.metric{background:#f0f3f9;border:1px solid #e5eaf3;border-radius:12px;padding:14px 16px;box-shadow:none;min-width:0}.mix-metric b,.metric b{font-size:24px;line-height:1.4;font-weight:700;color:#455d9c;font-variant-numeric:tabular-nums}.mix-metric:last-child b{font-size:17px}.mix-metric span,.metric span{font-size:13px;color:#6b7790}.mix-rule{font-size:13px;color:#6b7890;background:transparent;padding:12px 0 0;border:0}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 8px}.theme-option{isolation:isolate;position:relative;border:1px solid #e2d2d8;background:linear-gradient(120deg,#fff9fa,#f4e9ef);border-radius:16px;padding:22px;overflow:hidden;min-width:0}.theme-option.gold{background:linear-gradient(120deg,#fffdf6,#f3eee2);border-color:#e5dbc8}.theme-option.active{box-shadow:inset 0 0 0 1px #b1758055,0 8px 18px #63293d09}.theme-option.active.gold{box-shadow:inset 0 0 0 1px #b2975455,0 8px 18px #634a2909}
.theme-option h3{font-size:25px;letter-spacing:-.025em;line-height:1.45;margin:4px 0 10px;color:#624050}.theme-option.gold h3{color:#745b35}.theme-option>p{font-size:14px;color:#785f6d;max-width:72%;line-height:1.8;margin:0 0 13px}.theme-option.gold>p{color:#7d7058}.small-label{font-size:12px;letter-spacing:.04em;color:#7a6a78}.theme-option-bottom{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:13px;position:relative;z-index:1}.theme-option-bottom b{font-weight:600;color:#754355}.theme-option.gold .theme-option-bottom b{color:#84622b}.theme-option-bottom span{color:#7b6c78}.theme-option .theme-fine{position:relative;z-index:1;margin-top:14px;max-width:85%;font-size:12px;line-height:1.65}.theme-seal{position:absolute;width:54px;height:54px;right:18px;top:16px;filter:drop-shadow(0 4px 6px #2c243322)}.theme-creature{position:absolute;right:-9px;bottom:-24px;width:145px;height:160px;z-index:-1;opacity:.14}.theme-creature img{width:100%;height:100%;object-fit:contain}
.model-settings,.threshold-details,.audit-details,.rules-details{border-top:1px solid #dfe5f0;margin-top:22px;padding-top:14px}.model-settings summary,.threshold-details summary,.audit-details summary,.rules-details summary{cursor:pointer;color:#3e527e;font-size:15px;font-weight:650;list-style-position:inside;padding:4px 0;line-height:1.6}.model-status{font-size:13px;color:#76839b;margin-top:7px}.model-intro{font-size:14px;color:#69788d;line-height:1.85}.model-presets{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.model-presets button{font-size:13px;background:#f1f4fa}
.fruit-backup{margin:12px 0;padding:13px 15px;border:1px solid #d7e1ef;border-radius:10px;background:#ecf1f9;font-size:14px;color:#536987}.fruit-backup b{font-size:14px}.fruit-backup p{margin:5px 0 0;line-height:1.85;font-size:13px;color:#74829b}.fruit-reference{background:#f0f3f9;border-radius:12px;padding:16px 18px;margin:14px 0}.fruit-reference p{font-size:14px;color:#687993;margin:6px 0}.fruit-reference small{color:#8290a7;font-size:12px}.pool-table .fruit-backup{padding:10px;font-size:12px;min-width:190px}.pool-table .fruit-backup b,.pool-table .fruit-backup p{font-size:12px}
.model-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.model-fields label{font-size:13px;color:#5b6d8a;display:flex;flex-direction:column;gap:6px}.model-fields input,.model-fields select{width:100%;min-width:0;border:1px solid #ccd6e7;border-radius:9px;padding:11px 12px;color:#2a3e64;background:white;font:inherit;font-size:16px}.model-check{display:block;font-size:14px;margin:16px 0}.model-check input{width:16px;height:16px;vertical-align:middle}.model-error{color:#b34254;font-size:14px}#applyModel{color:#fff;background:#5066a9;border-color:#5066a9}#modelStatus{overflow-wrap:anywhere}
.threshold-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.threshold-column h4{font-size:14px;color:#516280}.threshold-bands{display:grid;gap:5px}.threshold-band{display:grid;grid-template-columns:48px 1fr;gap:2px 10px;background:#edf1f7;border:1px solid #e1e6f0;border-radius:8px;padding:7px 10px;font-size:13px}.threshold-band small{grid-column:2;font-size:12px;color:#728098}.threshold-band.stay{background:#e7f1ee;border-color:#c9e0d9}.threshold-band.depends{background:#f7f0dd;border-color:#e8ddb8}.threshold-band.leave{color:#69758b}.threshold-column p{font-size:13px;color:#758099}
.grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:20px}.grid>*{min-width:0}.hero{border:1px solid #dce3ef;padding:26px;background:#f9fafc}.hero::after{display:none}.hero .metrics{gap:10px}.recommend{gap:16px}.recommend h2{font-size:26px}.recommend p{font-size:14px;color:#69778d}.pool-badge{flex:0 0 70px;width:70px;height:70px;border:0;border-radius:18px;background:#edf0f7;box-shadow:none;font-size:21px}.pool-badge img{width:64px;height:64px;object-fit:contain}.hero-farm{border-top:1px solid #dce4ef}.hero-farm-head h3{font-size:18px;color:#344766}.hint{font-size:13px;color:#74829b}
.farm-summary{background:#eef2fa;border:1px solid #dde4f1;border-radius:12px;font-size:14px}.farm-summary p{color:#5e6e88;font-size:14px}.farm-mode{background:#dfe7f7;color:#4c64a4;border:0;font-size:13px;box-shadow:none}.farm-card{border:1px solid #dce4ef;background:#f3f6fa;border-radius:14px;box-shadow:none}.audited-farm{position:relative;padding:19px;overflow:hidden}.audited-farm h4{font-size:23px;margin:6px 0;color:#334967}.audited-farm>div:first-child{position:relative;z-index:1;max-width:90%}.audited-farm p{font-size:14px;color:#6b7990;line-height:1.85}.audited-art{position:absolute;width:160px;height:150px;object-fit:contain;right:-22px;top:5px;opacity:.1}.farm-data{position:relative;z-index:1;gap:9px;margin-top:16px}.farm-data b{font-size:17px;font-weight:700;color:#4b639a}.farm-data span{font-size:12px;color:#748096}.source-note{display:block;font-size:12px;color:#7b879d;margin-top:10px}.note{font-size:13px;color:#6c7990;line-height:1.85;background:none;border:0}
.moon-route{border:1px solid #e7d7df;background:#f9f1f4;border-radius:12px;box-shadow:none}.moon-route.gold{border-color:#e6ddc7;background:#f9f5e9}.moon-route-copy b{font-size:16px}.moon-route-copy span{font-size:13px;line-height:1.85}.moon-routes{gap:12px}.moon-badge{width:44px;height:44px}
.progress-panel{background:#f9fafc;padding:25px}.progress-head h3{font-size:21px;font-weight:750;color:#334763}.progress-head b{font-size:18px;color:#5871ab;font-variant-numeric:tabular-nums}.progress-tools button{font-size:12px;background:#edf1f9;box-shadow:none;border-color:#d1daeb;color:#5e7093}.progress-tools .clear-all{background:#f3f0e9;color:#807052;border-color:#e3dccc}.bar{height:7px;border:0;background:#e8edf6}.bar>i{background:linear-gradient(90deg,#617cc5,#a6b7e6);transition:width .6s cubic-bezier(.22,1,.36,1)}.progress-save-note{font-size:12px;color:#7b8aa7;margin-top:-12px}
.pet.has-avatar{padding:10px 12px;min-height:74px;gap:10px;border-radius:12px;text-align:left;box-shadow:none}.pet.has-avatar .pet-thumb{width:44px;height:44px;flex-basis:44px}.pet-label{font-size:14px;font-weight:650;line-height:1.6;position:relative;z-index:1}.pet-label small{display:block;font-size:12px;font-weight:400;color:#8a7e86}.pet.moon-red{background:#fcf5f7;border-color:#eadde3}.pet.moon-gold{background:#fbf8ef;border-color:#e9e1ce}.pet.moon-red.got{background:#f4e5eb;border-color:#bb8c9d;color:#7a485d}.pet.moon-gold.got{background:#f4ecd5;border-color:#c3aa6d;color:#846629}.pet.has-avatar.got .pet-thumb{opacity:1;filter:none}.pet.has-avatar::before{width:45px;height:45px;right:8px;top:50%;opacity:.1}.pet.has-avatar.got::before{opacity:.97}.pet.has-avatar.got::after{left:39px;bottom:9px;border:2px solid white;width:16px;height:16px;background:#657cbb;box-shadow:none}
.section.wide,.feedback{background:#f9fafc;padding:25px}.section-title{gap:16px}.section-title h3,.feedback h3{background:transparent;padding:0;filter:none;clip-path:none;font-size:22px;letter-spacing:0;color:#344661;font-weight:750}.section-title::after{display:none}.branches{gap:12px}.branch{font-family:inherit;text-align:left;padding:17px;border:1px solid #dde4ef;border-radius:12px;background:#f3f6fb;box-shadow:none;white-space:normal;cursor:pointer}.branch h4{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:650;flex-wrap:wrap;color:#3d5275}.branch-avatar{width:32px;height:32px;object-fit:cover;border-radius:50%}.branch p{font-size:13px;color:#78869e;font-weight:400;margin:12px 0 0}.tag{font-size:12px;border-radius:6px;background:#e3eaf8;color:#5670a6;border:0}.tag.repeat{background:#e8eaf0;color:#929aac}
.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.pool-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:14px}.pool-table th{background:#edf1f8;color:#738099;font-size:13px;font-weight:600;padding:14px 12px;border-bottom:1px solid #d7e0ef}.pool-table td{padding:15px 12px;border-bottom:1px solid #e3e9f3;color:#596b89;line-height:1.85;overflow-wrap:anywhere}.pool-table td b{font-weight:650;color:#3c5074}.pool-table td small{display:block;font-size:12px;color:#7c899f}.pool-table tr.recommended{background:#eaf0fc}.pool-table .rank{color:#7f91b9;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.audit-details .pool-table{min-width:840px}.audit-details .pool-table td{font-size:13px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rules-grid h4{margin-bottom:5px;font-size:16px;color:#4c5f83}.rules-grid p{font-size:14px;color:#76839b;line-height:1.9}.rules-details a{color:#5268a4}
.feedback p{color:#77859b;font-size:14px}.feedback-card{background:#f1f4fa;border:1px solid #dce4f0;box-shadow:none;border-radius:12px}.feedback-card b{color:#4e6085}.feedback-card span span{color:#8591a5}footer{color:#9aaac7;font-size:13px}footer .credit{color:#a5b4d2}
.update-launcher,.support-launcher{background:#263553;color:#dbe4f7;border:1px solid #8a9cc243;box-shadow:0 8px 24px #050e3033;border-radius:12px;font-size:13px}.update-launcher-icon{background:#6279b8;box-shadow:none;color:#fff}.update-dialog,.support-dialog{border-radius:20px;box-shadow:0 24px 80px #02081f55;border:1px solid #d6deeb;background:#f8faff}.update-dialog h2,.support-dialog h2{letter-spacing:0}
@keyframes page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
header,.mix-stage,.hero,.progress-panel{animation:page-in .6s ease-out both}.mix-stage{animation-delay:.06s}.hero,.progress-panel{animation-delay:.12s}
@media(hover:hover){.theme-option{transition:border-color .25s,box-shadow .25s}.theme-option:hover{border-color:#b38d9e;box-shadow:0 10px 25px #4b2d4710}.theme-option.gold:hover{border-color:#bba467}.theme-seal{transition:transform .35s}.theme-option:hover .theme-seal{transform:rotate(-7deg) scale(1.08)}}
@media(max-width:1000px){.shell{width:calc(100% - 36px)}header{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.progress-panel{order:0}.pets{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-farm .moon-routes{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.shell{width:calc(100% - 24px);padding:12px 0 80px}header{padding:22px 18px}.subtitle{font-size:14px}header h1{font-size:28px;line-height:1.45}header .toolbar{align-self:flex-start}.panel,.miniprogram-launch,.supporters-board{border-radius:16px}.miniprogram-launch{padding:16px;gap:12px}.miniprogram-launch h2{font-size:17px}.miniprogram-launch p{font-size:12px}.miniprogram-code{width:70px;height:70px}.supporters-head{padding:16px}.supporters-head h2{font-size:18px}.supporters-count{font-size:12px}.supporters-seal{display:none}.mix-stage,.hero,.progress-panel,.section.wide,.feedback{padding:20px 16px}.mix-stage-head{flex-direction:column;gap:8px}.mix-stage h2{font-size:23px}.mix-metrics{grid-template-columns:1fr 1fr;gap:9px}.mix-metric b{font-size:21px}.theme-options{grid-template-columns:1fr;gap:12px}.theme-option{padding:20px;min-height:230px}.model-fields{grid-template-columns:1fr 1fr}.threshold-grid,.rules-grid{grid-template-columns:1fr}.pets{grid-template-columns:1fr 1fr;gap:8px}.pet.has-avatar{padding:9px 7px;min-height:74px;gap:7px}.pet.has-avatar .pet-thumb{width:36px;height:36px;flex-basis:36px}.pet.has-avatar.got::after{left:28px;bottom:9px}.pet-label{font-size:13px}.pet-label small{font-size:12px}.pet.has-avatar::before{width:38px;height:38px;right:5px}.recommend{gap:12px}.recommend h2{font-size:23px}.pool-badge{flex-basis:56px;width:56px;height:56px}.pool-badge img{width:52px;height:52px}.hero-farm .moon-routes{grid-template-columns:1fr}.metric{padding:12px 8px}.metric b{font-size:20px}.metric span{font-size:12px}.section-title{align-items:flex-start;flex-direction:column;gap:4px}.section-title h3{font-size:21px}.branch h4{font-size:15px}.hero-farm-head{align-items:flex-start;flex-direction:column;gap:5px}.progress-head{flex-wrap:wrap;gap:10px}.progress-head h3{font-size:21px}.support-launcher,.update-launcher{font-size:12px}.farm-data b{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}button:hover{transform:none}}

/* One clear action, comfortable reading sizes. */
.theme-options{grid-template-columns:1fr}
.theme-options[hidden]{display:none!important}
.mix-reason,.hero .recommend p,.branch p,.hint,.note,.farm-data span,.moon-route-copy span,.progress-save-note{font-size:15px;line-height:1.7}
.pet-label{font-size:15px}
.pool-table th,.pool-table td{font-size:14px;line-height:1.7}
.ball-guide,.remaining-details{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;font-size:15px;line-height:1.75}
.ball-guide summary,.remaining-details summary,.audit-details summary,.rules-details summary{font-size:16px;cursor:pointer;font-weight:700}
.player-steps{display:grid;gap:14px;padding-left:26px;font-size:16px;line-height:1.8}
.player-steps li::marker{font-weight:800;color:#7183d7}
.grid{align-items:start}
.hero{min-height:0;align-self:start}
.player-steps li b,.player-steps li span{display:block}
.player-steps li span{color:#69778d;font-size:15px;margin-top:3px}
@media(min-width:1001px){
 .grid{grid-template-rows:auto 1fr}
 .grid>.hero{grid-column:1;grid-row:1}
 .grid>.progress-panel{grid-column:2;grid-row:1 / span 2}
 .grid>.outcome-panel{grid-column:1;grid-row:2}
 .outcome-panel .section-title{flex-direction:column;align-items:flex-start;gap:6px}
 .outcome-panel .branches{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.theme-option{min-height:160px}
@media(max-width:600px){.mix-reason,.hero .recommend p,.branch p,.hint{font-size:14px}.player-steps{font-size:15px}}
