/* Parchment workspace; controls stay readable at phone widths without overlaying map tools. */
.tpDialog{width:min(820px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--paper-2);color:var(--ink);box-shadow:0 6px 24px rgb(63 37 21 / .09);overscroll-behavior:contain;scrollbar-gutter:stable;font:15px/1.5 'Golos Text',system-ui}
.tpDialog::backdrop{background:var(--scrim);backdrop-filter:blur(5px)}
.tpDialog[open]{display:block}.tpDialog *{box-sizing:border-box}.tpDialog [hidden],.tpPinned[hidden],.tpTrainingInvite[hidden]{display:none!important}
.tpHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:14px}
.tpHead h2{font:38px/1.1 'Cormorant Garamond',Georgia,serif;margin:7px 0 0;color:var(--ink)}.tpKicker{font:700 10px/1.5 'Golos Text',system-ui;letter-spacing:.12em;color:var(--ink)}.tpClose{flex:none;border:1px solid var(--line);border-radius:10px;background:transparent;padding:10px 13px;color:var(--ink);min-height:44px;font-size:13px}
.tpIntro{color:var(--muted);line-height:1.6;margin:12px 0 18px}.tpMuted{font:12px/1.5 'Golos Text',system-ui;color:var(--muted);margin:9px 0;overflow-wrap:anywhere}.tpStatus{font:13px/1.4 'Golos Text',system-ui;color:var(--ink);min-height:18px;margin:10px 0}.tpStatus.error{color:var(--danger)}
.tpButton{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--paper-2);color:var(--ink);font:650 13px/1.35 'Golos Text',system-ui;white-space:normal;text-align:center;cursor:pointer}
.tpButton:hover{filter:brightness(1.09)}.tpButton:disabled{opacity:.45;cursor:default}.tpButton.tpSecondary{background:transparent;color:var(--ink);border-color:var(--line)}.tpButton.tpJoined{background:var(--paper-2);color:var(--ink);border-color:var(--line)}
.tpDialog button:focus-visible,.tpDialog input:focus-visible,.tpDialog textarea:focus-visible,.tpDialog select:focus-visible,.tpMode:focus-visible{outline:3px solid var(--line);outline-offset:3px}
.tpEditor{padding:18px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;margin-top:15px;scroll-margin-top:12px}.tpEditor h3{font:25px 'Cormorant Garamond',Georgia;margin:0 0 14px}.tpFields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tpField{display:flex;flex-direction:column;gap:6px;font:600 12px/1.4 'Golos Text',system-ui;color:var(--ink);margin-bottom:10px;min-width:0}.tpField input,.tpField select,.tpField textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:11px;border-radius:9px;font:16px/1.4 'Golos Text',system-ui;resize:vertical}.tpField textarea{min-height:95px}.tpFields .tpField:last-child{grid-column:1/-1;max-width:370px}
.tpActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tpPlanList{display:grid;gap:13px}.tpPlan{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:13px;padding:18px;min-width:0}.tpPlanHead{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tpPlanKind{font:700 12px 'Golos Text',system-ui;letter-spacing:.02em;color:var(--ink)}.tpPlanTime{font:600 12px 'Golos Text',system-ui;color:var(--ink)}.tpPlan h3{font:30px 'Cormorant Garamond',Georgia;margin:7px 0 12px;color:var(--ink)}.tpPlanNote{font:16px/1.55 'Golos Text',system-ui;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.tpParticipants{font-size:12px;margin-top:10px}.tpParticipants summary{cursor:pointer;min-height:28px}.tpParticipants p{max-height:120px;overflow:auto;overflow-wrap:anywhere}.tpWarning{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink);font-size:13px}.tpEmpty{border:1px dashed var(--line);border-radius:12px;padding:24px;text-align:center;line-height:1.6;color:var(--ink)}.tpHistory>summary{font-weight:600;cursor:pointer;padding:10px}.tpHistory .tpPlan{margin:10px 0}.tpArchived{background:var(--paper-2);border-color:var(--line)}
.tpPinned{flex:none;display:flex;gap:12px;align-items:center;justify-content:space-between;max-height:128px;padding:10px 18px;background:var(--paper-2);color:var(--ink);border-bottom:1px solid var(--line)}.tpPinInfo{min-width:0;flex:1}.tpPinInfo>b{display:block;font:700 13px/1.4 'Golos Text',system-ui;overflow-wrap:anywhere}.tpPinInfo small{display:block;font:11px 'Golos Text',system-ui;color:var(--muted);margin-top:3px}.tpPinNote{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font:12px 'Golos Text',system-ui;margin:5px 0 0}.tpPinActions{display:flex;gap:6px;flex:none}.tpPinActions .tpButton{font-size:11px;min-height:36px;padding:7px 9px}
.tpCommandBar{max-width:1800px;margin:12px auto 0;padding:0 24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tpCommandBar .tpAttention{border-color:var(--line);color:var(--ink);box-shadow:0 6px 24px rgb(63 37 21 / .09)}.tpCommandHint{color:var(--ink);font:12px 'Cormorant Garamond',Georgia;margin-left:6px}.tpMapModes{margin:8px 0 13px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.tpModeButtons{display:flex;gap:6px}.tpMode{flex:1;padding:9px 10px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:8px;min-height:40px;font:650 13px 'Golos Text',system-ui}.tpMode[aria-pressed=true]{background:var(--paper-2);border-color:var(--line);color:var(--ink)}.tpModeNote{margin:8px 0 0;font:11px/1.5 'Golos Text',system-ui;color:var(--ink);min-height:32px}.mapFocusMode .tpMapModes{position:absolute;left:12px;bottom:16px;width:min(350px,calc(100vw - 105px));z-index:5;margin:0;background:var(--paper-2);padding:7px}.mapFocusMode .tpModeNote{display:none}.mapFocusMode .mapLayerSwitch{bottom:74px!important}
.tpBriefTotals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tpBriefTotals>div{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);font-weight:750}.tpUrgent{border:1px solid var(--line);border-left:5px solid var(--line);background:var(--paper-2);padding:16px;border-radius:12px;margin:14px 0;color:var(--ink)}.tpUrgent b{font-size:17px}.tpUrgent p{font-size:13px;margin:8px 0}.tpBriefEvents{display:grid;gap:10px;max-height:390px;overflow:auto;margin-bottom:15px}.tpBriefEvent{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--paper-2);overflow-wrap:anywhere}.tpBriefEvent p{font-size:13px;margin:6px 0}.tpHousePopulation{margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.tpHousePopulation p{font:12px/1.45 'Golos Text',system-ui!important;color:var(--ink)!important;margin:0 0 4px!important}.tpRecruit{display:inline-block;padding:4px 7px;color:var(--ink);background:var(--paper-2);border-radius:5px;font:700 11px 'Golos Text',system-ui}#houseActivityNote{color:var(--ink);margin-bottom:0}
.tpTrainingInvite{display:flex;align-items:center;gap:14px;margin:12px 24px 0;padding:14px 18px;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:12px}.tpTrainingInvite>div{flex:1;min-width:0}.tpTrainingInvite b{font:700 15px 'Golos Text',system-ui}.tpTrainingInvite p{font:12px/1.5 'Golos Text',system-ui;margin:4px 0 0}.tpTrainingProgress{margin:8px 0 14px}.tpTrainingProgress h3{font:29px 'Cormorant Garamond',Georgia;margin:5px 0 10px}.tpTrainingProgress progress{width:100%;height:7px;accent-color:var(--wine)}.tpTrainingInstruction{font-size:16px;line-height:1.65}.tpTrainingMap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;padding:16px;background:var(--paper-2);border:1px solid var(--line);border-radius:15px}.tpTrainingLand{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:155px;padding:12px 8px;background:var(--paper-2);border:2px solid var(--line);border-radius:13px;color:var(--ink);font:14px/1.3 'Golos Text',system-ui}.tpTrainingLand:not(:last-child):after{content:'→';position:absolute;right:-15px;color:var(--ink);font-size:21px;z-index:1}.tpTrainingLand.enemy{background:var(--paper-2);border-color:var(--line)}.tpTrainingLand.selected{border-color:var(--line);box-shadow:0 6px 24px rgb(63 37 21 / .09)}.tpTrainingIcon{font-size:30px}.tpTrainingLand small{font-size:10px;color:var(--muted)}.tpTrainingArmy{font-size:9px;letter-spacing:.04em;border-radius:5px;background:var(--paper-2);padding:5px;color:var(--ink)}.tpTrainingFeedback{padding:12px 15px;border-left:4px solid var(--line);background:var(--paper-2);font-size:14px;color:var(--ink)}.tpTrainingQuiz{position:relative;border:1px solid var(--line);background:var(--paper-2);border-radius:12px;padding:15px;margin:15px 0}.tpTrainingQuiz h4{margin:5px 85px 15px 0}.tpTrainingClock{position:absolute;top:17px;right:15px;font:800 16px 'Golos Text',system-ui;color:var(--ink)}.tpTrainingChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tpTrainingAnswer{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-height:78px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);font-size:14px}.tpTrainingAnswer span{font-size:12px}.tpTrainingResult{padding:16px;border:1px solid var(--line);background:var(--paper-2);border-radius:12px;color:var(--ink);line-height:1.6;font-weight:600}
@media(max-width:600px){.tpDialog{width:calc(100vw - 12px);max-height:calc(100dvh - 16px);padding:17px;border-radius:16px;scrollbar-gutter:auto}.tpHead{gap:9px;padding-bottom:13px}.tpHead h2{font-size:31px}.tpClose{padding:8px;font-size:11px}.tpKicker{font-size:9px}.tpIntro{font-size:13px}.tpPlan{padding:14px}.tpPlan h3{font-size:27px}.tpPlanNote{font-size:15px}.tpFields{grid-template-columns:1fr}.tpFields .tpField:last-child{grid-column:auto;max-width:none}.tpEditor{padding:13px}.tpCommandBar{padding:0 14px;margin-top:10px}.tpCommandHint{font-size:11px}.tpMapModes{padding:8px}.tpMode{padding:8px 4px;font-size:12px}.tpModeNote{font-size:10px;min-height:44px}.tpPinned{padding:8px 12px;gap:7px;align-items:flex-start}.tpPinActions{flex-direction:column;gap:4px}.tpPinActions .tpButton{padding:6px;min-height:30px}.tpPinInfo>b{font-size:12px}.tpPinInfo small{font-size:10px}.tpBriefTotals{gap:7px}.tpBriefTotals>div{font-size:13px;padding:12px}.tpTrainingInvite{margin:10px 14px 0;padding:13px;gap:8px;flex-wrap:wrap}.tpTrainingInvite>div{flex-basis:100%}.tpTrainingInvite .tpButton{font-size:12px;min-height:38px}.tpTrainingMap{padding:10px;gap:9px}.tpTrainingLand{padding:8px 4px;font-size:11px;min-height:136px;gap:6px}.tpTrainingLand:not(:last-child):after{right:-12px;font-size:17px}.tpTrainingArmy{font-size:8px;padding:4px 2px}.tpTrainingInstruction{font-size:14px}.tpTrainingQuiz{padding:11px}.tpTrainingChoices{gap:7px}.tpTrainingAnswer{padding:10px}.tpTrainingAnswer span{font-size:11px}.tpTrainingProgress h3{font-size:26px}.tpTrainingQuiz h4{font-size:13px;margin-right:60px}.tpTrainingClock{font-size:13px;right:11px}}
@media(max-height:550px){.tpPinned{max-height:84px;padding:5px 10px}.tpPinNote{display:none}.houseChatCard .tpPinned .tpPinActions{flex-direction:row}.tpTrainingInvite{display:none}.tpDialog{max-height:calc(100dvh - 10px);padding:14px}.tpHead h2{font-size:26px}.tpTrainingMap{margin:10px 0}.tpTrainingLand{min-height:110px}}
@media(prefers-reduced-motion:reduce){.tpDialog *{animation:none!important;scroll-behavior:auto!important}}

/* v0.78 — population balance */
.housePopulationBar{max-width:1680px;margin:10px auto 0;padding:0 24px;display:flex;align-items:center;gap:12px;min-width:0}
.housePopulationTitle{flex:0 0 auto;color:var(--ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.housePopulationList{display:flex;gap:7px;overflow-x:auto;padding:5px 0;scrollbar-width:thin;min-width:0}
.housePopulationChip{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);min-width:115px}
.housePopulationChip.mine{border-color:var(--line);background:var(--paper-2)}.housePopulationChip.fallen{opacity:.45}
.housePopulationChip img{width:23px;height:29px;object-fit:contain}.housePopulationChip span{display:grid;line-height:1.15}.housePopulationChip b{font-size:10px}.housePopulationChip small{font-size:9px;color:var(--muted);white-space:nowrap}
.tpJoinLocked{display:block;color:var(--ink);font-size:11px;margin-top:5px}
@media(max-width:720px){.housePopulationBar{padding:0 8px;display:block}.housePopulationTitle{display:block;margin:4px 0}.housePopulationChip{min-width:104px;padding:5px 7px}.housePopulationChip img{width:20px;height:25px}}
