:root{--ink:#f3e3b5;--ink-dim:#b9a77c;--gold:#d9b44a;--gold-bright:#ffe680;--panel:#18120edb;--panel-edge:#6b4a2e;--danger:#d0533f;--good:#8fd06a;--font-title:"Ruslan Display", "Philosopher", serif;--font-body:"Philosopher", Georgia, serif;--font-num:"Philosopher", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font-body);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0e0c12;margin:0;overflow:hidden}#game,#ui{position:fixed;inset:0}#game canvas{image-rendering:pixelated;touch-action:none;display:block;width:100%!important;height:100%!important}#ui{pointer-events:none}#ui .panel,#ui button,#ui .overlay,#ui canvas{pointer-events:auto}.slot{flex-direction:column;gap:8px;display:flex;position:absolute}.slot-top-left{width:260px;top:12px;left:12px}.slot-top-right{width:232px;top:12px;right:12px}.slot-top-center{top:12px;left:50%;transform:translate(-50%)}.slot-bottom-left{width:220px;bottom:12px;left:12px}.slot-bottom-right{bottom:12px;right:12px}.slot-bottom-center{align-items:center;bottom:12px;left:50%;transform:translate(-50%)}.slot-center{z-index:15;top:50%;left:50%;transform:translate(-50%,-50%)}.slot-world,.slot-overlay{inset:0}.slot-overlay{z-index:20;pointer-events:none}.slot-overlay>.overlay{pointer-events:auto}.panel{background:var(--panel);border:2px solid var(--panel-edge);border-radius:6px;padding:10px 12px;box-shadow:inset 0 0 0 1px #d9b44a40,0 4px 14px #00000080}.title{font-family:var(--font-title);color:var(--gold-bright);letter-spacing:.5px;text-shadow:0 2px #000;font-size:20px}.subtitle{font-family:var(--font-title);color:var(--gold);margin-bottom:6px;font-size:14px}.label{color:var(--ink-dim);font-size:14px}.muted{color:var(--ink-dim);font-size:13px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.hidden{display:none!important}.bar{background:#2a201a;border:1px solid #000;border-radius:3px;height:10px;margin-top:4px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, #d97a2a, var(--gold-bright));width:0;height:100%;box-shadow:0 0 8px var(--gold);transition:width .4s}.icon{width:24px;height:24px;image-rendering:pixelated;object-fit:contain;vertical-align:middle}.res-row{grid-template-columns:28px 1fr auto auto;align-items:center;gap:6px;font-size:15px;display:grid}.bag.full{border-color:var(--danger)}.bag.full .subtitle{color:var(--danger)}.btn{font-family:var(--font-body);color:var(--ink);border:1px solid var(--panel-edge);cursor:pointer;background:linear-gradient(#4a3524,#2e2016);border-radius:4px;padding:6px 12px;font-size:15px}.btn:hover{border-color:var(--gold);color:var(--gold-bright)}.btn.small{padding:3px 8px;font-size:13px}.btn.active{border-color:var(--gold);color:var(--gold-bright);background:linear-gradient(#6b4a2e,#4a3524)}.btn.primary{border-color:var(--gold);padding:8px 22px;font-size:17px}.btn.danger:hover{border-color:var(--danger);color:#ffb0a0}.topbar{background:var(--panel);border:1px solid var(--panel-edge);pointer-events:auto;border-radius:6px;align-items:center;gap:10px;padding:5px 8px;display:flex}.seg{align-items:center;gap:3px;display:flex}.seg .label{margin-right:4px;font-size:13px}.hints{color:var(--ink-dim);text-align:right;text-shadow:0 1px 2px #000;font-size:13px;line-height:1.5}.minimap{padding:6px}.minimap canvas{width:200px;height:200px;image-rendering:pixelated;cursor:pointer;border:1px solid #000;display:block}.minimap-tools{gap:4px;margin-top:5px;display:flex}.minimap-tools .btn:last-child{margin-left:auto}.overlay{background:#08060ac7;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-screen{padding:20px}.map-head{align-items:center;gap:18px;width:100%;margin-bottom:10px;display:flex}.map-head .btn{margin-left:auto}.map-screen canvas{border:2px solid var(--panel-edge);image-rendering:pixelated;cursor:grab}.story .scroll{border:2px solid var(--gold);background:linear-gradient(#2b2018,#1b140f);border-radius:8px;max-width:640px;margin:16px;padding:28px 34px;animation:.5s ease-out rise;box-shadow:0 0 40px #ffb44626,inset 0 0 30px #0009}.chapter-title{font-family:var(--font-title);color:var(--gold-bright);text-shadow:0 2px #000;margin-bottom:14px;font-size:28px}.story p{margin:0 0 12px;font-size:18px;line-height:1.55}.objective-line{border-top:1px solid var(--panel-edge);margin:18px 0;padding-top:12px;font-size:16px}.story .btn{margin-left:auto;display:block}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.build-menu{width:min(760px,94vw);max-height:80vh;overflow:auto}.menu-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.card{text-align:left;font-family:var(--font-body);color:var(--ink);border:1px solid var(--panel-edge);cursor:not-allowed;background:#3c2c1e99;border-radius:5px;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.card.ready{cursor:pointer;border-color:var(--gold)}.card.ready:hover{background:#5a4228cc}.card.locked{opacity:.45}.card-title{font-family:var(--font-title);color:var(--gold-bright);font-size:15px}.card-desc{color:var(--ink-dim);font-size:13px;line-height:1.3}.cost{font-family:var(--font-num);gap:10px;display:flex}.cost .icon{width:20px;height:20px;margin-right:2px}.cost .lack{color:var(--danger)}.cost .ok{color:var(--good)}.build-banner{background:var(--panel);border:1px solid var(--gold);border-radius:5px;padding:6px 14px;font-size:15px;position:absolute;top:64px;left:50%;transform:translate(-50%)}.toasts{flex-direction:column;align-items:center;gap:6px;display:flex}.toast{background:var(--panel);border:1px solid var(--panel-edge);border-radius:5px;padding:6px 14px;font-size:15px;transition:opacity .5s,transform .5s}.toast.good{border-color:var(--good)}.toast.warn{border-color:var(--danger)}.toast.out{opacity:0;transform:translateY(8px)}.floaters{pointer-events:none;position:absolute;inset:0}.floater{text-shadow:0 0 3px #000,0 2px #000;white-space:nowrap;font-family:Pixelify Sans,monospace;font-size:17px;font-weight:600;position:absolute;top:0;left:0}#loading{z-index:10;background:#0e0c12;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.loading-title{font-family:var(--font-title);color:var(--gold-bright);font-size:42px}@media (width<=760px){.slot-top-left{width:200px}.hints{display:none}.topbar{flex-wrap:wrap;justify-content:center;max-width:60vw}}.perf{color:#d8d8d8;white-space:nowrap;background:#0009;border-radius:4px;padding:4px 8px;font:12px/1.45 ui-monospace,Menlo,monospace}.perf .ok{color:#8fd06a}.perf .mid{color:#ffd35a}.perf .bad{color:#ff6b5a}.stamina{padding:6px 10px;transition:opacity .4s}.stamina.faded{opacity:.35}.stamina-fill{background:linear-gradient(90deg,#3f9a5a,#8fd06a);transition:none;box-shadow:0 0 6px #8fd06a}.stamina.low .stamina-fill{box-shadow:none;background:#d0533f}.arrival{margin-top:2px;font-size:12px}.card-tags{color:var(--gold);font-size:12px}.character{width:min(460px,94vw);max-height:82vh;overflow:auto}.skill{margin-bottom:10px}.skill-name{font-family:var(--font-title);color:var(--gold-bright);font-size:15px}.hint{color:var(--gold);margin-top:2px;font-size:13px}.stat-list{margin-bottom:8px}.slot-right-panel{width:340px;max-height:calc(100vh - 170px);top:62px;right:250px}.building-panel{max-height:100%;overflow:auto}.person{border-bottom:1px dashed #6b4a2e80;justify-content:space-between;gap:8px;padding:2px 0;font-size:14px;display:flex}.section{border-top:1px solid var(--panel-edge);margin-top:10px;padding-top:8px}.recipe{border-bottom:1px dashed #6b4a2e80;flex-direction:column;gap:4px;padding:6px 0;display:flex}.recipe.locked{opacity:.55}.btn[disabled]{opacity:.5;cursor:not-allowed}.building-panel .btn.primary{margin-top:6px}.rate{font-size:12px;font-family:var(--font-num);text-align:right;min-width:48px;color:var(--ink-dim)}.rate.up{color:#8fd06a}.rate.down{color:#ff8a6a}.rate.big{font-size:18px}@keyframes pulse-red{50%{box-shadow:0 0 16px #d0533f99}}.level-badge{font-family:var(--font-title);color:var(--gold-bright);font-size:18px}.bar.milestone{height:6px;margin:4px 0 8px}.seg.buy{margin:6px 0}.btn.upgrade{width:100%;margin-top:6px}.glow{animation:1.6s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 0 #ffe68000}50%{border-color:var(--gold-bright);box-shadow:0 0 14px #ffe6808c}}.research{width:min(760px,94vw);max-height:80vh;overflow:auto}.done-list{grid-column:1/-1;margin-top:6px}.offline-card{min-width:340px}.gains{flex-direction:column;gap:6px;margin:16px 0;display:flex}.gain-row{grid-template-columns:32px 1fr auto;align-items:center;gap:10px;font-size:18px;animation:.5s ease-out both rise;display:grid}.gain-row:nth-child(2){animation-delay:80ms}.gain-row:nth-child(3){animation-delay:.16s}.gain-row:nth-child(4){animation-delay:.24s}.gain-row:nth-child(5){animation-delay:.32s}.gain-row .num{font-size:20px}.num.up{color:#8fd06a}.num.down{color:#ff8a6a}.arrivals{color:var(--gold-bright);margin-bottom:12px}.gift-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 12px;display:flex}.gift-chip{color:var(--gold-bright);background:#ffbe5a1a;border:1px solid #ffbe5a66;border-radius:14px;align-items:center;gap:5px;padding:3px 10px 3px 5px;font-size:16px;animation:.5s ease-out .4s both rise;display:inline-flex}.gift-chip:nth-child(2){animation-delay:.5s}.gift-chip:nth-child(3){animation-delay:.6s}.gift-chip:nth-child(4){animation-delay:.7s}.ico{filter:drop-shadow(0 1px #0009);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.ico img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.panel{background:linear-gradient(#2c2016f0,#16100cf0);border:2px solid #5a3e26;border-radius:8px;box-shadow:inset 0 0 0 1px #ffd6782e,inset 0 12px 24px #ffc8780a,0 6px 18px #0000008c}.slot-top-left{width:290px}.village-card{padding:10px 12px 12px}.card-head{align-items:center;gap:10px;display:flex}.crest{border:2px solid var(--gold);background:radial-gradient(circle,#ffaa3c59,#281a10e6 70%);border-radius:50%;place-items:center;width:52px;height:52px;animation:3s ease-in-out infinite crest;display:grid;box-shadow:0 0 16px #ffa03c59}@keyframes crest{50%{box-shadow:0 0 26px #ffaa3c99}}.card-head>div:last-child{flex:1;min-width:0}.hope-line{align-items:center;gap:5px;margin-top:2px;font-size:13px;display:flex}.hope-line b{color:var(--gold-bright);font-family:var(--font-num);margin-left:auto}.bar.thin{height:6px;margin-top:4px}.hope-fill{background:linear-gradient(90deg,#c4561e,#ffb347,#ffe680)}.stat-chips{gap:6px;margin-top:10px;display:flex}.stat-chip{background:#0000004d;border:1px solid #d9b44a40;border-radius:6px;flex:1;align-items:center;gap:6px;padding:4px 8px;display:flex}.stat-chip b{font-family:var(--font-num);font-size:16px}.arrival{color:#9fd47a;margin-top:6px;font-size:12px}.arrival.warn{color:#e8a060}.objective{border-left:3px solid var(--gold);background:#d9b44a14;border-radius:6px;margin-top:10px;padding:8px 10px}.objective-head{font-family:var(--font-title);color:var(--gold);align-items:center;gap:6px;margin-bottom:3px;font-size:13px;display:flex}.objective-text{font-size:14px;line-height:1.35}.slot-top-center{top:10px}.resource-bar{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;max-width:calc(100vw - 600px);display:flex}.res-chip{background:linear-gradient(#302216f0,#18110cf0);border:1px solid #6b4a2e;border-radius:22px;align-items:center;gap:7px;min-width:96px;padding:5px 12px 5px 7px;display:flex;box-shadow:inset 0 0 0 1px #ffd6781f,0 3px 10px #00000073}.res-text{flex-direction:column;line-height:1.05;display:flex}.res-text .amount{font-family:var(--font-num);color:#fff3d6;font-size:17px}.res-text .rate{text-align:left;min-width:0;font-size:11px}.res-chip.coins{border-color:#b8bec8}.res-chip.coins .amount{color:#eef2f8}.res-chip.hunger{border-color:var(--danger);color:#ffb0a0;animation:1.2s infinite pulse-red}.slot-bottom-center{bottom:10px}.action-bar{pointer-events:auto;background:linear-gradient(#281c12e6,#120d09f0);border:2px solid #5a3e26;border-radius:12px;gap:8px;padding:6px 8px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffd67829,0 8px 24px #0009}.action{cursor:pointer;width:74px;height:74px;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 50% 30%,#6e4e30e6,#2e2016f2);border:1px solid #7a5634;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;transition:transform .12s,border-color .12s,filter .12s;display:flex;position:relative}.action:hover{border-color:var(--gold-bright);filter:brightness(1.12);transform:translateY(-3px)}.action:active{transform:translateY(0)scale(.97)}.action .key{color:var(--ink-dim);font-size:10px;font-family:var(--font-num);position:absolute;top:3px;left:5px}.badge{color:#2a1a08;min-width:20px;height:20px;font:700 12px/20px var(--font-num);text-align:center;background:linear-gradient(#ffd35a,#d98a1a);border-radius:10px;padding:0 5px;position:absolute;top:-6px;right:-6px;box-shadow:0 0 10px #ffc850b3}.settings-pop{flex-direction:column;gap:6px;width:330px;padding:12px;display:flex;position:absolute;bottom:92px;right:0}.settings-pop .subtitle{align-items:center;gap:4px;margin:4px 0 0;display:flex}.settings-pop .btn{align-items:center;gap:4px;display:inline-flex}.save-code>summary{cursor:pointer;list-style-position:inside}.save-code[open]>summary{margin-bottom:4px}.save-code .save-code-row{flex-wrap:wrap}.save-code .save-code-box{box-sizing:border-box;resize:none;word-break:break-all;width:100%;color:var(--ink);border:1px solid var(--line,#ffffff26);background:#0000004d;border-radius:6px;margin-top:6px;padding:6px;font:12px/1.3 ui-monospace,monospace;display:block}.save-code>.btn{margin-top:6px}.toasts{margin-bottom:4px}.slot-bottom-right .perf{opacity:.85}.build-menu{width:min(860px,96vw);max-height:84vh;padding:14px 16px;overflow:auto}.build-menu .title,.skills-panel .title,.research .title{align-items:center;gap:8px;display:flex}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.build-plan{align-items:center;gap:8px;max-width:100%;margin:0 0 10px;padding:5px 12px 5px 8px;display:flex}.build-plan.hidden{display:none}.build-plan .plan-count{font:700 14px var(--font-num);color:var(--gold-bright)}.tab{cursor:pointer;color:var(--ink-dim);font-family:var(--font-body);background:#0000004d;border:1px solid #5a3e26;border-radius:8px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:14px;display:flex;position:relative}.tab:hover{color:var(--ink);border-color:#8a6440}.tab.active{color:var(--gold-bright);border-color:var(--gold);background:#d9b44a1f}.build-cards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px;display:grid}.build-card{text-align:left;cursor:not-allowed;color:var(--ink);font-family:var(--font-body);background:linear-gradient(#46322099,#281c1299);border:1px solid #5a3e26;border-radius:8px;gap:12px;padding:10px;transition:transform .12s,border-color .12s;display:flex}.build-card.ready{cursor:pointer;border-color:var(--gold)}.build-card.ready:hover{background:linear-gradient(#60462acc,#342416cc);transform:translateY(-2px)}.build-card.locked{filter:grayscale(.7);opacity:.6}.thumb{background:radial-gradient(circle at 50% 60%,#78a05a40,#00000040);border:1px solid #d9b44a33;border-radius:8px;flex:none;place-items:center;width:84px;height:84px;display:grid;position:relative}.build-body{flex-direction:column;gap:5px;min-width:0;display:flex}.tag-chips,.cost-chips{flex-wrap:wrap;gap:5px;display:flex}.tag{color:var(--ink-dim);background:#0000004d;border-radius:10px;align-items:center;gap:3px;padding:1px 6px 1px 3px;font-size:12px;display:inline-flex}.chip{font:600 14px var(--font-num);background:#00000059;border-radius:10px;align-items:center;gap:3px;padding:1px 7px 1px 3px;display:inline-flex}.chip.ok{color:#a8e08a}.chip.lack{color:#ff9a80}.card-status{color:#e8a060;font-size:12px}.card-status.lock{color:var(--ink-dim)}.build-banner{z-index:12;align-items:center;gap:8px;display:flex;top:70px}.skills-panel{width:min(900px,96vw);max-height:86vh;padding:14px 16px;overflow:auto}.skill-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:12px;display:grid}.skill-card{background:#00000047;border:1px solid;border-left-width:4px;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.skill-top{align-items:center;gap:10px;display:flex}.skill-icon{background:#00000059;border-radius:10px;place-items:center;width:54px;height:54px;display:grid}button.skill-icon{color:inherit;font:inherit;cursor:pointer;border:0;flex:none;padding:0;position:relative}button.skill-icon:focus-visible{outline:2px solid var(--skill);outline-offset:2px}.skill-card.rested .skill-icon{filter:grayscale();opacity:.55;box-shadow:none}.skill-card.rested .skill-icon:after{content:"";pointer-events:none;background:linear-gradient(to top right,#0000 calc(50% - 1px),#e8d9b8 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));position:absolute;inset:4px}.skill-card.rested .xp-bar,.skill-card.rested .pills,.skill-card.rested .gift-row,.skill-card.rested .next-reward{opacity:.7}.skill-titles{flex:1}.level-ring{background:#0006;border:3px solid;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.level-ring b{font:700 18px var(--font-num);color:#fff3d6}.perk{align-items:center;gap:8px;font-size:13px;display:flex}.perk span{color:var(--ink-dim);flex:1}.perk b{font-family:var(--font-num);color:#a8e08a}.perk.dim span{font-size:12px}.unlock{color:var(--gold);background:#d9b44a1a;border:1px dashed #d9b44a66;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.stat-tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;display:grid}.stat-tile{background:#00000047;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.stat-tile b{font:700 16px var(--font-num)}.foot{margin-top:10px}@media (width<=1100px){.resource-bar{max-width:calc(100vw - 560px)}.res-chip{min-width:0}}.research-card{flex-direction:column;gap:6px;display:flex}.research-head{align-items:center;gap:8px;display:flex}.research-head .card-title{flex:1}.research-card.repeat{border-style:dashed}.level-pill{font:700 12px var(--font-num);color:var(--gold-bright);background:#d9b44a33;border-radius:10px;padding:1px 8px}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:none}}.build-menu:not(.hidden),.skills-panel:not(.hidden),.research:not(.hidden),.building-panel:not(.hidden),.settings-pop:not(.hidden),.map-screen:not(.hidden) .map-head{animation:.18s ease-out pop-in}.res-chip.bump{animation:.35s ease-out bump}@keyframes bump{30%{border-color:var(--gold-bright);transform:scale(1.12);box-shadow:0 0 14px #ffdc7899}}.toast{animation:.25s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.slot-banner{z-index:25;pointer-events:none;top:22%;left:50%;transform:translate(-50%)}.banner{pointer-events:auto;cursor:pointer;background:linear-gradient(90deg,#140e0a33,#1e160eeb 20% 80%,#140e0a33);border-top:1px solid #ffd67866;border-bottom:1px solid #ffd67866;border-radius:40px;align-items:center;gap:14px;padding:12px 26px 12px 14px;display:flex}.banner.in{animation:.5s cubic-bezier(.2,1.4,.4,1) banner-in}.banner.out{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(-14px)}@keyframes banner-in{0%{opacity:0;transform:scale(.6)}}.banner-icon{background:#00000080;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.banner-title{font-family:var(--font-title);color:#fff3d6;text-shadow:0 2px #000;font-size:26px}.banner-sub{font-family:var(--font-title);text-shadow:0 1px #000;font-size:17px}.floater{font-size:18px;animation:none}.era-box{text-align:left;cursor:pointer;width:100%;color:var(--ink);font-family:var(--font-body);background:#9fc4ff12;border:1px solid #9fc4ff40;border-radius:6px;margin-top:8px;padding:6px 8px;display:block}.era-box:hover{border-color:#9fc4ff}.era-label{font-family:var(--font-title);color:#9fc4ff;font-size:12px}.era-box b{font-family:var(--font-title);color:#dce8ff;font-size:13px}.era-fill{background:linear-gradient(90deg,#4a6ab8,#9fc4ff)}.era-box .muted{font-size:11px}.pet-panel,.era-panel{width:min(720px,96vw);max-height:86vh;padding:14px 16px;overflow:auto}.pet-hero{background:#0000004d;border-radius:10px;align-items:center;gap:14px;margin-bottom:10px;padding:10px;display:flex}.pet-portrait{background:radial-gradient(circle,#ffffff14,#00000080);border-radius:50%;flex:none;place-items:center;width:92px;height:92px;animation:3s ease-in-out infinite crest;display:grid}.pet-up{background:#00000038;border-radius:8px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;margin-bottom:6px;padding:8px;display:grid}.pet-up-body{flex-direction:column;gap:4px;display:flex}.pips{gap:3px;display:flex}.pip{background:#ffffff1a;border-radius:2px;width:14px;height:6px}.pip.on{background:linear-gradient(90deg,#ffd35a,#ffe680);box-shadow:0 0 4px #ffd35a}.pet-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.pet-card{text-align:center;background:#00000040;border:1px solid #5a3e26;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;display:flex}.pet-card.owned{border-color:var(--gold)}.pet-card.ready{border-color:var(--gold-bright)}.pet-card .cost-chips{justify-content:center;margin:4px 0}.pet-thumb{background:#0006;border-radius:50%;place-items:center;width:60px;height:60px;display:grid}.owned-tag{color:var(--gold-bright);font-size:12px}.era-track{align-items:flex-start;margin:4px 0 12px;display:flex}.era-step{color:var(--ink-dim);text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;font-size:12px;display:flex;position:relative}.era-step:not(:last-child):after{content:"";background:#5a3e26;width:80%;height:2px;position:absolute;top:15px;left:60%}.era-step.past:after{background:var(--gold)}.era-dot{width:30px;height:30px;font:700 14px var(--font-num);background:#0006;border:2px solid #5a3e26;border-radius:50%;place-items:center;display:grid}.era-step.past .era-dot{border-color:var(--gold);color:var(--gold)}.era-step.now .era-dot{border-color:var(--gold-bright);background:var(--gold);color:#2a1a08;box-shadow:0 0 14px var(--gold)}.era-step.now{color:var(--gold-bright)}.era-limits,.unlocks{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.checklist{flex-direction:column;gap:5px;margin:8px 0;display:flex}.check{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.check.done{color:#a8e08a}.check .box{border:1px solid;border-radius:4px;place-items:center;width:18px;height:18px;font-size:13px;display:grid}.era-panel .btn.primary{width:100%;margin-top:10px}.inputs{flex-wrap:wrap;align-items:center;gap:5px;margin:4px 0;display:flex}.chip.lack-soft{color:#ffc0a0}.frame-chip{align-self:flex-start;margin-bottom:4px;font-size:13px}.starved{color:#ff9a80;border-radius:4px;margin:2px 0 4px;padding:2px 4px;font-size:13px;animation:1.4s infinite pulse-red}.res-chip{min-width:0;padding:4px 10px 4px 6px}.res-chip .ico{width:24px;height:24px}.res-text .amount{font-size:15px}.awaken-panel{width:min(860px,96vw);max-height:88vh;padding:14px 16px;overflow:auto}.dream-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.dream-num{font-family:var(--font-title);color:#dce8ff;text-shadow:0 0 12px #9fc4ff99;font-size:22px}.dawn-buff{color:#ffe680;background:linear-gradient(90deg,#ffb4504d,#ffe68033);border-radius:12px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;display:inline-flex}.light-box{background:radial-gradient(at 70%,#ffdc8c2e,#0000004d);border:1px solid #ffdc8c59;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:6px 0 10px;padding:12px;display:grid}.light-now{align-items:center;gap:10px;display:flex}.light-num{font:700 28px var(--font-num);color:#fff3d6;display:block}.light-num.gain{color:#ffe680;text-shadow:0 0 14px #ffdc78cc}.light-arrow{color:var(--gold);font-size:26px}.light-gain{text-align:right;border-radius:10px;padding:6px 10px}.record-row{grid-column:1/-1;align-items:center;gap:8px;font-size:12px;display:flex}.record-row .bar{flex:1;margin:0}.record-row .bar-fill.done{background:linear-gradient(90deg,#ffe680,#fff3d6)}.keep-lose{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;font-size:13px;display:grid}.keep,.lose{border-radius:8px;padding:8px 10px}.keep{background:#8fd06a1a;border:1px solid #8fd06a59}.lose{color:var(--ink-dim);background:#d0533f14;border:1px solid #d0533f4d}.wake-btn{width:100%;padding:12px;font-size:18px}.confirm{background:#ffe68014;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex}.talents{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-top:6px;display:grid}.talent{text-align:left;cursor:default;color:var(--ink);font-family:var(--font-body);background:#00000047;border:1px solid #4a3a2a;border-radius:10px;gap:10px;padding:8px;display:flex}.talent.ready{cursor:pointer;border-color:#ffe680;box-shadow:0 0 10px #ffe6804d}.talent.owned{background:#ffdc8c14}.talent.maxed{border-color:var(--gold);opacity:.85}.talent-icon{background:radial-gradient(circle,#ffe68033,#0006);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.talent-body{flex-direction:column;flex:1;gap:3px;display:flex}.talent-cost{font:600 13px var(--font-num);color:#ffe680}.wake-veil{z-index:100;background:radial-gradient(circle at 50% 60%,#fff8e0,#ffd890 40%,#f0a050 75%,#6a3a2a);place-items:center;animation:1.8s ease-in forwards veil;display:grid;position:fixed;inset:0}.wake-text{font-family:var(--font-title);color:#6a3a1a;text-shadow:0 0 20px #fff;font-size:40px;animation:1s ease-out rise}@keyframes veil{0%{opacity:0}40%{opacity:1}to{opacity:1}}.dream-card{border-color:#ffd890;position:relative;overflow:hidden;box-shadow:0 0 60px #ffc87859,inset 0 0 30px #00000080}.dream-sun{pointer-events:none;background:radial-gradient(circle,#ffe69673,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-80px;right:-80px}.dream-gifts{background:#ffdc8c14;border-radius:8px;flex-direction:column;gap:4px;margin:14px 0;padding:10px;font-size:15px;display:flex}.clock-icon{color:#ffd35a;text-shadow:0 0 8px #ffd35ab3;text-align:center;width:22px;font-size:18px}.clock-icon.night{color:#c8d8ff;text-shadow:0 0 8px #a0beffcc}.feats-panel{width:min(820px,96vw);max-height:86vh;padding:14px 16px;overflow:auto}.feats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:8px;display:grid}.feat{filter:grayscale(.6);opacity:.75;background:#00000047;border:1px solid #4a3a2a;border-radius:10px;gap:10px;padding:8px;display:flex}.feat.got{filter:none;opacity:1;border-color:var(--gold);background:#ffd35a14}.feat-icon{background:#00000059;border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.feat-body{flex-direction:column;flex:1;gap:3px;display:flex}.feat-reward{color:var(--gold);font-size:12px}.action{width:66px}.action.open{border-color:var(--gold-bright);box-shadow:0 0 16px #ffdc7880, inset 0 -3px 0 var(--gold);background:radial-gradient(circle at 50% 30%,#aa783cf2,#46301ef2);transform:translateY(-3px)}.skill-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skill-card{border:1px solid #4a3a2a;border-top:3px solid var(--skill);border-left-width:1px;gap:8px;padding:12px}.skill-top{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.skill-icon{box-shadow:0 0 16px color-mix(in srgb, var(--skill) 45%, transparent)}.skill-card .skill-name{font-size:18px}.level-ring{border-color:var(--skill)}.xp-bar{background:#00000073;border:1px solid #0009;border-radius:9px;height:18px;position:relative;overflow:hidden}.xp-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--skill) 60%, #000), var(--skill));position:absolute;inset:0 auto 0 0}.xp-bar span{text-align:center;font:600 12px/18px var(--font-num);color:#fff;text-shadow:0 1px 2px #000;display:block;position:relative}.pills{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pill{text-align:center;background:#0000004d;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.gift-row{align-items:center;gap:6px;min-height:20px;display:flex}.gift-pip{background:color-mix(in srgb, var(--skill) 15%, transparent);border:1px solid #6a5a46;border-radius:50%;flex:none;width:10px;height:10px}.gift-pip.on{border-color:var(--skill);background:var(--skill);box-shadow:0 0 6px var(--skill)}.gift-next{min-width:0;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;margin-left:2px;font-size:13px;overflow:hidden}.pill b{font:700 16px var(--font-num);color:#fff3d6}.pill span{color:var(--ink-dim);font-size:11px;line-height:1.1}.next-reward{color:var(--gold);background:#d9b44a14;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.stat-tiles{grid-template-columns:repeat(4,1fr)}.stat-tile{text-align:center;flex-direction:column;gap:2px;padding:8px 4px}.stat-tile b{font-size:17px}.stat-tile span{color:var(--ink-dim);font-size:11px}.building-panel{flex-direction:column;gap:8px;padding:12px;display:flex}.bp-head{grid-template-columns:64px 1fr auto;align-items:start;gap:10px;display:grid}.bp-thumb{background:radial-gradient(circle at 50% 60%,#78a05a40,#0000004d);border-radius:10px;place-items:center;width:64px;height:64px;display:grid}.bp-title .title{font-size:18px}.bp-desc{color:var(--ink-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.kpis{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px;display:grid}.kpi{text-align:center;background:#0000004d;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:6px 4px;display:flex}.kpi b{font:700 17px var(--font-num);color:#fff3d6}.kpi.good b{color:#a8e08a}.kpi span{color:var(--ink-dim);font-size:11px;line-height:1.1}.section.level{border-top:none;flex-direction:column;gap:6px;margin-top:0;padding-top:0;display:flex}.milestone-bar{--skill:#ffd35a;height:16px}.milestone-bar span{font-size:11px;line-height:16px}.build-bar{--skill:#c8955a}.btn.upgrade{justify-content:space-between;align-items:center;gap:8px;display:flex}.btn.upgrade .cost{gap:8px;font-size:14px}.hint{color:var(--gold);font-size:13px}.hint.boost{color:#ffe680;text-shadow:0 0 8px #ffdc7899}.people{flex-direction:column;gap:2px;max-height:160px;display:flex;overflow:auto}.person{background:#0000002e;border:none;border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:8px;padding:3px 6px;display:grid}.person-name{font-size:13px;font-weight:700}.person.tappable{cursor:pointer;grid-template-columns:auto 1fr auto}.person.tappable:hover,.person.tappable:focus-visible,.person.tappable.open{background:#ffc87824;outline:none}.person-wrap{flex-direction:column;gap:2px;display:flex}.shelf-toggle{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.shelf-toggle:hover,.shelf-toggle:focus-visible,.shelf-toggle.open{background:#ffc87824;outline:none}.shelf .subtitle{margin:6px 8px 2px}.shelf-caret{color:var(--ink-dim);margin-left:auto}.garden{flex-direction:column;gap:4px;padding:0 8px 6px;display:flex}.garden .subtitle{margin:6px 0 2px}.garden-beds,.garden-seeds{flex-wrap:wrap;gap:6px;display:flex}.garden-bed,.garden-seed{min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:#00000038;border:1px solid #ffffff24;border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:2px 6px;font-size:12px;display:inline-flex}.garden-bed:disabled{cursor:help;opacity:.9}.garden-bed.empty{border-style:dashed}.garden-bed.ripe{border-color:var(--gold-bright);box-shadow:0 0 8px #ffd27859}.garden-seed:hover,.garden-seed:focus-visible{background:#ffc87824;outline:none}.ring-stones{flex-wrap:wrap;gap:6px;margin:4px 8px 6px;display:flex}.ring-stone{cursor:help;justify-content:center;align-items:flex-end;min-width:28px;min-height:28px;display:inline-flex}.keepsake-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:2px 8px;font-size:12px;display:flex}.keepsake-row b{white-space:nowrap;font-weight:600}.keepsake-line{color:var(--ink-dim);white-space:normal;text-overflow:clip;flex-basis:100%;min-width:0;margin-top:-2px;padding-left:26px;font-style:italic;overflow:visible}.keepsake-row .ico{flex:none}.keepsake-row.dim{opacity:.8}.keepsake-row.dim .ico{filter:brightness(0)opacity(.45)}.keepsake-row.dim b{color:var(--ink-dim);font-weight:400}.pips{align-items:center;gap:3px;display:inline-flex}.pip{color:#ffffff2e;font-size:13px;font-style:normal;line-height:1}.pip:before{content:"♥"}.pip.on{color:#ff8fa0;text-shadow:0 0 6px #ff8fa08c}.pips.mini .pip{font-size:10px}.bond-card{background:#00000047;border-left:2px solid #ff8fa0;border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.bond-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bond-head .pips{flex:1;min-width:70px}.bond-head .btn{align-items:center;gap:6px;display:inline-flex;margin-top:0!important}.bond-head .cost{display:inline-flex}.bond-full{color:var(--ink-dim);font-size:12px;font-style:italic}.bond-kind{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.gift-from{max-width:90px;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bond-line{color:var(--ink-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.bond-hint{color:var(--gold)}.person-act{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;text-align:right;font-size:12px;overflow:hidden}.build-card .card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:root{--gap:12px;--hud-top:62px;--hud-bottom:104px;--side-w:290px;--map-w:232px}#ui{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.slot-center{left:0;right:0;top:var(--hud-top);bottom:var(--hud-bottom);padding:6px var(--gap);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;transform:none}.slot-center>.panel{pointer-events:auto;flex-direction:column;max-width:100%;display:flex;overflow:hidden;max-height:100%!important}.slot-center>.panel>.menu-head{flex:none}.slot-center>.panel>:not(.menu-head){min-height:0}.slot-center>.panel{overscroll-behavior:contain;overflow-y:auto}.slot-center>.panel>.menu-head{z-index:2;background:linear-gradient(#2c2016fc,#241a12f7);border-bottom:1px solid #d9b44a33;margin:-14px -16px 10px;padding:12px 16px 8px;position:sticky;top:-14px}.slot-top-left{width:var(--side-w);max-height:calc(100% - var(--hud-bottom) - 2 * var(--gap));overflow:auto}.slot-top-right{width:var(--map-w)}.slot-right-panel{top:var(--hud-top);bottom:var(--hud-bottom);right:calc(var(--map-w) + 2 * var(--gap));pointer-events:none;width:340px;max-height:none}.slot-right-panel>.panel{pointer-events:auto;overscroll-behavior:contain;max-height:100%;overflow-y:auto}.slot-bottom-left{width:220px}.resource-bar{max-width:calc(100vw - var(--side-w) - var(--map-w) - 4 * var(--gap))}.action-bar{max-width:calc(100vw - 2 * var(--gap));scrollbar-width:none;overflow:auto visible}.action-bar::-webkit-scrollbar{display:none}.action{flex:none}.settings-pop{bottom:calc(var(--hud-bottom) + 4px);right:var(--gap);max-height:calc(100vh - var(--hud-top) - var(--hud-bottom) - 16px);position:fixed;overflow:auto}.slot-bottom-center{align-items:center}@media (width<=1240px){.slot-bottom-left{bottom:calc(var(--hud-bottom) + 4px);width:200px}.slot-bottom-left .panel{padding:6px 10px}.slot-bottom-right{display:none}.slot-right-panel{right:var(--gap)}.action{width:60px;height:64px;font-size:12px}.action .ico{width:30px!important;height:30px!important}:root{--hud-bottom:92px}}@media (height<=720px){:root{--hud-bottom:86px}.village-card .objective-text{font-size:13px}.minimap canvas{width:160px;height:160px}:root{--map-w:192px}}@media (width<=760px){:root{--gap:8px;--hud-top:96px;--hud-bottom:78px;--side-w:168px;--map-w:118px}.slot-top-center{top:6px;left:var(--gap);right:var(--gap);transform:none}.resource-bar{justify-content:center;gap:4px;max-width:none}.res-chip{border-radius:14px;padding:2px 8px 2px 4px}.res-chip .ico{width:18px!important;height:18px!important}.res-text .amount{font-size:13px}.res-text .rate{display:none}.slot-top-left,.slot-top-right{top:var(--hud-top)}.village-card{padding:6px 8px}.village-card .title{font-size:14px}.crest{width:32px;height:32px}.crest .ico{width:24px!important;height:24px!important}.village-card .hope-line .label,.village-card .arrival,.village-card .objective,.village-card .era-box .muted{display:none}.stat-chips{flex-wrap:wrap;gap:4px;margin-top:6px}.stat-chip{padding:2px 6px}.stat-chip b{font-size:13px}.minimap{padding:4px}.minimap canvas{width:108px;height:108px}.minimap-tools{display:none}.slot-bottom-left{left:var(--gap);width:150px;bottom:calc(var(--hud-bottom) + 4px)}.slot-bottom-left .subtitle{margin:0;font-size:12px}.slot-bottom-left .res-row{font-size:12px}.stamina .label{display:none}.slot-bottom-center{bottom:6px;left:var(--gap);right:var(--gap);transform:none}.action-bar{border-radius:10px;gap:4px;max-width:100%;padding:4px}.action{gap:1px;width:52px;height:58px;font-size:10px}.action .key{display:none}.action .ico{width:26px!important;height:26px!important}.toasts{bottom:calc(var(--hud-bottom) + 6px);width:max-content;max-width:92vw;position:fixed;left:50%;transform:translate(-50%)}.toast{font-size:13px}.slot-center{padding:4px var(--gap);align-items:stretch}.slot-center>.panel{width:100%!important}.slot-right-panel{left:var(--gap);right:var(--gap);width:auto}.build-cards,.cards,.talents,.feats,.skill-cards{grid-template-columns:1fr!important}.stat-tiles{grid-template-columns:repeat(2,1fr)}.light-box{text-align:center;grid-template-columns:1fr}.light-arrow{transform:rotate(90deg)}.light-now{justify-content:center}.light-gain{text-align:center}.keep-lose{grid-template-columns:1fr}.era-step-name{display:none}.slot-banner{top:calc(var(--hud-top) + 190px);width:max-content;max-width:calc(100vw - 2 * var(--gap))}.banner{box-sizing:border-box;gap:10px;max-width:100%;padding:8px 16px 8px 10px}.banner-icon{flex:none;width:44px;height:44px}.banner-icon .ico{width:32px!important;height:32px!important}.banner-title{font-size:19px}.banner-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.story .scroll{padding:18px}.story p{font-size:15px}.chapter-title{font-size:20px}.village-card .card-head>div:last-child .bar,.village-card .hope-line b{font-size:12px}.village-card .era-box{display:none}.village-card .title{font-size:13px;line-height:1.1}.village-card .hope-line{font-size:11px}.stat-chips .stat-chip{flex:calc(50% - 4px)}.slot-bottom-left .bag .res-rows{display:none}.slot-bottom-left .panel{padding:4px 8px}.stamina .bar{margin-top:0}}#loading{background:radial-gradient(at 50% 60%,#2a1c12,#0e0c12 70%);gap:14px;transition:opacity .6s}#loading.done{opacity:0;pointer-events:none}.loading-flame{filter:blur(1px);background:radial-gradient(circle at 50% 65%,#fff3c0,#ffb347 30%,#d9481c 55%,#0000 70%);border-radius:50%;width:64px;height:64px;animation:.9s ease-in-out infinite alternate flame}@keyframes flame{0%{opacity:.85;transform:scaleX(.92)translateY(2px)}to{opacity:1;transform:scale(1.04,1.12)translateY(-3px)}}.loading-bar{background:#00000080;border:1px solid #6b4a2e;border-radius:6px;width:min(420px,80vw);height:12px;overflow:hidden}.loading-fill{background:linear-gradient(90deg,#c4561e,#ffb347,#ffe680);width:0;height:100%;transition:width .2s;box-shadow:0 0 12px #ffb347}.loading-status{font:14px var(--font-num);color:var(--ink)}.loading-tip{text-align:center;max-width:min(460px,86vw);color:var(--ink-dim);min-height:2.6em;font-size:14px}.ico{image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain}.research{width:min(860px,96vw)}.rlist{flex-direction:column;gap:6px;display:flex}.rsec{margin:8px 0 2px}.rsec-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.rsec-row .btn{white-space:nowrap;flex:none}.rcard.lighting{animation:.35s both rlight;animation-delay:calc(var(--i,0) * 70ms)}@keyframes rlight{0%{transform:scale(1)}50%{border-color:var(--gold-bright);transform:scale(1.03);box-shadow:inset 0 0 0 1px #ffeba080,0 0 22px #ffdc78b3}to{border-color:var(--gold-bright);transform:scale(1);box-shadow:inset 0 0 0 1px #ffeba080,0 0 16px #ffdc7880}}@media (prefers-reduced-motion:reduce){.rcard.lighting{animation:none}}.rgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;display:grid}.rcard{background:linear-gradient(#3c2c1e8c,#1e16108c);border:1px solid #4a3a2a;border-radius:10px;grid-template-columns:56px 1fr;gap:10px;padding:10px;display:grid}.rcard.ready{border-color:var(--gold);box-shadow:inset 0 0 0 1px #ffdc7826,0 0 12px #ffd26e2e}.rcard.repeat{border-style:dashed}.rcard-icon{background:radial-gradient(circle at 50% 40%,#ffe69629,#00000059);border-radius:10px;place-items:center;width:56px;height:56px;display:grid}.rcard.ready .rcard-icon{background:radial-gradient(circle at 50% 40%,#ffdc7859,#0000004d)}.rcard-body{flex-direction:column;gap:4px;min-width:0;display:flex}.rcard-title{font-family:var(--font-title);color:var(--gold-bright);align-items:center;gap:6px;font-size:14px;line-height:1.15;display:flex}.rcard-title span:first-child{flex:1}.rcard-desc{color:var(--ink-dim);font-size:13px;line-height:1.3}.rcard-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;display:flex}.rcard-foot .cost{flex-wrap:wrap;gap:8px;font-size:14px}.btn.learn{border-color:var(--gold);color:#fff3d6;background:linear-gradient(#8a6430,#5a3e1e)}.btn.learn:hover{filter:brightness(1.15)}.done-list{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.done-chip{color:#a8e08a;background:#8fd06a1a;border-radius:10px;align-items:center;gap:4px;padding:2px 8px 2px 4px;font-size:12px;display:inline-flex}.rcard.glow,.card.glow{animation:none}.era-road{font-family:var(--font-title);flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 12px;font-size:15px;display:flex}.road-past{color:var(--ink-dim);opacity:.7}.road-now{color:#2a1a08;background:linear-gradient(#ffe680,#d9b44a);border-radius:14px;padding:4px 12px;box-shadow:0 0 14px #ffdc7880}.road-next{color:#dce8ff}.road-sep{color:var(--gold)}.road-fade{color:var(--ink-dim);letter-spacing:3px;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.dream .scroll{background:linear-gradient(#2b2018,#1b140f);border:2px solid #ffd890;border-radius:8px;max-width:640px;max-height:calc(100% - 32px);margin:16px;padding:28px 34px;animation:.5s ease-out rise;overflow:auto;box-shadow:0 0 60px #ffc87859,inset 0 0 30px #00000080}.dream p{margin:0 0 12px;font-size:17px;line-height:1.55}.dream .chapter-title{margin-bottom:14px;position:relative}.dream .btn{margin-left:auto;display:block}:root{--r:8px;--pad:10px}.village-card{padding:var(--pad);flex-direction:column;gap:8px;display:flex}.village-card .card-head{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.village-card .crest{width:38px;height:38px}.village-card .title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:16px;line-height:1.1;overflow:hidden}.vc-time{font:13px var(--font-num);color:var(--ink-dim);align-items:center;gap:2px;display:flex}.vc-time .clock-icon{width:18px;font-size:15px}.village-card .stat-chips{flex-wrap:wrap;margin:0}.village-card .stat-chip{border-radius:14px;flex:none;gap:5px;padding:3px 9px 3px 5px}.vc-hope{background:#ffaa3c1f;border:1px solid #ffbe5a59;border-radius:14px;align-items:center;gap:5px;padding:3px 10px 3px 5px;display:flex}.vc-hope b{font:700 16px var(--font-num);color:var(--gold-bright)}.vc-eta{font:12px var(--font-num);color:#9fd47a}.stat-chip.warn{border-color:#e8a06099}.vc-wish{cursor:pointer;color:inherit;font:inherit;min-width:0}.vc-wish b{font:700 14px var(--font-num);white-space:nowrap}.vc-wish.pulse{animation:1.2s ease-out wish-glow}.vc-bigwish{border-color:#ffd2788c}.vc-bigwish .vc-star{color:#ffd278;font-size:12px}.vc-actions{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.vc-act{cursor:pointer;min-height:34px;color:var(--ink);font:600 14px var(--font-body);white-space:nowrap;background:#0000004d;border:1px solid #d9b44a59;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:4px 12px;transition:background .15s,border-color .15s,opacity .15s;display:flex}.vc-act:hover{border-color:var(--gold);background:#d9b44a29}.vc-act-n{text-align:right;min-width:2.2ch;font:700 14px var(--font-num);color:var(--gold-bright);display:inline-block}.vc-raise.idle{opacity:.55}.vc-raise.idle .vc-act-n{visibility:hidden}.vc-raise.pulse{animation:1.2s ease-out wish-glow}.vc-steward.on{border-color:var(--gold-bright);color:var(--gold-bright);background:#ffbe5a38;box-shadow:0 0 10px #ffd27873}@keyframes wish-glow{0%{box-shadow:0 0 #ffd278e6}to{box-shadow:0 0 0 12px #ffd27800}}.village-card .objective{background:#d9b44a1a;margin:0;padding:8px 10px}.village-card .objective-head{margin-bottom:4px;font-size:12px}.goal-num{font:700 13px var(--font-num);color:var(--gold-bright);margin-left:auto}.village-card .objective-text{color:#fff3d6;font-size:15px;line-height:1.3}.goal-bar{margin-top:6px}.goal-fill{background:linear-gradient(90deg, #d97a2a, var(--gold-bright))}.village-card .era-box{margin:0;padding:6px 8px}.village-card .era-box .row{margin-top:0}.stamina{align-items:center;gap:6px;padding:5px 10px;display:flex}.stamina .bar{flex:1;height:8px;margin:0}.stamina-ico{color:#8fd06a;font-size:14px}.stamina.faded{opacity:0;pointer-events:none!important}.bag{flex-direction:column;gap:4px;padding:6px 10px;display:flex}.bag .subtitle{justify-content:space-between;align-items:baseline;margin:0;font-size:13px;display:flex}.bag .subtitle b{font:700 14px var(--font-num);color:#fff3d6}.bag .res-rows{flex-wrap:wrap;gap:4px 10px;display:flex}.bag-item{font:600 14px var(--font-num);align-items:center;gap:3px;display:inline-flex}.bag-item .ico{width:20px!important;height:20px!important}.bag .bar{margin:0}.bag-fill{background:linear-gradient(90deg, #8a6430, var(--gold-bright))}.bag.full{animation:1.2s infinite pulse-red}.new-dot{pointer-events:none;background:#8fd06a;border-radius:50%;width:10px;height:10px;display:none;position:absolute;top:-6px;left:-6px;box-shadow:0 0 8px #8fd06ae6}.action.is-new .new-dot{animation:1.4s ease-in-out infinite dot-pulse;display:block}@keyframes dot-pulse{50%{transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.action.is-new .new-dot{animation:none}}.action.is-new{border-color:#8fd06a;animation:.6s cubic-bezier(.2,1.6,.4,1) new-pop,1.6s ease-in-out .6s infinite glow}@keyframes new-pop{0%{opacity:0;transform:scale(.3)}}.action-bar{overflow:visible}.action .key{opacity:.6}.settings-pop .keys-help{color:var(--ink-dim);grid-template-columns:1fr 1fr;gap:4px 10px;font-size:13px;display:grid}.keys-help div{align-items:center;gap:6px;display:flex}kbd{font:600 11px var(--font-num);color:var(--ink);background:#0006;border:1px solid #5a3e26;border-radius:4px;padding:1px 6px}.guide{pointer-events:none;position:absolute;inset:0;overflow:hidden}.guide-marker{z-index:5;width:0;height:0;position:absolute;top:0;left:0}.guide-arrow{clip-path:polygon(30% 0,70% 0,70% 45%,100% 45%,50% 100%,0 45%,30% 45%);filter:drop-shadow(0 0 6px #ffd264e6)drop-shadow(0 2px #000);background:linear-gradient(#ffe680,#ffb347);width:28px;height:30px;animation:.9s ease-in-out infinite alternate bob;position:absolute;top:-34px;left:-14px}.guide-marker.edge .guide-arrow{animation:.8s ease-in-out infinite alternate nudge;top:-30px;transform:rotate(180deg)}@keyframes bob{to{transform:translateY(-8px)}}@keyframes nudge{to{transform:rotate(180deg)translateY(-6px)}}.guide-bubble{top:calc(var(--hud-top) + 2px);z-index:13;pointer-events:auto;max-width:min(440px, calc(100vw - 2 * var(--side-w) - 4 * var(--gap)));border:1px solid var(--gold);background:linear-gradient(#3c2a18f2,#1e150ef2);border-radius:22px;align-items:center;gap:10px;padding:6px 6px 6px 8px;animation:.35s ease-out rise;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 18px #ffc85a4d,0 6px 16px #00000080}.guide-count{width:34px;height:34px;font:700 12px var(--font-num);color:#2a1a08;background:radial-gradient(circle,#ffe680,#d98a1a);border-radius:50%;flex:none;place-items:center;display:grid}.guide-lines{flex-direction:column;min-width:0;line-height:1.15;display:flex}.guide-lines b{color:#fff3d6;font-size:16px}.guide-sub{color:var(--ink-dim);font-size:12px}.guide-sub:empty{display:none}.guide-skip{width:24px;height:24px;color:var(--ink-dim);cursor:pointer;background:#00000059;border:none;border-radius:50%;flex:none;font-size:12px}.guide-skip:hover{color:var(--ink)}body[data-hint=build] .action[data-id=build]{border-color:#ffe680;animation:1s ease-in-out infinite hint-pulse}body[data-hint^=bld-] .build-card.ready{animation:none}body[data-hint=bld-shelter] .build-card[data-id=shelter],body[data-hint=bld-lumber_hut] .build-card[data-id=lumber_hut],body[data-hint=bld-farm] .build-card[data-id=farm]{border-color:#ffe680;animation:1s ease-in-out infinite hint-pulse}@keyframes hint-pulse{50%{box-shadow:0 0 0 3px #ffe68080,0 0 22px #ffdc6ecc}}.build-banner{top:calc(var(--hud-top) + 52px);border-radius:20px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 24px);padding:5px 6px 5px 10px}.tag.kin{gap:2px;padding-left:3px}.kin-dim{opacity:.5;filter:grayscale()}.build-banner .kin-pill{font:600 13px var(--font-num);color:var(--gold-bright);align-items:center;gap:4px;display:inline-flex}.build-banner .kin-pill.none{color:var(--ink-dim);font-weight:400}.build-banner .kin-pill:empty{display:none}.build-banner b{font-family:var(--font-title);color:var(--gold-bright);font-weight:400}.build-banner .move-fee{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.story .scroll{max-width:560px;max-height:calc(100% - 32px);padding:24px 28px;overflow:auto}.story-text p:last-child{margin-bottom:0}.story-more{cursor:pointer;font:14px var(--font-body);color:var(--gold);background:0 0;border:none;margin:-4px 0 10px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:block}.story-rest p{color:var(--ink-dim);font-size:16px}.objective-line{border-radius:var(--r);color:#fff3d6;background:#d9b44a1f;border:none;align-items:center;gap:10px;margin:16px 0;padding:10px 12px;font-size:17px;display:flex}.dream-gifts{background:0 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:0;display:grid}.gift{border-radius:var(--r);text-align:center;background:#ffdc8c1a;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.gift b{font:700 18px var(--font-num);color:#ffe680}.gift span{color:var(--ink-dim);font-size:12px}.arrivals{font:700 18px var(--font-num);align-items:center;gap:4px;display:flex}.build-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.build-card{align-items:center;gap:10px;padding:8px}.build-card .thumb{width:72px;height:72px}.build-card .card-title{font-size:16px}.soon{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding:6px 4px 0;display:flex}.build-empty{text-align:center;grid-column:1/-1;padding:12px 4px}.soon-item{filter:grayscale()brightness(.6);opacity:.7}.tab .badge{margin-left:2px;position:static}.pet-empty{border-radius:var(--r);color:var(--ink-dim);background:#00000040;align-items:center;gap:10px;margin-bottom:10px;padding:10px;font-size:14px;display:flex}.feats-head{grid-template-columns:auto auto 1fr;align-items:center;gap:6px;display:grid}.feats-head b{font:700 20px var(--font-num);color:var(--gold-bright)}.feats-head .bar{margin:0 0 0 8px}.keep-lose{font-size:13px}.keep,.lose{align-items:baseline;gap:8px;padding:6px 10px;display:flex}.unlocks .tag{color:var(--ink);padding:2px 8px 2px 3px;font-size:13px}.talent .card-desc,.feat .card-desc,.rcard-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.minimap-tools .btn:last-child{font-size:15px;line-height:1}.map-head{gap:12px}@media (width<=760px){.village-card{gap:5px;padding:6px 8px}.village-card .crest{width:26px;height:26px}.village-card .crest .ico{width:20px!important;height:20px!important}.village-card .title{font-size:12px}.vc-time{display:none}.village-card .stat-chips{flex-wrap:wrap;gap:4px}.village-card .stat-chip,.vc-hope{padding:1px 7px 1px 3px;flex:none!important}.vc-hope b,.village-card .stat-chip b,.vc-wish b{font-size:13px}.vc-act{gap:4px;min-height:36px;padding:4px 8px;font-size:13px}.vc-act-label{display:none}.vc-raise{min-width:0}.vc-act-n{font-size:13px}.vc-eta{display:none}.village-card .objective{padding:5px 7px;display:block}.village-card .objective-head{display:none}.village-card .objective-text{font-size:12px}.goal-bar{height:4px;margin-top:4px}.guide-bubble{top:auto;bottom:calc(var(--hud-bottom) + 8px);left:auto;right:var(--gap);max-width:calc(100vw - 150px - 3 * var(--gap));gap:6px;transform:none}.guide-lines b{white-space:normal;font-size:14px}.guide-count{width:28px;height:28px;font-size:11px}.toasts{bottom:calc(var(--hud-bottom) + 60px)}.build-banner{top:auto;bottom:calc(var(--hud-bottom) + 60px)}.tab-label{display:none}.tab{padding:4px 8px 4px 4px}.story .scroll,.dream .scroll{margin:8px;padding:16px 18px}.objective-line{font-size:15px}.skill-card{gap:6px;padding:8px 10px}.skill-card .pills{display:none}.skill-icon{width:44px;height:44px}.level-ring{width:36px;height:36px}.rcard{grid-template-columns:40px 1fr;padding:8px}.rcard-icon{width:40px;height:40px}.rcard-icon .ico{width:30px!important;height:30px!important}.action-bar{gap:3px;padding:4px 2px;overflow:auto hidden}.action-bar .action[data-id=map]{display:none}.action{width:auto;min-width:46px;height:54px;padding:0 1px}.action-label{white-space:nowrap;font-size:11px}.action-bar .badge{min-width:18px;height:18px;padding:0 3px;font-size:12px;line-height:18px;top:1px;right:1px}.new-dot{top:3px;left:3px}.slot-bottom-left .bag .res-rows{display:flex}.bag .subtitle{font-size:11px}}.pet-stats{font:600 13px var(--font-num);color:var(--ink-dim);justify-content:center;gap:10px;display:flex}.pet-stats span{align-items:center;gap:3px;display:inline-flex}@media (width<=760px){.pet-list{grid-template-columns:repeat(2,1fr)}}.unlock-ico{background:#0000004d;border-radius:8px;place-items:center;width:38px;height:38px;display:inline-grid}.awaken-panel .wake-btn,.awaken-panel .confirm{margin:2px 0 8px}.awaken-panel .light-box{margin:4px 0 8px;padding:10px}@media (width<=760px){.light-box{text-align:left;grid-template-columns:1fr auto 1fr;gap:6px}.light-arrow{font-size:20px;transform:none}.light-num{font-size:22px}.light-now{justify-content:flex-start;gap:6px}.light-now .ico{width:28px!important;height:28px!important}.light-gain{text-align:right;padding:4px}.keep-lose{grid-template-columns:1fr 1fr}}.keep,.lose{flex-direction:column;gap:2px}@media (pointer:coarse){.keys-help,.keys-title{display:none!important}}.offline .scroll{border:2px solid var(--gold);background:linear-gradient(#2b2018,#1b140f);border-radius:8px;min-width:min(340px,100vw - 32px);max-width:440px;margin:16px;padding:22px 26px;animation:.4s ease-out rise;box-shadow:0 0 40px #ffb44626,inset 0 0 30px #0009}.offline .chapter-title{margin-bottom:2px}.offline .btn.primary{width:100%;display:block}.event-chips{pointer-events:auto;justify-content:center;gap:6px;display:flex}.event-chips:empty{display:none}.event-chip{font:600 13px var(--font-num);color:#d8f5c0;background:linear-gradient(#283c1cf0,#141e0ef0);border:1px solid #8fd06a99;border-radius:12px;align-items:center;gap:4px;padding:2px 9px 2px 4px;animation:.35s ease-out rise;display:inline-flex;box-shadow:0 0 10px #8fd06a4d}.event-chip.ending{opacity:.6}.skill-card .skill-name{line-height:1.1}.skill-card .pills{display:none}@media (width>=761px){.skill-cards{grid-template-columns:repeat(3,1fr)}}@media (width>=761px) and (width<=900px){.skill-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.event-chip{padding:1px 7px 1px 3px;font-size:11px}}.res-chip{min-width:0}.res-text{flex:none;width:2.95em;overflow:hidden}.res-text .rate small{opacity:.8;font-size:.85em}.res-text .amount,.res-text .rate{white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1;display:block}.res-text .amount{transition:color .4s}.res-text .rate{min-height:1.05em}.res-chip.fast .rate{color:#b4f08a;font-weight:700}@media (width<=760px){.res-text{width:2.3em}.res-text .rate small{display:none}.res-text .amount{font-size:13px}.res-text .rate{display:none}.res-chip.fast .res-text .rate{font-size:12px;line-height:1.1;display:block}.res-chip.fast .res-text .amount{display:none}}.action-bar .key:empty{display:none}.recall-ui{pointer-events:none;position:absolute;inset:0}.recall-btn{right:calc(var(--gap,12px) + 4px);bottom:calc(var(--hud-bottom,104px) + 10px);z-index:12;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 50% 35%,#5a4678f2,#1c1424f5);border:2px solid #8a6a3a;border-radius:50%;place-items:center;width:56px;height:56px;padding:0;transition:transform .12s,border-color .12s,filter .12s;display:grid;position:fixed;overflow:hidden;box-shadow:inset 0 0 0 1px #ffd6782e,0 6px 16px #0000008c,0 0 14px #ffbe5a40}.recall-btn.hidden{display:none}.recall-btn:hover{border-color:var(--gold-bright);filter:brightness(1.15);transform:translateY(-2px)}.recall-btn:active{transform:scale(.95)}.recall-btn>*{grid-area:1/1}.recall-btn .icon,.recall-btn img{z-index:1;filter:drop-shadow(0 0 4px #ffc864cc);position:relative}.recall-btn .key{color:var(--ink-dim);font-size:9px;font-family:var(--font-num);z-index:2;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.recall-sweep{background:conic-gradient(#ffd26e8c var(--p,0deg), transparent 0);border-radius:50%;position:absolute;inset:0}.recall-btn.cooling .recall-sweep{background:conic-gradient(#0a080eb8 var(--p,0deg), transparent 0)}.recall-btn.cooling .icon,.recall-btn.cooling img{opacity:.45;filter:grayscale(.7)}.recall-btn.casting{border-color:var(--gold-bright);animation:.9s ease-in-out infinite recall-pulse}.recall-cd{z-index:2;font:700 17px var(--font-num);color:#fff;text-shadow:0 1px 2px #000;position:relative}@keyframes recall-pulse{50%{box-shadow:0 0 22px #ffdc78d9,0 6px 16px #0000008c}}.recall-ring{background:conic-gradient(var(--gold-bright) var(--p,0deg), #ffffff1f 0);filter:drop-shadow(0 0 6px #ffd26ee6);will-change:transform;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:fixed;top:0;left:0;-webkit-mask:radial-gradient(circle,#0000 12px,#000 13px);mask:radial-gradient(circle,#0000 12px,#000 13px)}.recall-ring.hidden,.recall-ring-t{display:none}.recall-flash{opacity:0;pointer-events:none;z-index:40;background:radial-gradient(circle,#fff8e0,#ffdc8c99 40%,#0000 75%);position:fixed;inset:0}.recall-flash.go{animation:.7s ease-out recall-flash}@keyframes recall-flash{0%{opacity:.95}to{opacity:0}}.crossing-veil{opacity:0;pointer-events:none;z-index:45;background:#fff8e8;transition:opacity .45s ease-in;position:fixed;inset:0}.crossing-veil.on{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.vc-wish.pulse,.vc-raise.pulse{animation:none}.recall-flash.go{animation-duration:.25s}.recall-btn.casting{animation:none}}@media (width<=760px){.recall-btn{width:52px;height:52px;bottom:calc(var(--hud-bottom) + 76px);right:var(--gap,8px)}}.letter-prompt{color:var(--ink-dim);font-size:12px}.letter-row{flex-wrap:wrap;gap:6px;width:100%;display:flex}.letter-opt{white-space:normal;overflow-wrap:anywhere;flex:28%;min-width:0;padding:6px 4px;font-size:12px;line-height:1.25}.letter-opt.on{border-color:var(--gold);background:#ffd36b29}.letter-effect{color:var(--ink-dim);text-align:center;min-height:1.3em;font-size:12px}.heirloom-prompt{color:var(--ink-dim);font-size:12px}.heirloom-row{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;display:flex}.heirloom-opt{justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:relative}.heirloom-opt.on{border-color:var(--gold);background:#ffd36b29}.heirloom-lv{color:var(--ink-dim);text-shadow:0 1px #000;font-size:10px;line-height:1;position:absolute;bottom:0;right:2px}.heirloom-effect{color:var(--ink-dim);text-align:center;min-height:1.3em;font-size:12px}.standing-prompt{color:var(--ink-dim);font-size:12px}.standing-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.standing-ico{background:#00000040;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:relative}.standing-lv{color:var(--ink-dim);text-shadow:0 1px #000;font-size:10px;line-height:1;position:absolute;bottom:0;right:1px}.bp-heirloom,.dream-heirloom{color:var(--ink-dim);text-align:center;font-size:12px;font-style:italic}.dream-heirloom{margin:0 0 12px;font-size:13px}.bp-kin{color:var(--ink-dim);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;font-size:12px;display:flex}.dream-letter{color:var(--ink-dim);text-align:center;margin:0 0 12px;font-size:13px;font-style:italic}.chip .eta,.cost .eta{font:11px var(--font-num);color:var(--ink-dim);opacity:.85;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:2px}.chip .hand,.cost .hand{opacity:.6;cursor:help;margin-left:1px;font-size:11px}.btn.upgrade .cost{flex-wrap:wrap;justify-content:flex-end}.vc-next{align-items:center;gap:6px;min-width:0;margin-top:6px;display:flex}.vc-next .bar{flex:1;margin-top:0}.vc-next-icon{flex:none;display:inline-flex}.vc-next-time{font:11px var(--font-num);color:var(--ink-dim);white-space:nowrap}.offer-goal{cursor:pointer;text-align:left;width:100%;min-height:38px;color:var(--ink);background:#d9b44a1a;border:1px solid #d9b44a59;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.offer-goal:hover{border-color:var(--gold)}.offer-goal.glow{border-color:var(--gold-bright);box-shadow:0 0 10px #ffd27866}.off-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:13px var(--font-title);color:var(--gold);flex:1;overflow:hidden}.off-tiles{flex:none;gap:4px;display:inline-flex}.off-tile{background:#0000004d;border-radius:6px;justify-content:center;align-items:center;width:28px;height:32px;padding-bottom:5px;display:inline-flex;position:relative}.off-fill{background:#ffffff24;border-radius:2px;height:3px;position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden}.off-fill:after{content:"";width:var(--p,0%);background:linear-gradient(90deg, #d97a2a, var(--gold-bright));position:absolute;inset:0 auto 0 0}.off-tile.done .off-fill:after{background:var(--good)}.off-check{color:var(--good);text-shadow:0 1px #000;font-size:10px;line-height:1;position:absolute;top:-1px;right:1px}.off-layer{pointer-events:none;position:absolute;inset:0}.off-board{cursor:pointer;pointer-events:auto;opacity:.88;touch-action:manipulation;background:linear-gradient(#7a5a3a,#5b4128);border:2px solid #3a2a18;border-radius:6px;gap:3px;padding:5px 6px 6px;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 3px 8px #00000080}.off-board:after{content:"";background:#4a341f;border-radius:0 0 2px 2px;width:5px;height:14px;margin-left:-2.5px;position:absolute;top:100%;left:50%}.off-board:hover,.off-board.near{opacity:1}.off-board .off-tile{background:#140c0673;width:26px;height:30px}.off-board.ready{animation:2.4s ease-in-out infinite standing-glow;box-shadow:0 0 12px 2px #ffdc78b3,0 3px 8px #00000080}.off-board.mending{opacity:1;filter:brightness(1.15);transform-origin:50% 100%;animation:.4s ease-in-out infinite off-hammer}@keyframes off-hammer{0%,to{translate:0}50%{translate:0 2px}}@media (prefers-reduced-motion:reduce){.off-board.ready,.off-board.mending{animation:none}}@media (width<=760px){.offer-goal{gap:6px;min-height:36px;padding:3px 6px}.off-name{display:none}.offer-goal{justify-content:center}.off-tile{width:26px}}.biome-strip{--strip-icon:36px;flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.biome-strip.hidden{display:none}.strip-item{cursor:pointer;width:var(--strip-icon);height:var(--strip-icon);color:var(--ink);touch-action:manipulation;background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent,#6b4a2e) 70%, #fff 12%), color-mix(in srgb, var(--accent,#6b4a2e) 55%, #000));border:2px solid #0000008c;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;display:inline-flex;position:relative;box-shadow:0 2px 5px #00000073}.strip-item:hover:not(:disabled){border-color:var(--gold);transform:translateY(-1px)}.strip-item:disabled{cursor:default;opacity:.6}.strip-item.here{border-color:var(--gold-bright);cursor:default;box-shadow:0 0 0 2px #ffe08059,0 2px 6px #00000080}.strip-item.here:disabled{opacity:1}.strip-item.next{box-shadow:none;cursor:default;background:#0000002e;border:2px dashed #d9b44a66}.strip-dot{background:var(--good);border:1px solid #000;border-radius:50%;width:10px;height:10px;position:absolute;top:-1px;right:-1px}@media (width<=760px){.biome-strip{--strip-icon:44px;justify-content:flex-end;gap:6px}}@media (height<=720px) and (width>=761px){.biome-strip{--strip-icon:30px;gap:2px}}.vc-list-btn{cursor:pointer;width:28px;height:28px;color:var(--ink-dim);font:16px var(--font-body);background:#0000004d;border:1px solid #d9b44a4d;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.vc-list-btn:hover,.vc-list-btn.on{color:var(--gold-bright);border-color:var(--gold);background:#d9b44a29}.vc-list{overscroll-behavior:contain;flex-direction:column;gap:3px;max-height:min(34vh,260px);padding-right:2px;display:flex;overflow-y:auto}.vc-row{background:#00000038;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:2px 4px;display:flex}.vc-row .ico{flex:none}.vc-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:13px;overflow:hidden}.vc-row-lv{text-align:right;min-width:2.4ch;font:700 13px var(--font-num);color:var(--gold-bright);flex:none}.vc-row-raise{cursor:pointer;min-width:34px;min-height:30px;color:var(--ink);font:600 12px var(--font-body);background:#0000004d;border:1px solid #d9b44a59;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.vc-row-raise:hover{border-color:var(--gold);background:#d9b44a29}.vc-row-raise.glow{border-color:var(--gold-bright);color:var(--gold-bright);box-shadow:0 0 8px #ffd27859}.vc-row-raise.idle{opacity:.5}.vc-row-arrow{font-size:10px}@media (width<=760px){.vc-list-btn{width:36px;height:30px}.vc-row{gap:4px;min-height:44px}.vc-row-name,.vc-row-label{display:none}.vc-row-lv{text-align:left;flex:1;padding-left:4px}.vc-row-raise{min-width:44px;min-height:40px}.vc-row-arrow{font-size:14px}}.vc-flame{cursor:pointer;color:inherit;font:inherit;min-width:0}.vc-flame-bar{width:34px;margin-top:0}.flame-fill{background:linear-gradient(90deg,#8a2e1a,#e8541e,#ffd060);box-shadow:0 0 6px #ff8c32b3}.vc-flame.ready{border-color:#ffbe5a8c}.vc-flame.full{border-color:#ffe078cc;box-shadow:0 0 8px #ffaa3c73}.bp-fire{align-items:center;gap:8px;margin-top:8px;display:flex}.bp-fire .bar{flex:1;height:10px;margin:0}.bp-fire-x{font:700 14px var(--font-num);color:var(--gold-bright);text-align:right;min-width:2.6em}.bp-fire .btn{white-space:nowrap}@media (width<=760px){.vc-flame-bar{width:26px}}.btn.idle{opacity:.6}.action.unread .new-dot{animation:1.4s ease-in-out infinite dot-pulse;display:block}@media (prefers-reduced-motion:reduce){.action.unread .new-dot{animation:none}}.atlas-panel{width:min(560px,96vw);max-height:86vh;padding:14px 16px}.atlas-panel .menu-head{gap:8px}.atlas-panel .menu-head .title{flex:1;min-width:0}.atlas-insight{cursor:help;background:#0000004d;border:1px solid #d9b44a59;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.atlas-insight b{font:700 14px var(--font-num);color:var(--gold-bright);text-align:right;min-width:1.4ch}.atlas-star{color:var(--gold-bright);font-size:13px}.atlas-tabs{gap:6px;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.atlas-tab{cursor:pointer;opacity:.8;background:#0000004d;border:1px solid #d9b44a40;border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:relative}.atlas-tab:hover{opacity:1;border-color:var(--gold)}.atlas-tab.on{opacity:1;border-color:var(--gold-bright);background:#d9b44a2e;box-shadow:0 0 8px #ffd27840}.atlas-dot{pointer-events:none;background:#8fd06a;border-radius:50%;width:9px;height:9px;position:absolute;top:3px;right:3px;box-shadow:0 0 6px #8fd06acc}.atlas-body{flex-direction:column;gap:4px;display:flex}.atlas-page-title{font:600 14px var(--font-title);color:var(--gold);margin:0 2px 2px}.atlas-group{color:var(--ink-dim);margin:6px 4px 0;font-size:12px}.atlas-row{background:#00000038;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:4px 8px;display:flex}.atlas-row .ico{flex:none}.atlas-text{flex-direction:column;flex:1;min-width:0;display:flex}.atlas-text b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.atlas-line{color:var(--ink-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.atlas-row.dim{background:0 0;border:1px dashed #d9b44a40}.atlas-row.dim .ico{filter:brightness(0)opacity(.4)}.atlas-row .pips{flex:none}.audio-settings{flex-direction:column;gap:4px;margin:6px 0 8px;display:flex}.audio-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.audio-head .subtitle{margin-bottom:0}.audio-mute{white-space:nowrap}.audio-row{cursor:pointer;grid-template-columns:78px 1fr 30px;align-items:center;gap:8px;display:grid}.audio-label{color:var(--ink-dim);font-size:13px}.audio-value{text-align:right;color:var(--ink);font-size:13px}.audio-settings.is-muted .audio-row{opacity:.45}.audio-range{--fill:50%;appearance:none;border:1px solid var(--panel-edge);background:linear-gradient(90deg, #d97a2a, var(--gold-bright)) 0 0 / var(--fill) 100% no-repeat, #1c1510;cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px;margin:6px 0}.audio-range:focus-visible{box-shadow:0 0 0 2px var(--gold)}.audio-range:disabled{cursor:default}.audio-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold-bright);border:2px solid #4a3524;border-radius:2px;width:14px;height:14px;box-shadow:0 0 6px #ffe68080}.audio-range::-moz-range-thumb{background:var(--gold-bright);border:2px solid #4a3524;border-radius:2px;width:12px;height:12px}
