/* Shared compact, readable surfaces. Keep independent disclosures from stretching neighbours. */
:root{--ink:#233c35;--green:#28664e;--muted:#62746d;--line:#d8e3dc;--mint:#e5f1e9;--bg:#f1f5f2}
body{background:linear-gradient(135deg,#edf4ee,#f4f6f5 65%,#eef2f6);color:var(--ink);font-family:ui-rounded,'Microsoft YaHei UI','PingFang SC','Microsoft YaHei',system-ui,sans-serif;line-height:1.6}
header{background:#fbfdfb;border-bottom:1px solid var(--line)}
main{max-width:1400px;margin-inline:auto;width:100%;box-sizing:border-box}
h1,h2,h3{letter-spacing:.025em;text-wrap:balance}h1{font-weight:800}
.panel,.card,.system-card{background:#fff;border-color:var(--line);box-shadow:0 2px 8px #254f3710}
.grid,.cake-tag-grid,.joint-alternatives,.joint-timeline,.atlas-groups,.inventory-list,.detail-grid,.system-list{align-items:start}
.grid>*,.cake-tag-grid>*,.form-grid>*,.system-card>div,.metric-row>*{min-width:0}
.cake-tag-grid{display:block;columns:2;column-gap:10px}
.cake-tag-grid>.cake-tag{display:block;break-inside:avoid;margin:0 0 10px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}
.cake-tag>summary{display:block;padding:10px!important;min-height:44px;box-sizing:border-box;line-height:1.5;word-break:normal;overflow-wrap:break-word}
.cake-tag>summary::after{content:' ＋';float:right}.cake-tag[open]>summary::after{content:' −'}
.cake-tag>p,.cake-tag>dl{margin:8px 10px}.cake-tag[open]{box-shadow:0 3px 12px #254f3715}
.table-wrap td,.table-wrap th{padding:5px 8px;font-size:13px;line-height:1.4;word-break:normal;overflow-wrap:normal;min-width:64px}
.table-wrap td.wrap{min-width:160px}.table-wrap th{white-space:nowrap}.table-wrap .game-icon{max-height:32px;width:32px;object-fit:contain}
.level-rows summary,.level-rows .level-head,.cake-up-row>summary{min-height:32px;padding:5px 8px;line-height:1.4;font-size:13px}
.level-row{gap:8px;grid-template-columns:minmax(65px,.7fr) minmax(85px,1fr) minmax(85px,1fr)}
.level-row .amount{white-space:nowrap;overflow-wrap:normal;font-size:inherit}
.metric-row b{word-break:normal;overflow-wrap:break-word}.metric-row{align-items:baseline}
.table-wrap .amount{font-size:inherit;white-space:nowrap}.upgrade-list>details{margin-top:0;padding-top:0}.upgrade-list>details>summary{padding:7px 4px;min-height:34px}
summary{touch-action:manipulation}button,a,input,select{touch-action:manipulation}
input:not([type=checkbox]):not([type=radio]),select{font-size:16px!important;min-height:40px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5b9f83;outline-offset:3px}
.game-icon{flex-shrink:0}.collection-catalog .game-icon,.decor-catalog .game-icon,.ore-stone{background-color:#fff;border-radius:9px;box-shadow:0 0 0 1px #e7eee8}
.system-card{gap:8px;padding:14px}.system-card h2{font-size:17px}.system-card p{font-size:13px}.system-card>span{flex-shrink:0}
#mobile-nav{background:#fbfdfb;box-shadow:0 -2px 12px #213f3010}#mobile-nav a{min-height:44px}#toast{bottom:100px;max-width:calc(100vw - 40px)}
.joint-timeline>li{background:#f4f8f5}.joint-plan-title{font-weight:650}.panel{margin-block:12px}.section-head{margin:20px 0 10px}
@media(min-width:768px){.cake-tag-grid{columns:3}.panel{padding:18px}}
@media(min-width:1100px){.cake-tag-grid{columns:4}}
@media(max-width:420px){main{padding-inline:12px}.cake-tag>summary{font-size:12px}.system-card{flex-wrap:wrap}.system-card>span{font-size:12px}.form-grid{gap:8px}.level-row{gap:4px}.table-wrap td,.table-wrap th{padding:5px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.event-head{flex-wrap:wrap;gap:6px}.event-head .shop-heading{flex:1 1 180px;min-width:0;margin:0;gap:8px}.event-head .badge{white-space:nowrap;flex:0 0 auto}.event-card{padding:12px}.event-card h3{font-size:14px;margin:0}.event-card .metric-row{font-size:13px;padding:5px 0}.event-game-icon{width:34px!important;height:34px!important;flex:0 0 34px}
#event-list{align-items:start}.tag-catalog{display:block!important;columns:2;column-gap:10px}.tag-catalog>.event-card{break-inside:avoid;margin-bottom:10px}.tag-catalog .event-head .shop-heading{flex-basis:100%;flex-wrap:wrap}.tag-catalog .event-card .metric-row{flex-wrap:wrap;gap:2px}.tag-catalog .event-card .metric-row b{text-align:left}
.page-heading{margin:4px 0 12px}.summary-strip{display:flex;gap:12px 20px;flex-wrap:wrap;padding:8px 0}.summary-strip>div{flex:1 1 120px}.gap-panel{padding:14px!important}.gap-panel h2{margin:0 0 8px}.gap-panel .action-link{padding:9px 0}.section-head{margin-top:16px!important;margin-bottom:8px!important}.joint-plan>h2{margin:0 0 8px}.page-heading h1{margin-bottom:4px}
@media(min-width:768px){.tag-catalog{columns:3}}@media(min-width:1100px){.tag-catalog{columns:4}}
#guide-crop-table table{table-layout:auto}#guide-crop-table th:first-child{width:70px;white-space:normal}#guide-crop-table th:last-child{width:65px}#guide-crop-table td{padding:4px 6px}#guide-crop-table .rank-icon{display:none}#guide-crop-table .crop-cluster{gap:4px;min-width:0}#guide-crop-table .crop-chip{display:inline-flex;flex-direction:row;align-items:center;gap:3px;min-width:0;max-width:none;padding:2px 4px;font-size:12px;border-radius:6px}#guide-crop-table .crop-chip .game-icon{width:22px;height:22px}#guide-crop-table .crop-chip span{white-space:nowrap}
.cake-tag>summary{position:relative;padding-right:24px!important}.cake-tag>summary::after{position:absolute;right:7px;top:10px;float:none;font-size:14px}.cake-income>div{clear:both;grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);padding-top:8px}.cake-income .cake-result-icon{width:48px!important;height:48px!important}.cake-exact{font-size:15px;line-height:1.5;padding:8px;min-height:40px;word-break:normal}
/* Atlas sections are full-width disclosure rows, never equal-height side-by-side panels. */
.atlas-groups{display:block!important}.atlas-groups>.panel{margin:6px 0!important;padding:0 12px!important;border-radius:10px}.atlas-groups summary{display:flex;align-items:center;gap:8px;min-height:46px;font-size:15px}.atlas-groups summary::before{content:'▸'}.atlas-groups details[open]>summary::before{content:'▾'}.atlas-groups .action-link{padding:8px 4px;margin:0;font-size:14px}.atlas-groups details[open]{padding-bottom:6px!important}.atlas-groups .currency-icon{width:28px;height:28px}
.catalog-lines,.cake-tag-grid{display:block!important;columns:auto!important}.catalog-line{margin:5px 0;padding:0;border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}.catalog-line summary{padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;min-height:40px}.catalog-line summary b{min-width:0}.catalog-line summary span{white-space:nowrap;font-size:13px}.catalog-line p,.series-link{padding:0 10px;font-size:14px}.quality-2>summary{background:#e4f5e9;color:#215b38}.quality-3>summary{background:#e5f1fc;color:#235578}.quality-4>summary{background:#f0e5fb;color:#683793}.quality-6>summary{background:linear-gradient(110deg,#d9f8f4,#e4edff,#f4e4fd,#fff0d7);color:#3b4874}.cake-quality-6>summary{background:linear-gradient(110deg,#d9f8f4,#e4edff,#f4e4fd,#fff0d7)}
.making-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:start}.making-tile{min-width:0;padding:9px 4px;border:1px solid #c7ddec;border-radius:9px;text-align:center;background:#e8f4fe}.making-tile b{font-size:12px;display:block;line-height:1.5;word-break:normal;overflow-wrap:break-word}.making-tile small{font-size:11px;display:block;margin-top:5px}.card-rarity-2{background:#f0e6fc;border-color:#d4bee8}.card-rarity-3{background:#fff2cb;border-color:#e4ce8a}.cake-event{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:14px}.cake-event span{min-width:0}.cake-event b{flex-shrink:0;font-size:13px;text-align:right}.series-link p{padding:0;margin:7px 0}
#shop-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:start}.shop-tile{padding:6px;margin:0;border:1px solid var(--line);border-radius:9px;background:#fff;min-width:0}.shop-tile summary{list-style:none}.shop-tile .shop-heading{display:block;text-align:center;margin:0}.shop-tile .shop-icon{width:40px;height:40px}.shop-tile h3{font-size:12px;line-height:1.5;overflow-wrap:break-word;margin:4px 0}.shop-tile .badge{font-size:10px;padding:2px;white-space:normal}.shop-tile[open]{grid-column:1/-1;padding:10px}.shop-tile[open] .shop-heading{display:flex;text-align:left}.shop-tile[open] h3{font-size:15px}.shop-tile .metric-row{font-size:13px}
.pond-list{display:block}.pond-row{border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 10px;margin:8px 0}.pond-row>summary{display:flex;align-items:center;gap:8px;min-height:50px;font-size:14px}.pond-row>summary>.game-icon{width:36px;height:36px}.pond-row>summary>span{font-size:12px;margin-left:auto}.fish-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 0;align-items:start}.fish-tile{margin:0;padding:5px;border:1px solid #cce4d0;background:#edf7ed;border-radius:8px;min-width:0}.fish-tile>summary{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.4;font-size:12px}.fish-tile .game-icon{width:44px;height:44px;background:#ffffffa0;border-radius:7px}.fish-tile small{font-size:11px;display:block}.fish-tile>summary>b{font-size:12px;margin:4px 0;overflow-wrap:break-word}.fish-quality-2{background:#e8f4fc;border-color:#c9e1f1}.fish-quality-3{background:#f1e8fc;border-color:#ddcaf0}.fish-quality-4{background:linear-gradient(120deg,#e1f7f5,#ece6fd,#fff0d2);border-color:#dcd1a8}.fish-tile[open]{grid-column:1/-1}.fish-tile[open]>summary{flex-direction:row;gap:8px;text-align:left}.fish-tile[open]>div{padding:0 8px}.fish-tile p{font-size:13px}.pond-rates{margin:0;padding:8px;border-bottom:1px solid var(--line)}#fish-search{width:100%;margin-bottom:10px}
.animal-table{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.animal-head,.animal-entry>summary{display:grid;grid-template-columns:minmax(66px,1.4fr) minmax(42px,.8fr) minmax(50px,1fr) minmax(37px,.7fr) minmax(32px,.6fr) minmax(48px,1fr);gap:3px;align-items:center;text-align:center;padding:5px 3px;line-height:1.35;font-size:12px}.animal-head{background:#e5eee7;min-height:36px}.animal-entry{margin:0;padding:0}.animal-name{display:flex;flex-direction:column;align-items:center;font-size:11px;line-height:1.3;overflow-wrap:break-word}.animal-name .game-icon{width:34px;height:34px}.animal-more{padding:8px 10px;background:#f5f8f5}.animal-more p{font-size:13px}.animal-more label{display:flex;gap:8px;align-items:center}.animal-more input{width:80px}.cake-up-header{background:#e5eee7;font-size:12px}
@media(min-width:768px){.making-grid,#shop-list,.fish-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.making-tile b,.shop-tile h3,.fish-tile>summary>b{font-size:14px}.animal-head,.animal-entry>summary{font-size:14px}.animal-name{font-size:13px}.animal-name .game-icon{width:40px;height:40px}}
@media(max-width:359px){.making-grid,#shop-list,.fish-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.animal-head,.animal-entry>summary{grid-template-columns:64px 38px 46px 34px 30px minmax(40px,1fr);font-size:11px}.cake-event{flex-wrap:wrap}.catalog-line summary{flex-wrap:wrap}}
/* Seven-round editor: readable labels, visible removal, live results. */
.cake-heading~* button,#cake-body button{font-family:inherit;color:#34564a;-webkit-text-fill-color:currentColor;font-weight:600}
.cake-rounds{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:12px 0!important}
.cake-round-item{min-width:0;border:1px solid #d5e1d8;background:#fff;border-radius:10px;overflow:hidden}.cake-round-item.active{border:2px solid #4d7862;background:#edf5ee}
.cake-rounds .cake-round-item>button{display:block;width:100%;min-width:0;border:0!important;background:transparent!important;border-radius:0!important;padding:7px 4px!important;color:#34564a!important;white-space:normal!important;height:auto!important}
.cake-round-item>button>span{display:block;font-size:12px;font-weight:700}.cake-rounds .cake-round-item small{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.4;font-size:12px;word-break:normal;overflow-wrap:break-word;max-width:none!important;max-height:none!important}
.cake-rounds .cake-round-item>.cake-remove{font-size:11px!important;padding:3px!important;min-height:28px;border-top:1px solid #e4eae4!important;color:#8a5a4c!important;font-weight:500}
.cake-toolbar{gap:6px!important;margin:10px 0!important}.cake-toolbar button,.cake-filters button{color:#34564a!important;-webkit-text-fill-color:currentColor;background:#f6f8f3;border:1px solid #d2ddd3;border-radius:9px!important;font-size:13px!important;padding:7px 9px!important;min-height:36px}
.cake-filters button.active,.cake-filters button[aria-pressed=true]{background:#426d57!important;color:#fff!important}.cake-chips{gap:6px!important}.cake-chips>button{color:#34564a!important;font-size:13px!important;background:#fff;border:1px solid #d4dfd6;border-radius:9px!important;min-height:42px;white-space:normal;line-height:1.4;padding:7px 4px!important}.cake-chips>button.chosen{background:#e3f0e6!important;border-color:#58846a;color:#244d36!important}
.cake-live{padding:12px;background:#fafcf8;border:1px solid #d8e3d7;border-radius:12px;margin:10px 0 16px}.cake-live-head,.cake-material-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.cake-live-head h2,.cake-material-heading h2{font-size:16px;margin:0}.cake-live-head>span,.cake-material-heading>span{font-size:12px;color:#66786d}.cake-live-tags{margin:9px 0}.cake-live-tags .cake-tag{margin:5px 0;padding:0;border:0}.cake-live-tags .cake-tag>summary{font-size:13px;min-height:32px;padding:6px 24px 6px 8px!important}.cake-live-value{font-size:13px;line-height:1.7;margin:8px 0 0}.cake-material-heading{margin:10px 0}.cake-undo{border:1px solid #c9d9cd;border-radius:8px;padding:7px 12px;background:#fff;color:#34564a;font-size:13px}.cake-selection-notice{font-size:13px!important;padding:8px!important;margin:8px 0!important}.cake-prof-link{font-size:12px;margin:6px 0}.cake-live-tags>p{font-size:13px;color:#69796d}.cake-compact-fields{gap:7px!important}
@media(min-width:768px){.cake-rounds{grid-template-columns:repeat(7,minmax(0,1fr))!important}.cake-round-item small{font-size:13px}.cake-live-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}}
.activity-calendar{max-width:760px;margin:0 auto;color:#304b41}.calendar-intro{padding:8px 0 18px}.calendar-intro h1{margin:12px 0 6px}.calendar-intro p{margin:6px 0}.calendar-intro small{color:#68786f}.calendar-toolbar{display:flex;align-items:center;gap:8px;padding:12px;background:#eef3ed;border-radius:16px 16px 0 0}.calendar-toolbar select{flex:1;min-width:0;font-size:18px;font-weight:700}.calendar-toolbar button,.calendar-list-heading button{min-height:40px;color:#365648;background:#fff;border:1px solid #d6e1d6;border-radius:10px;padding:6px 12px}.calendar-toolbar button:disabled{opacity:.35}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:#fff;padding:8px}.calendar-week{text-align:center;color:#778278;font-size:13px}.calendar-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:69px;border:1px solid transparent;background:#f4f6f1;border-radius:10px;color:#304b41;min-width:0;padding:5px 1px}.calendar-days button b{font-size:17px}.calendar-days button small{font-size:11px;color:inherit}.calendar-days button.today{border-color:#a4bca1}.calendar-days button.selected{background:#365d49;color:#fff;box-shadow:0 2px 6px #365d4926}.calendar-days button:disabled{opacity:.28}.calendar-dots{display:flex;gap:3px;min-height:5px}.calendar-dots i,.calendar-legend i{width:5px;height:5px;border-radius:50%;background:#8bb391;display:inline-block}.calendar-dots i.dated,.calendar-legend i.dated{background:#d2a15a}.calendar-legend{margin:0;padding:12px;background:white;border-radius:0 0 16px 16px;font-size:12px;color:#68786f}.calendar-legend i{margin:0 4px 0 8px}.calendar-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 10px}.calendar-list-heading h2{font-size:18px;margin:0}.calendar-list-heading button{font-size:13px}.calendar-events{display:flex;flex-direction:column;gap:8px}.calendar-event{background:#fff;border:1px solid #dce5da;border-radius:12px;overflow:hidden}.calendar-event>summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.calendar-event>summary::-webkit-details-marker{display:none}.calendar-icon{width:36px;height:36px;flex-shrink:0;object-fit:contain}.calendar-event summary>span{flex:1;min-width:0}.calendar-event b{display:block;font-size:15px;overflow-wrap:anywhere}.calendar-event small{display:block;font-size:12px;color:#697b70;margin-top:5px}.calendar-event em{font-style:normal;font-size:11px;color:#72674c;background:#f6f0df;border-radius:6px;padding:4px;flex-shrink:0}.calendar-event-body{border-top:1px solid #edf0e9;padding:4px 14px 14px}.calendar-event-body p{font-size:14px;line-height:1.6}.calendar-event-body .button{display:inline-flex;margin-top:12px;color:#365648;background:#edf4eb}.calendar-empty{padding:24px;text-align:center;background:#fff;border-radius:12px;color:#6a786e}.weekend-picks{display:flex!important;flex-direction:column!important;gap:8px}.weekend-picks>a{width:100%;box-sizing:border-box}.activity-calendar button:focus-visible,.activity-calendar select:focus-visible,.calendar-event summary:focus-visible{outline:3px solid #b79258;outline-offset:2px}@media(min-width:768px){.calendar-days button{min-height:82px}.calendar-days{gap:8px}.calendar-event>summary{padding:14px 18px}}

.activity-calendar .calendar-event{padding:0;margin:0}.activity-calendar .calendar-event>summary{margin:0;min-height:0}.activity-calendar a{color:#365648}.activity-calendar .calendar-intro{padding-top:0}.activity-calendar .calendar-days button{min-height:56px}@media(min-width:768px){.activity-calendar .calendar-days button{min-height:76px}}
