/* Calm town hall: one invitation, then clear destinations. */
.game-dialog[data-panel="hall"]{width:min(650px,calc(100vw - 32px));height:min(740px,calc(100svh - 32px))}
.game-dialog[data-panel="hall"] .panel-eyebrow{display:none}
.game-dialog[data-panel="hall"] .panel-header{min-height:64px;display:flex;align-items:center}
.game-dialog[data-panel="hall"] .panel-body{padding:22px;overflow:auto}
.game-dialog[data-panel="hall"] .panel-feedback:empty{display:none}
.hall-simple{--hall-ink:#4c5650;--hall-muted:#687168;--hall-accent:#506d50;--hall-line:#d6d9ca;color:var(--hall-ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif}
.hall-simple button{font-family:inherit;cursor:pointer}.hall-simple button:disabled{cursor:default;opacity:.45}
.hall-simple svg,.settings-apple svg{width:22px;height:22px;display:block;flex-shrink:0}
.panel-back{display:inline-flex;align-items:center;gap:4px;min-height:38px;border:0;background:none;color:#526b58;padding:0;margin:0 0 14px;font:14px -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;cursor:pointer}.panel-back svg{width:17px;height:17px}
.hall-feature{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:24px;padding:25px 24px;background:#edf1e3;border:1px solid #ccd5bd;box-shadow:3px 3px 0 #dce1cf;margin-bottom:20px}
.hall-feature-art{position:relative;height:140px}.hall-feature-art>span{display:grid;place-items:center;position:absolute;width:58px;height:58px;background:#fff8e5;border:2px solid #c3b59a;box-shadow:3px 3px 0 #c9c9ae}.hall-feature-art>span:nth-child(1){top:4px;left:3px}.hall-feature-art>span:nth-child(2){top:49px;right:0;background:#d9e7db;border-color:#a3b6a2}.hall-feature-art>span:nth-child(3){bottom:0;left:1px;background:#e8e0ec;border-color:#bcacc7}.hall-feature-art>span.done{background:#cadfc7;border-color:#7d9c77}.hall-feature-art svg{width:32px;height:32px;color:#6b7967;stroke-width:1.7}.hall-feature.is-watering .hall-feature-art>span{background:#e0eaf0;border-color:#a8bac3}.hall-feature-art>span.done::after{content:'✓';position:absolute;right:-6px;top:-6px;width:21px;height:21px;display:grid;place-items:center;color:#fff;background:#6a8666;font-size:13px}
.hall-kicker{font-size:11px;color:var(--hall-muted)}.hall-feature h3{font-family:var(--pixel-type);font-size:20px;line-height:1.5;margin:8px 0;color:var(--hall-ink)}.hall-feature p{font-size:13px;line-height:1.7;margin:0 0 17px;color:var(--hall-muted)}
.hall-progress-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--hall-muted);margin-bottom:16px}.hall-progress-track{height:5px;width:82px;background:#d5ddcb;overflow:hidden}.hall-progress-track i{display:block;height:100%;background:#7d9972}
.hall-button,.hall-small-button{border:1px solid #71896a;background:#597950;color:#fff;padding:11px 18px;min-height:42px;font-size:14px;line-height:1.4;font-weight:600;box-shadow:2px 2px 0 #bcc8ab}.hall-button:hover,.hall-small-button:hover{background:#486940}.hall-small-button{padding:8px 12px;min-height:38px;font-size:12px;white-space:nowrap}.hall-quiet-button{border:0;background:none;color:#536b55;padding:10px;min-height:38px;font-size:12px;white-space:nowrap}.hall-reward{display:block;margin-top:10px;color:var(--hall-muted);font-size:11px}.hall-done{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#526e50}.hall-done svg{width:18px;height:18px}
.hall-menu{border:1px solid var(--hall-line);background:#fffcf2}.simple-row{display:flex;align-items:center;gap:13px;text-align:left;width:100%;min-width:0;border:0;background:none;color:inherit;cursor:pointer}.hall-menu .simple-row{min-height:67px;padding:13px 15px;border-bottom:1px solid #e2e3d6}.hall-menu .simple-row:last-child{border-bottom:0}.hall-menu .simple-row:hover{background:#f0f1e5}.row-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.row-copy b{font-size:14px;font-weight:600;line-height:1.4}.row-copy small{font-size:12px;line-height:1.5;color:#687168}.row-icon{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px}.hall-menu .row-icon{color:#6c8361}.row-value{font-size:12px;color:#687168;white-space:nowrap;flex-shrink:0}.row-chevron{color:#92988d;flex-shrink:0}.row-chevron svg{width:15px;height:15px}.hall-footnote{font-size:12px;text-align:center;line-height:1.6;color:var(--hall-muted);margin:18px 0 0}
.hall-section-intro{text-align:center;margin:10px 0 25px}.hall-section-intro h3{font:18px/1.5 var(--pixel-type);margin:12px 0 8px}.hall-section-intro p{color:var(--hall-muted);font-size:13px;margin:0}.hall-section-symbol{width:56px;height:56px;display:grid;place-items:center;background:#e1e9d5;margin:auto}.hall-section-symbol svg{width:31px;height:31px;color:#6e8d60}.hall-section-intro.compact{text-align:left;margin-top:0}.hall-section-intro.compact h3{font-size:17px}
.hall-materials,.hall-inventory,.hall-recipes,.hall-quest-list{border:1px solid var(--hall-line);background:#fffcf2}.hall-material,.hall-stock,.hall-recipe,.hall-quest{display:flex;align-items:center;gap:12px;padding:17px 14px;border-bottom:1px solid #e2e3d6}.hall-material:last-child,.hall-stock:last-child,.hall-recipe:last-child,.hall-quest:last-child{border-bottom:0}.hall-item-icon{font-size:27px;min-width:34px;text-align:center}.hall-material>div,.hall-stock>div:not(.hall-stock-actions),.hall-recipe>div,.hall-quest>div{flex:1;min-width:0}.hall-material b,.hall-stock b,.hall-recipe b,.hall-quest b{display:block;font-size:14px;font-weight:600}.hall-material small,.hall-stock small,.hall-recipe small,.hall-quest small{display:block;font-size:12px;color:var(--hall-muted);line-height:1.5;margin-top:4px}.hall-stock b small{display:inline;font-weight:400}.hall-quantity{font-size:12px;white-space:nowrap;color:var(--hall-muted)}.hall-stock-actions{display:flex;align-items:center;gap:4px}.hall-quest-mark{display:grid;place-items:center;width:30px;color:#8a987f;flex-shrink:0}.hall-quest-mark.ready{color:#65794f}.hall-completed{margin-top:20px;color:var(--hall-muted);font-size:13px}.hall-completed summary{cursor:pointer;min-height:36px}.hall-completed p{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px}.hall-completed svg{width:16px;height:16px}.hall-empty{padding:25px 14px;text-align:center;color:var(--hall-muted);font-size:13px}.hall-empty p{margin:0 0 18px}
.hall-segment{display:flex;padding:3px;background:#e8e9dd;border:1px solid #d7dacb;margin-bottom:18px}.hall-segment button{flex:1;min-height:38px;background:transparent;border:0;color:#687168;font-size:14px}.hall-segment button[aria-pressed="true"]{background:#fffdf2;color:#4b614e;box-shadow:0 1px 3px #6a775322}.hall-rest{text-align:center;padding:22px 15px 30px}.hall-rest>span{display:grid;place-items:center;margin:auto;width:55px;height:55px;color:#6e8d60;background:#e1e9d5}.hall-rest h3{font:18px var(--pixel-type);margin:18px 0 8px}.hall-rest p{font-size:13px;color:var(--hall-muted);margin:0 0 18px}
/* Settings uses the platform's grouped-list language, scoped to this sheet. */
.game-dialog[data-panel="settings"],.world-dialog{--settings-bg:#f5f5f7;--settings-ink:#1d1d1f;--settings-muted:#62626b;--settings-line:#e5e5ea;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;background:var(--settings-bg);color:var(--settings-ink);border:1px solid #ffffffcc;border-radius:25px;box-shadow:0 24px 80px #24243033,0 1px 3px #00000012;width:min(520px,calc(100vw - 32px));height:min(800px,calc(100svh - 32px));max-height:calc(100svh - 32px);overflow:hidden}
.game-dialog[data-panel="settings"]::backdrop,.world-dialog::backdrop{background:#24252c38;backdrop-filter:blur(5px)}
.game-dialog[data-panel="settings"] .panel-header,.world-dialog .panel-header{background:transparent;border:0;padding:24px 24px 12px;min-height:70px;flex-shrink:0}.game-dialog[data-panel="settings"] .panel-eyebrow{display:none}.game-dialog[data-panel="settings"] .panel-header h2,.world-dialog .panel-header h2{font:700 27px/1.3 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;letter-spacing:-.7px;color:var(--settings-ink);padding-right:30px}
.game-dialog[data-panel="settings"] .close-button,.world-dialog .close-button{top:22px;right:22px;width:30px;height:30px;border:0;background:#e7e7ec;box-shadow:none;border-radius:50%;color:#68686f}.game-dialog[data-panel="settings"] .close-button svg,.world-dialog .close-button svg{width:15px;height:15px}
.game-dialog[data-panel="settings"] .panel-body{padding:10px 20px 24px;overflow:auto;scrollbar-width:thin}.game-dialog[data-panel="settings"] .panel-feedback:empty{display:none}.game-dialog[data-panel="settings"] .panel-feedback{background:transparent;border-top:1px solid #dedee5;font:12px/1.5 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:#62626b;padding:10px 22px}
.game-dialog[data-panel="settings"] button{font-family:inherit}.settings-apple{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif}.settings-profile{width:100%;min-height:82px;display:flex;align-items:center;gap:14px;border:0;border-radius:16px;padding:14px;background:#fff;color:#1d1d1f;text-align:left;cursor:pointer;margin-bottom:24px}.settings-avatar{width:52px;height:52px;display:block;overflow:hidden;border-radius:14px;background:#e6e9dc;flex-shrink:0}.settings-avatar img{width:100%;height:100%;object-fit:cover}.settings-avatar canvas{width:100%;height:100%;image-rendering:pixelated;object-fit:cover}.settings-profile>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.settings-profile b{font-size:19px;line-height:1.4;overflow-wrap:anywhere}.settings-profile small{color:#62626b;font-size:12px}
.settings-section{margin:0 0 22px}.game-dialog[data-panel="settings"] .settings-section>h3{font:500 12px/1.4 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;margin:0 0 8px;padding:0 14px;color:#62626b;letter-spacing:0}.settings-group{background:#fff;border-radius:15px;overflow:hidden}.settings-group .simple-row{position:relative;min-height:54px;padding:10px 14px;gap:12px;color:#1d1d1f}.settings-group .simple-row:not(:last-child)::after{content:'';position:absolute;height:1px;background:#e5e5ea;bottom:0;left:58px;right:0;transform:scaleY(.65)}.settings-group .simple-row:hover,.settings-profile:hover{background:#f9f9fb}.settings-group .simple-row:active{background:#efeff3}.settings-group .row-copy b{font-size:14px;font-weight:400}.settings-group .row-copy small,.settings-group .row-value{color:#62626b;font-size:12px}.settings-group .row-value{max-width:46%;overflow:hidden;text-overflow:ellipsis}.settings-group .row-chevron{color:#92929b}.settings-group .row-icon{width:30px;height:30px;border-radius:8px}.settings-group .row-icon svg{width:18px;height:18px}.row-icon.sage{background:#e1ebe1;color:#486d4e}.row-icon.rose{background:#f3e2e7;color:#97576b}.row-icon.ochre{background:#f5ebd4;color:#8b662c}.row-icon.blue{background:#e1eaf5;color:#456d99}.row-icon.lilac{background:#eae4f4;color:#7a609c}.row-icon.gray{background:#e9e9ef;color:#62626e}.settings-count{display:grid;place-items:center;background:#84607d;color:#fff;min-width:21px;height:21px;border-radius:12px;font-size:11px;padding:0 6px}
.apple-switch{display:block;width:44px;height:27px;position:relative;background:#d5d5db;border-radius:16px;flex-shrink:0;transition:background .18s}.apple-switch i{display:block;position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s}.settings-switch[aria-checked="true"] .apple-switch{background:#547e60}.settings-switch[aria-checked="true"] .apple-switch i{transform:translateX(17px)}.settings-note{font-size:12px!important;color:#62626b;padding:0 13px;line-height:1.7!important}.settings-warning{font-size:12px;line-height:1.7;background:#fff0cc;border:1px solid #e2cd91;color:#745c22;border-radius:12px;padding:13px;margin:0 0 18px}.settings-empty{font-size:14px;color:#62626b;text-align:center;padding:30px 16px}.settings-unblock{min-height:54px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e5ea}.settings-unblock:last-child{border:0}.settings-inline-button{border:0;background:#eef2ed;color:#466d4b;border-radius:8px;min-height:34px;padding:7px 10px;font-size:12px;cursor:pointer}.settings-about{padding:25px 18px;text-align:center}.settings-about-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:#e6ecdf;color:#5c7854;margin:0 auto 16px}.settings-about-icon svg{width:30px;height:30px}.settings-about b{font-size:16px;font-weight:600}.settings-about p{font-size:13px;color:#62626b;margin:12px 0 0;line-height:1.8}.settings-apple .panel-back{color:#486d4e;margin-bottom:10px}
.world-dialog[open]{display:flex;flex-direction:column}.world-dialog .panel-header{padding-top:17px;min-height:99px}.world-dialog .panel-header h2{font-size:25px;margin-top:7px}.world-settings-back{border:0;background:transparent;color:#466d4b;font:14px -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;padding:0;min-height:26px;cursor:pointer}.world-dialog .world-options{padding:10px 20px 24px;overflow:auto;min-height:0;font-family:inherit;flex:1}.world-dialog button,.world-dialog select{font-family:inherit}.world-settings-section{margin-bottom:23px}.world-settings-section>h3{font:500 12px -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:#62626b;margin:0 0 8px;padding:0 14px}.world-theme-list{background:#fff;border-radius:15px;overflow:hidden}.world-dialog .world-theme-row{width:100%;border:0;background:#fff;min-height:51px;padding:9px 14px;display:flex;gap:12px;align-items:center;text-align:left;color:#1d1d1f;font-size:14px;cursor:pointer}.world-theme-row+.world-theme-row{border-top:1px solid #eeeef2!important}.world-dialog .world-theme-row:hover{background:#fafafa}.world-theme-swatch{display:block;position:relative;width:31px;height:31px;border-radius:7px;overflow:hidden;background:var(--theme-grass);flex-shrink:0}.world-theme-swatch:before{content:'';position:absolute;left:9px;top:13px;width:15px;height:13px;background:var(--theme-wall)}.world-theme-swatch:after{content:'';position:absolute;left:6px;top:8px;width:21px;height:7px;background:var(--theme-roof);box-shadow:3px -3px 0 -1px var(--theme-roof)}.world-theme-name{flex:1}.world-theme-check{width:21px;height:21px;display:grid;place-items:center;color:#4d7453;visibility:hidden}.world-theme-row[aria-pressed="true"] .world-theme-check{visibility:visible}.world-theme-check svg{width:20px;height:20px}
.world-weather-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.world-dialog .weather-pill{min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid transparent;border-radius:12px;color:#62626b;font-size:12px;cursor:pointer}.weather-pill>span{font-size:21px;line-height:1}.world-dialog .weather-pill[aria-pressed="true"]{background:#e7eee4;border-color:#a2b59a;color:#42633e}.world-advanced{border-radius:15px;background:#fff}.world-advanced summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;cursor:pointer;font-size:14px;color:#1d1d1f;list-style:none}.world-advanced summary::-webkit-details-marker{display:none}.world-advanced summary>span{color:#8e8e97;font-size:18px}.world-advanced[open] summary>span{transform:rotate(90deg)}.world-advanced label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:12px 15px;border-top:1px solid #eeeef2}.world-dialog .world-advanced select{width:auto;min-width:0;max-width:65%;border:0;background:#f2f2f7;box-shadow:none;border-radius:7px;color:#62626b;font-size:12px;padding:8px}.world-replay{display:block;width:100%;border:0;border-top:1px solid #eeeef2;background:none;min-height:48px;text-align:left;padding:12px 15px;color:#466d4b;font-size:13px;cursor:pointer}.world-advanced .settings-note{font-size:11px!important;margin:0;padding:0 15px 13px}.world-dialog .settings-note{margin-top:17px}
@media(max-width:600px){.game-dialog[data-panel="hall"]{width:calc(100vw - 22px);height:min(740px,calc(100svh - 24px));max-height:calc(100svh - 24px)}.game-dialog[data-panel="hall"] .panel-header{min-height:58px}.game-dialog[data-panel="hall"] .panel-body{padding:16px 13px}.hall-feature{grid-template-columns:75px minmax(0,1fr);gap:15px;padding:20px 15px}.hall-feature-art{height:126px}.hall-feature-art>span{width:47px;height:47px}.hall-feature-art>span:nth-child(2){top:43px}.hall-feature-art svg{width:27px;height:27px}.hall-feature h3{font-size:16px;margin:6px 0 9px}.hall-feature p{font-size:12px;line-height:1.6}.hall-kicker{font-size:11px}.hall-progress-line{gap:7px;font-size:11px}.hall-progress-track{width:58px}.hall-button{font-size:13px;padding:10px 15px}.hall-menu .simple-row{min-height:64px;padding:12px;gap:10px}.hall-menu .row-copy b{font-size:13px}.hall-menu .row-copy small{font-size:11px}.hall-material,.hall-stock,.hall-recipe,.hall-quest{gap:9px;padding:15px 10px}.hall-material b,.hall-stock b,.hall-recipe b,.hall-quest b{font-size:13px}.hall-item-icon{font-size:23px;min-width:28px}.hall-material small,.hall-stock small,.hall-recipe small,.hall-quest small{font-size:11px}.hall-small-button{font-size:11px;padding:8px 9px}.hall-quantity{font-size:11px}.hall-quiet-button{font-size:11px;padding:9px 5px}.hall-quest-mark{width:23px}.hall-stock-actions{gap:3px}.game-dialog[data-panel="settings"],.world-dialog{width:calc(100vw - 22px);height:min(820px,calc(100svh - 24px));max-height:calc(100svh - 24px);border-radius:22px;box-shadow:0 16px 60px #24243033}.game-dialog[data-panel="settings"] .panel-header{padding:21px 20px 12px;min-height:69px}.game-dialog[data-panel="settings"] .panel-header h2{font-size:26px}.game-dialog[data-panel="settings"] .panel-body,.world-dialog .world-options{padding:8px 13px 22px}.settings-profile{min-height:78px;padding:13px;margin-bottom:20px;gap:12px}.settings-section{margin-bottom:19px}.settings-group .simple-row{padding:10px 12px;min-height:54px}.settings-group .row-copy b{font-size:14px}.settings-group .row-value{font-size:11px;max-width:43%}.settings-group .simple-row:not(:last-child)::after{left:56px}.world-dialog .panel-header{padding:15px 20px 11px}.world-theme-list .world-theme-row{min-height:51px}.world-weather-options{gap:6px}.world-dialog .weather-pill{min-height:62px}.world-settings-section{margin-bottom:21px}}
@media(prefers-reduced-motion:reduce){.apple-switch,.apple-switch i{transition:none}}
