:root{--px-ink:#110c08;--px-wood:#2b2118;--px-wood-dark:#231a13;--px-grain:repeating-linear-gradient(0deg, #2b2118 0 22px, #231a13 22px 24px);--px-inset:#1a130d;--px-groove:#3f3022;--px-brass:#8a6a3e;--px-gold:#e8b64c;--px-gold-text:#f3d17a;--px-text:#e7d8bc;--px-muted:#9d8c6e;--px-raised:#45362a;--px-raised-hover:#54422f;--px-raised-hi:#6a5439;--px-raised-lo:#2a1f15;--px-active:#5c4527;--px-notch:polygon(0 3px, 3px 3px, 3px 0, calc(100% - 3px) 0, calc(100% - 3px) 3px, 100% 3px, 100% calc(100% - 3px), calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) 100%, 3px 100%, 3px calc(100% - 3px), 0 calc(100% - 3px));--px-frame-shadow:inset 0 0 0 2px var(--px-brass), inset 0 0 0 4px #00000059, 0 6px 0 #00000073, 0 18px 48px #0000008c;--px-raised-shadow:inset 2px 2px 0 var(--px-raised-hi), inset -2px -3px 0 var(--px-raised-lo);--px-pressed-shadow:inset 2px 3px 0 var(--px-raised-lo), inset -2px -2px 0 var(--px-raised-hi);--px-sunken-shadow:inset 2px 2px 0 #00000073, inset -1px -1px 0 #ffffff0f;--dialog-surface:var(--px-wood);--dialog-inset:var(--px-inset);--dialog-hover:#3a2c1e;--dialog-border:var(--px-brass);--dialog-text:var(--px-text);--dialog-muted:var(--px-muted);--dialog-accent:var(--px-gold-text);--dialog-backdrop:#0a0704bd;--dialog-font:ui-monospace, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}#root{flex-direction:column;width:100vw;height:100dvh;display:flex}.world-tool-search{border:1px solid var(--dialog-border);width:min(540px,100vw - 32px);max-height:min(640px,100dvh - 48px);color:var(--dialog-text);background:var(--dialog-surface);font:13px/1.5 var(--dialog-font);border-radius:6px;margin:auto;padding:20px;overflow:hidden;box-shadow:0 18px 64px #00000080}.world-tool-search::backdrop{background:var(--dialog-backdrop)}.world-tool-search header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.world-tool-search header span{letter-spacing:2px;color:var(--dialog-accent);font-size:10px}.world-tool-search h2{font:600 19px/1.4 var(--dialog-font);margin:5px 0 0}.world-tool-search header button{border:1px solid var(--dialog-border);background:var(--dialog-inset);width:34px;height:34px;color:inherit;cursor:pointer;border-radius:4px;flex-shrink:0;font-size:22px}.world-tool-search input{box-sizing:border-box;width:100%;color:var(--dialog-text);background:var(--dialog-inset);border:1px solid var(--dialog-border);font:inherit;border-radius:4px;padding:13px}.world-tool-search input:focus-visible,.world-tool-search button:focus-visible{outline:2px solid var(--dialog-accent);outline-offset:2px}.tool-search-count{color:var(--dialog-muted);margin:12px 0;font-size:12px}.tool-search-results{overscroll-behavior:contain;scrollbar-color:#755a3f var(--dialog-inset);scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:min(380px,100dvh - 250px);padding:3px;display:grid;overflow-y:auto}.tool-search-results button{text-align:left;font:inherit;background:var(--dialog-inset);min-height:66px;color:inherit;cursor:pointer;border:1px solid #443329;border-radius:4px;align-items:center;gap:9px;padding:10px;display:flex}.tool-search-results button:hover{background:var(--dialog-hover);border-color:var(--dialog-accent)}.tool-search-results strong{text-transform:capitalize;font-size:13px;display:block}.tool-search-results small{color:var(--dialog-muted);font-size:10px;display:block}.tool-search-results button>span:last-child{color:var(--dialog-accent);margin-left:auto}.tool-search-icon{font-size:21px}.tool-search-empty{color:var(--dialog-muted);padding:20px 0}@media (width<=480px){.world-tool-search{padding:16px}.tool-search-results{grid-template-columns:1fr}}.world-tool-search input::placeholder{color:var(--dialog-muted);opacity:.8}.tool-search-results button>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.tool-search-icon{flex-shrink:0}.lang-modal-backdrop{background:var(--dialog-backdrop)}.thb-modal[class]{z-index:101;background:var(--dialog-surface);color:var(--dialog-text);border:2px solid var(--px-ink);font-family:var(--dialog-font);max-width:calc(100vw - 24px - var(--safe-left) - var(--safe-right));max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));box-shadow:var(--px-frame-shadow);scrollbar-color:var(--px-brass) var(--dialog-inset);scrollbar-width:thin;border-radius:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.thb-modal :is(.lang-modal-header,.cv-modal-head,.worlds-head){background:var(--px-grain);border-bottom:2px solid var(--px-ink);box-shadow:inset 0 -2px 0 var(--px-brass);flex-wrap:wrap;gap:10px;min-height:52px}.thb-modal :is(.lang-modal-title,.cv-modal-title,.worlds-title){color:var(--dialog-accent);letter-spacing:.14em;text-shadow:0 2px #000;font-size:12px;font-weight:700;line-height:1.5}.thb-modal :is(.lang-modal-sub,.tree-modal-sub){color:var(--dialog-muted);font-size:11px;line-height:1.5}.thb-modal :is(.lang-modal-body,.cv-modal-body){overscroll-behavior:contain;min-height:0}.thb-modal .close-btn{min-width:32px;min-height:32px;color:var(--dialog-text);border-radius:0}.thb-modal .close-btn:hover{color:#ffd9cf;background:#6a2d24}.thb-modal :is(button,input,select,textarea):focus-visible{outline:2px solid var(--px-gold);outline-offset:-4px}@media (width<=600px){.thb-modal :is(.lang-modal-header,.cv-modal-head,.worlds-head){padding:10px 12px}}.thb-modal .filter-chip{color:var(--dialog-muted);border-radius:0}.thb-modal .filter-chip.active{background:var(--px-active);border-color:var(--px-gold);color:var(--dialog-accent)}.thb-modal .org-search-entry.selected{background:var(--dialog-hover)}.thb-modal :is(.org-search-thought,.org-search-placeholder,.org-search-empty){color:var(--dialog-muted);font-size:11px;line-height:1.5}.thb-modal .org-search-placeholder{text-align:center;padding:24px}.thb-modal-grabber{display:none}@media (width<=767px){.thb-modal[class].thb-modal--sheet>.thb-modal-grabber{z-index:2;touch-action:none;cursor:grab;flex-shrink:0;width:120px;height:32px;margin:0 auto -32px;display:block;position:sticky;top:0}.thb-modal-grabber:before{content:"";background:var(--px-brass);opacity:.8;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}}.shepherd-button{color:#ffffffbf;cursor:pointer;background:#3288e6;border:0;border-radius:3px;margin-right:.5rem;padding:.5rem 1.5rem;transition:all .5s}.shepherd-button:not(:disabled):hover{color:#ffffffbf;background:#196fcc}.shepherd-button.shepherd-button-secondary{color:#000000bf;background:#f1f2f3}.shepherd-button.shepherd-button-secondary:not(:disabled):hover{color:#000000bf;background:#d6d9db}.shepherd-button:disabled{cursor:not-allowed}.shepherd-footer{border-bottom-right-radius:5px;border-bottom-left-radius:5px;justify-content:flex-end;padding:0 .75rem .75rem;display:flex}.shepherd-footer .shepherd-button:last-child{margin-right:0}.shepherd-cancel-icon{color:#808080bf;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:2em;font-weight:400;transition:color .5s}.shepherd-cancel-icon:hover{color:#000000bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon{color:#808080bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon:hover{color:#000000bf}.shepherd-title{color:#000000bf;flex:1 0 auto;margin:0;padding:0;font-size:1rem;font-weight:400;display:flex}.shepherd-header{border-top-left-radius:5px;border-top-right-radius:5px;justify-content:flex-end;align-items:center;padding:.75rem .75rem 0;line-height:2em;display:flex}.shepherd-has-title .shepherd-content .shepherd-header{background:#e6e6e6;padding:1em}.shepherd-text{color:#000000bf;padding:.75em;font-size:1rem;line-height:1.3em}.shepherd-text p{margin-top:0}.shepherd-text p:last-child{margin-bottom:0}.shepherd-content{border-radius:5px;outline:none;padding:0}.shepherd-element{opacity:0;visibility:hidden;z-index:9999;background:#fff;border:none;border-radius:5px;outline:none;width:100%;max-width:400px;margin:0;padding:0;transition:opacity .3s,visibility .3s;box-shadow:0 1px 4px #0003}.shepherd-enabled.shepherd-element{opacity:1;visibility:visible}.shepherd-element[data-popper-reference-hidden]:not(.shepherd-centered){opacity:0;pointer-events:none;visibility:hidden}.shepherd-element,.shepherd-element *,.shepherd-element :after,.shepherd-element :before{box-sizing:border-box}.shepherd-arrow,.shepherd-arrow:before{z-index:-1;width:16px;height:16px;position:absolute}.shepherd-arrow:before{content:"";background:#fff;transform:rotate(45deg)}.shepherd-element[data-popper-placement^=top]>.shepherd-arrow{bottom:-8px}.shepherd-element[data-popper-placement^=bottom]>.shepherd-arrow{top:-8px}.shepherd-element[data-popper-placement^=left]>.shepherd-arrow{right:-8px}.shepherd-element[data-popper-placement^=right]>.shepherd-arrow{left:-8px}.shepherd-element.shepherd-centered>.shepherd-arrow{opacity:0}.shepherd-element.shepherd-has-title[data-popper-placement^=bottom]>.shepherd-arrow:before{background-color:#e6e6e6}.shepherd-target-click-disabled.shepherd-target-click-disabled.shepherd-target-click-disabled,.shepherd-target-click-disabled.shepherd-target-click-disabled.shepherd-target-click-disabled *{pointer-events:none}.shepherd-modal-overlay-container{opacity:0;pointer-events:none;z-index:9997;width:100vw;height:0;transition:all .3s ease-out,height 0s .3s,opacity .3s;position:fixed;top:0;left:0;overflow:hidden}.shepherd-modal-overlay-container.shepherd-modal-is-visible{opacity:.5;height:100vh;transition:all .3s ease-out,height,opacity .3s;transform:translateZ(0)}.shepherd-modal-overlay-container.shepherd-modal-is-visible path{pointer-events:all}*{box-sizing:border-box;margin:0;padding:0}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--dock-h:0px;--toast-clearance:calc(max(var(--dock-h) + var(--dock-lift,0px), var(--safe-bottom)) + 12px)}body{color:#ccc;background:#28201a;height:100dvh;font-family:monospace;overflow:hidden}html,body{overscroll-behavior:none}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button,[role=button]{touch-action:manipulation;-webkit-touch-callout:none}.map2d-world{-webkit-touch-callout:none}:focus{outline:none}@media (pointer:coarse){:is(input,textarea,select):not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=color],.civ-guide-select,.tribe-card-name-input){font-size:16px!important}}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #d8c89a}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.thb-app-minimized canvas{visibility:hidden}body.thb-app-minimized *,body.thb-app-minimized :before,body.thb-app-minimized :after{animation-play-state:paused!important}.cmd-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#00000080;justify-content:center;align-items:flex-start;padding-top:14vh;animation:.12s ease-out thb-cmd-fade;display:flex;position:fixed;inset:0}@media (pointer:coarse),(width<=767px){.cmd-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000009e}}@keyframes thb-cmd-fade{0%{opacity:0}to{opacity:1}}.cmd-panel{background:#1f1812;border:1px solid #443329;border-radius:8px;flex-direction:column;width:540px;max-width:calc(100vw - 32px);max-height:70vh;animation:.14s cubic-bezier(.2,.9,.3,1.1) thb-cmd-pop;display:flex;overflow:hidden;box-shadow:0 24px 64px #000000a6}@keyframes thb-cmd-pop{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-input{color:#f5e9d4;background:0 0;border:0;border-bottom:1px solid #2f241c;outline:0;padding:16px 18px;font:14px/1.4 monospace}.cmd-input::placeholder{color:#6e6555}.cmd-list{max-height:50vh;padding:4px 0;overflow-y:auto}.cmd-row{cursor:pointer;border-left:2px solid #0000;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 18px;display:flex}.cmd-row-active{background:#2a2018;border-left-color:#6b8e5a}.cmd-label{color:#f5e9d4;font-size:12px}.cmd-hint{color:#8c7c63;font-size:10px;font-style:italic}.cmd-empty{text-align:center;color:#6e6555;padding:18px;font-size:11px;font-style:italic}.headline-ticker{white-space:nowrap;color:#d6c4a5;z-index:90;background:linear-gradient(#1a140e,#28201a);border-bottom:1px solid #443329;height:24px;font-size:11px;position:relative;overflow:hidden}.headline-ticker-track{will-change:transform;padding-left:100%;animation:60s linear infinite thb-ticker;display:inline-block}@keyframes thb-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.headline-ticker-item{letter-spacing:.03em;padding:4px 36px 4px 12px;display:inline-block}.headline-ticker-glyph{color:#6b8e5a;margin-right:8px}body.thb-photo-mode .headline-ticker{display:none}.cmd-footer{color:#6e6555;letter-spacing:.04em;border-top:1px solid #2f241c;padding:8px 14px;font-size:10px}.app{flex-direction:column;height:100dvh;display:flex}.header{z-index:100;background:#28201a;border-bottom:1px solid #443329;align-items:center;gap:10px;padding:10px 16px;display:flex;position:relative;overflow:visible}.thb-desktop-mac .header{padding-left:112px}.mac-update-btn{display:none}.thb-desktop-mac .mac-update-btn{color:#bfae90;cursor:pointer;-webkit-app-region:no-drag;background:#14100cb3;border:1px solid #443329;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:50%;left:74px;transform:translateY(-50%)}.thb-desktop-mac .mac-update-btn:hover{color:#f0d088;background:#3a2d22e0;border-color:#6a543f}.thb-desktop-mac .mac-update-btn:disabled{cursor:default;opacity:.6}.thb-desktop-mac .mac-update-btn.checking{animation:.9s linear infinite thb-update-spin}@keyframes thb-update-spin{to{transform:translateY(-50%)rotate(360deg)}}.header-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-badges{flex-shrink:1;align-items:center;gap:6px;display:flex;overflow:hidden}.header-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.panel-toggle-btn{color:#8f8272;cursor:pointer;background:0 0;border:1px solid #513d2e;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;min-height:26px;padding:3px 7px;font:10px monospace;transition:color .12s,border-color .12s,background .12s;display:flex}.panel-toggle-btn:hover,.panel-toggle-btn[aria-pressed=true]{color:#e0cfb0;background:#32271f;border-color:#755a38}.fullscreen-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #513d2e;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:8px;font-size:14px;transition:all .12s;display:flex}.fullscreen-btn:hover{color:#aaa;background:#32271f;border-color:#555}.header h1{letter-spacing:.1em;text-transform:uppercase;color:#fff;font-size:14px;font-weight:600}.github-link{color:#888;letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;text-decoration:none;transition:color .12s;display:flex}.github-link:hover{color:#ccc}.github-icon{fill:currentColor;flex-shrink:0;width:14px;height:14px}.status{border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;display:flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status.online{color:#5d5;background:#1a3a1a}.status.offline{color:#c55;background:#2a1a1a}.tick{color:#999;font-size:11px}.fire-badge{color:#f62;background:#2a1400;border-radius:4px;padding:2px 8px;font-size:11px}.population-badge{color:#b8d6a1;white-space:nowrap;background:#182218;border:1px solid #2f442e;border-radius:4px;padding:2px 7px;font-size:11px}.population-badge.near-limit{color:#f0c860;background:#2a2110;border-color:#665128}.lineage-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-left:4px;display:flex}.lineage-chip{color:#ccc;cursor:pointer;letter-spacing:.03em;background:#1d1812;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-family:inherit;font-size:11px;line-height:1.3;transition:background .12s,border-color .12s;display:inline-flex}.lineage-chip:hover{background:#2a2218;border-color:#ffffff2e}.lineage-chip.active{color:#fff;background:#32271f;border-color:#ffdc8c73}.lineage-chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.lineage-chip-label{font-weight:500}.lineage-chip-count{color:#fff;opacity:.85;font-weight:600}@keyframes pulse-drought{0%,to{opacity:1}50%{opacity:.55}}.era-badge{text-transform:uppercase;letter-spacing:.08em;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.era-badge.era-abundance{color:#6e4;background:#0a2200}.era-badge.era-expansion{color:#4ae;background:#0a1a22}.era-badge.era-decline{color:#d93;background:#221200}.era-badge.era-collapse{color:#f42;background:#220500;animation:1.5s ease-in-out infinite pulse-drought}.era-badge.era-drought{color:#d72;background:#2a1400;animation:1.5s ease-in-out infinite pulse-drought}.era-badge.era-extinction{color:#f20;background:#1a0000;animation:.8s ease-in-out infinite pulse-drought}.main{flex:1;min-height:0;display:flex;overflow:hidden}.layout{width:100%;height:100%;padding:0;padding-left:var(--safe-left);padding-right:var(--safe-right);gap:0;display:flex;overflow:hidden}.waiting{color:#aaa;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;padding:24px;font-size:13px;display:flex}.waiting-spinner{border:2px solid #d8c89a26;border-top-color:#d8c89a;border-radius:50%;width:32px;height:32px;animation:1.1s linear infinite waiting-spin}@keyframes waiting-spin{to{transform:rotate(360deg)}}.waiting-title{letter-spacing:.08em;color:#d8c89a;text-transform:uppercase;font-size:13px}.waiting-sub{color:#877966;max-width:380px;font-size:11px;line-height:1.5}.panel{flex-direction:column;flex-shrink:0;gap:8px;padding:8px 10px;display:flex;overflow-y:auto}.panel-left{border-right:none;flex-shrink:0;width:0;padding:0;transition:width .22s;overflow:hidden}.panel-left.open{border-right:1px solid #372a21;width:210px;padding:8px 10px;overflow-y:auto}.panel-overlay-left{display:none}.lang-btn .btn-icon+.btn-label,.panel-toggle-btn .btn-icon+.btn-label{margin-left:4px}.panel-right{border-left:none;width:0;padding:0;transition:width .22s;overflow:hidden}.panel-right.open{border-left:1px solid #372a21;width:300px;padding:8px 10px;overflow-y:auto}.section-title{color:#888;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #3b2d22;padding:4px 0 2px;font-size:9px}.lineage-list{flex-direction:column;gap:4px;display:flex}.lineage-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:3px 4px;font-family:inherit;font-size:10px;display:flex}.lineage-row.active{background:#1d1612;border-color:#6a5340}.lineage-row.active .lineage-id{color:#ffe0a0}.lineage-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.lineage-id{color:#ccc;flex:1}.lineage-count{color:#fff;text-align:right;white-space:nowrap;min-width:18px;font-weight:600}.lineage-row.peril .lineage-id,.lineage-row.peril .lineage-count{color:#ffb3a3}.lineage-peril{color:#ff7a66;margin-right:3px}.lineage-gen{color:#999;text-align:right;width:36px}.lineage-faith{color:#d9b45a;text-align:right;width:22px;font-size:9px}.lineage-faith.low{color:#8f8579}.lineage-eldest{color:#9fb7c9;white-space:nowrap;cursor:default;font-size:9px}.lineage-faith.blessed{color:#ffe08a;text-shadow:0 0 4px #ffd66ebf}.lineage-faith.despair{color:#9a8f86;font-style:italic}.lineage-strat{color:#9ac;letter-spacing:.05em;text-align:right;width:52px;font-size:8px}.view-all-btn{color:#aaa;letter-spacing:.05em;cursor:pointer;text-align:center;background:0 0;border:1px solid #ffffff1f;border-radius:3px;width:100%;margin-top:2px;padding:3px 6px;font-size:9px;transition:border-color .15s,color .15s}.view-all-btn:hover{color:#fff;border-color:#ffffff4d}.world-footer{border-top:1px solid #333;flex-direction:column;gap:4px;margin-top:12px;padding-top:8px;display:flex}.world-footer .footer-row{color:#ccc;align-items:center;gap:8px;font-size:10px;display:flex}.world-footer .footer-label{color:#888;text-transform:uppercase;letter-spacing:.5px;flex:0 0 60px;font-size:9px}.world-footer .footer-value{color:#ddd;font-variant-numeric:tabular-nums}.world-footer .era-tag{color:#afd;letter-spacing:1px;font-weight:600}.world-footer .footer-bar{background:#1f1f1f;border-radius:2px;flex:1;height:4px;overflow:hidden}.world-footer .footer-bar-fill{background:linear-gradient(90deg,#4a4a3a,#b39c66);height:100%}.world-footer .mood{gap:8px;display:inline-flex}.world-footer .mood-ally{color:#7fce7f}.world-footer .mood-rivals{color:#d97777}.world-footer .mood-neutral{color:#888}.event-log{flex-direction:column;gap:2px;display:flex;overflow:hidden}.event-row{cursor:pointer;align-items:baseline;gap:4px;font-size:9px;line-height:1.4;display:flex}.event-row:hover .event-actor,.event-row:focus-visible .event-actor{text-decoration:underline}.event-tick{color:#777;flex-shrink:0;width:38px}.event-icon{flex-shrink:0;width:10px;font-style:normal}.event-actor{color:#ccc;flex-shrink:0;width:56px;overflow:hidden}.event-detail{color:#999;white-space:nowrap;overflow:hidden}.org-card{background:#2c231f;border:1px solid #3f2f23;border-radius:4px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.org-card.dead{opacity:.4;padding:6px 10px}.org-header{align-items:baseline;gap:6px;display:flex}.org-name{color:#fff;font-size:12px;font-weight:600}.org-surname{color:#c9bfd8;font-weight:400}.org-role{color:#89c;letter-spacing:.06em;background:#1a1a2a;border-radius:3px;padding:1px 4px;font-size:8px}.org-meta{color:#888;margin-left:auto;font-size:9px}.org-thought{color:#8bbdcc;min-height:13px;font-size:10px;font-style:italic}.bar-row{align-items:center;gap:5px;display:flex}.bar-label{color:#888;width:10px;font-size:8px}.bar-track{background:#3f2f23;border-radius:2px;flex:1;height:3px;overflow:hidden}.bar-fill{border-radius:2px;height:100%;transition:width .15s}.bar-pct{color:#999;text-align:right;width:24px;font-size:8px}.org-memory{gap:6px;display:flex}.org-memory span{color:#777;font-size:8px}.org-attitudes{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.attitude-tag{font-family:monospace;font-size:8px}.org-attributes{flex-wrap:wrap;gap:3px;margin-top:3px;margin-bottom:1px;display:flex}.org-attr-tag{color:#b8a080;letter-spacing:.03em;background:#1e1810;border:1px solid #3a2e1e;border-radius:2px;padding:1px 4px;font-family:monospace;font-size:7px}.org-attr-more{color:#654;border-color:#2a2010}.trait-grid{grid-template-columns:repeat(6,1fr);gap:2px;margin-top:3px;display:grid}.trait-bar-track{background:#3f2f23;border-radius:1px;height:3px;overflow:hidden}.trait-bar-fill{border-radius:1px;height:100%}.trait-labels{color:#777;text-align:center;grid-template-columns:repeat(6,1fr);gap:2px;margin-top:1px;font-size:7px;display:grid}.org-card.sick{background:#121a00}.org-sick-badge{color:#bf4;background:#1a2200;border-radius:2px;padding:1px 4px;font-size:8px}.org-title-badge{color:#e8c46a;white-space:nowrap;background:#e8c46a1a;border-radius:2px;padding:1px 5px;font-size:9px}.org-sex-badge{letter-spacing:.02em;background:#ffffff0d;border-radius:2px;padding:1px 4px;font-family:monospace;font-size:8px;font-weight:600}.org-pregnant-badge{color:#f0c8d8;background:#c850782e;border-radius:2px;padding:1px 4px;font-size:8px;animation:2s ease-in-out infinite pulse-soft}@keyframes pulse-soft{0%,to{opacity:.85}50%{opacity:1}}.org-attraction{color:#e8c84a;opacity:.8;padding:2px 0 1px;font-size:9px;font-style:italic}.org-action-btns{gap:3px;margin-left:auto;display:flex}.org-action-btn{color:#999;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;padding:1px 5px;font-size:9px;line-height:1.4;transition:background .15s,color .15s}.org-action-btn:hover{color:#fff;background:#ffffff24}.org-track-btn{font-size:11px;font-weight:700}.org-convo-btn{letter-spacing:.01em}.cv-modal{background:#13110f;border:1px solid #2e2820;border-radius:10px;flex-direction:column;width:1200px;max-width:96vw;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}.cv-modal-head{background:#181410;border-bottom:1px solid #2e2820;flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.cv-modal-title{letter-spacing:.14em;color:#665;text-transform:uppercase;flex-shrink:0;font-size:9px;font-weight:800}.cv-modal-who{flex-wrap:wrap;flex:1;align-items:center;gap:4px;font-size:11px;display:flex}.cv-modal-body{flex-direction:column;flex:1;gap:2px;padding:14px 16px;display:flex;overflow-y:auto}.cv-list{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:stretch;gap:14px;display:grid}.cv-empty{flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.cv-loading-dot{letter-spacing:4px;color:#888;font-size:22px;animation:1.1s ease-in-out infinite cv-loading-pulse}@keyframes cv-loading-pulse{0%,to{opacity:.35}50%{opacity:1}}.cv-block{background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;height:420px;min-height:0;padding:10px 12px 12px;display:flex}.cv-block-head{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;margin-bottom:10px;display:flex}.cv-kind-icon{flex-shrink:0;font-size:13px}.cv-kind-label{letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:9px;font-weight:700}.cv-participants{flex:1;align-items:center;gap:5px;font-size:10px;display:flex}.cv-sep{color:#445;font-size:9px}.cv-day{color:#445;flex-shrink:0;margin-left:auto;font-size:8px}.cv-lines{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.cv-lines::-webkit-scrollbar{width:6px}.cv-lines::-webkit-scrollbar-track{background:0 0}.cv-lines::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.cv-lines::-webkit-scrollbar-thumb:hover{background:#ffffff26}.cv-line{display:flex}.cv-line-self{justify-content:flex-start}.cv-line-other{justify-content:flex-end}.cv-bubble-wrap{flex-direction:column;max-width:78%;display:flex}.cv-line-self .cv-bubble-wrap{align-items:flex-start}.cv-line-other .cv-bubble-wrap{align-items:flex-end}.cv-speaker{letter-spacing:.04em;margin-bottom:2px;font-family:monospace;font-size:8.5px;font-weight:700}.cv-bubble{background:#ffffff0a;border:1px solid;border-radius:8px;flex-direction:column;gap:3px;padding:7px 10px 6px;display:flex}.cv-line-self .cv-bubble{border-radius:4px 10px 10px}.cv-line-other .cv-bubble{border-radius:10px 4px 10px 10px}.cv-text{color:#d0c8c0;letter-spacing:.02em;font-family:monospace;font-size:12px;font-style:italic}.cv-meaning{color:#666;font-size:9.5px;font-style:normal;line-height:1.3}.history-grid{grid-template-columns:1fr auto;gap:2px 8px;font-size:9px;display:grid}.hist-label{color:#999}.hist-val{color:#ddd;text-align:right}.org-detail{background:#241f18;border-radius:4px;flex-shrink:0;margin-bottom:8px;padding:8px 10px 10px}.org-detail-header{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:3px;display:flex}.org-detail-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.org-detail-name{color:#fff;letter-spacing:.03em;font-size:14px;font-weight:700}.org-detail-sub{color:#999;margin-bottom:5px;font-size:9px}.org-detail-thought{color:#7abbff;margin-bottom:6px;font-size:10px;font-style:italic}.org-detail-section{color:#777;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #3b2d22;margin:8px 0 3px;padding-bottom:2px;font-size:8px}.trait-full-grid{flex-direction:column;gap:2px;margin-bottom:2px;display:flex}.trait-full-row{align-items:center;gap:5px;display:flex}.trait-full-label{color:#999;flex-shrink:0;width:58px;font-size:8px}.relation-list{flex-wrap:wrap;gap:3px;margin-bottom:2px;display:flex}.relation-tag{border-radius:3px;padding:1px 5px;font-family:monospace;font-size:9px}.relation-tag.ally{color:#5f8;background:#0a1a0a}.relation-tag.enemy{color:#f54;background:#1a0a0a}.life-story{flex-direction:column;gap:2px;margin:0 0 6px;padding-left:14px;font-size:10px;line-height:1.35;display:flex}.thought-history{flex-direction:column;gap:2px;display:flex}.thought-row{align-items:baseline;gap:6px;display:flex}.thought-tick{color:#777;flex-shrink:0;width:54px;font-size:8px}.thought-text{color:#bbc;font-size:9px}.follow-btn{color:#aaa;cursor:pointer;background:#28201a;border:1px solid #513d2e;border-radius:3px;margin-left:auto;padding:1px 6px;font-family:monospace;font-size:9px}.follow-btn.active{color:#4fa;background:#001a10;border-color:#1a4a2a}.close-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #513d2e;border-radius:3px;padding:1px 5px;font-size:9px}.close-btn:hover{color:#c44;border-color:#4a1a1a}.close-btn:focus-visible,.lang-btn:focus-visible{outline-offset:2px;outline:2px solid #d49a55}.modal-header-actions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.reload-btn{color:#8ac;cursor:pointer;background:0 0;border:1px solid #2e3d51;border-radius:3px;padding:1px 6px;font-size:11px;line-height:1}.reload-btn:hover{color:#afd;border-color:#353}.reload-btn:active{transition:transform .3s;transform:rotate(180deg)}.org-carrying-badge{color:#c8a050;background:#1a1200;border-radius:2px;padding:1px 4px;font-size:8px}.lang-btn{color:#aaa;cursor:pointer;letter-spacing:.04em;background:#28201a;border:1px solid #513d2e;border-radius:3px;padding:2px 8px;font-family:monospace;font-size:10px;transition:all .12s}.lang-btn:hover{color:#afd;background:#32271f;border-color:#353}.lang-btn.active{color:#afd;background:#1a2a1a;border-color:#353}.more-menu{position:relative}.more-dropdown{z-index:200;background:#2c231f;border:1px solid #443329;border-radius:5px;flex-direction:column;gap:4px;min-width:380px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #00000080}.more-dropdown .lang-btn{text-align:left;white-space:nowrap}.more-dropdown-grid{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.more-dropdown-section{color:#444;text-transform:uppercase;letter-spacing:.08em;padding:2px 4px 0;font-size:8px}.more-dropdown-divider{background:#3b2d22;height:1px;margin:2px 0}body.thb-photo-mode .panel,body.thb-photo-mode .panel-overlay,body.thb-photo-mode .panel-toggle-btn,body.thb-photo-mode .thb-action-ticker{display:none!important}body.thb-photo-mode .header{opacity:.08;transition:opacity .18s}body.thb-photo-mode .header:hover{opacity:1}.thb-action-ticker{z-index:1;pointer-events:auto;background:linear-gradient(#14100cc7,#14100ceb);border-top:1px solid #ffffff14;height:28px;font-family:monospace;font-size:11px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.thb-action-ticker-track{white-space:nowrap;padding-left:100%;animation:240s linear infinite thb-action-ticker-scroll;display:inline-flex}.thb-action-ticker-item{cursor:pointer;color:#cbd0d6;background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;height:28px;padding:0 14px;display:inline-flex}.thb-action-ticker-item:hover{background:#ffffff14}.thb-action-ticker-name{font-weight:700}.thb-action-ticker-thought{color:#9aa1a8}.thb-action-ticker-thought:before{content:"- ";color:#6a7077}@keyframes thb-action-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.vocab-grid{grid-template-columns:repeat(2,1fr);gap:2px 8px;margin-bottom:4px;display:grid}.vocab-row{align-items:baseline;gap:4px;display:flex}.vocab-word{color:#afd;min-width:36px;font-family:monospace;font-size:10px;font-weight:600}.vocab-concept{color:#889;font-size:8px}.lang-modal-backdrop{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);z-index:100;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-resume-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (pointer:coarse),(width<=767px){.idle-resume-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000e6}}.idle-resume-panel{text-align:center;color:#f5e9d4;background:#28201a;border:1px solid #443329;border-radius:10px;max-width:420px;padding:32px 36px 28px;box-shadow:0 16px 48px #0000008c}.idle-resume-eye{background:radial-gradient(circle,#f5e9d40f 0%,#0000 70%);border:1px solid #5a4838;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex;position:relative}.idle-resume-eye:before{content:"";border:1px solid #6b8e5a;border-radius:50%;animation:2.4s ease-in-out infinite idle-eye-pulse;position:absolute;inset:12px}.idle-resume-eye-dot{background:#6b8e5a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 14px #6b8e5a99}@keyframes idle-eye-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:0;transform:scale(1.18)}}.idle-resume-title{letter-spacing:.02em;color:#f5e9d4;margin-bottom:18px;font-size:16px;font-weight:600}.idle-resume-sub{color:#bfae90;margin-bottom:20px;font-size:13px;line-height:1.5}.idle-resume-btn{color:#0c0a08;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#6b8e5a;border:none;border-radius:4px;padding:10px 28px;font-size:13px;font-weight:600;transition:background .12s,transform 60ms}.idle-resume-btn:hover{background:#84a76e}.idle-resume-btn:active{transform:translateY(1px)}.desktop-toast{bottom:var(--toast-clearance);left:calc(16px + var(--safe-left));z-index:90;color:#f5e9d4;background:#28201a;border:1px solid #443329;border-radius:8px;width:340px;max-width:calc(100vw - 32px);padding:14px 16px 12px;animation:.28s ease-out thb-desktop-toast-in;position:fixed;box-shadow:0 8px 24px #0006}@keyframes thb-desktop-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.desktop-toast-close{color:#8c7c63;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:18px;line-height:1;position:absolute;top:6px;right:10px}.desktop-toast-close:hover{color:#f5e9d4}.desktop-toast-title{margin-bottom:4px;font-size:13px;font-weight:600}.desktop-toast-sub{color:#bfae90;margin-bottom:10px;font-size:12px;line-height:1.4}.desktop-toast-cmd-row{align-items:center;gap:6px;margin-bottom:10px;display:flex}.desktop-toast-cmd{color:#d6c4a5;white-space:nowrap;background:#1a1612;border:1px solid #3a2e25;border-radius:4px;flex:1;padding:6px 8px;font-family:ui-monospace,Menlo,monospace;font-size:11px;overflow-x:auto}.desktop-toast-copy{color:#f5e9d4;cursor:pointer;background:#3a2e25;border:1px solid #5a4838;border-radius:4px;padding:6px 10px;font-size:11px}.desktop-toast-copy:hover{background:#4a3a2e}.desktop-toast-actions{gap:8px;display:flex}.desktop-toast-primary{color:#0c0a08;text-align:center;cursor:pointer;background:#6b8e5a;border:0;border-radius:4px;flex:1;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none}.desktop-toast-primary:hover{background:#84a76e}.desktop-toast-secondary{color:#bfae90;cursor:pointer;background:0 0;border:1px solid #443329;border-radius:4px;padding:8px 12px;font-size:12px}.desktop-toast-secondary:hover{color:#f5e9d4;border-color:#5a4838}.lang-modal{background:#28201a;border:1px solid #443329;border-radius:6px;flex-direction:column;gap:0;width:680px;max-width:95vw;max-height:85vh;padding:0;display:flex;overflow-y:auto}.lang-modal-body{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex;overflow-y:auto}.lang-modal-header{background:#28201a;border-bottom:1px solid #372a21;border-radius:6px 6px 0 0;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.lang-modal-header .tree-modal-sub,.lang-modal-header .lang-modal-sub{margin-right:0}.lang-modal-header .close-btn{flex-shrink:0;margin-left:auto}.lang-modal-title{color:#afd;letter-spacing:.14em;font-size:11px;font-weight:700}.lang-modal-sub{color:#889;margin:0;font-size:9px}.lang-table-wrap{overflow-x:auto}.lang-table{gap:1px;display:grid}.lang-th{color:#aaa;letter-spacing:.08em;text-transform:uppercase;background:#28201a;border-bottom:1px solid #3b2d22;padding:3px 6px;font-size:9px}.lang-td{border-bottom:1px solid #32271f;padding:2px 6px;font-size:10px}.lang-concept-col{min-width:70px}.lang-lineage-col{text-align:center;min-width:80px}.lang-lineage-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.lang-lineage-count{color:#888;margin-left:4px;font-size:8px}.lang-sex-words{background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.lang-sex-label{color:#666;font-size:9px;font-style:italic}.lang-sex-word{letter-spacing:.04em;font-family:monospace;font-size:13px;font-weight:700}.lang-sex-word-0{color:#7ab0e0}.lang-sex-word-1{color:#e09ab0}.lang-sex-divider{color:#444;font-size:11px}.lang-sex-note{color:#444;margin-left:auto;font-size:8px;font-style:italic}.lang-english{color:#999;font-size:9px}.lang-word{color:#afd;font-family:monospace;font-weight:600}.lang-unknown{color:#444}.lang-word-match{color:#ffe680;background:#ffdc5026}.lang-section{margin-bottom:14px}.lang-section-header{letter-spacing:.18em;text-transform:uppercase;color:#d49a55;border-bottom:1px solid #3b2d22;margin-bottom:4px;padding:6px 4px 4px;font-size:9px}.lang-search-row{align-items:center;gap:8px;margin:0 0 12px;display:flex}.lang-search{color:#cad3df;background:#1c1612;border:1px solid #3b2d22;border-radius:4px;outline:none;flex:1;padding:6px 10px;font-family:monospace;font-size:11px}.lang-search:focus{border-color:#d49a55}.lang-search::placeholder{color:#555}.lang-search-count{color:#888;white-space:nowrap;align-items:center;gap:6px;font-family:monospace;font-size:10px;display:inline-flex}.lang-search-clear{color:#888;cursor:pointer;background:0 0;border:1px solid #3b2d22;border-radius:3px;padding:2px 6px;font-size:10px}.lang-search-clear:hover{color:#cad3df;border-color:#d49a55}.lang-empty{text-align:center;color:#555;padding:30px 0;font-family:monospace;font-size:11px;font-style:italic}.lang-stories{flex-direction:column;gap:6px;display:flex}.lang-stories-title{color:#888;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #3b2d22;padding-top:8px;font-size:9px}.lang-story-row{align-items:baseline;gap:8px;font-size:10px;display:flex}.lang-story-name{flex-shrink:0;min-width:55px;font-weight:700}.lang-story-text{color:#abc;font-style:italic;line-height:1.4}.lang-no-stories{color:#778;font-size:9px;font-style:italic}.chronicles-modal{max-width:720px}.life-modal{background:#111318;border-color:#2a2a3a;width:min(900px,100vw - 80px);max-width:min(900px,100vw - 80px)}.life-event-row{padding:4px 0}.life-event-row:last-child{margin-bottom:0!important}.life-events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}@media (width<=700px){.life-events-grid{grid-template-columns:1fr}}.life-stuck-banner{color:#fc4;letter-spacing:.04em;background:#2a2200;border:1px solid #fc4;border-radius:4px;margin-bottom:10px;padding:8px 10px;font-size:10px}.chronicle-list{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.chronicle-row{border-bottom:1px solid #32271f;grid-template-columns:52px 70px 1fr;align-items:baseline;gap:8px;padding-bottom:8px;display:grid}.chronicle-day{color:#666;flex-shrink:0;font-size:9px}.chronicle-name{flex-shrink:0;font-size:11px;font-weight:700}.chronicle-text{color:#ccd;font-size:10px;font-style:italic;line-height:1.5}.tree-modal{background:#28201a;border:1px solid #443329;border-radius:6px;flex-direction:column;width:96vw;max-width:1400px;height:88vh;padding:0;display:flex;overflow:hidden}.tree-modal-sub{color:#666;margin-left:auto;margin-right:12px;font-size:10px}.tree-scroll{background:#231d17;flex:1;padding:8px;overflow:auto}.tree-svg{display:block}.tree-gen-label{fill:#444;letter-spacing:.08em;text-transform:uppercase;font-family:monospace;font-size:9px}.tree-tooltip{color:#aaa;background:#32271f;border-bottom:1px solid #443329;flex-shrink:0;min-height:26px;padding:6px 12px;font-size:11px}.tree-tooltip-thought{color:#667;font-style:italic}.org-search-modal{background:#28201a;border:1px solid #443329;border-radius:6px;flex-direction:column;width:96vw;max-width:1300px;height:88vh;display:flex;overflow:hidden}.org-search-toolbar{border-bottom:1px solid #372a21;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 14px 8px;display:flex}.org-search-input{color:#eee;background:#28201a;border:1px solid #443329;border-radius:4px;outline:none;width:100%;padding:7px 10px;font-family:monospace;font-size:12px}.org-search-input:focus{border-color:#3a3a55}.org-search-filterbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.org-search-filters{display:contents}.org-search-back{display:none}.filter-chip{color:#777;cursor:pointer;background:#32271f;border:1px solid #443329;border-radius:12px;padding:2px 10px;font-family:monospace;font-size:10px;transition:all .1s}.filter-chip.active{color:#8cb;background:#162020;border-color:#3a5550}.filter-sep{color:#513d2e;font-size:12px}.tribe-dropdown{position:relative}.tribe-dropdown-btn{white-space:nowrap;align-items:center;gap:5px;display:flex}.tribe-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.tribe-dropdown-menu{z-index:200;background:#1e1610;border:1px solid #443329;border-radius:6px;min-width:140px;max-height:220px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 16px #00000080}.tribe-dropdown-item{color:#777;cursor:pointer;align-items:center;gap:7px;padding:5px 12px;font-family:monospace;font-size:10px;transition:background .1s;display:flex}.tribe-dropdown-item:hover{color:#aaa;background:#2a1f15}.tribe-dropdown-item.active{color:#8cb;background:#162020}.org-search-body{flex:1;display:flex;overflow:hidden}.org-search-list{border-right:1px solid #372a21;flex-shrink:0;width:280px;overflow-y:auto}.org-search-entry{cursor:pointer;border-bottom:1px solid #2d241f;padding:8px 12px;transition:background .1s}.org-search-entry:hover{background:#2e251f}.org-search-entry.selected{background:#191e1e}.org-search-entry-top{align-items:baseline;gap:5px;margin-bottom:2px;display:flex}.org-search-name{font-size:12px;font-weight:600}.org-search-badges{font-size:10px}.org-search-meta{color:#555;margin-left:auto;font-size:9px}.org-search-thought{color:#667;margin-bottom:4px;font-size:9px;font-style:italic}.org-search-bars{flex-direction:column;gap:2px;display:flex}.org-mini-bar{border-radius:1px;height:2px;transition:width .2s}.org-search-entry.dead{opacity:1!important}.org-search-memorial{flex-direction:column;gap:4px;margin-top:3px;display:flex}.org-memorial-story{color:#556;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:italic;line-height:1.4;overflow:hidden}.org-memorial-log{flex-wrap:wrap;gap:3px;display:flex}.org-memorial-entry{color:#445;background:#28201a;border:1px solid #3b2d22;border-radius:3px;padding:1px 4px;font-size:8px}.org-memorial-discs{flex-wrap:wrap;gap:3px;display:flex}.org-memorial-disc{color:#558;background:#111822;border:1px solid #223;border-radius:3px;padding:1px 4px;font-size:8px}.org-search-detail{flex:1;padding:0;overflow-y:auto}.org-search-placeholder{color:#513d2e;justify-content:center;align-items:center;height:100%;font-size:11px;font-style:italic;display:flex}.org-search-empty{color:#444;text-align:center;padding:24px;font-size:11px;font-style:italic}.ui-tooltip{color:#c8c8c8;letter-spacing:0;text-transform:none;white-space:normal;word-wrap:break-word;pointer-events:none;z-index:99999;background:#32271f;border:1px solid #4a372b;border-radius:5px;max-width:320px;padding:5px 10px;font-family:monospace;font-size:11px;font-weight:400;line-height:1.4;position:fixed}.ui-tooltip--above{animation:.1s forwards tooltip-in-above;transform:translate(-50%,-100%)}.ui-tooltip--above .ui-tooltip-arrow{border:5px solid #0000;border-top-color:#4a372b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ui-tooltip--above .ui-tooltip-arrow:after{content:"";border:4px solid #0000;border-top-color:#32271f;position:absolute;top:-6px;left:-4px}.ui-tooltip--below{animation:.1s forwards tooltip-in-below;transform:translate(-50%)}.ui-tooltip--below .ui-tooltip-arrow{border:5px solid #0000;border-bottom-color:#4a372b;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.ui-tooltip--below .ui-tooltip-arrow:after{content:"";border:4px solid #0000;border-bottom-color:#32271f;position:absolute;bottom:-6px;left:-4px}@keyframes tooltip-in-above{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes tooltip-in-below{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.stats-modal,.notable-modal,.settings-modal{background:#28201a;border:1px solid #443329;border-radius:6px;flex-direction:column;width:1200px;max-width:96vw;max-height:90vh;display:flex;overflow:hidden}.notable-modal,.settings-modal{width:760px}.desktop-toggle-row{cursor:pointer;align-items:flex-start;gap:10px;min-height:28px;padding:4px 0;font-size:12px;line-height:1.35;display:flex}.desktop-toggle-row input{flex:none;margin-top:1px}.desktop-cap-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px;display:grid}.desktop-cap-presets button{color:#8f8276;font:inherit;cursor:pointer;background:#1c1612;border:1px solid #443329;border-radius:3px;padding:5px 4px;font-size:9px}.desktop-cap-presets button:hover,.desktop-cap-presets button.active{color:#f0d088;background:#33271d;border-color:#927047}.stats-quick{gap:8px}.stats-num-card{min-width:78px;padding:6px 12px}.stats-num{font-size:17px!important}.stats-body{flex-direction:column;flex:1;gap:6px;padding:10px 14px 14px;display:flex;overflow-y:auto}.stats-section-title{color:#444;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #372a21;padding:4px 0 2px;font-size:9px;font-weight:600}.stats-quick{flex-wrap:wrap;gap:8px;display:flex}.stats-num-card{text-align:center;background:#28201a;border:1px solid #372a21;border-radius:4px;min-width:72px;padding:8px 14px}.stats-num{color:#ddd;font-size:20px;font-weight:600}.stats-num-label{color:#444;margin-top:2px;font-size:9px}.stats-chart-wrap{align-items:stretch;min-height:170px;padding:2px 0;display:flex}.stats-chart-wrap>svg{width:100%;height:170px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px 24px;display:grid}.stats-grid>section{flex-direction:column;gap:4px;min-width:0;display:flex}.stats-relations{flex-direction:column;gap:4px;display:flex}.stats-rel-row{align-items:center;gap:4px;padding:3px 0;font-size:10px;display:flex}.stats-rel-bar-wrap{background:#32271f;border-radius:2px;flex:1;max-width:80px;height:4px;overflow:hidden}.stats-rel-status{text-transform:uppercase;letter-spacing:.06em;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:600}.status-ally{color:#5c8;background:#0a1e0a}.status-neutral{color:#666;background:#32271f}.status-rivals{color:#c44;background:#1e0a0a}.stats-timeline{flex-direction:column;gap:4px;display:flex}.stats-timeline-row{align-items:baseline;gap:8px;font-size:10px;display:flex}.stats-tick{color:#444;min-width:36px;font-size:9px}.stats-actor{color:#aaa;min-width:70px}.stats-detail{color:#666;flex:1}.stats-death-grid{grid-template-columns:1fr auto;gap:4px 12px;max-width:320px;font-size:11px;display:grid}.stats-death-grid .hist-val{text-align:right;font-variant-numeric:tabular-nums}.age-pyramid{flex-direction:column;gap:4px;display:flex}.age-row{align-items:center;gap:8px;font-size:10px;display:flex}.age-label{color:#888;text-transform:uppercase;letter-spacing:.5px;flex:0 0 40px;font-size:9px}.age-bar-pair{flex:1;gap:2px;height:14px;display:flex}.age-bar{color:#1a1a1a;border-radius:2px;justify-content:center;align-items:center;min-width:0;height:100%;font-size:9px;font-weight:600;display:flex}.age-bar-m{background:#7faec8}.age-bar-f{background:#e2a4b6}.trait-avgs{flex-direction:column;gap:4px;display:flex}.trait-row{align-items:center;gap:8px;font-size:10px;display:flex}.trait-label{color:#888;text-transform:capitalize;flex:0 0 90px}.trait-bar-wrap{background:#1c1c1c;border-radius:3px;flex:1;height:6px;overflow:hidden}.trait-bar{background:linear-gradient(90deg,#4a6e3a,#7fce7f);height:100%}.trait-val{color:#ccc;font-variant-numeric:tabular-nums;text-align:right;flex:0 0 36px;font-size:10px}.disc-rollup{flex-direction:column;gap:4px;max-width:320px;display:flex}.disc-summary{color:#888;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:10px;display:flex}.disc-toggle{color:#afd;cursor:pointer;letter-spacing:.04em;text-transform:lowercase;background:#aaffdd1a;border:1px solid #aaffdd4d;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:9px}.disc-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.disc-row{grid-template-columns:1fr auto 40px;align-items:baseline;gap:8px;font-size:11px;display:grid}.disc-name{color:#ddd;text-transform:lowercase}.disc-count{color:#afd;font-variant-numeric:tabular-nums}.disc-pct{color:#666;text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.stats-num-card-wide{min-width:160px}.stats-num-sub{color:#888;letter-spacing:.02em;margin-top:2px;font-size:10px}.notable-grid{flex-direction:column;gap:4px;display:flex}.notable-row{align-items:baseline;gap:8px;font-size:10px;display:flex}.notable-label{color:#888;text-transform:uppercase;letter-spacing:.5px;flex:0 0 80px;font-size:9px}.notable-list{flex-wrap:wrap;gap:8px;display:inline-flex}.notable-entry{font-size:10px}.tree-zoom-btn{color:#aaa;cursor:pointer;background:#32271f;border:1px solid #443329;border-radius:4px;padding:2px 10px;font-family:monospace;font-size:13px;line-height:1.4}.tree-zoom-btn:hover{color:#eee;background:#3b2d22;border-color:#444}.tree-legend{color:#666;border-top:1px solid #372a21;flex-shrink:0;gap:8px;padding:8px 14px;font-size:10px;display:flex}@media (width<=767px){body{overflow:hidden}.header{background:#181410;border-bottom:1px solid #2a221b;flex-wrap:nowrap;align-items:center;gap:8px;min-height:44px;padding:10px 12px;overflow:visible}.header h1{letter-spacing:.14em;color:#d8c8a8;white-space:nowrap;text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:700}.github-link,.star-link,.tick,.header-actions,.fullscreen-btn,.panel-toggle-btn{display:none!important}.header h1>span{display:none}.header-badges{justify-content:flex-end;display:flex!important}.header-badges>:not(.time-tag){display:none!important}.header-left{flex:auto;align-items:center;gap:8px;min-width:0}.header-left .status{color:#0000;background:0 0;border:none;flex-shrink:0;padding:0;font-size:0}.header-left .status .status-dot{width:8px;height:8px;margin-right:0}.panel-toggle-btn{color:#aaa;cursor:pointer;background:#32271f;border:1px solid #513d2e;border-radius:4px;flex-shrink:0;align-items:center;font-family:monospace;display:flex}.panel-toggle-btn:hover{color:#eee;background:#3b2d22}.layout{position:relative}.panel-left{z-index:70;width:80vw;max-width:320px;height:100dvh;padding:calc(14px + var(--safe-top)) 12px calc(24px + var(--safe-bottom)) calc(12px + var(--safe-left));background:#28201a;border-right:1px solid #443329;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.panel-left.open{width:80vw;max-width:320px;padding:calc(14px + var(--safe-top)) 12px calc(24px + var(--safe-bottom)) calc(12px + var(--safe-left));transform:translate(0)}.panel-overlay,.panel-overlay-left{z-index:69;background:#0000008c;display:block;position:fixed;inset:0}.panel-right{z-index:70;width:100%;height:68dvh;padding:14px calc(14px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(14px + var(--safe-left));background:#28201a;border-top:1px solid #443329;border-left:none;border-right:none;border-radius:14px 14px 0 0;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.panel-right:before{content:"";background:#513d2e;border-radius:2px;flex-shrink:0;width:36px;height:3px;margin:0 auto 12px;display:block}.panel-right.open{width:100%;padding:14px calc(14px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(14px + var(--safe-left));border-left:none;transform:translateY(0)}.lang-modal-backdrop{padding:0 var(--safe-right) 0 var(--safe-left);align-items:flex-end}.thb-modal[class].thb-modal--sheet{border-bottom:none;border-left:none;border-right:none;border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:90dvh;transition:transform .15s ease-out;position:fixed;top:auto;bottom:0;left:0;transform:none}.thb-modal--sheet{padding-bottom:var(--safe-bottom)}.org-search-body{flex-direction:column}.org-search-list{border-right:none;flex:1;width:100%;min-height:0}.org-search-detail,.org-search-body.has-selection .org-search-list{display:none}.org-search-body.has-selection .org-search-detail{flex:1;min-height:0;display:block}.org-search-toolbar--behind-detail{display:none}.org-search-back{z-index:1;color:#d8b270;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#28201a;border:none;border-bottom:1px solid #372a21;align-items:center;padding:0 14px;font-size:12px;display:flex;position:sticky;top:0}.org-search-filters{scrollbar-width:none;flex:100%;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.org-search-filters>*{flex:none}.org-search-filters>.filter-sep:last-child{display:none}.org-search-modal .filter-chip,.org-search-modal .tribe-dropdown-btn{min-height:44px}.tree-modal{height:90dvh}.chronicle-row{grid-template-rows:auto auto;grid-template-columns:44px 1fr}.chronicle-name{grid-column:2}.chronicle-text{grid-column:1/-1;padding-top:2px}}.about-modal{background:#181410;border:1px solid #2e2820;border-radius:10px;flex-direction:column;width:480px;max-width:95vw;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}.about-head{background:#13110f;border-bottom:1px solid #2e2820;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.about-title{letter-spacing:.16em;color:#8b7e69;text-transform:uppercase;font-size:10px;font-weight:800}.about-body{padding:16px 18px 18px;overflow-y:auto}.about-blurb{color:#b9b0a0;margin:0 0 18px;font-size:12px;line-height:1.55}.about-section{letter-spacing:.14em;color:#665e50;text-transform:uppercase;margin:14px 0 6px;font-size:9px;font-weight:800}.about-section:first-of-type{margin-top:0}.about-grid{grid-template-columns:80px 1fr;gap:4px 14px;font-size:11px;line-height:1.45;display:grid}.about-k{color:#6e6555}.about-v{color:#d8d2c4;word-break:break-all}.about-v code{color:#d4a843;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.about-loading{color:#6e6555;font-size:11px;font-style:italic}.about-err{color:#e08070;background:#e0705014;border:1px solid #e0705040;border-radius:4px;padding:6px 10px;font-size:11px}.about-links a{color:#7abbff;border-bottom:1px dashed #7abbff66;font-size:11px;text-decoration:none}.about-links a:hover{color:#a0d0ff;border-bottom-color:#a0d0ffb3}.about-built-with-detail{color:#6e6555;margin-top:4px;font-size:10px;line-height:1.45;display:block}@media (width<=1080px){.header-actions .lang-btn .btn-label{display:none}.header-actions .lang-btn{min-width:36px;padding:4px 8px}}@media (width<=600px){.desktop-toast{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));width:auto;max-width:none}.idle-resume-panel{margin:0 16px;padding:22px 20px}}body.thb-colorblind .header .time-tag.season-abundance{--season-dot:#3a86ff}body.thb-colorblind .header .time-tag.season-decline{--season-dot:#ffd166}body.thb-colorblind .header .time-tag.season-scarcity{--season-dot:#fb8500}body.thb-colorblind .header .time-tag.season-recovery{--season-dot:#5cd}body.thb-colorblind .header .time-tag.hard-winter{--season-dot:#b9e2ff}body.thb-colorblind .org-sick-badge{color:#1a0a00;background:#fb8500}.life-skeleton{flex-direction:column;gap:10px;padding:12px 4px;display:flex}.life-skel-meta,.life-skel-row,.life-skel-section,.life-skel-event{background:linear-gradient(90deg,#50483c2e 0%,#8c806c38 50%,#50483c2e 100%) 0 0/200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite life-shimmer}.life-skel-meta{width:60%;height:10px}.life-skel-row{width:90%;height:8px}.life-skel-row.short{width:55%}.life-skel-section{width:100%;height:28px;margin-top:6px}.life-skel-event{width:100%;height:22px}@keyframes life-shimmer{0%{background-position:200%}to{background-position:-100%}}.org-detail-actions{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;display:inline-flex}.icon-btn{color:#aaa;cursor:pointer;background:#24201a;border:1px solid #443329;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-family:inherit;font-size:12px;line-height:1;display:inline-flex}.icon-btn:hover{color:#fff;background:#2c2620;border-color:#6a5240}.icon-btn.active{color:#4fa;background:#001a10;border-color:#1a4a2a}.icon-btn.active-star{color:#fc4;border-color:#5a4422}.icon-btn.icon-close:hover{color:#c44;border-color:#4a1a1a}.icon-btn:focus-visible{outline-offset:1px;outline:2px solid #cfe6ff}.org-detail-header{flex-wrap:nowrap}.section-title-row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0 2px;display:flex}.starred-toggle{color:#aaa;cursor:pointer;background:0 0;border:1px solid #443329;border-radius:4px;padding:2px 7px;font-family:monospace;font-size:10px}.starred-toggle:hover{color:#fc4;border-color:#5a4422}.starred-toggle.active{color:#fc4;background:#2a1f0d;border-color:#5a4422}.civ-modal{color:#d8cdb6;background:#181410;border:1px solid #2e2820;border-radius:10px;flex-direction:column;width:min(1180px,94vw);max-width:94vw;max-height:88vh;padding:18px 22px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}@media (width<=767px){.civ-modal{padding-bottom:calc(18px + var(--safe-bottom))}}.civ-modal>[data-radix-dialog-title],.civ-modal h2{letter-spacing:.16em;color:#8b7e69;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.civ-calendar{background:linear-gradient(#2b2218 0%,#201913 100%);border:1px solid #4a3829;border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;padding:12px 20px;display:flex}.civ-cal-item{align-items:baseline;gap:8px;display:flex}.civ-cal-label{letter-spacing:.16em;text-transform:uppercase;color:#8b7e69;font-size:10px}.civ-cal-value{color:#f0e6cf;text-transform:capitalize;font-size:15px;font-weight:700}.civ-cal-sub{color:#8a8170;font-size:11px}.civ-cal-moon{font-size:17px;line-height:1}.civ-cal-sep{background:#4a3829;align-self:stretch;width:1px}.civ-modal-grid{flex:1;min-height:0;padding-right:6px;overflow:hidden auto}.civ-cols{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.civ-modal-grid::-webkit-scrollbar{width:8px}.civ-modal-grid::-webkit-scrollbar-thumb{background:#4a3a2c;border-radius:4px}.civ-section{background:#221b15;border:1px solid #4a3829;border-radius:8px;min-width:0;margin:0;padding:13px 15px 15px;overflow:hidden}.civ-section--span{grid-column:1/-1}.civ-table-wrap{overflow-x:auto}.civ-section h3{letter-spacing:.16em;text-transform:uppercase;color:#e0c98f;border-bottom:1px solid #3a2d22;margin:0 0 11px;padding:0 0 9px;font-size:10px}.civ-table{border-collapse:collapse;width:100%;font-size:11px}.civ-table th,.civ-table td{text-align:left;color:#c8c0b0;border-bottom:1px solid #3a2d22;padding:5px 8px}.civ-table th{color:#8a8170;font-weight:600}@media (width<=720px){.civ-table,.civ-table tbody,.civ-table tr,.civ-table td{width:100%;display:block}.civ-table thead{display:none}.civ-table tr{border-bottom:1px solid #4a3829;padding:6px 0}.civ-table td{border-bottom:none;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:4px 2px;display:grid}.civ-table td:before{content:attr(data-label);color:#8a8170;font-weight:600}.civ-table td:first-child{color:#f0e6cf;font-weight:700}.civ-table td.civ-cell-actions--empty{display:none}.civ-table .civ-era-progress{min-width:0;max-width:none}.civ-table .civ-lineage-actions{justify-content:flex-start;min-width:0}}.civ-era-progress{flex-direction:column;gap:2px;min-width:120px;max-width:180px;display:flex}.civ-era-next,.civ-era-ready,.civ-era-gate,.civ-era-missing{overflow-wrap:anywhere;font-size:10px;line-height:1.25;display:block}.civ-era-next{color:#c8c0b0;text-transform:capitalize}.civ-era-ready{color:#9fd49f;text-transform:capitalize}.civ-era-gate{color:#d0a66f}.civ-era-missing{color:#8f8575}.civ-row{border-bottom:1px solid #3a2d22;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 0;display:flex}.civ-row:last-child{border-bottom:none}.civ-row-head{color:#f0eada;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.civ-row>.civ-row-link{order:99;margin-left:auto}.civ-row-sub{color:#aaa190;font-size:10px}.civ-row-tag{color:#8a8170;background:#1d1612;border-radius:3px;padding:2px 6px;font-size:10px}.civ-row-laws{flex-wrap:wrap;gap:4px;width:100%;margin-top:3px;display:flex}.civ-chip{color:#c8c0b0;background:#1d1612;border:1px solid #3a2d22;border-radius:4px;padding:3px 8px;font-size:10px}.empty-state,.civ-empty,.org-search-empty,.worlds-empty{color:#8c7c63;letter-spacing:.02em;text-align:center;opacity:.9;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;font-size:11px;font-style:italic;display:flex}.empty-state:before,.civ-empty:before,.org-search-empty:before,.worlds-empty:before{content:"◯";color:#5a4838;font-size:16px;font-style:normal;line-height:1}.civ-headline{border-bottom:1px solid #3a2d22;gap:8px;padding:4px 0;display:flex}.civ-headline:last-child{border-bottom:none}.civ-headline-tick{color:#6e6555;flex-shrink:0;width:64px;font-family:monospace;font-size:10px}.civ-headline-text{color:#c8c0b0;font-size:11px;font-style:italic;line-height:1.4}.civ-row-link{letter-spacing:.04em;color:#d8b270;cursor:pointer;white-space:nowrap;background:#d8b2701a;border:1px solid #d8b27059;border-radius:3px;flex:none;height:20px;padding:2px 7px;font-family:monospace;font-size:9px;line-height:1.4}.civ-row-link:hover{color:#f0d590;background:#d8b27033;border-color:#d8b2708c}.civ-table td{vertical-align:middle}.civ-lineage-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;min-width:112px;display:flex}.civ-guide-select{color:#d8b270;background:#1d1612;border:1px solid #d8b27059;border-radius:3px;max-width:124px;height:22px;padding:1px 5px;font:9px/1.3 monospace}.civ-guide-select:disabled{opacity:.55}.civ-strategy-active,.civ-strategy-status{color:#9fd49f;white-space:nowrap;font-size:9px}.civ-strategy-status{color:#d0a66f}.civ-strategy-objective{gap:3px;min-width:112px;display:grid}.civ-strategy-complete{color:#e3c470}.civ-strategy-progress{background:#d8b27029;border-radius:999px;width:100%;height:3px;display:block;overflow:hidden}.civ-strategy-progress>span{border-radius:inherit;background:linear-gradient(90deg,#6da673,#e3c470);height:100%;transition:width .18s ease-out;display:block}.civ-campaign-board{background:#18130f7a;border:1px solid #6f54377a;border-radius:7px;gap:8px;margin-top:10px;padding:10px;display:grid}.civ-campaign-board-heading,.civ-campaign-card-head,.civ-campaign-progress-copy,.civ-campaign-card-actions,.civ-campaign-history-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.civ-campaign-board-heading h4{color:#e1c18b;margin:1px 0 0;font-size:12px;font-weight:600}.civ-campaign-board-kicker{color:#8b7b69;letter-spacing:.11em;text-transform:uppercase;font-size:8px}.civ-campaign-board-help{color:#8d8377;text-align:right;max-width:420px;font-size:9px;line-height:1.4}.civ-campaign-cards{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:7px;display:grid}.civ-campaign-card{background:linear-gradient(160deg,#2f241ab3,#1b1612d1);border:1px solid #5b452f8c;border-radius:6px;align-content:start;gap:7px;min-width:0;padding:9px;display:grid}.civ-campaign-card.completed{border-color:#78a86885;box-shadow:inset 0 0 20px #5f925114}.civ-campaign-card-head>div{gap:1px;min-width:0;display:grid}.civ-campaign-lineage{color:#e4d5c0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.civ-campaign-pop{color:#796f64;font-size:8px}.civ-campaign-badge{color:#dfb873;text-overflow:ellipsis;white-space:nowrap;border:1px solid #be915266;border-radius:999px;max-width:120px;padding:2px 6px;font-size:8px;overflow:hidden}.civ-campaign-badge.idle{color:#82796e;border-color:#7d73654d}.civ-campaign-description{color:#a59a8c;min-height:26px;margin:0;font-size:9px;line-height:1.45}.civ-campaign-progress-copy{color:#a99a86;font-size:8px}.civ-campaign-card-progress{background:#d8b27021;border-radius:999px;height:5px;display:block;overflow:hidden}.civ-campaign-card-progress>span{border-radius:inherit;background:linear-gradient(90deg,#658e6d,#d8ae62);height:100%;transition:width .16s ease-out;display:block}.civ-campaign-reward{color:#8fbaa0;font-size:8px}.civ-campaign-card-actions{min-height:24px}.civ-campaign-card-actions .civ-guide-select{max-width:155px}.civ-campaign-history{border-top:1px solid #7b5b3a61;gap:5px;margin-top:9px;padding-top:8px;display:grid}.civ-campaign-history-title{color:#9f8f79;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.civ-campaign-history-toggle{color:#b99a6e;cursor:pointer;background:#392a1d80;border:1px solid #93704459;border-radius:3px;padding:2px 5px;font:8px/1.2 monospace}.civ-campaign-history-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 8px;display:grid}.civ-campaign-record{color:#9f9688;background:#16120e6b;border-radius:4px;grid-template-columns:14px minmax(0,1fr) auto auto auto;align-items:center;gap:5px;min-width:0;padding:4px 6px;font-size:9px;display:grid}.civ-campaign-record--completed{color:#9fd49f}.civ-campaign-record--expired{color:#d58d78}.civ-campaign-record--failed{color:#dc7468}.civ-campaign-record--redirected{color:#d0a66f}.civ-campaign-outcome{text-align:center;font-weight:700}.civ-campaign-name{color:#d5c8b6;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.civ-campaign-result,.civ-campaign-effort,.civ-campaign-tick{white-space:nowrap}.civ-campaign-tick{color:#786f64}.civ-build-grid{flex-wrap:wrap;gap:6px;display:flex}.unstar-dead-btn{cursor:pointer;color:#fc4;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:13px}.unstar-dead-btn:hover{color:#fff}.welcome-backdrop{z-index:10000;-webkit-backdrop-filter:blur(1px);padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));background:#08060473;justify-content:center;align-items:center;animation:.22s welcome-fade;display:flex;position:fixed;inset:0}@media (pointer:coarse),(width<=767px){.welcome-backdrop{-webkit-backdrop-filter:none;background:#0806048c}}@keyframes welcome-fade{0%{opacity:0}to{opacity:1}}.welcome-modal{color:#e5ddc7;background:linear-gradient(#1f1812 0%,#15100c 100%);border:1px solid #a0825a4d;border-radius:14px;width:100%;max-width:460px;padding:26px 24px 20px;font-family:ui-sans-serif,system-ui,sans-serif;animation:.32s cubic-bezier(.2,.9,.25,1.1) welcome-pop;box-shadow:0 24px 64px -12px #000000b3,inset 0 1px #ffffff0f}@keyframes welcome-pop{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.welcome-step-indicator{gap:6px;margin-bottom:18px;display:flex}.welcome-dot{background:#ffffff14;border-radius:2px;width:28px;height:4px;transition:background .2s}.welcome-dot.active{background:linear-gradient(90deg,#d8b270,#9a6f3a)}.welcome-dot.done{background:#d8b27059}.welcome-title{letter-spacing:.005em;color:#f0eada;margin:0 0 10px;font-size:19px;font-weight:700}.welcome-body{color:#b9b0a0;margin:0 0 22px;font-size:14px;line-height:1.55}.welcome-actions{justify-content:space-between;gap:10px;display:flex}.welcome-btn{letter-spacing:.02em;cursor:pointer;border-radius:8px;flex:none;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:transform 80ms,filter .12s,background .12s}.welcome-btn--ghost{color:#8a8170;background:0 0;border:1px solid #ffffff1a}.welcome-btn--ghost:hover{color:#e5ddc7;background:#ffffff0a}.welcome-btn--primary{color:#1a1208;background:linear-gradient(#d8b270,#9a6f3a);border:none;box-shadow:inset 0 1px #ffebc840,0 2px 8px #78502873}.welcome-btn--primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.welcome-btn--primary:active{filter:brightness(.95);transform:translateY(0)}.welcome-btn:focus-visible{outline-offset:2px;outline:2px solid #e5ddc7}@media (width<=480px){.welcome-modal{border-radius:12px;padding:22px 18px 18px}.welcome-title{font-size:17px}.welcome-body{font-size:13px}}.scene-shell{color:#e5ddc7;background:#0c0805;flex-direction:column;flex:1;min-width:0;font-family:ui-sans-serif,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.scene-head{background:linear-gradient(#18120cf2,#0c0805f2);border-bottom:1px solid #a0825a33;align-items:center;gap:16px;padding:10px 18px;display:flex}.scene-back{color:#d8cdb6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;flex:none;padding:6px 10px;font-family:monospace;font-size:11px}.scene-back:hover{color:#f0eada;background:#ffffff14}.scene-title-wrap{flex:auto;min-width:0}.scene-title{color:#f0eada;letter-spacing:.005em;font-size:15px;font-weight:700}.scene-subtitle{color:#8b8270;margin-top:2px;font-size:11px}.scene-meta{color:#aa9070;flex:none;font-family:monospace;font-size:11px}.scene-stage{background:radial-gradient(#281c1266 0%,#080503f2 100%);flex:auto;justify-content:center;align-items:center;min-height:0;padding:18px;display:flex}.scene-stage--pixel{padding:24px}.scene-stage--pixel>canvas{border-radius:4px;box-shadow:0 0 0 1px #a0825a47,0 0 0 6px #140e09e6,0 0 0 7px #a0825a29,0 18px 40px #0009}.scene-occupants{background:#0c0805f2;border-top:1px solid #a0825a33;flex:none;gap:6px;padding:10px 14px;display:flex;overflow-x:auto}.scene-occupant-chip{cursor:pointer;color:inherit;text-align:left;background:#1d1611;border:1px solid #2e2820;border-radius:6px;flex-direction:column;flex:none;align-items:flex-start;gap:1px;min-width:0;padding:6px 10px;font-family:monospace;display:flex}.scene-occupant-chip:hover{border-color:#d8b27066}.scene-occupant-chip.active{background:#2a1f14;border-color:#d8b270}.scene-occupant-chip--away{opacity:.72;border-style:dashed}.scene-occupant-chip--away:hover{opacity:1}.scene-occupant-chip--away .scene-occupant-role{color:#c08866}.scene-occupant-role{letter-spacing:.18em;color:#aa9070;text-transform:uppercase;font-size:8px}.scene-occupant-name{color:#f0eada;font-size:11px}.scene-occupant-act{color:#8b8270;font-size:10px;font-style:italic}.update-toast{right:calc(20px + var(--safe-right));bottom:var(--toast-clearance);z-index:9700;color:#e5ddc7;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#241e18f5,#14110df5);border:1px solid #a0825a59;border-radius:12px;align-items:center;gap:12px;max-width:min(380px,100vw - 32px);padding:10px 12px 10px 14px;font-family:ui-sans-serif,system-ui,sans-serif;animation:.32s cubic-bezier(.2,.9,.25,1.1) update-toast-in;display:flex;position:fixed;box-shadow:0 10px 28px -8px #0000008c,0 2px 6px #00000059,inset 0 1px #ffffff0f}@media (pointer:coarse),(width<=767px){.update-toast{-webkit-backdrop-filter:none}}@keyframes update-toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.update-toast__icon{color:#d8b270;background:#785a372e;border:1px solid #a0825a4d;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.update-toast__body{flex:auto;min-width:0}.update-toast__title{color:#f0eada;letter-spacing:.01em;font-size:12.5px;font-weight:600}.update-toast__sub{color:#9b9180;margin-top:2px;font-size:11px;line-height:1.35}.update-toast__cta{letter-spacing:.02em;color:#1a1208;cursor:pointer;background:linear-gradient(#d8b270,#9a6f3a);border:none;border-radius:7px;flex:none;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:transform 80ms,filter .12s;box-shadow:inset 0 1px #ffebc840,0 2px 6px #78502866}.update-toast__cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.update-toast__cta:active{filter:brightness(.95);transform:translateY(0)}.update-toast__cta:disabled{opacity:.7;cursor:wait;filter:none;transform:none}.update-toast__close{color:#8a8170;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:flex}.update-toast__close:hover{color:#e5ddc7;background:#ffffff0d;border-color:#ffffff14}@media (width<=767px){.update-toast{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));max-width:none}}.historical-banner{color:#e5ddc7;letter-spacing:.01em;background:linear-gradient(#4b3219eb,#2d1e0ff5);border-bottom:1px solid #a0825a4d;align-items:center;gap:12px;padding:8px 14px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;display:flex}.historical-banner__pill{letter-spacing:.18em;color:#1a1208;background:linear-gradient(#d8b270,#9a6f3a);border-radius:4px;flex:none;padding:3px 7px;font-size:9px;font-weight:800;box-shadow:inset 0 1px #ffebc840}.historical-banner__text{color:#d8cdb6;flex:auto;min-width:0}.historical-banner__text code{color:#f4dba0;background:#ffffff0f;border:1px solid #ffffff14;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.historical-banner__back{color:#7abbff;border-bottom:1px dashed #7abbff66;flex:none;font-size:12px;text-decoration:none}.historical-banner__back:hover{color:#a0d0ff}.worlds-modal{background:#181410;border:1px solid #2e2820;border-radius:10px;flex-direction:column;width:640px;max-width:95vw;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}.worlds-head{background:#13110f;border-bottom:1px solid #2e2820;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.worlds-title{letter-spacing:.16em;color:#8b7e69;text-transform:uppercase;font-size:10px;font-weight:800}.worlds-body{padding:16px 18px 18px;overflow-y:auto}.worlds-blurb{color:#8b8270;margin:0 0 14px;font-size:12px;line-height:1.55}.worlds-loading,.worlds-empty{color:#6e6555;padding:8px 0;font-size:12px;font-style:italic}.worlds-err{color:#e08070;background:#e0705014;border:1px solid #e0705040;border-radius:4px;margin-bottom:10px;padding:6px 10px;font-size:11px}.worlds-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.worlds-row{display:block}.worlds-row-link{color:inherit;background:#1e1814;border:1px solid #2e2820;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:90px 110px 1fr;gap:4px 14px;padding:10px 12px;text-decoration:none;transition:background .12s,border-color .12s;display:grid}.worlds-row-link:hover{background:#25201b;border-color:#a0825a59}.worlds-row-era{letter-spacing:.1em;text-transform:uppercase;color:#d8b270;grid-area:1/1;align-self:center;font-size:10px;font-weight:800}.worlds-row-hash{color:#f4dba0;grid-area:1/2;align-self:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.worlds-row-range{color:#d8cdb6;grid-area:1/3;align-self:center;font-size:11.5px}.worlds-row-dur{color:#8b8270}.worlds-row-stats{color:#8b8270;grid-area:2/1/auto/-1;font-size:11px}.shepherd-modal-overlay-container{z-index:9990}.shepherd-element.thb-shepherd{color:#e5ddc7;z-index:9999;background:linear-gradient(#1f1812 0%,#15100c 100%);border:1px solid #a0825a4d;border-radius:12px;max-width:380px;font-family:ui-sans-serif,system-ui,sans-serif;box-shadow:0 24px 64px -12px #000000b3,inset 0 1px #ffffff0f}.thb-shepherd .shepherd-header{background:0 0;border-radius:12px 12px 0 0;padding:16px 18px 6px}.thb-shepherd .shepherd-title{color:#f0eada;letter-spacing:.005em;font-size:15px;font-weight:700}.thb-shepherd .shepherd-cancel-icon{color:#8a8170;font-size:18px;transition:color .12s}.thb-shepherd .shepherd-cancel-icon:hover{color:#e5ddc7}.thb-shepherd .shepherd-text{color:#b9b0a0;padding:4px 18px 14px;font-size:13px;line-height:1.55}.thb-shepherd .shepherd-footer{border-radius:0 0 12px 12px;justify-content:flex-end;gap:8px;padding:4px 14px 14px;display:flex}.thb-shepherd .shepherd-button{letter-spacing:.02em;cursor:pointer;color:#1a1208;background:linear-gradient(#d8b270,#9a6f3a);border:none;border-radius:7px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:transform 80ms,filter .12s;box-shadow:inset 0 1px #ffebc840,0 2px 8px #78502873}.thb-shepherd .shepherd-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.thb-shepherd .shepherd-button:active{filter:brightness(.95);transform:translateY(0)}.thb-shepherd .shepherd-button-secondary{color:#8a8170!important;box-shadow:none!important;background:0 0!important;border:1px solid #ffffff1a!important}.thb-shepherd .shepherd-button-secondary:hover,.thb-shepherd .shepherd-button-secondary:focus{color:#e5ddc7!important;filter:none!important;background:#ffffff0a!important}.shepherd-element.thb-shepherd,.shepherd-element.thb-shepherd .shepherd-content,.shepherd-element.thb-shepherd .shepherd-header,.shepherd-element.thb-shepherd .shepherd-footer,.shepherd-element.thb-shepherd .shepherd-text{background:0 0!important}.shepherd-element.thb-shepherd{background:linear-gradient(#1f1812 0%,#15100c 100%)!important}.thb-shepherd .shepherd-button{color:#1a1208!important;background:linear-gradient(#d8b270,#9a6f3a)!important}.thb-shepherd .shepherd-button:hover,.thb-shepherd .shepherd-button:focus{color:#1a1208!important;filter:brightness(1.05)!important;background:linear-gradient(#e6c280,#aa7f4a)!important}.fallback-banner{z-index:80;color:#f0d088;background:#3c2614f5;border:1px solid #7a5a2e;border-radius:6px;margin-top:6px;padding:6px 14px;font-size:11px;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.fallback-banner button{color:#f6e2b0;cursor:pointer;background:#5e4326;border:1px solid #8a6a3e;border-radius:4px;margin-left:6px;padding:2px 8px;font-family:inherit;font-size:10px}:root:has(.sandbox-bar){--dock-lift:0px;--dock-over-map:0px}.sandbox-bar{--bar-wood:#241b14f2;--bar-line:#5d4632;--bar-dim:#9c8b66;--bar-cream:#e8d7ab;--bar-parchment:#ebdfbd;--bar-ink:#2b2117;--bar-tool:36px;z-index:60;padding:10px calc(12px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(16px + var(--safe-left));background:var(--px-grain);border-top:2px solid var(--px-ink);box-shadow:inset 0 2px 0 var(--px-brass), inset 0 4px 0 #00000059;color:var(--bar-cream);flex-direction:column;flex:none;gap:5px;font-family:inherit;display:flex;position:relative}.sandbox-bar button{font:inherit;cursor:pointer}.sandbox-bar button:focus-visible{outline:2px solid var(--px-gold);outline-offset:1px}.dock-nav{scrollbar-width:none;white-space:nowrap;align-items:center;gap:14px;min-width:0;padding:2px 0 6px;display:flex;overflow:auto hidden}.dock-nav::-webkit-scrollbar{display:none}.dock-tabs,.dock-groups{flex:none;align-items:center;display:flex}.dock-tabs{gap:14px}.dock-groups{border-left:2px solid var(--px-ink);box-shadow:inset 2px 0 0 var(--px-groove);gap:4px;padding-left:14px}.dock-tab{color:var(--bar-dim);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:2px 0 1px;font-size:11px;line-height:1.3;position:relative}.dock-tab:hover{color:var(--bar-cream)}.dock-tab.active{color:var(--px-gold-text);border-bottom-color:var(--px-gold)}.dock-group-chip{color:var(--bar-cream);letter-spacing:.06em;opacity:.7;background:0 0;border:0;padding:3px 9px;font-size:11px;line-height:1.4;position:relative}.dock-group-chip:hover{opacity:1}.dock-group-chip.active{background:var(--px-raised);box-shadow:var(--px-raised-shadow);clip-path:var(--px-notch);color:var(--px-gold-text);opacity:1}.dock-tab.engaged:not(.active):before,.dock-group-chip.engaged:not(.active):before{content:"";background:var(--px-gold);width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-4px;left:50%}.dock-new{width:4px;height:4px;box-shadow:0 0 0 1px var(--px-ink);pointer-events:none;background:#f0c24c;position:absolute;top:0;right:-5px}.dock-group-chip .dock-new{right:-1px}.dock-row{align-items:center;gap:10px;min-width:0;display:flex}.dock-tools{scrollbar-width:none;flex:auto;gap:3px;min-width:0;display:flex;overflow:auto hidden}.dock-tools::-webkit-scrollbar{display:none}.dock-tools.more-after{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.dock-tools.more-before{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px);mask-image:linear-gradient(90deg,#0000,#000 32px)}.dock-tools.more-before.more-after{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.dock-tile{width:var(--bar-tool);height:var(--bar-tool);background:var(--px-raised);border:2px solid var(--px-ink);box-shadow:var(--px-raised-shadow);clip-path:var(--px-notch);flex:none;place-items:center;padding:0;transition:background 90ms;display:grid}.dock-tile svg{filter:drop-shadow(1px 1px #00000080)}.dock-tile:hover{background:var(--px-raised-hover)}.dock-tile:active{box-shadow:var(--px-pressed-shadow)}.dock-tile:active svg{transform:translateY(1px)}.dock-tile.active{background:var(--px-active);border-color:var(--px-gold);box-shadow:var(--px-pressed-shadow)}.sandbox-bar .dock-tile:focus-visible{outline-offset:-2px}.dock-brush{border-left:2px solid var(--px-ink);box-shadow:inset 2px 0 0 var(--px-groove);flex:none;align-items:center;gap:3px;padding-left:10px;display:flex}.dock-brush button{background:var(--px-raised);min-width:22px;height:22px;box-shadow:inset 1px 1px 0 var(--px-raised-hi), inset -1px -2px 0 var(--px-raised-lo);clip-path:var(--px-notch);color:var(--bar-cream);border:0;padding:0 4px;font-size:11px}.dock-brush button:hover{background:var(--px-raised-hover)}.dock-brush button.active{background:var(--px-active);box-shadow:inset 1px 2px 0 var(--px-raised-lo), inset -1px -1px 0 var(--px-raised-hi);color:var(--px-gold-text)}.dock-held{background:var(--bar-parchment);border:2px solid var(--px-ink);clip-path:var(--px-notch);color:var(--bar-ink);white-space:nowrap;pointer-events:none;padding:3px 8px;font-size:11px;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%);box-shadow:inset 0 -2px #c9b78c}.dock-held.detached{left:14px;transform:none}.dock-hint{max-width:55%;color:var(--bar-cream);pointer-events:none;font-size:11px;position:absolute;bottom:calc(100% + 6px);right:10px}.dock-hint>span{clip-path:var(--px-notch);white-space:nowrap;text-overflow:ellipsis;background:#110c08e0;padding:4px 9px;display:block;overflow:hidden}.dock-hint:empty{display:none}.time-control{isolation:isolate;height:var(--bar-tool);color:var(--bar-cream);flex:none;align-items:center;padding:2px;display:flex;position:relative}.time-control:before{content:"";z-index:-1;background:var(--px-inset);border:2px solid var(--px-ink);box-shadow:var(--px-sunken-shadow);clip-path:var(--px-notch);position:absolute;inset:0}.time-pause{background:var(--px-raised);border:0;border-right:2px solid var(--px-ink);width:38px;height:100%;box-shadow:var(--px-raised-shadow);place-items:center;padding:0;display:grid}.time-pause:hover{background:var(--px-raised-hover)}.time-control.paused .time-pause{background:var(--px-active);box-shadow:var(--px-pressed-shadow)}.time-step{width:24px;height:100%;color:var(--bar-dim);background:0 0;border:0;padding:0;font-size:16px;line-height:1}.time-step:hover:not(:disabled){color:var(--px-gold-text)}.time-step:disabled{cursor:default;opacity:.35}.time-step:last-of-type{margin-right:6px}.time-speed-value{min-width:46px;height:24px;clip-path:var(--px-notch);color:var(--px-gold-text);background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:700;position:relative}.time-speed-value:hover,.time-speed-value[aria-expanded=true]{background:#e9c45a1f}.time-control.paused .time-speed-value{color:var(--bar-dim)}.time-lag{background:#e0894a;width:4px;height:4px;position:absolute;top:3px;right:1px}.time-speed-list{z-index:2;background:var(--px-wood);border:2px solid var(--px-ink);width:168px;box-shadow:var(--px-frame-shadow);color:var(--px-text);flex-direction:column;gap:1px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 10px);right:0}.time-speed-list button{clip-path:var(--px-notch);color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;padding:3px 8px;font-size:12px;display:flex}.time-speed-list button:hover{background:var(--px-raised)}.time-speed-list button.active{background:var(--px-active);box-shadow:var(--px-pressed-shadow);color:var(--px-gold-text);font-weight:700}.time-speed-list small{color:var(--px-muted);font-size:11px;font-weight:400}.sandbox-bar .time-speed-list button:focus-visible{outline-offset:-2px}@media (width<=767px){.sandbox-bar{--bar-tool:40px;padding:0 calc(8px + var(--safe-right)) calc(6px + var(--safe-bottom)) calc(10px + var(--safe-left));gap:0}.dock-nav{flex-direction:column;align-items:stretch;gap:0;overflow:visible}.dock-tabs,.dock-groups{scrollbar-width:none;padding-bottom:6px;overflow:auto hidden}.dock-tabs::-webkit-scrollbar{display:none}.dock-groups::-webkit-scrollbar{display:none}.dock-tabs{gap:12px}.dock-groups{box-shadow:none;border-left:0;gap:4px;padding-left:0}.dock-row{gap:6px}.dock-tab{background:linear-gradient(var(--px-gold), var(--px-gold)) no-repeat center bottom 4px / 0 2px;border-bottom-width:0;padding:9px 0 6px}.dock-tab.active{background-size:100% 2px}.dock-group-chip{padding:4px 8px}.dock-tab .dock-new{top:8px}.dock-held,.dock-hint{bottom:calc(100% + 8px)}.dock-hint{max-width:70%}.dock-brush{gap:2px;padding-left:8px}.dock-brush button{min-width:28px;height:28px}.time-step{width:20px}.time-speed-value{min-width:40px}.time-speed-list{width:190px}.time-speed-list button{padding:7px 10px;font-size:13px}}@media (prefers-reduced-motion:reduce){.dock-tile{transition:none}}.hotkey-help{z-index:60;background:#0a06028c;place-items:center;display:grid;position:fixed;inset:0}.hotkey-help-card{background:var(--px-wood);color:#e7d8bc;min-width:260px;max-width:min(92vw,380px);padding:14px 16px;box-shadow:inset 2px 2px #9c7a3e,inset -2px -3px #3a2a15}.hotkey-help-title{color:#f3d17a;margin-bottom:8px;font-size:13px}.hotkey-help-list{gap:4px;margin:0;display:grid}.hotkey-help-row{grid-template-columns:110px 1fr;gap:8px;font-size:12px;display:grid}.hotkey-help-row dt{color:#f3d17a;font-weight:700}.hotkey-help-row dd{margin:0}.hotkey-help-close{margin-top:10px}.header{--hdr-ink:var(--px-ink);--hdr-brass:var(--px-brass);--hdr-gold:var(--px-gold-text);--hdr-notch:var(--px-notch);min-height:48px;padding-top:calc(6px + var(--safe-top));padding-bottom:8px;padding-right:calc(12px + var(--safe-right));padding-left:calc(16px + var(--safe-left));border-bottom:2px solid var(--hdr-ink);box-shadow:inset 0 -2px 0 var(--hdr-brass), inset 0 -4px 0 #00000059;background:repeating-linear-gradient(0deg,#2b2118 0 22px,#231a13 22px 24px);flex-wrap:nowrap;gap:12px}.header h1{letter-spacing:.16em;color:var(--hdr-gold);text-shadow:0 2px #000;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.header h1 svg{filter:drop-shadow(0 2px #000)}.header .github-link{color:#8f8272}.header .github-link:hover{color:var(--hdr-gold)}.header .star-link{gap:5px;margin-left:2px;padding:0 9px 0 7px;text-decoration:none}.header .star-link .github-icon{width:14px;height:14px}.header .header-badges{flex-wrap:wrap;flex:auto;align-content:flex-start;gap:6px;min-width:0;height:28px;overflow:hidden}.header .population-badge{order:0}.header .weather-chip{order:1}.header .time-tag{order:0}.header .era-badge{order:4}.header .moon-badge{order:5}.header .hdr-chip{border:2px solid var(--hdr-ink);height:28px;clip-path:var(--hdr-notch);letter-spacing:.06em;white-space:nowrap;cursor:default;border-radius:0;flex:none;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;box-shadow:inset 2px 2px #00000073,inset -1px -1px #ffffff0f}:where(.header) .hdr-chip{color:#e7d8bc;background:#1a130d}.header .hdr-chip.moon-badge{text-transform:lowercase}.header .hdr-chip:not(.moon-badge):not(.time-tag){text-transform:uppercase}.header .hdr-dim{color:#9d8c6e;font-weight:400}.header .hdr-chip.population-badge .hdr-dim{margin-left:-2px}.header .hdr-chip.time-tag{--season-dot:#8e5;color:#e7d8bc;text-transform:uppercase;gap:5px;padding:0 8px 0 7px}.header .time-tag-year{color:#f3d17a}.header .time-tag-sep{color:#6f604a}.header .time-tag-season{align-items:center;gap:5px;display:inline-flex}.header .time-tag-dot{background:var(--season-dot);flex:none;width:7px;height:7px;box-shadow:0 0 0 1px #000}.header .time-tag-phase{text-transform:lowercase;align-items:center;gap:4px;display:inline-flex}.header .time-tag.season-decline{--season-dot:#db5}.header .time-tag.season-scarcity{--season-dot:#e73}.header .time-tag.season-recovery{--season-dot:#5cd}.header .time-tag.hard-winter{--season-dot:#b9e2ff;color:#b9e2ff;text-shadow:0 0 4px #aadcff8c}.header .time-tag-omen{color:#b9e2ff;text-shadow:0 0 4px #aadcff99;margin-left:2px}.header .hdr-chip.weather-chip{gap:4px;padding:0 7px}.header .weather-chip.rain{color:#6af;background:#0a1a30}.header .weather-chip.drought{color:#d94;background:#2a1600;animation:1.5s ease-in-out infinite pulse-drought}.header .weather-chip.storm{color:#abf;background:#0d0d22;animation:1.2s ease-in-out infinite pulse-drought}@media (prefers-reduced-motion:reduce){.header .weather-chip.drought,.header .weather-chip.storm{animation:none}}.header .population-badge .pop-sick{color:#bf4;align-items:center;gap:4px;margin-left:4px;display:inline-flex}.header .header-actions,.header .header-panels{flex-shrink:0;align-items:center;gap:4px;display:flex}.header .header-actions{margin-left:auto}.header .header-panels{box-shadow:-2px 0 0 #3f3022, -4px 0 0 var(--hdr-ink);padding-left:10px}.header .hdr-btn{border:2px solid var(--hdr-ink);width:auto;height:30px;min-height:30px;clip-path:var(--hdr-notch);color:#e7d8bc;font:inherit;letter-spacing:.05em;white-space:nowrap;cursor:pointer;background:#45362a;border-radius:0;align-items:center;gap:6px;margin:0;padding:0 10px 0 7px;font-size:11px;transition:background 90ms;display:inline-flex;box-shadow:inset 2px 2px #6a5439,inset -2px -3px #2a1f15}.header .hdr-btn:hover{color:#fff3d6;border-color:var(--hdr-ink);background:#54422f}.header .hdr-btn:active{box-shadow:inset 2px 3px #2a1f15,inset -2px -2px #6a5439}.header .hdr-btn.active,.header .hdr-btn[aria-pressed=true],.header .hdr-btn[aria-expanded=true]{color:var(--hdr-gold);background:#5c4527;border-color:#e8b64c;box-shadow:inset 2px 2px #9c7a3e,inset -2px -3px #3a2a15}.header .hdr-btn:focus-visible{outline-offset:-4px;outline:2px solid #e8b64c}.header .hdr-btn.fullscreen-btn{padding:0 7px}.header .btn-count{min-width:16px;color:var(--hdr-gold);text-align:center;background:#1a130d;padding:1px 4px;font-size:10px}@media (width<=1480px){.header .moon-badge{display:none}}@media (width<=1320px){.header .header-actions .btn-label,.header .header-panels .btn-label{display:none}.header .hdr-btn{padding:0 7px}}@media (width<=1080px){.header .era-badge,.header .github-link,.header .star-link .btn-label{display:none}}.ui-tooltip{color:#e7d8bc;background:#1c140d;border:2px solid #8a6a3e;border-radius:0;padding:6px 9px;box-shadow:0 3px #00000073}.ui-tooltip--above .ui-tooltip-arrow{border-top-color:#8a6a3e}.ui-tooltip--above .ui-tooltip-arrow:after{border-top-color:#1c140d}.ui-tooltip--below .ui-tooltip-arrow{border-bottom-color:#8a6a3e}.ui-tooltip--below .ui-tooltip-arrow:after{border-bottom-color:#1c140d}.tip-card{text-align:left;flex-direction:column;gap:3px;max-width:240px;display:flex}.tip-title{color:#f3d17a;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.tip-body{color:#e7d8bc}.tip-how{color:#9d8c6e;font-size:10px}.header .hdr-chip.peril-chip{cursor:pointer;color:#ffb4a8;background:#c83c2829;border-color:#8a3b2e;order:0;font-family:inherit}.header .hdr-chip.peril-chip:hover{color:#ffd2c6;filter:brightness(1.15)}.header .prayer-chip-wrap{order:1;display:inline-flex}.header .hdr-chip.prayer-chip{cursor:pointer;color:#f6e7b4;font-family:inherit}.header .hdr-chip.prayer-chip:hover,.header .hdr-chip.prayer-chip.active{color:#fff6d2;filter:brightness(1.15)}.header .hdr-chip.prayer-chip.urgent{color:#ffb4a8;animation:1.1s steps(2,end) infinite prayer-urgent}@keyframes prayer-urgent{50%{color:#ff6a58}}.prayer-list{z-index:210;background:var(--px-wood,#2c231f);min-width:260px;max-width:min(340px,100vw - 32px);max-height:50vh;color:var(--px-text,#f2e6cc);border:2px solid var(--px-ink,#140e0a);box-shadow:var(--px-frame-shadow,0 4px 16px #00000080);flex-direction:column;gap:2px;padding:4px;display:flex;position:fixed;overflow-y:auto}.prayer-row{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:16px 1fr 44px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:grid}.prayer-row:hover,.prayer-row:focus-visible{background:#ffe4a01a;outline:none}.prayer-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prayer-time{background:#00000073;height:4px;box-shadow:inset 0 0 0 1px #00000080}.prayer-time>span{background:#c9a043;height:100%;display:block}.prayer-time.low>span{background:#d0453a}@media (prefers-reduced-motion:reduce){.header .hdr-chip.prayer-chip.urgent{animation:none}}@media (width<=767px){.header{padding-left:calc(12px + var(--safe-left))}}.world-silent-stats{grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 0;display:grid}.world-silent-stats dt{opacity:.7}.world-silent-stats dd{margin:0;font-weight:600}.world-silent-forsaken{opacity:.7;font-weight:400}.update-toast.prayer-hint{right:auto;left:calc(20px + var(--safe-left))}.tribe-card{z-index:40;background:var(--px-wood,#2c231f);width:min(260px,100vw - 32px);color:var(--px-text,#f2e6cc);border:2px solid var(--px-ink,#140e0a);box-shadow:var(--px-frame-shadow,0 4px 16px #00000080);pointer-events:auto;padding:8px 10px 10px;font-size:11px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.tribe-card-head{align-items:center;gap:6px;display:flex}.tribe-card-name{color:#ffe0a0;flex:1;font-weight:700}.tribe-card-close{color:inherit;font:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;font-size:14px}.tribe-card-close:hover{opacity:1}.tribe-card-sub{opacity:.7;margin:2px 0 6px}.tribe-need{grid-template-columns:44px 1fr;align-items:center;gap:6px;margin:3px 0;display:grid}.tribe-need-bar{background:#00000073;height:5px;box-shadow:inset 0 0 0 1px #00000080}.tribe-need-bar>span{background:#7fb04e;height:100%;display:block}.tribe-need.low .tribe-need-bar>span{background:#d0453a}.tribe-need.low>span:first-child{color:#ffb4a8}.tribe-card-row{justify-content:space-between;margin-top:6px;display:flex}.tribe-faith{color:#d9b45a}.tribe-faith.blessed{color:#ffe08a;text-shadow:0 0 4px #ffd66ebf}.tribe-faith.despair{color:#9a8f86}.tribe-sick{color:#ffb4a8}.tribe-card-prayer{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:#ffe4a014;border:1px solid #6a5340;align-items:center;gap:6px;margin-top:8px;padding:5px 6px;display:flex}.tribe-card-prayer:hover{background:#ffe4a029}.tribe-card-help{color:#ffe0a0;margin-left:auto;font-weight:700}.event-row.godly{background:#d9b45a0f;box-shadow:inset 2px 0 #d9b45a}.tribe-next{border-top:1px solid #ffffff14;margin-top:8px;padding-top:6px}.tribe-next-head{color:#caf;justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.tribe-next .tribe-need-bar{display:block}.tribe-next .tribe-need-bar>span{background:#a98ce0}.tribe-next-missing{opacity:.75;margin-top:3px;font-size:10px}.tribe-next-actions{flex:none;gap:4px;display:inline-flex}.tribe-inspire{white-space:nowrap;color:#9fd4ff;font:inherit;cursor:pointer;background:#7cc8ff14;border:1px solid #6a5340;padding:1px 6px;font-size:10px}.tribe-inspire:hover{background:#7cc8ff2e}.tribe-peril{color:#ffb3a3;background:#c83c2824;border:1px solid #8a3b2e;justify-content:space-between;align-items:center;gap:6px;margin:4px 0 6px;padding:4px 6px;font-size:10px;line-height:1.3;display:flex}.tribe-spark{color:#9aa38c;align-items:center;gap:6px;margin:2px 0 4px;font-size:9px;display:flex}.tribe-spark polyline{stroke:currentColor}.tribe-spark.up{color:#8fd18a}.tribe-spark.down{color:#ff9f8c}.tribe-card-rename{font:inherit;color:inherit;cursor:text;text-align:left;background:0 0;border:none;padding:0}.tribe-card-rename:hover span{color:#ffd28a}.tribe-card-name-input{min-width:0;font:inherit;color:#fff6d2;background:#00000059;border:1px solid #8a7a52;flex:1;padding:0 3px}.tribe-card-relations{color:#9ac6a6;margin-top:3px;font-size:9px}.wildlife-danger{color:#ff9f8c}.wildlife-away{color:#8c9aa8;font-size:9px}.tribe-card-festival{color:#ffd98a;margin-bottom:2px;font-size:9px}.tribe-card-leader{color:#d9c48a;margin-bottom:2px;font-size:9px}.tribe-leader-link{font:inherit;color:#ffe3a0;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.all-lineages-row{cursor:pointer;flex-wrap:wrap}.all-lineages-row:hover{background:#ffffff0d}.lineage-facts{color:#9c9684;flex-basis:100%;padding-left:14px;font-size:9px}.tribe-card-losses{color:#c9a89a;margin-top:3px;font-size:9px}.tribe-war{color:#ffd2a3;background:#c8782824;border-color:#8a5a2e}.tribe-peril-help{color:#ffd2c6;font:inherit;cursor:pointer;background:#ff8c6e1f;border:1px solid #b0503d;flex:none;padding:1px 6px;font-size:10px}.tribe-peril-help:hover{background:#ff8c6e3d}.header .phone-menu-btn{display:none}@media (width<=767px){.header .phone-menu-btn{flex:none;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.header .header-panels{display:none}}.thb-modal.phone-menu-modal[class]{max-height:min(82dvh, calc(100dvh - 56px - var(--safe-top)));padding-bottom:var(--safe-bottom);border-bottom:0;border-left:0;border-right:0;flex-direction:column;display:flex;width:100%!important;max-width:100%!important;inset:auto 0 0!important;transform:none!important}.phone-menu-head{background:var(--px-grain);border-bottom:2px solid var(--px-ink);min-height:52px;box-shadow:inset 0 -2px 0 var(--px-brass);flex:none;justify-content:space-between;align-items:center;padding:0 6px 0 16px;display:flex}.phone-menu-title{color:var(--dialog-accent);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px #000;font-size:12px;font-weight:700}.phone-menu-close{color:#e7d8bc;width:44px;height:44px;font:inherit;cursor:pointer;background:0 0;border:0;font-size:24px}.phone-menu-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 12px 16px;overflow-y:auto}.phone-menu-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.phone-menu-row{border:2px solid var(--px-ink);color:#e7d8bc;min-height:48px;font:inherit;letter-spacing:.04em;text-align:left;cursor:pointer;background:#45362a;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:flex;box-shadow:inset 2px 2px #6a5439,inset -2px -3px #2a1f15}.phone-menu-row:active{background:#54422f}.phone-menu-row[aria-pressed=true]{border-color:var(--px-brass);background:#5d4a31}.phone-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.phone-menu-world{grid-template-columns:minmax(0,1fr);margin-bottom:8px}.phone-menu-status{color:#a8987c;margin-left:10px;font-size:10px}.phone-menu-row:disabled{opacity:.75}.phone-menu-section{color:#8f8272;letter-spacing:.12em;text-transform:uppercase;margin:16px 2px 8px;font-size:11px}.phone-menu-body .more-dropdown{min-width:0;box-shadow:none;background:0 0;border:0;gap:8px;padding:0;position:static}.phone-menu-body .more-dropdown-grid{grid-template-columns:repeat(2,1fr);gap:8px}.phone-menu-body .more-dropdown .lang-btn{min-height:44px;font-size:13px}.phone-menu-modal .btn-count{min-width:16px;color:var(--px-gold);text-align:center;background:#1a130d;padding:1px 4px;font-size:10px}.phone-menu-body .more-dropdown-section{color:#8f8272;padding:4px 2px 0;font-size:11px}.thb-modal[class],.world-tool-search,.cmd-panel,.more-dropdown,.welcome-modal,.shepherd-element.thb-shepherd,.desktop-toast,.update-toast,.idle-resume-panel{background:var(--px-wood);color:var(--px-text);border:2px solid var(--px-ink);box-shadow:var(--px-frame-shadow);font-family:var(--dialog-font);scrollbar-color:var(--px-brass) var(--px-inset);scrollbar-width:thin;border-radius:0}.thb-modal :is(.lang-modal-header,.cv-modal-head,.worlds-head),.thb-shepherd .shepherd-header{background:var(--px-grain);border-bottom:2px solid var(--px-ink);box-shadow:inset 0 -2px 0 var(--px-brass), inset 0 2px 0 var(--px-brass);border-radius:0}.thb-modal :is(.lang-modal-title,.cv-modal-title,.worlds-title),.world-tool-search header span,.thb-shepherd .shepherd-title,.welcome-title,.desktop-toast-title,.idle-resume-title{color:var(--px-gold-text);letter-spacing:.14em;text-shadow:0 2px #000;font-weight:700}.thb-modal :is(.lang-modal-title,.cv-modal-title,.worlds-title){text-transform:uppercase;font-size:12px}.lang-btn,.close-btn,.welcome-btn,.idle-resume-btn,.desktop-toast-close,.desktop-toast-copy,.desktop-toast-primary,.desktop-toast-secondary,.world-tool-search header button,.thb-shepherd .shepherd-button{border:2px solid var(--px-ink);clip-path:var(--px-notch);background:var(--px-raised);box-shadow:var(--px-raised-shadow);color:var(--px-text);font-family:var(--dialog-font);letter-spacing:.05em;cursor:pointer;border-radius:0;transition:background 90ms}.lang-btn{min-height:26px;padding:3px 10px;font-size:11px}.lang-btn:hover,.close-btn:hover,.welcome-btn:hover,.idle-resume-btn:hover,.desktop-toast-close:hover,.desktop-toast-copy:hover,.desktop-toast-secondary:hover,.world-tool-search header button:hover,.thb-shepherd .shepherd-button:hover{background:var(--px-raised-hover);color:#fff3d6;border-color:var(--px-ink)}.lang-btn:active,.close-btn:active,.welcome-btn:active,.idle-resume-btn:active,.thb-shepherd .shepherd-button:active{box-shadow:var(--px-pressed-shadow)}.lang-btn.active{background:var(--px-active);border-color:var(--px-gold);color:var(--px-gold-text);box-shadow:inset 2px 2px #9c7a3e,inset -2px -3px #3a2a15}.welcome-btn--primary,.desktop-toast-primary,.idle-resume-btn,.lang-btn.primary,.thb-shepherd .shepherd-button:not(.shepherd-button-secondary){color:#1f150b;background:#c9973f;box-shadow:inset 2px 2px #f3d17a,inset -2px -3px #7a5522}.welcome-btn--primary:hover,.desktop-toast-primary:hover,.idle-resume-btn:hover,.lang-btn.primary:hover,.thb-shepherd .shepherd-button:not(.shepherd-button-secondary):hover{color:#1f150b;background:#dcaa4c}.close-btn,.thb-modal .close-btn{min-width:30px;min-height:30px;color:var(--px-text);border-radius:0;place-items:center;padding:0 6px;font-size:12px;display:inline-grid}.close-btn:hover,.thb-modal .close-btn:hover{color:#ffd9cf;background:#6a2d24}@media (pointer:coarse){.close-btn,.thb-modal .close-btn{min-width:44px;min-height:44px}}:is(.lang-btn,.close-btn,.welcome-btn,.thb-shepherd .shepherd-button):focus-visible{outline:2px solid var(--px-gold);outline-offset:-4px}.filter-chip{border:2px solid var(--px-ink);clip-path:var(--px-notch);background:var(--px-inset);box-shadow:var(--px-sunken-shadow);color:var(--px-muted);font-family:var(--dialog-font);border-radius:0;padding:3px 9px;font-size:10px}.filter-chip:hover{color:var(--px-text);border-color:var(--px-ink)}.filter-chip.active,.thb-modal .filter-chip.active{background:var(--px-active);border-color:var(--px-gold);color:var(--px-gold-text);box-shadow:none}.thb-modal :is(input[type=text],input[type=search],input:not([type]),select,textarea),.world-tool-search input,.cmd-input{background:var(--px-inset);color:var(--px-text);border:2px solid var(--px-ink);box-shadow:var(--px-sunken-shadow);font-family:var(--dialog-font);border-radius:0}.thb-modal :is(input,select,textarea):focus,.world-tool-search input:focus,.cmd-input:focus{border-color:var(--px-gold);outline:none}@media (width>=768px){.layout{position:relative}.panel-left,.panel-left.open,.panel-right,.panel-right.open{z-index:50;background:var(--px-wood-dark);scrollbar-color:var(--px-brass) var(--px-inset);scrollbar-width:thin;visibility:hidden;padding:8px 12px;transition:transform .22s cubic-bezier(.4,0,.2,1),visibility 0s linear .22s;position:absolute;top:0;bottom:0;overflow:hidden auto}.panel-left,.panel-left.open{left:var(--safe-left);border-right:2px solid var(--px-ink);width:240px;box-shadow:inset -2px 0 0 var(--px-brass), 6px 0 0 #0000004d;transform:translate(-100%)}.panel-right,.panel-right.open{right:var(--safe-right);border-left:2px solid var(--px-ink);width:320px;box-shadow:inset 2px 0 0 var(--px-brass), -6px 0 0 #0000004d;transform:translate(100%)}.panel-left.open,.panel-right.open{visibility:visible;transition:transform .22s cubic-bezier(.4,0,.2,1);transform:none}}@media (width<=767px){.panel-left,.panel-right{background:var(--px-wood-dark)}.panel-right{border-top:2px solid var(--px-ink);box-shadow:inset 0 2px 0 var(--px-brass);border-radius:0}.panel-left{border-right:2px solid var(--px-ink);box-shadow:inset -2px 0 0 var(--px-brass)}}@media (prefers-reduced-motion:reduce){.panel-left,.panel-right,.panel-left.open,.panel-right.open{transition:none}}.section-title{color:var(--px-gold-text);letter-spacing:.14em;border-bottom:2px solid var(--px-ink);box-shadow:0 1px 0 var(--px-groove);text-shadow:0 1px #000;padding:6px 0 4px;font-size:10px;font-weight:700}.lineage-row:hover{background:#e8b64c12}.lineage-row.active{background:var(--px-active);border-color:var(--px-gold);border-radius:0}.more-dropdown{gap:6px;padding:8px}.more-dropdown-section{color:var(--px-muted);letter-spacing:.14em;padding:4px 2px 0;font-size:9px;font-weight:700}.more-dropdown-divider{background:var(--px-ink);height:2px;box-shadow:0 1px 0 var(--px-groove)}.more-dropdown-actions{gap:6px;display:grid}.more-dropdown-action{border:2px solid var(--px-ink);min-height:32px;clip-path:var(--px-notch);background:var(--px-raised);box-shadow:var(--px-raised-shadow);color:var(--px-gold-text);font-family:var(--dialog-font);letter-spacing:.04em;text-align:left;cursor:pointer;align-items:baseline;gap:10px;padding:5px 10px;font-size:12px;display:flex}.more-dropdown-action:hover:not(:disabled){background:var(--px-raised-hover)}.more-dropdown-action:disabled{cursor:default;opacity:.75}.more-dropdown-action kbd{color:var(--px-muted);font:inherit;order:2;margin-left:auto;font-size:12px}.more-dropdown-status{min-width:0;color:var(--px-muted);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.more-dropdown-action.error .more-dropdown-status{color:#e0907e}.more-dropdown-action.busy>span{animation:.9s ease-in-out infinite sandbox-save-pulse}@keyframes sandbox-save-pulse{50%{opacity:.45}}.cmd-row-active{background:var(--px-active);color:var(--px-gold-text)}.welcome-modal{padding:24px 22px 18px}.welcome-body,.desktop-toast-sub,.idle-resume-sub,.thb-shepherd .shepherd-text{color:var(--px-text)}.welcome-dot{border-radius:0}.thb-shepherd .shepherd-arrow:before{background:var(--px-wood);border-color:var(--px-brass)}.thb-shepherd .shepherd-header{padding:12px 16px 10px}.thb-shepherd .shepherd-cancel-icon{color:var(--px-muted)}.star-toast{animation:.42s cubic-bezier(.2,1.3,.4,1) thb-star-toast-in}.star-toast-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.star-toast-head .desktop-toast-title{margin:0}.star-toast-glyph{font-size:15px;line-height:1}.star-toast-star{filter:drop-shadow(0 2px 0 var(--px-ink));place-items:center;animation:1.4s steps(2,end) infinite thb-star-twinkle;display:inline-grid}@keyframes thb-star-toast-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes thb-star-twinkle{0%,to{transform:scale(1)}50%{transform:scale(1.18)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.star-toast,.star-toast-star{animation:none}}.desktop-toast-cmd{background:var(--px-inset);border:2px solid var(--px-ink);box-shadow:var(--px-sunken-shadow);border-radius:0}.waiting{color:var(--px-muted);font-family:var(--dialog-font);background:#1a130d}.waiting-title{color:var(--px-gold-text);letter-spacing:.2em;text-shadow:0 2px #000;font-weight:700}.waiting-sub{color:var(--px-muted)}.waiting-spinner{background:var(--px-gold);width:16px;height:16px;box-shadow:20px 0 0 var(--px-brass), 40px 0 0 var(--px-groove);border:0;border-radius:0;margin-right:40px;animation:.9s steps(3,end) infinite px-steps}@keyframes px-steps{0%{box-shadow:20px 0 0 var(--px-brass), 40px 0 0 var(--px-groove);background:var(--px-gold)}33%{box-shadow:20px 0 0 var(--px-gold), 40px 0 0 var(--px-brass);background:var(--px-groove)}66%{box-shadow:20px 0 0 var(--px-groove), 40px 0 0 var(--px-gold);background:var(--px-brass)}}@media (prefers-reduced-motion:reduce){.waiting-spinner{animation:none}}.org-card,.org-detail,.stats-num-card{background:var(--px-wood);border:2px solid var(--px-ink);box-shadow:inset 0 0 0 1px var(--px-groove);border-radius:0}.org-card.dead{box-shadow:none}.attitude-tag,.relation-tag,.org-tag{background:var(--px-inset);border:1px solid var(--px-ink);box-shadow:var(--px-sunken-shadow);border-radius:0}.icon-btn{border:2px solid var(--px-ink);background:var(--px-raised);box-shadow:var(--px-raised-shadow);color:var(--px-text);border-radius:0}.icon-btn:hover{background:var(--px-raised-hover);color:#fff3d6}.bar-track,.trait-bar-wrap{background:var(--px-inset);border-radius:0;height:4px;box-shadow:inset 1px 1px #00000080}.bar-fill,.trait-bar{border-radius:0}.stats-section-title{color:var(--px-gold-text);letter-spacing:.14em;text-shadow:0 1px #000}.stats-num{color:var(--px-gold-text)}.stats-num-label{color:var(--px-muted)}.thb-modal.settings-modal{flex-direction:column;width:min(780px,100vw - 24px);display:flex}.settings-layout{grid-template-columns:170px minmax(0,1fr);min-height:min(56vh,440px);max-height:min(70vh,640px);display:grid}.settings-tabs{background:var(--px-inset);border-right:2px solid var(--px-ink);box-shadow:1px 0 0 var(--px-groove);flex-direction:column;gap:3px;padding:12px 8px;display:flex;overflow-y:auto}.settings-tab{color:var(--px-muted);font:inherit;letter-spacing:.05em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:flex}.settings-tab:hover{color:var(--px-text);background:#e8b64c12}.settings-tab.active{color:var(--px-gold-text);background:var(--px-active);box-shadow:inset 3px 0 0 var(--px-gold)}.settings-tab:focus-visible{outline:2px solid var(--px-gold);outline-offset:-2px}.settings-pane{scrollbar-color:var(--px-brass) var(--px-inset);scrollbar-width:thin;padding:4px 18px 16px;overflow-y:auto}.settings-section{margin:0;padding-top:14px}.settings-section+.settings-section{border-top:2px solid var(--px-ink);box-shadow:inset 0 1px 0 var(--px-groove);margin-top:6px}.settings-section-title{color:var(--px-gold-text);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px #000;margin:0 0 6px;font-size:11px;font-weight:700}.settings-row{border-bottom:1px solid var(--px-groove);align-items:center;gap:16px;padding:11px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row-text{flex:1;min-width:0}.settings-row-title{color:var(--px-text);margin-bottom:3px;font-size:13px}.settings-row-desc,.settings-note{color:var(--px-muted);font-size:11px;line-height:1.5}.settings-note{margin-top:6px}.settings-note.error{color:#ff9b8a}.settings-row-control{flex-shrink:0}.settings-field{margin:12px 0}.settings-field-label{color:var(--px-text);margin-bottom:6px;font-size:12px}.settings-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.settings-path{background:var(--px-inset);border:2px solid var(--px-ink);box-shadow:var(--px-sunken-shadow);color:var(--px-text);text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;font-size:11px;display:block;overflow:hidden}.settings-footer{border-top:2px solid var(--px-ink);align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.settings-footer .settings-note{margin:0 0 0 auto}.settings-saved{color:#8fd06a;font-size:11px}.lang-btn.danger{color:#ffb4a6}.lang-btn.danger:hover{color:#ffd9cf;background:#6a2d24}.px-switch{border:2px solid var(--px-ink);background:var(--px-inset);width:40px;height:20px;box-shadow:var(--px-sunken-shadow);cursor:pointer;padding:0;position:relative}.px-switch-knob{background:var(--px-raised);width:12px;height:12px;box-shadow:var(--px-raised-shadow);transition:left .12s steps(3,end);position:absolute;top:2px;left:2px}.px-switch.on{background:#6b4f22}.px-switch.on .px-switch-knob{background:var(--px-gold);left:22px;box-shadow:inset 1px 1px #f3d17a,inset -1px -1px #9c7a3e}.px-switch:disabled{cursor:not-allowed;opacity:.6}.px-switch:focus-visible{outline:2px solid var(--px-gold);outline-offset:2px}@media (width<=600px){.settings-layout{grid-template-columns:1fr}.settings-tabs{border-right:0;border-bottom:2px solid var(--px-ink);flex-direction:row;overflow-x:auto}}body.thb-photo-mode .sandbox-bar,body.thb-photo-mode .headline-ticker,body.thb-photo-mode .thb-action-ticker{display:none!important}.stats-rel-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:110px;font-size:10px;overflow:hidden}.stats-rel-muted,.stats-rel-empty{color:var(--px-muted);font-size:9px}.stats-rel-empty{padding:8px 0;font-size:11px}.stats-rel-bar-wrap{background:var(--px-inset);border:2px solid var(--px-ink);border-radius:0;height:8px}.stats-rel-bar{border-radius:0;height:100%}.stats-rel-status{border:2px solid var(--px-ink);border-radius:0;padding:0 5px}.stats-rel-status.status-ally{color:#b9e59a;background:#2d4a22}.stats-rel-status.status-neutral{background:var(--px-raised);color:var(--px-muted)}.stats-rel-status.status-rivals{color:#ffb0a6;background:#5a1f19}:is(.thb-modal,.panel-left,.panel-right,.more-dropdown,.cmd-panel,.world-tool-search) :not(.px-switch-knob,.waiting-spinner,svg *){border-radius:0!important}.civ-modal :is(.civ-section,.civ-calendar,.civ-campaign-board){background:var(--px-wood-dark);border:2px solid var(--px-ink);box-shadow:inset 0 0 0 1px var(--px-groove)}.civ-modal .civ-campaign-card{background:var(--px-inset);border:2px solid var(--px-ink);box-shadow:var(--px-sunken-shadow)}.civ-modal :is(.civ-campaign-badge,.civ-chip,.civ-row-tag){background:var(--px-raised);border:2px solid var(--px-ink);color:var(--px-muted)}.civ-modal .civ-close{z-index:1;position:absolute;top:10px;right:12px}.chronicle-row>.chronicle-text:nth-child(2){grid-column:2/-1}.chronicle-row{border-bottom:2px solid var(--px-ink);box-shadow:0 1px 0 var(--px-groove)}.settings-beta{vertical-align:2px;background:var(--px-active);border:2px solid var(--px-ink);color:var(--px-gold-text);letter-spacing:.12em;text-transform:uppercase;margin-left:8px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.2;display:inline-block}.photo-mode-exit{z-index:200;background:var(--px-wood);border:2px solid var(--px-ink);box-shadow:var(--px-frame-shadow);color:var(--px-text);font:11px/1.4 var(--dialog-font);letter-spacing:.05em;cursor:pointer;opacity:0;pointer-events:none;align-items:center;gap:8px;padding:6px 12px;transition:opacity .3s;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.photo-mode-exit.visible,.photo-mode-exit:focus-visible{opacity:1;pointer-events:auto}.photo-mode-exit:hover{background:var(--px-raised-hover)}.photo-mode-exit kbd{background:var(--px-inset);border:2px solid var(--px-ink);color:var(--px-gold-text);font:inherit;padding:0 4px;font-size:10px}.thb-modal.confirm-modal{width:min(420px,100vw - 32px);padding:0 0 14px}.confirm-modal>[data-radix-dialog-title],.confirm-modal>h2{background:var(--px-grain);border-bottom:2px solid var(--px-ink);box-shadow:inset 0 -2px 0 var(--px-brass);color:var(--px-gold-text);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:10px 14px;font-size:12px}.confirm-body{color:var(--px-text);padding:12px 14px 4px;font-size:12px;line-height:1.5}.confirm-body p{margin:0 0 8px}.confirm-body p+p{color:var(--px-muted)}.confirm-actions{justify-content:flex-end;gap:8px;padding:8px 14px 0;display:flex}.confirm-actions .lang-btn{min-width:84px}.dock-tile.flash{animation:.45s steps(4,end) dock-tile-flash}@keyframes dock-tile-flash{0%{background:#c9973f}to{background:var(--px-raised)}}
