:root{--cream: #fff8e8;--cream-2: #fbefd2;--ink: #2b3445;--ink-soft: #5b6578;--teal: #22a9a2;--teal-dark: #17807b;--coral: #ff7a59;--sun: #ffd35c;--shadow: 0 6px 0 rgba(43, 52, 69, .18), 0 14px 30px rgba(43, 52, 69, .18);--font: ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Segoe UI", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#bfe9ff;font-family:var(--font);color:var(--ink)}#game{position:fixed;inset:0;width:100vw;height:100vh;display:block;outline:none;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#ui input,#ui textarea,#ui [contenteditable]{user-select:text;-webkit-user-select:text}button,input{font-family:inherit}.loading{position:fixed;inset:0;display:grid;place-content:center;gap:22px;text-align:center;background:radial-gradient(circle at 50% 120%,#45e0d2,#3d9ee8 45%,#2a6fc2);color:#fff;z-index:50;transition:opacity .7s ease}.loading.done{opacity:0;pointer-events:none}.loading .title{font-size:clamp(30px,6vw,64px);font-weight:900;letter-spacing:-.02em;text-shadow:0 4px 0 rgba(0,0,0,.18)}.loading .title span{color:var(--sun);display:block;font-size:.6em;transform:rotate(-3deg)}.loading-text{font-weight:700;opacity:.9}.paws{display:flex;gap:14px;justify-content:center}.paws i{width:18px;height:18px;border-radius:50%;background:#fff;animation:hop .9s ease-in-out infinite}.paws i:nth-child(2){animation-delay:.15s}.paws i:nth-child(3){animation-delay:.3s}@keyframes hop{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-12px);opacity:1}}.btn{pointer-events:auto;cursor:pointer;border:0;border-radius:14px;padding:12px 18px;font-weight:800;font-size:16px;color:var(--ink);background:var(--cream-2);box-shadow:0 4px #2b344538;transition:transform .08s ease,box-shadow .08s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 1px #2b344538}.btn.primary{background:var(--coral);color:#fff}.btn.ghost{background:transparent;box-shadow:inset 0 0 0 2px #2b344526}.btn:disabled{opacity:.6;cursor:wait}.creator{position:absolute;left:clamp(12px,3vw,40px);top:50%;transform:translateY(-50%);width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;pointer-events:auto;background:var(--cream);border-radius:24px;padding:22px 22px 18px;box-shadow:var(--shadow);animation:slideIn .5s cubic-bezier(.2,1.4,.4,1)}@keyframes slideIn{0%{transform:translate(-40px,-50%);opacity:0}}.creator-title{font-size:28px;font-weight:900;letter-spacing:-.01em}.creator-sub{color:var(--ink-soft);font-size:14px;margin:2px 0 14px}.creator-row{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px;margin:10px 0}.creator-row label{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.creator-name{width:100%;border:0;border-radius:12px;padding:10px 12px;font-size:18px;font-weight:800;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px #2b34451f}.creator-name:focus{outline:none;box-shadow:inset 0 0 0 3px var(--teal)}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:26px;height:26px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 -3px #0000002e,0 0 0 2px #fff;transition:transform .1s ease}.swatch:hover{transform:scale(1.12)}.swatch.on{box-shadow:inset 0 -3px #0000002e,0 0 0 2px #fff,0 0 0 5px var(--teal)}.choices{display:flex;flex-wrap:wrap;gap:6px}.choice{border:0;border-radius:10px;padding:6px 10px;font-weight:800;font-size:13px;cursor:pointer;background:var(--cream-2);color:var(--ink)}.choice.on{background:var(--teal);color:#fff}.slider{width:100%;accent-color:var(--teal)}.creator-buttons{display:flex;gap:10px;justify-content:space-between;margin-top:16px}.creator-buttons .primary{flex:1}.creator-error{color:#c4402a;font-weight:700;font-size:14px;min-height:20px;margin-top:8px}.hud{position:absolute;inset:0}.hud-chat{position:absolute;left:14px;bottom:14px;width:max(240px,min(380px,calc(50vw - 360px)))}.chat-log{overflow:hidden;display:flex;flex-direction:column;gap:3px;padding:6px 2px;max-height:230px;mask-image:linear-gradient(to bottom,transparent,#000 24px);pointer-events:auto}.chat-log>:first-child{margin-top:auto}.hud-chat.active .chat-log,.hud-chat.hover .chat-log{overflow-y:auto;mask-image:none;scrollbar-width:thin}.hud-chat.hover .chat-line.old{opacity:.85}.chat-tabs{display:flex;gap:4px;pointer-events:auto;opacity:0;transition:opacity .2s ease}.hud-chat.active .chat-tabs,.hud-chat.hover .chat-tabs{opacity:1}.chat-tab{border:0;font:inherit;font-size:12px;font-weight:900;padding:3px 10px;border-radius:999px;cursor:pointer;background:#fff8e8bf;color:var(--ink-soft);box-shadow:0 2px #2b34451f}.chat-tab.on{background:var(--teal);color:#fff}.chat-tab.unread:not(.on){color:var(--ink);box-shadow:inset 0 0 0 2px #f2b134}.chat-tab.add{padding:3px 8px}.chat-row{display:flex;align-items:center;gap:6px;margin-top:6px}.chat-row .chat-input{margin-top:0}.chat-mode{flex:none;font-size:12px;font-weight:900;padding:4px 9px;border-radius:10px;background:#fff8e8bf;box-shadow:0 2px #2b34451f;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.chat-mode.k-say{color:var(--ink)}.chat-mode.k-party{color:#2a7fc0}.chat-mode.k-whisper{color:#c2338f}.chat-mode.k-general{color:#b06a00}.chat-mode.k-trade{color:#7a5c00}.chat-mode.k-channel{color:#2e8a55}.chat-line.general .chat-name,.chat-line.general .chat-text{color:#ffd9a0}.chat-line.trade .chat-name,.chat-line.trade .chat-text{color:#ffe9a8}.chat-line.channel .chat-name,.chat-line.channel .chat-text{color:#b9f2c9}.chat-line.general,.chat-line.trade,.chat-line.channel,.chat-line.whisper,.chat-line.party{background:#2b3445c7}.chat-tab-editor{display:none;position:absolute;bottom:100%;left:0;margin-bottom:8px;width:260px;pointer-events:auto;background:var(--cream);border-radius:16px;padding:12px;box-shadow:var(--shadow)}.chat-tab-editor.show{display:block}.cte-name{width:100%;font:inherit;font-weight:900;border:2px solid rgba(43,52,69,.15);border-radius:10px;padding:5px 8px;margin-bottom:8px}.cte-kinds{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:13px;font-weight:800;margin-bottom:10px}.cte-kind{display:flex;align-items:center;gap:6px;cursor:pointer}.chat-line{align-self:flex-start;max-width:100%;padding:4px 10px;border-radius:12px;font-size:14px;line-height:1.35;background:#fff8e8e0;box-shadow:0 2px #2b34451f;overflow-wrap:anywhere;transition:opacity 1.2s ease}.chat-line.old{opacity:0}.hud-chat.active .chat-line.old{opacity:.85}.chat-line.system{background:#22a9a2e6;color:#fff;font-weight:700}.chat-name{font-weight:900}.chat-input{pointer-events:auto;width:100%;margin-top:6px;border:0;border-radius:12px;padding:9px 12px;font-size:14px;background:#fff8e899;color:var(--ink);box-shadow:0 2px #2b34451f}.chat-input:focus{outline:none;background:var(--cream);box-shadow:0 0 0 3px var(--teal)}.hud-prompt{position:absolute;left:50%;bottom:28%;transform:translate(-50%,8px);opacity:0;background:var(--cream);padding:8px 16px;border-radius:999px;font-weight:900;box-shadow:var(--shadow);transition:opacity .2s ease,transform .2s ease}.hud-prompt.show{opacity:1;transform:translate(-50%)}.hud-dialogue{position:absolute;left:50%;bottom:150px;width:min(620px,calc(100vw - 28px));transform:translate(-50%,30px);opacity:0;transition:opacity .2s ease,transform .25s cubic-bezier(.2,1.4,.4,1);background:var(--cream);border-radius:22px;padding:18px 22px 12px;box-shadow:var(--shadow)}.hud-dialogue.show{opacity:1;transform:translate(-50%);pointer-events:auto}.dialogue-name{position:absolute;top:-16px;left:22px;background:#737b89;color:#fff;font-weight:900;padding:4px 14px;border-radius:999px;box-shadow:0 3px #2b344540}.dialogue-text{font-size:18px;font-weight:700;line-height:1.45;min-height:52px}.dialogue-options{display:flex;flex-direction:column;gap:6px;margin-top:10px}.dialogue-option{display:flex;align-items:center;gap:10px;text-align:left;border:0;cursor:pointer;pointer-events:auto;background:var(--cream-2);border-radius:12px;padding:8px 12px;font-weight:800;font-size:15px;color:var(--ink);transition:transform .08s ease,background .1s ease}.dialogue-option:hover{background:#fff;transform:translate(3px)}.opt-key{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--teal);color:#fff;font-size:12px}.dialogue-option.quest .opt-key{background:#f2b134;color:#3a2a00;box-shadow:0 0 0 2px #ffe19a}.dialogue-reward{display:none;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:800}.dialogue-reward.show{display:flex}.dr-label{background:#f2b134;color:#3a2a00;border-radius:999px;padding:1px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.dr-daily{background:var(--teal);color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.hud-banner{position:absolute;top:14%;left:50%;transform:translate(-50%);opacity:0;white-space:nowrap;font-size:clamp(28px,4.4vw,52px);font-weight:900;color:#fff;letter-spacing:-.01em;text-shadow:0 4px 0 rgba(30,40,60,.35),0 0 30px rgba(30,40,60,.25)}.hud-banner.show{animation:banner 3.2s ease forwards}@keyframes banner{0%{opacity:0;transform:translate(-50%,10px) scale(.96)}15%,75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-6px)}}.hud-toasts{position:absolute;top:14px;left:50%;transform:translate(-50%);width:max(260px,min(520px,calc(100vw - 440px)));display:flex;flex-direction:column;gap:8px;align-items:center;z-index:12}.toast{text-align:center}.toast{background:var(--cream);padding:8px 14px;border-radius:12px;font-weight:800;font-size:14px;box-shadow:var(--shadow);animation:toastIn .3s cubic-bezier(.2,1.4,.4,1);transition:opacity .6s ease}.toast.out{opacity:0}@keyframes toastIn{0%{transform:translateY(-10px);opacity:0}}.hud-debug{position:absolute;right:16px;bottom:16px;margin:0;display:none;padding:10px 12px;border-radius:12px;background:#141c28c7;color:#d6f2fb;font:600 12px/1.5 ui-monospace,SF Mono,Menlo,Consolas,monospace}.hud-debug.show{display:block}.hud-modal{position:absolute;inset:0;display:none;place-items:center;background:#14284659;pointer-events:auto}.hud-modal.show{display:grid}.modal-card{background:var(--cream);border-radius:24px;padding:24px;width:min(380px,calc(100vw - 32px));text-align:center;box-shadow:var(--shadow)}.modal-title{font-size:24px;font-weight:900}.modal-body{color:var(--ink-soft);font-weight:700;margin:8px 0 18px}.bag-money img,.shop-price img{width:24px;height:24px}.slot{--rarity: transparent;position:relative;width:56px;height:56px;border-radius:14px;pointer-events:auto;user-select:none;background:#fff8e8d1;box-shadow:inset 0 0 0 3px #2b34451f,0 3px #2b344526;display:grid;place-items:center;cursor:default;transition:transform .08s ease}.slot.filled{box-shadow:inset 0 0 0 3px var(--rarity),0 3px #2b344526;cursor:grab}.slot:hover{transform:translateY(-2px)}.slot img{width:42px;height:42px;pointer-events:none}.slot-qty{position:absolute;right:5px;bottom:2px;font-weight:900;font-size:13px;color:var(--ink);text-shadow:0 0 3px #fff,0 0 3px #fff}.slot-key{position:absolute;left:-4px;top:-6px;width:18px;height:18px;border-radius:6px;background:var(--ink);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center}.hotbar{position:absolute;left:50%;bottom:74px;transform:translate(-50%);display:flex;gap:8px;padding:8px 10px;background:#2b34452e;border-radius:20px;backdrop-filter:blur(4px)}.window{position:absolute;z-index:6;display:none;pointer-events:auto;background:var(--cream);border-radius:22px;padding:12px 16px 16px;box-shadow:var(--shadow);animation:pop .22s cubic-bezier(.2,1.4,.4,1)}.window.show{display:block}@keyframes pop{0%{transform:scale(.92);opacity:0}}.window-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.window-title{font-weight:900;font-size:18px}.window-tidy{margin-left:auto;margin-right:8px;border:0;background:var(--cream-2);color:var(--ink-soft);border-radius:10px;height:30px;padding:0 12px;cursor:pointer;font-weight:900;font-size:13px}.window-tidy:hover{color:var(--ink)}.window-close{border:0;background:var(--cream-2);border-radius:10px;width:30px;height:30px;cursor:pointer;font-weight:900;color:var(--ink)}.bag-window{right:16px;bottom:150px;width:292px}.equip-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.equip-label{font-weight:800;color:var(--ink-soft);font-size:13px}.bag-note{font-size:13px;color:var(--ink-soft);font-weight:700;margin:4px 0 8px}.bag-note:empty{display:none}.bag-window{width:auto}.bag-sections{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 360px);overflow-y:auto;padding:2px 4px 4px 2px}.bag-section-head{display:flex;justify-content:space-between;font-size:12px;font-weight:900;color:var(--ink-soft);margin:0 2px 4px}.bag-section-n{opacity:.6}.bag-grid{display:grid;grid-template-columns:repeat(6,48px);gap:6px}.bag-grid .slot{width:48px;height:48px;border-radius:12px}.bag-grid .slot img{width:36px;height:36px}.equip-gap{width:6px;align-self:stretch;border-left:2px dashed rgba(43,52,69,.15)}.equip-row .slot{width:50px;height:50px}.bank-window{left:50%;transform:translate(-60%);bottom:150px}.bank-window .bag-sections{max-height:calc(100vh - 380px)}.bank-rack{flex-wrap:wrap}.bank-buy{font-size:26px;font-weight:900;color:var(--ink-soft);border:2px dashed rgba(43,52,69,.25);background:#fff8e880;cursor:pointer}.bank-buy:hover{color:var(--ink);background:#fff}.bank-buy:disabled{cursor:default;opacity:.5}.bank-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:12px}.bank-hint{font-size:12px;font-weight:700;color:var(--ink-soft)}.bank-foot .bag-money{margin-top:0}.bag-money{display:flex;align-items:center;gap:6px;margin-top:10px;font-weight:900}.tooltip{position:fixed;z-index:30;display:none;max-width:260px;pointer-events:none;background:#1e2636f5;color:#e9eef6;border-radius:12px;padding:10px 12px;font-size:13px;box-shadow:0 8px 24px #0000004d}.tooltip.show{display:block}.tt-name{font-weight:900;font-size:15px}.tt-rarity{opacity:.7;font-weight:700;font-size:12px;margin-bottom:4px}.tt-desc{font-style:italic;color:#ffe9a8;margin-bottom:4px}.tt-range{opacity:.6;font-weight:600}.tt-line{color:#9fe6a0}.tt-sell{margin-top:4px}.tt-hint{margin-top:6px;opacity:.6;font-size:11px}.drag-ghost{position:fixed;width:44px;height:44px;pointer-events:none;z-index:40;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.confirm{position:absolute;inset:0;display:none;place-items:center;background:#1428464d;pointer-events:auto;z-index:20}.confirm.show{display:grid}.confirm-card{background:var(--cream);border-radius:20px;padding:20px;width:min(340px,calc(100vw - 32px));box-shadow:var(--shadow)}.confirm-text{font-weight:800;margin-bottom:14px}.confirm-row{display:flex;gap:10px;justify-content:flex-end}.shop-window{left:16px;top:140px;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 260px);min-height:200px;flex-direction:column}.shop-row{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;padding:8px;border-radius:14px}.shop-row:nth-child(odd){background:var(--cream-2)}.shop-icon{width:44px;height:44px}.shop-name{font-weight:900}.shop-desc{font-size:12px;color:var(--ink-soft)}.shop-price{display:flex;align-items:center;gap:2px;font-weight:900}.shop-foot{font-size:12px;color:var(--ink-soft);font-weight:700;margin-top:8px}.btn.small{padding:6px 12px;font-size:14px;border-radius:10px;background:var(--teal);color:#fff}.btn.small:disabled{background:#b9c2cc;cursor:not-allowed}.quest-tracker{position:absolute;right:16px;top:288px;width:236px;display:flex;flex-direction:column;gap:8px}.quest{background:#fff8e8e6;border-radius:14px;padding:8px 12px;box-shadow:0 3px #2b344526}.quest-title{font-weight:900;font-size:15px}.quest-obj{font-weight:800;font-size:13px;color:var(--teal-dark)}.quest-summary{font-size:12px;color:var(--ink-soft);margin-top:2px}.quest.ready{box-shadow:inset 0 0 0 3px var(--sun),0 3px #2b344526}.quest-ready{font-weight:900;font-size:13px;color:#b07a12}.hud-catch{position:absolute;top:24%;left:50%;transform:translate(-50%);text-align:center;opacity:0;white-space:nowrap}.hud-catch.show{animation:banner 3s ease forwards}.catch-text{font-size:clamp(26px,3.8vw,44px);font-weight:900;text-shadow:0 3px 0 rgba(30,40,60,.5),0 0 22px rgba(30,40,60,.35)}.catch-rarity{color:#fff;font-weight:900;text-shadow:0 2px 0 rgba(30,40,60,.5)}.menu{position:absolute;inset:0;display:none;place-items:center;background:#14284659;pointer-events:auto;z-index:15}.menu.show{display:grid}.menu-card{width:min(380px,calc(100vw - 32px));background:var(--cream);border-radius:26px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;animation:pop .22s cubic-bezier(.2,1.4,.4,1);max-height:calc(100vh - 32px);overflow-y:auto}.menu-title{font-size:26px;font-weight:900;text-align:center}.menu-sub{text-align:center;color:var(--ink-soft);font-weight:700;font-size:14px;margin-bottom:4px}.menu-btn{width:100%}.menu-note{font-size:12px;color:var(--ink-soft);font-weight:700;text-align:center;margin-top:-4px}.set-row{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:10px;font-weight:800}.set-row input[type=checkbox]{justify-self:end;width:22px;height:22px;accent-color:var(--teal)}.world-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--cream-2)}.world-name{font-weight:900}.world-pop{font-size:13px;color:var(--ink-soft);font-weight:700}.world-row.full .world-pop{color:#c4402a}.world-here{font-size:12px;font-weight:900;color:var(--teal-dark)}.unitframe{position:absolute;left:14px;top:14px;display:flex;gap:10px;align-items:flex-start}.uf-pic{position:relative;width:84px;height:84px;pointer-events:auto;cursor:pointer}.uf-portrait{width:84px;height:84px;border-radius:50%;display:block;background:radial-gradient(circle at 50% 35%,#fff8e8,#cfeaff 70%,#9cc9ee);box-shadow:0 0 0 4px var(--cream),0 0 0 6px #2b344540,0 6px 14px #2b34454d}.uf-pic:hover .uf-portrait{box-shadow:0 0 0 4px var(--sun),0 0 0 6px #2b344540,0 6px 14px #2b34454d}.uf-level{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);white-space:nowrap;background:var(--sun);color:var(--ink);font-weight:900;font-size:13px;padding:2px 10px;border-radius:999px;box-shadow:0 3px #2b344540,inset 0 0 0 2px #fff6d0}.uf-info{display:flex;flex-direction:column;gap:5px;padding-top:6px}.uf-name{color:#fff;font-weight:900;font-size:18px;text-shadow:0 2px 0 rgba(30,40,60,.45),0 0 12px rgba(30,40,60,.3)}.uf-info .bar{width:168px;height:15px;box-shadow:0 2px #2b344526}.bar{position:relative;width:150px;height:14px;border-radius:999px;background:#2b344559;overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;transition:width .15s linear}.bar-label{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.bar.hp .bar-fill{background:linear-gradient(#ff8a7a,#e8574a)}.bar.st .bar-fill{background:linear-gradient(#ffe27a,#f2b134)}.bar.st.exhausted .bar-fill{background:linear-gradient(#c9ced6,#9aa3ad)}.bar.st.exhausted{animation:pulse .8s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 3px #e8574a80}}.bar.xp{position:absolute;left:50%;bottom:60px;transform:translate(-50%);width:min(420px,calc(100vw - 32px));height:10px;pointer-events:auto;background:#2b344566;box-shadow:0 0 0 2px #fff8e88c}.bar.xp .bar-fill{background:linear-gradient(90deg,#7fd8c8,#22a9a2);transition:width .6s cubic-bezier(.2,.9,.3,1);background-image:linear-gradient(90deg,#7fd8c8,#22a9a2),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.35) 39px 41px);background-blend-mode:screen}.bar.xp .bar-label{display:none}.bar.xp .bar-rest{position:absolute;inset:0 auto 0 0;border-radius:999px;width:0;transition:width .6s ease;background:repeating-linear-gradient(135deg,#96beffbf 0 5px,#78a5f5bf 5px 10px)}.bar.xp:hover{height:16px;bottom:57px}.bar.xp:hover .bar-label{display:grid;font-size:10px}.bar.xp.tick{animation:xp-tick .7s ease-out}@keyframes xp-tick{0%{box-shadow:0 0 0 2px #fff,0 0 14px 4px #7fe8d8}to{box-shadow:0 0 0 2px #fff8e88c,0 0 0 0 transparent}}.xp-gains{position:absolute;left:calc(50% + min(210px,50vw - 16px) + 8px);bottom:56px;display:flex;flex-direction:column-reverse;gap:2px;pointer-events:none;white-space:nowrap}.xp-gain{font-weight:900;font-size:13px;color:#fff;text-shadow:0 1px 2px rgba(30,40,60,.8);animation:xp-gain 2.2s ease-out forwards}.xp-gain.xp{color:#9ff2e2}.xp-gain.skill{color:#ffe27a;font-size:12px}@keyframes xp-gain{0%{opacity:0;transform:translateY(6px) scale(.8)}12%{opacity:1;transform:translateY(0) scale(1.1)}25%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@media(max-width:900px){.xp-gains{left:auto;right:92px;bottom:96px;align-items:flex-end}}.bagbtn{position:absolute;right:16px;bottom:14px;width:68px;height:68px;border:0;border-radius:18px;pointer-events:auto;cursor:pointer;background:#fff8e8eb;box-shadow:inset 0 0 0 3px #2b34451f,0 3px #2b344538;display:grid;place-items:center;transition:transform .08s ease,background .1s ease}.bagbtn:hover{transform:translateY(-2px);background:#fff}.bagbtn.on{background:var(--teal)}.bagbtn-img{width:50px;height:50px;pointer-events:none}.bagbtn.nobag .bagbtn-img{opacity:.45;filter:grayscale(.6)}.bagbtn-key{position:absolute;left:-4px;top:-6px;width:18px;height:18px;border-radius:6px;background:var(--ink);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center}.bagbtn-free{position:absolute;left:50%;bottom:-7px;transform:translate(-50%);padding:1px 6px;border-radius:999px;white-space:nowrap;background:var(--ink);color:#fff;font-size:10px;font-weight:900}.bagbtn-free.full{background:var(--coral)}.bagbtn-free:empty{display:none}.bagbtn.bump{animation:bag-bump .32s cubic-bezier(.2,1.6,.4,1)}@keyframes bag-bump{0%{transform:scale(1)}40%{transform:scale(1.14,.9)}to{transform:scale(1)}}.loot-layer{position:absolute;inset:0;pointer-events:none;z-index:12;overflow:hidden}.loot-spark{position:absolute;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;pointer-events:none;background:var(--glow);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 4px var(--glow))}.loot-ring{position:absolute;left:0;top:0;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:4px solid var(--glow);box-shadow:0 0 18px var(--glow);pointer-events:none}.loot-legend{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;font:800 22px/1 var(--font, inherit);color:var(--glow);text-shadow:0 2px 0 #3a2210,0 0 14px var(--glow)}.money.counting .mv{color:#ffe27a}.loot-fly{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;will-change:transform}.loot-fly img{width:44px;height:44px;border-radius:12px;background:#fff8e8e6;box-shadow:0 0 0 3px var(--glow),0 0 14px 3px var(--glow),0 4px 8px #00000040}.loot-fly.big img{animation:loot-shine .5s ease-in-out infinite alternate}@keyframes loot-shine{to{box-shadow:0 0 0 3px #fff,0 0 26px 8px var(--glow),0 4px 8px #00000040}}.loot-qty{position:absolute;right:-10px;bottom:-6px;font-weight:900;font-size:13px;color:#fff;padding:0 5px;border-radius:999px;background:var(--ink)}.loot-coins{position:absolute;left:0;top:0;display:flex;align-items:center;gap:3px;font-weight:900;font-size:15px;color:#fff;text-shadow:0 1px 2px rgba(30,40,60,.85);transform-origin:center;translate:-50% 0}.minimap{position:absolute;right:14px;top:10px;width:184px;display:flex;flex-direction:column;align-items:center;gap:4px}.mm-zone{max-width:184px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-weight:900;font-size:15px;text-shadow:0 2px 0 rgba(30,40,60,.45),0 0 12px rgba(30,40,60,.3)}.mm-wrap{position:relative;width:176px;height:176px}.mm-canvas{width:168px;height:168px;margin:4px;border-radius:50%;display:block;pointer-events:auto;cursor:zoom-in;box-shadow:0 0 0 4px var(--cream),0 0 0 6px #2b344547,0 8px 18px #2b34454d}.mm-north{position:absolute;left:50%;top:-3px;transform:translate(-50%);width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center}.mm-zoom{position:absolute;width:24px;height:24px;border-radius:50%;border:0;cursor:pointer;pointer-events:auto;background:var(--cream);color:var(--ink);font-weight:900;font-size:15px;line-height:1;box-shadow:0 2px #2b344540}.mm-zoom.in{right:-2px;bottom:26px}.mm-zoom.out{right:16px;bottom:2px}.mm-mail{position:absolute;left:4px;bottom:6px;display:none;width:30px;height:30px;border-radius:50%;background:#2f6fd8;color:#fff;font-size:17px;place-items:center;box-shadow:0 0 0 3px var(--cream),0 3px 8px #0000004d;animation:mailBob 1.6s ease-in-out infinite;pointer-events:auto}.mm-mail.show{display:grid}@keyframes mailBob{50%{transform:translateY(-3px) rotate(-6deg)}}.mm-clock{background:#2b34459e;color:#fff;font-weight:900;font-size:14px;padding:3px 12px;border-radius:999px;font-variant-numeric:tabular-nums}.mm-world{color:#fff;font-weight:800;font-size:12px;text-align:center;line-height:1.25;text-shadow:0 1px 2px rgba(30,40,60,.7)}.worldmap{position:absolute;inset:0;display:none;place-items:center;background:#14284666;pointer-events:auto;z-index:14}.worldmap.show{display:grid}.wm-card{background:var(--cream);border-radius:24px;padding:12px 16px 14px;box-shadow:var(--shadow);animation:pop .22s cubic-bezier(.2,1.4,.4,1)}.wm-canvas{width:min(560px,calc(100vh - 170px),calc(100vw - 64px));aspect-ratio:1;border-radius:16px;display:block}.wm-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;max-width:560px;font-size:12px;font-weight:800;color:var(--ink-soft)}.wm-key{display:inline-flex;align-items:center;gap:5px}.wm-key i{width:11px;height:11px;border-radius:50%;display:inline-block;border:1.5px solid rgba(30,38,54,.85)}.k-you{background:#ff7a59;border-radius:2px!important;transform:rotate(45deg)}.k-cat{background:#fff}.k-quest{background:#ffd35c}.k-shop{background:#f2b134}.k-trainer{background:#3ddc5a}.k-ah{background:#b45cf2}.k-mail{background:#2f6fd8;border-radius:2px!important}.k-bubbles{background:transparent;border-color:#2478c4!important;box-shadow:inset 0 0 0 2px #fff}.k-junk{background:#a5784a}.menubar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:6px;padding:4px 6px;background:#2b344538;border-radius:16px;backdrop-filter:blur(4px)}.mb-btn{position:relative;display:flex;align-items:center;gap:5px;height:32px;padding:0 10px 0 7px;border:0;border-radius:11px;background:#fff8e8eb;color:var(--ink);font-weight:900;font-size:13px;cursor:pointer;pointer-events:auto;box-shadow:0 2px #2b344538;transition:transform .08s ease,background .1s ease}.mb-btn:hover{transform:translateY(-2px);background:#fff}.mb-btn:active{transform:translateY(1px)}.mb-btn.on{background:var(--teal);color:#fff}.mb-btn.on .mb-key{background:#ffffff4d;color:#fff}.mb-icon{font-size:15px}.mb-key{font-size:10px;font-weight:900;padding:1px 5px;border-radius:5px;background:#2b34451f;color:var(--ink-soft)}.mb-btn.badge:after{content:"";position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px #fff}@media(max-width:760px){.mb-label{display:none}}.menu-card.wide{width:min(760px,calc(100vw - 32px))}.controls{--u: min(44px, calc((100vw - 110px) / 13));display:flex;flex-direction:column;gap:10px}.kb-caption{text-align:center;font-weight:900;min-height:22px;color:var(--teal-dark)}.kb{display:flex;flex-direction:column;gap:5px;align-self:center;padding:10px;border-radius:16px;background:#e9dcc0;box-shadow:inset 0 2px 6px #0000001f}.kb-row{display:flex;gap:5px}.kb-spacer{flex:none}.key{flex:none;height:calc(var(--u) - 5px);border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;background:#f6f1e6;color:#b7ad9a;box-shadow:0 3px #c9bea6;user-select:none}.key.gap{visibility:hidden}.key.k-move{background:var(--teal);color:#fff;box-shadow:0 3px 0 var(--teal-dark)}.key.k-act{background:var(--coral);color:#fff;box-shadow:0 3px #c95a3e}.key.k-menu{background:var(--sun);color:var(--ink);box-shadow:0 3px #c9a23a}.key.k-social{background:#b48cff;color:#fff;box-shadow:0 3px #8a64d8}.key.k-misc{background:#9aa3ad;color:#fff;box-shadow:0 3px #6e7a86}.key:not(.off):not(.gap):hover{transform:translateY(-2px)}.kb-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.kb-list,.kb-mouse{background:var(--cream-2);border-radius:14px;padding:8px 10px}.kb-list-title{font-weight:900;margin-bottom:4px}.kb-list.k-move .kb-list-title{color:var(--teal-dark)}.kb-list.k-act .kb-list-title{color:#c95a3e}.kb-list.k-menu .kb-list-title{color:#a67c12}.kb-list.k-social .kb-list-title{color:#8a64d8}.kb-item{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:700;padding:2px 0}.kb-item kbd{flex:none;font:900 11px var(--font);background:#fff;border-radius:6px;padding:2px 6px;box-shadow:0 2px #2b344533}.quest-step{font-size:13px;font-weight:700;color:var(--ink)}.quest-hint{font-size:11px;font-weight:800;color:#fff;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.5)}.equip-row{gap:8px}.equip-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.equip-label{font-size:11px}.journal-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 140px));display:none;flex-direction:column}.journal-window.show{display:flex}.tabs{display:flex;gap:6px;margin-bottom:10px}.tab{border:0;border-radius:10px;padding:7px 14px;font-weight:900;cursor:pointer;background:var(--cream-2);color:var(--ink)}.tab.on{background:var(--teal);color:#fff}.journal-body{overflow-y:auto;padding-right:4px}.empty{color:var(--ink-soft);font-weight:700;padding:12px 4px}.jq{background:var(--cream-2);border-radius:14px;padding:10px 12px;margin-bottom:8px}.jq-title{font-weight:900;font-size:16px}.jq-summary{font-size:13px;color:var(--ink-soft);margin:2px 0 6px}.jq-done{font-size:13px;color:#6e7a6e;text-decoration:line-through;text-decoration-color:#00000040}.jq-current{font-size:14px;font-weight:800;margin-top:2px}.jq-obj{font-size:13px;color:var(--teal-dark);margin-left:16px}.jq-ready{font-size:13px;color:#b07a12;margin-left:16px}.jq-more{font-size:12px;color:var(--ink-soft);font-style:italic;margin-top:2px}.jq-section{font-weight:900;margin:12px 0 6px;color:var(--ink-soft)}.jq-completed{background:var(--cream-2);border-radius:12px;padding:6px 12px;margin-bottom:6px}.jq-completed summary{font-weight:800;cursor:pointer}.jq-completed .jq-done{text-decoration:none}.fish-count{font-weight:900;margin-bottom:8px}.fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.fish-card{background:var(--cream-2);border-radius:14px;padding:8px;text-align:center}.fish-card img{width:52px;height:52px}.fish-card.unknown img{filter:brightness(0) opacity(.35)}.fish-name{font-weight:900}.fish-hint{font-size:11px;color:var(--ink-soft);font-weight:700}.fish-stats{font-size:11px;color:var(--teal-dark);font-weight:800;margin-top:2px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{border:0;border-radius:999px;padding:4px 10px;font-weight:800;font-size:12px;cursor:pointer;background:var(--cream-2);color:var(--ink)}.chip.on{background:var(--ink);color:#fff}.log-list{display:flex;flex-direction:column;gap:3px}.log-row{display:grid;grid-template-columns:52px 64px 1fr;gap:8px;font-size:13px;padding:4px 6px;border-radius:8px}.log-row:nth-child(odd){background:var(--cream-2)}.log-time{color:var(--ink-soft);font-variant-numeric:tabular-nums}.log-kind{font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-dark)}.log-row.trade .log-kind{color:#b07a12}.log-row.quest .log-kind{color:#8433c4}.log-row.skill .log-kind{color:#1b5fc0}.log-row.chat .log-kind{color:var(--ink-soft)}.log-row.event .log-kind{color:#c96200}.character-window{left:16px;top:128px;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 290px);display:none;flex-direction:column}.character-window.show{display:flex}.char-cols{display:flex;gap:14px;min-height:0}.char-left{flex:none}.char-view{width:240px;height:260px;border-radius:18px;display:block;cursor:grab;touch-action:none;background:radial-gradient(ellipse 34% 7% at 50% 83%,rgba(120,90,50,.28),transparent 100%),linear-gradient(#cfeaff,#fff3d6 72%,#f1dfb4);box-shadow:inset 0 0 0 3px #2b344514}.char-view:active{cursor:grabbing}.char-body{flex:1;overflow-y:auto;padding-right:4px;min-width:0}.char-gear{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.char-gear-cell{display:flex;gap:10px;align-items:center;background:var(--cream-2);border-radius:12px;padding:5px 8px}.char-gear-cell .slot{width:44px;height:44px;border-radius:11px}.char-gear-cell .slot img{width:34px;height:34px}.char-gear-cell .slot:hover{transform:none}.char-gear-slot{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.char-gear-name{font-weight:900;font-size:14px}.char-gear-cell:not(.filled) .char-gear-name{color:var(--ink-soft);font-weight:700}.char-gear-bonus{font-size:12px;font-weight:800;color:#1d8a39}.char-stat-table{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.cst-row{display:grid;grid-template-columns:100px 1fr auto;gap:8px;align-items:center;background:var(--cream-2);border-radius:10px;padding:5px 10px;font-size:13px;font-weight:700}.cst-label{font-weight:900}.cst-parts{display:flex;flex-wrap:wrap;gap:4px}.cst-base,.cst-gear{font-size:11px;font-weight:800;padding:1px 6px;border-radius:999px;background:#fff;color:var(--ink-soft)}.cst-gear{color:#1d8a39}.cst-total{font-size:16px;position:relative}.cst-row.glow-up{animation:cst-up 2.4s ease-out}.cst-row.glow-down{animation:cst-down 2.4s ease-out}@keyframes cst-up{0%,30%{background:#d9f7c9;box-shadow:0 0 0 2px #7ad65c,0 0 14px 2px #7ad65c99}}@keyframes cst-down{0%,30%{background:#ffe0da;box-shadow:0 0 0 2px #f08a7a}}.cst-delta{position:absolute;right:0;bottom:100%;font-size:11px;font-weight:900;animation:xp-gain 2.4s ease-out forwards}.cst-delta.up{color:#1d8a39}.cst-delta.down{color:#c4473a}.uf-stats{position:absolute;left:96px;top:100%;display:flex;flex-direction:column;gap:2px;pointer-events:none;margin-top:4px}.uf-stat{font-size:13px;font-weight:900;text-shadow:0 1px 0 rgba(43,52,69,.6),0 0 6px rgba(43,52,69,.35);opacity:0;animation:xp-gain 2.4s ease-out forwards}.uf-stat.up{color:#9dff7a}.uf-stat.down{color:#ff9a8a}.unitframe.stat-up .uf-portrait{animation:uf-statup 1.1s ease-out}@keyframes uf-statup{0%,20%{filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 14px #9dff7a)}to{filter:none}}@media(max-width:620px){.char-cols{flex-direction:column}.char-view{width:100%;height:200px}}.char-name{font-size:20px;font-weight:900}.char-level{color:var(--ink-soft);font-weight:800;font-size:13px;margin-bottom:8px}.char-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stat{display:flex;justify-content:space-between;background:var(--cream-2);border-radius:10px;padding:5px 10px;font-size:13px;font-weight:700}.char-section{font-weight:900;margin:12px 0 4px}.char-note{font-size:12px;color:var(--ink-soft);font-weight:700;margin-bottom:4px}.skill{background:var(--cream-2);border-radius:12px;padding:6px 10px;margin-bottom:6px}.skill.unlearned{opacity:.6}.skill-top{display:flex;justify-content:space-between;font-weight:900}.skill-lvl{color:var(--teal-dark)}.skill-bar{width:100%;height:10px;margin:4px 0}.skill-bar .bar-fill{background:linear-gradient(90deg,#7fd8c8,#22a9a2)}.skill-bar .bar-label{font-size:8px}.skill-blurb{font-size:12px;color:var(--ink-soft)}.craft-window{left:16px;top:140px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 260px);min-height:200px;flex-direction:column}.craft-window.show,.shop-window.show{display:flex}.craft-body,.shop-body{overflow-y:auto;overscroll-behavior:contain;padding-right:4px;min-height:0}.recipe{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:8px;border-radius:14px}.recipe:nth-child(odd){background:var(--cream-2)}.recipe.locked{opacity:.6}.recipe-icon{width:44px;height:44px}.recipe-name{font-weight:900}.recipe-req{font-size:12px;color:var(--ink-soft);font-weight:700}.recipe-group{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:8px 2px 2px}.recipe-group:first-child{margin-top:0}.recipe-group{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-group.unlearned{opacity:.75}.recipe-toggle{border:0;background:var(--cream-2);color:var(--ink-soft);font:inherit;font-size:11px;font-weight:900;letter-spacing:0;text-transform:none;padding:3px 9px;border-radius:9px;cursor:pointer}.craft-filter{display:flex;gap:6px;margin:0 2px 8px;position:sticky;top:0;z-index:1;background:var(--cream);padding-bottom:4px}.craft-filter .chip{border:0;background:var(--cream-2);color:var(--ink-soft);font:inherit;font-size:12px;font-weight:900;padding:4px 11px;border-radius:11px;cursor:pointer}.craft-filter .chip.on{background:var(--teal);color:#fff}.recipe-empty{font-size:13px;color:var(--ink-soft);font-weight:700;padding:10px 4px}.recipe-inputs{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.ing{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:800;padding:1px 6px 1px 2px;border-radius:999px;background:#fff}.ing img{width:18px;height:18px}.ing.short{color:#c4402a}.intro{--storm: 1;position:absolute;inset:0;z-index:25;pointer-events:auto;background:radial-gradient(ellipse at 50% 40%,rgba(10,20,50,calc(var(--storm) * .55)),rgba(5,10,30,calc(var(--storm) * .85)));transition:opacity .8s ease}.intro.out{opacity:0;pointer-events:none}.intro-rain{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(105deg,rgba(200,220,255,.22) 0 1px,transparent 1px 14px);background-size:200px 200px;animation:rain .35s linear infinite}@keyframes rain{to{background-position:-60px 200px}}.intro-card{position:absolute;left:50%;bottom:18%;transform:translate(-50%,10px);width:min(640px,calc(100vw - 48px));text-align:center;color:#fff;font-size:clamp(18px,2.4vw,26px);font-weight:800;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,.6);opacity:0;transition:opacity .9s ease,transform .9s ease}.intro-card.show{opacity:1;transform:translate(-50%)}.intro-card.big{font-size:clamp(40px,7vw,84px);font-weight:900;letter-spacing:-.02em}.intro-skip{position:absolute;right:20px;bottom:20px;color:#fff;box-shadow:inset 0 0 0 2px #ffffff80}.form-row{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:4px 10px;margin:6px 0}.form-label{font-weight:800;font-size:13px;color:var(--ink-soft)}.form-hint{grid-column:2;font-size:11px;font-weight:700;color:var(--ink-soft)}.form-input{width:100%;border:0;border-radius:10px;padding:7px 10px;font:700 14px var(--font);color:var(--ink);background:#fff;box-shadow:inset 0 0 0 2px #2b34451f;pointer-events:auto}.form-input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--teal)}.form-area{min-height:64px;resize:vertical}.form-num{width:120px}.form-num.small{width:84px;padding:4px 6px;font-size:13px}.btn.ghost-small{background:var(--cream-2);color:var(--ink)}.mail-window{left:16px;top:128px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 290px);display:none;flex-direction:column}.mail-window.show{display:flex}.mail-body{overflow-y:auto;padding-right:4px}.mail-count{font-size:12px;font-weight:800;color:var(--ink-soft);margin-bottom:6px}.letter{background:var(--cream-2);border-radius:14px;padding:8px 10px;margin-bottom:6px}.letter.unread{box-shadow:inset 3px 0 0 var(--coral)}.letter-top{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;cursor:pointer}.letter-from{font-weight:900}.letter-subject{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.letter-at{font-size:11px;color:var(--ink-soft);font-weight:700}.letter-body{margin:6px 0 2px;padding:8px 10px;background:#fff;border-radius:10px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.letter-att{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.att-chip{display:inline-flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:2px 8px 2px 3px;font-size:12px;font-weight:800}.att-chip img{width:20px;height:20px}.letter-btns{display:flex;justify-content:flex-end;margin-top:5px}.att-slots{display:flex;gap:8px;margin:4px 0 8px}.att-slots .slot{cursor:pointer}.mail-cost{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-weight:900;margin:6px 0}.mail-cost img{width:22px;height:22px}.mail-cost.short{color:#c4402a}.mail-send{width:100%}.ah-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,calc(100vw - 32px));max-height:min(660px,calc(100vh - 200px));display:none;flex-direction:column}.ah-window.show{display:flex}.ah-body{overflow-y:auto;padding-right:4px}.ah-search{display:flex;gap:8px;margin-bottom:8px}.ah-row{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;padding:7px 8px;border-radius:12px}.ah-row:nth-child(odd){background:var(--cream-2)}.ah-icon{width:40px;height:40px}.ah-name{font-weight:900}.ah-meta{font-size:12px;color:var(--ink-soft);font-weight:700}.ah-bidcol,.ah-buycol{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ah-note{font-size:12px;font-weight:800;color:var(--ink-soft);display:flex;align-items:center;gap:3px}.ah-bidrow{display:flex;gap:4px}.ah-price{display:inline-flex;align-items:center;gap:2px;font-weight:900;color:var(--ink)}.ah-price img{width:18px;height:18px}.ah-price.big img{width:22px;height:22px}.ah-yours{font-size:12px;font-weight:900;color:var(--teal-dark)}.ah-pick{display:flex;gap:12px;align-items:center;background:var(--cream-2);border-radius:14px;padding:10px;margin-bottom:6px}.ah-summary{background:#fff;border-radius:12px;padding:8px 12px;margin:8px 0;display:flex;flex-direction:column;gap:4px}.ah-sum-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800}.ah-warn{color:#c4402a;font-size:12px;font-weight:900}.board-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 200px));display:none;flex-direction:column;background:#e9cf9b;box-shadow:var(--shadow),inset 0 0 0 6px #b8895a}.board-window.show{display:flex}.board-window .window-close{background:#f6e3b8}.board-body{overflow-y:auto;padding:2px 4px 4px}.board-section{margin-bottom:10px}.board-title{font-weight:900;font-size:15px;color:#5a3d1e;margin:4px 2px 6px}.board-note{position:relative;background:#fffaf0;border-radius:4px;padding:8px 12px 9px;margin-bottom:7px;font-size:14px;font-weight:700;box-shadow:0 3px #5a3d1e40;transform:rotate(-.4deg)}.board-note:nth-child(2n){transform:rotate(.5deg)}.board-note:before{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:#e8574a;box-shadow:0 1px #0000004d}.board-note.event{background:#fff2c9}.board-note-title{font-weight:900;font-size:15px}.board-note-text{color:#3a3226;line-height:1.4}.board-note-ends{font-size:12px;font-weight:900;color:#b07a12;margin-top:3px}.board-tag{float:right;font-size:10px;font-weight:900;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--ink);color:#fff}.board-tag.event{background:var(--coral)}.board-tag.limited{background:#8433c4}.board-tag.tip{background:var(--teal)}.journal-window,.ah-window,.board-window,.talent-window,.spellbook,.report-window,.puzzle-window,.chalk-window{animation:popCentered .22s cubic-bezier(.2,1.4,.4,1)}@keyframes popCentered{0%{transform:translate(-50%,-50%) scale(.92);opacity:0}}.kb-mouse{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.kb-mouse .kb-list-title{grid-column:1 / -1}.controls{--u: min(44px, calc((100vw - 110px) / 13), calc((100vh - 560px) / 6.5))}.controls .key{min-height:26px}.money{display:inline-flex;align-items:center;gap:2px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.money .mv+.coin{margin-right:4px}.money .coin:last-child{margin-right:0}.coin{display:inline-block;width:.82em;height:.82em;border-radius:50%;vertical-align:-.08em;flex:none;box-shadow:inset 0 -.12em #00000038,0 0 0 1px #2b344559}.coin.g{background:radial-gradient(circle at 35% 30%,#fff6c2,#f2c14e 45%,#c99212)}.coin.s{background:radial-gradient(circle at 35% 30%,#fff,#cfd6de 45%,#8e99a6)}.coin.c{background:radial-gradient(circle at 35% 30%,#ffd9b8,#d08550 45%,#8f4f25)}.bag-money{display:flex;align-items:center;font-size:17px}.shop-price{font-size:15px}.ah-price.big{font-size:16px}.money-input{display:inline-flex;align-items:center;gap:3px}.money-input .form-input{width:52px;padding:5px 6px;text-align:right}.money-input .mi-g{width:64px}.money-input .coin{margin-right:6px;font-size:15px}.ah-bidrow .money-input .form-input{width:44px;padding:3px 4px;font-size:13px}.ah-bidrow .money-input .mi-g{width:48px}body.dragging-item [data-drop]{outline:3px dashed var(--teal);outline-offset:3px}body.dragging-item .shop-window[data-drop]{outline-offset:-6px}.form-input::placeholder{color:#c4b9a3}.account-form{display:flex;flex-direction:column;gap:2px;margin:8px 0}.account-form .form-row{grid-template-columns:130px 1fr}.menu-note.warn{color:#c4402a;font-weight:800}.btn.save-cat{background:var(--sun);color:var(--ink)}.btn.small-danger{color:#c4402a}.creator-login-link{margin-top:10px;background:none;border:0;color:var(--teal-dark);font:800 14px var(--font);cursor:pointer;text-decoration:underline;pointer-events:auto}.creator-login{position:absolute;inset:0;background:var(--cream);border-radius:inherit;padding:24px 22px;display:flex;flex-direction:column;z-index:2}.k-golden{background:#ffd35c;box-shadow:0 0 0 2px #fff3c4}.tt-bound{color:#ffb4a8;font-size:12px;font-weight:800;margin-top:2px}.chat-line.whisper .chat-name,.chat-line.whisper .chat-text{color:#ffb3e6}.chat-line.party .chat-name,.chat-line.party .chat-text{color:#9fd8ff}.targetframe{position:absolute;left:320px;top:14px;display:none;gap:8px;align-items:flex-start;pointer-events:auto}.targetframe.show{display:flex}.tf-pic,.tf-pic .uf-portrait{width:64px;height:64px}.tf-pic{cursor:default}.tf-name{font-size:16px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.targetframe .bar{width:150px;height:12px}.tf-buttons{display:flex;gap:4px}.tf-btn{width:26px;height:22px;border:0;border-radius:8px;background:#fff8e8eb;color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 2px #2b344533}.tf-btn:hover{background:#fff}@media(max-width:900px){.targetframe{left:14px;top:128px}}.ctx-menu{position:fixed;z-index:30;display:none;min-width:180px;padding:6px;border-radius:14px;pointer-events:auto;background:var(--cream);box-shadow:var(--shadow);animation:pop .14s ease-out}.ctx-menu.show{display:block}.ctx-title{font-weight:900;padding:4px 8px 6px;color:var(--ink-soft);font-size:13px}.ctx-item{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 10px;border-radius:9px;font:800 14px var(--font);color:var(--ink);cursor:pointer}.ctx-item:hover:not(:disabled){background:var(--cream-2)}.ctx-item:disabled{color:#b7ad9a;cursor:default}.inspect-window{left:50%;top:120px;transform:translate(-50%);width:min(380px,calc(100vw - 32px))}.inspect-skill{padding:3px 4px}.partyframes{position:absolute;left:14px;top:116px;width:200px;display:none;flex-direction:column;gap:3px;pointer-events:auto}.partyframes.show{display:flex}.pf-title{color:#fff;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 2px rgba(30,40,60,.7)}.pf-row{display:grid;grid-template-columns:10px 1fr auto;gap:6px;align-items:center;padding:4px 8px;border-radius:10px;cursor:pointer;background:#fff8e8e6;font-size:13px;font-weight:800;box-shadow:0 2px #2b344526}.pf-row.me{background:#fff3b0f2}.pf-row.offline{opacity:.55}.pf-dot{width:8px;height:8px;border-radius:50%;background:#3ddc5a}.pf-row.offline .pf-dot{background:#9aa3ad}.pf-lvl{font-size:11px;color:var(--ink-soft)}.pf-hp{grid-column:1 / -1;height:6px;border-radius:4px;background:#2b34452e;overflow:hidden;margin-top:2px}.pf-hp-fill{height:100%;width:100%;background:linear-gradient(#5be37a,#2fbf55);border-radius:4px;transition:width .35s ease}.pf-row.low .pf-hp-fill{background:linear-gradient(#ff8a7a,#e8453c)}.pf-row.down .pf-name{text-decoration:line-through;opacity:.6}.pf-row.fighting .pf-dot{background:#ff8a1f;box-shadow:0 0 0 3px #ff8a1f4d}.party-invite{position:absolute;left:50%;top:90px;transform:translate(-50%);display:none;z-index:13;pointer-events:auto;background:var(--cream);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);text-align:center;animation:pop .2s ease-out}.party-invite.show{display:block}.pi-text{font-weight:900;margin-bottom:8px}.derby-panel{position:absolute;right:16px;top:268px;width:236px;display:none;pointer-events:auto;background:linear-gradient(160deg,#fff6d0,#ffe7a3);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow);border:2px solid #f2c14e}.derby-panel.show{display:block}body.derby-on .quest-tracker{top:440px}.dp-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:900}.dp-time{font-variant-numeric:tabular-nums;color:#b06b00}.dp-count{font-weight:900;font-size:13px;margin:4px 0}.dp-bar{position:relative;height:12px;border-radius:999px;background:#2b344526;margin:6px 0 14px}.dp-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#ffd35c,#ff9f1f)}.dp-mark{position:absolute;top:-4px;transform:translate(-50%);font-size:13px;filter:grayscale(.8) opacity(.7)}.dp-mark.done{filter:none}.dp-winner{font-weight:900;font-size:12px;color:#8433c4}.dp-list{display:flex;flex-direction:column;gap:1px;font-size:12px;font-weight:800}.dp-row{display:flex;justify-content:space-between}.dp-hint{margin-top:6px;font-size:11px;font-weight:800;color:var(--ink-soft)}.char-title-row{display:grid;grid-template-columns:50px 1fr;gap:4px 8px;align-items:center;margin:6px 0 10px}.char-title-row .form-hint{grid-column:2}.char-title{padding:5px 8px}.talent-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 24px);overflow-y:auto}.talent-window.show{animation:none}.talent-points{margin-left:auto;margin-right:10px;font-weight:900;font-size:13px;color:var(--ink-soft)}.talent-points.has{color:#3a2a00;background:#f2b134;padding:2px 10px;border-radius:999px}.talent-locked{background:var(--cream-2);border-radius:12px;padding:8px 12px;font-weight:800;font-size:13px;margin-bottom:10px;color:var(--ink-soft)}.talent-trees{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.talent-trees.locked{opacity:.55;filter:grayscale(.6);pointer-events:none}.talent-tree{background:var(--cream-2);border-radius:16px;padding:10px}.talent-tree-head{display:flex;align-items:center;gap:6px;font-weight:900}.talent-tree-icon{font-size:18px}.talent-tree-spent{margin-left:auto;font-size:12px;background:#2b34451f;border-radius:999px;padding:0 8px}.talent-tree-blurb{font-size:12px;color:var(--ink-soft);font-weight:700;margin:2px 0 8px}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.talent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;padding:6px 4px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 2px #2b34451f;cursor:pointer;font:inherit;color:var(--ink);transition:transform .08s ease,box-shadow .1s ease}.talent:disabled{cursor:default}.talent.some{background:#fff6d8;box-shadow:inset 0 0 0 2px #f2b134}.talent.max{box-shadow:inset 0 0 0 3px #f2b134}.talent.can{box-shadow:inset 0 0 0 2px #3ddc5a}.talent.can:hover{transform:translateY(-2px)}.talent.closed{opacity:.45}.talent-name{font-size:11px;font-weight:900;text-align:center;line-height:1.1}.talent-rank{font-size:11px;font-weight:800;color:var(--ink-soft)}.talent-empty{min-height:58px}.talent-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.talent-foot-note{font-size:12px;color:var(--ink-soft);font-weight:700}.jq-title{display:flex;align-items:center;gap:8px}.jq-tag{background:var(--teal);color:#fff;border-radius:999px;padding:0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.jq-abandon{margin-left:auto;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:11px;font-weight:800;cursor:pointer;border-radius:8px;padding:2px 6px}.jq-abandon:hover{background:#d9483b1f;color:#c0392b}.jq-abandon[data-sure]{background:#d9483b;color:#fff}.trade-window{left:50%;top:120px;transform:translate(-50%);width:min(560px,calc(100vw - 32px))}.trade-window.show{animation:none}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trade-side{background:var(--cream-2);border-radius:16px;padding:10px;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .15s ease}.trade-side.ready{box-shadow:inset 0 0 0 3px #3ddc5a}.trade-side-head{display:flex;justify-content:space-between;align-items:center;font-weight:900;margin-bottom:8px}.trade-ready-tag{font-size:11px;font-weight:800;color:var(--ink-soft)}.trade-side.ready .trade-ready-tag{color:#1d8a39}.trade-slots{display:grid;grid-template-columns:repeat(3,56px);gap:8px;justify-content:center;min-height:120px}.trade-money{margin-top:10px;display:flex;justify-content:center;font-weight:900}.trade-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.trade-note{font-size:12px;font-weight:700;color:var(--ink-soft)}.trade-invite{top:150px}.amount-card{min-width:320px}.amount-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;text-align:left}.amount-head .slot{width:48px;height:48px;flex:none}.amount-head .slot img{width:36px;height:36px}.amount-sub{font-size:12px;font-weight:700;color:var(--ink-soft)}.amount-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.amount-range{flex:1;accent-color:var(--teal)}.amount-box{width:64px;font:inherit;font-weight:900;text-align:center;border:2px solid rgba(43,52,69,.15);border-radius:10px;padding:4px}.travel-fade{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;z-index:40;background:radial-gradient(circle at 50% 55%,#6fc9e6,#1f6fb0 70%);color:#fff;font-size:28px;font-weight:900;text-shadow:0 3px 0 rgba(20,40,70,.35)}.travel-fade.show{animation:ferry 2.6s ease-in-out forwards}@keyframes ferry{0%{opacity:0}18%{opacity:1}62%{opacity:1}to{opacity:0}}.poker-window{width:min(760px,calc(100vw - 32px));left:50%;top:70px;margin-left:calc(min(760px,calc(100vw - 32px))/-2)}.pk-body{padding:10px 12px 12px}.pk-felt{position:relative;height:330px;margin:40px 0 44px;border-radius:160px;background:radial-gradient(ellipse at center,#3a9a5c,#2f7d4a 70%,#276a3e);box-shadow:inset 0 0 0 10px #8a6238,inset 0 0 0 13px #6e4a2e,0 6px 16px #00000040}.pk-mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.pk-board{display:flex;gap:6px;justify-content:center}.pk-pot{margin-top:8px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.4);display:flex;gap:6px;align-items:center;justify-content:center}.pk-result{margin-top:6px;max-width:360px;font-weight:700;font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pk-result.dim{opacity:.8;font-weight:600}.pk-card{width:38px;height:54px;border-radius:6px;background:#fffdf8;color:#1d1d22;box-shadow:0 2px 4px #0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;line-height:1}.pk-card.red{color:#c8312b}.pk-card .pk-rank{font-size:17px}.pk-card .pk-suit{font-size:18px}.pk-card.back{background:repeating-linear-gradient(45deg,#b5523b 0 6px,#c9674f 6px 12px);box-shadow:inset 0 0 0 3px #fff,0 2px 4px #0000004d}.pk-card.empty{background:#ffffff1f;box-shadow:inset 0 0 0 2px #ffffff40}.pk-seat{position:absolute;width:132px;padding:6px 8px;border-radius:12px;background:#fdf6e8f2;color:var(--ink);box-shadow:0 3px 8px #00000040;transform:translate(-50%,-50%);text-align:center;font-size:13px}.pk-seat.turn{box-shadow:0 0 0 3px #ffd34d,0 3px 10px #0000004d}.pk-seat.me{background:#fff6d8}.pk-seat.won{box-shadow:0 0 0 3px #63d17a,0 3px 10px #0000004d}.pk-seat.folded{opacity:.55}.pk-s0{left:50%;top:96%}.pk-s1{left:13%;top:74%}.pk-s2{left:13%;top:24%}.pk-s3{left:50%;top:3%}.pk-s4{left:87%;top:24%}.pk-s5{left:87%;top:74%}.pk-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-chips{display:flex;gap:6px;justify-content:center;align-items:center;margin:2px 0}.pk-tag{font-size:10px;font-weight:800;color:#fff;background:var(--coral);padding:1px 5px;border-radius:6px}.pk-hand{display:flex;gap:3px;justify-content:center;min-height:0}.pk-hand .pk-card{width:28px;height:40px}.pk-hand .pk-card .pk-rank,.pk-hand .pk-card .pk-suit{font-size:13px}.pk-bet{margin-top:3px;display:flex;justify-content:center;font-size:12px}.pk-clock{font-size:11px;font-weight:800;color:#b5523b;min-height:13px}.pk-sit{padding:6px 10px;border-radius:10px;border:none;background:var(--teal);color:#fff;font-weight:800;cursor:pointer}.pk-empty{opacity:.6;font-size:12px}.pk-actions{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:44px}.pk-raise{display:flex;gap:8px;align-items:center}.pk-raise input{width:160px}.pk-wait{font-weight:700}.pk-wait.dim{opacity:.7}.pk-amt{min-width:70px;display:inline-flex}.btn.danger{background:#c8553d;color:#fff}@media(max-width:620px){.pk-seat{width:96px;font-size:11px}.pk-felt{height:300px}.pk-card{width:30px;height:44px}}body:has(.creator) .chat-row{display:none}.hud-chat,.minimap,.hotbar,.unitframe,.menubar,.bagbtn,.bar.xp{transition:opacity .6s ease}body:has(.intro:not(.out)) :is(.hud-chat,.minimap,.hotbar,.unitframe,.menubar,.hud-prompt,.bagbtn,.bar.xp){opacity:0;pointer-events:none}.abilitybar{position:absolute;left:50%;bottom:156px;transform:translate(-50%);display:none;gap:8px;padding:6px 8px;background:#2b344538;border-radius:18px;backdrop-filter:blur(4px);pointer-events:auto}.abilitybar.show{display:flex}.ab-slot{position:relative;width:50px;height:50px;padding:0;border:0;border-radius:13px;overflow:hidden;cursor:pointer;background:#fff8e8e6;box-shadow:0 3px #2b344540;transition:transform .08s ease,filter .15s ease}.ab-slot svg{width:100%;height:100%;display:block}.ab-slot.empty{background:#fff8e873;box-shadow:inset 0 0 0 2px #2b34452e}.ab-slot:hover{transform:translateY(-2px)}.ab-slot.dim svg{filter:grayscale(.7) brightness(.75)}.ab-slot.hit{animation:ab-hit .18s ease}.ab-slot.nope{animation:ab-nope .3s ease}@keyframes ab-hit{50%{transform:scale(.88)}}@keyframes ab-nope{20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.ab-sweep{position:absolute;left:0;right:0;bottom:0;height:0;background:#1418228c;pointer-events:none}.ab-key{position:absolute;left:4px;top:3px;font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);pointer-events:none}.ab-tip{position:absolute;left:50%;bottom:100%;margin-bottom:8px;transform:translate(-50%);white-space:nowrap;opacity:0;background:#2b3445d9;color:#fff;font-weight:800;font-size:13px;padding:4px 10px;border-radius:10px;pointer-events:none}.ab-tip.show{animation:ab-tip 1.4s ease forwards}@keyframes ab-tip{0%{opacity:0;transform:translate(-50%,4px)}12%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0}}.mobframe{position:absolute;left:50%;top:14px;transform:translate(-50%);display:none;pointer-events:auto;width:250px;background:#fff8e8eb;border-radius:16px;padding:8px 10px 10px;box-shadow:var(--shadow)}.mobframe.show{display:block}.mobframe.elite{box-shadow:0 0 0 3px #e0a04a,var(--shadow)}.mf-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mf-level{min-width:30px;height:22px;padding:0 6px;border-radius:8px;display:grid;place-items:center;font-weight:900;font-size:13px;color:#2b3445}.mf-name{flex:1;font-weight:900;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobframe .bar{width:100%;height:14px}.mf-cast{display:none;position:relative;margin-top:6px;height:14px;border-radius:999px;background:#2b34454d;overflow:hidden}.mf-cast.show{display:block}.mf-cast-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#ff9d5c,#ff5a3d)}.mf-cast.stop .mf-cast-fill{background:#9d9d9d;width:100%}.mf-cast-label{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.bar.hp.low .bar-fill{animation:hp-low .9s ease-in-out infinite}@keyframes hp-low{50%{filter:brightness(1.4)}}.fnums{position:absolute;inset:0;pointer-events:none;overflow:hidden}.fnum{position:absolute;left:0;top:0;font-weight:900;font-size:20px;color:#fff;white-space:nowrap;will-change:transform,opacity;text-shadow:0 2px 0 rgba(43,52,69,.55),0 0 6px rgba(43,52,69,.4)}.fnum.mine{color:#fff3b0}.fnum.big{color:#ffd35c;font-size:28px}.fnum.crit{color:#ffa53d;font-size:34px;letter-spacing:.02em;text-shadow:0 2px 0 #7a3a00,0 0 10px rgba(255,140,40,.7)}.fnum.theirs.tcrit{color:#ffc27a;font-size:18px}.fnum.theirs{color:#fff;font-size:15px;opacity:.85}.fnum.ouch{color:#ff6a5c;font-size:22px}.fnum.int{color:#c99bff;font-size:17px}.fnum.dodge{color:#bfe9ff;font-size:16px}.fnum.alert{color:#ffd35c;font-size:30px}.fnum.stars{color:#ffe066;font-size:18px}.fnum.bleed{color:#ff7d93;font-size:15px}.buffs{position:absolute;right:226px;top:18px;display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:6px;max-width:260px;pointer-events:auto}.buff{position:relative;display:flex;flex-direction:column;align-items:center}.buff-tip{display:none;position:absolute;top:46px;right:0;width:max-content;max-width:220px;padding:6px 9px;border-radius:10px;background:#2b3445f0;color:#fff;font-size:12px;line-height:1.3;z-index:20;text-align:left}.buff-tip b{display:block;font-weight:900}.buff:hover .buff-tip{display:block}.buff{width:30px;text-align:center;pointer-events:auto}.buff-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:20px;background:#fff8e8eb;box-shadow:inset 0 0 0 2.5px #3ddc5a,0 2px #2b344533}.buff.bad .buff-icon{box-shadow:inset 0 0 0 2px #e8453c}.buff-time{font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.spellbook{left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain}.sb-row.locked{cursor:default;opacity:.55}.sb-row.locked .sb-icon{filter:grayscale(.85)}.sb-row.locked .sb-key{background:transparent;color:var(--ink)}.sb-keys{flex-wrap:wrap;padding:2px 0 8px}.sb-note{font-size:13px;color:var(--ink-soft);margin-bottom:8px}.sb-row{display:flex;gap:10px;align-items:center;padding:8px;border-radius:14px;cursor:pointer}.sb-row:hover,.sb-row.on{background:var(--cream-2)}.sb-icon{width:44px;height:44px;flex:none;border-radius:12px;overflow:hidden}.sb-icon svg{width:100%;height:100%;display:block}.sb-info{flex:1}.sb-name{font-weight:900}.sb-blurb{font-size:13px}.sb-facts{font-size:12px;color:var(--ink-soft)}.sb-key{width:30px;height:30px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.sb-key.unset{background:var(--cream-2);color:var(--ink-soft);box-shadow:inset 0 0 0 2px #2b344526}.sb-keys{display:flex;gap:8px;justify-content:center;margin-top:8px}.ko-screen{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto;z-index:20;background:radial-gradient(circle,#2b344559,#141822bf);animation:ko-in .5s ease;transition:opacity 1s ease}.ko-screen.out{opacity:0;pointer-events:none}@keyframes ko-in{0%{opacity:0}}.ko-card{background:var(--cream);border-radius:22px;padding:18px 24px;max-width:360px;text-align:center;box-shadow:var(--shadow);animation:pop .4s cubic-bezier(.2,1.4,.4,1)}.ko-stars{font-size:26px;color:#e0a04a;letter-spacing:6px;animation:ko-spin 2s linear infinite}@keyframes ko-spin{50%{transform:rotate(8deg) scale(1.08)}}.ko-title{font-weight:900;font-size:22px;margin:4px 0}.ko-text{font-size:14px;color:var(--ink-soft)}body:has(.intro:not(.out)) :is(.abilitybar,.mobframe,.buffs){opacity:0;pointer-events:none}.pk-card.deal{animation:pk-deal .42s cubic-bezier(.2,1.3,.4,1) both}@keyframes pk-deal{0%{transform:translateY(-26px) rotateY(90deg) scale(.8);opacity:0}60%{opacity:1}to{transform:none}}.pk-pot.pulse{animation:pk-pulse .9s ease-in-out infinite}@keyframes pk-pulse{50%{transform:scale(1.08)}}.pk-next{font-size:12px;margin-top:2px}.pk-said{margin-top:3px;font-size:11px;font-weight:900;padding:1px 8px;border-radius:999px;background:#fff8e8eb;color:var(--ink);animation:pop .2s ease}.pk-said.fold{opacity:.6}.pk-said.allin{background:#ff7a59;color:#fff}.pk-handname{margin-top:3px;font-size:11px;font-weight:900;color:var(--teal-dark)}.pk-won{margin-top:3px;font-size:13px;font-weight:900;padding:1px 8px;border-radius:999px;background:#ffd35c;color:#3a2a00;animation:pk-win .6s ease;display:flex;align-items:center;gap:2px}@keyframes pk-win{0%{transform:scale(.4)}60%{transform:scale(1.2)}}.pk-seat.won{box-shadow:0 0 0 3px #ffd35c,0 0 18px #ffd35ccc}.pk-yourturn{font-weight:900;color:#fff;background:var(--teal);padding:4px 10px;border-radius:999px;animation:pk-pulse 1s ease-in-out infinite}.chat-mode.pop{animation:chat-mode-pop .28s cubic-bezier(.2,1.6,.4,1)}@keyframes chat-mode-pop{0%{transform:scale(1.35)}}.report-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 32px))}.report-body{display:flex;flex-direction:column;gap:10px;pointer-events:auto}.report-reasons{display:flex;gap:6px}.report-reasons .chip{border:0;background:var(--cream-2);color:var(--ink-soft);font:inherit;font-size:13px;font-weight:900;padding:6px 12px;border-radius:11px;cursor:pointer}.report-reasons .chip.on{background:var(--teal);color:#fff}.report-note{font:inherit;font-size:14px;font-weight:700;color:var(--ink);background:#fff;border:2px solid var(--cream-2);border-radius:10px;padding:8px 10px;resize:none;outline:none}.report-note:focus{border-color:var(--teal)}.report-hint{font-size:12px;color:var(--ink-soft);font-weight:700}#ui:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 46%,transparent 56%,rgba(36,18,44,.2) 100%)}.recipe-btns{display:flex;flex-direction:column;gap:4px}.btn.puzzle-btn{background:#f2b134;color:var(--ink)}.puzzle-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(400px,calc(100vw - 32px));--pz: min(48px, calc((100vw - 80px) / 6))}.puzzle-body{display:flex;flex-direction:column;gap:8px;position:relative}.puzzle-top{display:flex;justify-content:space-between;gap:8px}.puzzle-stat{display:flex;flex-direction:column;align-items:center;background:var(--cream-2);border-radius:12px;padding:4px 10px;min-width:76px}.puzzle-stat-k{font-size:11px;font-weight:800;color:var(--ink-soft)}.puzzle-stat-v{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.puzzle-stat-v.low{color:#d9483b}.puzzle-bar{position:relative;height:12px;border-radius:6px;background:var(--cream-2);margin:4px 0 16px}.puzzle-bar-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;background:linear-gradient(90deg,#63b26a,#f2b134);transition:width .25s}.puzzle-bar-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink-soft);opacity:.6}.puzzle-bar-mark span{position:absolute;top:16px;left:50%;transform:translate(-50%);font-size:10px;font-weight:800;color:var(--ink-soft);white-space:nowrap}.puzzle-grade-now{text-align:center;font-weight:900;font-size:14px}.grade-clumsy{color:#8a8f98}.grade-fair{color:#4a8f5a}.grade-good{color:#2f7fbf}.grade-great{color:#b05c8a}.grade-purrfect{color:#d98a00}.puzzle-grid-wrap{position:relative;display:flex;justify-content:center}.puzzle-grid{display:grid;gap:4px;padding:6px;background:#8a6748;border-radius:14px;touch-action:none;user-select:none}.pz-tile{width:var(--pz);height:var(--pz);border:0;padding:0;border-radius:10px;background:#f6ecd9;display:grid;place-items:center;cursor:pointer;transition:transform .12s}.pz-tile:hover{transform:scale(1.06)}.pz-tile.picked{outline:3px solid var(--ink);transform:scale(1.08)}.pz-tile.clearing{animation:pz-clear .19s ease-in forwards}@keyframes pz-clear{to{transform:scale(.2);opacity:.2}}.pz-shape{width:66%;height:66%;background:var(--c)}.pz-circle .pz-shape{border-radius:50%}.pz-square .pz-shape{border-radius:4px;width:60%;height:60%}.pz-diamond .pz-shape{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:72%;height:72%}.pz-tri .pz-shape{clip-path:polygon(50% 4%,100% 92%,0 92%);width:72%;height:72%}.pz-star .pz-shape{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:78%;height:78%}.puzzle-pop{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-weight:900;font-size:22px;color:#fff;text-shadow:0 2px 0 var(--ink),0 0 8px rgba(0,0,0,.4);pointer-events:none;opacity:0}.puzzle-pop.chain{color:#ffd35c;font-size:26px}.puzzle-pop.go{animation:pz-pop .7s ease-out}@keyframes pz-pop{0%{opacity:1;transform:translate(-50%,-30%) scale(.9)}to{opacity:0;transform:translate(-50%,-120%) scale(1.1)}}.puzzle-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.puzzle-hint{font-size:12px;font-weight:700;color:var(--ink-soft)}.puzzle-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff8e8f0;border-radius:16px;animation:pop .22s cubic-bezier(.2,1.4,.4,1)}.puzzle-grade{font-size:40px;font-weight:900}.puzzle-result-line{font-weight:800;color:var(--ink-soft)}.ding{position:absolute;left:50%;top:24%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:9;animation:dingIn .5s cubic-bezier(.2,1.6,.4,1);transition:opacity .7s,transform .7s}.ding.out{opacity:0;transform:translate(-50%,-90%)}.ding-small{font-weight:900;letter-spacing:.35em;font-size:15px;color:#fff;text-shadow:0 2px 0 rgba(43,52,69,.8)}.ding-big{font-weight:900;font-size:64px;line-height:1;color:#ffd35c;text-shadow:0 4px 0 #b8741a,0 0 28px rgba(255,211,92,.8),0 8px 18px rgba(0,0,0,.35)}.ding-quest{top:38%}.ding-quest .ding-big{font-size:40px;color:#ffe9a8;text-shadow:0 3px 0 #8a5a1c,0 0 22px rgba(255,220,130,.7),0 6px 14px rgba(0,0,0,.35)}.ding-rewards{margin-top:8px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ding-reward{font-weight:800;font-size:18px;color:#fff;background:#2b3445b8;border:2px solid #ffd35c;border-radius:12px;padding:3px 10px;opacity:0;animation:rewardPop .4s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes rewardPop{0%{opacity:0;transform:translateY(10px) scale(.6)}to{opacity:1;transform:none}}.ding-skill .ding-big{font-size:44px;color:#9fe8ff;text-shadow:0 3px 0 #2f7fa0,0 0 22px rgba(159,232,255,.8),0 6px 14px rgba(0,0,0,.35)}@keyframes dingIn{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}}.puzzle-grid.shake{animation:pz-shake .25s}@keyframes pz-shake{25%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,1px)}}.puzzle-result{overflow:hidden}.pz-confetti{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:pz-fall 1.6s ease-in forwards}@keyframes pz-fall{to{transform:translateY(520px) rotate(540deg);opacity:.2}}.slot-q{position:absolute;left:3px;top:1px;font-size:11px;color:#ffcf3d;text-shadow:0 1px 1px rgba(0,0,0,.5);pointer-events:none}.ah-roll{color:#2f8f5b;font-weight:700}.qprog{position:absolute;left:50%;top:17%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:8}.qprog-line{font-weight:900;font-size:17px;color:#ffe27a;text-shadow:0 2px 3px rgba(30,40,60,.85),0 0 10px rgba(255,210,90,.35);animation:qprog-in 2.4s ease-out forwards;white-space:nowrap}.qprog-line.done{color:#b8ff9e;animation-duration:3.2s}@keyframes qprog-in{0%{opacity:0;transform:translateY(6px) scale(.9)}10%{opacity:1;transform:translateY(0) scale(1.06)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.tt-cmp{font-size:12px;margin-top:3px;color:#ffffffbf}.tt-cmp .up{color:#8ef08a;font-weight:800}.tt-cmp .down{color:#ff8a7a;font-weight:800}.forge-board{position:relative;border-radius:16px;padding:30px 10px 26px;overflow:hidden;background:radial-gradient(120% 70% at 50% 110%,#7a2a12,#3a1f1a 45%,#2a2228);box-shadow:inset 0 -10px 30px #ff6e1e40}.forge-board.puffed{animation:forge-puff .5s ease-out}.forge-board.shake{animation:pz-shake .25s}@keyframes forge-puff{30%{box-shadow:inset 0 -30px 60px #ff9628a6}}.forge-chain{position:absolute;top:6px;left:50%;transform:translate(-50%);font-size:12px;font-weight:900;color:#fff0dc8c;letter-spacing:.03em}.forge-chain.on{color:#ffd59a}.forge-chain.hot{color:#fff3c4;text-shadow:0 0 8px #ff9a3c}.forge-bars{display:flex;justify-content:center;gap:6px}.forge-bar{position:relative;width:40px;height:150px;border:0;padding:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;touch-action:none}.fb-metal{width:24px;height:110px;border-radius:6px;background:var(--metal);transition:background .2s,box-shadow .2s,transform .1s;box-shadow:inset -4px 0 #0003,inset 3px 0 #ffffff1f,0 0 var(--glow) var(--metal)}.forge-bar:hover .fb-metal{transform:translateY(-3px)}.forge-bar.heat-0{--metal: #4a4a55;--glow: 0px}.forge-bar.heat-1{--metal: #7a2c22;--glow: 4px}.forge-bar.heat-2{--metal: #b9351f;--glow: 8px}.forge-bar.heat-3{--metal: #e8691f;--glow: 12px}.forge-bar.heat-4{--metal: #f8b638;--glow: 16px}.forge-bar.heat-5{--metal: #fff6dc;--glow: 22px}.forge-bar.heat-5 .fb-metal{animation:forge-white .8s ease-in-out infinite alternate}@keyframes forge-white{to{box-shadow:inset -4px 0 #0000001a,0 0 30px #ffe9a8,0 0 8px #fff}}.fb-eta{position:absolute;top:-2px;font-size:13px;font-weight:900;color:#fff0dcb3}.forge-bar.heat-5 .fb-eta{color:#fff3b0;font-size:18px;top:-6px;text-shadow:0 0 6px #ffb84d}.fb-way{position:absolute;bottom:36px;font-size:11px;color:#00000073;pointer-events:none}.fb-key{margin-top:4px;font-size:10px;font-weight:900;color:#fff0dc73}.forge-coals{position:absolute;left:0;right:0;bottom:0;height:22px;background:repeating-radial-gradient(circle at 10px 18px,#ff7a2a 0 3px,#8a2e14 4px 8px,#2d1c18 9px 14px);opacity:.75;pointer-events:none}.forge-bar.struck .fb-metal{animation:forge-strike .25s ease-out}@keyframes forge-strike{30%{transform:scale(1.12,.86)}}.forge-bar.sparked .fb-metal{filter:brightness(1.5)}.forge-bar.cracked .fb-metal{animation:forge-crack .4s;background:repeating-linear-gradient(60deg,#4a4a55 0 8px,#222 8px 10px)}@keyframes forge-crack{20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.forge-spark{position:absolute;left:50%;top:40%;width:4px;height:4px;border-radius:50%;background:#fff2b0;box-shadow:0 0 6px #ffb84d;pointer-events:none;animation:forge-spark .6s ease-out forwards}@keyframes forge-spark{to{transform:translate(var(--dx),var(--dy));opacity:0}}.forge-bellows{background:#ffd59a}.forge-board .puzzle-pop{top:50%}.puzzle-foot .btn{white-space:nowrap;flex:none}.puzzle-foot .puzzle-hint{flex:1;text-align:center;font-size:11px}.standing-bar{position:relative}.standing-bar .bar-fill{background:linear-gradient(90deg,#b07ad8,#f2b134)}.standing-tick{position:absolute;top:0;bottom:0;width:2px;background:#2b344540}.skill.standing.rank-master .skill-lvl,.skill.standing.rank-legend .skill-lvl{color:#b06a00;text-shadow:0 0 6px rgba(242,177,52,.6)}.ding-standing .ding-big{font-size:44px;color:#ffd35c}.ding-standing.down .ding-big{color:#e0e6f0;font-size:28px}.ding-note{font-size:13px;font-weight:800;opacity:.85}.ding-standing{top:14%}.emote-btn{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:var(--cream);box-shadow:var(--shadow);font-size:18px;cursor:pointer;pointer-events:auto;transition:transform .12s}.emote-btn:hover,.emote-btn.on{transform:scale(1.1);background:#fff3c4}.emote-panel{position:absolute;left:0;bottom:48px;display:none;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:var(--cream);border-radius:16px;box-shadow:var(--shadow);pointer-events:auto;z-index:7;animation:pop .18s cubic-bezier(.2,1.4,.4,1)}.emote-panel.show{display:grid}.emote-pick{display:flex;flex-direction:column;align-items:center;gap:1px;width:74px;padding:6px 4px;border:0;border-radius:12px;background:var(--cream-2);cursor:pointer;font-family:inherit}.emote-pick:hover{background:#fff3c4;transform:translateY(-1px)}.emote-icon{font-size:22px;line-height:1.1}.emote-name{font-size:12px;font-weight:900;color:var(--ink)}.emote-hint{font-size:10px;font-weight:800;color:var(--ink-soft)}.char-gear-maker{font-size:10px;font-weight:800;color:#8a6238;font-style:italic}.inspect-skill .standing-master,.inspect-skill .standing-legend{color:#b06a00;text-shadow:0 0 6px rgba(242,177,52,.6)}.chalk-window{left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px))}.chalk-body{background:#2f4038;border:8px solid #8b6240;border-radius:10px;padding:14px 16px 10px;color:#f1eee4;font-family:Comic Sans MS,Chalkboard SE,Marker Felt,cursive;box-shadow:inset 0 0 30px #00000059}.chalk-head{text-align:center;font-size:20px;font-weight:700;letter-spacing:.03em;margin-bottom:10px;text-decoration:underline wavy rgba(241,238,228,.5)}.chalk-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.chalk-puzzle{font-size:16px;font-weight:700;margin-bottom:6px;color:#ffe9a8}.chalk-row{display:grid;grid-template-columns:22px 1fr auto;gap:6px;font-size:14px;padding:2px 0;border-bottom:1px dashed rgba(241,238,228,.18)}.chalk-row.first .chalk-name:after{content:" ★";color:#ffd35c}.chalk-row.me{color:#bff0c8}.chalk-n{opacity:.6}.chalk-rank{font-size:12px;opacity:.85}.chalk-rank.r-master,.chalk-rank.r-legend{color:#ffd35c;opacity:1}.chalk-empty{font-size:13px;opacity:.6;font-style:italic}.chalk-foot{margin-top:10px;font-size:11px;opacity:.6;text-align:right}.unitframe.level-up .uf-portrait{animation:uf-levelup 2s ease-out}.unitframe.level-up .uf-level{animation:uf-levelpop .6s cubic-bezier(.2,1.8,.4,1)}@keyframes uf-levelup{0%,25%{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 18px #ffd35c) brightness(1.15)}to{filter:none}}@keyframes uf-levelpop{40%{transform:translate(-50%) scale(1.45)}}.mail-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px}.mail-bar .mail-count{flex:1;margin:0}.tt-quick{font-size:11px;font-weight:800;color:#2a7fc0;margin-top:2px}.fnum.glint{color:#fff3b0;font-size:24px;text-shadow:0 2px 0 #8a5a1c,0 0 12px rgba(255,220,120,.9)}.toast.bump{animation:toast-bump .35s}@keyframes toast-bump{20%{transform:translate(-5px) scale(1.04)}45%{transform:translate(5px) scale(1.04)}70%{transform:translate(-2px)}}.toast-n{margin-left:8px;font-size:12px;font-weight:900;color:#fff;background:#e0794a;border-radius:8px;padding:1px 6px}.celebrate{position:absolute;left:50%;top:calc(22px + 20vh);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:9;width:min(720px,calc(100vw - 32px))}.celebrate .qprog{position:static;transform:none;order:0}.celebrate .ding{position:static;transform:none;animation:ding-pop .5s cubic-bezier(.2,1.6,.4,1);transition:opacity .7s,transform .7s,max-height .7s,margin .7s;max-height:220px}.celebrate .ding.out{opacity:0;transform:translateY(-24px);max-height:0;margin-top:-10px}.celebrate .ding-level{order:1}.celebrate .ding-skill{order:2}.celebrate .ding-standing{order:3}.celebrate .ding-quest{order:4}.celebrate .ding-level .ding-big{font-size:56px}.celebrate .ding~.ding .ding-big{font-size:34px}.celebrate .ding~.ding .ding-small{font-size:12px}@keyframes ding-pop{0%{transform:scale(.3);opacity:0}}.celebrate .hud-catch{position:static;transform:none;display:none;order:5}.celebrate .hud-catch.show{display:block;animation:banner-col 3s ease forwards}@keyframes banner-col{0%{opacity:0;transform:translateY(10px) scale(.96)}15%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.puzzle-window.forge-mode{width:min(560px,calc(100vw - 32px))}.forge-mode .forge-bar{width:58px;height:196px}.forge-mode .fb-metal{width:34px;height:150px;border-radius:8px}.forge-mode .fb-eta{font-size:16px}.forge-mode .forge-bar.heat-5 .fb-eta{font-size:22px}.forge-mode .fb-way{font-size:13px;bottom:44px}.forge-mode .fb-key{font-size:12px}.forge-mode .forge-chain{font-size:14px}.forge-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:10px}.forge-rule{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.25;color:var(--ink)}.forge-rule-swatch{flex:none;width:12px;height:26px;border-radius:4px;background:var(--metal, #ffd59a);box-shadow:0 0 var(--glow, 0px) var(--metal, transparent);margin-top:1px}.forge-rule.bellows .forge-rule-swatch{background:#ffd59a}.forge-rule-foot{margin-top:6px;font-size:11px;color:var(--ink-soft);text-align:center}.forge-howto{position:absolute;inset:6px;z-index:3;background:#2a1e1af0;border-radius:12px;padding:14px 18px;color:#fbeedd;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center}.forge-howto-title{font-size:20px;font-weight:900;color:#ffd59a}.forge-howto-line{font-size:13px;line-height:1.35;max-width:420px}.forge-howto .btn{margin-top:6px}.puzzle-howto{position:static;inset:auto;min-height:340px}.puzzle-howto-note{font-size:12px;opacity:.75;font-style:italic}.forge-rule.heat-5{--metal: #fff6dc;--glow: 8px}.forge-rule.heat-5 .forge-rule-swatch{outline:1.5px solid #e9b84f;box-shadow:0 0 6px #ffcf6a}.forge-mode .puzzle-foot .puzzle-hint{visibility:hidden}.forge-rule.heat-4{--metal: #f8b638;--glow: 4px}.forge-rule.heat-2{--metal: #b9351f}.puzzle-window.sort-mode{width:min(520px,calc(100vw - 32px));--pz: max(34px, min(62px, calc((100vw - 90px) / 6), calc((100vh - 330px)/8) ))}.sort-mode .puzzle-grid-wrap{flex-direction:column;align-items:center;gap:4px}.sort-mode .puzzle-grid{gap:5px;padding:8px;background:linear-gradient(#94704f,#7c5b3e);box-shadow:inset 0 2px #ffffff26,0 3px #5e432c}.sort-mode .pz-tile{border-radius:12px;box-shadow:inset 0 -3px #0000001f}.sort-streak{position:static;transform:none;color:var(--ink-soft);font-size:14px;min-height:18px;transition:color .2s,transform .2s}.sort-streak.on{color:#b0702a;transform:scale(1.06)}.sort-streak.hot{color:#d96a1a;text-shadow:0 0 8px rgba(255,170,60,.7);transform:scale(1.14)}.sort-mode .puzzle-pop{top:46%}.sort-chip{position:absolute;width:7px;height:4px;border-radius:2px;pointer-events:none;z-index:4;box-shadow:0 1px #00000040;animation:sort-chip .65s cubic-bezier(.2,.7,.4,1) forwards}@keyframes sort-chip{to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}.pz-tile.nope{animation:sort-nope .42s}@keyframes sort-nope{15%,55%{transform:translate(-4px) rotate(-4deg)}35%,75%{transform:translate(4px) rotate(4deg)}}.puzzle-grid.glow{animation:sort-glow .7s ease-out}@keyframes sort-glow{25%{box-shadow:0 0 0 4px #ffd35c,0 0 28px #ffc850e6}}.sort-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.sort-rule{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:9px;background:var(--cream-2);color:var(--ink);cursor:help}.sort-rule.len4{background:#f7dca0}.sort-rule.len5{background:#ffd35c;box-shadow:0 0 6px #ffc846b3}.sort-rule.casc{background:linear-gradient(90deg,#f3e0bf,#ffe39a)}.sort-rule.streak{background:#ffd2a8}.sort-streak.broke{animation:sort-broke .45s}@keyframes sort-broke{20%,60%{transform:translate(-4px);color:#c4402a}40%,80%{transform:translate(4px);color:#c4402a}}.puzzle-result-score{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink)}.puzzle-result .puzzle-grade{opacity:0;transform:scale(2.6) rotate(-8deg)}.puzzle-result .puzzle-grade.stamped{animation:pz-stamp .42s cubic-bezier(.3,1.6,.5,1) forwards}@keyframes pz-stamp{0%{opacity:0;transform:scale(2.6) rotate(-8deg)}60%{opacity:1;transform:scale(.92) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(-2deg)}}.puzzle-result .puzzle-result-line{opacity:0;transition:opacity .3s .25s}.puzzle-result .puzzle-result-line.in{opacity:1}.grade-bg-purrfect .puzzle-grade.stamped{text-shadow:0 3px 0 #a86a00,0 0 24px rgba(255,200,60,.85)}.grade-bg-great .puzzle-grade.stamped{text-shadow:0 3px 0 #7e3c62,0 0 16px rgba(220,140,190,.6)}.puzzle-shine{position:absolute;left:50%;top:48%;width:420px;height:420px;margin:-210px 0 0 -210px;pointer-events:none;z-index:-1;opacity:.55;background:repeating-conic-gradient(rgba(255,214,110,.55) 0 10deg,transparent 10deg 24deg);border-radius:50%;-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);mask:radial-gradient(circle,#000 20%,transparent 70%);animation:pz-shine 6s linear infinite}@keyframes pz-shine{to{transform:rotate(360deg)}}.puzzle-result{isolation:isolate}.momentum{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);display:none;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;background:#2b34458c;pointer-events:auto;white-space:nowrap}.momentum.show{display:flex}.mo-label{font-size:11px;font-weight:900;color:#fffc;margin-right:3px;letter-spacing:.03em}.momentum i{width:10px;height:10px;border-radius:50%;background:#ffffff2e;box-shadow:inset 0 0 0 1.5px #ffffff40;transition:background .15s}.momentum i.on{background:#ffcf5a;box-shadow:0 0 6px #ffbe3ccc}.momentum i.pop{animation:mo-pop .3s cubic-bezier(.2,1.8,.4,1)}@keyframes mo-pop{0%{transform:scale(2)}}.momentum.hot{background:#783214b3;box-shadow:0 0 14px #ff9632a6}.momentum.hot .mo-label{color:#ffd59a}.momentum.hot i.on{background:#fff1b8;animation:mo-hot .9s ease-in-out infinite alternate}@keyframes mo-hot{to{box-shadow:0 0 12px #ffb84d,0 0 3px #fff}}.momentum.broke{animation:mo-broke .5s}@keyframes mo-broke{20%,60%{transform:translate(calc(-50% - 5px))}40%,80%{transform:translate(calc(-50% + 5px))}to{opacity:.4}}.fnum.dodged{color:#9fe8ff;font-size:24px;text-shadow:0 2px 0 #1f5f7a,0 0 10px rgba(120,220,255,.6)}.fnum.fired{color:#ffcf5a;font-size:26px;text-shadow:0 2px 0 #8a4a10,0 0 12px rgba(255,170,50,.7)}.fnum.kobonk{color:#ffe27a;font-size:32px;text-shadow:0 3px 0 #7a4a10,0 0 12px rgba(255,200,80,.7)}
