@charset "UTF-8";
:root{color-scheme:dark;--bg:#101817;--surface:#16201e;--surface2:#1d2925;--surface3:#24332c;--line:#2b3932;--text:#e9eee3;--muted:#909f93;--quiet:#63766c;--accent:#c1dda0;--accent-ink:#263722;--map-bg:#173f4c;--shadow:0 10px 30px #07151040;font-family:"Segoe UI",Arial,"Microsoft YaHei",sans-serif;font-synthesis:none}
:root[data-theme=light]{color-scheme:light;--bg:#f3f3e9;--surface:#fafaf2;--surface2:#e9eddf;--surface3:#dde5d1;--line:#d8decf;--text:#26382c;--muted:#657661;--quiet:#788673;--accent:#466339;--accent-ink:#f7faed;--shadow:0 10px 30px #17352718}
*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .16s,color .16s,transform .16s}button:hover{background:var(--surface3)}button:active{transform:translateY(1px)}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}
.topbar{height:78px;display:flex;align-items:center;padding:0 27px;border-bottom:1px solid var(--line);gap:50px;background:var(--bg);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;font-size:22px;font-weight:750;letter-spacing:2.4px;white-space:nowrap}.brand small{font-size:8px;font-weight:500;letter-spacing:2.4px;color:var(--muted);display:block;margin-top:5px}.brand-mark{width:30px;height:36px;position:relative;display:block}.brand-mark i{position:absolute;background:var(--accent);border-radius:1px}.brand-mark i:nth-child(1){width:5px;height:25px;left:14px;top:11px}.brand-mark i:nth-child(2){width:12px;height:13px;left:2px;top:7px;box-shadow:5px 5px 0 -1px var(--accent)}.brand-mark i:nth-child(3){width:12px;height:14px;left:19px;top:0;box-shadow:-4px 5px 0 -1px var(--accent)}.topnav{display:flex;height:100%;gap:27px}.nav-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:0 1px;border-bottom:2px solid transparent}.nav-item.active{color:var(--accent);border-color:var(--accent)}.nav-item:hover{background:none;color:var(--text)}.nav-item svg{width:16px;height:16px}.header-actions{display:flex;align-items:center;gap:15px;margin-left:auto}.preview-badge{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.preview-badge i{width:5px;height:5px;border-radius:50%;background:#b8d08d}.text-button{font-size:12px;padding:8px 5px;color:var(--muted)}.header-divider{width:1px;height:23px;background:var(--line)}.outline-button{border:1px solid var(--line);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:12px}.outline-button svg{width:15px;height:15px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;color:var(--muted);flex-shrink:0}.icon-button:hover,.icon-button.active{color:var(--accent)}
.workspace{height:calc(100dvh - 78px);display:grid;grid-template-columns:minmax(0,1fr) 308px}.world-panel{min-width:0;display:flex;flex-direction:column;overflow:hidden}.world-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 31px 24px;height:134px;flex-shrink:0;position:relative;background:var(--surface)}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);display:flex;align-items:center;gap:8px;font-weight:600}.live-dot{height:5px;width:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px #bdda8740}.heading-separator{color:var(--quiet);margin:0 3px}.world-heading h1{font-family:Georgia,"Times New Roman","Microsoft YaHei",serif;font-size:35px;font-weight:400;letter-spacing:-1px;margin-top:9px;line-height:1}.world-heading h1 span{color:var(--accent)}.world-heading p{font-size:11px;color:var(--muted);margin-top:10px}.era{text-align:right;border-left:1px solid var(--line);padding-left:26px}.era>span{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.era strong{display:block;font-size:25px;font-family:Georgia,"Times New Roman",serif;font-weight:400;margin-top:6px}.era b{font-weight:400;font-variant-numeric:tabular-nums}.era small{display:flex;justify-content:flex-end;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:5px}.era small i{width:5px;height:5px;background:var(--accent);border-radius:50%}
.map-wrap{position:relative;flex:1;min-height:180px;overflow:hidden;background:var(--map-bg)}#world-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none;cursor:grab}#world-canvas.placing{cursor:crosshair}#world-canvas.dragging{cursor:grabbing}.map-caption{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:2px;color:#b6d0cb90;pointer-events:none}.tiny-cross{font-size:16px;color:#a4c8bd}.map-controls{position:absolute;right:19px;top:21px;background:#122923d9;border:1px solid #54776660;box-shadow:var(--shadow);border-radius:7px;display:flex;align-items:center;padding:3px;color:#a3b5aa}.map-controls .icon-button{color:#b8cbbb;width:29px;height:30px}.map-controls .icon-button:hover{background:#395b46}.map-controls .icon-button.active{background:#395b465c;color:#d4e5ac}.map-controls svg{width:15px;height:15px}#zoom-level{font-size:9px;width:36px;text-align:center;font-variant-numeric:tabular-nums}.control-line{height:18px;width:1px;background:#54776660;margin:0 3px}.map-compass{position:absolute;left:27px;bottom:33px;text-align:center;color:#aec5ae70;pointer-events:none}.map-compass span{font-size:9px;letter-spacing:1px}.map-compass div{font-size:39px;line-height:1.1}.map-scale{position:absolute;right:23px;bottom:26px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#bfd2c085;pointer-events:none}.map-scale span{width:68px;height:5px;border:1px solid currentColor;border-top:0}.map-scale small{font-size:8px;letter-spacing:1px}.tool-hint{position:absolute;bottom:113px;left:50%;transform:translateX(-50%);font-size:10px;color:#e5ecd5c9;display:flex;align-items:center;gap:7px;white-space:nowrap;text-shadow:0 1px 3px #052b32;background:#132e2e86;padding:7px 12px;border-radius:20px;pointer-events:none}.hint-key{font-size:15px;color:#cee6a4}.tool-dock{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;padding:7px 9px;background:#17251eef;border:1px solid #69816875;border-radius:11px;box-shadow:0 5px 0 #0e1c18b3,0 16px 45px #071d2566;gap:4px;animation:dock-in .6s ease-out both}.tool{width:69px;height:67px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;color:#9dad99;font-size:9px;border:1px solid transparent;border-radius:6px;position:relative}.tool:hover{background:#293c2d}.tool.active{background:#31432f;color:#d8e7bc;border-color:#78936580}.tool-art{height:29px;display:flex;align-items:center;justify-content:center}.tool-art svg{width:24px;height:24px;stroke-width:1.7}.seed-art{color:#c3dd90}.forest-art{color:#81b66f}.rain-art{color:#8bbdd5}.meteor-art{color:#d59a70}.inspect-art{color:#c7d2bd}.tool kbd{position:absolute;top:4px;right:5px;font:7px monospace;color:#7d9276}.dock-divider{height:39px;width:1px;background:#3c4c3c;margin:0 5px}.map-tooltip{position:absolute;z-index:3;pointer-events:none;background:#14261deb;border:1px solid #66825a;padding:8px 11px;border-radius:5px;color:#dce8ce;font-size:11px;box-shadow:var(--shadow)}.toast{position:absolute;top:77px;left:50%;transform:translate(-50%,-8px);padding:11px 18px;background:#15291ff2;color:#e2edcf;border:1px solid #75925d80;border-radius:7px;font-size:12px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:85%;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
.timeline{height:58px;flex-shrink:0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--surface)}.world-totals{display:flex;gap:17px;align-items:center;font-size:10px;color:var(--muted)}.world-totals>span{display:flex;align-items:center;gap:7px}.world-totals svg{width:14px;height:14px;color:var(--quiet)}.world-totals strong{font-weight:600;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.world-totals>i{height:12px;width:1px;background:var(--line)}.time-controls{display:flex;align-items:center;gap:10px}.time-controls>.icon-button{color:var(--accent);width:30px}.time-controls svg{width:15px;height:15px}.speed-controls{display:flex;gap:2px;background:var(--bg);padding:3px;border:1px solid var(--line);border-radius:5px}.speed-controls button{font-size:10px;padding:4px 9px;border-radius:3px;color:var(--muted)}.speed-controls button.active{background:var(--surface3);color:var(--accent)}.time-label{font-size:9px;color:var(--muted);width:57px}
.inspector{border-left:1px solid var(--line);display:flex;flex-direction:column;background:var(--bg);min-height:0}.inspector-tabs{display:flex;gap:26px;padding:0 23px;min-height:54px;border-bottom:1px solid var(--line)}.inspector-tabs button{font-size:11px;color:var(--muted);border-bottom:2px solid transparent;padding:0 0 2px}.inspector-tabs button.active{color:var(--accent);border-color:var(--accent)}.inspector-tabs button:hover{background:none;color:var(--text)}.inspector-body{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;padding:21px 22px 10px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:15px}.count{font-size:9px;letter-spacing:1px;font-weight:400;color:var(--muted)}.clan-list{display:flex;flex-direction:column;gap:5px}.clan-row{display:flex;align-items:center;text-align:left;width:100%;padding:10px 9px;gap:11px;border-radius:6px;border:1px solid transparent}.clan-row.active{background:var(--surface2);border-color:var(--line)}.clan-row .clan-swatch{display:flex;width:29px;height:33px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--clan) 13%,transparent);clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);color:var(--clan);flex-shrink:0}.clan-swatch svg{width:16px;height:16px}.clan-row .clan-title{font-size:11px;line-height:1.4;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:158px}.clan-row small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:3px}.clan-row .clan-pop{margin-left:auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.clan-row .clan-pop::after{content:'↗';font-size:8px;margin-left:5px;color:var(--clan)}.clan-row.extinct{opacity:.5}.clan-row.extinct .clan-pop::after{content:'—'}.plant-button{width:100%;margin-top:12px;display:flex;gap:7px;justify-content:center;align-items:center;padding:10px;font-size:10px;color:var(--muted);border:1px dashed var(--line);border-radius:5px}.plant-button svg{width:13px;height:13px}.clan-detail{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);animation:fade-in .3s ease}.detail-title{display:flex;align-items:center;justify-content:space-between}.detail-kicker{font-size:8px;color:var(--muted);letter-spacing:1.4px}.detail-title h2{font-family:Georgia,"Microsoft YaHei",serif;font-size:23px;font-weight:400;margin-top:6px;overflow-wrap:anywhere;max-width:215px}.detail-title>svg{color:var(--clan);height:25px;width:25px}.detail-desc{font-size:10px;color:var(--muted);line-height:1.7;margin-top:9px}.detail-stats{display:grid;grid-template-columns:1fr 1fr;row-gap:19px;margin-top:21px}.detail-stats dt{font-size:9px;color:var(--muted);margin-bottom:6px}.detail-stats dd{margin:0;font-size:19px;font-variant-numeric:tabular-nums;font-weight:500}.detail-stats dd small{font-size:9px;font-weight:400;color:var(--muted);margin-left:5px}.food-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin:19px 0 9px}.food-heading strong{font-weight:500;color:var(--accent)}.food-track{height:4px;background:var(--surface3);border-radius:4px;overflow:hidden}.food-fill{height:100%;background:var(--clan);transition:width .3s;border-radius:4px}.detail-tags{display:flex;gap:7px;margin-top:14px}.detail-tags span{font-size:8px;color:var(--muted);background:var(--surface2);padding:5px 7px;border:1px solid var(--line);border-radius:3px}.recent-section{border-top:1px solid var(--line);margin-top:24px;padding-top:21px}.section-label button{font-size:9px;color:var(--muted);padding:2px}.event{display:grid;grid-template-columns:7px 1fr;column-gap:10px;margin:0 0 17px}.event>i{width:5px;height:5px;border-radius:50%;background:var(--event-color,var(--quiet));margin-top:4px}.event p{font-size:10px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.event small{font-size:8px;color:var(--quiet);display:block;margin-top:4px}.history-note{font-size:11px;line-height:1.7;margin-bottom:24px}.history-panel .event{margin-bottom:23px}.history-panel .event p{font-size:11px}.muted{color:var(--muted)}.inspector-footer{border-top:1px solid var(--line);padding:15px 19px;display:flex;gap:9px;align-items:flex-start}.inspector-footer svg{width:13px;height:13px;color:var(--quiet);margin-top:2px}.inspector-footer p{font-size:9px;line-height:1.65;color:var(--quiet)}.inspector-footer>span{font-size:8px;color:var(--quiet);white-space:nowrap;margin-top:2px}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 30px 120px #0006;padding:27px;width:400px;max-width:calc(100vw - 32px)}dialog::backdrop{background:#071511b0;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .2s ease-out}dialog form{display:flex;flex-direction:column}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-top:-8px;margin-bottom:15px}.dialog-top .icon-button{margin-right:-9px}.dialog-emblem{color:var(--accent);margin:6px 0 16px}.dialog-emblem svg{width:41px;height:41px}dialog h2{font-family:Georgia,"Microsoft YaHei",serif;font-size:28px;font-weight:400;letter-spacing:-.6px}dialog p{color:var(--muted);font-size:12px;line-height:1.7;margin:12px 0 23px}dialog label{font-size:11px;color:var(--muted);margin-bottom:8px}dialog input{border:1px solid var(--line);background:var(--bg);border-radius:5px;padding:12px;color:var(--text);font-size:13px;margin-bottom:20px;min-width:0;width:100%}.color-choices{display:flex;gap:10px;margin-bottom:24px}.color-choice{width:28px;height:28px;border:3px solid var(--surface);outline:1px solid transparent;border-radius:50%;background:var(--color)}.color-choice:hover{background:var(--color);transform:scale(1.08)}.color-choice.active{outline-color:var(--color)}.dialog-note{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:21px}.dialog-note svg{width:14px;height:14px}.primary-button{background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:space-between;padding:13px 16px;font-size:12px;border-radius:5px;font-weight:600}.primary-button:hover{background:var(--accent);filter:brightness(1.06)}.primary-button svg{width:17px;height:17px}dialog small{font-size:9px;line-height:1.6;color:var(--quiet);text-align:center;margin-top:14px}.seed-input-row{display:flex;gap:9px;align-items:flex-start}.seed-input-row input{flex:1}.seed-input-row button{height:41px}
.preview-badge,.world-heading p{font-size:12px}.text-button{font-size:13px}.section-label{font-size:11px}.clan-row .clan-title{font-size:12px}.clan-row small{font-size:10px}.detail-desc,.detail-stats dt,.event p{font-size:11px}.event small{font-size:9px}.detail-tags span{font-size:9px}.food-heading,.plant-button{font-size:11px}.tool{font-size:10px}.inspector-footer p{font-size:10px;line-height:1.6}.map-controls .icon-button{width:31px}.history-panel .event p{line-height:1.75}
@keyframes dock-in{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:.5}to{opacity:1}}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 340px}.inspector-body{padding:25px}.topbar{height:84px}.workspace{height:calc(100dvh - 84px)}.world-heading{height:142px}.world-heading h1{font-size:39px}.clan-row{padding:12px}.detail-desc,.event p{font-size:11px}.detail-stats{row-gap:23px}.clan-detail{margin-top:28px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 270px}.topbar{padding:0 20px;gap:30px}.header-actions{gap:9px}.preview-badge{display:none}.world-heading{padding:21px 24px}.inspector-body{padding:19px 17px}.timeline{padding:0 17px}.time-label{display:none}.world-totals{gap:10px}.world-totals>span{gap:5px}.tool{width:61px}.map-caption{font-size:7px;letter-spacing:1px}.map-controls{right:13px}}
@media(max-width:860px){.workspace{grid-template-columns:minmax(0,1fr) 235px}.topnav{gap:15px}.topbar{gap:22px;padding:0 16px}.brand{font-size:18px}.brand small{font-size:6px}.header-divider{display:none}.outline-button{padding:9px}.world-heading h1{font-size:29px}.world-heading p{font-size:10px;max-width:200px;line-height:1.5}.era{padding-left:13px}.era>span{font-size:6px}.era strong{font-size:21px}.world-totals>span>span{display:none}.tool{width:51px;font-size:8px}.tool-dock{gap:0;padding:6px}.map-caption{display:none}.detail-title h2{font-size:21px}}
@media(max-height:780px){.world-heading{height:114px;padding-top:17px;padding-bottom:17px}.world-heading h1{font-size:30px}.world-heading p{margin-top:8px}.clan-detail{margin-top:19px;padding-top:18px}.detail-stats{margin-top:17px;row-gap:13px}.inspector-footer{padding:10px 17px}.topbar{height:66px}.workspace{height:calc(100dvh - 66px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.lab-label{position:absolute;top:-17px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.5px;color:#becbb18c;pointer-events:none}.tool-hint{bottom:121px}.player-panel{padding-bottom:15px!important;margin-bottom:16px!important}.clan-row small{display:none}.clan-row .clan-swatch{height:26px;width:23px}.clan-list .clan-row{padding:7px}.clan-detail{padding-top:14px!important;margin-top:15px!important}
.player-panel{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.player-eyebrow{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:8px;letter-spacing:1px;margin-bottom:10px}.player-eyebrow i{height:5px;width:5px;background:var(--accent);border-radius:50%}.player-panel>strong{font-size:14px;font-family:Georgia,"Microsoft YaHei",serif;font-weight:400}.player-panel>p{color:var(--muted);font-size:10px;line-height:1.65;margin:7px 0 11px}.trade-buttons{display:flex;gap:8px}.trade-buttons button{flex:1;padding:9px 6px;border:1px solid var(--line);border-radius:4px;font-size:11px}.trade-buttons button:first-child{color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.trade-buttons button:last-child{color:#d39e8e;background:#d39e8e09}.player-panel>small{display:block;font-size:9px;color:var(--quiet);line-height:1.65;margin-top:9px;overflow-wrap:anywhere}
.topbar{gap:30px}.header-actions{gap:10px}.preview-badge{font-size:10px}.header-actions .text-button{font-size:11px}.workspace{grid-template-columns:minmax(0,1fr) 340px}.clan-row{padding:7px 9px}.clan-detail{margin-top:18px;padding-top:17px}.detail-stats.compact{grid-template-columns:repeat(4,1fr);margin-bottom:12px;gap:8px}.compact dd{font-size:17px}.compact dd small{font-size:9px;margin-left:2px}.compact dt{font-size:10px}.game-detail{margin-top:15px}.detail-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:15px}.detail-tabs button{font-size:11px;padding:0 0 9px;color:var(--muted);border-bottom:2px solid transparent}.detail-tabs button.active{color:var(--accent);border-color:var(--accent)}.game-note{font-size:10px;line-height:1.65;color:var(--muted);margin:10px 0 14px}.economy-line{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.economy-line b{font-weight:500;color:var(--text)}.mini-track{height:3px;background:var(--surface3);margin:9px 0 20px}.mini-track i{display:block;height:100%;background:var(--accent)}.village-row{border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:14px}.village-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.village-title strong{font-weight:500;overflow-wrap:anywhere}.village-title button{padding:5px 8px;color:var(--accent);font-size:17px}.village-data{font-size:11px;line-height:1.8;color:var(--muted);margin:4px 0}.village-yield{font-size:9px;color:var(--quiet);line-height:1.6}.settler-button,.relation-action{font-size:10px;border:1px solid var(--line);padding:7px 10px;border-radius:4px;color:var(--accent);margin-top:9px}.person-name{font-family:Georgia,serif;font-size:19px;margin-bottom:9px}.person-name small{font-family:inherit;font-size:11px;color:var(--muted)}#person-card{background:var(--surface2);padding:15px;margin-bottom:12px;border-left:2px solid var(--accent)}#person-card p{font-size:10px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}.person-row{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:8px 6px;font-size:11px;border-bottom:1px solid var(--line)}.person-row small{font-size:10px;color:var(--muted)}.person-row.active{color:var(--accent);background:var(--surface2)}.relation-row{padding:12px 0;border-bottom:1px solid var(--line)}.relation-row strong{display:block;font-size:12px;font-weight:500}.relation-row span{display:block;font-size:11px;margin-top:6px;color:var(--muted)}.expedition-row{font-size:11px;line-height:1.9;color:var(--muted)}.expedition-title{margin:20px 0 10px}.save-state{padding:9px 20px 0;color:var(--muted);font-size:9px}.save-state::before{content:'●';font-size:6px;margin-right:7px;color:var(--accent)}.inspector-footer{border-top:0;padding-top:8px}.inspector-footer p{font-size:9px}.recent-section{margin-top:19px;padding-top:16px}.guide-steps{padding-left:19px;display:grid;gap:13px;margin:0}.guide-steps li{font-size:12px;line-height:1.8;color:var(--text);padding-left:6px}#guide-dialog{width:600px;max-height:90dvh;overflow:auto}#guide-dialog .guide-boundary{font-size:11px;border-top:1px solid var(--line);padding-top:13px;margin-bottom:10px}dialog select{font:inherit;font-size:12px;color:var(--text);background:var(--bg);border:1px solid var(--line);padding:11px;margin-bottom:18px;border-radius:5px}select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:1250px){.topbar{gap:18px}.topnav{gap:16px}.header-actions{gap:7px}.preview-badge{display:none}.workspace{grid-template-columns:minmax(0,1fr) 315px}.brand{font-size:20px}}

.village-weather{color:var(--accent);font-size:10px;margin-top:5px}
/* Ecological inspector: one selected tile, shared with simulation and overlays. */
.environment-controls{position:absolute;left:20px;top:52px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;max-width:350px;padding:7px 10px;background:#142d29e8;border:1px solid #a8c59733;border-radius:5px;color:#d3dfc8;font-size:10px;z-index:3}
.environment-controls select{background:#203c31;color:#e5e9d8;border:1px solid #aac68f44;border-radius:3px;padding:4px;font:inherit;max-width:145px}
.environment-controls small{flex-basis:100%;font-size:10px;color:#bacfaf}
.environment-controls small:empty{display:none}
.environment-controls small:not(:empty)::before{content:'';display:inline-block;width:58px;height:5px;margin-right:7px;background:linear-gradient(90deg,#517ea6,#ba7661);vertical-align:middle}
.environment-controls small[data-layer="fertility"]::before{background:linear-gradient(90deg,#ac8a45,#479a5a)}
.environment-controls small[data-layer="moisture"]::before{background:linear-gradient(90deg,#ac8a45,#4b90b6)}
.environment-controls small[data-layer="ore"]::before{background:linear-gradient(90deg,#505050,#cc9f5a)}
.land-heading{padding:6px 0 15px;border-bottom:1px solid var(--border,#354332)}
.land-heading h2{font-size:23px;margin:10px 0 4px}.land-heading p{font-size:12px;opacity:.65;margin:0}
.land-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin:20px 0}
.land-metrics dt{font-size:11px;opacity:.6}.land-metrics dd{font:500 23px Georgia,serif;margin:4px 0 0;font-variant-numeric:tabular-nums}.land-metrics dd small{font:10px 'Segoe UI',sans-serif;opacity:.6;margin-left:4px}
.land-resources>div{display:flex;align-items:center;gap:9px;font-size:12px;padding:9px 0;border-bottom:1px solid #99b48b20}.land-resources b{margin-left:auto}
.resource-dot{width:9px;height:9px;display:inline-block;background:#b4bdad}.resource-dot.wood{background:#83a265}.resource-dot.food{background:#dbc683}.resource-dot.ore{background:#cfa176}
.crop-potentials>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px 0;font-size:12px}.crop-potentials small{grid-column:1/-1;opacity:.55;font-size:10px}.crop-track{grid-column:1/-1;height:3px;background:#93ac8430}.crop-track i{display:block;height:100%;background:#9fbe7f}
.land-event{border-left:2px solid #94b883;padding:4px 0 4px 12px;margin:14px 0}.land-event b{font-size:12px}.land-event small{display:block;font-size:10px;opacity:.55;margin-top:4px}.land-event p{font-size:11px;line-height:1.8}
#land-panel .section-label{margin-top:23px}.relation-row>span{line-height:1.7;font-size:11px}.inspector-tabs>button{min-width:0}

/* Timed actions and inspectable settlement infrastructure. */
.inspector-tabs{gap:22px}.environment-controls{max-width:420px}.action-card{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.action-card>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:var(--accent)}.action-card strong{font-weight:500}.action-card small{display:block;font-size:10px;color:var(--muted);line-height:1.7}.action-track{height:4px;background:var(--surface3);margin:9px 0;overflow:hidden}.action-track i{display:block;height:100%;background:var(--accent)}.building-status{display:inline-block;font-size:10px;color:var(--accent);padding:6px 8px;background:var(--surface2);margin-top:13px;border:1px solid var(--line)}.building-status.ruined{color:#e6a890}.building-status.construction{color:#dfc788}.building-function{font-size:12px;line-height:1.8;color:var(--text);margin:10px 0 16px}.building-worker,.building-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:11px 3px;font-size:11px}.building-worker small,.building-list-row small{font-size:10px;color:var(--muted)}.building-list-row.active{color:var(--accent);background:var(--surface2)}#building-panel .section-label{margin:22px 0 9px}#building-panel .land-metrics{margin-bottom:10px}.building-list{margin-bottom:20px}

/* World events / v0.5 */
.trade-label{display:block;margin:12px 0 7px;font-size:11px;color:var(--muted)}.player-panel select,.trade-amount-row input{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px}.trade-note{font-size:11px!important;line-height:1.6}.trade-amount-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.trade-amount-row span{font-size:11px;color:var(--muted)}.amount-presets{display:flex;gap:6px;margin:6px 0 10px}.amount-presets button{font-size:10px;padding:4px 9px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.stream-actions{display:flex;gap:8px;margin:12px 0}.stream-actions button{flex:1;border:1px solid var(--line);border-radius:5px;padding:8px 5px;font-size:11px}.stream-actions button[aria-pressed=true]{background:#a4c77f25;color:#aacb8c}.trade-rules{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.7}.trade-rules summary{cursor:pointer}.world-event-row{display:flex;align-items:center;gap:9px;text-align:left;width:100%;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.world-event-row>span:nth-child(2){flex:1}.world-event-row small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.world-event-row b{font-weight:500}.event-sign{font:20px Georgia;min-width:16px}.good .event-sign,.impact-summary.good>span{color:#91b878}.bad .event-sign,.impact-summary.bad>span{color:#d69379}#event-budget{font-size:10px;color:var(--muted)}#atlas-dialog{width:min(800px,92vw);max-height:88vh;overflow:auto}.atlas-toolbar{display:flex;gap:12px;align-items:center;margin:18px 0}.atlas-toolbar label{font-size:11px}.atlas-toolbar select{width:160px}.atlas-toolbar input{flex:1;min-width:80px}.atlas-toolbar b{white-space:nowrap;font:12px monospace}#atlas-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:start}.atlas-entry{border:1px solid var(--line);border-radius:7px;padding:12px}.atlas-entry summary{cursor:pointer;display:flex;justify-content:space-between;gap:6px;font-size:13px}.atlas-entry summary small{color:var(--muted);font-size:10px}.atlas-entry.good{border-left:2px solid #8caa76}.atlas-entry.bad{border-left:2px solid #b78370}.atlas-entry>strong{font-size:11px}.atlas-entry .outline-button{margin-top:8px;font-size:11px;padding:7px 10px}.event-deltas{margin:10px 0 16px}.event-deltas>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:5px 0;font-size:12px}.event-deltas dt{color:var(--muted)}.event-deltas dd{margin:0;font:12px monospace}.impact-summary{margin-top:15px}.impact-summary>span{font-size:11px}.impact-summary h2{margin:14px 0 6px}#atlas-feedback{color:#c6927c;font-size:12px}.environment-controls{max-width:calc(100% - 120px)}

/* Active phenomena and site-specific atlas */
.tile-live-events{margin:16px 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.tile-active-event{padding:12px;margin:10px 0;background:var(--surface);border:1px solid var(--line);border-left:2px solid #8faa72;border-radius:5px}.tile-active-event.bad{border-left-color:#c18d73}.tile-active-event>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-active-event strong{font-size:12px;font-weight:600}.tile-active-event span{font-size:9px;color:var(--muted)}.tile-active-event p{margin:8px 0;font-size:10px;line-height:1.6;color:var(--muted)}.tile-active-event button{font-size:10px;color:var(--accent);padding:5px 0;text-align:left}.tile-active-event .action-track{margin:8px 0;height:3px}.past-impacts{font-size:10px;color:var(--muted);margin-top:12px}.past-impacts summary{cursor:pointer}.site-requirement{font-size:11px!important;line-height:1.7!important;border-left:2px solid var(--quiet);padding-left:10px;margin:12px 0!important}.site-requirement b{color:var(--text)}
.systems-card{border-top:1px solid var(--line,#354138);padding:15px 0;margin-top:12px;font-size:12px;line-height:1.65}
.systems-card h3{font-size:16px;margin:0 0 12px}.systems-card p{margin:7px 0}.systems-card details{margin-top:12px}.systems-card summary{cursor:pointer;color:var(--muted,#99a795)}
.skill-line{display:grid;grid-template-columns:116px 1fr 24px;gap:9px;align-items:center;margin:5px 0}.skill-line meter{width:100%;height:7px;accent-color:#bcd795}.skill-line b{text-align:right}
.family-link,.system-leader button{background:none;border:0;color:var(--accent,#bbd491);padding:2px;cursor:pointer;font:inherit;text-align:left}.system-leader,.system-status{display:flex;justify-content:space-between;gap:10px;align-items:center}.system-leader{font-size:13px;margin:12px 0}.system-status span{font-size:11px;color:var(--muted,#99a795)}
.tech-line{display:grid;grid-template-columns:1fr auto;gap:3px 8px;font-size:12px;margin:10px 0}.tech-line .mini-track{grid-column:1/-1;height:3px;margin:0}.tech-line b{color:var(--accent,#bcd795)}
.system-food{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.system-food span{font-size:10px;color:var(--muted,#99a795)}.system-food b{display:block;font-size:17px;line-height:1.5;color:var(--text,#e1e8d8)}
.detail-tabs button{padding-left:8px;padding-right:8px}.region-card .land-metrics dd{font-size:18px}

/* v8 maritime and civic dossiers */
.detail-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.detail-tabs button{font-size:10px;padding:8px 2px;white-space:nowrap}.arrival-controls{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.arrival-controls button{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;font-size:11px;text-align:left}.arrival-controls button[aria-pressed=true]{color:var(--accent);background:var(--surface2)}.arrival-controls small{display:block;font-size:10px;line-height:1.7;margin-top:7px;color:var(--muted)}.contract-card{border:1px solid var(--line);border-left:2px solid #83aab2;border-radius:4px;padding:12px;margin:10px 0;font-size:11px;line-height:1.7}.contract-card header{display:flex;justify-content:space-between;gap:8px}.contract-card header span,.contract-card small{color:var(--muted)}.contract-card p{margin:7px 0}.civic-card{border-top:1px solid var(--line);padding-top:8px;margin-top:14px}.faction-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.faction-row small{color:var(--muted)}
.history-canvas{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:5px;background:var(--surface2);margin:14px 0 10px}
.history-canvas[hidden]{display:none}
.chronicle-year{font-size:9px;letter-spacing:1.4px;color:var(--muted);margin:14px 0 6px}
.dossier{background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:11px 12px;margin-top:8px}
.dossier-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.dossier-head strong{font-size:13px}.dossier-head span{font-size:10px;color:var(--muted)}
.dossier-trend{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
.dossier-trend span{font-size:13px;font-variant-numeric:tabular-nums}
.dossier-trend small{display:block;font-size:10px;color:var(--muted)}
.sparkline{width:104px;height:28px;flex-shrink:0}
.sparkline polyline{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linejoin:round}
.dossier-line{font-size:11px;margin:4px 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.dossier-line small{color:var(--muted);font-size:10px}
.dossier .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}
.dossier .dot.live{background:#93cf79}.dossier .dot.broken{background:#9aa09a}

/* Categorical deposits use individual swatches, not a low-to-high environment scale. */
#layer-legend[data-layer="deposits"]::before,#layer-legend[data-layer="deposits"]::after{display:none}

.material-icon{width:18px;height:20px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;flex:none}.material-legend-item{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;margin-right:6px}.material-deposit h3{display:flex;align-items:center;gap:6px}.material-deposit h3 .material-icon{width:36px;height:40px}

.war-panel{position:absolute;right:20px;top:132px;width:258px;z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:5px;box-shadow:var(--shadow);color:var(--text)}.war-panel-title{display:flex;justify-content:space-between;padding:9px 11px;font-size:9px;letter-spacing:1.2px;color:var(--muted);border-bottom:1px solid var(--line)}#war-cards{max-height:248px;overflow:auto;scrollbar-width:thin}.war-card{display:block;width:100%;text-align:left;padding:10px 11px;border-left:3px solid var(--war-color);border-bottom:1px solid var(--line)}.war-card:last-child{border-bottom:0}.war-card-phase{display:flex;justify-content:space-between;font-size:10px;font-weight:650;color:var(--war-color)}.war-card strong{display:block;font-size:11px;font-weight:550;margin:7px 0;line-height:1.5}.war-card strong i{display:inline-block;width:5px;height:11px;margin-right:6px;vertical-align:-1px}.war-card strong span{color:var(--muted)}.war-card small{display:block;font-size:9px;color:var(--muted);line-height:1.5}.war-card small b{color:var(--text);font-weight:600}.war-hall{display:block;font-size:9px;color:var(--muted);margin-top:8px}.war-hall>i{display:block;height:3px;background:var(--line);margin-top:4px}.war-hall em{display:block;height:3px;background:var(--war-color)}[data-theme="light"] .war-card-phase{color:#92543e}

/* The major timeline is a separate read-only lens; ordinary history remains intact. */
.history-switch{display:flex;border-bottom:1px solid var(--line);gap:20px;margin-bottom:20px}.history-switch button{padding:0 0 10px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.history-switch button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.major-intro{margin-bottom:16px}.major-filters{display:grid;gap:10px}.major-filters label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.major-filters select{min-width:0;width:100%;font:inherit;font-size:11px;color:var(--text);background:var(--surface2);border:1px solid var(--line);border-radius:4px;padding:8px}.major-summary{font-size:10px;color:var(--muted);margin:17px 0 20px;font-variant-numeric:tabular-nums}.major-event{position:relative}.major-event>i{border-radius:0;width:5px;height:10px}.major-event h3{margin:7px 0 5px;font-size:14px;font-weight:550;line-height:1.5;color:var(--text)}.major-badge{font-size:9px;letter-spacing:.4px;color:var(--accent)}.major-badge[data-kind=conflict]{color:#d8a080}.major-badge[data-kind=expansion]{color:#87b8c7}.major-badge[data-kind=advancement]{color:#c2b2d9}.major-more{display:block;width:100%;border:1px solid var(--line);border-radius:4px;padding:10px;font-size:11px;color:var(--accent);margin:6px 0 18px}.major-retention{font-size:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.major-empty{padding:12px 0}.history-panel .major-event small{font-variant-numeric:tabular-nums}:root[data-theme=light] .major-badge[data-kind=conflict]{color:#955737}:root[data-theme=light] .major-badge[data-kind=expansion]{color:#3d7384}:root[data-theme=light] .major-badge[data-kind=advancement]{color:#77528b}

/* Blessings: botanical pixel cards, not financial collectibles. */
.blessing-open{width:100%;margin:10px 0;padding:12px;border:1px solid #829568;background:color-mix(in srgb,var(--panel) 80%,#8aa26a);color:var(--text);font:inherit;cursor:pointer}
#cards-dialog{width:min(990px,90vw);max-width:990px;max-height:88vh;padding:28px;overflow:auto}
#cards-dialog>h2{font-family:Georgia,serif;font-weight:normal;font-size:32px;margin:14px 0 6px}#cards-dialog>p{opacity:.7;margin:0 0 23px}
.pack-desk{display:flex;gap:25px;align-items:center;border-top:1px solid #80947855;border-bottom:1px solid #80947855;padding:22px 8px;margin-bottom:22px}.pack-desk h3{margin:0 0 10px;font-weight:500}.pack-desk p{max-width:610px;font-size:12px;line-height:1.7;opacity:.75}.pack-desk button{margin-top:6px}
.pixel-pack{flex:none;width:78px;height:104px;background:repeating-linear-gradient(0deg,#294b3c 0 5px,#345640 5px 7px);border:4px solid #b3ba80;outline:1px solid #d1c998;box-shadow:5px 5px 0 #142a2566;display:grid;place-items:center;transform:rotate(-6deg)}.pixel-pack span{font-size:45px;color:#d6d6a1;line-height:1;border:1px solid #91a977;padding:7px}
.card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:20px 0}.card-toolbar select{min-width:225px}.card-toolbar small{max-width:500px;font-size:11px;line-height:1.6;opacity:.65}
#card-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px} .cards-empty{grid-column:1/-1;line-height:1.8;opacity:.65;padding:22px 0}
.blessing-card{border:1px solid #718569;background:#213c32;color:#e0e3c3;padding:8px;box-shadow:3px 4px 0 #14231e66;display:flex;flex-direction:column;min-width:0}.blessing-card.mythic{border-color:#ddbd78;background:#353c31;box-shadow:0 0 24px #bc99402b}.card-edition{display:flex;justify-content:space-between;font:8px/1.4 monospace;letter-spacing:.9px;color:#baca9c;padding:3px 1px 7px}.mythic .card-edition{color:#e2c781}.blessing-card canvas{display:block;width:100%;height:auto;image-rendering:auto;aspect-ratio:8/9}.blessing-card h3{font-size:15px;font-weight:500;line-height:1.3;margin:12px 4px 5px}.blessing-card p{font-size:10px;line-height:1.6;color:#b9c8ab;margin:0 4px 10px;min-height:48px}.blessing-card>small{font:10px monospace;color:#d1cda3;margin:auto 4px 10px}.blessing-card button{color:#e3e7c3;border-color:#768466!important;font-size:11px;padding:9px 2px}.card-preview-label{text-align:center;color:#abb799;font-size:10px;padding:9px 2px}.card-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0 0}.card-pagination button{padding:7px 16px}.card-pagination span{font:12px monospace;opacity:.7}
#card-reveal{display:flex;align-items:center;justify-content:center;gap:45px;background:#7f93691a;border:1px solid #93a77655;padding:25px;margin-bottom:24px}#card-reveal[hidden]{display:none}#card-reveal>div{max-width:340px}#card-reveal p{font-size:12px;line-height:1.8;opacity:.7}#card-reveal .blessing-card{width:180px;flex:none}.card-revealed{animation:card-unseal .65s ease-out both}@keyframes card-unseal{from{opacity:0;transform:translateY(12px) rotate(-4deg)}to{opacity:1;transform:none}}
#card-target{position:fixed;z-index:38;left:100px;bottom:95px;width:400px;max-width:calc(100vw - 160px);background:#1d392ff5;color:#dfe4c5;border:1px solid #a0b37b;padding:17px 19px;box-shadow:0 12px 40px #12272080}#card-target[hidden]{display:none}#card-target>strong{display:block;margin:7px 0;font-size:19px;font-weight:500}#card-target p{font-size:12px;line-height:1.6}#card-target small{display:block;color:#afc29e;font-size:11px;line-height:1.6}#card-target>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}#card-target button{border:1px solid #738464;background:#294b3c;color:#e1e8c2;font:11px inherit;padding:8px;cursor:pointer}#card-target #cast-card{background:#b6c991;color:#233b2d}button:disabled{opacity:.4;cursor:not-allowed!important}
.event-preview{display:block;width:100%;max-width:300px;image-rendering:pixelated;border:1px solid #7a8a6855;margin:14px 0 5px}
#rare-alert{position:fixed;inset:0;z-index:45;pointer-events:none;--rare-color:#d7bd79;--rare-pulse:.48}#rare-alert[hidden]{display:none}#rare-alert[data-effect=meteorFall]{--rare-color:#df9c71}.rare-border{position:absolute;inset:7px;border:2px solid var(--rare-color);box-shadow:inset 0 0 60px color-mix(in srgb,var(--rare-color) 25%,transparent),0 0 18px color-mix(in srgb,var(--rare-color) 20%,transparent);opacity:var(--rare-pulse)}.rare-border:before,.rare-border:after{content:'';position:absolute;inset:-5px;border:8px solid var(--rare-color);clip-path:polygon(0 0,32px 0,32px 8px,8px 8px,8px 32px,0 32px,0 0,100% 0,100% 32px,calc(100% - 8px) 32px,calc(100% - 8px) 8px,calc(100% - 32px) 8px,calc(100% - 32px) 0,100% 0,100% 100%,calc(100% - 32px) 100%,calc(100% - 32px) calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) calc(100% - 32px),100% calc(100% - 32px),100% 100%,0 100%,0 calc(100% - 32px),8px calc(100% - 32px),8px calc(100% - 8px),32px calc(100% - 8px),32px 100%,0 100%)}#rare-alert section{pointer-events:auto;position:absolute;top:86px;left:50%;transform:translateX(-50%);width:350px;text-align:center;padding:17px 22px;border:1px solid var(--rare-color);background:#192c28f5;color:#e8e4c6;box-shadow:0 12px 45px #102c2466}#rare-alert h2{font:24px Georgia,serif;margin:8px 0}#rare-alert p{font:11px monospace;opacity:.7}#rare-alert button{font-size:11px;padding:7px 10px;margin:3px;border:1px solid #82916b;background:#314839;color:#dedfc0;cursor:pointer}
@media(prefers-reduced-motion:reduce){.card-revealed{animation:none}}

.blessing-card .card-outcome{min-height:0;color:#dddbad;margin-top:0;font-size:10px}

/* Owned cards occupy the map dock; laboratory powers remain separate. */
.card-dock{width:min(720px,calc(100% - 100px));min-height:134px;box-sizing:border-box;gap:5px;padding:9px 10px;z-index:5}.dock-world-tools{display:flex;flex-direction:column;flex:none;gap:3px}.card-dock .tool{width:48px;height:54px;font-size:8px}.card-dock .tool-art{height:23px}.card-dock .tool-art svg{width:21px;height:21px}.card-dock .dock-divider{height:88px;margin:0 3px;flex:none}.hand-cards{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:116px}.hand-card{position:relative;flex:1;max-width:86px;min-width:0;padding:4px 4px 5px;border:1px solid #718466;background:#213c32;color:#e1e7c8;text-align:left;align-self:center;transition:transform .15s,border-color .15s,box-shadow .15s}.hand-card canvas{display:block;width:100%;height:auto;aspect-ratio:8/9;image-rendering:auto}.hand-card>span{display:block;font-size:9px;line-height:1.35;height:25px;margin-top:5px;overflow:hidden}.hand-card>small{position:absolute;right:5px;top:5px;background:#17352de8;padding:2px 3px;font:8px monospace;color:#f0e9b8}.hand-card:hover{transform:translateY(-5px);border-color:#d8d7a0}.hand-card.active{transform:translateY(-8px);border:2px solid #e5e8a4;padding:3px 3px 4px;box-shadow:0 0 18px #c6d78a4d}.hand-card.mythic{background:#393b2d;border-color:#d7b871}.hand-card:focus-visible,.hand-page:focus-visible,.dock-library button:focus-visible{outline:2px solid #f2e7ac;outline-offset:3px}.hand-page{width:17px;flex:none;color:#d8e3bf;font:24px Georgia;align-self:stretch;padding:0}.hand-empty{max-width:260px;padding:0 12px;font-size:11px;line-height:1.7;color:#aabda1}.dock-library{width:68px;flex:none;text-align:center;margin-left:3px;display:flex;flex-direction:column;gap:5px;color:#c9d6b8}.dock-library>span{font:9px monospace;color:#9ab18e}.dock-library button{border:1px solid #526849;border-radius:3px;padding:7px 3px;font-size:9px}.dock-library button:hover{background:#314933}.dock-library svg{display:block;width:20px;height:20px;margin:0 auto 5px}.dock-library small{display:block;font:9px monospace;margin-top:5px;color:#cfda98}.dock-library .has-packs{border-color:#c5c983;background:#475832}.dock-library #lab-open{border:0;padding:3px;color:#91a58c;font-size:9px}.tool-hint{bottom:177px;max-width:calc(100% - 100px);white-space:normal;text-align:center;line-height:1.6;justify-content:center}.map-wrap:has(#card-target:not([hidden])) .environment-controls,.map-wrap:has(#card-target:not([hidden])) .map-caption{visibility:hidden}
#card-target{position:absolute;z-index:6;left:18px;top:18px;bottom:auto;width:300px;max-width:calc(100% - 130px);box-sizing:border-box;padding:13px 15px;background:#1b342df2}#card-target>strong{font-size:16px;margin:7px 0}#card-target p{font-size:11px;margin:8px 0}#card-target>div{margin-top:10px;gap:6px}#card-target button{font-size:10px;padding:7px}#card-target .cast-legend{display:flex;gap:17px;margin:12px 0 7px;font-size:10px;color:#dee6c9}.cast-legend>span{display:flex;align-items:center;gap:5px}.cast-legend i{width:9px;height:9px;display:inline-block}.cast-yes{background:#bbe889;border:1px solid #e2f1b8}.cast-no{background:#737b7c;border:1px solid #929a9a}#card-map-status{font-size:10px!important;color:#9eb89b!important}#lab-dialog{width:340px}#lab-dialog>p{font-size:12px;line-height:1.7;color:var(--muted)}.lab-power-tools{display:flex;justify-content:center;gap:15px;margin:24px 0}.lab-power-tools .tool{background:#2a3d32;color:#d6e4bd;border-color:#69816875}
@media(prefers-reduced-motion:reduce){.hand-card{transition:none}}

/* 0.9.2 pixel card faces: the canvas is the card; its text stays in the DOM for screen readers. */
#card-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-items:center}
.blessing-card,.blessing-card.mythic{position:relative;border:0;background:none;box-shadow:none;padding:0;align-items:center;text-align:center}
.blessing-card canvas.card-face{aspect-ratio:auto;width:150px;height:210px;image-rendering:pixelated;margin:0 auto;filter:drop-shadow(3px 4px 0 #0b161266)}
.blessing-card .card-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.blessing-card>small{margin-top:9px}
.hand-card canvas{aspect-ratio:136/98;image-rendering:auto}/* 0.9.2 compact empty dock, and a map hint that steps aside once read */
.card-dock.dock-empty{width:auto;min-height:0;padding:6px 10px;gap:6px}
.card-dock.dock-empty .tool{height:50px}
.card-dock.dock-empty .dock-divider{height:40px}
.card-dock.dock-empty .hand-page{display:none}
.card-dock.dock-empty .hand-cards{min-height:0;flex:0 1 auto}
.card-dock.dock-empty .hand-empty{max-width:300px;font-size:10px;line-height:1.5;padding:0 6px}
.card-dock.dock-empty .dock-library>span{display:none}
.tool-hint{transition:opacity .6s ease}
.tool-hint.hint-faded{opacity:0}
.map-wrap:has(.card-dock.dock-empty) .tool-hint{bottom:104px}
/* 0.11 blessing rarities, one-click packs and casts, measured impact */
.hand-card.rarity-rare{border-color:#7ea6cf}
.hand-card.rarity-epic{border-color:#b58ad8;background:#2d2a3c}
.hand-card.rarity-legendary{border-color:#e0bd6a;background:#393b2d;box-shadow:0 0 12px #e0bd6a33}
.hand-pack{flex:1;max-width:86px;min-width:0;align-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 4px 7px;border:2px solid #c5c983;background:repeating-linear-gradient(0deg,#294b3c 0 5px,#345640 5px 7px);color:#eef0c8;cursor:pointer;box-shadow:3px 3px 0 #142a2566;transition:transform .15s}
.hand-pack:hover{transform:translateY(-5px) rotate(-2deg)}
.hand-pack:focus-visible{outline:2px solid #f2e7ac;outline-offset:3px}
.hand-pack-art{font-size:26px;line-height:1;color:#f0e7a8;border:1px solid #91a977;padding:6px 9px;background:#1d3a2e}
.hand-pack b{font-size:10px;font-weight:600;letter-spacing:.5px}
.hand-pack small{font:9px monospace;color:#cfda98}
.card-target-range{display:block;font:11px monospace;color:#e8e2b0;margin:-2px 0 4px}
#card-target[data-rarity="rare"]{border-color:#7ea6cf}#card-target[data-rarity="epic"]{border-color:#b58ad8}#card-target[data-rarity="legendary"]{border-color:#e0bd6a}
#impact-report{position:absolute;z-index:6;left:18px;top:18px;width:300px;max-width:calc(100% - 130px);box-sizing:border-box;padding:13px 15px;background:#1b342df2;color:#dfe4c5;border:1px solid #a0b37b;border-left-width:4px;box-shadow:0 12px 40px #12272080;cursor:pointer}
#impact-report[hidden],#pack-reveal[hidden]{display:none}
#impact-report strong{display:block;font-size:16px;font-weight:500;margin:6px 0}
#impact-report p{font-size:11px;line-height:1.6;margin:4px 0}
#impact-report[data-rarity="rare"]{border-color:#8ec5ff}#impact-report[data-rarity="epic"]{border-color:#d4a6ff}#impact-report[data-rarity="legendary"]{border-color:#ffd76a}
.map-wrap:has(#impact-report:not([hidden])) .environment-controls,.map-wrap:has(#impact-report:not([hidden])) .map-caption{visibility:hidden}
#pack-reveal{position:absolute;z-index:7;left:50%;bottom:160px;transform:translateX(-50%);display:flex;gap:16px;align-items:center;padding:14px 18px;background:#1b342df5;color:#dfe4c5;border:1px solid #a0b37b;box-shadow:0 14px 44px #0f201a99}
#pack-reveal canvas{image-rendering:pixelated;flex:none}
#pack-reveal>div{max-width:230px}
#pack-reveal strong{display:block;font-size:18px;font-weight:500;margin:6px 0}
#pack-reveal p{font-size:11px;line-height:1.6;opacity:.8;margin:6px 0 10px}
#pack-reveal button{border:1px solid #738464;background:#294b3c;color:#e1e8c2;font-size:11px;padding:8px 10px;cursor:pointer;margin-right:6px}
#pack-reveal .primary-button{background:#b6c991;color:#233b2d}
#pack-reveal>div>div{display:flex;gap:6px;flex-wrap:wrap}
#pack-reveal[data-rarity="rare"]{border-color:#8ec5ff}
#pack-reveal[data-rarity="epic"]{border-color:#d4a6ff;box-shadow:0 0 30px #b58ad855}
#pack-reveal[data-rarity="legendary"]{border-color:#ffd76a;box-shadow:0 0 40px #ffd76a66}
.pack-pop{animation:pack-pop .5s ease-out both}
@keyframes pack-pop{from{opacity:0;transform:translateX(-50%) translateY(16px) scale(.92)}to{opacity:1;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.pack-pop{animation:none}.hand-pack{transition:none}}
