:root{--sky-1: #8fd8ff;--sky-2: #ffd9b8;--ink: #3b2f4a;--ink-soft: #6b5c7d;--paper: #fffdf7;--paper-2: #fff3e2;--gold: #ffc845;--mint: #4ecdc4;--pink: #ff6b8a;--violet: #b388ff;--shadow: 0 6px 0 rgba(59, 47, 74, .18), 0 12px 28px rgba(59, 47, 74, .22);--radius: 18px;--font: "Baloo 2", "Quicksand", "Segoe UI Rounded", "Trebuchet MS", system-ui, sans-serif}[hidden]{display:none!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:linear-gradient(180deg,var(--sky-1),var(--sky-2));font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#curtain{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:40;background:radial-gradient(circle at 50% 35%,#bdefff,#8fd8ff 45%,#ffc9a8);transition:opacity .7s ease,visibility .7s}#curtain.gone{opacity:0;visibility:hidden;pointer-events:none}.curtain-inner{text-align:center;padding:24px;animation:rise .8s cubic-bezier(.22,1.4,.4,1)}.logo-cloud{font-size:clamp(56px,12vw,92px);display:block;line-height:1;filter:drop-shadow(0 10px 18px rgba(255,255,255,.7));animation:float 4s ease-in-out infinite}.curtain-inner h1{font-size:clamp(44px,11vw,82px);margin:4px 0 2px;letter-spacing:2px;color:var(--paper);text-shadow:0 4px 0 #7bb6d6,0 10px 24px rgba(59,47,74,.28)}.tagline{margin:0 0 26px;font-size:clamp(14px,3.6vw,19px);color:#4a5f74;font-weight:600}.curtain-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.big-btn.ghost{background:#fffdf7eb;color:#4a5f74;box-shadow:0 6px #b9cad6,0 14px 30px #3b2f4a38}.big-btn.ghost:active{box-shadow:0 2px #b9cad6,0 8px 18px #3b2f4a3d}.big-btn{font-family:inherit;font-size:clamp(19px,4.5vw,25px);font-weight:800;color:#5a3d12;background:linear-gradient(180deg,#ffe08a,var(--gold));border:none;border-radius:999px;padding:14px 52px;cursor:pointer;box-shadow:0 6px #d99b17,0 14px 30px #3b2f4a4d;transition:transform .12s ease,box-shadow .12s ease}.big-btn.small{font-size:17px;padding:11px 34px}.big-btn:hover{transform:translateY(-2px);box-shadow:0 8px #d99b17,0 18px 34px #3b2f4a52}.big-btn:active{transform:translateY(4px);box-shadow:0 2px #d99b17,0 8px 18px #3b2f4a4d}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}#hud[hidden]{display:none}.panel{position:absolute;background:#fffdf7f0;border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto}#creation{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 30%,#bdefff,#8fd8ff 48%,#ffc9a8);overflow-y:auto}#creation[hidden]{display:none}.cc-save-warning{margin:8px auto 0;max-width:680px;color:#7a4a25;font-size:13px;text-align:center}.cc-final-actions{display:flex;justify-content:center;gap:10px;margin-top:8px}.cc-card{background:#fffdf7f2;border-radius:26px;box-shadow:var(--shadow);padding:22px 26px 24px;width:min(96vw,880px);animation:rise .45s cubic-bezier(.22,1.4,.4,1)}.cc-title{margin:0 0 16px;text-align:center;font-size:clamp(24px,5vw,32px)}.cc-body{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start}.cc-preview{background:linear-gradient(180deg,#cfefff,#ffe6cf);border-radius:20px;aspect-ratio:3 / 4;overflow:hidden;box-shadow:inset 0 2px 14px #3b2f4a1f}#preview-canvas{width:100%;height:100%;display:block}.cc-options{display:flex;flex-direction:column;gap:15px}.cc-field{display:flex;flex-direction:column;gap:7px}.cc-label{font-weight:800;font-size:13px;color:var(--ink-soft);letter-spacing:.4px}.cc-note{margin:-2px 0 2px;font-size:12px;color:var(--ink-soft)}.cc-name-row{display:flex;gap:8px}#cc-name{flex:1;font-family:inherit;font-size:17px;font-weight:700;color:var(--ink);padding:9px 14px;border:2px solid #e7ddf0;border-radius:12px;background:#fff;outline:none;min-width:0}#cc-name:focus{border-color:var(--gold)}.icon-mini{font-family:inherit;font-size:18px;border:none;border-radius:12px;background:var(--paper-2);cursor:pointer;padding:0 13px;box-shadow:0 3px #e0cfb4}.icon-mini:active{transform:translateY(2px);box-shadow:0 1px #e0cfb4}.swatch-row{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;box-shadow:0 2px 6px #3b2f4a3d;transition:transform .14s cubic-bezier(.22,1.6,.4,1),border-color .15s}.swatch:hover{transform:scale(1.14)}.swatch.on{border-color:var(--ink);transform:scale(1.14)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{font-family:inherit;font-size:13px;font-weight:700;color:var(--ink);background:var(--paper-2);border:2px solid transparent;border-radius:999px;padding:7px 15px;cursor:pointer;transition:border-color .15s,background .15s}.chip.on{border-color:var(--gold);background:#fff2cf}.cc-tabs{display:flex;gap:5px;flex-wrap:wrap}.cc-tab{font-family:inherit;font-size:12px;font-weight:800;color:var(--ink-soft);background:#ece6f2;border:2px solid transparent;border-radius:999px;padding:6px 13px;cursor:pointer;display:flex;align-items:center;gap:5px;opacity:.72;transition:color .15s,border-color .15s,background .15s,opacity .15s}.cc-tab:hover{opacity:.95}.cc-tab.on{color:#5a3d12;border-color:var(--gold);background:linear-gradient(180deg,#ffe9a8,#ffd76a);opacity:1;box-shadow:0 3px #e0a92a}.cc-pane{max-height:46vh;overflow-y:auto;padding-right:4px}.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.school-card{font-family:inherit;text-align:left;background:var(--paper-2);border:2px solid transparent;border-radius:15px;padding:11px 12px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:2px;transition:transform .13s,border-color .15s,background .15s}.school-card:hover{transform:translateY(-3px)}.school-card.on{border-color:var(--gold);background:#fff2cf}.sc-ico{font-size:24px}.sc-name{font-weight:800;font-size:15px}.sc-tag{font-size:11px;font-weight:700;color:var(--gold)}.sc-desc{font-size:11px;color:var(--ink-soft);line-height:1.45;margin:3px 0 4px}.sc-stat{font-size:10.5px;font-weight:700;color:#2f8f6a}.sc-stat.weak{color:#c0392b}.part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:7px;margin-bottom:6px}.part-card{font-family:inherit;background:var(--paper-2);border:2px solid transparent;border-radius:13px;padding:9px 5px 7px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .13s,border-color .15s,background .15s}.part-card:hover{transform:translateY(-3px)}.part-card.on{border-color:var(--gold);background:#fff2cf}.pt-ico{font-size:22px;line-height:1.1}.pt-name{font-size:11px;font-weight:800;text-align:center;line-height:1.2}.path-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.path-card{font-family:inherit;text-align:left;background:var(--paper-2);border:2px solid transparent;border-radius:15px;padding:11px 12px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:2px;transition:transform .14s cubic-bezier(.22,1.6,.4,1),border-color .15s,background .15s}.path-card:hover{transform:translateY(-3px)}.path-card.on{border-color:var(--gold);background:#fff2cf}.path-card .p-ico{font-size:24px}.path-card .p-name{font-weight:800;font-size:15px}.path-card .p-tag{font-size:11px;font-weight:700;color:var(--gold)}.path-card .p-desc{font-size:11.5px;color:var(--ink-soft);line-height:1.45;margin-top:3px}#cc-start{display:block;margin:20px auto 0}.cc-final-actions #cc-start,.cc-final-actions #cc-cancel{margin:0}@media (max-width: 720px){.cc-body{grid-template-columns:1fr}.cc-preview{aspect-ratio:16 / 10;max-height:220px}.path-row{grid-template-columns:1fr}}#top-left{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:min(46vw,320px)}#top-left .panel{position:static}#resources{display:flex;gap:4px;padding:8px 10px}.res{display:flex;align-items:center;gap:6px;padding:4px 10px;font-weight:800;font-size:17px;border-radius:12px;transition:transform .18s cubic-bezier(.22,1.6,.4,1),background .3s}.res .ico{font-size:19px}.res.bump{transform:scale(1.22);background:#fff0c2}.res.moon{background:linear-gradient(180deg,#efe6ff,#e0d0ff);color:#4a2f7a}#xp-panel{display:flex;align-items:center;gap:9px;padding:7px 11px 7px 7px}.lv-badge-btn{font-family:inherit;border:none;cursor:pointer;background:linear-gradient(180deg,#ffe08a,var(--gold));color:#5a3d12;border-radius:11px;padding:5px 9px;display:flex;align-items:baseline;gap:3px;box-shadow:0 3px #d99b17;transition:transform .12s,box-shadow .12s}.lv-badge-btn:active{transform:translateY(2px);box-shadow:0 1px #d99b17}.lv-badge-btn{position:relative}.lv-pending{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;border-radius:999px;background:linear-gradient(180deg,#b388ff,#8a5ce0);color:#fff;font-size:11px;font-weight:900;line-height:19px;text-align:center;box-shadow:0 0 0 2px #fffdf7,0 2px 6px #3b2f4a59}.lv-pending[hidden]{display:none}#skills-btn.has-pending{animation:lvPulse 1.5s ease-in-out infinite}@keyframes lvPulse{0%,to{box-shadow:0 3px #d99b17}50%{box-shadow:0 3px #d99b17,0 0 14px 3px #b388ffbf}}.lv-word{font-size:10px;font-weight:800;opacity:.75}#lv-badge{font-size:17px;font-weight:900}.xp-wrap{display:flex;flex-direction:column;gap:3px;min-width:108px}.xp-bar{height:8px;border-radius:999px;background:#e7ddf0;overflow:hidden}#xp-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,var(--gold),#ffec9e);transition:transform .35s ease}.xp-text{font-size:10.5px;font-weight:700;color:var(--ink-soft)}#skills-panel{padding:12px 15px;max-width:300px}#skills-panel[hidden]{display:none}#skills-panel h3{margin:0 0 8px;font-size:14px;color:var(--ink-soft)}#skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:40vh;overflow-y:auto}#skill-list li{display:grid;grid-template-columns:22px 1fr;gap:3px 8px;align-items:center;font-size:12.5px}.sl-ico{font-size:17px;grid-row:span 2}.sl-name{font-weight:800}.sl-desc{grid-column:2;font-size:11px;color:var(--ink-soft)}.sl-empty{display:block!important;color:var(--ink-soft);font-size:12px;line-height:1.6}#quest-panel{top:14px;left:50%;transform:translate(-50%);padding:10px 16px 11px;width:min(90vw,340px);text-align:center}.q-head{font-size:11px;font-weight:800;color:var(--ink-soft);letter-spacing:1.4px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:5px}.q-actions{display:inline-flex;gap:3px;margin-left:auto}.q-actions button{border:0;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);font:inherit;letter-spacing:0;text-transform:none;padding:2px 7px;cursor:pointer}.tutorial-target{animation:tutorial-pulse 1.25s ease-in-out infinite;outline:3px solid color-mix(in srgb,var(--gold) 72%,transparent);outline-offset:3px}@keyframes tutorial-pulse{50%{outline-offset:7px;filter:brightness(1.08)}}.q-title{font-size:15.5px;font-weight:800;margin:2px 0 6px;line-height:1.3}.q-bar{height:7px;border-radius:999px;background:#e7ddf0;overflow:hidden}#quest-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,#ffb347,var(--gold));transition:transform .35s ease}.q-foot{display:flex;gap:10px;align-items:baseline;justify-content:center;margin-top:5px}.q-hint{font-size:11px;color:var(--ink-soft);line-height:1.4}.q-count{font-size:11.5px;font-weight:800;color:var(--ink);white-space:nowrap}#right-stack{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:8px;align-items:stretch;width:186px}#right-stack .panel{position:static}#cycle-panel{padding:9px 12px 10px;display:flex;flex-direction:column;gap:7px}.cy-row{display:flex;align-items:center;gap:9px}.cy-icon{font-size:24px;line-height:1;transition:transform .4s cubic-bezier(.22,1.6,.4,1)}.cy-label{font-weight:800;font-size:15px;line-height:1.15}.cy-sub{font-size:11px;font-weight:700;color:var(--ink-soft)}.cy-bar{height:7px;border-radius:999px;background:#e7ddf0;overflow:hidden}#cycle-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff9a5c);transition:transform .25s linear}#cycle-panel.night #cycle-fill{background:linear-gradient(90deg,#9b6bff,#ff6b8a)}#cycle-panel.night{box-shadow:0 0 0 2px #ff6b8a80,var(--shadow)}#cycle-panel.dusk #cycle-fill{background:linear-gradient(90deg,#ff9a5c,#ff6b8a)}.cy-btn{font-family:inherit;font-weight:800;font-size:12.5px;padding:7px 10px;border:none;border-radius:11px;cursor:pointer;color:#5a3d12;background:linear-gradient(180deg,#ffe08a,var(--gold));box-shadow:0 3px #d99b17;transition:transform .12s,box-shadow .12s,filter .2s}.cy-btn:disabled{filter:grayscale(.7) opacity(.5);cursor:default;box-shadow:0 3px #b6b0a4}.cy-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #d99b17}#side-buttons{display:flex;gap:8px;justify-content:flex-end;pointer-events:auto}.side-btn{position:relative;width:46px;height:46px;border-radius:15px;border:none;background:#fffdf7eb;font-family:inherit;font-size:22px;cursor:pointer;box-shadow:var(--shadow);transition:transform .12s}.side-btn:active{transform:translateY(3px)}.side-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#ff5d5d;box-shadow:0 0 0 2px #fffdf7;animation:pulse 1.4s ease-in-out infinite}.side-badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;border-radius:999px;background:var(--violet);color:#fff;font-size:11px;font-weight:900;line-height:18px;box-shadow:0 0 0 2px #fffdf7}#island-info{padding:10px 14px;display:flex;flex-direction:column;gap:7px;align-items:stretch}.island-level{font-weight:800;font-size:15px;text-align:center;color:var(--ink-soft)}.island-level b{color:var(--ink);font-size:18px}.grow-bar{height:9px;border-radius:999px;background:#e7ddf0;overflow:hidden}#grow-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--violet));transition:transform .4s ease}.grow-btn{font-family:inherit;font-weight:800;font-size:14px;padding:9px 12px;border:none;border-radius:12px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#7fe0d8,var(--mint));box-shadow:0 4px #35a79f;transition:transform .12s,box-shadow .12s,filter .2s}.grow-btn:disabled{filter:grayscale(.75) opacity(.6);cursor:default;box-shadow:0 4px #9aa8a7}.grow-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px #35a79f}.grow-btn:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #35a79f}.grow-btn.ready{animation:pulse 1.6s ease-in-out infinite}#build-wrap{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:auto;max-width:96vw}#build-tabs{display:flex;gap:6px}.build-tab{font-family:inherit;font-size:13px;font-weight:800;color:var(--ink-soft);background:#fffdf7e6;border:2px solid transparent;border-radius:999px;padding:6px 16px;cursor:pointer;box-shadow:0 3px 10px #3b2f4a2e;transition:color .15s,border-color .15s,background .15s}.build-tab.on{color:var(--ink);border-color:var(--gold);background:#fff5dd}#build-dock{position:static;display:flex;align-items:stretch;gap:6px;padding:8px;max-width:min(96vw,860px)}#build-scroll{position:relative;overflow:hidden;flex:1 1 auto;min-width:0}#build-scroll[data-edge=both]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}#build-scroll[data-edge=start]{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%)}#build-scroll[data-edge=end]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 100%)}#build-bar{position:static;display:flex;gap:8px;padding:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x proximity}.build-card{scroll-snap-align:start}.dock-arrow{flex:0 0 auto;width:30px;border:none;border-radius:12px;background:var(--paper-2);color:var(--ink-soft);font-size:20px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:inset 0 0 0 2px #3b2f4a0f;transition:background .15s,color .15s,opacity .15s}.dock-arrow:hover{background:var(--school-soft);color:var(--school-deep)}.dock-arrow:disabled{opacity:.28;cursor:default}#build-safe{flex:0 0 auto;display:flex;align-items:center;padding-left:8px;border-left:2px dashed #f0c9c9}.dock-close{flex:0 0 auto;width:26px;border:none;border-radius:12px;background:transparent;color:var(--ink-soft);font-size:15px;cursor:pointer;font-family:inherit}.dock-close:hover{background:var(--paper-2)}#build-handle{display:flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;font-size:15px;color:#5a3d12;background:linear-gradient(180deg,var(--school-soft),var(--school));box-shadow:0 6px 0 var(--school-deep),0 14px 26px #3b2f4a42;position:relative}#build-handle[hidden]{display:none}#build-handle:active{transform:translateY(4px);box-shadow:0 2px 0 var(--school-deep)}.bh-ico{font-size:20px}.bh-text{font-weight:800}.bh-badge{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff6b8a;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}.bh-badge[hidden]{display:none}@media (max-width: 1100px){#build-dock{max-width:96vw;padding:6px}.build-card{width:84px}.build-card .b-ico{font-size:23px}}@media (max-height: 660px){.build-card{padding:6px 5px 5px}.build-card .b-ico{font-size:21px}.build-card .b-cost{margin-top:2px}}#build-bar::-webkit-scrollbar{display:none}.build-card{flex:0 0 auto;width:94px;border:2px solid transparent;border-radius:14px;background:var(--paper-2);padding:8px 6px 7px;cursor:pointer;text-align:center;font-family:inherit;color:var(--ink);transition:transform .14s cubic-bezier(.22,1.6,.4,1),border-color .18s,background .18s,filter .2s}.build-card .b-ico{font-size:26px;line-height:1.15;display:block}.build-card .b-name{font-size:12px;font-weight:800;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-card .b-cost{font-size:10px;font-weight:700;color:var(--ink-soft);margin-top:3px;display:flex;gap:3px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.b-cost-item{display:inline-grid;justify-items:center;line-height:1.05;min-width:30px}.b-cost-main{display:inline-flex;align-items:center;gap:1px;white-space:nowrap}.b-cost-main b{color:var(--ink)}.b-cost-item small{font-size:8px;opacity:.76;white-space:nowrap}.b-cost-item.missing .b-cost-main b,.b-cost-item.missing small{color:#b64d49}.b-next{flex:0 0 100%;color:var(--ink-soft);font-size:8px;font-weight:700;opacity:.78;white-space:nowrap}.build-card:hover{transform:translateY(-4px);background:#fff8ea}.build-card.selected{border-color:var(--gold);background:#fff2cf;transform:translateY(-4px)}.build-card.poor{filter:grayscale(.7) opacity(.55)}.build-card.locked{filter:grayscale(.9) opacity(.4);cursor:default}.build-card.demolish{width:80px;background:#ffeaea;border:2px solid #f6d2d2;border-radius:14px;margin:0}.build-card.demolish.on{background:#ffd0d0;border-color:#e06a6a;box-shadow:0 0 0 3px #e06a6a40}.build-card.demolish:hover{background:#ffdede}.build-card.demolish.selected{border-color:#ff6b6b;background:#ffd4d4}.build-card.demolish .b-cost{font-size:10px}#toast-layer{position:absolute;bottom:calc(var(--dock-h, 118px) + 34px);left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:7px;pointer-events:none;z-index:30;max-width:92vw;transition:bottom .22s var(--e-out)}.toast{background:#3b2f4ae6;color:#fffdf7;font-weight:700;font-size:14px;padding:8px 18px;border-radius:999px;box-shadow:0 8px 22px #3b2f4a52;animation:toastIn .32s cubic-bezier(.22,1.6,.4,1);white-space:nowrap}.toast.fade{animation:toastOut .45s ease forwards}.toast.big{background:linear-gradient(180deg,#ffe08a,var(--gold));color:#5a3d12;font-size:15px;padding:11px 24px;box-shadow:0 8px 26px #d99b1773}#inspect-card{bottom:118px;left:50%;transform:translate(-50%);width:min(92vw,300px);padding:13px 15px 14px;animation:rise .22s cubic-bezier(.22,1.4,.4,1)}#inspect-card[hidden]{display:none}.inspect-x{position:absolute;top:7px;right:8px;border:none;background:none;font-family:inherit;font-size:14px;color:var(--ink-soft);cursor:pointer;padding:3px 6px}.ins-head{display:flex;align-items:center;gap:10px}.ins-icon{font-size:27px}.ins-name{font-weight:800;font-size:16px}.ins-tier{font-size:11.5px;font-weight:800;color:var(--gold);letter-spacing:.6px}.ins-desc{font-size:12px;color:var(--ink-soft);line-height:1.5;margin:8px 0 6px}.ins-stats{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:10px}.ins-stats span b{color:var(--mint)}.ins-actions{display:flex;gap:8px}.ins-btn{flex:1;font-family:inherit;font-weight:800;font-size:13px;padding:9px 10px;border:none;border-radius:12px;cursor:pointer;color:#fff;transition:transform .12s,box-shadow .12s,filter .2s}.ins-btn.up{background:linear-gradient(180deg,#7fe0d8,var(--mint));box-shadow:0 4px #35a79f}.ins-btn.wake{background:linear-gradient(180deg,#ffe08a,var(--gold));color:#5a3d12;box-shadow:0 4px #d99b17}.ins-btn:disabled{filter:grayscale(.7) opacity(.55);cursor:default}.ins-btn:not(:disabled):active{transform:translateY(3px);box-shadow:none}#here-panel{bottom:118px;left:14px;width:190px;padding:9px 12px 10px}#here-panel[hidden]{display:none}.here-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.here-name{font-weight:800;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.here-fill{font-size:11px;font-weight:800;color:var(--ink-soft)}.here-bar{height:6px;border-radius:999px;background:#e7ddf0;overflow:hidden;margin:5px 0 7px}#here-bar-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--violet));transition:transform .3s ease,background .3s}#here-panel.notice #here-bar-fill{background:linear-gradient(90deg,var(--mint),#f0c45c)}#here-panel.critical #here-bar-fill{background:linear-gradient(90deg,#f0c45c,#ff8a5c)}#here-panel.full #here-bar-fill{background:linear-gradient(90deg,#ff9a5c,#ff5d5d)}.here-items{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:12px;font-weight:700}.here-items .empty{color:var(--ink-soft);font-weight:600;font-size:11px}.side-badge.warn{background:#ff5d5d;animation:pulse 1.2s ease-in-out infinite}#islands-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:56;display:grid;place-items:center;padding:16px;background:#3b2f4a80;overflow-y:auto}#islands-modal[hidden]{display:none}.sec-title{text-align:left;font-size:13px;color:var(--ink-soft);letter-spacing:.8px;text-transform:uppercase;margin:18px 0 8px}.island-list,.bridge-list{display:flex;flex-direction:column;gap:8px;text-align:left;max-height:32vh;overflow-y:auto}.island-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;background:var(--paper-2);border-radius:14px;padding:9px 12px;cursor:pointer;transition:background .15s,transform .12s}.island-row:hover{background:#fff8ea;transform:translateY(-2px)}.isl-ico{font-size:22px;text-align:center}.isl-name{font-weight:800;font-size:14px}.isl-meta{font-size:11px;color:var(--ink-soft);line-height:1.5}.isl-stock{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:11px;font-weight:700;margin-top:3px}.isl-bar{width:62px;height:6px;border-radius:999px;background:#e0d6ee;overflow:hidden}.isl-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--violet))}.isl-bar.full span{background:linear-gradient(90deg,#ff9a5c,#ff5d5d)}.bridge-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--paper-2);border-radius:14px;padding:9px 12px}.bridge-row.congested{background:#ffeaea;box-shadow:inset 0 0 0 2px #ffb0b0}.br-title{font-weight:800;font-size:13.5px}.br-meta{font-size:11px;color:var(--ink-soft);line-height:1.5}.br-flow{font-size:11px;font-weight:700;color:var(--mint)}.br-warn{font-size:11px;font-weight:800;color:#c0392b}.br-btn{font-family:inherit;font-weight:800;font-size:12px;padding:8px 12px;border:none;border-radius:11px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#7fe0d8,var(--mint));box-shadow:0 3px #35a79f;white-space:nowrap}.br-btn:disabled{filter:grayscale(.7) opacity(.55);cursor:default}#expand-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:56;display:grid;place-items:center;padding:16px;background:#3b2f4a80;overflow-y:auto}#expand-modal[hidden]{display:none}.expand-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left;margin-bottom:16px}.ex-label{font-size:11.5px;font-weight:800;color:var(--ink-soft);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}.ex-label:not(:first-child){margin-top:14px}.hex-map-wrap{background:linear-gradient(180deg,#dff1ff,#fff2e0);border-radius:16px;padding:8px;box-shadow:inset 0 2px 10px #3b2f4a1a}.hex-map{width:100%;height:auto;max-height:260px;display:block}.hx-link{stroke:#b98b5e;stroke-width:7;stroke-linecap:round;opacity:.55}.hx-owned polygon{stroke:#fff;stroke-width:2.5}.hx-ico{text-anchor:middle;font-size:20px}.hx-cand polygon{fill:#ffffff80;stroke:var(--ink-soft);stroke-width:2;stroke-dasharray:5 4;cursor:pointer;transition:fill .15s,stroke .15s}.hx-cand:hover polygon{fill:#fff2cf;stroke:var(--gold)}.hx-cand.on polygon{fill:var(--gold);stroke:#b8791a;stroke-dasharray:none}.hx-plus{text-anchor:middle;font-size:22px;font-weight:900;fill:var(--ink-soft);pointer-events:none}.hx-cand.on .hx-plus{fill:#fff}.biome-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.biome-card{font-family:inherit;text-align:left;background:var(--paper-2);border:2px solid transparent;border-radius:13px;padding:9px 10px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:1px;transition:transform .13s,border-color .15s,background .15s}.biome-card:hover{transform:translateY(-2px)}.biome-card.on{border-color:var(--gold);background:#fff2cf}.bi-ico{font-size:20px}.bi-name{font-weight:800;font-size:13.5px}.bi-desc{font-size:10.5px;color:var(--ink-soft);line-height:1.4}#expand-name{width:100%;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);padding:9px 13px;border:2px solid #e7ddf0;border-radius:12px;background:#fff;outline:none}#expand-name:focus{border-color:var(--gold)}.expand-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ex-cost{display:flex;gap:10px;font-size:15px;font-weight:800}.ex-cost .short{color:#c0392b}@media (max-width: 700px){.expand-grid{grid-template-columns:1fr}.biome-list{grid-template-columns:1fr 1fr}}#dawn-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;display:grid;place-items:center;padding:16px;background:#3b2f4a73}#dawn-modal[hidden]{display:none}.dawn-card{background:linear-gradient(180deg,#fffdf7,#fff2e0);border-radius:26px;padding:22px 28px 24px;width:min(92vw,420px);text-align:center;box-shadow:var(--shadow);animation:rise .42s cubic-bezier(.22,1.4,.4,1)}.dawn-sun{font-size:46px;line-height:1;animation:float 3s ease-in-out infinite}.dawn-card h2{margin:4px 0 3px;font-size:clamp(21px,5vw,27px)}.dawn-sub{margin:0 0 16px;font-size:13px;color:var(--ink-soft)}.dawn-rows{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.dawn-row{display:flex;justify-content:space-between;align-items:center;background:#fffdf7cc;border-radius:12px;padding:8px 14px;font-size:13.5px;font-weight:700}.dawn-row b{font-size:15px}.dawn-row.bonus{background:#fff2cf;color:#5a3d12}.modal-card.wide{max-width:min(94vw,540px)}.modal-sub{margin:-4px 0 16px;font-size:13px;color:var(--ink-soft);line-height:1.55}.exp-list,.seal-list{display:flex;flex-direction:column;gap:9px;margin-bottom:16px;text-align:left}.exp-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;background:var(--paper-2);border-radius:15px;padding:11px 13px}.exp-ico{font-size:26px;text-align:center}.exp-name{font-weight:800;font-size:14.5px}.exp-meta{font-size:11.5px;color:var(--ink-soft);line-height:1.5}.exp-bar{height:6px;border-radius:999px;background:#e7ddf0;overflow:hidden;margin-top:5px}.exp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--violet))}.exp-btn{font-family:inherit;font-weight:800;font-size:12.5px;padding:9px 15px;border:none;border-radius:12px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#7fe0d8,var(--mint));box-shadow:0 3px #35a79f;white-space:nowrap}.exp-btn.ready{background:linear-gradient(180deg,#ffe08a,var(--gold));color:#5a3d12;box-shadow:0 3px #d99b17;animation:pulse 1.4s ease-in-out infinite}.exp-btn:disabled{filter:grayscale(.7) opacity(.5);cursor:default}.offline-note{font-size:12px;color:var(--ink-soft);background:#f2ecfa;border-radius:12px;padding:9px 13px;margin-bottom:16px;text-align:left;line-height:1.55}.seal-row{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;background:var(--paper-2);border:2px solid transparent;border-radius:15px;padding:10px 13px;cursor:pointer;font-family:inherit;text-align:left;color:var(--ink);transition:border-color .15s,background .15s,transform .12s}.seal-row:hover{transform:translateY(-2px)}.seal-row.on{border-color:var(--violet);background:#f3ecff}.seal-ico{font-size:23px;text-align:center}.seal-name{font-weight:800;font-size:14px}.seal-desc{font-size:11.5px;color:var(--ink-soft);line-height:1.45}.seal-reward{font-size:12.5px;font-weight:900;color:var(--gold);white-space:nowrap}.seal-total{font-size:14px;font-weight:700;margin-bottom:16px}.seal-total b{font-size:19px;color:var(--violet)}#level-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#3b2f4a8c}#level-modal[hidden]{display:none}.level-card{background:var(--paper);border-radius:26px;padding:22px 26px 26px;width:min(94vw,660px);text-align:center;box-shadow:var(--shadow);animation:rise .4s cubic-bezier(.22,1.4,.4,1)}.lv-burst{font-size:46px;line-height:1;animation:float 2.4s ease-in-out infinite}.level-card h2{margin:4px 0;font-size:clamp(22px,5vw,28px)}.lv-sub{margin:0 0 18px;font-size:13.5px;color:var(--ink-soft)}.skill-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.skill-card.picked{animation:cardPicked .34s cubic-bezier(.22,1.6,.4,1)}@keyframes cardPicked{0%{transform:none;box-shadow:none}35%{transform:scale(1.07) translateY(-4px);box-shadow:0 0 0 3px var(--gold),0 8px 22px #ffc84580}to{transform:none;box-shadow:none}}.skill-card[hidden]{display:none}.lv-dismiss{margin-top:16px;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink-soft);background:none;border:none;cursor:pointer;padding:8px 18px;border-radius:999px;transition:background .15s,color .15s}.lv-dismiss:hover{background:#f0eaf7;color:var(--ink)}.lv-dismiss[hidden]{display:none}.skill-card{font-family:inherit;color:var(--ink);background:var(--paper-2);border:2px solid transparent;border-radius:17px;padding:15px 12px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s cubic-bezier(.22,1.6,.4,1),border-color .15s,background .15s}.skill-card:hover{transform:translateY(-5px);border-color:var(--gold);background:#fff2cf}.skill-card .s-ico{font-size:32px;line-height:1.1}.skill-card .s-name{font-weight:800;font-size:15px}.skill-card .s-rank{font-size:10.5px;font-weight:800;color:var(--gold);letter-spacing:.8px;text-transform:uppercase}.skill-card .s-desc{font-size:12px;color:var(--ink-soft);line-height:1.45;margin-top:3px}@media (max-width: 620px){.skill-choices{grid-template-columns:1fr}.skill-card{flex-direction:row;text-align:left;align-items:center;gap:12px;flex-wrap:wrap}.skill-card .s-desc{flex-basis:100%;margin-top:0}}#joystick{position:absolute;left:22px;bottom:120px;pointer-events:auto}#joystick[hidden]{display:none}#joy-base{width:118px;height:118px;border-radius:50%;background:#fffdf766;border:3px solid rgba(255,253,247,.75);display:grid;place-items:center}#joy-knob{width:50px;height:50px;border-radius:50%;background:#fffdf7f2;box-shadow:0 4px 12px #3b2f4a4d;transition:transform .05s linear}#side-rail{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column-reverse;gap:8px;max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden;padding:2px;pointer-events:auto;scrollbar-width:none}#side-rail::-webkit-scrollbar{width:0}.icon-btn{position:relative;flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:none;background:#fffdf7e6;transition:transform 90ms ease-out,background .12s ease;color:var(--ink-soft);font-family:inherit;font-weight:900;font-size:20px;cursor:pointer;pointer-events:auto;box-shadow:var(--shadow)}#help-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#3b2f4a66}#help-modal[hidden]{display:none}.modal-card{background:var(--paper);border-radius:24px;padding:26px 30px;max-width:min(90vw,440px);box-shadow:var(--shadow);text-align:center;animation:rise .3s cubic-bezier(.22,1.4,.4,1)}.modal-card h2{margin:0 0 12px}.modal-card ul{text-align:left;padding-left:18px;margin:0 0 20px;line-height:1.8;font-size:14px;color:var(--ink-soft)}.modal-card li b{color:var(--ink)}body.placing #scene{cursor:crosshair}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-10px)}}@media (max-width: 560px){#resources{padding:6px}.res{font-size:15px;padding:3px 7px}#right-stack{width:152px;gap:6px}#island-info{padding:7px 9px}#cycle-panel{padding:7px 9px 8px}.cy-label{font-size:13px}.cy-icon{font-size:20px}.side-btn{width:40px;height:40px;font-size:19px}.build-card{width:76px}.exp-row,.seal-row{grid-template-columns:30px 1fr}.exp-btn,.seal-reward{grid-column:2;justify-self:start}#inspect-card{bottom:150px}.build-card.demolish{width:70px}#toast-layer{bottom:calc(var(--dock-h, 112px) + 26px)}#quest-panel{top:auto;bottom:108px;width:min(94vw,300px);padding:7px 12px 8px}.q-title{font-size:13.5px}.q-hint{display:none}#toast-layer{bottom:176px}.xp-wrap{min-width:84px}}:root{--school: #ffc845;--school-deep: #d99b17;--school-soft: #fff2cf;--t-panel-in: .24s;--t-panel-out: .16s;--t-press: 90ms;--t-count: .22s;--e-pop: cubic-bezier(.22, 1.4, .4, 1);--e-out: cubic-bezier(.33, 1, .68, 1)}.ui-btn{font-family:inherit;font-weight:800;border:none;cursor:pointer;position:relative;transition:transform var(--t-press) var(--e-out),box-shadow var(--t-press) var(--e-out),filter var(--t-press) linear}.ui-btn:disabled{cursor:default;filter:grayscale(.7) opacity(.55);transform:none!important;box-shadow:none!important}.ui-btn--primary{height:44px;padding:0 26px;border-radius:999px;font-size:17px;color:#5a3d12;background:linear-gradient(180deg,var(--school-soft),var(--school));box-shadow:0 6px 0 var(--school-deep),0 14px 26px #3b2f4a42}.ui-btn--primary:hover{transform:translateY(-2px)}.ui-btn--primary:active{transform:translateY(4px);box-shadow:0 2px 0 var(--school-deep)}.ui-btn--secondary{height:38px;padding:0 18px;border-radius:14px;font-size:14px;color:var(--ink);background:var(--paper-2);box-shadow:0 4px #e0cfb4}.ui-btn--secondary:hover{transform:translateY(-1px)}.ui-btn--secondary:active{transform:translateY(3px);box-shadow:0 1px #e0cfb4}.ui-btn--icon{width:44px;height:44px;border-radius:15px;font-size:20px;display:grid;place-items:center;background:var(--paper);box-shadow:0 4px #e0cfb4,0 8px 18px #3b2f4a29}.ui-btn--icon:hover{transform:translateY(-2px)}.ui-btn--icon:active{transform:translateY(3px);box-shadow:0 1px #e0cfb4}.ui-deny{animation:uiDeny .34s ease}@keyframes uiDeny{0%,to{transform:translate(0)}20%{transform:translate(-5px);filter:hue-rotate(-25deg) saturate(1.5)}45%{transform:translate(5px);filter:hue-rotate(-25deg) saturate(1.5)}70%{transform:translate(-2px)}}.ui-new:after{content:"";position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;background:var(--school);box-shadow:0 0 0 2px var(--paper),0 0 10px var(--school);animation:uiNewPulse 1.6s ease-in-out infinite}@keyframes uiNewPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}.ui-tick{animation:uiTick var(--t-count) var(--e-pop)}@keyframes uiTick{0%{transform:scale(1)}40%{transform:scale(1.28);color:var(--school-deep)}to{transform:scale(1)}}#energy-panel{position:static;margin-top:8px;display:flex;align-items:center;gap:10px;padding:9px 13px;min-width:208px}.e-ico{font-size:22px;filter:drop-shadow(0 2px 4px rgba(59,47,74,.25))}.e-wrap{flex:1;min-width:0}.e-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.e-name{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft)}.e-val{font-size:12px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.e-bar{height:8px;border-radius:999px;background:#3b2f4a24;overflow:hidden;margin:4px 0 3px}#energy-fill{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:999px;background:linear-gradient(90deg,var(--school-deep),var(--school));transition:transform .25s var(--e-out),background .4s linear}#energy-panel.low #energy-fill{background:linear-gradient(90deg,#c0392b,#ff7a6a)}#energy-panel.low{animation:energyLow 1.8s ease-in-out infinite}@keyframes energyLow{0%,to{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow),0 0 0 2px #ff6b6a80}}.e-hint{font-size:10.5px;line-height:1.25;color:var(--ink-soft);opacity:.85}.chip.on,.cc-tab.on{border-color:var(--school);background:var(--school-soft)}.build-tab.on{border-color:var(--school)}.build-card.selected{border-color:var(--school);box-shadow:0 0 0 3px var(--school-soft)}#grow-btn.ready{background:linear-gradient(180deg,var(--school-soft),var(--school));box-shadow:0 5px 0 var(--school-deep)}.ui-icon svg{display:block;overflow:visible}.res .ico.ui-icon{font-size:19px;color:var(--ink-soft)}.res[data-res=crystal] .ico.ui-icon{color:#4aa8c9}.res[data-res=fluff] .ico.ui-icon{color:#5aab52}.res[data-res=stardust] .ico.ui-icon{color:#d9a52c}.res[data-res=moonstone] .ico.ui-icon{color:#8c6fd0}.e-ico.ui-icon{font-size:22px;color:var(--school-deep)}#place-controls{position:static;margin-top:8px;display:flex;align-items:center;gap:8px;padding:8px 12px;flex-wrap:wrap}#place-controls[hidden]{display:none}.pc-label{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft)}.pc-btn{width:38px;height:38px;font-size:20px;line-height:1}.pc-face{width:30px;height:30px;display:grid;place-items:center;font-size:17px;border-radius:10px;background:var(--school-soft);color:var(--school-deep);transition:transform .18s var(--e-pop)}.pc-cancel{margin-left:4px}.pc-layers{min-width:92px;padding-inline:10px;font-size:10px}.pc-status{max-width:230px;font-size:11px;font-weight:750;line-height:1.2;color:var(--ink-soft)}.pc-status.bad{color:#a93434}.pc-status.good{color:#287744}.ins-btn.move{background:linear-gradient(180deg,#cfe8ff,#9fcdf0);box-shadow:0 4px #6fa4cc}.ins-btn.turn{background:linear-gradient(180deg,#e7dcff,#c3aef0);box-shadow:0 4px #8f77c4}.ins-btn.move:active,.ins-btn.turn:active{transform:translateY(3px);box-shadow:none}.toast-n{margin-left:8px;padding:1px 6px;border-radius:999px;background:#ffffff38;font-size:11px;font-weight:800}.toast.again{animation:toastAgain .28s var(--e-pop)}@keyframes toastAgain{0%{transform:scale(1)}45%{transform:scale(1.07)}to{transform:scale(1)}}#skill-choices.busy .skill-card{pointer-events:none;filter:saturate(.7) brightness(.96)}#skill-choices.busy .skill-card.picked{filter:none}#skills-btn.busy{pointer-events:none;opacity:.75}.cc-preview{position:relative}.cc-view,.cc-anim{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:4px;background:#fffdf7eb;border-radius:999px;padding:4px;box-shadow:0 4px 12px #3b2f4a33}.cc-view{bottom:8px}.cc-anim{top:8px;width:calc(100% - 16px);max-width:310px;flex-wrap:wrap;justify-content:center;border-radius:16px}.cc-vbtn,.cc-abtn{font-family:inherit;font-size:12px;font-weight:800;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;padding:4px 8px;cursor:pointer;min-width:26px;transition:background .15s,color .15s}.cc-abtn{font-size:15px;padding:3px 6px}.cc-vbtn:hover,.cc-abtn:hover{background:var(--school-soft);color:var(--school-deep)}.cc-vbtn.on,.cc-abtn.on{background:var(--school);color:#fff}.cc-anim-name{flex:0 0 100%;color:var(--ink-soft);font-size:10px;font-weight:800;line-height:1.1;text-align:center}.build-card .b-cost{letter-spacing:-.2px}#city-tools{position:static;margin-top:8px;display:flex;gap:6px;padding:7px 9px}.ct-btn{width:38px;height:38px;border:none;border-radius:12px;background:var(--paper-2);font-size:18px;font-family:inherit;cursor:pointer;box-shadow:0 3px #e0cfb4;transition:transform .12s var(--e-out),background .15s,opacity .15s}.ct-btn:hover{background:var(--school-soft);transform:translateY(-2px)}.ct-btn:active{transform:translateY(2px);box-shadow:none}.ct-btn:disabled{opacity:.32;cursor:default;transform:none}.ct-btn.on{background:linear-gradient(180deg,var(--school-soft),var(--school));box-shadow:0 3px 0 var(--school-deep)}#district-picker{position:static;margin-top:8px;padding:10px 12px;min-width:210px}#district-picker[hidden]{display:none}.district-look{display:grid;grid-template-columns:2.6rem 1fr 2.6rem;gap:.3rem;margin:.45rem 0}.district-look input{min-width:0;border:1px solid rgba(75,55,95,.2);border-radius:.5rem;padding:.35rem;background:#fffdf9}.district-look input[type=color]{width:2.6rem;padding:.15rem}.district-look button{grid-column:1 / -1}.plan-name-label{display:block;margin-top:.55rem;font-size:.72rem;color:var(--muted)}.plan-save-row{display:flex;gap:.35rem;margin-top:.25rem}.plan-save-row input{min-width:0;width:8.5rem;border:1px solid rgba(75,55,95,.2);border-radius:.55rem;padding:.42rem .5rem}#city-plans{left:.7rem;bottom:15.8rem;width:min(18rem,calc(100vw - 1.4rem))}#city-plans[hidden]{display:none}.city-plan-list{display:grid;gap:.3rem;max-height:9rem;overflow:auto}.city-plan-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.3rem;padding:.35rem;background:#ffffff9e;border-radius:.55rem}.city-plan-name{min-width:0;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-plan-row button{padding:.28rem .42rem;min-height:1.8rem}.dp-title{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.dp-list{display:flex;flex-wrap:wrap;gap:5px}.dp-item{font-family:inherit;font-size:12px;font-weight:700;border:2px solid transparent;border-radius:999px;padding:5px 11px;background:var(--paper-2);cursor:pointer;transition:border-color .15s,background .15s}.dp-item.on{border-color:var(--school);background:var(--school-soft)}.dp-status{margin-top:7px;font-size:11px;line-height:1.35;color:var(--ink-soft)}.dp-status.ok{color:#3f8f52;font-weight:700}.dawn-sep{margin:10px 0 4px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-soft);border-top:2px dashed rgba(59,47,74,.15);padding-top:8px}.dawn-row.warn b{color:#c0392b}#wave-preview{position:absolute;right:16px;bottom:calc(var(--dock-h, 130px) + 60px);width:250px;padding:10px 12px}#wave-preview[hidden]{display:none}.wp-title{font-size:12px;font-weight:800;letter-spacing:.4px;color:#c0392b;margin-bottom:6px}.wp-list{display:flex;flex-direction:column;gap:6px}.wp-row{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:start}.wp-ico{font-size:17px;line-height:1.1}.wp-name{font-size:12px;font-weight:800}.wp-amount{font-size:10px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.3px}.wp-answer{font-size:10.5px;line-height:1.3;color:var(--ink-soft)}#branch-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#3b2f4a9e}#branch-modal[hidden]{display:none}.branch-card{position:static;width:min(94vw,560px);padding:20px 22px;animation:rise .24s var(--e-pop)}.bm-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}.bm-icon{font-size:30px}.bm-title{font-size:19px;font-weight:800}.bm-sub{font-size:12px;color:var(--ink-soft)}.bm-options{display:flex;flex-direction:column;gap:9px;margin-bottom:12px}.bm-opt{display:grid;grid-template-columns:34px 1fr;gap:10px;text-align:left;font-family:inherit;color:var(--ink);background:var(--paper-2);border:2px solid transparent;border-radius:15px;padding:11px 13px;cursor:pointer;transition:border-color .15s,background .15s,transform .12s var(--e-out)}.bm-opt:hover{border-color:var(--school);background:var(--school-soft);transform:translateY(-2px)}.bm-opt .bo-ico{font-size:24px}.bm-opt .bo-name{font-size:14px;font-weight:800}.bm-opt .bo-desc{font-size:11.5px;line-height:1.35;color:var(--ink-soft)}#showcase-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;display:grid;place-items:center;padding:16px;background:#3b2f4a99;overflow-y:auto}#showcase-modal[hidden]{display:none}.sc-card{position:static;width:min(94vw,620px);padding:22px 24px;animation:rise .26s var(--e-pop)}.sc-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.sc-crest{font-size:34px}.sc-id{flex:1;display:flex;flex-direction:column;gap:6px}.sc-name,.sc-slogan{font-family:inherit;border:2px solid #e7ddf0;border-radius:12px;background:#fff;padding:7px 12px;color:var(--ink);outline:none}.sc-name{font-size:19px;font-weight:800}.sc-slogan{font-size:13px}.sc-name:focus,.sc-slogan:focus{border-color:var(--school)}.sc-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.sc-label{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft);width:92px;flex:0 0 auto}.sc-chips{display:flex;gap:5px;flex-wrap:wrap}.sc-chip{font-family:inherit;font-size:12px;font-weight:700;border:2px solid transparent;border-radius:999px;padding:5px 12px;background:var(--paper-2);cursor:pointer}.sc-chip.on{border-color:var(--school);background:var(--school-soft)}.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}@media (max-width: 560px){.sc-grid{grid-template-columns:1fr}}.sc-block-title{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.sc-appr{display:flex;flex-direction:column;gap:4px}.sc-appr-row{display:flex;justify-content:space-between;font-size:12.5px}.sc-appr-row b{font-variant-numeric:tabular-nums}.sc-history{display:flex;flex-direction:column;gap:4px;font-size:12px}.sc-history .none{color:var(--ink-soft);font-size:11.5px}.sc-actions{display:flex;gap:10px;justify-content:flex-end}body.photo-mode #hud>*:not(#photo-hint){opacity:0!important;pointer-events:none!important}#photo-hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);background:#3b2f4ad1;color:#fffdf7;font-size:12px;font-weight:700;padding:8px 16px;border-radius:999px;pointer-events:auto}#siege-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:16px;background:#3b2f4aa8;overflow-y:auto}#siege-modal[hidden]{display:none}.sg-card{position:static;width:min(94vw,640px);padding:20px 22px;animation:rise .26s var(--e-pop);max-height:92vh;overflow-y:auto}.sg-title{font-size:20px;font-weight:800;margin-bottom:14px}.sg-step{margin-bottom:14px}.sg-h{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.sg-scout{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}.sg-scout span{background:var(--paper-2);border-radius:999px;padding:4px 11px;font-weight:700}.sg-units{display:flex;flex-direction:column;gap:5px}.sg-unit{display:grid;grid-template-columns:26px 1fr auto auto auto;gap:8px;align-items:center;font-size:12.5px}.sg-unit .su-role{font-size:10.5px;color:var(--ink-soft)}.sg-unit button{width:26px;height:26px;border:none;border-radius:8px;background:var(--paper-2);font-family:inherit;font-weight:800;cursor:pointer}.sg-unit b{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}.sg-cost{margin-top:7px;font-size:12px;color:var(--ink-soft)}.sg-cost.poor{color:#c0392b;font-weight:700}.sg-range{width:100%}.sg-hint{font-size:11px;color:var(--ink-soft)}.sg-verdict{font-size:12.5px;margin-bottom:10px;min-height:18px}.sg-verdict.bad{color:#c0392b;font-weight:700}.sg-verdict.ok{color:#3f8f52;font-weight:700}.sg-actions{display:flex;justify-content:flex-end}.sg-result{margin-top:14px;border-top:2px dashed rgba(59,47,74,.15);padding-top:12px;font-size:12.5px}.sg-result[hidden]{display:none}.sg-round{display:flex;justify-content:space-between;padding:2px 0}.sg-round .note{color:var(--school-deep);font-weight:700}.sg-lesson{margin-top:8px}.sg-lesson li{margin-left:16px;line-height:1.4}.sg-replay{margin:10px 0;padding:9px;border-radius:12px;background:var(--paper-2)}.sg-replay-controls{display:grid;grid-template-columns:auto auto auto minmax(90px,1fr) auto;align-items:center;gap:5px}.sg-replay-controls button{border:0;border-radius:7px;min-width:28px;min-height:28px;background:#fff;color:var(--ink);cursor:pointer}.sg-replay-frame{min-height:76px;margin-top:8px}.sg-replay-frame ul{margin:4px 0 0 17px;padding:0}.sg-replay-bars{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.sg-replay-bars span{position:relative;overflow:hidden;border-radius:999px;padding:4px 8px;background:linear-gradient(90deg,rgba(111,156,82,.28) var(--p),rgba(59,47,74,.08) var(--p));font-weight:800}.sg-units-result{margin:10px 0}.sg-units-result summary{cursor:pointer;font-weight:800;margin-bottom:5px}.sg-unit-report{display:grid;grid-template-columns:minmax(135px,1.6fr) repeat(5,minmax(54px,.7fr));align-items:center;gap:5px;padding:5px 2px;border-bottom:1px solid rgba(59,47,74,.1);font-variant-numeric:tabular-nums}.sg-unit-report span{display:flex;flex-direction:column}.sg-unit-report small{color:var(--ink-soft);font-size:9px}@media (max-width: 560px){.sg-unit-report{grid-template-columns:1.5fr repeat(2,.7fr)}.sg-replay-controls{grid-template-columns:auto auto auto 1fr}.sg-replay-controls b{grid-column:1 / -1}}#combo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:16px;background:#3b2f4aa8;overflow-y:auto}#combo-modal[hidden]{display:none}.cb-card{position:static;width:min(94vw,660px);max-height:90vh;overflow-y:auto;padding:20px 22px;animation:rise .26s var(--e-pop)}.cb-title{font-size:20px;font-weight:800}.cb-sub{font-size:12px;color:var(--ink-soft);margin:4px 0 14px;line-height:1.4}.cb-list{display:flex;flex-direction:column;gap:8px}.cb-item{border:2px solid transparent;border-radius:15px;padding:11px 13px;background:var(--paper-2)}.cb-item.unknown{opacity:.72;border-style:dashed;border-color:#3b2f4a33}.cb-head{display:flex;align-items:center;gap:9px}.cb-ico{font-size:22px}.cb-name{font-size:14.5px;font-weight:800}.cb-count{margin-left:auto;font-size:11px;font-weight:800;color:var(--ink-soft);background:#3b2f4a14;border-radius:999px;padding:2px 8px}.cb-tags{display:flex;gap:4px;flex-wrap:wrap;margin:7px 0}.cb-tag{font-size:11px;font-weight:700;background:var(--school-soft);color:var(--school-deep);border-radius:999px;padding:3px 9px}.cb-line{font-size:12px;line-height:1.45;display:grid;grid-template-columns:62px 1fr;gap:8px}.cb-line b{color:var(--ink-soft);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;padding-top:1px}.cb-hint{font-size:12px;color:var(--ink-soft);font-style:italic}#draft-panel,#group-panel{position:static;margin-top:8px;padding:10px 12px;min-width:200px}#draft-panel[hidden],#group-panel[hidden]{display:none}.draft-info{font-size:12px;color:var(--ink-soft);line-height:1.35;margin-bottom:8px}.draft-info.poor{color:#c0392b;font-weight:700}.draft-actions{display:flex;gap:6px}.draft-actions .ui-btn{height:32px;padding:0 14px;font-size:13px}body.draft-mode #hud:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:3px dashed var(--school);border-radius:10px;pointer-events:none;opacity:.5}#prod-combos{padding:8px 10px;display:grid;gap:6px;min-width:148px}.pc-head{font-size:11px;letter-spacing:1px;text-transform:uppercase;opacity:.75}#pc-mult{font-size:15px;font-weight:700;color:var(--school);letter-spacing:0}.pc-row{display:flex;align-items:center;gap:6px;font-size:12px}.pc-ico{font-size:14px}.pc-name{opacity:.9}.vg-counts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.vg-counts .vg-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#ffffff12;font-size:13px}.vg-h{font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:.65;margin:16px 0 6px}.vg-list{display:grid;gap:8px;max-height:240px;overflow-y:auto}.vg-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:#ffffff0d;border-left:3px solid var(--school)}.vg-card .vg-name{font-weight:600}.vg-card .vg-story{font-size:12px;opacity:.7}.vg-card .vg-num{font-size:12px;opacity:.6;text-align:right}.vg-empty{opacity:.55;font-size:13px}.vg-route{font-size:13px;opacity:.85;line-height:1.6}.wp-tel{font-size:11px;opacity:.62;margin-top:2px}#wp-combos{margin-top:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:8px;display:grid;gap:8px}.wp-combo{font-size:12px}.wp-cname{font-weight:600;color:#ffb347}.wp-ceff{opacity:.8}.wp-canswer{opacity:.72;font-style:italic}.vs-notice{margin:10px 0;padding:10px 12px;border-radius:12px;font-size:12.5px;background:#78c8a01f;border-left:3px solid #7fd6a8;opacity:.9}.vs-stop{padding:12px;border-radius:14px;background:#ffffff0d}.vs-stop .vs-label{font-size:16px;font-weight:650}.vs-stop .vs-note{font-size:13px;opacity:.75;margin-top:4px;line-height:1.5}.vs-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.vs-progress{font-size:12px;opacity:.65}.vs-reactions{display:flex;flex-wrap:wrap;gap:8px}.vs-reactions button{font-size:13px}.vs-appreciation{display:flex;flex-wrap:wrap;gap:8px;font-size:13px}.vs-appreciation .vs-cat{padding:6px 10px;border-radius:999px;background:#ffffff0f}.sg-combos{display:grid;gap:8px;margin-bottom:10px}.sg-combo{padding:8px 10px;border-radius:12px;background:#ffffff0d;border-left:3px solid var(--school)}.sg-cname{font-weight:650;font-size:13px}.sg-cwhen{font-size:11.5px;opacity:.65}.sg-cwhat{font-size:12px;opacity:.85}.sg-climit{font-size:11.5px;opacity:.62;font-style:italic}.sg-firedcombos{font-size:12.5px;margin-bottom:8px;color:#ffd08a}.sg-firedcombos.dim{color:inherit;opacity:.55}.b-tags{display:flex;gap:2px;justify-content:center;font-size:10px;line-height:1;margin-top:1px}.b-tag{opacity:.8}.b-tag.more{opacity:.5;font-size:9px}.cb-archetypes{display:grid;gap:10px}.cb-arch{padding:10px 12px;border-radius:14px;background:#ffffff0d;border-left:3px solid var(--school)}.cb-ahead{font-size:14px}.cb-aidea{font-size:12.5px;opacity:.85;margin:4px 0 6px;line-height:1.5}.cb-aparts{margin:0 0 6px 16px;padding:0;font-size:12px;opacity:.75;line-height:1.6}.cb-arisk{font-size:12px;opacity:.7;font-style:italic}.combo-marker{font-size:18px;text-align:center;opacity:0;animation:comboMark .9s ease-out forwards;pointer-events:none}@keyframes comboMark{0%{opacity:0;transform:translateY(6px) scale(.7)}25%{opacity:.95;transform:translateY(0) scale(1.05)}to{opacity:0;transform:translateY(-14px) scale(.9)}}.ch-list{display:grid;gap:10px}.ch-card{padding:10px 12px;border-radius:14px;background:#ffffff0d;border-left:3px solid var(--school)}.ch-card.done{border-left-color:#7fd6a8}.ch-head{display:flex;align-items:baseline;gap:8px}.ch-name{font-weight:650}.ch-count{margin-left:auto;font-size:12px;opacity:.6}.ch-teach{font-size:11.5px;opacity:.6}.ch-reward{font-size:11.5px;opacity:.6;font-style:italic}.ch-goals{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.7}.ch-goals li.done{opacity:.5;text-decoration:line-through}.ch-teaching{display:grid;gap:6px}.ch-step{display:grid;grid-template-columns:auto 1fr;gap:8px;font-size:12.5px;padding:6px 8px;border-radius:10px}.ch-step.done{opacity:.5}.ch-step.next{background:#ffffff12}.ch-stext{opacity:.75;font-size:11.5px}.ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.ui-icon svg{display:block;width:1em;height:1em}.icon-btn .ui-icon svg{width:1.15em;height:1.15em}.b-cost svg,.e-ico svg{width:.95em;height:.95em;vertical-align:-.12em}#cycle-ico svg{width:1.1em;height:1.1em}#village-modal,#channels-modal,#late-modal,#visit-modal,#tour-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:16px;background:#3b2f4aa8;overflow-y:auto}#village-modal[hidden],#channels-modal[hidden],#late-modal[hidden],#visit-modal[hidden],#tour-modal[hidden]{display:none}#village-modal .modal-card,#channels-modal .modal-card,#late-modal .modal-card,#visit-modal .modal-card,#tour-modal .modal-card{position:static;width:min(94vw,620px);max-height:min(88vh,900px);overflow-y:auto}#village-modal .vg-card,#channels-modal .ch-card,#late-modal .ch-card,#visit-modal .vs-stop,#tour-modal .vg-card,#late-modal .vs-stop,#channels-modal .ch-step,#channels-modal .ch-goals{text-align:left}#build-dock[hidden],#build-tabs[hidden],#build-wrap[hidden],#city-tools[hidden],#prod-combos[hidden]{display:none!important}#actives{display:flex;gap:8px;padding:8px}.act-btn{position:relative;display:grid;gap:1px;justify-items:center;min-width:84px;padding:8px 10px 6px;border:none;border-radius:14px;background:#fffdf7e6;color:var(--ink);cursor:pointer;font-family:inherit;box-shadow:var(--shadow);overflow:hidden;transition:transform 90ms ease-out,opacity .12s ease}#road-palette{position:static;margin-top:8px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:5px}#road-palette[hidden]{display:none}.act-btn:active{transform:translateY(3px)}.act-btn[disabled]{cursor:not-allowed;opacity:.55}.act-ico{font-size:20px;line-height:1}.act-name{font-size:11.5px;font-weight:650}.act-cost{font-size:11px;opacity:.7}.act-key{position:absolute;top:4px;right:6px;font-size:10px;font-weight:800;opacity:.45;letter-spacing:.5px}.act-cd{position:absolute;left:0;right:0;bottom:0;background:#3b2f4a59;pointer-events:none;height:0;transition:height .12s linear}.act-btn.deny{animation:uiDeny .34s ease}#workshop-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:16px;background:#3b2f4aa8;overflow-y:auto}#workshop-modal[hidden]{display:none}#workshop-modal .modal-card{position:static;width:min(94vw,620px);max-height:min(88vh,900px);overflow-y:auto}.ws-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.ws-recipe{text-align:left;padding:8px 10px;border-radius:12px;border:2px solid transparent;background:#ffffff0d;cursor:pointer;font-family:inherit;color:inherit}.ws-recipe.on{border-color:var(--school);background:#ffffff1a}.ws-recipe .wr-name{font-weight:650;font-size:13px}.ws-recipe .wr-io{font-size:11.5px;opacity:.75}.ws-recipe .wr-use{font-size:11px;opacity:.55;margin-top:2px}.ws-settings{display:grid;gap:8px}.ws-row{display:grid;grid-template-columns:110px 1fr 36px;align-items:center;gap:10px;font-size:13px}.ws-row input{width:100%}.ws-bottleneck{color:#ffb08a;font-weight:650}.ws-warning{color:#ffd18a;font-weight:650}#ws-pause{justify-self:start}#ws-pause.on{border-color:#ffb08a;color:#ffd1b8}.ui-btn--danger{background:#d9607a38!important;color:#ffd0d8!important}#path-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:16px;background:#3b2f4aa8;overflow-y:auto}#path-modal[hidden]{display:none}#path-modal .modal-card{position:static;width:min(94vw,620px);max-height:min(88vh,900px);overflow-y:auto}#path-modal .ch-card{text-align:left}.pth-axes{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0;font-size:12px}.pth-axis{padding:4px 9px;border-radius:999px;background:#ffffff12}.pth-play{font-size:12px;opacity:.72;font-style:italic}.ins-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.ins-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;opacity:.6;min-width:58px}.ins-step{width:26px;height:26px;border:0;border-radius:9px;font-size:16px;line-height:1;cursor:pointer;background:linear-gradient(180deg,#f4efe4,#ddd3c0);box-shadow:0 3px #00000029;transition:transform var(--t-press, 90ms) ease-out}.ins-step:not(:disabled):active{transform:translateY(3px);box-shadow:none}.ins-step:disabled{opacity:.35;cursor:default}.ins-count{font-weight:700;min-width:44px;text-align:center}.ins-note{font-size:11px;opacity:.7;flex:1 1 100%}.ins-chips{display:flex;gap:6px;flex-wrap:wrap}.ins-info{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);font-size:11px;opacity:.78}.ins-info b{opacity:1}.ins-btn.look{background:linear-gradient(180deg,#ffeccf,#f0cf9a);box-shadow:0 4px #c4a06a}.ins-btn.danger{background:linear-gradient(180deg,#ffd4d0,#f0a49c);box-shadow:0 4px #c47068}.wp-route{font-size:11px;opacity:.82;margin-top:2px;padding-left:6px;border-left:2px solid rgba(0,0,0,.12)}.wp-route b{opacity:1}:root{--text-scale: 1}html{font-size:calc(16px * var(--text-scale))}:root[data-reduced-motion] *{animation-duration:60ms!important;animation-iteration-count:1!important;transition-duration:60ms!important;scroll-behavior:auto!important}:root[data-reduced-motion] .ui-tick,:root[data-reduced-motion] .ui-deny{animation:none!important}:root[data-color-mode=deuter]{--ok: #0072b2;--warn: #e69f00;--bad: #d55e00}:root[data-color-mode=tritan]{--ok: #009e73;--warn: #cc79a7;--bad: #d55e00}:root[data-color-mode=highContrast]{--ok: #005c2e;--warn: #7a4b00;--bad: #8f0f0f}:root[data-color-mode=highContrast] .panel{border:2px solid #1a1410;background:#fffaf0}:root[data-color-mode=highContrast] .ins-note,:root[data-color-mode=highContrast] .set-why,:root[data-color-mode=highContrast] .ins-info{opacity:1}:where(button,[href],input,select,[tabindex]):focus-visible{outline:3px solid var(--school, #6a8fc4);outline-offset:2px;border-radius:8px}.set-list{display:flex;flex-direction:column;gap:10px;margin:10px 0}.set-row{padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.set-head{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}.set-name{font-weight:700}.set-steps{display:inline-flex;align-items:center;gap:6px}.set-value{min-width:46px;text-align:center;font-weight:700}.set-why{font-size:11px;opacity:.72;margin-top:3px;max-width:46ch}:root[data-low-fx] .panel{box-shadow:0 3px #0000002e}html[data-compact-tutorial] #quest-hint{display:none}.ex-islands{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.ex-island{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:7px 10px;border-radius:12px;background:#0000000d}.exi-name{font-weight:700}.exi-tier{font-size:11px;opacity:.7}.exi-cost{font-size:12px;display:flex;gap:6px}.exi-cost .short{color:var(--bad, #c0392b);font-weight:700}.ex-label.ex-sep{margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.1)}.cy-integrity{display:flex;align-items:center;gap:7px;margin-top:7px}.ci-label{font-size:10px;letter-spacing:.5px;text-transform:uppercase;opacity:.65}.ci-bar{flex:1;height:7px;border-radius:999px;background:#00000038;overflow:hidden}#integrity-fill{height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#7fd48a,#4fae63);transform-origin:left center;transition:transform .26s ease-out,background .4s ease}.ci-text{font-size:11px;font-weight:700;min-width:34px;text-align:right;font-variant-numeric:tabular-nums}#integrity-fill.warn{background:linear-gradient(90deg,#ffd27a,#e8a33c)}#integrity-fill.danger{background:linear-gradient(90deg,#ff9a7a,#d9542f)}#integrity-fill.critical{background:linear-gradient(90deg,#ff7a7a,#c0392b);animation:ci-pulse 1.1s ease-in-out infinite}@keyframes ci-pulse{0%,to{opacity:1}50%{opacity:.55}}:root[data-reduced-motion] #integrity-fill.critical{animation:none}#dawn-modal.fell .dawn-card{background:linear-gradient(180deg,#2b1f22,#1d1517);color:#f0e4e2;border:2px solid #6b3a34}#dawn-modal.fell #dawn-title{color:#ff9a8a}#dawn-modal.fell .dawn-sub{color:#d9bfba}#dawn-modal.fell .dawn-sep{color:#ffb3a3;border-color:#ff9a8a40}#dawn-modal.fell .dawn-row{border-color:#ffffff12}.dawn-row.loss b{color:#ff8f7a}#dawn-modal.fell .dawn-sun{animation:dawn-fall .7s ease-out 1}@keyframes dawn-fall{0%{transform:scale(1.5) rotate(-8deg);opacity:0}60%{transform:scale(.95) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}:root[data-reduced-motion] #dawn-modal.fell .dawn-sun{animation:none}.save-summary{margin:0 auto 20px;max-width:380px;padding:12px 16px;border-radius:16px;background:#fffdf7d1;box-shadow:0 6px #5a788c38,0 14px 30px #3b2f4a29;text-align:left}.ss-head{display:flex;align-items:baseline;gap:7px;font-size:16px;margin-bottom:5px}.ss-school{margin-left:auto;font-size:11px;opacity:.65;font-weight:600}.ss-row{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;opacity:.8}.ss-time{margin-top:5px;font-size:11px;opacity:.55}.curtain-links{display:flex;gap:18px;justify-content:center;margin-top:20px}.menu-link{border:0;background:none;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:#43596e;opacity:.78;padding:6px 10px;border-radius:10px;transition:opacity .14s ease,background .14s ease}.menu-link:hover{opacity:1;background:#ffffff73}.menu-confirm{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1e28376b;z-index:62}.mc-card{background:var(--paper, #fffdf7);border-radius:22px;padding:24px 26px;max-width:420px;box-shadow:0 12px 40px #1e283752;text-align:center}.mc-card.wide{max-width:620px}.mc-card h3{margin:0 0 14px}.mc-text{margin:0 0 18px;opacity:.8;line-height:1.5}.howto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:20px;text-align:left}.ht-item{padding:12px;border-radius:14px;background:#0000000b}.ht-icon{font-size:24px;display:block;margin-bottom:5px}.ht-item b{display:block;margin-bottom:4px}.ht-item p{margin:0;font-size:12px;line-height:1.45;opacity:.78}.pause-card{max-width:340px;text-align:center}.pause-line{margin:0 0 18px;font-size:13px;opacity:.72}.pause-actions{display:grid;gap:9px}.pause-actions .big-btn{margin-bottom:6px}.pause-actions .ins-btn{width:100%;padding:10px}.ins-btn.danger,.big-btn.danger{color:#a23b52;border-color:#a23b5259}.kd-card{max-width:560px;width:min(92vw,560px)}.kd-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 14px;border-bottom:2px solid rgba(0,0,0,.08);padding-bottom:8px}.kd-tab{border:0;background:#0000000d;font:inherit;font-size:12px;font-weight:700;padding:7px 11px;border-radius:11px;cursor:pointer;color:var(--ink-soft);transition:background .14s ease,color .14s ease}.kd-tab:hover{background:#00000017}.kd-tab[aria-selected=true]{background:var(--school-accent, var(--mint));color:#fff}.kd-body{max-height:min(56vh,420px);overflow-y:auto}.kd-item{display:flex;align-items:center;gap:12px;padding:9px;border-radius:13px;transition:background .14s ease}.kd-item:hover{background:#0000000b}.kd-item .icon-btn{position:relative;flex:0 0 auto;margin:0}.kd-text{min-width:0}.kd-text b{display:block;font-size:14px}.kd-text p{margin:2px 0 0;font-size:12px;opacity:.72;line-height:1.4}.set-section{margin-top:16px;padding-top:14px;border-top:2px solid rgba(0,0,0,.08)}.set-section h4{margin:0 0 4px;font-size:14px}.set-note{margin:0 0 10px;font-size:12px;opacity:.72;line-height:1.45}.set-note.good{color:#2f7d55;opacity:1}.set-note.bad{color:#a23b52;opacity:1}
