:root{--parch:#fff;--parch-2:#eaf3fc;--parch-3:#d3e5f5;--line:#cddff2;--wood:#2a64b0;--wood-l:#4d8fd6;--wood-d:#1b3a66;--ink:#1c3152;--ink-2:#566e92;--amber:#f5b82e;--amber-d:#c98a12;--leaf:#46b03a;--leaf-d:#2c8a28;--sky:#9fd3f2;--navy:#13305a;--navy-2:#1d4880;--teal:#2f9be8;--danger:#e0503a;--shadow:0 2px 0 #1c3c6e1f, 0 8px 20px #1c3c6e29;--gloss:inset 0 2px 0 #ffffff8c, inset 0 -3px 0 #0000001f;--radius:18px;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--backdrop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23a9cdea'/%3E%3Cstop offset='1' stop-color='%236f9cc8'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237fa9cf'/%3E%3Cstop offset='1' stop-color='%234d7fae'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%236fae6a'/%3E%3Cstop offset='1' stop-color='%233f7d4a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 190 L40 120 L70 150 L120 70 L160 130 L200 95 L250 150 L300 80 L350 140 L400 110 V300 H0Z' fill='url(%23a)'/%3E%3Cpath d='M120 70 L135 96 L124 92 L112 104 L104 86Z M300 80 L314 104 L302 100 L292 110 L286 96Z' fill='%23f4f9ff'/%3E%3Cpath d='M0 220 L60 170 L110 200 L170 150 L230 205 L290 165 L350 200 L400 175 V300 H0Z' fill='url(%23b)'/%3E%3Cpath d='M0 260 Q60 225 120 250 T240 245 T400 240 V300 H0Z' fill='url(%23c)'/%3E%3Cg fill='%232f6a3f'%3E%3Cpath d='M30 262 l8 -26 l8 26z M52 258 l7 -22 l7 22z M330 252 l8 -28 l8 28z M352 256 l7 -22 l7 22z M372 250 l6 -20 l6 20z'/%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{touch-action:manipulation;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#13305a}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{display:block}#app{background:var(--backdrop) center bottom / 100% 40% no-repeat, linear-gradient(#5fa8e6 0%, #a9d6f5 45%, #dcefff 100%);grid-template:"top""obj""ord""game"minmax(0,1fr)"nav"/minmax(0,1fr);max-width:520px;height:100%;margin:0 auto;display:grid;position:relative;overflow:hidden}.topbar{padding:calc(8px + var(--safe-top)) 10px 8px;z-index:5;background:linear-gradient(#2a5f9e,#173a6b);grid-area:top;align-items:center;gap:6px;display:flex;position:relative;box-shadow:inset 0 -2px #ffffff1f,0 4px 14px #0a1e3c59}.chip{min-height:36px;box-shadow:var(--gloss), 0 2px 4px #0a1e3c40;font-variant-numeric:tabular-nums;white-space:nowrap;background:linear-gradient(#fff,#e4effb);border-radius:999px;align-items:center;gap:4px;padding:3px 9px 3px 4px;font-size:15px;font-weight:800;display:flex;position:relative}.chip svg{flex:none;width:26px;height:26px}.chip small{color:var(--ink-2);font-size:11px;font-weight:700}.chip.energy{flex:1.3;min-width:0}.chip.energy .meter{background:#d6e6f5;border-radius:4px;height:5px;position:absolute;bottom:4px;left:30px;right:12px;overflow:hidden}.chip.energy .meter i{background:linear-gradient(90deg,#ffcf4a,#f2a03a);border-radius:6px;height:100%;transition:width .3s;display:block}.chip.energy .val{min-width:0;margin-bottom:4px}.chip .timer{color:#dcecff;font-size:10px;font-weight:700;position:absolute;bottom:-13px;left:34px}.iconbtn{width:44px;height:44px;box-shadow:var(--gloss), 0 2px 4px #0a1e3c40;background:linear-gradient(#fff,#dceafa);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.iconbtn svg{width:26px;height:26px}.iconbtn:active,.chip:active{transform:translateY(1px)scale(.97)}.iconbtn .count{background:var(--wood-d);color:#fff;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:800;position:absolute;bottom:-2px;right:-4px}.bump{animation:.35s bump}@keyframes bump{40%{transform:scale(1.18)}}.stage{flex-direction:column;grid-area:game;min-height:0;display:flex;position:relative;overflow:hidden}.left{display:contents}#app.tab-home .orders{display:none}#app.tab-home .stage{background:linear-gradient(#a9d3f2 0,#c9e6fa 20%,#86c75a 25%,#6aae4c 100%)}#game{flex:1;min-height:0;position:relative}#game canvas{touch-action:none;margin:0 auto;display:block}.objective{z-index:3;border-radius:var(--radius);min-height:88px;box-shadow:var(--shadow);background:linear-gradient(#fff,#eef5fd);border:2px solid #fff;grid-area:obj;align-items:center;gap:10px;margin:8px 10px 6px;padding:8px 10px 8px 8px;transition:transform .25s,opacity .25s;display:flex;position:relative}.objective .badge{width:40px;height:40px;box-shadow:var(--gloss);background:linear-gradient(#e6f1fd,#cfe2f8);border-radius:12px;flex:none;place-items:center;display:grid}.objective .badge svg{width:30px;height:30px}.objective .txt{flex:1;min-width:0}.objective .kicker{color:var(--wood);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.objective .title{font-size:15px;font-weight:800;line-height:1.2}.objective .hint{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.objective .goals+.hint,.objective .hint.one{-webkit-line-clamp:1}.objective .goals{flex-wrap:wrap;gap:2px 10px;margin-top:2px;font-size:12px;font-weight:700;display:flex}.objective .goals span{white-space:nowrap;color:var(--ink-2);align-items:center;gap:3px;display:inline-flex}.objective .goals span.ok{color:var(--leaf-d)}.objective .goals svg{width:14px;height:14px}.objective.collapsed{height:60px;min-height:0}.objective.collapsed .hint,.objective.collapsed .goals{display:none}.objective .fold{width:32px;height:44px;color:var(--ink-2);flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.objective.ready{border-color:var(--amber);animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 0 4px #f2b53a59, var(--shadow)}}.btn{white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 18px;font-size:16px;font-weight:800;transition:transform 80ms;display:inline-flex}.btn svg{width:20px;height:20px}.btn:active:not(:disabled){transform:translateY(2px)}.btn.primary{color:#fff;box-shadow:var(--gloss), 0 4px 0 #237a20, 0 6px 10px #14501440;text-shadow:0 1px 1px #003c0073;background:linear-gradient(#8fe26a,#4cbc3c 50%,#2f9a2c)}.btn.primary.amber{color:#4a2e00;box-shadow:var(--gloss), 0 4px 0 #b97a1a;text-shadow:0 1px #fff6;background:linear-gradient(#ffe27a,#f5b82e 55%,#e59a12)}.btn.secondary{color:#fff;box-shadow:var(--gloss), 0 4px 0 #1d5a9e;text-shadow:0 1px 1px #001e5073;background:linear-gradient(#7cc8ff,#3a93e6 55%,#2a73c6)}.btn.danger{color:#fff;box-shadow:var(--gloss), 0 4px 0 #8a2a1a;background:linear-gradient(#ff8a6a,#e0503a 55%,#c03a28)}.btn:disabled{filter:grayscale(.7);opacity:.55;cursor:default;box-shadow:none}.btn.small{min-height:44px;padding:0 14px;font-size:14px}.btn.wide{width:100%}.screen{z-index:4;grid-area:2/1/5;min-height:0;padding:14px 12px 24px;display:none;position:relative;overflow-y:auto}.screen.on{animation:.18s fadein;display:block}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}}.screen h2{margin:2px 4px;font-size:22px}.screen .sub{color:var(--ink-2);margin:0 4px 12px;font-size:13px}.screen.quests{background:linear-gradient(#f4f9ff,#dcebf9)}.screen.research{background:radial-gradient(circle at 50% 0%, #2b6cb0, var(--navy) 70%);color:#eaf4ff}.screen.research .sub{color:#9fd0dc}.tree{max-width:380px;height:480px;margin:0 auto;position:relative}.tree svg.lines{width:100%;height:100%;position:absolute;inset:0}.node{text-align:center;flex-direction:column;align-items:center;gap:4px;width:96px;min-height:44px;font-size:12px;font-weight:800;line-height:1.15;display:flex;position:absolute;transform:translate(-50%,-50%)}.node .orb{background:#2a5574;border:3px solid #4f86a6;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:relative;box-shadow:0 4px #0000004d}.node .orb svg{width:30px;height:30px}.node .state{width:22px;height:22px;position:absolute;bottom:-4px;right:-4px}.node.avail .orb{background:#2a7a8c;border-color:#ffd25a;animation:1.6s ease-in-out infinite pulse}.node.locked .orb{opacity:.6;filter:grayscale(.5)}.node.sel .orb{outline-offset:3px;outline:3px solid #fff}@keyframes pulse{50%{box-shadow:0 0 0 7px #ffd25a38,0 4px #0000004d}}.detail{border-radius:var(--radius) var(--radius) 0 0;background:#0a1e2ef5;border:2px solid #3d6f8f;border-bottom:0;margin:8px -4px 0;padding:14px 14px 24px;position:sticky;bottom:-24px;box-shadow:0 -8px 20px #0000004d}.detail .head{align-items:center;gap:10px;display:flex}.detail .head h3{flex:1;margin:0}.detail h3{margin:0 0 4px;font-size:18px}.detail .row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.detail .label{text-transform:uppercase;letter-spacing:.05em;color:#8fc4d2;margin-top:8px;font-size:11px;font-weight:800}.detail ul{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.pill{background:#ffffff1f;border-radius:999px;align-items:center;gap:4px;padding:4px 9px 4px 4px;font-size:13px;font-weight:800;display:inline-flex}.pill svg{width:24px;height:24px}.pill.ok{box-shadow:inset 0 0 0 2px #7be0c0}.pill.miss{box-shadow:inset 0 0 0 2px #e0705a}.pill .mark{font-size:11px}.tabs{background:#1c3c6e14;border-radius:14px;gap:6px;margin:0 2px 12px;padding:4px;display:flex}.tabs button{border-radius:11px;flex:1;min-height:44px;font-size:14px;font-weight:800;position:relative}.tabs button.on{background:var(--parch);box-shadow:0 2px 0 var(--line)}.tabs .dot{top:12px;right:10px}.qcard{background:var(--parch);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid #0000;margin-bottom:10px;padding:12px}.qcard.ready{border-color:var(--amber)}.qcard.done{opacity:.6}.qcard.locked{opacity:.55}.qcard .head{align-items:center;gap:8px;display:flex}.qcard .head h4{flex:1;margin:0;font-size:15px}.qcard .head svg{width:22px;height:22px}.qcard .goal{align-items:center;gap:8px;margin-top:7px;font-size:13px;display:flex}.qcard .goal svg{flex:none;width:18px;height:18px}.qcard .goal .bar{background:var(--parch-3);border-radius:6px;flex:1;max-width:90px;height:8px;overflow:hidden}.qcard .goal .bar i{background:var(--leaf);height:100%;display:block}.qcard .goal .n{font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-weight:800}.qcard .foot{align-items:center;gap:8px;margin-top:10px;display:flex}.qcard .reward{flex-wrap:wrap;flex:1;gap:6px;display:flex}.reward .pill,.sheet .pill{background:var(--parch-2)}.empty{text-align:center;color:var(--ink-2);padding:30px 20px;font-size:14px}.scrim{z-index:20;background:#0a183273;justify-content:center;align-items:flex-end;animation:.18s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{border-top:4px solid var(--wood-l);width:100%;max-width:520px;max-height:86%;padding:10px 16px calc(16px + var(--safe-bottom));background:linear-gradient(#fff 0,#f2f8ff 100%);border-radius:24px 24px 0 0;animation:.22s cubic-bezier(.2,.9,.3,1.1) rise;overflow-y:auto;box-shadow:0 -6px 24px #00000040}@keyframes rise{0%{opacity:.4;transform:translateY(28px)}}.sheet .grab{background:var(--line);border-radius:3px;width:44px;height:5px;margin:0 auto 8px}.sheet .shead{align-items:center;gap:12px;display:flex}.sheet .shead .art{background:radial-gradient(circle at 40% 35%,#fff,#d3e5f5);border:2px solid #f0cf6e;border-radius:18px;flex:none;place-items:center;width:76px;height:76px;display:grid;box-shadow:inset 0 -3px #1c3c6e1a}.sheet .shead .art svg{width:64px;height:64px}.sheet .shead h3{margin:0;font-size:20px;line-height:1.15}.sheet .shead .meta{color:var(--ink-2);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:13px;font-weight:700;display:flex}.sheet .x{width:44px;height:44px;color:var(--ink-2);border-radius:12px;flex:none;justify-content:center;align-self:flex-start;align-items:center;margin-left:auto;display:flex}.sheet .x svg{width:22px;height:22px}.sheet .section{margin-top:14px}.sheet .label{text-transform:uppercase;letter-spacing:.05em;color:var(--wood);margin-bottom:6px;font-size:11px;font-weight:800}.sheet ul{margin:0;padding-left:18px;font-size:14px;line-height:1.55}.sheet .actions{gap:10px;margin-top:16px;display:flex}.sheet .actions .btn{flex:1}.sheet .note{color:var(--ink-2);align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.sheet .note svg{flex:none;width:18px;height:18px}.tag{background:var(--parch-2);color:var(--ink);border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.tag svg{width:14px;height:14px}.chain{align-items:center;gap:4px;padding:4px 2px;display:flex;overflow-x:auto}.chain .lv{text-align:center;width:52px;color:var(--ink-2);flex:none;font-size:10px;font-weight:800}.chain .lv .ic{background:var(--parch-2);border-radius:12px;place-items:center;width:48px;height:48px;margin:0 auto 2px;display:grid}.chain .lv .ic svg{width:40px;height:40px}.chain .lv.cur .ic{box-shadow:0 0 0 3px var(--amber);background:#fff}.chain .lv.unknown .ic svg{filter:brightness(0)opacity(.25)}.chain .sep{color:var(--ink-2);flex:none;font-size:12px}.slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:6px 0;display:flex}.slot{background:#f6faff;border:2px dashed #b9d1ea;border-radius:16px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative}.slot svg{flex:none;width:50px;height:50px}.slot.empty svg{opacity:.3;filter:grayscale()}.slot.full{border-style:solid;border-color:var(--leaf);background:#f3fbe9}.slot .ok{width:20px;height:20px;position:absolute;top:-6px;right:-6px}.slots .op{color:var(--ink-2);font-weight:800}.recipes{gap:8px;display:grid}.recipe{text-align:left;border:2px solid var(--line);background:#f6faff;border-radius:14px;align-items:center;gap:10px;min-height:60px;padding:8px 10px;display:flex}.recipe.pinned{border-color:var(--amber);background:#fff7df}.recipe.locked{opacity:.6}.recipe .out{flex:none;width:44px;height:44px}.recipe .nm{font-size:14px;font-weight:800}.recipe .ins{color:var(--ink-2);align-items:center;gap:2px;margin-top:2px;font-size:12px;display:flex}.recipe .ins svg{width:26px;height:26px}.recipe .grow{flex:1;min-width:0}.recipe .lk{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.recipe .lk svg{width:16px;height:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.cellbtn{aspect-ratio:1;border:2px solid var(--line);background:#f6faff;border-radius:14px;justify-content:center;align-items:center;min-height:56px;display:flex}.cellbtn svg{flex:none;width:80%;height:80%}.cellbtn.free{background:0 0;border-style:dashed}.compare{align-items:center;gap:8px;display:flex}.compare .side{text-align:center;color:var(--ink-2);flex:1;font-size:12px;font-weight:800}.compare .side .pic{background:linear-gradient(#cdebf2,#e9f3d9);border-radius:16px;margin-bottom:4px;padding:4px}.compare .side .pic svg{width:100%;height:auto}.compare .arr{width:28px;color:var(--wood);flex:none}.toggle{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 4px;font-weight:800;display:flex}.toggle svg{flex:none;width:26px;height:26px}.toggle span{flex:1}.switch{background:var(--line);border-radius:15px;flex:none;width:52px;height:30px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 2px #0003}.switch.on{background:var(--leaf)}.switch.on:after{transform:translate(22px)}.switch+b{width:26px;color:var(--ink-2);font-size:12px}.toasts{left:0;right:0;top:calc(66px + var(--safe-top));z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed}.toast{color:#fff;background:#13305af0;border-radius:999px;align-items:center;gap:8px;max-width:min(92vw,420px);padding:10px 16px;font-size:14px;font-weight:800;animation:.25s cubic-bezier(.2,.9,.3,1.2) toastin;display:flex;box-shadow:0 6px 18px #0000004d}.toast svg{flex:none;width:22px;height:22px}.toast.warn{background:#8c321ef0}.toast.good{background:#2f6a22f0}.toast.out{opacity:0;transition:all .3s;transform:translateY(-8px)}@keyframes toastin{0%{opacity:0;transform:translateY(-12px)scale(.9)}}.fly{z-index:40;pointer-events:none;width:30px;height:30px;position:fixed}.splash{z-index:50;background:var(--backdrop) center bottom / 100% 40% no-repeat, linear-gradient(#4f97da 0%, #9fd0f2 50%, #e2f2ff 100%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.splash .logo{color:#fff;letter-spacing:.02em;text-shadow:0 2px #1d4880,0 4px #13305a,0 8px 18px #0a1e3c73;font-size:44px;font-weight:900;line-height:1}.splash .logo small{color:#ffe08a;text-shadow:0 2px #13305a;margin:4px 0 6px;font-size:20px;font-style:italic;font-weight:800;display:block}.splash .tag{color:var(--navy);background:0 0;font-size:14px}.splash .art{width:min(78vw,340px)}.splash .load{background:#fff9;border-radius:8px;width:220px;height:12px;overflow:hidden;box-shadow:inset 0 1px 2px #00000026}.splash .load i{background:linear-gradient(90deg,#2f9be8,#8fd8ff);width:0;height:100%;transition:width .6s;display:block}.splash .load.done{display:none}.splash .status{color:var(--ink-2);min-height:18px;font-size:13px;font-weight:700}.splash.out{opacity:0;pointer-events:none;transition:opacity .35s}.story{z-index:45;background:var(--backdrop) center bottom / 100% 40% no-repeat, linear-gradient(#4f97da 0%, #a9d6f5 50%, #dcefff 100%);flex-direction:column;justify-content:flex-end;animation:.3s fade;display:flex;position:fixed;inset:0}.story:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0a1e3c4d);position:absolute;inset:0}.story>*{z-index:1}.story .scene{pointer-events:none;place-items:center;height:58%;display:grid;position:absolute;inset:0 0 auto}.story .scene>svg{filter:drop-shadow(0 10px 20px #00000040);width:min(92vw,420px)}.story .chapter{top:calc(70px + var(--safe-top));text-align:center;color:var(--wood-d);letter-spacing:.16em;text-transform:uppercase;font-size:14px;font-weight:900;position:absolute;left:16px;right:16px}.story .skip{z-index:3;top:calc(8px + var(--safe-top));background:#ffffffe6;border-radius:22px;min-height:44px;padding:0 16px;font-size:14px;font-weight:800;position:absolute;right:10px}.story .box{margin:0 10px calc(14px + var(--safe-bottom));background:var(--parch);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;min-height:170px;padding:14px 14px 12px;display:flex;position:relative}.story .who{align-items:center;gap:10px;margin-top:-48px;display:flex}.story .who svg{border:3px solid var(--parch);border-radius:18px;width:84px;height:84px;box-shadow:0 4px 10px #00000040}.story .who b{background:var(--wood);color:#fff;border-radius:999px;margin-top:30px;padding:4px 12px;font-size:14px}.story p{flex:1;margin:10px 2px;font-size:16px;line-height:1.5}.story .foot{align-items:center;gap:10px;display:flex}.story .pips{flex:1;gap:5px;display:flex}.story .pips i{background:var(--line);border-radius:4px;width:8px;height:8px}.story .pips i.on{background:var(--wood);width:20px}.reduced *,.reduced :before,.reduced :after{transition:none!important;animation:none!important}.topbar{gap:4px;padding-left:8px;padding-right:8px}.chip{padding:3px 7px 3px 3px}.chip.energy svg{width:22px;height:22px}.lvl{flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.lvl svg{width:40px;height:40px;position:absolute;inset:0;transform:rotate(-90deg)}.lvl .trk{fill:#fff;stroke:#d6e6f5;stroke-width:5px}.lvl .arc{fill:none;stroke:#ffc93a;stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .4s}.lvl b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:900;position:relative}.lvl:active{transform:scale(.95)}.xpbar{background:#0a1e3c73;height:4px;position:absolute;bottom:-3px;left:0;right:0}.xpbar i{background:linear-gradient(90deg,#ffd25a,#ffb03a);width:0;height:100%;transition:width .4s;display:block}.topbar .deskonly{display:none}.orders{z-index:3;grid-area:ord;min-width:0;margin:0 0 6px}.orders.none{display:none}.olist{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding:2px 10px 6px;scroll-padding:0 10px;display:flex;overflow-x:auto}.olist::-webkit-scrollbar{display:none}.ocard{scroll-snap-align:start;background:var(--parch);border:2px solid var(--line);min-width:222px;box-shadow:var(--shadow);cursor:pointer;border-radius:16px;flex:none;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;transition:transform .12s;display:grid}.ocard.fresh{animation:.35s cubic-bezier(.2,.9,.3,1.2) slidein}@keyframes slidein{0%{opacity:0;transform:translateY(14px)scale(.92)}}.ocard .who{text-align:center}.ocard .who svg{border-radius:11px;width:42px;height:42px;box-shadow:0 2px #1c3c6e33}.ocard .who b{margin-top:1px;font-size:10.5px;line-height:1.2;display:block}.ocard .body{min-width:0}.wants{gap:3px;display:flex}.want{background:var(--parch-2);border-radius:9px;place-items:center;width:32px;height:32px;display:grid;position:relative}.want svg{width:30px;height:30px}.want:not(.ok)>svg{opacity:.5;filter:saturate(.6)}.want.ok{background:#dff0cc}.want i{width:15px;height:15px;position:absolute;bottom:-4px;right:-4px}.want i svg{width:15px;height:15px}.pay{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.pill.sm{background:var(--parch-2);gap:2px;padding:1px 6px 1px 2px;font-size:11.5px}.pill.sm svg{width:17px;height:17px}.acts{flex-direction:column;align-items:center;gap:2px;display:flex}.btn.deliver{border-radius:12px;min-height:40px;padding:0 10px;font-size:13px}.skip{min-width:40px;height:26px;color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:800;display:inline-flex}.skip svg{width:16px;height:16px}.skip:disabled{opacity:.55;cursor:default}.modal{z-index:42;background:#0a18328c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal .card{background:var(--parch);text-align:center;border-radius:24px;width:min(360px,100%);max-height:90%;padding:18px 18px 16px;animation:.35s cubic-bezier(.2,.9,.3,1.3) popin;position:relative;overflow:auto;box-shadow:0 10px 40px #00000059}@keyframes popin{0%{opacity:0;transform:scale(.8)}}.modal .card>*{position:relative}.modal h2{margin:2px 0 8px;font-size:26px}.modal .kicker{color:var(--wood);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:900}.modal .kicker svg{width:40px;height:40px;margin:0 auto}.modal .sub{color:var(--ink-2);margin:0 0 10px;font-size:14px}.modal .label{text-transform:uppercase;letter-spacing:.05em;color:var(--wood);margin-top:10px;font-size:11px;font-weight:800}.modal .row{flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0;display:flex}.modal .pill{background:var(--parch-2);padding:5px 12px 5px 6px;font-size:15px}.modal .pill svg{width:26px;height:26px}.modal .actions{gap:10px;margin-top:14px;display:flex}.modal .actions .btn{flex:1}.modal .btn.wide{margin-top:14px}.modal .note{color:var(--ink-2);margin-top:6px;font-size:12.5px}.levelup .card{overflow:hidden}.levelup .card>.rays{pointer-events:none;width:460px;height:460px;margin:-230px 0 0 -230px;animation:14s linear infinite spin;position:absolute;top:66px;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.levelup .burst{width:96px;height:96px;margin:0 auto;animation:.6s cubic-bezier(.2,.9,.3,1.6) pop}@keyframes pop{0%{transform:scale(.2)rotate(-30deg)}}.levelup .burst svg{filter:drop-shadow(0 4px #1c3c6e40);width:96px;height:96px}.levelup .burst b{place-items:center;padding-top:8px;font-size:30px;font-weight:900;display:grid;position:absolute;inset:0}.unlocks{text-align:left;margin:6px 0 0;padding:0;list-style:none}.unlocks li{background:#f2f8ff;border:2px solid #f5dc9a;border-radius:14px;align-items:center;gap:10px;margin-top:6px;padding:8px 10px;font-size:14px;font-weight:800;line-height:1.25;display:flex}.unlocks svg{flex:none;width:28px;height:28px}.prod{text-align:left;margin:8px 0 0;padding:0;list-style:none}.prod li{background:#f2f8ff;border-radius:14px;align-items:center;gap:10px;margin-top:6px;padding:6px 8px;font-size:13px;line-height:1.3;display:flex}.prod li>svg{flex:none;width:64px;height:48px}.prod li span{flex:1}.prod li span svg{vertical-align:-2px;width:14px;height:14px;display:inline}.prod em{color:#fff;background:var(--danger);border-radius:8px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800}.book{gap:10px;display:grid}.brow{border:2px solid var(--line);background:#f6faff;border-radius:16px;padding:8px 10px 10px}.brow.done{border-color:var(--leaf);background:#f3fbe9}.bhead{align-items:center;gap:8px;display:flex}.bhead b{font-size:15px}.bhead .n{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.bhead .bar{background:var(--parch-3);border-radius:6px;flex:1;height:8px;overflow:hidden}.bhead .bar i{background:var(--leaf);height:100%;display:block}.bhead .rw{gap:4px;display:flex}.tag.done{color:var(--leaf-d);background:#dff0cc}.bslots{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.bslot{text-align:center;color:var(--ink-2);font-size:10px;font-weight:800;line-height:1.15}.bslot svg{aspect-ratio:1;background:var(--parch-2);border-radius:12px;width:100%;max-width:56px;height:auto;margin:0 auto 2px;padding:3px}.bslot.unknown svg{filter:brightness(0)opacity(.22);background:0 0}.sheet .row.wrap{flex-wrap:wrap;gap:8px;display:flex}.pill.drop{border:2px solid var(--line);background:#f6faff;padding:2px 10px 2px 2px}.pill.drop svg{width:34px;height:34px}.blocker{z-index:100;background:#0a1832d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.blocker .card{background:var(--parch);text-align:center;border-radius:24px;width:min(360px,100%);padding:22px 18px 18px;box-shadow:0 10px 40px #0006}.blocker svg{width:64px;height:64px;margin:0 auto 6px}.blocker h2{margin:0 0 6px;font-size:22px}.blocker p{color:var(--ink-2);margin:0 0 16px;font-size:14px;line-height:1.45}.screen.flash{animation:.7s flash}@keyframes flash{30%{box-shadow:inset 0 0 0 4px var(--amber)}}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){filter:brightness(1.07)}.btn.secondary:hover:not(:disabled){background:#fff}.iconbtn:hover,.lvl:hover .trk,.chip.energy:hover{box-shadow:inset 0 -3px #1c3c6e2e,0 0 0 3px #ffd25ab3}.ocard:hover{transform:translateY(-2px)}.node:hover .orb{transform:scale(1.06)}.recipe:hover:not(.locked),.cellbtn:hover,.toggle:hover,.bookbtn:hover{background:#fff}.qcard:hover{box-shadow:0 3px #1c3c6e2e,0 10px 24px #1c3c6e38}.skip:hover:not(:disabled){color:var(--ink);background:var(--parch-2)}.sheet .x:hover{background:var(--parch-2)}}@media (width>=1024px){body{background:#13305a}#app{grid-template:"top top top""left obj right""left game right"minmax(0,1fr)/360px minmax(0,1fr) 400px;max-width:none}.topbar{gap:8px;padding:8px 16px}.topbar .chip{flex:none;min-width:96px}.topbar .chip.energy{flex:0 260px}.topbar .chip[data-chip=coins]{margin-left:auto}.topbar .deskonly{display:flex}.left{background:linear-gradient(#eef6fe,#dcebf9);flex-direction:column;grid-area:left;min-height:0;display:flex;overflow-y:auto;box-shadow:inset -3px 0 #1c3c6e1f}.orders{flex:none;margin:0;padding:12px 0 4px}#app.tab-home .orders:not(.none){display:block}.orders:before{content:attr(aria-label);margin:0 16px 6px;font-size:20px;font-weight:900;display:block}.olist{flex-direction:column;padding:0 12px;overflow:visible}.ocard{grid-template-columns:48px minmax(0,1fr) auto;width:100%}.ocard .who svg{width:48px;height:48px}.screen{z-index:1;grid-area:auto;display:block}.screen.on{animation:none}.left .screen.quests{background:0 0;flex:none;padding-top:10px;overflow:visible}.screen.research{grid-area:right;box-shadow:inset 3px 0 #0003}.objective{margin:10px 210px 8px 14px}.scrim{align-items:center}.sheet{border-radius:24px;max-height:88%;animation:.22s cubic-bezier(.2,.9,.3,1.1) popin}.toasts{top:76px}.story .box{width:min(600px,100% - 20px);margin-left:auto;margin-right:auto}.story .scene>svg{width:min(56vh,560px)}}.wilds{z-index:2;background:linear-gradient(#e3f4d6,#b8dca0);border-radius:18px;flex-direction:column;gap:8px;margin:4px 6px 6px;padding:8px 10px 10px;display:flex;position:absolute;inset:0;overflow-y:auto;box-shadow:inset 0 0 0 4px #e9b949,0 6px 16px #0a1e3c40}.wilds[hidden]{display:none}.whead{align-items:center;gap:10px;display:flex}.whead h2{color:var(--ink);margin:0;font-size:20px;font-weight:900}.wback svg{transform:rotate(180deg)}.wgrid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));background:#6fae5a;border-radius:14px;gap:4px;padding:6px;display:grid;box-shadow:inset 0 2px 6px #00280040}.wtile{aspect-ratio:1;background:linear-gradient(#f6fbef,#dcebcb);border-radius:10px;align-self:start;place-items:center;width:100%;display:grid;position:relative;box-shadow:inset 0 -2px #003c001f}.wtile svg{width:92%;height:92%}.wtile.clear{background:#ffffff1f;border:2px dashed #28461459}.wtile.match{box-shadow:0 0 0 3px var(--leaf), 0 0 0 6px #fff9;animation:1s ease-in-out infinite wpulse}.wtile.quest:after{content:"";border:3px solid var(--amber);pointer-events:none;border-radius:12px;animation:1.2s ease-in-out infinite wblink;position:absolute;inset:-3px}@keyframes wpulse{50%{transform:scale(1.06)}}@keyframes wblink{50%{opacity:.25}}.whint{color:var(--ink-2);text-align:center;min-height:18px;font-size:13px;font-weight:700}.wtray{gap:8px;padding:4px 2px 12px;display:flex;overflow-x:auto}.wtool{background:var(--parch);border:2px solid var(--line);border-radius:16px;flex:none;align-items:center;gap:6px;min-height:56px;padding:4px 12px 4px 6px;font-size:14px;font-weight:800;display:flex;position:relative;box-shadow:0 3px #b9d1ea}.wtool svg{width:40px;height:40px}.wtool small{background:var(--wood-d);color:#fff;border-radius:8px;padding:1px 6px;font-size:10px;position:absolute;bottom:-8px;right:6px}.wtool.on{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal), 0 3px 0 #b9d1ea;background:#eafaff}.wtool.call{animation:1.2s ease-in-out infinite glow}.wnone{color:var(--ink-2);padding:10px;font-size:14px;font-weight:700}.wfly{z-index:30;pointer-events:none;position:fixed}.wfly svg{width:100%;height:100%}@media (width>=1024px){.wilds{width:min(100%,640px);margin:8px auto;left:0;right:0}}.objective .badge,.ocard .who,.ocard .body{cursor:pointer}.sources{flex-direction:column;gap:10px;margin-top:12px;display:flex}.srow{background:var(--parch-2);border:2px solid var(--line);border-radius:14px;padding:10px}.srow.ok{border-color:#a9d68e}.shead2{align-items:center;gap:8px;display:flex}.shead2 .sitem svg{width:40px;height:40px}.shead2 b{font-size:15px}.shead2 .btn{margin-left:auto}.srow .label{margin:8px 0 4px}.spath{flex-wrap:wrap;align-items:flex-start;gap:2px 4px;display:flex}.snode{text-align:center;flex-direction:column;align-items:center;width:52px;display:flex}.snode svg{width:36px;height:36px}.snode small{color:var(--ink-2);font-size:10.5px;font-weight:800;line-height:1.15}.sarrow{color:var(--wood);align-self:center;margin-top:-14px;font-weight:900}.stext{color:var(--ink-2);align-self:center;font-size:13px;font-weight:700}.chip{color:var(--ink)}.chip .timer{color:#cfe2fb}.qcard,.ocard{background:linear-gradient(#fff,#f0f6fd)}.ocard{border-color:#fff}.ocard.ready{border-color:var(--leaf);background:linear-gradient(#fff,#e6f7dc)}.qcard .head h4,.sheet .shead h3{color:var(--navy)}.tabs{background:linear-gradient(#1f4a82,#173a6b)}.tabs button{color:#cfe2fb}.tabs button.on{color:#fff;box-shadow:var(--gloss);background:linear-gradient(#5fb0ff,#2f87e0)}.screen.quests h2{color:var(--navy)}.pill.sm,.reward .pill,.sheet .pill,.modal .pill{background:#eaf3fc;box-shadow:inset 0 0 0 1.5px #d3e5f5}.want{background:linear-gradient(#f6faff,#dfecfa)}.wtool{background:linear-gradient(#fff,#e8f2fc);border-color:#fff;box-shadow:0 3px #b9d1ea,0 4px 10px #0a1e3c26}.modal .card,.blocker .card{box-shadow:0 0 0 3px var(--wood-l), 0 10px 40px #0a1e3c73;border:3px solid #fff}.modal h2,.blocker h2{color:var(--navy)}.node .orb{box-shadow:var(--gloss), 0 4px 0 #0000004d;background:linear-gradient(#3f7cc0,#1f4f8c);border:3px solid #7fb2e8;border-radius:18px}.node.done .orb{background:linear-gradient(#5cc08a,#2c8a5a);border-color:#b8f0c8}.node.avail .orb{border-color:var(--amber);background:linear-gradient(#4fa0f0,#2569b8)}.detail{background:linear-gradient(#183a68f7,#0d2242fa);border-color:#4d8fd6}#app{background:linear-gradient(#5fa8e6,#2a5f9e);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"scene""ord""game"}.topbar{z-index:8;padding:calc(6px + var(--safe-top)) 8px 12px;box-shadow:none;pointer-events:none;background:linear-gradient(#0a1e3c80,#0a1e3c00);gap:5px;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar .chip{color:#fff;background:#0c1e3a8c;min-height:30px;padding:2px 9px 2px 3px;font-size:14px;box-shadow:inset 0 0 0 1.5px #ffffff47}.topbar .chip svg{width:24px;height:24px}.topbar .chip.energy .meter{background:#ffffff38;height:4px;bottom:3px;left:28px;right:10px}.topbar .chip .timer{color:#fff;text-shadow:0 1px 2px #0009;bottom:-14px}.topbar .iconbtn{background:#0c1e3a8c;border-radius:12px;width:36px;height:36px;box-shadow:inset 0 0 0 1.5px #ffffff47}.topbar .iconbtn svg{width:22px;height:22px}.topbar .lvl,.topbar .lvl svg{width:36px;height:36px}.xpbar{display:none}.scene{z-index:4;grid-area:scene;min-height:150px;position:relative}.scene .view{background:#8cc46a;position:absolute;inset:0;overflow:hidden}.world{aspect-ratio:1080/2560;cursor:pointer;width:100%;transition:transform .6s ease-in-out;position:absolute;top:50%;left:0}#app.reduced .world{transition:none}.world .land{width:100%;height:100%;display:block}.world img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.world .bld{width:40.7%;position:absolute;transform:translate(-50%,-50%)}.world .bld.pop{animation:.75s cubic-bezier(.2,.9,.3,1.3) restorePop}@keyframes restorePop{0%{filter:brightness(1.8);transform:translate(-50%,-50%)scale(.6)}60%{transform:translate(-50%,-50%)scale(1.08)}to{transform:translate(-50%,-50%)scale(1)}}.world .burst{width:0;height:0;position:absolute}.world .burst i{width:24px;height:24px;transform:rotate(var(--a));animation:.9s ease-out forwards spark;position:absolute;top:-12px;left:-12px}.world .burst i svg{width:100%;height:100%}@keyframes spark{to{transform:rotate(var(--a)) translateY(-90px) scale(.3);opacity:0}}.world .fig{transform-origin:50% 100%;width:10%;height:auto;animation:bob 2.8s ease-in-out var(--d,0s) infinite;position:absolute;transform:translate(-50%,-100%)}@keyframes bob{50%{transform:translate(-50%,-100%)translateY(-4%)scaleY(1.03)}}.world .worker{aspect-ratio:96/132;width:10%;position:absolute;transform:translate(-50%,-100%)}.worker .walk{width:100%;height:100%;animation:10s ease-in-out infinite patrol;position:relative}.worker .me{width:100%;display:block}.worker .tool{transform-origin:50% 90%;width:42%;animation:.7s ease-in-out infinite alternate sweep;position:absolute;bottom:4%;right:-26%}.worker.hammer .tool{animation:.5s ease-in infinite alternate hammer;bottom:30%}@keyframes patrol{0%{transform:translate(-150%)}40%{transform:translate(150%)}45%{transform:translate(150%)scaleX(-1)}85%{transform:translate(-150%)scaleX(-1)}90%,to{transform:translate(-150%)}}@keyframes sweep{0%{transform:rotate(-40deg)}to{transform:rotate(12deg)}}@keyframes hammer{0%{transform:rotate(-60deg)}to{transform:rotate(10deg)}}.side{left:6px;top:calc(46px + var(--safe-top));z-index:6;flex-direction:column;gap:6px;display:flex;position:absolute}.side button{width:42px;height:42px;box-shadow:var(--gloss), 0 2px 6px #0a1e3c59;background:linear-gradient(#fff,#dceafa);border-radius:14px;place-items:center;display:grid;position:relative}.side button:active{transform:scale(.94)}.side svg{width:27px;height:27px}.side span{display:none}.side .count{background:var(--wood-d);color:#fff;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:800;position:absolute;bottom:-4px;right:-6px}.side .count:empty{display:none}.bang{background:var(--danger);color:#fff;width:20px;height:20px;font:900 12px/16px var(--font);text-align:center;z-index:1;border:2px solid #fff;border-radius:10px;font-style:normal;position:absolute;top:-5px;right:-5px}.scene .objective{z-index:5;cursor:pointer;background:#ffffffed;border-radius:14px;grid-area:auto;gap:8px;min-height:0;margin:0;padding:5px 8px 5px 5px;position:absolute;bottom:6px;left:56px;right:88px}.scene .objective:empty{display:none}.scene.celebrating .objective{opacity:0;pointer-events:none}.scene .objective .kicker,.scene .objective .goals,.scene .objective .fold{display:none}.scene .objective .badge{width:34px;height:34px}.scene .objective .badge svg{width:26px;height:26px}.scene .objective .title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.scene .objective .hint,.scene .objective .hint.one{-webkit-line-clamp:1;margin-top:0;font-size:11.5px}.scene .objective.collapsed{height:auto}.scene .objective.collapsed .hint{display:-webkit-box}.scene .objective .btn{min-height:36px;padding:0 10px}.restorebtn{z-index:6;width:70px;height:70px;box-shadow:var(--gloss), 0 4px 0 #5f87bd, 0 8px 18px #0a1e3c59;background:radial-gradient(circle at 35% 30%,#fff,#d9e9fb 55%,#9fc0e8);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.restorebtn .ring svg{width:38px;height:38px;margin-top:-8px}.restorebtn .cost{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;background:#0c1e3ad9;border-radius:999px;align-items:center;gap:2px;padding:1px 8px 1px 3px;font-size:12px;font-weight:900;display:flex;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.restorebtn .cost svg{width:16px;height:16px}.restorebtn .bang{top:-3px;right:-3px}.restorebtn:active{transform:scale(.95)}.restorebtn.ready{animation:1.6s ease-in-out infinite goalPulse}@keyframes goalPulse{50%{transform:scale(1.07)}}.orders{z-index:3;background:linear-gradient(#2a5f9e,#1d4880);grid-area:ord;margin:0;padding-left:52px;position:relative;box-shadow:inset 0 2px #ffffff26}.orders .olist{scroll-snap-type:x mandatory;gap:6px;padding:6px 8px 8px 4px}.plate{scroll-snap-align:start;cursor:pointer;flex-direction:column;flex:none;align-items:center;width:98px;display:flex;position:relative}.plate .pv{z-index:0;width:32px;height:44px;margin-bottom:-14px;animation:3s ease-in-out infinite bob2;position:relative}@keyframes bob2{50%{transform:translateY(-2px)}}.plate .stall{z-index:1;background:linear-gradient(#fff,#e4effb);border:2px solid #fff;border-radius:14px;place-items:center;width:100%;height:48px;display:grid;position:relative;box-shadow:inset 0 -4px #b9d1ea,0 3px 8px #0a1e3c4d}.plate .wants{gap:1px;display:flex}.plate .want{background:0 0}.plate .want svg{width:30px;height:30px}.plate .wants.n3 .want svg{width:26px;height:26px}.plate .want:not(.ok){opacity:.55;filter:saturate(.6)}.plate .tick{width:24px;height:24px;position:absolute;top:-9px;right:-6px}.plate .tick svg{width:100%;height:100%}.plate .bonus{background:#fff;border-radius:10px;align-items:center;padding:1px 4px;font-size:10px;font-weight:900;display:flex;position:absolute;top:-9px;left:-5px;box-shadow:0 1px 3px #0a1e3c4d}.plate .bonus svg{width:14px;height:14px}.plate .pay{color:#fff;font-variant-numeric:tabular-nums;background:#08162cbf;border-radius:999px;gap:6px;margin-top:4px;padding:1px 8px;font-size:12px;font-weight:900;display:flex}.plate .pay span{align-items:center;gap:2px;display:flex}.plate .pay svg{width:15px;height:15px}.plate.ready .stall{border-color:var(--leaf);background:linear-gradient(#f4fff0,#d3f0c4);animation:1.5s ease-in-out infinite plateBounce;box-shadow:inset 0 -4px #9fd08a,0 3px 8px #0a1e3c4d}@keyframes plateBounce{0%,55%,to{transform:none}18%{transform:translateY(-5px)}36%{transform:translateY(1px)}}.plate.hl .stall{box-shadow:0 0 0 3px var(--amber), 0 0 0 8px #f5b82e59}.plate.fresh{animation:.35s cubic-bezier(.2,.9,.3,1.2) slidein}.plate .pskip{z-index:2;color:#fff;background:#0c1e3a80;border-radius:15px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:4px;right:-2px}.plate .pskip svg{width:14px;height:14px}.plate .pskip:disabled{opacity:.45}#app.tab-merge .stage{height:min(141.667vw,736.667px)}#app.tab-home{grid-template-rows:0 0 minmax(0,1fr)}#app.tab-home .scene,#app.tab-home .orders{display:none}.toboard{left:10px;bottom:calc(12px + var(--safe-bottom));z-index:3;color:#fff;min-height:52px;box-shadow:var(--gloss), 0 4px 0 #237a20, 0 8px 16px #0a1e3c4d;text-shadow:0 1px 1px #003c0073;background:linear-gradient(#8fe26a,#4cbc3c 50%,#2f9a2c);border-radius:26px;align-items:center;gap:6px;padding:0 18px 0 10px;font-size:15px;font-weight:900;display:none;position:absolute}.toboard svg{width:30px;height:30px}#app.tab-home .toboard{display:flex}.screen{padding-top:calc(54px + var(--safe-top));grid-row:1/-1}.screenx{right:10px;top:calc(50px + var(--safe-top));z-index:9;width:44px;height:44px;color:var(--ink);box-shadow:var(--gloss), 0 2px 6px #0a1e3c59;background:linear-gradient(#fff,#dceafa);border-radius:14px;place-items:center;display:none;position:absolute}.screenx svg{width:22px;height:22px}#app.tab-research .screenx,#app.tab-quests .screenx{display:grid}#app.tab-research .topbar,#app.tab-quests .topbar{background:linear-gradient(#1d4880,#13305a)}#app.reduced .scene *,#app.reduced .plate *,#app.reduced .restorebtn{animation:none!important}@media (width>=1024px){#app{grid-template:"top top top""left scene right"minmax(170px,26vh)"left game right"minmax(0,1fr)/360px minmax(0,1fr) 400px}.topbar{background:linear-gradient(#2a5f9e,#173a6b);grid-area:top;padding:8px 16px;position:relative;box-shadow:0 4px 14px #0a1e3c59}.topbar .chip{min-height:36px;font-size:15px}#app.tab-merge .stage{height:auto}#app.tab-home{grid-template-rows:auto 0 minmax(0,1fr)}#app.tab-home .orders:not(.none){display:block}.side{top:10px}.orders{box-shadow:none;background:0 0;padding:12px 0 4px}.orders .olist{flex-flow:wrap;gap:14px 8px;padding:0 12px;overflow:visible}.plate{width:calc(33.3333% - 5.33333px)}.screen{padding-top:14px}.scene .objective{margin:0;left:60px;right:96px}.screenx{display:none!important}#app.tab-research .topbar,#app.tab-quests .topbar{background:linear-gradient(#2a5f9e,#173a6b)}}.sheet .area{background:var(--parch-2);box-shadow:0 2px 0 var(--line);border:2px solid #fff;border-radius:16px;margin-top:12px;padding:10px}.sheet .area h4{color:var(--navy);margin:0 0 6px;font-size:16px;font-weight:900}.mtrack{align-items:center;gap:8px;padding-top:46px;display:flex}.mlabel{color:var(--ink-2);font-size:12px;font-weight:800}.mbar{background:#c9dbee;border-radius:9px;flex:1;height:18px;position:relative;box-shadow:inset 0 2px 3px #0a1e3c2e}.mbar>i{background:linear-gradient(#ffe27a,#f5b82e);border-radius:9px;height:100%;display:block}.mbar>b{color:var(--ink);place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;inset:0}.mstone{border:2px solid var(--line);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:2px;min-width:40px;height:40px;padding:0 4px;display:flex;position:absolute;bottom:24px;transform:translate(-50%);box-shadow:0 2px 4px #0a1e3c33}.mstone:after{content:"";border:5px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-5px;position:absolute;bottom:-7px;left:50%}.mstone:last-child{transform:translate(-90%)}.mstone .g{flex-direction:column;align-items:center;font-size:10px;font-weight:900;line-height:1;display:flex}.mstone .g svg{width:22px;height:22px}.mstone.got{opacity:.6}.mstone .ok{width:20px;height:20px;position:absolute;top:-8px;right:-8px}.mstone .ok svg{width:100%;height:100%}.tasks{flex-direction:column;gap:8px;margin-top:12px;display:flex}.task{box-shadow:0 2px 0 var(--line);background:#fff;border:2px solid #fff;border-radius:14px;align-items:center;gap:8px;padding:6px 8px 6px 6px;display:flex}.task .pic{flex:none;width:64px;height:48px}.task .pic svg{width:100%;height:100%}.task .body{flex:1;min-width:0}.task .body b{font-size:14px;line-height:1.2;display:block}.task .body small{color:var(--ink-2);align-items:center;gap:4px;margin-top:2px;font-size:12px;font-weight:700;display:flex}.task .body small svg{width:14px;height:14px}.task .mats{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.task .mats .pill{min-height:28px;padding:1px 6px 1px 2px;font-size:12px}.task .mats .pill svg{width:20px;height:20px}.task.locked{opacity:.7;background:var(--parch-2)}.task.can{border-color:var(--leaf)}.task .btn{flex:none;padding:0 6px}.task .btn .pill{box-shadow:none;color:#fff;background:0 0;font-weight:900}.task .btn.off{filter:grayscale(.8);opacity:.7}.sheet .g{align-items:center;gap:2px;font-size:12px;font-weight:900;display:inline-flex}.sheet .g svg{width:24px;height:24px}.weekly .note{color:var(--ink-2);text-align:center;margin-top:10px;font-size:12px;font-weight:700}.wtrack{align-items:center;gap:10px;padding-top:58px;display:flex}.wtrack .pts{font-variant-numeric:tabular-nums;min-width:42px;font-size:14px;font-weight:900}.wbar{background:#c9dbee;border-radius:8px;flex:1;height:16px;margin-right:22px;position:relative;box-shadow:inset 0 2px 3px #0a1e3c2e}.wbar>i{background:linear-gradient(#8fe26a,#4cbc3c);border-radius:8px;height:100%;display:block}.wtier{border:2px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:center;width:50px;padding:4px 2px 2px;display:flex;position:absolute;bottom:22px;transform:translate(-50%);box-shadow:0 2px 4px #0a1e3c33}.wtier .chest{gap:1px;display:flex}.wtier .chest svg{width:22px;height:22px}.wtier small{color:var(--ink-2);font-size:10px;font-weight:900}.wtier.ready{border-color:var(--amber);animation:1.4s ease-in-out infinite glow}.wtier.got{opacity:.6}.wtier .ok{width:20px;height:20px;position:absolute;top:-8px;right:-8px}.wtier .ok svg{width:100%;height:100%}.wtier .bang{top:-8px;right:-8px}.mrows{flex-direction:column;gap:8px;display:flex}.mrow{box-shadow:0 2px 0 var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:8px;display:flex}.mrow .reward{background:var(--parch-2);border-radius:12px;flex:none;place-items:center;width:52px;height:44px;display:grid}.mrow .what{flex:1;font-size:14px;font-weight:800;line-height:1.25}.mrow.claimed{opacity:.6}.gdays{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.gday{background:var(--parch-2);min-height:84px;box-shadow:0 2px 0 var(--line);border:2px solid #fff;border-radius:14px;flex-direction:column;justify-content:space-between;align-items:center;padding:6px 4px;display:flex;position:relative}.gday small{color:var(--ink-2);font-size:11px;font-weight:900}.gday .gift{flex:1;justify-content:center;align-items:center;display:flex}.gday .gift svg{width:32px;height:32px}.gday.big{background:linear-gradient(#fff6d8,#ffe7a6);grid-column:span 2}.gday.big .gift svg{width:44px;height:44px}.gday.today{border-color:var(--amber);box-shadow:0 0 0 3px #f5b82e66, 0 2px 0 var(--line)}.gday.got{opacity:.55}.gday .ok{width:22px;height:22px;position:absolute;top:-6px;right:-6px}.gday .ok svg{width:100%;height:100%}.pill.xp b{color:var(--amber-d);margin:0 3px 0 4px;font-size:11px;font-weight:900}
