:root{color-scheme:dark;--bg:#11191e;--panel:#1a252c;--panel2:#223039;--line:#36464e;--ink:#f1ede3;--muted:#afbec4;--gold:#dfb569;--teal:#77b3b0;--rose:#ce8796;--danger:#f0a3a0;font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}button{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:6px;padding:9px 13px;transition:background .15s}button:hover:not(:disabled){background:#31434d}button.primary{background:var(--gold);color:#182127;border-color:var(--gold);font-weight:700}button.primary:hover:not(:disabled){background:#edc881}.ghost{background:transparent}.small{padding:5px 9px;font-size:12px}.danger{color:var(--danger)}.muted{color:var(--muted)}.gold{color:var(--gold)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--gold)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:34px;letter-spacing:-1px}h2{font-size:26px}h3{font-size:15px;font-weight:600}p+p{margin-top:9px}label{display:block;color:var(--muted);font-size:12px}select,input,textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:5px;background:#142027;color:var(--ink);padding:9px;min-height:38px}textarea{resize:vertical;min-height:85px}input[type=number]{max-width:105px}option{background:var(--bg)}.shell{max-width:1600px;margin:auto;padding:25px 30px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.top-actions,.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.top-actions{justify-content:flex-end}.badge{font-size:11px;padding:4px 8px;border-radius:4px;background:#293942;color:var(--muted);letter-spacing:.5px}.phasebar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 0}.family-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.round-track{display:flex;gap:4px;margin-top:7px}.round-tick{width:13px;height:5px;background:#33454e;border-radius:2px}.round-tick.done{background:var(--gold)}.round-tick.score{height:8px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.tabs button{background:transparent;border-color:transparent}.tabs button[aria-pressed=true]{background:var(--panel2);border-color:var(--line)}.layout{display:grid;grid-template-columns:260px minmax(360px,1fr) 270px;gap:18px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:16px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px}.pad{padding:16px}.stack{display:grid;gap:14px}.crew-list{display:grid;gap:11px}.crew-card{border:1px solid var(--line);border-radius:7px;padding:13px;background:#1d2a32}.crew-card.selected{border-color:var(--gold)}.crew-name{background:none;border:0;padding:0;color:var(--ink);text-align:left;font-weight:600;font-size:15px}.crew-role{font-size:11px;color:var(--muted);margin:2px 0 8px}.skills{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:7px 0}.skills b{color:var(--ink);font-size:12px}.crew-card select{padding:7px;font-size:12px}.order-row{display:grid;grid-template-columns:1fr 85px;gap:8px;margin-top:8px}.prediction{font-size:12px;color:var(--teal);margin-top:9px;min-height:36px}.trait{font-size:11px;color:var(--muted);margin-top:7px}.event{border-left:3px solid var(--gold);padding:13px 16px;background:var(--panel);margin-bottom:12px;min-height:76px}.event p{font-size:12px;color:var(--muted);margin-top:3px}.map-wrap{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#202e34}.map-top{padding:14px 17px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.map{position:relative;min-height:490px;isolation:isolate;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0,transparent 30px,#31404722 31px),repeating-linear-gradient(90deg,transparent 0,transparent 30px,#31404722 31px),#233238}.map:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 45%,#43635835,transparent 65%)}.road{position:absolute;background:#172329;border-top:1px solid #3c4d51;border-bottom:1px solid #3c4d51;height:29px;left:0;right:0;z-index:-1}.road.r1{top:40%}.road.r2{top:75%}.road-label{position:absolute;text-align:center;width:100%;color:#899da5;font-size:9px;letter-spacing:3px;top:41.5%}.road-label.r2{top:76.5%}.river{position:absolute;right:0;top:0;bottom:0;width:7px;background:#477c8144}.place{position:absolute;transform:translate(-50%,-50%);width:30%;max-width:160px;border:0;background:none;padding:6px 2px;text-align:center;border-radius:6px}.place:hover:not(:disabled){background:#54676733}.place.active{background:#53646340;outline:1px solid var(--gold)}.building{position:relative;display:block;width:56px;height:44px;margin:0 auto 8px;background:#6c7774;border-top:8px solid #9a9f8d;border-left:6px solid #556562;box-shadow:7px 7px 0 #12202566;transform:skewY(-4deg)}.building:before{content:'';position:absolute;inset:10px 8px 9px;background:repeating-linear-gradient(90deg,#dac894 0,#dac894 5px,transparent 5px,transparent 11px)}.place.institution .building{width:70px;border-top:9px solid #a6a798;background:#5a7274}.place.institution .building:before{background:repeating-linear-gradient(90deg,#a6b8ad 0,#a6b8ad 5px,transparent 5px,transparent 12px)}.place[data-owner="0"] .building{border-top-color:var(--gold)}.place[data-owner="1"] .building{border-top-color:var(--teal)}.place[data-owner="2"] .building{border-top-color:var(--rose)}.place-name{display:block;font-size:12px;font-weight:600}.place-owner{display:block;font-size:10px;color:var(--muted);line-height:1.5}.place-stat{display:block;font-size:10px;color:var(--gold)}.map-legend{display:flex;gap:15px;flex-wrap:wrap;padding:10px 14px;background:#19272d;font-size:10px;color:var(--muted)}.location-detail{padding:15px 17px;border-top:1px solid var(--line);background:var(--panel)}.location-detail p{font-size:12px;color:var(--muted);margin-top:5px}.location-detail .row{margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat strong{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400}.stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.budget{display:flex;justify-content:space-between;padding:10px 0;font-size:12px;border-bottom:1px solid var(--line)}.heat-track{height:5px;background:#34464e;margin-top:10px;border-radius:3px;overflow:hidden}.heat-track i{display:block;height:100%;background:var(--rose)}.hint{font-size:12px;color:var(--muted);margin:10px 0}.recruit{padding:12px;border:1px solid var(--line);border-radius:6px;margin-top:10px}.recruit.chosen{border-color:var(--gold)}.recruit button{font-size:12px;margin-top:8px}.recruit h3{font-size:14px}.commit{width:100%;margin-top:12px;padding:12px}.error{font-size:12px;color:var(--danger);margin-top:10px}.notice{padding:12px 16px;margin:0 0 16px;border:1px solid #6b5735;border-radius:6px;background:#3b3325;color:#eed3a2;font-size:12px}.standings{display:grid;gap:8px;margin-top:12px}.standing{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}.scoreline{height:4px;background:#34454d;margin:5px 0}.scoreline i{display:block;height:100%}.journal-list{display:grid;gap:9px;margin-top:16px}.log-row{padding:11px 14px;background:var(--panel);border-left:2px solid var(--line);font-size:13px}.log-row.control,.log-row.score{border-color:var(--gold)}.log-row.warning{border-color:var(--rose)}.log-row.intel{border-color:var(--teal)}.log-row small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px;letter-spacing:1px;text-transform:uppercase}.journal-layout{display:grid;grid-template-columns:1fr 300px;gap:20px}.rules{max-width:930px}.rules section{padding:19px 0;border-bottom:1px solid var(--line)}.rules h3{margin-bottom:9px;color:var(--gold)}.rules p,.rules li{font-size:14px;color:var(--muted)}.rules li{margin:6px 0}.rules table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.rules td,.rules th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.rules th{color:var(--gold)}.overlay{position:fixed;inset:0;z-index:50;background:#091014ed;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.modal{width:min(640px,100%);border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:32px;box-shadow:0 25px 90px #0008;max-height:95vh;overflow:auto}.modal h1{font-size:45px;margin:6px 0 13px}.modal p{color:var(--muted)}.modal .fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:23px 0}.modal .fields label:last-child{grid-column:1/-1}.modal .primary{padding:12px 22px}.onboarding{margin:20px 0;padding:14px 17px;background:#23333b;border-radius:7px}.onboarding ol{margin:0;padding-left:20px;color:var(--muted)}.onboarding li{margin:7px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;z-index:100;border:1px solid var(--gold);border-radius:7px;background:#26343d;color:var(--ink);max-width:90vw;box-shadow:0 8px 30px #0008}.end-banner{background:linear-gradient(120deg,#3c3829,#1c3338);border:1px solid #665940;border-radius:9px;padding:26px;margin-bottom:22px}.end-banner h2{font-size:32px}.end-banner p{margin:9px 0 15px;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-family{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.review-family strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.plot{display:flex;height:120px;align-items:end;gap:3px;padding-top:15px}.plot span{display:block;flex:1;min-width:2px;background:var(--gold)}.footer{margin-top:22px;font-size:11px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap}.intel{margin-top:12px;padding:12px;background:#21383b;border-left:2px solid var(--teal);font-size:12px}.field-row{display:flex;gap:10px;align-items:end}.round-select{max-width:200px}.empty{padding:25px;color:var(--muted);font-size:13px}.info-list{padding-left:18px;margin:8px 0;font-size:12px;color:var(--muted)}
@media(min-width:1450px){.layout{grid-template-columns:290px minmax(420px,1fr) 290px}.map{min-height:545px}.place-name{font-size:14px}.place-owner,.place-stat{font-size:11px}}
@media(max-width:1100px){.shell{padding:20px 16px}.layout{grid-template-columns:250px 1fr}.right-column{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.map{min-height:490px}.journal-layout{grid-template-columns:1fr 270px}.topbar{align-items:start}.top-actions{max-width:350px}}
@media(max-width:730px){.shell{padding:14px 12px}.topbar{display:block}.top-actions{justify-content:start;margin-top:15px;max-width:none}.top-actions button{font-size:12px;padding:7px 9px}.phasebar{align-items:start}.layout{display:flex;flex-direction:column}.map-column{order:0;width:100%}.crew-column{order:1;width:100%}.right-column{order:2;width:100%;display:grid;grid-template-columns:1fr}.crew-list{grid-template-columns:1fr}.map{min-height:440px}.place-name{font-size:11px}.place-owner{font-size:9px}.place-stat{font-size:10px}.journal-layout{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.modal{padding:23px}.modal h1{font-size:37px}.modal .fields{grid-template-columns:1fr}.modal .fields label:last-child{grid-column:auto}.family-line{font-size:12px}.round-tick{width:8px}.round-track{gap:3px}.tabs{gap:2px}.tabs button{padding:7px 9px}.stats{gap:15px}.building{width:45px;height:36px}.place.institution .building{width:55px}.row button{min-height:40px}select,input{font-size:16px}.crew-card select{font-size:16px}.rules{overflow-wrap:anywhere}}
.combo-panel{padding:15px 16px;background:#1b2c32;border:1px solid #3b555c;border-radius:8px;margin-bottom:14px}.combo-hit{margin-top:12px;padding:11px 12px;border-left:3px solid var(--teal);background:#233b3f}.combo-hit.conflict{border-left-color:var(--rose);background:#382c34}.combo-hit strong{font-size:13px}.combo-hit .row>span{font-size:12px;color:var(--gold)}.combo-hit p{font-size:12px;color:var(--muted);margin-top:6px}.combo-foot{font-size:11px;color:var(--muted);margin-top:10px}.combo-crew{font-size:12px;color:var(--gold);margin-top:7px}.combo-crew:empty{display:none}.combo-book{max-width:1060px}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.recipe{padding:20px;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;background:var(--panel)}.recipe.conflict{border-top-color:var(--rose)}.recipe-condition{font-size:13px;margin-top:14px}.recipe-effect{display:block;color:var(--gold);margin-top:12px;font-size:14px}.log-row.combo{border-color:var(--teal)}.log-row.combo_conflict{border-color:var(--rose)}.log-row.guard,.log-row.training{border-color:var(--gold)}.fatigue-line{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);align-items:center;margin:8px 0}.fatigue-line.tired{color:var(--rose)}.fatigue-pips{display:flex;gap:3px}.fatigue-pips i{display:block;width:12px;height:4px;border-radius:2px;background:#43535b}.fatigue-pips i.filled{background:var(--gold)}.tired .fatigue-pips i.filled{background:var(--rose)}
@media(max-width:730px){.recipe-grid{grid-template-columns:1fr}.combo-hit .row{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Neighborhood edition: task controls and a readable hub network. */
a{color:var(--teal)}.layout{grid-template-columns:250px minmax(470px,1fr) 255px;gap:16px}.stats{grid-template-columns:repeat(2,1fr)}.target-field{margin-top:10px}.crew-card .skills{font-size:12px;justify-content:space-between}.crew-card .skills b{font-size:14px}.upgrade-preview{padding:0 8px;background:#142027;border-radius:5px}.upgrade-preview .budget{font-size:11px;padding:5px 0}.legacy-note{padding:14px;background:#25363f;border:1px solid var(--line);border-radius:7px;margin-top:20px}.hub-map{height:700px;min-height:700px;overflow:visible;background:radial-gradient(ellipse at 50% 50%,#334c48 0,#253839 24%,#1e2e34 75%)}.hub-disc{position:absolute;left:35%;top:36%;width:30%;height:28%;border:1px dashed #71878055;border-radius:50%;background:#35413c55;pointer-events:none}.routes{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}.routes line{stroke:#587079;vector-effect:non-scaling-stroke;stroke-width:2;stroke-dasharray:1 5;stroke-linecap:round;opacity:.7}.routes line.open-route{stroke:var(--gold);stroke-dasharray:none;opacity:.85}.routes line.owned-route{stroke:var(--gold);stroke-dasharray:none;stroke-width:3;opacity:1}.routes line.focus-route{stroke:#e7e7d3;opacity:1}.hub-map .place{z-index:2;width:21%;max-width:124px;background:#1b282f;border:1px solid #52636b;box-shadow:0 4px 12px #0005;padding:7px 3px}.hub-map .place:hover:not(:disabled){background:#344952}.hub-map .place.active{outline:2px solid var(--gold);outline-offset:2px}.hub-map .place.reachable{border-color:var(--gold)}.hub-map .place.isolated{border-style:dashed}.hub-map .place[data-owner="0"]{border-top:3px solid var(--gold)}.hub-map .place[data-owner="1"]{border-top:3px solid var(--teal)}.hub-map .place[data-owner="2"]{border-top:3px solid var(--rose)}.site-icon{font-size:17px;line-height:1;display:block;color:var(--gold);margin-bottom:4px}.hub-map .place-name{font-size:11px;line-height:1.25}.hub-map .place-stat{font-size:10px;margin-top:3px}.hub-map .place-owner{font-size:9px}.hub-map .home-place{width:54px;max-width:54px;border-radius:12px;background:#23352f;padding:5px 1px}.home-shield{display:block;font-size:20px;line-height:1.1}.home-label{display:block;font-size:10px}.hub-map .home-place[data-owner="0"]{color:var(--gold)}.hub-map .home-place[data-owner="1"]{color:var(--teal)}.hub-map .home-place[data-owner="2"]{color:var(--rose)}.level-track{display:flex;gap:6px;margin-top:12px}.level-track span{border:1px solid #54636b;border-radius:50%;width:24px;height:24px;text-align:center;font-size:12px;line-height:22px;color:var(--muted)}.level-track .filled{background:var(--gold);color:var(--bg);border-color:var(--gold)}.route-status{border-left:2px solid var(--gold);padding:8px 10px;background:#273534;margin:12px 0!important}.neighbor-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.upgrade-guide{margin-top:14px;padding:12px;border:1px solid var(--gold);border-radius:6px}summary{cursor:pointer;color:var(--gold)}.location-detail h2{font-size:23px}.location-detail .budget{font-size:12px}.map-top .hint{margin:6px 0 0}.standing{margin-bottom:8px}.log-row.upgrade,.log-row.training{border-color:var(--teal)}
@media(max-width:1250px){.layout{grid-template-columns:250px minmax(460px,1fr)}.right-column{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hub-map{height:720px;min-height:720px}}
@media(max-width:780px){.layout{display:flex;flex-direction:column}.crew-column{order:0;width:100%}.map-column{order:1;width:100%}.right-column{order:2;width:100%}.crew-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-map{height:680px;min-height:680px}.hub-map .place{width:20%}.hub-map .home-place{width:45px}.map-wrap{overflow:auto}}
@media(max-width:520px){.crew-list,.right-column{grid-template-columns:1fr}.hub-map{min-width:560px;height:650px;min-height:650px}.map-top,.map-legend,.location-detail{position:relative}.map-top:after{content:'Swipe map sideways';display:block;color:var(--muted);font-size:10px}.phasebar{flex-wrap:wrap}.round-tick{width:9px}.shell{padding:12px 10px}.modal{padding:20px}.rules table{font-size:11px}.rules td,.rules th{padding:7px}.hub-map .home-place{width:48px}}

.task-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.task-heading .hint{margin:0;font-size:10px}.task-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}.task-choice{padding:8px 4px;font-size:12px}.task-choice[aria-pressed=true]{background:#4e4934;border-color:var(--gold);color:#ffe5ac}.plan-ribbon{border:1px solid #496068;background:#1b2d32;border-radius:8px;padding:14px;margin:0 0 14px}.assignment-overview{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.assignment-chip{display:flex;gap:7px;align-items:center;text-align:left;background:#213238;padding:6px 9px;max-width:100%}.assignment-chip>span:last-child{display:grid;gap:1px}.assignment-chip strong{font-size:12px}.assignment-chip span span{font-size:10px;color:var(--muted)}.assignment-chip.selected{outline:1px solid var(--gold)}.avatar{width:26px;height:26px;border-radius:50%;background:#455354;display:grid;place-items:center;font-size:10px;color:var(--ink);flex-shrink:0}.task-earn .avatar{background:#345852}.task-takeover .avatar{background:#63583b}.task-guard .avatar{background:#3b526e}.task-train .avatar{background:#664968}.off-map-tasks{display:flex;gap:6px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:12px;padding-top:7px}.off-map-chip{font-size:11px;padding:3px 7px;background:#243f3b;border-radius:4px}.off-map-tasks .hint{margin:0}.map-crew{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:5px}.crew-pin{font-size:9px;padding:2px 5px;border-radius:3px;line-height:1.2;background:#695c3b;color:#fff2bf}.crew-pin.task-guard{background:#35516b;color:#d6eeff}.investment-pin{display:block;font-size:9px;background:#5e4231;color:#ffdcad;border-radius:3px;margin-top:4px;padding:2px}.hub-map .place.crew-target{box-shadow:0 0 0 2px #dfb569,0 0 18px #dfb56944}.round-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.highlight-row{font-size:13px;padding-top:10px;color:var(--ink)}.report-detail{border:1px solid var(--line);border-radius:7px;padding:14px;margin:12px 0;background:#15232a}.catalog-grid{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.catalog-grid section{border:1px solid var(--line);padding:17px}.catalog-grid table{font-size:11px}.catalog-grid td,.catalog-grid th{padding:7px}.table-scroll{overflow:auto}
@media(max-width:900px){.round-highlights,.catalog-grid{grid-template-columns:1fr}}@media(max-width:520px){.assignment-chip{flex:1 1 45%}.round-highlights{grid-template-columns:1fr}}

.layout{display:grid;grid-template-columns:minmax(580px,1fr) 300px;align-items:start}.right-column{display:grid;grid-template-columns:1fr;grid-column:auto}.right-column>.location-detail{border:1px solid var(--line);border-radius:9px}.selected-task-editor{margin-top:12px}.selected-task-editor .crew-card{display:grid;grid-template-columns:1.1fr 1.1fr 1.2fr;gap:8px 14px;padding:12px}.selected-task-editor .crew-name{grid-column:1}.selected-task-editor .skills{grid-column:2/-1;grid-row:1;margin:0;justify-content:start;gap:18px}.selected-task-editor .crew-role{grid-column:1;grid-row:2}.selected-task-editor .task-heading{display:none}.selected-task-editor .task-buttons{grid-column:1/3;grid-row:3;grid-template-columns:repeat(4,1fr);align-self:start}.selected-task-editor .target-field{grid-column:3;grid-row:2/4;margin:0}.selected-task-editor .prediction{grid-column:1/-1;min-height:0;margin:0}.selected-task-editor .task-choice{min-height:40px}.hub-map{height:760px;min-height:760px}.hub-map .place{width:18%;max-width:134px}.hub-map .home-place{width:58px}.round-highlights .panel{border-top:2px solid var(--teal)}
@media(max-width:1050px){.layout{grid-template-columns:minmax(430px,1fr) 265px}.hub-map{height:720px;min-height:720px}.hub-map .place{width:23%;max-width:116px}.hub-map .home-place{width:48px}.selected-task-editor .crew-card{grid-template-columns:1fr 1fr}.selected-task-editor .skills{grid-column:2;gap:6px;flex-wrap:wrap}.selected-task-editor .task-buttons{grid-column:1/-1;grid-row:3}.selected-task-editor .target-field{grid-column:1/-1;grid-row:4}.selected-task-editor .prediction{grid-row:5}}
@media(max-width:780px){.layout{display:flex;flex-direction:column}.map-column{order:0;width:100%}.right-column{order:1;width:100%;grid-template-columns:1fr}.hub-map{min-width:560px}.hub-map .place{width:20%}.hub-map .home-place{width:48px}.selected-task-editor .task-buttons{grid-template-columns:repeat(4,1fr)}}

.home-crew{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:125px;background:#142127dd;padding:4px;border-radius:4px}.crew-pin.task-earn{background:#315e4e;color:#d4f3df}

/* Compact planning controls leave more room for the board. */
.off-map-tasks{display:none}.plan-ribbon{padding:12px}.selected-task-editor{margin-top:9px}.selected-task-editor .crew-card{padding:10px;gap:6px 12px}.map-top .hint{margin:4px 0 0}.event{min-height:0;padding:10px 14px}.topbar{padding-bottom:12px}.phasebar{padding:12px 0}.shell{padding-top:18px}

.benefit-callout{padding:10px 12px;margin:12px 0;background:#304138;border-left:3px solid var(--gold);font-weight:600;font-size:13px;color:#f4d997}.place-stat{line-height:1.4;margin:4px 0;color:#f4d997}.place-defense{display:block;font-size:9px;color:var(--muted)}.skills small{font-size:10px}.hub-map .place{max-width:145px}.hub-map .home-place{max-width:58px}.place-name{line-height:1.3}
.hub-map .place{width:16%;max-width:126px}.hub-map .home-place{width:58px}.hub-map{min-width:680px}@media(max-width:1000px){.layout{display:flex;flex-direction:column}.map-column{width:100%;order:0}.right-column{width:100%;order:1;grid-template-columns:repeat(2,minmax(0,1fr))}.right-column>.location-detail{grid-column:1/-1}.map-wrap{overflow:auto}}@media(max-width:730px){.right-column{grid-template-columns:1fr}.hub-map .home-place{width:48px}.map-top:after{content:"Swipe map sideways on a narrow screen";font-size:10px;color:var(--muted)}}

.approach-note{border-left:2px solid var(--teal);padding:8px 10px;background:#203639;margin:10px 0!important}.hub-map .place[aria-label*="approach"]{border-bottom:2px solid #77b3b0}

.route-key{display:inline-flex;align-items:center;gap:6px}.route-key i{display:inline-block;width:24px;border-top:2px solid currentColor}.route-key i.unreachable-key{border-top-style:dotted}
/* Focused planning: map, one inspector, and a persistent round budget. */
.shell{max-width:1540px;padding:14px 24px 32px}.topbar{padding-bottom:9px;gap:12px}.topbar h1{font-size:29px}.top-actions{max-width:none}.top-actions button{font-size:12px;padding:7px 11px}.phasebar{padding:9px 0;gap:12px;flex-wrap:wrap}.phasebar strong{font-size:13px}.phasebar .round-track{display:none}.tabs{margin-bottom:10px;gap:3px}.tabs button{padding:6px 11px;font-size:12px}.standings-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.score-pill{font-size:11px;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid transparent;border-radius:5px;color:var(--muted)}.score-pill.current{border-color:var(--line);color:var(--ink)}.score-pill b{font-size:13px}.standing-label{font-size:10px;color:var(--muted)}
.planning-shell{padding-bottom:115px}.plan-ribbon{margin-bottom:12px;padding:10px 12px;background:var(--panel);border-color:var(--line)}.assignment-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.assignment-heading h3{font-size:12px}.assignment-heading>span{font-size:11px;color:var(--muted)}.assignment-heading .auction-timing{margin-left:auto;color:var(--gold)}.assignment-overview{margin-top:8px;gap:8px}.assignment-chip{padding:6px 9px;min-width:150px;flex:1 1 150px;max-width:235px}.assignment-chip.selected{outline:none;border-color:var(--gold);background:#353b31}.assignment-chip span span{font-size:11px}.assignment-chip strong{font-size:12px}.carry-notice{font-size:11px;margin-top:8px}.carry-notice p{margin:6px 0;color:var(--muted)}
.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}.planner-layout>.map-column{min-width:0}.map-wrap{overflow:hidden}.map-top{padding:10px 12px;gap:8px}.map-top h3{font-size:12px}.map-top:after{display:none}.map-top .map-legend{padding:0;background:transparent;gap:12px;font-size:10px}.map-scroll{overflow:auto}.hub-map{height:690px;min-height:690px;min-width:700px}.hub-map .place{width:15%;max-width:124px;padding:6px 3px}.hub-map .place-name{font-size:11px}.hub-map .place-stat{font-size:10px;line-height:1.35}.hub-map .home-place{width:52px;max-width:52px;padding:4px 1px}.home-shield{font-size:16px}.home-label{font-size:9px}.home-crew{width:70px;padding:2px;gap:2px}.home-crew .crew-pin{font-size:9px;padding:1px 3px}.hub-disc{border-style:solid;opacity:.45}
.planning-inspector{position:sticky;top:12px;display:grid;gap:12px;min-width:0}.inspector-card{border:1px solid var(--line);background:var(--panel);border-radius:9px;overflow:hidden}.inspector-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;gap:5px;border-bottom:1px solid var(--line);background:#172329}.inspector-tabs button{border-color:transparent;background:transparent;font-size:12px;padding:7px}.inspector-tabs button[aria-pressed=true]{background:#33443f;border-color:#586c5d;color:#f4d997}.planning-inspector .crew-card{padding:16px;border:0;border-radius:0;background:transparent;display:block}.planning-inspector .crew-name{font-size:19px;font-family:Georgia,serif;font-weight:400}.planning-inspector .skills{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;font-size:11px;margin:12px 0 6px}.planning-inspector .skills b{font-size:16px}.planning-inspector .skills small{display:block;font-size:10px}.planning-inspector .crew-role{margin-bottom:12px}.planning-inspector .task-heading{display:none}.planning-inspector .task-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.planning-inspector .task-choice{padding:9px 6px}.planning-inspector .target-field{margin-top:12px}.planning-inspector .target-field select{font-size:12px}.planning-inspector .prediction{font-size:12px;line-height:1.5;min-height:0;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.planning-inspector .location-detail{padding:15px;border:0;background:transparent}.inspector-heading h2{font-size:24px;line-height:1.15;margin:5px 0 8px}.inspector-heading .eyebrow{font-size:10px;letter-spacing:1px}.location-meta{display:flex;gap:12px;font-size:11px;color:var(--muted)}.planning-inspector .benefit-callout{margin:12px 0;padding:10px;font-size:13px;line-height:1.5}.planning-inspector .access-note{font-size:12px;margin:0 0 12px}.location-actions{display:grid;gap:7px}.location-actions>.hint{margin:0;font-size:11px}.location-actions button{width:100%}.planning-inspector .assignment-confirmation{font-size:11px;color:var(--teal);margin:0;line-height:1.5}.investment-offer{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.investment-offer h3{font-size:12px}.investment-offer .next-benefit{font-size:12px;color:#f4d997;margin:6px 0 9px}.investment-offer button{font-size:12px;width:100%}.investment-offer .queued{border-color:var(--gold);color:var(--gold)}.inspector-more{border-top:1px solid var(--line);margin-top:15px;padding-top:10px;font-size:12px}.inspector-more summary{color:var(--muted)}.inspector-more p{font-size:11px;color:var(--muted);margin-top:9px}.upgrade-path{display:grid;gap:8px;margin-top:12px}.upgrade-path>div{display:grid;gap:2px;font-size:11px}.upgrade-path span{color:var(--gold)}.neighbor-list .hint{width:100%;margin:0}.neighbor-list .small{font-size:10px;padding:5px 6px}.auction-card{padding:13px 15px;background:#2b2d25;border:1px solid #74633f;border-radius:9px}.auction-card .eyebrow{font-size:10px}.auction-card h3{font-size:16px;margin:3px 0 6px}.auction-card .skills{display:flex;justify-content:space-between;font-size:11px;gap:6px;margin:8px 0 3px}.auction-card .crew-role{font-size:11px;margin-bottom:9px}.auction-card button{font-size:12px}.auction-card .hint{font-size:11px;margin:8px 0 0}.auction-card label{font-size:11px}.auction-card input{max-width:none;font-size:14px}.auction-card .ghost{margin-top:7px}
.planning-dock{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#152127f5;border-top:1px solid #52636b;box-shadow:0 -8px 25px #07101566;backdrop-filter:blur(12px)}.dock-inner{max-width:1540px;margin:auto;padding:12px 24px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}.dock-stat{display:grid;gap:1px;min-width:65px}.dock-stat>span{font-size:10px;color:var(--muted)}.dock-stat strong{font-size:20px;line-height:1.25;font-weight:500}.books-disclosure{position:relative;font-size:12px;margin-left:auto}.books-disclosure>summary{border:1px solid var(--line);padding:9px 12px;border-radius:6px;color:var(--ink);cursor:pointer}.books-popover{position:absolute;bottom:calc(100% + 20px);right:0;width:350px;max-width:calc(100vw - 24px);max-height:min(65vh,520px);overflow:auto;padding:18px;background:#1a292f;border:1px solid #63737b;border-radius:9px;box-shadow:0 12px 40px #0009}.books-popover h3{font-size:14px}.books-popover h3:not(:first-child){margin-top:18px}.books-popover .budget{padding:6px 0;font-size:12px}.books-popover .hint{font-size:11px;margin:9px 0 0}.planning-dock .commit{margin:0;width:auto;min-width:200px;padding:12px 18px;display:flex;justify-content:space-between;gap:20px}.dock-errors{flex-basis:100%;margin:0;font-size:12px;max-height:100px;overflow:auto}.footer{font-size:10px;margin-top:16px}.toast{bottom:100px}
@media(max-width:1100px){.shell{padding-left:16px;padding-right:16px}.planner-layout{grid-template-columns:minmax(0,1fr) 270px;gap:10px}.dock-inner{padding:10px 16px;gap:18px}.map-top{flex-wrap:wrap}.map-top .map-legend{gap:10px}}
@media(max-width:900px){.planner-layout{display:flex;flex-direction:column}.planning-inspector{position:static;width:100%;order:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.inspector-card:only-child{grid-column:1/-1}.planner-layout>.map-column{order:1;width:100%}.planning-inspector .crew-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.planning-inspector .crew-name{grid-column:1}.planning-inspector .crew-card>.skills{grid-column:1;grid-row:2;margin:5px 0}.planning-inspector .crew-card>.crew-role{grid-column:1;grid-row:3;margin:0}.planning-inspector .task-buttons{grid-column:2;grid-row:1/4}.planning-inspector .target-field,.planning-inspector .prediction{grid-column:1/-1}.assignment-chip{min-width:130px;flex-basis:130px}.standing-label{display:none}.planning-dock .commit{min-width:165px}.scoring-estimate{display:none}}
@media(max-width:600px){.shell{padding:10px 10px 30px}.planning-shell{padding-bottom:145px}.topbar{display:flex;align-items:center}.topbar h1{font-size:25px}.top-actions{margin:0}.top-actions button{font-size:11px;padding:6px}.phasebar{gap:7px}.family-line{font-size:11px}.standings-strip{order:3;width:100%;gap:4px}.score-pill{padding:2px 5px}.assignment-heading{gap:5px 8px}.assignment-heading .auction-timing{margin:0;width:100%}.assignment-chip{min-width:120px;max-width:none}.planning-inspector{grid-template-columns:1fr}.planning-inspector .crew-card{display:block}.map-top:after{display:block;content:'Swipe to explore the map';font-size:10px;color:var(--muted)}.dock-inner{gap:10px;padding:8px 10px}.dock-stat{min-width:55px}.dock-stat strong{font-size:18px}.books-disclosure{font-size:11px}.books-disclosure>summary{padding:7px}.books-popover{position:fixed;bottom:122px;right:10px;width:calc(100vw - 20px);max-height:55vh}.planning-dock .commit{width:100%;min-width:0;padding:9px 13px}.toast{bottom:135px}.tabs button{font-size:11px;padding:6px 8px}}


/* Keep the crew strip to one row at normal desktop widths. */
@media(min-width:1001px){.plan-ribbon{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:12px;align-items:center}.assignment-heading{display:contents}.assignment-heading h3{grid-column:1;grid-row:1}.assignment-heading .auction-timing{grid-column:3;grid-row:1;font-size:11px}.assignment-overview{grid-column:2;grid-row:1;margin:0;flex-wrap:nowrap}.assignment-chip{min-width:0;max-width:190px;flex:1 1 0}.assignment-chip span span{font-size:10px}.carry-notice{grid-column:1/-1;margin:0}}
.assignment-heading h3 small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.hub-map{height:720px;min-height:720px}.map-scroll{overflow-y:hidden}.planning-inspector .crew-name{line-height:1.2}

/* Location cards: one readable row per benefit, with a consistent icon. */
.bonus-list{display:grid;gap:6px;text-align:left}.bonus-item{display:flex;align-items:flex-start;gap:6px;min-width:0;line-height:1.25}.bonus-icon{width:14px;height:14px;flex:0 0 14px;display:inline-block;vertical-align:middle}.bonus-copy{display:grid;gap:1px;min-width:0}.bonus-copy>span{font-size:12px;font-weight:400;color:var(--ink)}.bonus-copy b{font-weight:700;color:#f4d997}.bonus-copy small{font-size:10px;color:var(--muted);font-weight:400}.hub-map{height:760px;min-height:760px}.hub-map .place:not(.home-place){text-align:left;width:16%;max-width:140px;padding:8px 7px;border-bottom:1px solid #52636b}.hub-map .place-name{font-size:11px;line-height:1.25;margin-bottom:7px}.hub-map .bonus-list{gap:5px}.hub-map .bonus-item{gap:5px}.hub-map .bonus-icon{width:12px;height:12px;flex-basis:12px;color:var(--gold)}.hub-map .bonus-copy>span{font-size:10px;line-height:1.2}.hub-map .bonus-copy small{font-size:9px;line-height:1.2}.place-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;border-top:1px solid #52636b66;padding-top:5px;margin-top:7px;font-size:9px;color:var(--muted)}.place-meta>span:first-child{display:flex;align-items:center;gap:3px}.hub-map .place-meta .bonus-icon{width:10px;height:10px;flex-basis:10px;color:var(--muted)}.hub-map .place-owner{font-size:9px;margin-top:4px;color:var(--ink);text-align:left}.hub-map .home-place{text-align:center}.planning-inspector .benefit-callout{padding:11px 10px}.investment-offer .next-benefit{margin:9px 0 12px}.investment-offer .bonus-list{gap:6px}.upgrade-path>div{padding-bottom:8px;border-bottom:1px solid var(--line)}.upgrade-path>div>b{margin-bottom:5px;color:var(--muted)}.upgrade-path .bonus-copy>span{font-size:11px}.hub-map .place.active{z-index:4}.hub-map .place.crew-target{z-index:3}
/* A square coordinate space keeps the six outer edges equal. */
.hub-map{width:100%;min-width:820px;height:auto;min-height:0;aspect-ratio:1;margin:0 auto}.map-scroll{overflow-x:auto;overflow-y:hidden}

.hub-map{min-width:860px}

/* Ownership is a fill and a named banner. White marks selection only. */
.hub-map .place:not(.home-place){width:14%;max-width:134px;background:#223139;border:1px solid #5a6b73;color:var(--ink)}.hub-map .place.reachable,.hub-map .place[aria-label*="approach"]{border-color:#5a6b73;border-bottom-width:1px}.hub-map .place.crew-target{box-shadow:0 4px 12px #0005}.hub-map .place[data-owner="0"]{background:#453a27;border:1px solid #897349;color:var(--ink)}.hub-map .place[data-owner="1"]{background:#254347;border:1px solid #588b8c;color:var(--ink)}.hub-map .place[data-owner="2"]{background:#492f3c;border:1px solid #966471;color:var(--ink)}.hub-map .place:hover:not(:disabled){filter:brightness(1.12)}.hub-map .place.active{outline:2px solid #fff9ed;outline-offset:3px;box-shadow:0 0 0 4px #11191e,0 5px 16px #0007;z-index:5}.hub-map .place:focus-visible{outline:2px solid #fff9ed;outline-offset:5px}.hub-map .place .place-owner{display:block;margin:-8px -7px 7px;padding:4px 7px;border-radius:5px 5px 0 0;background:#17242b;color:#b6c5ca;text-transform:uppercase;letter-spacing:.7px;font-size:8px;font-weight:700;line-height:1.25}.hub-map .place[data-owner="0"] .place-owner{background:#7b6437;color:#fff1cc}.hub-map .place[data-owner="1"] .place-owner{background:#386e71;color:#d6ffff}.hub-map .place[data-owner="2"] .place-owner{background:#804e61;color:#ffe2ed}.hub-map .home-place[data-owner]{border-width:1px}.hub-map .place-name{margin-bottom:8px}.hub-map .place-meta{border-top-color:#aebac033}.hub-map .map-crew{gap:2px;flex-wrap:nowrap}.hub-map .crew-pin{font-size:9px;padding:1px 2px;line-height:1.3;white-space:nowrap}.hub-map .crew-pin.selected-pin{background:#fff9ed;color:#172329}.routes line.open-route,.routes line.owned-route{stroke:#cbd5d7;opacity:.85;stroke-width:2}.routes line.focus-route{stroke:#f9faf6;opacity:1}.map-legend .route-key.gold{color:#d4dedf}.selection-key{display:inline-flex;gap:6px;align-items:center}.selection-key i{display:inline-block;width:10px;height:10px;border:1.5px solid #fff9ed;border-radius:2px}
.bonus-copy b{white-space:nowrap}.hub-map .place[data-owner=""]:hover{background:#223139}.hub-map .place[data-owner="0"]:hover{background:#453a27}.hub-map .place[data-owner="1"]:hover{background:#254347}.hub-map .place[data-owner="2"]:hover{background:#492f3c}
/* Location services are secondary decisions; crew tasks remain the main controls. */
.first-round-tip{display:flex;align-items:center;gap:18px;padding:12px 16px;margin-bottom:12px;border:1px solid #706345;background:#302f26;border-radius:8px}.first-round-tip strong{font-size:13px;color:#f1dbac}.first-round-tip p{font-size:12px;color:#cccbc0;margin-top:3px;max-width:940px}.first-round-tip button{flex-shrink:0}
.tactical-readout{padding:11px;border-radius:7px;background:#111e24;border:1px solid #47535a;margin:12px 0}.tactical-readout>div{display:flex;justify-content:space-between;align-items:center}.tactical-readout strong{font-family:Georgia,serif;font-size:27px;line-height:1;color:var(--ink)}.tactical-readout p{font-size:12px}.tactical-readout small{display:block;color:#bbc8cb;font-size:11px;margin-top:7px}.tactical-readout>div>span{font-weight:600;font-size:12px}
.boost-offer{border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.boost-offer .eyebrow{font-size:9px;letter-spacing:1px;color:#a9bdc1}.boost-offer h3{margin-top:5px}.boost-offer h3 span{color:var(--gold)}.boost-targets{display:grid;gap:5px;margin-top:10px}.boost-targets button{text-align:left}.boost-queued{color:var(--gold)!important;margin:9px 0!important}.boost-offer .hint{font-size:11px}
.recipe-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:#1e2e34}.recipe-active{border-color:#819b6a;background:#25372f}.recipe-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:14px}.recipe-heading .badge{white-space:nowrap;font-size:10px}.recipe-ingredients{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px}.ingredient{font-size:11px;padding:5px 7px;border-radius:4px;background:#16242a}.ingredient.held{color:#cfe4b4;border-color:#819b6a}.ingredient.missing{color:var(--muted)}.recipe-plus{color:var(--muted);font-size:12px}.recipe-reward{color:#f1d599!important;font-size:12px!important;margin-top:10px!important}.inspector-more .recipe-card{padding:10px;margin-top:10px}.inspector-more .recipe-heading{font-size:12px}.combos-page>p{max-width:730px;margin-top:12px}.combos-page>h3{margin-top:24px}.recipe-grid{margin:14px 0 24px}.report-detail .recipe-grid{padding-top:10px}
@media(max-width:600px){.first-round-tip{align-items:flex-start}.first-round-tip p{font-size:11px}}


/* A small, illustrated city; all art is original and ships inside the offline game. */
body{background:radial-gradient(ellipse at 50% -20%,#364341 0,#142126 55%,#111a20 100%)}
.topbar h1{letter-spacing:-.7px}.topbar h1 .badge{vertical-align:middle;margin-left:8px}.site-art{display:block;width:40px;height:28px;flex:0 0 40px;overflow:visible;pointer-events:none}.place-title{display:flex;align-items:center;gap:1px;margin:0 -3px 6px -5px;min-height:30px}.hub-map .place-title .place-name{margin:0;font-size:10.5px;line-height:1.25;overflow-wrap:normal}.large-art{width:120px;height:82px}.inspector-heading>.site-art{float:right;width:92px;height:68px;margin:-6px -13px 3px 1px}.inspector-heading:after{content:'';display:block;clear:both}.inspector-heading h2{font-size:23px;line-height:1.13;margin-top:5px}.inspector-heading .location-meta{clear:both;padding-top:10px}.catalog-place>.site-art{float:right;margin:-5px 0 5px 12px}.welcome-street{display:flex;justify-content:center;margin:0 -12px -4px;gap:0;overflow:hidden}.welcome-street .site-art{width:110px;min-width:65px;flex:1 1 0;height:auto;filter:drop-shadow(0 9px 8px #0b141a55)}.modal h1{font-size:48px}.modal{background:linear-gradient(145deg,#2a383c,#18262d);border-color:#59615d}.modal .onboarding{background:#15262a;border:1px solid #43534f}.hub-map{background:radial-gradient(ellipse at center,#31443f,#223438 65%,#1d2b34)}.city-scenery{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hub-disc{border:0;background:none}.hub-map .place{box-shadow:0 5px 0 #11202880,0 12px 22px #0e192440;border-radius:7px}.routes line{stroke:#778a8a;stroke-width:2.5;stroke-dasharray:1 6;opacity:.6}.routes line.open-route,.routes line.owned-route{stroke:#c0c9b7;stroke-width:3;stroke-dasharray:none;opacity:.8}.routes line.focus-route{stroke:#fff8dc;opacity:1}.map-wrap{border-color:#526059}.map-top{background:#1b2b30}.map-legend{background:none}.hub-map .place.active{box-shadow:0 0 0 4px #17272d,0 7px 16px #0008}.inspector-card{box-shadow:0 14px 25px #07101722}.planning-dock{box-shadow:0 -8px 32px #08131a66}.assignment-chip.selected{outline-color:#fff4dd}.task-choice[aria-pressed=true]{background:#4d4934}.first-round-tip{background:#2d342b}.planning-shell .topbar{border-bottom:0}.planning-shell .phasebar{border:1px solid #3b514f;background:#1b2b30;border-radius:8px;padding:10px 14px;margin-bottom:10px}.standings-strip .score-pill{background:#263638}.map-top h3{font-family:Georgia,serif;font-size:18px;font-weight:400}
@media(prefers-reduced-motion:no-preference){.hub-map .place,.assignment-chip{transition:filter .15s,box-shadow .15s}.toast{animation:toast-in .2s ease-out}@keyframes toast-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}}

.boost-offer>summary{font-size:12px;line-height:1.6;color:#e2c68e}.boost-offer[open] h3{margin-top:10px}.service-mark{font-style:normal;color:#f0cc83;font-size:9px}.plan-ribbon{position:sticky;top:8px;z-index:12;background:#1b2c32f7;box-shadow:0 5px 18px #0c182344}.planning-inspector{position:sticky;top:92px;max-height:calc(100dvh - 184px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#58706e transparent}.location-detail .investment-offer{padding-top:12px;margin-top:14px}.investment-offer .next-benefit .bonus-copy small{display:none}.investment-offer h3{font-size:12px}.investment-offer .next-benefit{margin:9px 0}.map-legend{gap:10px}.map-top{padding-left:14px;padding-right:12px}.hub-map .place-title{min-height:30px}.hub-map{min-width:900px}
@media(max-width:1000px){.planning-inspector{position:static;max-height:none;overflow:visible}.plan-ribbon{position:static}.map-column{min-width:0}}

.catalog-controls{display:flex;gap:12px;align-items:flex-end;margin-top:20px;flex-wrap:wrap}.catalog-controls label{min-width:210px;flex:1}.catalog-controls button{height:40px}.catalog-place>p{margin:10px 0 15px}.catalog-place>.bonus-list{clear:both;margin-top:12px}.catalog-map-link{margin-top:12px}.catalog-grid .report-detail{font-size:12px}.catalog-grid .upgrade-path{margin-top:12px}.quick-rules>p{margin:15px 0;max-width:780px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.quick-actions article{background:#203138;border:1px solid #435957;border-radius:8px;padding:18px}.quick-actions p{font-size:13px}.rule-essentials{background:#19292f;border:1px solid #415450;border-radius:8px;padding:18px;margin:18px 0 25px}.rule-essentials p{font-size:13px}.quick-rules .report-detail{padding:14px 0}.quick-rules .report-detail p{margin-top:14px;font-size:13px;line-height:1.65}.feedback-panel{margin-bottom:18px}.feedback-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:16px 0}.feedback-saved{font-size:12px;color:var(--teal);margin-left:12px}.restore-save{margin-top:18px;font-size:12px}.restore-save label{margin-top:14px}.restore-save input{font-size:12px}.first-round-tip strong{font-size:13px}.catalog-page .catalog-place{padding:18px}.catalog-page .upgrade-path>div{padding:9px 0}
@media(max-width:650px){.quick-actions,.feedback-fields{grid-template-columns:1fr}.catalog-controls label{min-width:180px}.feedback-saved{display:block;margin:10px 0 0}}

.planning-inspector .inspector-tabs{display:flex}.inspector-tabs button{flex:1}.planning-inspector .auction-card{border:0;background:transparent;padding:18px}.auction-timing[data-do]{background:#4b4330;border-color:#8d7747;color:#f6deb0;white-space:normal;text-align:center;font-size:11px}.contest-outcome{padding-left:10px;border-left:2px solid #576d72}.catalog-page .rules{max-width:none}

.location-crew-picker{font-size:11px}.location-crew-picker select{font-size:12px;margin-bottom:7px}.planning-inspector{scroll-margin-top:12px}.map-scroll{scrollbar-width:thin;scrollbar-color:#657d76 #1a2b30}
@media(max-width:1000px){.planner-layout{display:flex;flex-direction:column}.planner-layout .map-column{order:0;width:100%}.planner-layout .planning-inspector{order:1;width:100%;display:block;margin-top:4px}.map-scroll{max-height:56dvh;min-height:360px;overflow:auto}.map-top{flex-wrap:wrap}.map-top:after{display:block;content:'Scroll the map · select a location to assign crew';font-size:11px;color:var(--muted)}.planning-inspector .crew-card{display:block}.location-crew-picker select{font-size:16px}.location-actions{max-width:none}.planning-inspector .inspector-tabs button{min-height:40px}}

/* Compact map cards: position conveys tier; the featured pair sits below the regular bonuses. */
.hub-map .place[data-combo="yes"]{box-shadow:0 4px 12px #0005,inset 0 0 0 1px #d9bd8080}
.map-combo{display:grid;gap:3px;margin-top:7px;padding-top:7px;border-top:1px solid #d9bd8066;font-size:9px;line-height:1.25;color:#ddc991}
.map-combo strong{font-weight:700;color:#f1dcaa}
.map-combo.active{color:#dcebbd;border-top-color:#a6be83}
.map-combo.active strong{color:#e1f3c4}
.map-legend .tier-key{color:#dae6dc;font-weight:600;white-space:nowrap}
.tier-explain{margin:10px 0 2px;padding:10px 12px;border-left:3px solid #bba36d;background:#293832;color:#e4ded0;font-size:12px;line-height:1.45}

/* Bidding rounds show their own panel alongside the assignment controls. */
.planning-inspector>.auction-card{border:2px solid #b79a59;background:linear-gradient(135deg,#363326,#262e29);box-shadow:0 4px 16px #07101533;padding:13px 15px;scroll-margin:12px}
.auction-heading{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #b79a5955}
.auction-heading h2{font-family:inherit;font-size:18px;line-height:1.25;font-weight:650;color:#ffe0a0;margin:3px 0 0}
.auction-mark{display:grid;place-items:center;width:32px;height:32px;flex:none;background:#b79a5922;border-radius:6px;color:#ffe0a0}
.auction-mark .bonus-icon{width:20px;height:20px}
.auction-card .auction-minimum{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:8px 0;margin-bottom:5px;border-top:1px solid #b79a5933}
.auction-minimum strong{color:#ffe0a0;font-size:16px}
.auction-card .auction-bid{width:100%;background:#d4b877;border-color:#d4b877;color:#172329;font-weight:650}
.auction-card:focus-visible{outline:3px solid #f1e5bf;outline-offset:3px}
@media(max-width:1000px){.planner-layout:has(#talent-auction)>.planning-inspector{order:0;display:grid;gap:12px}.planner-layout:has(#talent-auction)>.map-column{order:1}}
.strength-equation{display:flex;justify-content:center;gap:7px;padding:10px 0;margin-top:8px;border-top:1px solid #47535a}
.strength-equation span{display:grid;text-align:center;min-width:40px;font-size:10px;color:var(--muted)}
.strength-equation span b{color:var(--ink);font-size:20px;font-weight:600}
.strength-equation i{font-style:normal;align-self:center;color:var(--gold)}
.strength-crew{display:flex;flex-wrap:wrap;gap:5px}
.strength-crew span{padding:3px 6px;border:1px solid #47535a;border-radius:4px;font-size:11px}
.plan-disclosure{margin-left:0}.plan-summary-row{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.plan-summary-row span{color:var(--muted)}
.plan-popover p{font-size:12px;margin-top:12px}.final-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}
.final-map-heading h2{font-size:21px}.final-map-heading button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}
@media(max-width:600px){.plan-popover{bottom:142px}.plan-disclosure{margin-left:auto}.final-map-heading .row{gap:6px}.final-map-heading button{font-size:11px;padding:6px}}
@media(max-width:1000px){.map-wrap.read-only .map-top:after{content:'Scroll the map · select a location to inspect'}}
