/* Every theme-dependent color belongs to these paired palettes. */
:root {
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;color-scheme:dark;color:var(--text);background:var(--page);
  --page:#1a1d22;--surface:#1a1d22;--sidebar:#20242a;--text:#edf0f4;
  --muted:#a5aeba;--label:#c4cbd5;--border:#383e47;--control-border:#535d6c;
  --input:#22272f;--secondary:#272d36;--nav-hover:#2d3540;--selected-bg:#22344e;
  --accent:#8bb8ff;--primary-bg:#8bb8ff;--button-text:#14243b;--focus:#8bb8ff;
  --green:#8bd3a8;--positive:#8bd3a8;--status-bg:#243b2f;
  --danger-bg:#39252c;--danger-text:#ffb8c3;--error:#ffb8c3;
  --warning-text:#ebc282;--warning-bg:#352e23;--warning-border:#635239;
  --notice-bg:#223044;--notice-border:#59708d;--map-bg:#272e37;
  --route-color:#8bb8ff;--route-preview-color:#c7adf4;--position-color:#e9bd6b;
}
:root[data-theme="light"] {
  color-scheme:light;
  --page:#fff;--surface:#fff;--sidebar:#f7f8fa;--text:#202630;
  --muted:#596577;--label:#3b4657;--border:#dfe3e9;--control-border:#aeb8c5;
  --input:#fff;--secondary:#f5f6f8;--nav-hover:#eaf0f8;--selected-bg:#eaf2ff;
  --accent:#1858b9;--primary-bg:#175cce;--button-text:#fff;--focus:#1858b9;
  --green:#217a49;--positive:#217a49;--status-bg:#edf6f0;
  --danger-bg:#fff0f2;--danger-text:#a52a42;--error:#a52a42;
  --warning-text:#805710;--warning-bg:#fff8e8;--warning-border:#d6bf90;
  --notice-bg:#f0f5ff;--notice-border:#9eb5d6;--map-bg:#f0f2f5;
  --route-color:#175cce;--route-preview-color:#774dac;--position-color:#91620e;
}
*{box-sizing:border-box}body{margin:0;line-height:1.5}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:190px;background:var(--sidebar);border-right:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column;z-index:20}
.brand{font-size:26px;font-weight:730;letter-spacing:-.7px;color:var(--text);text-decoration:none;line-height:1.3}
.main-nav{display:grid;gap:5px;margin-top:30px}.main-nav a{padding:10px 12px;color:var(--label);text-decoration:none;border-radius:4px}
.main-nav a:hover{background:var(--nav-hover)}.main-nav a[aria-current="page"]{background:var(--selected-bg);color:var(--accent);font-weight:650}
.nav-label{font-size:12px;color:var(--muted);border-top:1px solid var(--border);margin-top:20px;padding:18px 12px 6px}
.aside-bottom{margin-top:auto;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.aside-bottom p{overflow-wrap:anywhere;margin:20px 0 6px}.theme-control{margin:0}.theme-control select{padding:8px}
main{margin-left:190px;padding:30px 34px;min-width:0}
.page-header,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-header{margin-bottom:30px}.page-header h1{font-size:32px;font-weight:700;letter-spacing:-.8px;margin:0 0 3px}.page-header p{margin:0}
.header-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.header-actions label{margin:0;min-width:190px}.header-actions select{margin-top:3px}
h2{font-size:20px;letter-spacing:-.3px;margin:0 0 12px}h3{font-size:16px;margin:0 0 12px}h4{font-size:15px;margin:0 0 12px}p{line-height:1.65;color:var(--muted);margin:6px 0 14px}a{color:var(--accent);text-underline-offset:3px}
button{font:inherit;font-weight:600;background:var(--primary-bg);color:var(--button-text);border:1px solid var(--primary-bg);border-radius:4px;padding:9px 14px;cursor:pointer;line-height:1.45}
button:hover{filter:brightness(1.05)}button:disabled{color:var(--muted);background:var(--secondary);border-color:var(--border);cursor:not-allowed;filter:none}
button.secondary{background:var(--surface);color:var(--text);border-color:var(--control-border)}button.secondary:hover{background:var(--nav-hover)}button.secondary:disabled{color:var(--muted);background:var(--secondary);border-color:var(--border)}
button.danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-text)}
.text-button,.account-name{background:none;border:0;color:var(--accent);padding:5px 0;font-weight:500;text-align:left}.text-button:hover,.account-name:hover{filter:none;text-decoration:underline;text-underline-offset:3px}
.account-name{color:var(--text);font-weight:600;max-width:190px;overflow-wrap:anywhere}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
label{display:block;color:var(--label);font-size:14px;margin-bottom:16px;line-height:1.5}
input,select{display:block;margin-top:6px;background:var(--input);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:9px 10px;width:100%;font:inherit;font-size:14px;line-height:1.4}
input:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px}
input:disabled,select:disabled{color:var(--muted);background:var(--secondary);border-color:var(--border);cursor:not-allowed}
input[type=checkbox],input[type=radio]{display:inline-block;width:16px;height:16px;margin:0;accent-color:var(--accent);vertical-align:middle;flex-shrink:0}
.radio-group{margin:0 0 16px}
.radio-group .checkbox-label{margin-bottom:6px}
.checkbox-label{display:flex;gap:9px;align-items:center;line-height:1.6}.form-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.form-row label{flex:1;min-width:170px}.form-row button{margin-bottom:16px}.grow{flex:2!important}
.form-actions,.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-actions{padding:18px 0;border-top:1px solid var(--border);margin-top:22px}.form-actions span{color:var(--muted);font-size:12px}.account-actions button{font-size:13px;padding:8px 12px}
.auth-panel{max-width:430px;border-top:1px solid var(--border);padding-top:24px;margin:45px 0}.auth-panel .form-actions{margin-top:12px}
#notice:not(:empty){border-left:3px solid var(--notice-border);background:var(--notice-bg);padding:12px 16px;margin:0 0 22px;color:var(--text);overflow-wrap:anywhere}
.accounts-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:24px;align-items:start}
.table-scroll{overflow:auto;max-width:100%}.account-table-panel{min-width:0}.account-table{min-width:745px}
table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:15px 11px;border-bottom:1px solid var(--border);font-size:13px;font-weight:400;vertical-align:middle}
thead{background:var(--secondary)}thead th{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.account-table tbody th,.account-table tbody td{font-size:14px}.account-table tbody tr{cursor:pointer}.account-table tbody tr:hover{background:var(--nav-hover)}.account-table tbody tr[data-selected="true"]{background:var(--selected-bg)}
.account-table td:nth-child(3),.account-table td:nth-child(4),.account-table td:nth-child(5){white-space:nowrap;font-variant-numeric:tabular-nums}.account-table td:nth-child(6){max-width:150px;overflow-wrap:anywhere}.account-table td:last-child button{font-size:13px;min-width:80px;padding:7px 10px}
.empty-cell{color:var(--muted);padding:28px 14px}.update-stamp{font-size:12px;margin:14px 4px;color:var(--muted)}
.state{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;line-height:1.4;white-space:nowrap}.state-dot{width:8px;height:8px;background:currentColor;border-radius:50%;flex-shrink:0}.state[data-kind="active"]{color:var(--positive)}.state[data-kind="warning"]{color:var(--warning-text)}.state[data-kind="error"]{color:var(--error)}
.account-detail{border-left:1px solid var(--border);padding:0 0 0 24px;min-width:0}.account-detail h2{font-size:24px;overflow-wrap:anywhere;margin:0 0 9px}.detail-route{margin-top:14px;font-size:13px;overflow-wrap:anywhere}
.detail-tabs,.account-tabs{display:flex;gap:16px;border-bottom:1px solid var(--border);margin:20px 0}.detail-tabs a,.account-tabs a{padding:9px 0;text-decoration:none;color:var(--muted);font-size:13px}.detail-tabs a[aria-current="page"],.account-tabs a[aria-current="page"]{color:var(--accent);border-bottom:2px solid var(--accent);font-weight:600}.account-tabs{margin-top:-10px;margin-bottom:28px;gap:24px}.account-tabs a:first-child{margin-right:auto}
.detail-values{margin:18px 0}.detail-values>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px}.detail-values dt{color:var(--muted)}.detail-values dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
#overview-map{height:200px;background:var(--map-bg);border:1px solid var(--border);margin:18px 0 10px;font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:center}
.detail-open{display:inline-block;margin:8px 0 22px;font-size:13px}.account-manage{margin-top:22px}.account-manage .account-actions{display:grid;justify-content:start}
.section-heading{margin-bottom:22px}.section-heading h2,.section-heading h3{margin:0}.section-heading p{margin:8px 0 0}
.empty{padding:20px 0;color:var(--muted);font-size:13px}.error{color:var(--error);font-size:13px}.help-text{font-size:12px;line-height:1.7}
details{border-top:1px solid var(--border);margin:18px 0;padding-top:13px}summary{cursor:pointer;color:var(--muted);font-size:13px;margin-bottom:13px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 38px;max-width:1120px}
fieldset{border:0;border-top:1px solid var(--border);margin:0;padding:20px 0 0;min-width:0}legend{font-size:16px;color:var(--text);font-weight:600;padding:0 12px 0 0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.map-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:30px;align-items:start}.route-catalog{border-right:1px solid var(--border);padding-right:24px;min-width:0}.route-catalog .section-heading{gap:12px;flex-wrap:wrap}.route-catalog .section-heading button{font-size:12px;padding:6px 9px}.route-catalog p{font-size:13px}.route-catalog .account-actions{align-items:stretch;flex-direction:column}.route-catalog .account-actions button{width:100%}
#map{height:450px;min-height:300px;background:var(--map-bg);border:1px solid var(--border);z-index:0;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:0}
.leaflet-bar a,.leaflet-control-attribution,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip{background:var(--surface);color:var(--text)}.leaflet-bar a{border-color:var(--border)}.leaflet-bar a:hover{background:var(--nav-hover);color:var(--text)}.leaflet-bar a.leaflet-disabled{background:var(--secondary);color:var(--muted)}.leaflet-control-attribution a{color:var(--accent)}.leaflet-tooltip{border-color:var(--border)}
.map-tools{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:16px 0;flex-wrap:wrap}.map-tools label{margin:0}.map-tools button{font-size:12px}.route-map p{font-size:12px;margin:6px 0}#current-coordinates{font-variant-numeric:tabular-nums}#catalog-status{color:var(--label)}#route-help{margin-top:14px}
.inventory-summary{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:24px;padding:16px 0}.inventory-summary .stat{flex:1;padding:0 22px}.inventory-summary .stat:first-child{padding-left:0;border-right:1px solid var(--border)}.stat strong{font-size:25px;display:block;line-height:1.5;font-variant-numeric:tabular-nums}.stat span{color:var(--label);font-size:13px}.stat p{font-size:12px;margin:6px 0 0}
.inventory-tools{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.inventory-tools .grow{min-width:200px;max-width:540px}.inventory-tools .checkbox-label{margin-bottom:0}.inventory-groups{margin:24px 0}.inventory-category+.inventory-category{margin-top:28px}.inventory-category h3{font-size:15px;padding:0 0 10px;margin:0;border-bottom:1px solid var(--border)}.inventory-grid{display:block}
.inventory-item{display:grid;grid-template-columns:minmax(160px,1fr) 82px 130px 145px;align-items:center;gap:7px 16px;padding:12px 4px;border-bottom:1px solid var(--border);min-width:0}
.item-title{display:flex;align-items:center;gap:12px;font-weight:550;font-size:14px;min-width:0}.item-title img{width:30px;height:30px;object-fit:contain;flex-shrink:0}.item-title span{overflow-wrap:anywhere}.item-count{font-size:15px;text-align:right;font-variant-numeric:tabular-nums}.item-count::after{content:' Stück';font-size:11px;color:var(--muted)}
.item-limit-toggle{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.item-maximum{display:flex;gap:8px;align-items:center;margin:0;font-size:12px}.item-maximum input{width:70px;margin:0;padding:6px 8px}.item-status{grid-column:1/-1;color:var(--muted);font-size:11px;padding-left:42px}.item-status.error{color:var(--error)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:26px}.stats .stat{padding:16px 20px}.stats .stat+.stat{border-left:1px solid var(--border)}
.event{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px}.event time{color:var(--muted);min-width:155px}.event span{overflow-wrap:anywhere}.user-limits{margin-top:36px}.user-row{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.user-row span{flex:1;overflow-wrap:anywhere}.user-row input{width:85px;margin:0}.user-row button{font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:12px}
.ptc-panel{padding:22px;border:1px solid var(--border);border-radius:4px;margin:0 0 28px;max-width:950px}.ptc-panel .section-heading{margin-bottom:14px}.ptc-panel h2{font-size:20px}.ptc-extension-status{color:var(--positive);font-size:12px;font-weight:600}
.ptc-install{padding:18px;border-left:3px solid var(--notice-border);background:var(--notice-bg);margin:16px 0 22px}.ptc-install h4{font-size:14px}.ptc-panel ol{padding-left:22px;color:var(--label);line-height:1.8}.ptc-panel li+li{margin-top:8px}.ptc-panel code{overflow-wrap:anywhere;color:var(--text)}.ptc-connect-form label{max-width:320px}.ptc-status{border-left:3px solid var(--border);padding:10px 13px;color:var(--text);font-size:13px}.ptc-status[data-state="waiting"]{border-color:var(--notice-border);background:var(--notice-bg)}.ptc-status[data-state="success"]{border-color:var(--positive);background:var(--status-bg);color:var(--positive)}.ptc-status[data-state="error"]{border-color:var(--error);background:var(--danger-bg);color:var(--error)}
footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;border-top:1px solid var(--border);padding-top:16px;margin-top:46px}

/* Farmer mode: activity, inventory tabs, settings categories, game routes. */
textarea{display:block;margin-top:6px;background:var(--input);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:9px 10px;width:100%;font:inherit;font-size:14px;line-height:1.4;resize:vertical}
textarea:focus{outline:2px solid var(--focus);outline-offset:1px}
textarea:disabled{color:var(--muted);background:var(--secondary);border-color:var(--border);cursor:not-allowed}
.window-switch,.subtabs{display:inline-flex;border:1px solid var(--control-border);border-radius:4px;overflow:hidden;flex-wrap:wrap}
.window-switch button,.subtabs button{background:var(--surface);color:var(--text);border:0;border-radius:0;font-weight:500;font-size:13px;padding:8px 13px}
.window-switch button+button,.subtabs button+button{border-left:1px solid var(--control-border)}
.window-switch button[aria-checked="true"],.subtabs button[aria-selected="true"]{background:var(--selected-bg);color:var(--accent);font-weight:650}
.window-switch button:hover,.subtabs button:hover{background:var(--nav-hover);filter:none}
.window-switch button:focus-visible,.subtabs button:focus-visible{outline-offset:-3px}
.subtabs{margin:0 0 22px}
.limit-stats{grid-template-columns:repeat(4,1fr)}
.stat[data-state="reached"] strong,.stat[data-state="reached"] p{color:var(--warning-text)}
.data-table{min-width:640px}
.data-table th[scope="row"]{font-weight:600;font-size:14px}
.data-table td{font-variant-numeric:tabular-nums}
.farmer-table td:nth-child(3){color:var(--label);max-width:360px;overflow-wrap:anywhere}
.farmer-table td:nth-child(4){white-space:nowrap;color:var(--muted)}
.farmer-table tr[data-active="false"] th{color:var(--muted);font-weight:500}
.farmer-table details{border:0;margin:0;padding:0}
.farmer-table summary{margin:0;color:var(--text);font-size:13px}
.metric-list{margin:8px 0 0;padding-left:18px;color:var(--label);font-size:12px;line-height:1.7}
.muted{color:var(--muted)}
.farmer-history{margin-top:34px}
.farmer-history .section-heading label{margin:0;min-width:220px}
.history-list{list-style:none;margin:0;padding:0}
.history-list li{display:flex;gap:16px;flex-wrap:wrap;padding:11px 0 11px 12px;border-bottom:1px solid var(--border);border-left:3px solid var(--positive);font-size:13px}
.history-list li[data-kind="warning"]{border-left-color:var(--warning-border)}
.history-list li.empty{border-left:0;padding-left:0}
.history-list time{color:var(--muted);min-width:155px;font-variant-numeric:tabular-nums}
.history-list .muted{flex-basis:100%;font-size:12px;padding-left:171px}
.feature-counters{font-size:12px;line-height:1.7;color:var(--label);background:var(--secondary);border-left:3px solid var(--notice-border);padding:9px 12px;margin:4px 0 18px}
.feature-counters:empty{display:none}
.feature-counters strong{color:var(--text);font-weight:600}
.mini-stats{display:flex;flex-wrap:wrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 20px}
.mini-stats:empty{display:none}
.mini-stats .stat{flex:1;min-width:130px;padding:12px 16px}
.mini-stats .stat+.stat{border-left:1px solid var(--border)}
.mini-stats .stat strong{font-size:20px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.chips:empty{display:none}
.chip{display:inline-block;background:var(--secondary);border:1px solid var(--border);color:var(--label);border-radius:12px;padding:2px 9px;font-size:11px;font-weight:500;margin-left:6px;white-space:nowrap}
.chips .chip{margin-left:0;font-size:12px}
.category-nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.category-nav .text-button{font-size:13px}
#account-settings fieldset{scroll-margin-top:16px}
fieldset h4{margin:22px 0 10px;font-size:14px}
progress{width:110px;height:10px;vertical-align:middle;accent-color:var(--accent)}
.research-catalog{margin:12px 0 18px;max-height:460px;overflow:auto}
.research-catalog details{margin:8px 0;padding-top:8px}
.research-task{padding:8px 0;border-bottom:1px solid var(--border)}
.research-task label{margin:0;font-size:13px}
.research-task .help-text{margin:4px 0 0 25px}
.research-rewards{display:flex;flex-wrap:wrap;gap:4px 16px;padding-left:25px}
.research-rewards label{font-size:12px;color:var(--muted)}
.manual-runs{margin-top:18px;border-top:1px solid var(--border);padding-top:6px}
.manual-runs .account-actions{margin-bottom:8px}
.game-routes{margin-top:38px;border-top:1px solid var(--border);padding-top:26px}
.game-routes .settings-grid{margin-bottom:12px}
.route-live{margin:0 0 18px}
.route-live p{margin:0 0 4px;color:var(--text);font-size:13px}
.route-live:empty{display:none}
#inventory h3{margin:22px 0 10px}
#limit-usage .stat{flex-basis:45%}
#limit-usage .stat:nth-child(odd){border-left:0}

@media(max-width:1300px){.accounts-layout{grid-template-columns:minmax(0,1fr)}.account-detail{border-left:0;border-top:1px solid var(--border);padding:24px 0 0;max-width:540px}#account-detail-content{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}#account-detail-content>h2,#detail-status,.detail-route,.detail-tabs,.detail-values,.account-manage{grid-column:1}#overview-map{grid-column:2;grid-row:3/span 4;height:180px;align-self:start}.detail-open,#detail-actions{grid-column:2}.detail-open{margin-bottom:12px}.account-detail .empty{padding-top:0}}
@media(max-width:950px){.sidebar{width:170px;padding:24px 16px}main{margin-left:170px;padding:26px 22px}.map-grid{grid-template-columns:minmax(0,1fr)}.route-catalog{border-right:0;border-bottom:1px solid var(--border);padding:0 0 24px}.route-catalog .account-actions{flex-direction:row}.route-catalog .account-actions button{width:auto}.settings-grid{column-gap:24px}.inventory-item{grid-template-columns:minmax(140px,1fr) 75px 110px 135px;gap:8px}.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:23px}.main-nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:16px}.main-nav a{font-size:13px;padding:7px 10px}.nav-label{display:none!important}.aside-bottom{margin-top:16px;padding-top:16px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.aside-bottom p{margin:0;flex:1;font-size:11px;min-width:100px}.theme-control{width:120px;font-size:11px}.theme-control select{padding:6px;font-size:12px}.aside-bottom button{font-size:12px}main{margin:0;padding:24px 18px}.page-header{align-items:flex-start;flex-wrap:wrap;gap:12px}.page-header h1{font-size:28px}.header-actions{width:100%;justify-content:space-between}.header-actions label{min-width:0;flex:1}.header-actions>button{width:100%}.section-heading{align-items:flex-start;flex-wrap:wrap}.account-table{min-width:725px}.account-table th:first-child{position:sticky;left:0;background:var(--surface);z-index:1}.account-table tr[data-selected="true"] th:first-child{background:var(--selected-bg)}.account-table thead th:first-child{background:var(--secondary)}.account-name{max-width:120px}.account-tabs{gap:16px;overflow:auto;white-space:nowrap}.account-tabs a:first-child{margin-right:0}.settings-grid,.two-cols{grid-template-columns:minmax(0,1fr)}.settings-grid{gap:26px}.form-row{display:block}.form-row label{min-width:0}.form-row button{width:100%;margin-right:0}.form-actions{align-items:stretch}.form-actions button{flex:1;min-width:140px}.inventory-summary{gap:16px}.inventory-summary .stat{padding:0 0 0 12px}.inventory-summary .stat:first-child{padding-right:12px}.inventory-summary .stat strong{font-size:22px}.inventory-tools{display:block}.inventory-tools .grow{min-width:0;max-width:none}.inventory-tools .checkbox-label{margin-bottom:18px}.inventory-item{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px 0}.item-title{font-size:13px}.item-count{font-size:15px}.item-limit-toggle,.item-maximum{font-size:12px}.item-maximum{justify-content:flex-end}.item-status{padding-left:0}.stats{grid-template-columns:repeat(2,1fr)}.stats .stat{padding:12px}.event{display:block}.event time{display:block;margin-bottom:5px}.user-row{flex-wrap:wrap}.user-row span{flex-basis:100%}#account-detail-content{display:block}.account-detail{max-width:none}#overview-map{height:200px;max-width:400px}#map{height:330px}.ptc-panel{padding:16px}.ptc-connect-form label{max-width:none}.ptc-install{padding:14px}.ptc-panel .section-heading{flex-wrap:nowrap}.ptc-panel .section-heading h2{font-size:18px}footer{display:block}footer span{display:block;margin-top:6px}
.limit-stats{grid-template-columns:repeat(2,1fr)}
.window-switch,.subtabs{display:flex;width:100%}
.window-switch button,.subtabs button{flex:1;padding:8px 6px}
.history-list time{min-width:0;flex-basis:100%}
.history-list .muted{padding-left:0}
.farmer-history .section-heading label{min-width:0;width:100%}
.mini-stats .stat{min-width:45%}
.mini-stats .stat+.stat{border-left:0}
.category-nav{gap:2px 14px}
.research-rewards,.research-task .help-text{padding-left:0;margin-left:0}
.farmer-table{min-width:0}
.farmer-table thead{display:none}
.farmer-table tr{display:block;border-bottom:1px solid var(--border);padding:10px 0}
.farmer-table th,.farmer-table td{display:block;border:0;padding:3px 0;max-width:none}
.farmer-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px}
.farmer-table td:nth-child(4){white-space:normal}}

/* Settings workspace: real category pages and a save bar visible at every depth. */
#account-settings{padding-bottom:90px}
.settings-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}
.settings-search{max-width:560px;flex:1;margin:0}
.settings-status{font-size:13px;margin:0 0 24px;padding:12px 16px;background:var(--secondary);border-left:3px solid var(--control-border)}
.settings-layout{display:grid;grid-template-columns:210px minmax(0,800px);gap:30px;align-items:start}
.settings-categories{position:sticky;top:20px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding-right:20px}
.settings-categories button{background:transparent;border-color:transparent;color:var(--label);font-weight:500;text-align:left;padding:11px 12px}
.settings-categories button:hover{background:var(--nav-hover);filter:none}
.settings-categories button[aria-pressed="true"]{color:var(--accent);background:var(--selected-bg);font-weight:650;border-color:var(--border)}
.settings-categories a{font-size:12px;padding:10px 12px;line-height:1.5}
.settings-categories a:first-of-type{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}
.settings-content{min-width:0}
.settings-panel h2{font-size:24px;margin:0 0 6px}
.settings-panel h2:focus{outline:none}
.settings-description{margin:0 0 22px}
.settings-panel>fieldset{border:0;padding:0}
.settings-panel>fieldset>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.settings-panel .feature-counters{margin-bottom:20px}
.settings-panel .feature-counters:empty{display:none}
.settings-panel details{padding:16px 0;margin:16px 0;border-bottom:1px solid var(--border)}
.settings-panel details+details{border-top:0}
.settings-panel details summary{color:var(--text);font-size:14px;font-weight:600;margin-bottom:0}
.settings-panel details[open] summary{margin-bottom:20px}
.settings-panel .two-cols{gap:16px 22px}
#set-catch>.two-cols{display:block;border-bottom:1px solid var(--border)}
#set-catch>.two-cols>.checkbox-label{padding:14px 0;margin:0;border-top:1px solid var(--border)}
.berry-editor{margin-top:24px}
.berry-editor h3{font-size:16px;margin-bottom:4px}
#berry-priority{list-style:none;padding:0;margin:16px 0;border-top:1px solid var(--border)}
#berry-priority li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
#berry-priority .berry-empty{font-size:13px;color:var(--muted)}
.berry-actions{display:flex;gap:6px;flex-wrap:wrap}
.berry-actions button{padding:5px 8px;font-size:12px}
.berry-add{display:flex;align-items:flex-end;gap:12px}
.berry-add label{flex:1;margin:0}
.settings-savebar{position:fixed;left:190px;right:0;bottom:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 34px;background:var(--surface);border-top:1px solid var(--border)}
#settings-save-state{font-size:13px;color:var(--muted)}
#settings-save-state[data-dirty="true"]{color:var(--warning-text)}
.settings-result{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 12px;color:var(--text);background:var(--surface);border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left}
.settings-result:hover{background:var(--nav-hover);filter:none}
.settings-result span{color:var(--muted);font-size:12px;font-weight:400}
#settings-search-list{list-style:none;padding:0;margin:12px 0}
.route-movement{margin:26px 0;max-width:800px}
.settings-mobile-category{display:none}
@media(max-width:950px){
  .settings-layout{grid-template-columns:180px minmax(0,1fr);gap:22px}
  .settings-categories{padding-right:12px}
  .settings-categories button{padding:9px 8px;font-size:13px}
  .settings-savebar{left:170px;padding:14px 22px}
  #berry-priority li{flex-wrap:wrap}
}
@media(max-width:700px){
  #account-settings{padding-bottom:130px}
  .settings-toolbar{align-items:stretch;gap:12px}
  .settings-search{min-width:0}
  .settings-toolbar .account-actions{align-self:flex-end}
  .settings-layout{display:block}
  .settings-categories{display:none}
  .settings-mobile-category{display:block;margin-bottom:22px}
  .settings-mobile-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:12px}
  .settings-panel h2{font-size:22px}
  .settings-savebar{left:0;padding:12px 18px;flex-wrap:wrap;gap:8px}
  .settings-savebar .account-actions{display:flex;width:100%;flex-wrap:nowrap}
  .settings-savebar button{flex:1;font-size:13px;padding:10px 8px}
  .berry-add{flex-wrap:wrap}
  .berry-add label{min-width:180px}
  .berry-actions button{padding:8px;font-size:12px}
  #berry-priority li>span{width:100%}
}
main:has(#account-settings:not([hidden])) .page-header{margin-bottom:18px}
main:has(#account-settings:not([hidden])) .account-tabs{margin-bottom:20px}
main:has(#account-settings:not([hidden])) .account-tabs a:first-child{display:none}
.settings-status{background:transparent;border:0;padding:0;margin-bottom:20px}
.settings-panel>.settings-description{margin-bottom:18px}
.settings-panel .settings-counters{margin-top:24px}
@media(max-width:700px){
  main:has(#account-settings:not([hidden])) .account-tabs{gap:18px;overflow:visible;white-space:normal}
  main:has(#account-settings:not([hidden])) .account-tabs a{font-size:12px}
  .settings-panel h2{scroll-margin-top:18px}
}

/* Shared species names/artwork selectors, including berry rules and inventory. */
.pokemon-picker{margin:24px 0;padding:20px 0;border-top:1px solid var(--border);min-width:0}
.pokemon-picker h3{margin-bottom:6px}
.pokemon-picker>label,.pokemon-rule-add>label{margin-bottom:8px}
.pokemon-identity{display:inline-flex;align-items:center;gap:10px;min-width:0;line-height:1.4}
.pokemon-identity>span{overflow-wrap:anywhere}
.pokemon-image{display:inline-block;width:40px;height:40px;object-fit:contain;flex-shrink:0}
.pokemon-image-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--secondary);color:var(--muted);border:1px solid var(--border);border-radius:4px;font-weight:600;font-size:20px}
.pokemon-selected{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 18px;padding:0}
.pokemon-selection{display:flex;align-items:center;gap:12px;padding:5px 8px;background:var(--secondary);border:1px solid var(--border);border-radius:4px;max-width:100%}
.pokemon-selection .pokemon-identity{font-weight:600}
.pokemon-remove{padding:5px 8px;background:transparent;border-color:transparent;color:var(--muted);font-size:20px;line-height:1.2;min-width:34px;min-height:34px}
.pokemon-remove:hover{background:var(--nav-hover);color:var(--text);filter:none}
.pokemon-results{list-style:none;margin:0 0 8px;padding:4px;background:var(--surface);border:1px solid var(--control-border);border-radius:4px;max-height:280px;overflow-y:auto;overscroll-behavior:contain}
.pokemon-results li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:3px;cursor:pointer;min-height:52px}
.pokemon-results li:hover,.pokemon-results li[aria-selected="true"]{background:var(--selected-bg);color:var(--text);outline:1px solid var(--focus);outline-offset:-1px}
.pokemon-result-action{font-size:12px;color:var(--accent)}
.pokemon-search-status{margin:6px 0 12px;min-height:20px}
.pokemon-berry-rules{margin:16px 0 24px}
.pokemon-berry-rule{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.5fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.pokemon-rule-berry{display:flex;align-items:center;gap:8px;min-width:0}
.berry-image{width:30px;height:30px;object-fit:contain;flex-shrink:0}
.pokemon-rule-berry select{margin:0;min-width:0;flex:1}
.pokemon-berry-rule>button{font-size:12px;padding:8px 10px}
.pokemon-rule-add{border-top:1px solid var(--border);padding-top:20px}
.pokemon-rule-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;margin-bottom:12px}
.pokemon-rule-controls{display:flex;align-items:flex-end;gap:12px}
.pokemon-rule-controls label{flex:1;min-width:0;margin:0}
@media(max-width:950px){.pokemon-berry-rule{grid-template-columns:minmax(0,1fr) auto}.pokemon-rule-berry{grid-column:1/-1;grid-row:2}.pokemon-berry-rule>button{grid-column:2;grid-row:1}}
@media(max-width:700px){
  .pokemon-picker{margin:20px 0;padding-top:18px}
  .pokemon-image{width:36px;height:36px}
  .pokemon-selection{padding:5px 7px;gap:8px}
  .pokemon-remove{min-width:40px;min-height:40px}
  .pokemon-results li{min-height:56px;padding:8px}
  .pokemon-rule-controls{flex-wrap:wrap}
  .pokemon-rule-controls label,.pokemon-rule-controls>button{width:100%;flex:auto}
  .pokemon-rule-pending{align-items:flex-start}
}

/* Route planning never implies a running account; execution is explicit. */
#location{padding-bottom:150px}
.route-current{display:flex;justify-content:space-between;gap:24px;padding:18px 20px;margin:0 0 26px;background:var(--secondary);border:1px solid var(--border);border-radius:4px}
.route-current h2{font-size:15px;color:var(--muted);margin:0 0 8px;letter-spacing:0}
#route-saved-name{color:var(--text);font-weight:600;margin:9px 0 4px}
#route-current-progress{margin:0}
#route-current-help{align-self:center;max-width:380px;font-size:13px;margin:0}
#route-map-heading{font-size:17px;line-height:1.5;margin-bottom:5px;overflow-wrap:anywhere}
.route-plan-status{font-size:13px;margin:0 0 14px!important;padding:9px 12px;background:var(--secondary);color:var(--text)}
.route-plan-status[data-kind="preview"]{background:var(--notice-bg);border-left:3px solid var(--notice-border)}
.route-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0;font-size:12px;color:var(--muted)}
.route-map-legend>span{display:inline-flex;align-items:center;gap:7px}
.route-line-key,.route-preview-key{width:23px;display:inline-block;border-top:3px solid var(--route-color);flex-shrink:0}
.route-preview-key{border-color:var(--route-preview-color);border-top-style:dashed}
#route-position-legend{color:var(--position-color)}
.route-custom-editor{margin:30px 0;padding:18px 0;border-bottom:1px solid var(--border)}
.route-custom-editor>summary,.game-routes>summary{color:var(--text);font-weight:600;font-size:15px;margin:0}
.route-custom-editor[open]>summary,.game-routes[open]>summary{margin-bottom:18px}
.route-custom-editor>label{max-width:450px}
.route-custom-editor .route-movement{margin:24px 0}
.route-custom-editor .map-tools{justify-content:flex-start}
.route-actionbar{position:fixed;left:190px;right:0;bottom:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 34px;background:var(--surface);border-top:1px solid var(--border)}
.route-action-summary{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:540px}
#route-action-target{font-size:13px;overflow-wrap:anywhere}
#route-action-status{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.route-action-buttons{display:flex;align-items:center;gap:10px;flex-shrink:0}
.route-action-buttons .account-actions{flex-wrap:nowrap}
.route-action-buttons button{font-size:13px;max-width:260px;white-space:normal}
#location .game-routes{padding:18px 0;margin:24px 0}
#location .game-routes .section-heading{margin-top:20px}
@media(max-width:1150px){
  .route-actionbar{flex-wrap:wrap;gap:12px}
  .route-action-summary{max-width:none}
  .route-action-buttons{margin-left:auto}
}
@media(max-width:950px){
  .route-actionbar{left:170px;padding:14px 22px}
  .route-current{flex-direction:column;gap:12px}
  #route-current-help{align-self:flex-start;max-width:none}
}
@media(max-width:700px){
  #location{padding-bottom:230px}
  .route-current{padding:15px;gap:12px}
  #route-current-help{font-size:12px}
  .route-actionbar{left:0;padding:12px 18px;gap:10px}
  .route-action-summary{width:100%}
  .route-action-buttons{width:100%;margin-left:0;flex-wrap:wrap;gap:8px}
  .route-action-buttons .account-actions{width:100%;gap:8px;flex-wrap:wrap}
  .route-action-buttons button{flex:1;min-width:135px;max-width:none;font-size:12px;padding:9px}
  .route-action-buttons>#route-stop-account{width:100%}
  #route-action-status{font-size:11px}
  .route-custom-editor>label{max-width:none}
}
