:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20372e;background:#f6f6f0;font-synthesis:none;--ink:#20372e;--dark:#183b31;--deep:#123228;--muted:#77877b;--light:#f6f6f0;--edge:#e4e8dd;--lime:#d6eba6;--mint:#d9ebd8;--gold:#f3c47d;--surface:#fff;--shadow:0 4px 15px rgba(27,59,45,.048);}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.44}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91b873;outline-offset:3px}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand-label{letter-spacing:-.035em}h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:700}h2{font-size:clamp(30px,3vw,39px);margin-bottom:8px}h3{font-size:23px;margin:0}h4{font-size:16px;margin:0}p{line-height:1.55}small,.small{font-size:12px}.muted{color:var(--muted)}.right{margin-left:auto;text-align:right}.right small{display:block;font-size:10px;color:var(--muted);font-weight:400}.center{text-align:center}.full{width:100%}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.split-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}.split-head h3{font-size:21px}.hint{font-size:11px;color:#73897b;font-weight:700;letter-spacing:.03em}.divider{height:1px;background:var(--edge);margin:20px 0}.eyebrow{font-weight:850;letter-spacing:.16em;font-size:10px;color:#6e9772;text-transform:uppercase}.sub{color:var(--muted);max-width:730px;font-size:14px;margin:0;line-height:1.7}.section-head{margin-bottom:24px}.section-head .eyebrow{margin-bottom:9px}.section-head h2{line-height:1.13}.app-frame{min-height:100vh;display:grid;grid-template-columns:254px minmax(0,1fr)}
.sidebar{background:linear-gradient(175deg,#21483a 0%,#19382f 53%,#142c27 100%);color:#e5efde;padding:25px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 0}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#b6df9d;color:#235039;font-size:30px}.brand-label{font-family:Georgia,serif;font-size:20px;font-weight:800;letter-spacing:-.04em}.brand-sub{color:#a5c1ac;font-size:10px;letter-spacing:.03em;margin-top:4px}.side-chapter{border:1px solid #426351;background:#26493d;border-radius:16px;padding:15px}.side-chapter>span{display:block;color:#abd0b0;font-size:9px;letter-spacing:.14em;font-weight:750}.side-chapter strong{font-family:Georgia,serif;display:block;margin:9px 0 12px;font-size:21px}.side-chapter small{display:block;color:#b6cbbc;margin-top:7px;font-size:10px}.nav{display:grid;gap:4px}.nav-btn{display:flex;align-items:center;gap:13px;padding:12px 15px;width:100%;border:0;border-radius:12px;background:transparent;color:#acc8b5;text-align:left;font-size:13px;font-weight:680;position:relative}.nav-btn:hover{background:#ffffff11;color:white}.nav-btn.active{background:#cce5b5;color:#17372b;box-shadow:0 2px 9px #0002}.nav-ico{font-size:19px;width:22px;text-align:center}.dot{margin-left:auto;width:7px;height:7px;background:#f2c07d;border-radius:50%}.side-bottom{margin-top:auto;padding:0 8px}.side-bottom span{font-size:11px;color:#d4e7d4}.side-bottom small{color:#7fa58d;display:block;margin-top:14px}.main-column{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px clamp(22px,3.5vw,54px);border-bottom:1px solid var(--edge);background:#ffffffba;min-height:105px}.top-greeting h1{font-family:Georgia,serif;font-size:23px;margin:6px 0 0}.top-resources{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.money{display:flex;align-items:center;gap:7px;background:#f3f5ed;border:1px solid #e2e8d9;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800;min-width:65px;justify-content:center;white-space:nowrap}.money-icon{font-size:17px;color:#60836d}.main-content{width:100%;max-width:1450px;padding:33px clamp(22px,3.5vw,54px) 65px;margin:0 auto;flex:1}.footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--edge);font-size:11px;color:#8c9a8d;padding:18px clamp(22px,3.5vw,54px)}.bottom-nav{display:none}
button.primary,.primary,button.secondary,.secondary,button.small-btn,.small-btn,.chip,.text-btn,.icon-btn,.danger-btn{border:1px solid transparent;border-radius:10px;transition:background .15s,border-color .15s,box-shadow .15s;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:7px;text-decoration:none}button.primary,.primary{background:#285a45;color:#fff;padding:12px 18px;font-size:13px;box-shadow:0 2px 5px #2b54421a}button.primary:hover:not(:disabled){background:#1b4836}button.secondary,.secondary{background:#f1f6eb;color:#2d6346;border:1px solid #cde0cc;padding:11px 17px;font-size:13px}button.secondary:hover{background:#e0eeda}.small-btn{background:#f4f6f0;border-color:#dde5d9;color:#41644f;padding:8px 11px;font-size:11px;min-height:32px;white-space:nowrap}.small-btn:hover:not(:disabled){border-color:#a4c4a6;background:#eaf2e4}.small-btn.positive{background:#e3f1dc;color:#31683b;border-color:#c9e2c2}.small-btn.danger{background:#fff3f0;color:#9e514b;border-color:#efdcd6}.text-btn{background:transparent;color:#3d805b;font-size:12px;padding:6px}.icon-btn{background:#f6f8f3;color:#466953;border:1px solid var(--edge);width:32px;height:32px;font-size:15px}.danger-btn{padding:12px 18px;background:#a74b43;color:white}.chip{background:#f5f7f1;border-color:#e0e6d9;color:#627768;border-radius:999px;padding:7px 11px;font-size:11px}.chip.chosen{background:#285a45;color:#fff;border-color:#285a45}.chip-group{display:flex;gap:7px;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--edge);box-shadow:var(--shadow);padding:23px;border-radius:18px;min-width:0}.panel>h3{margin-bottom:12px}.panel>p{color:#6e8173;font-size:13px}.note{background:#eaf1e7;border-left:3px solid #82aa86;color:#4e6656;padding:15px 18px;border-radius:0 12px 12px 0;margin-top:24px;font-size:12px;line-height:1.7}.note strong{color:#315d40}.progress{background:#e4eadf;height:8px;border-radius:100px;overflow:hidden}.progress i{height:100%;background:linear-gradient(90deg,#78b88b,#b2d78e);border-radius:100px;display:block;transition:width .3s}.progress.thin{height:5px}.side-chapter .progress{background:#385d47}.side-bottom .progress{margin-top:9px;background:#335747}.statline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:25px}.statline>div{background:white;border:1px solid var(--edge);padding:16px 18px;border-radius:14px;display:flex;flex-direction:column;gap:7px}.statline span{font-size:11px;color:#7b8d7c}.statline strong{font-family:Georgia,serif;font-size:23px;color:#2d513b}
.hero{min-height:222px;border-radius:20px;padding:27px 34px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;margin-bottom:22px}.hero-garden{background:radial-gradient(circle at 85% 65%,#bfd9ad 0%,#d5e5c9 32%,#e5efda 68%,#eaf0e3 100%);border:1px solid #d4e2cb}.hero h3{font-family:Georgia,serif;font-size:clamp(25px,2.4vw,33px);margin:10px 0}.hero p{max-width:490px;color:#587462;font-size:13px;margin-bottom:16px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.hero-decoration{flex:0 0 205px;filter:drop-shadow(0 10px 20px #659b6f40);transform:rotate(-6deg)}.plot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.plot{min-height:225px;position:relative;border:1px solid #dce6d7;border-radius:17px;background:linear-gradient(#fff,#f4f8ef);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:15px}.plot:not(button){box-shadow:var(--shadow)}.plot.empty{border:1px dashed #a9c9ad;background:#f6faf2;color:#709677}.plot.empty:hover{background:#ecf5e8;border-color:#79a582}.plot.locked{background:#f0f2ee;color:#a7b2a9;border:1px dashed #d2dcd2}.plot-add{font-size:36px;border-radius:50%;display:grid;place-items:center;background:#e6f0e0;width:65px;height:65px;margin-bottom:15px}.plot.empty b,.plot.locked b{font-size:12px}.plot.empty small,.plot.locked small{color:#90a495;margin-top:6px;font-size:10px}.lock-ico{font-size:29px;color:#aab9ac;margin-bottom:12px}.plot-inner{width:100%;display:flex;flex-direction:column;gap:9px;align-items:center}.soil-art{width:108px;height:108px;border-radius:50%;background:radial-gradient(circle,#eff4df 0,#e6f1e1 61%,#dce6cf 62%,transparent 73%);display:grid;place-items:center}.soil-art .sprite{filter:drop-shadow(0 4px 5px #32674424)}.plot-inner.ready .soil-art{background:radial-gradient(circle,#f1e7bc,#e1ebd0 70%,transparent 75%)}.plot-label{font-size:12px;font-weight:800;color:#3c5941}.plot-inner .progress{width:100%}.plot-inner .small-btn{margin-top:3px}.seed-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.seed-entry{border:1px solid var(--edge);background:white;border-radius:12px;padding:10px;display:flex;gap:9px;align-items:center;min-width:0}.seed-dot{display:grid;place-items:center;color:#fff;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#92bd84;font-size:20px;text-shadow:0 1px 3px #0002}.seed-copy{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}.seed-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seed-copy span{font-size:10px}.seed-entry .small-btn{flex:0 0 auto}
.nursery-layout,.battle-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:18px}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parent-card{background:#f8faf5;border:1px dashed #bdcfbc;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:207px;padding:14px;border-radius:15px;color:var(--ink)}.parent-card:hover{border-color:#5a996e;background:#f0f7ed}.parent-card b{font-size:13px}.parent-placeholder{border:1px dashed #b1cfb5;border-radius:50%;width:94px;height:94px;display:grid;place-items:center;font-size:44px;color:#7ca488}.cross-symbol{height:24px;text-align:center;margin:6px auto -8px;color:#8fb39b;font-size:20px}.cross-outcome{border:1px solid #e2e9dd;background:#f7faf3;padding:14px;border-radius:14px;display:flex;align-items:center;flex-direction:column;gap:7px;margin-bottom:15px}.cross-outcome strong{font-family:Georgia,serif;font-size:19px}.cross-outcome small{color:#839084}.parent-card .sprite,.creature-card .sprite{filter:drop-shadow(0 3px 5px #32674420)}.info-stack{display:grid;gap:21px;margin:17px 0 25px}.info-stack>div{display:flex;gap:13px;align-items:flex-start}.info-icon{height:34px;width:34px;border-radius:10px;background:#e8f2e4;display:grid;place-items:center;color:#548562;font-size:21px;flex:0 0 34px}.info-stack strong{font-size:13px}.info-stack p{font-size:12px;color:#819080;line-height:1.55;margin:5px 0 0}.type{display:inline-flex;gap:4px;align-items:center;border-radius:100px;background:color-mix(in srgb,var(--type) 20%,white);color:color-mix(in srgb,var(--type) 65%,#25332a);border:1px solid color-mix(in srgb,var(--type) 32%,white);padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap}
.arena-banner{display:flex;justify-content:space-between;align-items:center;border-radius:20px;background:radial-gradient(circle at 90% 40%,#3e6951,#25473a 54%,#1c3d33);color:white;padding:30px 34px;margin-bottom:20px}.arena-banner .eyebrow{color:#b2d9ac}.arena-banner h3{font-size:33px;margin:10px 0}.arena-banner p{color:#b6d0bd;font-size:12px}.arena-banner .progress{background:#ffffff3a;max-width:380px}.arena-emblem{font-size:78px;color:#c9dfb9;transform:rotate(-12deg);padding-right:20px}.team-roster{display:grid;gap:7px;margin:12px 0 18px}.team-member{display:flex;align-items:center;gap:10px;padding:7px 5px;border-bottom:1px solid var(--edge)}.team-member b{font-size:12px;display:block}.team-member .small{display:block;margin:4px 0}.team-member .type{font-size:9px}.team-member .right{font-family:Georgia,serif;font-size:17px}.team-foot{display:flex;justify-content:space-between;align-items:center;background:#f4f8f1;border-radius:12px;padding:13px;margin:0 0 15px;font-size:12px}.team-foot strong{font-size:20px;color:#337250}.auto-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:21px;border-top:1px solid var(--edge);padding-top:18px}.auto-controls strong{font-size:13px}.auto-controls p{margin:5px 0 0;max-width:290px}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;cursor:pointer}.track{width:43px;height:24px;display:block;background:#c3d0c3;border-radius:40px;position:relative;transition:background .2s}.track:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform .2s}.switch input:checked+.track{background:#3e9a6b}.switch input:checked+.track:after{transform:translateX(19px)}.auto-controls+.chip-group{margin-top:15px}.number-input{width:64px;border:1px solid var(--edge);border-radius:8px;padding:7px}.gold-action{margin-top:10px;background:#c18a49!important}.enemy-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--edge)}.enemy-portrait{width:46px;height:46px;display:grid;place-items:center;font-size:24px;border-radius:13px}.enemy-row>div:nth-child(2){flex:1}.enemy-row b{font-size:12px}.enemy-row .small{display:block;margin-top:5px}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stage-tile{min-height:47px;background:#f5f7f2;border:1px solid var(--edge);border-radius:10px;color:#718474;font-size:14px;font-weight:700;position:relative}.stage-tile.current{border-color:#487959;background:#e2f0dc;color:#285d40;box-shadow:0 0 0 2px #93be8845}.stage-tile.beaten{background:#e9f4e8;color:#43855b}.stage-tile small{position:absolute;top:4px;right:5px;font-size:9px}.rewards-hint{margin-top:15px;font-size:11px;color:#8b9a8d;line-height:1.6}.battle-result{margin:20px 0}.battle-result.result-win{border-color:#bcd7bd;background:#fbfdf8}.battle-result.result-loss{border-color:#e1c8ba;background:#fffbf8}.battle-after{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:17px 0}.battle-after strong{font-size:12px;display:block;margin-bottom:8px}.hp-row{margin:9px 0;font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hp-row small{flex:1}.hp-row .progress{width:100%}.event-log{margin-top:12px;background:#f5f6f0;padding:12px;border-radius:10px;font-size:11px;line-height:1.9;color:#647468}.chronicle{border:1px solid var(--edge);background:#fff;border-radius:15px;padding:14px 19px;font-size:12px;color:#6c7f72;display:grid;gap:9px}.chronicle div{padding:5px 0;border-bottom:1px solid #f0f1ec}.chronicle div:last-child{border:0}
.collection-layout{display:grid;grid-template-columns:minmax(0,1fr) 346px;gap:18px;align-items:start}.filter-wrap{display:flex;gap:8px;margin-bottom:14px}.filter-wrap select{min-width:0;flex:1;border-radius:9px;border:1px solid var(--edge);background:white;padding:9px;color:#42654c;font-size:12px}.creature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.creature-card{min-height:170px;min-width:0;border-radius:14px;background:white;border:1px solid var(--edge);display:flex;flex-direction:column;align-items:center;padding:14px 7px;gap:4px;box-shadow:var(--shadow);color:var(--ink)}.creature-card:hover{border-color:#8cb79c;transform:translateY(-1px)}.creature-card.selected{background:#f1f8ef;border:2px solid #7aa885;padding:13px 6px}.creature-card.epic,.creature-card.mythic{background:linear-gradient(170deg,#fff,#fbf7ff)}.creature-card.mythic{border-color:#e7d59b}.creature-card b{max-width:100%;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creature-card .small{font-size:10px}.power-label{font-weight:800;color:#507d60}.creature-detail{position:sticky;top:20px}.detail-top{display:flex;align-items:center;justify-content:space-between}.rarity-tag{padding:6px 10px;border-radius:20px;background:#f1f3eb;color:#657464;font-size:10px;font-weight:800}.rarity-tag.uncommon{background:#e4f2e2;color:#347f45}.rarity-tag.rare{background:#e6efff;color:#477bb4}.rarity-tag.epic{background:#f0e4fa;color:#8954ae}.rarity-tag.mythic{background:#fff0d5;color:#a1772f}.detail-portrait{display:grid;place-items:center;margin:0 0 10px;min-height:200px;background:radial-gradient(circle at center,#eef4e3,transparent 72%);border-radius:16px}.creature-detail>h3{text-align:center;font-size:25px;margin-bottom:7px}.xp-row{display:flex;justify-content:space-between;font-size:11px;color:#8a998b;margin-top:19px;margin-bottom:7px}.stats-table{margin:18px 0;border-top:1px solid var(--edge)}.stats-table>div{display:flex;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid var(--edge)}.stats-table span{font-size:12px;color:#66816f;flex:1}.stats-table b{font-size:14px}.stats-table small{width:80px;text-align:right;color:#95a297;font-size:10px}.trait{display:flex;gap:11px;background:#f6f9f3;padding:14px;border-radius:12px;margin-bottom:14px}.trait-icon{font-size:22px;width:31px;height:31px;display:grid;place-items:center;color:#669676}.trait strong{font-size:12px}.trait p{margin:5px 0 0;font-size:11px;color:#819283}.detail-actions{display:grid;gap:9px}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.evolution{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e8e3d8;background:#fffaf0;padding:12px;border-radius:12px}.evolution strong{font-size:11px}.evolution p{margin:5px 0 0;font-size:10px;color:#877c6b}
.segment-tabs{display:flex;gap:8px;margin-bottom:21px;flex-wrap:wrap}.segment-tabs button{background:#fff;color:#718473;border:1px solid var(--edge);padding:10px 19px;border-radius:10px;font-weight:800;font-size:12px}.segment-tabs button.selected{background:#285a45;color:white;border-color:#285a45}.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.research-card{display:flex;gap:14px;padding:17px;background:white;border:1px solid var(--edge);border-radius:15px;min-width:0}.research-card.tech-locked{background:#f6f8f4;opacity:.75}.research-icon{width:46px;height:46px;flex:0 0 46px;background:#eaf3e7;color:#598a64;font-size:25px;border-radius:13px;display:grid;place-items:center}.research-body{min-width:0;flex:1}.research-body .split-head{margin:0 0 6px}.research-body h4{font-size:14px}.research-body p{font-size:11px;color:#829284;line-height:1.55;margin-bottom:12px}.level-tag{font-size:10px;color:#819585;white-space:nowrap}.research-body .small-btn{max-width:100%;white-space:normal;text-align:center}.legacy-head{margin-top:37px;border-top:1px solid var(--edge);padding-top:28px}.legacy-head p{margin:8px 0 0}.root-count{background:#e7f3e1;color:#366841;font-size:13px;font-weight:800;padding:10px 15px;border-radius:11px}.legacy-card{background:linear-gradient(120deg,#fff,#fffdf5)}.legacy-card .research-icon{background:#f7f0d9;color:#aa874c}
.exp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:27px}.exp-card{background:white;border:1px solid var(--edge);padding:18px 13px;border-radius:15px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.exp-card>span{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#edf5e9;color:#5d8c62;font-size:22px}.exp-card h4{font-size:12px}.exp-card p{font-size:11px;color:#859489;flex:1;margin:0;line-height:1.5}.exp-card small{color:#a1a99c;font-size:10px;margin-bottom:7px}.exp-card .small-btn{width:100%}.expedition-current{background:#e8f2e5;border:1px solid #c7dec5;border-radius:15px;display:flex;align-items:center;gap:15px;padding:20px;margin-bottom:25px}.exp-icon{font-size:32px}.expedition-current>div:nth-child(2){flex:1}.expedition-current b{font-size:14px}.expedition-current p{margin:5px 0 0;color:#69846e;font-size:12px}.relic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 28px}.relic-card{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;min-height:155px;border:1px solid var(--edge);border-radius:14px;background:#fff;padding:15px 9px;color:#456449}.relic-card>span{font-size:30px;color:#ba945e}.relic-card b{font-size:11px}.relic-card small{font-size:10px;line-height:1.4;color:#869587}.relic-card.equipped{background:#eff8e8;border-color:#97bc8a}.relic-card em{font-style:normal;font-size:10px;font-weight:800;color:#47844f}.relic-card.unknown{filter:grayscale(.95);opacity:.52}.quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:30px}.quest-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--edge);border-radius:13px;padding:13px}.quest-icon{font-size:23px;color:#7e9e70;width:29px;text-align:center}.quest-card>div{flex:1;min-width:0}.quest-card b{font-size:12px}.quest-card p{font-size:11px;color:#889587;margin:4px 0 8px}.quest-card small{color:#a1aca1;font-size:10px}.quest-card .progress{margin-bottom:5px}.codex-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:32px;max-height:550px;overflow:auto}.codex-entry{background:#fff;border:1px solid var(--edge);border-radius:12px;padding:10px;display:flex;gap:9px;align-items:center;min-width:0}.codex-entry>span{width:30px;height:30px;display:grid;place-items:center;background:color-mix(in srgb,var(--type) 20%,white);color:var(--type);border-radius:9px;flex:0 0 30px}.codex-entry b{font-size:11px;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}.codex-entry small{font-size:9px;color:#9ca89d;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codex-entry.undiscovered{filter:grayscale(1);opacity:.65}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.achievement{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--edge);border-radius:12px;padding:10px}.achievement.claimed{background:#f5f9f2}.achievement.claimable{border-color:#87b483;background:#f1f9eb}.ach-icon{font-size:21px;color:#91ad83}.achievement>div{flex:1;min-width:0}.achievement strong{font-size:10px;display:block}.achievement small{font-size:9px;color:#96a397}.achievement .small-btn{font-size:10px;padding:6px;min-height:25px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}.action-stack{display:grid;gap:10px;margin:18px 0}.settings-stats{display:grid;gap:0}.settings-stats>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--edge);font-size:12px}.settings-stats span{color:#84968a}.settings-stats b{font-weight:850}.setting{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--edge);padding:13px 0}.setting b{font-size:13px}.setting p{font-size:11px;color:#8c9a90;margin:6px 0}.dev-tools{border:1px dashed #b0ceaa;border-radius:11px;background:#f7faf4;padding:12px;margin:14px 0}.dev-tools h4{margin-bottom:10px}
.empty-state{text-align:center;padding:37px 24px;color:#97a89a;border:1px dashed #d5e1d4;border-radius:14px;font-size:13px;background:#fafdF8}.modal-backdrop{position:fixed;inset:0;background:#0b211b9c;display:flex;align-items:center;justify-content:center;padding:18px;z-index:999}.modal{width:min(100%,520px);max-height:min(88vh,790px);background:#fff;border-radius:20px;box-shadow:0 30px 100px #081b1355;display:flex;flex-direction:column;overflow:hidden}.modal-head{padding:19px 22px;border-bottom:1px solid var(--edge);display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-head h3{font-size:23px}.modal-content{overflow:auto;padding:19px 22px 25px}.modal-content p{font-size:13px;color:#677c6c}.modal-item-list{display:grid;gap:7px;max-height:57vh;overflow:auto}.modal-item{background:#fdfefa;border:1px solid #e0e8dc;padding:9px;display:flex;align-items:center;text-align:left;gap:10px;width:100%;border-radius:12px;min-height:61px;color:#264535}.modal-item:hover:not(:disabled){background:#ecf7e9;border-color:#8ab292}.modal-item>span:nth-child(2){flex:1;min-width:0}.modal-item b{font-size:12px}.modal-item small{display:block;font-size:10px;color:#87968a;margin-top:4px;line-height:1.4}.modal-item .chev{margin-left:auto;font-size:21px;color:#699976}.modal-item .price{white-space:nowrap;color:#2d6948}.modal-item .sprite{flex:0 0 55px}.modal-content .full{margin-top:10px}.offline-fig{display:flex;align-items:center;gap:12px;padding:17px;background:#eff5e9;border-radius:14px;font-size:22px;color:#3a704b;margin:15px 0}.or-rule{text-align:center;margin:16px 0;color:#96a897;font-size:12px}.file-label{border:1px dashed #8aaf8b;border-radius:13px;padding:20px;text-align:center;background:#f5faf3;display:block;cursor:pointer;font-size:13px;color:#2d7348;font-weight:800}.file-label input{margin:12px 0 0;display:block;width:100%;font-size:11px}.modal textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #d3e2d4;resize:vertical;font-size:11px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:110px}.modal-content button+button{margin-top:8px}.toast{position:fixed;z-index:1100;bottom:25px;left:50%;transform:translate(-50%,30px);background:#244f3d;color:white;padding:13px 22px;border-radius:100px;box-shadow:0 7px 22px #214c3666;font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(480px,90vw);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1280px){.app-frame{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:22px 12px}.main-content,.topbar,.footer{padding-left:23px;padding-right:23px}.plot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.relic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.codex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-layout{grid-template-columns:minmax(0,1fr) 330px}.creature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.app-frame{grid-template-columns:1fr}.sidebar{display:none}.main-content{padding-bottom:100px}.topbar{padding:15px 22px;min-height:81px}.top-greeting h1{font-size:19px}.money{padding:7px;min-width:48px}.bottom-nav{display:grid;grid-template-columns:repeat(7,1fr);position:fixed;bottom:0;left:0;right:0;height:70px;z-index:300;background:#fbfdf9;border-top:1px solid #d9e5d7;box-shadow:0 -4px 18px #23483115;padding-bottom:env(safe-area-inset-bottom)}.bottom-btn{border:0;background:transparent;color:#7c9282;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-weight:700;font-size:10px}.bottom-btn span{font-size:24px;line-height:1}.bottom-btn small{font-size:9px}.bottom-btn.active{color:#2d6f4a;background:#eff7ec}.footer{padding-bottom:85px}.toast{bottom:84px}}
@media (max-width:710px){.topbar{display:block}.top-greeting{display:flex;align-items:center;gap:8px;margin-bottom:11px}.top-greeting .eyebrow{font-size:9px}.top-greeting h1{font-size:18px;margin:0}.top-resources{justify-content:flex-start;gap:5px}.money{font-size:11px;min-width:0;padding:6px 8px;border-radius:8px}.money-icon{font-size:14px}.main-content{padding:22px 14px 94px}.footer{padding-left:14px;padding-right:14px}.hero{padding:23px;min-height:210px}.hero h3{font-size:26px}.hero-decoration{position:absolute;right:-35px;bottom:-20px;opacity:.38;transform:rotate(-18deg);pointer-events:none}.hero>div:first-child{z-index:1}.hero p{max-width:85%}.statline{grid-template-columns:repeat(2,1fr);gap:8px}.statline>div{padding:12px}.statline strong{font-size:21px}.plot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.plot{min-height:213px;padding:9px}.soil-art{height:102px;width:102px}.plot-inner .small-btn{padding:7px 3px;font-size:10px}.split-head{align-items:flex-start}.split-head h3{font-size:18px}.split-head>.hint{max-width:145px;text-align:right}.seed-list{grid-template-columns:1fr}.nursery-layout,.battle-layout,.collection-layout,.settings-grid{grid-template-columns:1fr}.panel{padding:17px}.parent-card{min-height:180px}.creature-detail{position:static}.creature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.creature-card{padding:8px 3px;min-height:148px}.creature-card .sprite{width:78px;height:78px}.creature-card b{font-size:10px}.creature-card .small{font-size:9px}.arena-banner{padding:24px}.arena-banner h3{font-size:28px}.arena-emblem{font-size:43px;padding-right:0}.research-grid,.quest-grid{grid-template-columns:1fr}.exp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.relic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-after{gap:12px}.bottom-nav{height:73px}.bottom-btn span{font-size:21px}.bottom-btn small{font-size:9px}}
@media (max-width:390px){.money{font-size:10px}.money-icon{font-size:13px}.bottom-btn small{font-size:8px}.bottom-btn span{font-size:19px}.hero{padding:18px}.hero p{font-size:12px}.plot-grid{gap:7px}.plot{padding:7px}.plot-inner .small-btn{font-size:9px}.research-card{padding:13px}.exp-grid{gap:8px}.exp-card{padding:13px 10px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition:none!important}}
.ending{background:linear-gradient(120deg,#eaf5df,#fff5db);border:1px solid #d9e8ca;border-radius:20px;padding:25px 30px;margin-bottom:20px}.ending h3{font-size:30px;margin:9px 0}.ending p{font-size:13px;color:#5d785c;max-width:800px}.ending-sigil{letter-spacing:.4em;color:#8ba36d;font-size:25px}
.mastery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:28px;max-height:570px;overflow:auto}.mastery-card{border:1px solid #e1e8dc;background:#fff;border-radius:12px;padding:13px;min-width:0;margin:0 0 7px}.mastery-card.can-claim{background:#f0f9ed;border-color:#91bc88}.mastery-heading{display:flex;gap:7px;align-items:center;justify-content:space-between;margin-bottom:8px}.mastery-heading strong{font-size:11px}.mastery-heading span{font-size:13px;color:#ae9753;white-space:nowrap}.mastery-card p{font-size:10px;line-height:1.5;margin:3px 0 10px}.mastery-prog{display:flex;justify-content:space-between;gap:9px;font-size:10px;color:#849687;margin-bottom:7px}.mastery-card .small-btn{margin-top:10px}.creature-detail .mastery-card{margin-bottom:12px;background:#fafcf8}.creature-detail .mastery-card .mastery-heading strong{font-size:12px}@media(max-width:1280px){.mastery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:710px){.mastery-grid{grid-template-columns:1fr}}
/* V2: Spiral Grove, hidden grafts and assignable battle techniques */
.skill-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:21px 0 6px}.skill-head h4{font:700 18px Georgia,serif;color:#2c513b}.skill-note{line-height:1.6;margin:7px 0 13px}.skill-list{display:grid;gap:7px;margin-bottom:11px}.skill-line{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#f8faf6;border:1px solid #dce5d8;border-radius:12px;padding:9px 10px;color:#355c45}.skill-line:hover:not(:disabled){background:#edf7ea;border-color:#a0c8a3}.skill-line.skill-on{border-color:#8bae8c;background:#eff7e9}.skill-line>span:nth-child(2){flex:1;min-width:0}.skill-line strong{display:block;font-size:12px}.skill-line small{display:block;font-size:10px;color:#778b79;line-height:1.5;margin-top:4px}.skill-line>b{font-size:10px;white-space:nowrap;color:#4b8158}.skill-icon{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border-radius:10px;background:#e1ecdb;color:#578963;font-size:20px}.spiral-hero{display:flex;gap:25px;margin-bottom:25px;background:linear-gradient(115deg,#eef5ed,#fff 78%);border-color:#d7e4d2}.spiral-hero h3{font:700 28px Georgia,serif;color:#274c39;margin:9px 0}.spiral-hero p{color:#667e6b;max-width:820px;font-size:13px;line-height:1.7}.spiral-symbol{font-family:Georgia,serif;font-size:95px;color:#7bae89;line-height:1}.fold-objectives{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.fold-objectives>div{border:1px solid #dae7d6;border-radius:11px;background:#fff;padding:12px;min-width:0}.fold-objectives span{display:block;font-size:11px;color:#6b806e}.fold-objectives strong{display:block;margin:6px 0;font-size:15px;color:#285c42}.fold-objectives .progress{margin-top:8px}.secret-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:27px}.secret-card{background:linear-gradient(145deg,#f6f5fa,#fff);padding:16px;border:1px solid #dedce8;border-radius:15px;min-width:0;display:flex;flex-direction:column;gap:12px}.secret-card.secret-found{background:linear-gradient(135deg,#eff8ee,#fff9ec);border-color:#b5d8b6}.secret-top{display:flex;gap:10px;align-items:center}.secret-top>span{display:grid;place-items:center;width:37px;height:37px;background:#e3dfef;border-radius:11px;font-size:24px;color:#8671a6;flex-shrink:0}.secret-found .secret-top>span{background:#d9eed6;color:#508455}.secret-top strong{font:700 15px Georgia,serif;color:#4e4b64}.secret-top small{display:block;margin-top:3px;font-size:10px;color:#928ba5}.secret-card>p{font-size:12px;line-height:1.6;color:#807b93;margin:0}.secret-recipe{border-top:1px solid #e7e1e8;padding-top:9px;margin-top:auto}.secret-recipe>*{display:block}.secret-recipe small{font-size:10px;color:#898299}.secret-recipe b{font-size:12px;color:#5c5269;line-height:1.5;margin:4px 0}.secret-tag{align-self:flex-start;background:#e3f4dc;color:#477c53;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:750}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:29px}.ability-entry{display:flex;align-items:flex-start;gap:9px;border-radius:12px;padding:11px;background:#fff;border:1px solid var(--edge);min-width:0}.ability-entry>span{font-size:19px;border-radius:8px;background:#edf6e9;color:#598e63;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.ability-entry b{font-size:11px}.ability-entry small{display:block;font-size:10px;color:#829287;line-height:1.5;margin-top:3px}.ability-unknown{background:#f7f8f5;opacity:.72}.codex-more{margin:8px 0 25px!important}
@media(max-width:1280px){.secret-grid,.ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.bottom-nav{grid-template-columns:repeat(8,1fr)}}
@media(max-width:710px){.spiral-hero{padding:17px;gap:8px}.spiral-symbol{font-size:42px}.spiral-hero h3{font-size:23px}.fold-objectives{grid-template-columns:1fr}.secret-grid,.ability-grid{grid-template-columns:1fr}.bottom-btn small{font-size:8px}.bottom-btn span{font-size:19px}.skill-line small{font-size:9px}}
@media(max-width:390px){.bottom-btn small{font-size:7px}.bottom-btn span{font-size:17px}.spiral-symbol{font-size:33px}}

/* The Complete Field Guide */
.guide-tabs {display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 22px}
.guide-controls {display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.guide-search-wrap {display:flex;align-items:center;gap:8px;flex:1 1 280px;border:1px solid var(--border, #c2ccbb);border-radius:12px;padding:8px 14px;background:var(--panel, #fff);min-width:0}
.guide-search-wrap input {width:100%;background:transparent;border:0;outline:0;color:inherit;font:inherit;min-width:0}
.guide-list-count {color:var(--muted, #627568);font-size:13px;margin:8px 0 15px}
.guide-entry-grid,.completion-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:13px;margin-bottom:18px}
.guide-entry,.completion-card {border:1px solid rgba(85,124,96,.26);border-radius:14px;padding:15px;background:var(--card,#fff);display:flex;flex-direction:column;gap:11px;min-width:0}
.guide-entry p,.completion-card p {font-size:13px;line-height:1.55;margin:0;color:var(--muted,#5d7064)}
.guide-entry-head {display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.guide-entry-head>div {display:flex;flex:1;flex-direction:column;min-width:0}
.guide-entry-head strong {overflow-wrap:anywhere;font-size:15px}
.guide-entry-head small {font-size:11px;color:var(--muted,#607263)}
.guide-flower {width:43px;height:43px;border-radius:12px;flex-shrink:0;background:var(--flower,#869e81);display:grid;place-items:center;color:#fff;font-size:23px}
.guide-source {font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.guide-status {font-size:11px;color:#617969;white-space:nowrap}
.guide-entry.guide-found {border-color:rgba(90,157,105,.43)}
.guide-entry .small-btn {align-self:start;max-width:100%;white-space:normal}
.completion-card {gap:13px}.completion-card h3 {font-size:15px;margin:0}.completion-card .split-head {gap:12px;align-items:start}
.completion-hero {margin-bottom:16px}.completion-hero h3 {font-size:22px;margin:4px 0}.completion-number {font-size:30px;font-variant-numeric:tabular-nums}
@media (max-width:650px) {.guide-entry-grid,.completion-grid {grid-template-columns:minmax(0,1fr)}.guide-tabs {gap:6px}.guide-tabs .chip {font-size:12px;padding:8px 10px}.guide-entry-head {gap:8px}.guide-controls .chip-group {flex-wrap:wrap}}

/* v3: new game, full help system, guided lessons and meaningful seed vigor */
.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.starter-option{border:2px solid #bdd5bd;background:#f9fdf7;color:#254333;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:17px 11px;min-width:0;text-align:center;cursor:pointer}
.starter-option:hover,.starter-option:focus-visible{background:#e9f7e7;border-color:#378a5a;outline:2px solid #3c8058;outline-offset:2px}
.starter-option strong{font-size:16px}.starter-option small{color:#556e61;font-size:10px}.starter-option>span:not(.starter-swatch){font-size:12px;line-height:1.5}.starter-swatch{display:grid;place-items:center;width:57px;height:57px;border-radius:18px;font-size:30px}
.help-toggle{cursor:pointer;border:1px solid #bdceba;background:#eff8e9;border-radius:10px;padding:8px 13px;white-space:nowrap;font-size:12px;font-weight:750;color:#376947;align-self:center}.help-toggle.active{background:#214a36;color:white}
#bw-tooltip{position:fixed;z-index:4000;padding:11px 13px;line-height:1.5;border:1px solid #bdd2c0;background:#1f4330;color:#fff;box-shadow:0 8px 26px #193c3470;border-radius:11px;font:12px/1.5 system-ui,sans-serif;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .12s;overflow-wrap:anywhere}
#bw-tooltip.visible{visibility:visible;opacity:1}#bw-tooltip.sticky{border:2px solid #a8cda5}
.tutorial-head{margin-bottom:16px}.tutorial-head h3{font-size:23px}.tutorial-head p{margin:8px 0}
.tutorial-layout{display:grid;grid-template-columns:minmax(175px,285px) minmax(0,1fr);gap:16px;margin-bottom:19px;align-items:start}
.tutorial-list{display:grid;gap:6px;max-height:710px;overflow:auto;padding:2px}.tutorial-link{text-align:left;border:1px solid #d9e3d5;border-radius:10px;padding:12px 10px;background:#fff;color:#3a5846;display:flex;gap:9px;align-items:center;cursor:pointer;font-size:12px}.tutorial-link span{font-weight:850;color:#3e8658;min-width:20px}.tutorial-link.selected{background:#e9f5e7;border-color:#84ad84}.tutorial-link b{line-height:1.35}
.tutorial-body h3{font-size:25px;margin:5px 0 22px}.tutorial-body h4{font-size:14px;color:#315941;margin:14px 0 6px}.tutorial-body p{font-size:13px;color:#526c5b;line-height:1.75}.tutorial-goal{padding:13px;border-radius:12px;background:#f0f6ec;display:flex;flex-direction:column;gap:6px;margin:20px 0}.tutorial-goal strong{color:#34754e;font-size:12px}.tutorial-goal span{font-size:12px}.tutorial-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.formula-reference summary{cursor:pointer;font-weight:750;color:#2b6142}.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formula-grid p{font-size:12px;line-height:1.6}
@media(max-width:710px){.starter-grid{grid-template-columns:1fr}.starter-option{flex-direction:row;flex-wrap:wrap;text-align:left}.starter-option .starter-swatch{width:40px;height:40px;flex-shrink:0}.starter-option strong{font-size:14px}.starter-option small{width:100%}.tutorial-layout{grid-template-columns:1fr}.tutorial-list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-link{font-size:10px;padding:8px}.formula-grid{grid-template-columns:1fr}.help-toggle{display:inline-flex;margin-bottom:7px}.modal:has(.starter-grid){max-height:90vh;overflow:auto}}

.seed-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.seed-actions button{font-size:10px!important}
@media(max-width:710px){.seed-actions{justify-content:flex-start}.seed-actions button{font-size:10px!important}}

.passive-ref{margin:14px 0 20px}.passive-ref summary{font-size:13px;font-weight:750;cursor:pointer;color:#315a42}.passive-ref .guide-entry-grid{margin-top:14px}.passive-ref .guide-entry{gap:5px}

/* 3.1 — Typography and responsive reading pass.
   Avoid compressed tracking, micro-text and forced single-line labels. */
:root {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: normal;
  word-spacing: .035em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body, button, input, select, textarea { letter-spacing: normal; }
h1, h2, h3, h4, .brand-label { letter-spacing: 0; line-height: 1.25; word-spacing: normal; }
p, .sub, .note, .guide-entry p, .tutorial-body p, .modal-content p {
  line-height: 1.65;
  text-wrap: pretty;
  overflow-wrap: break-word;
}
button, .chip, .small-btn, .nav-btn, .bottom-btn { line-height: 1.35; }
button { white-space: normal; text-wrap: pretty; }
.eyebrow { font-size: 11px; letter-spacing: .10em; }
.brand-sub, .side-chapter small, .side-bottom small { font-size: 12px; }
.side-chapter > span { font-size: 11px; letter-spacing: .09em; }
.nav-btn { font-size: 14px; }
.small, small { font-size: 12px; }
.right small { font-size: 12px; }
.hint { font-size: 12px; letter-spacing: 0; }
.sub { font-size: 15px; }
.footer { font-size: 12px; }
.money { font-size: 13px; }
.chip { font-size: 12px; padding: 9px 13px; }
.small-btn { font-size: 12px; white-space: normal; min-height: 35px; }
.text-btn { font-size: 13px; }
.panel > p, .modal-content p { font-size: 14px; }
.note { font-size: 13px; }
.statline span { font-size: 13px; }
.hero p, .arena-banner p, .ending p { font-size: 14px; }
.plot-label { font-size: 14px; overflow-wrap: break-word; }
.plot.empty b, .plot.locked b { font-size: 14px; }
.plot.empty small, .plot.locked small, .plot-inner .small { font-size: 12px; }
.seed-list { grid-template-columns: repeat(auto-fit, minmax(min(310px, 100%), 1fr)); }
.seed-entry { align-items: flex-start; flex-wrap: wrap; gap: 11px; }
.seed-copy b { font-size: 13px; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: break-word; }
.seed-copy span { font-size: 12px; line-height: 1.55; }
.seed-actions { margin-left: auto; }
.seed-actions button { font-size: 12px !important; }
.team-member b, .team-foot, .enemy-row b { font-size: 13px; }
.team-member .type, .rarity-tag { font-size: 12px; }
.team-member .small, .enemy-row .small, .event-log, .chronicle { font-size: 12px; }
.rewards-hint { font-size: 13px; }
.hp-row { font-size: 12px; }
.creature-card { min-height: 185px; }
.creature-card b { font-size: 13px; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: break-word; line-height: 1.4; text-wrap: pretty; }
.creature-card .small { font-size: 12px; }
.xp-row { font-size: 12px; }
.stats-table span, .trait strong { font-size: 13px; }
.stats-table small, .trait p, .evolution p { font-size: 12px; }
.evolution strong { font-size: 13px; }
.segment-tabs button { font-size: 13px; }
.research-body p, .exp-card p, .quest-card p, .setting p { font-size: 13px; }
.research-body h4, .exp-card h4, .expedition-current b, .relic-card b { font-size: 14px; }
.research-body .level-tag, .exp-card small, .quest-card small, .relic-card small, .relic-card em { font-size: 12px; }
.relic-card, .exp-card, .quest-card, .research-card { overflow-wrap: break-word; }
.codex-entry b, .codex-entry small { font-size: 12px; white-space: normal; text-overflow: clip; overflow: visible; overflow-wrap: break-word; line-height: 1.4; }
.codex-entry { min-width: 0; }
.achievement strong, .achievement small { font-size: 12px; line-height: 1.4; }
.achievement { gap: 10px; }
.achievement-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.settings-stats > div { font-size: 13px; }
.setting b { font-size: 14px; }
.empty-state { font-size: 14px; line-height: 1.65; }
.modal-item b { font-size: 13px; }
.modal-item small { font-size: 12px; }
.modal-item .price { font-size: 13px; }
.file-label { font-size: 14px; }
.toast { font-size: 13px; line-height: 1.5; border-radius: 15px; }
.mastery-heading strong, .mastery-card p, .mastery-prog { font-size: 12px; }
.skill-line strong, .secret-recipe b, .skill-note { font-size: 13px; }
.skill-line small, .skill-line > b, .secret-card > p, .secret-recipe small, .secret-tag { font-size: 12px; }
.secret-top small, .fold-objectives span, .guide-status { font-size: 12px; }
.ability-entry b, .ability-entry small { font-size: 12px; line-height: 1.5; }
.guide-entry p, .completion-card p { font-size: 14px; }
.guide-entry-head small { font-size: 12px; }
.guide-source { font-size: 13px; }
.guide-tabs .chip { font-size: 13px; }
.tutorial-link { font-size: 13px; min-height: 49px; }
.tutorial-link span { min-width: 24px; }
.tutorial-link b { line-height: 1.5; }
.tutorial-head p { font-size: 14px; }
.tutorial-body h4 { font-size: 15px; }
.tutorial-body p { font-size: 15px; line-height: 1.7; }
.tutorial-goal strong, .tutorial-goal span { font-size: 13px; }
.formula-grid p { font-size: 13px; }
#bw-tooltip { font: 13px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; word-spacing: .035em; }
.modal:has(.starter-grid) { width: min(94vw, 760px); max-height: min(90dvh, 850px); }
.starter-option { padding: 19px 15px; gap: 11px; }
.starter-option strong { font-size: 16px; }
.starter-option small { font-size: 12px; line-height: 1.5; }
.starter-option > span:not(.starter-swatch) { font-size: 14px; line-height: 1.6; }
@media (max-width: 980px) {
  .bottom-btn small { font-size: 10px; }
}
@media (max-width: 710px) {
  .panel { padding: 18px; }
  .top-greeting .eyebrow { font-size: 11px; }
  .money { font-size: 12px; }
  .small-btn { font-size: 12px; }
  .creature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .creature-card { min-height: 172px; padding: 12px 7px; }
  .creature-card b { font-size: 13px; }
  .creature-card .small { font-size: 12px; }
  .tutorial-link { font-size: 12px; padding: 10px; }
  .tutorial-list { gap: 8px; }
  .seed-actions button { font-size: 12px !important; }
  .guide-tabs .chip { font-size: 13px; }
  .achievement-grid { grid-template-columns: 1fr; }
  .bottom-btn small { font-size: 10px; }
  .bottom-btn { gap: 3px; }
  .starter-grid { grid-template-columns: 1fr; gap: 11px; }
  .starter-option { display: grid; grid-template-columns: 45px minmax(0,1fr); text-align: left; justify-items: start; gap: 5px 12px; }
  .starter-swatch { grid-row: span 3; }
  .starter-option strong, .starter-option small, .starter-option > span:not(.starter-swatch) { grid-column: 2; width: 100%; }
  .starter-option strong { font-size: 15px; }
  .starter-option > span:not(.starter-swatch) { font-size: 14px; }
}
@media (max-width: 390px) {
  .bottom-btn small { font-size: 9px; }
  .money { font-size: 11px; }
  .plot-inner .small-btn { font-size: 11px; }
  .hero p { font-size: 14px; }
  .tutorial-link { font-size: 12px; padding: 10px 8px; }
}
/* Give phone navigation real room for full labels instead of 8 cramped columns. */
@media (max-width: 480px) {
  .top-greeting { gap: 13px; flex-wrap: wrap; }
  .top-resources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .money { min-width: 0; font-size: 12px; }
  .bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: calc(108px + env(safe-area-inset-bottom));
    padding: 3px 2px env(safe-area-inset-bottom);
  }
  .bottom-btn { min-width: 0; gap: 2px; padding: 4px 2px; }
  .bottom-btn span { font-size: 18px; }
  .bottom-btn small { font-size: 11px; line-height: 1.2; }
  .main-content { padding-bottom: 143px; }
  .footer { padding-bottom: 135px; }
  .toast { bottom: calc(122px + env(safe-area-inset-bottom)); }
}


/* v3.2: Tooltip-only readability fix. Keep full words together, preserve
   intentional breaks between labels, values and instructions. */
#bw-tooltip {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 450;
  line-height: 1.6;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: pre-line;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-align: left;
  padding: 13px 15px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}
@media (max-width: 710px) {
  #bw-tooltip { font-size: 14px; line-height: 1.6; }
}
