:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12100e;--surface:#1a1614;--raised:#241f1a;--raised-hi:#2e2822;--pit:#0b0a08;--scrim:#0a0806e0;--ink:#ede6da;--ink-2:#b3a896;--ink-3:#9a8e79;--ink-off:#776c5c;--line:#3a322a;--edge:#5a4e3d;--control:#8a7b62;--bevel-hi:#fff4e012;--bevel-lo:#0000008c;--brass:#d8a43a;--brass-hi:#f0c86a;--brass-dim:#d8a43a29;--ember:#ff6a21;--ember-hi:#ffa24b;--ember-deep:#b33a08;--core:#fff3dc;--ok:#4fc98a;--warn:#f2b441;--danger:#f0554f;--danger-hi:#ff7b72;--tier-common:#9aa0a6;--tier-rare:#4a90d9;--tier-epic:#9b59d0;--tier-unique:#e08a2e;--tier-legendary:#d94c3d;--tier-common-ink:#9aa0a6;--tier-rare-ink:#7db4ea;--tier-epic-ink:#be8ce8;--tier-unique-ink:#eda85a;--tier-legendary-ink:#f08a7c;--tier:var(--tier-common);--tier-ink:var(--tier-common-ink);--sh-plate:inset 0 1px 0 var(--bevel-hi), inset 0 -1px 0 var(--bevel-lo);--sh-pit:inset 0 1px 0 var(--bevel-lo), inset 0 -1px 0 var(--bevel-hi);--sh-slot:inset 0 2px 7px #0000008c;--sh-carve:inset 0 3px 9px #000000b8, inset 0 -1px 0 var(--bevel-hi);--sh-panel:0 24px 64px -14px #000000b8;--sh-pop:0 10px 30px -8px #000000b3;--sh-focus:0 0 0 2px var(--bg), 0 0 0 4px var(--brass-hi);--sh-engrave:0 1px 0 #000000e6, 0 0 18px -4px #f0c86a80;--sh-seal:0 2px 5px #0009, inset 0 0 8px #00000057;--sh-ember:0 0 26px -6px #ff6a21a6;--r-1:2px;--r-2:3px;--r-3:6px;--r-4:10px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--slot:56px;--slot-lg:76px;--slot-gap:8px;--panel-w:560px;--panel-w-lg:720px;--tip-w:320px;--font:"Pretendard", "Pretendard Variable", "Malgun Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Nanum Myeongjo", "Batang", "바탕", "AppleMyungjo", "Songti SC", "Yu Mincho", serif;--font-num:ui-monospace, "Cascadia Mono", "D2Coding", Consolas, "Malgun Gothic", monospace;--fs-1:11px;--fs-2:12px;--fs-3:13px;--fs-4:14px;--fs-5:16px;--fs-6:20px;--fs-7:26px;--fs-8:34px;--fs-9:44px;--lh-tight:1.25;--lh-body:1.65;--ls-stamp:.22em;--ls-label:.1em;--ls-title:.04em;--t-1:.12s;--t-2:.2s;--t-3:.42s;--t-forge:1.4s;--e-out:cubic-bezier(.2, .7, .3, 1);--e-strike:cubic-bezier(.16, 1, .3, 1);--e-thud:cubic-bezier(.34, 1.56, .64, 1);--z-hud:5;--z-panel:10;--z-fx:20;--z-tooltip:40;--z-toast:60}@media (prefers-reduced-motion:reduce){:root{--t-1:1ms;--t-2:1ms;--t-3:1ms;--t-forge:1ms}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}#mobile-controls{z-index:calc(var(--z-panel) - 1);pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;display:none;position:fixed;inset:0}.mobile-pad{pointer-events:auto;gap:10px;display:flex;position:absolute}.mobile-pad button{color:#f4ead7;min-width:58px;min-height:58px;font:700 14px / 1 var(--font);touch-action:none;background:#14100cb8;border:1px solid #f0c86a8c;border-radius:50%;padding:8px 12px;box-shadow:inset 0 0 0 1px #ffffff0d,0 5px 18px #00000059}.mobile-pad button.is-pressed{color:#17100a;background:#f0c86aeb;transform:scale(.94)}.mobile-pad--move{left:max(14px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom))}.mobile-pad--action{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));align-items:flex-end}.mobile-pad--action button[data-mobile=attack]{border-color:#ff7741cc;min-width:72px;min-height:72px}.mobile-pad--menu{top:max(76px, calc(env(safe-area-inset-top) + 12px));right:max(14px, env(safe-area-inset-right))}.mobile-pad--menu button{border-radius:10px;min-width:52px;min-height:42px}body.stage-menu #mobile-controls .mobile-pad--move,body.stage-menu #mobile-controls .mobile-pad--action,body.stage-menu #mobile-controls .mobile-pad--menu button:not([data-mobile=pause]){display:none}@media (hover:none) and (orientation:portrait){.mobile-pad button{min-width:52px;min-height:52px}.mobile-pad--action,.mobile-pad--move{bottom:max(12px, env(safe-area-inset-bottom))}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);font-size:var(--fs-4);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow:hidden}#app{width:100vw;height:100vh;position:relative}#game-canvas{position:absolute;inset:0}body.stage-dock #game-canvas{flex:4 1 0;min-width:0;height:100%;position:relative;inset:auto}body.stage-dock #ui-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;min-width:364px;max-width:560px;height:100%;padding:var(--s-2);background:linear-gradient(#17130e,#100d0a);border-left:1px solid #ffffff12;flex:2 1 0;display:block;position:relative;inset:auto;overflow:hidden auto;box-shadow:-24px 0 48px #00000080}body.stage-dock #ui-overlay .panel__head{top:calc(var(--s-2) * -1);z-index:6;background:#17130e;border-bottom:1px solid #c9a24b2e;flex-wrap:wrap;row-gap:4px;position:sticky}body.stage-dock #ui-overlay .panel{min-height:100%;max-height:none;box-shadow:none;width:100%;max-width:100%}body.stage-dock #ui-overlay .forge-duo{gap:var(--s-4);grid-template-columns:1fr}body.stage-dock #ui-overlay{--slot:38px;--slot-lg:38px;--slot-gap:4px}body.stage-dock #ui-overlay .grid,body.stage-dock #ui-overlay [class*=grid]{overflow-x:hidden}body.stage-dock #inv-detail{max-height:32vh;overflow-y:auto}body.stage-dock #ui-overlay .panel__body{padding-top:var(--s-2)}body.stage-dock #ui-overlay .section{margin-top:var(--s-3)}body.stage-dock #ui-overlay .lb-toasts{position:absolute}body.smith-coop #game-canvas{background:#000}body.smith-coop #game-canvas canvas{visibility:hidden}#coop-view{object-fit:contain;z-index:5;background:#000;width:100%;height:100%;position:absolute;inset:0}#coop-view-wait{z-index:6;justify-content:center;align-items:center;gap:var(--s-2);text-align:center;color:var(--ink-2);font-size:var(--fs-5);pointer-events:none;flex-direction:column;line-height:1.9;display:flex;position:absolute;inset:0}#coop-view-wait span{font-size:var(--fs-2);color:var(--ink-3)}#coop-chat{left:var(--s-3);bottom:var(--s-3);z-index:300;border:1px solid var(--line);border-radius:var(--r-3);background:#0d0b09eb;flex-direction:column;width:min(320px,42vw);display:flex;position:fixed;overflow:hidden}#coop-chat .chat-head{align-items:center;gap:var(--s-2);padding:6px var(--s-3);background:var(--pit);border-bottom:1px solid var(--line);display:flex}#coop-chat .chat-title{min-width:0;font-size:var(--fs-2);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:700;overflow:hidden}#coop-chat .chat-head button{border:1px solid var(--control);color:var(--ink-2);border-radius:var(--r-3);font-size:var(--fs-1);cursor:pointer;background:0 0;padding:3px 8px}#coop-chat .chat-head button:hover{color:var(--ink)}#coop-chat .chat-log{height:140px;padding:var(--s-2) var(--s-3);font-size:var(--fs-2);color:var(--ink-2);line-height:1.6;overflow-y:auto}#coop-chat .chat-row{word-break:break-all;margin-bottom:3px}#coop-chat .chat-from{color:var(--ink)}#coop-chat .chat-sys{color:var(--ink-3);font-style:normal}#coop-chat .chat-form{border-top:1px solid var(--line);gap:6px;padding:6px;display:flex}#coop-chat .chat-form input{background:var(--pit);border:1px solid var(--line);border-radius:var(--r-3);min-width:0;color:var(--ink);font-size:var(--fs-2);outline:none;flex:auto;padding:6px 9px}#coop-chat .chat-form button{border:1px solid var(--control);color:var(--ink-2);border-radius:var(--r-3);font-size:var(--fs-2);cursor:pointer;background:0 0;padding:0 10px}#coop-chat.is-folded .chat-log,#coop-chat.is-folded .chat-form,#rotate-hint{display:none}@media (orientation:portrait) and (width<=820px){#rotate-hint{z-index:9999;text-align:center;color:var(--ink-2);font-size:var(--fs-5);background:#080605;justify-content:center;align-items:center;line-height:2;display:flex;position:fixed;inset:0}}#ui-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-panel);padding:var(--s-5);display:none;position:absolute;inset:0;overflow:auto}#ui-overlay.open{display:block}#ui-overlay{scrollbar-width:thin;scrollbar-color:#3a3226 transparent}#ui-overlay ::-webkit-scrollbar{width:8px;height:8px}#ui-overlay::-webkit-scrollbar{width:8px;height:8px}#ui-overlay ::-webkit-scrollbar-track{background:0 0}#ui-overlay::-webkit-scrollbar-track{background:0 0}#ui-overlay ::-webkit-scrollbar-thumb{background:#3a3226 padding-box content-box;border:2px solid #0000;border-radius:4px}#ui-overlay::-webkit-scrollbar-thumb{background:#3a3226 padding-box content-box;border:2px solid #0000;border-radius:4px}#ui-overlay ::-webkit-scrollbar-thumb:hover{background-color:var(--control)}#ui-overlay::-webkit-scrollbar-thumb:hover{background-color:var(--control)}@keyframes panelIn{0%{opacity:0;transform:translateY(14px)scale(.985)}}body:not(.stage-dock) #ui-overlay .panel{animation:.3s cubic-bezier(.22,1,.36,1) both panelIn}@media (prefers-reduced-motion:reduce){body:not(.stage-dock) #ui-overlay .panel{animation:none}}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:var(--lh-tight);font-weight:700}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed}input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{box-shadow:var(--sh-focus);border-radius:var(--r-2)}*{scrollbar-width:thin;scrollbar-color:var(--edge) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--edge);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--control);background-clip:content-box}::selection{background:var(--brass-dim);color:var(--ink)}.u-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.u-serif{font-family:var(--font-serif)}.u-ink{color:var(--ink)}.u-ink-2{color:var(--ink-2)}.u-ink-3{color:var(--ink-3)}.u-ok{color:var(--ok)}.u-warn{color:var(--warn)}.u-danger{color:var(--danger-hi)}.u-tier{color:var(--tier-ink)}.u-row{align-items:center;gap:var(--s-2);display:flex}.u-row-between{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.u-col{gap:var(--s-2);flex-direction:column;display:flex}.u-wrap{flex-wrap:wrap}.u-grow{flex:auto;min-width:0}.u-right{margin-left:auto}.u-center{text-align:center}.u-fs-1{font-size:var(--fs-1)}.u-fs-2{font-size:var(--fs-2)}.u-fs-3{font-size:var(--fs-3)}.u-fs-6{font-size:var(--fs-6)}.u-bold{font-weight:700}.u-caps{font-size:var(--fs-1);letter-spacing:var(--ls-label);color:var(--ink-3)}.u-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.u-hr{background:var(--line);height:1px;margin:var(--s-3) 0;border:0}.u-hidden{display:none!important}.u-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel{width:min(100%, var(--panel-w));background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-4);box-shadow:var(--sh-panel), var(--sh-plate);flex-direction:column;max-height:94vh;margin:0 auto;display:flex;position:relative;overflow:hidden}.panel__body{min-height:0;overflow-y:auto}.panel--wide{width:min(100%, var(--panel-w-lg))}.panel--full{width:100%}.panel--duo{width:min(96vw,1020px)}.forge-duo{gap:var(--s-5);grid-template-columns:1fr;align-items:start;display:grid}.forge-picker-scroll{margin-top:var(--s-3);max-height:186px;overflow:auto}@media (width>=960px) and (height>=560px){.forge-duo{gap:var(--s-6);grid-template-columns:minmax(0,10fr) minmax(0,11fr)}.forge-picker-scroll{max-height:min(48vh,430px)}}.panel:before{content:"";background:linear-gradient(90deg, var(--brass) 0%, transparent 62%);pointer-events:none;height:3px;position:absolute;inset:0 0 auto}.panel__head{align-items:baseline;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-3);border-bottom:1px solid var(--line);display:flex}.panel__title{font-size:var(--fs-7);letter-spacing:var(--ls-title);color:var(--ink);white-space:nowrap;word-break:keep-all;font-weight:700}.panel__sub{font-size:var(--fs-3);color:var(--ink-3)}.panel__body{padding:var(--s-5)}.panel__foot{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line);background:#0000002e;display:flex}.section{padding:var(--s-4) 0;border-top:1px solid var(--line)}.section:first-child{border-top:0;padding-top:0}.section__label{font-size:var(--fs-1);letter-spacing:var(--ls-label);color:var(--ink-3);margin-bottom:var(--s-2)}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);font-size:var(--fs-5);border-radius:var(--r-3);transition:background var(--t-1) var(--e-out), border-color var(--t-1) var(--e-out), color var(--t-1) var(--e-out), transform var(--t-1) var(--e-out);white-space:nowrap;font-weight:700;line-height:1;display:inline-flex}.btn--sm{min-height:30px;padding:0 var(--s-3);font-size:var(--fs-3)}.btn--full{width:100%}.btn--wide{min-width:200px;letter-spacing:var(--ls-label)}.btn--primary{background:linear-gradient(180deg, #e0b83f, var(--brass) 52%, #a8861d);color:var(--bg);box-shadow:0 2px 0 #6e5418, var(--sh-plate), inset 0 1px 0 #ffffff52}.btn--primary:hover:not(:disabled){filter:brightness(1.07)}.btn--primary:active:not(:disabled){filter:brightness(.96);box-shadow:0 0 0 #6e5418, var(--sh-pit);transform:translateY(2px)}.btn--ghost{color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--control);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--raised-hi);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brass)}.btn--ghost:active:not(:disabled){transform:translateY(1px)}.btn--danger{color:var(--danger-hi);box-shadow:inset 0 0 0 1px var(--danger);background:0 0}.btn--danger:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--danger-hi);background:#f0554f1f}.btn--danger:active:not(:disabled){transform:translateY(1px)}.btn:disabled{background:var(--raised);color:var(--ink-off);box-shadow:var(--sh-carve);transform:none}.hint{align-items:center;gap:var(--s-2);font-size:var(--fs-3);color:var(--ink-2);line-height:var(--lh-body);display:flex}.hint--warn{color:var(--warn)}.hint--ok{color:var(--ok)}.hint__glyph{flex:none}.grid{grid-template-columns:repeat(var(--cols,8), var(--slot));gap:var(--slot-gap);justify-content:center;display:grid}.grid--forge{grid-template-columns:repeat(3, var(--slot-lg));--slot:var(--slot-lg)}.cell{width:var(--slot);height:var(--slot);padding:var(--s-1);background:var(--raised);border:1px solid var(--line);border-left:3px solid var(--rail,var(--tier));border-radius:var(--r-2);box-shadow:var(--sh-slot);transition:background var(--t-1) var(--e-out), box-shadow var(--t-1) var(--e-out);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cell[data-tier=common]{--rail:transparent}.cell:hover:not(.cell--empty){background:var(--raised-hi);box-shadow:var(--sh-slot), 0 0 0 2px color-mix(in srgb, var(--tier) 45%, transparent)}.cell--selected{outline:2px solid var(--brass-hi);outline-offset:1px}.cell--dim{opacity:.32}.cell[data-locked]{opacity:1;border-color:var(--brass-dim);cursor:not-allowed}.cell[data-locked]>*{opacity:.32}.cell[data-locked]:before{content:"着";z-index:1;font-size:var(--fs-1);color:var(--brass);font-weight:700;line-height:1;position:absolute;top:2px;right:3px}.cell--empty{border:1px solid var(--line);background:linear-gradient(#131110,#1a1714);box-shadow:inset 0 2px 5px #0009,inset 0 -1px #ffffff0a}.cell--required{border:1px solid var(--warn);box-shadow:inset 0 2px 5px #0009,inset 0 0 10px #e08a2e1f}.cell--drop{border:1px solid var(--ember);box-shadow:var(--sh-slot), var(--sh-ember)}.cell__tier{font-size:var(--fs-1);color:var(--tier-ink);font-weight:700;line-height:1;position:absolute;top:2px;left:3px}.cell__name{font-size:var(--fs-2);color:var(--ink-2);word-break:keep-all;max-height:2.4em;line-height:1.2;overflow:hidden}.cell--forge .cell__name{font-size:var(--fs-3);max-height:3.6em}.cell__count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-1);color:var(--ink-2);text-shadow:0 1px 2px #000;position:absolute;bottom:2px;right:3px}.cell--sigil:after{content:"";border-left:9px solid #0000;border-bottom:9px solid var(--brass);opacity:.55;width:0;height:0;position:absolute;bottom:0;right:0}.cell--sigil-mine:after{opacity:1}.cell__slotno{font-size:var(--fs-6);color:var(--ink-off);pointer-events:none;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.tier-chip{font-size:var(--fs-1);letter-spacing:var(--ls-label);color:var(--tier-ink);background:color-mix(in srgb, var(--tier) 12%, var(--raised));border:1px solid color-mix(in srgb, var(--tier) 55%, transparent);border-radius:var(--r-1);white-space:nowrap;align-items:center;padding:2px 6px;font-weight:700;line-height:1.4;display:inline-flex}@supports not (color:color-mix(in srgb, red, blue)){.tier-chip{background:var(--raised);border-color:var(--tier)}.cell:hover:not(.cell--empty){box-shadow:var(--sh-slot), 0 0 0 2px var(--tier)}}.chip{font-size:var(--fs-2);color:var(--ink-2);background:var(--raised);border:1px solid var(--line);border-radius:var(--r-1);align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.chip--scroll{color:var(--brass);border-color:var(--brass-dim)}.tip{width:var(--tip-w);background:var(--pit);border:1px solid var(--edge);border-top:2px solid var(--tier);border-radius:var(--r-3);box-shadow:var(--sh-pop);padding:var(--s-4);z-index:var(--z-tooltip)}.tip--inline{width:100%}.tip__name{font-family:var(--font-serif);font-size:var(--fs-6);font-weight:700;line-height:var(--lh-tight);color:var(--tier);word-break:keep-all}.tip__meta{align-items:center;gap:var(--s-2);margin-top:6px;display:flex}.tip__kind{font-size:var(--fs-2);color:var(--ink-2)}.tip__flavor{font-family:var(--font-serif);font-size:var(--fs-3);color:var(--ink-3);line-height:var(--lh-body);margin-top:var(--s-2);word-break:keep-all}.tip__actions{gap:var(--s-2);margin-top:var(--s-4);display:flex}.stats{gap:2px var(--s-4);grid-template-columns:repeat(2,1fr);display:grid}.stats__row{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.stats__key{font-size:var(--fs-3);color:var(--ink-2)}.stats__val{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-4);color:var(--ink);font-weight:600}.anvil{--k:1.7;width:100%;height:calc(132px * var(--k));background:radial-gradient(ellipse 240px 130px at 50% 74%, color-mix(in srgb, var(--ember) 20%, transparent), transparent 72%);place-items:center;display:grid}.anvil__stage{--beat:.76s;width:200px;height:132px;scale:var(--k);position:relative}.anvil i,.anvil span{display:block;position:absolute}.anvil__body{background:linear-gradient(180deg, var(--raised-hi), var(--raised));border:1px solid var(--edge);width:116px;height:26px;box-shadow:var(--sh-slot);border-radius:4px 10px 4px 4px;margin-left:-58px;top:62px;left:50%}.anvil__base{background:linear-gradient(180deg, var(--raised), var(--pit));border:1px solid var(--edge);border-top:0;border-radius:0 0 6px 6px;width:62px;height:30px;margin-left:-31px;top:88px;left:50%}.anvil__glow{border-radius:var(--r-pill);background:var(--ember);filter:blur(3px);width:46px;height:10px;animation:anvil-glow var(--beat) ease-in-out infinite;margin-left:-23px;top:56px;left:50%}@keyframes anvil-glow{0%,30%{opacity:.45;transform:scaleX(.9)}42%{opacity:1;transform:scaleX(1.35)}70%,to{opacity:.45;transform:scaleX(.9)}}.anvil__hammer{background:linear-gradient(180deg, var(--brass), var(--brass-dim));border:1px solid var(--edge);transform-origin:78% 120%;width:58px;height:20px;animation:anvil-strike var(--beat) cubic-bezier(.4, 0, .6, 1) infinite;border-radius:3px;margin-left:-29px;top:4px;left:50%}.anvil__hammer:after{content:"";background:var(--raised-hi);border:1px solid var(--edge);border-radius:2px;width:7px;height:34px;margin-left:-3px;position:absolute;top:18px;left:50%}@keyframes anvil-strike{0%{transform:translateY(-14px)rotate(-32deg)}38%{transform:translateY(2px)rotate(4deg)}42%{transform:translateY(4px)rotate(6deg)}58%{transform:translateY(-4px)rotate(-10deg)}to{transform:translateY(-14px)rotate(-32deg)}}.anvil__spark{border-radius:var(--r-pill);background:var(--ember-hi);opacity:0;width:3px;height:3px;animation:anvil-spark var(--beat) ease-out infinite;animation-delay:var(--d,0s);top:58px;left:50%}@keyframes anvil-spark{0%,40%{opacity:0;transform:translate(0)scale(1)}46%{opacity:1;transform:translate(calc(var(--x) * .3), -10px) scale(1.2)}75%{opacity:0;transform:translate(var(--x), -26px) scale(.4)}to{opacity:0;transform:translate(var(--x), -26px) scale(.4)}}.anvil__line{min-height:1.4em;font-size:var(--fs-4);color:var(--ink-2);letter-spacing:var(--ls-label);text-align:center}.anvil__line.is-swap{animation:.32s ease-out anvil-line}@keyframes anvil-line{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.anvil__hammer,.anvil__glow,.anvil__spark{animation:none}.anvil__hammer{transform:translateY(2px)rotate(4deg)}.anvil__line.is-swap{animation:none}}.scroll-empty{font-size:var(--fs-6);color:var(--ink-off)}.fpv{align-items:center;gap:var(--s-4);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-3);background:var(--pit);box-shadow:var(--sh-carve);display:flex}.fpv__q{width:88px;height:88px;font-family:var(--font-serif);border-radius:var(--r-2);border:1px dashed var(--control);color:var(--ink-3);flex:none;place-items:center;font-size:46px;font-weight:700;display:grid}.fpv--unknown .fpv__q{color:var(--ember-hi);border-color:var(--ember);animation:1.6s ease-in-out infinite fpv-breathe}@keyframes fpv-breathe{0%,to{transform:scale(1);box-shadow:0 0 #0000}50%{box-shadow:var(--sh-ember);transform:scale(1.06)}}.fpv--nonsense .fpv__q{color:var(--ink-off);border-style:solid}@media (prefers-reduced-motion:reduce){.fpv--unknown .fpv__q{box-shadow:var(--sh-ember);animation:none}}#stage-sound{z-index:500;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stage-sound .stage-sound__box{pointer-events:auto;width:min(420px,86vw);padding:var(--s-5);border-radius:var(--r-2);border:1px solid var(--line);background:#0b0a08f7;margin-bottom:120px;box-shadow:0 18px 44px #0009}#stage-sound .stage-sound__title{font-size:var(--fs-6);letter-spacing:var(--ls-title);color:var(--brass-hi);margin-bottom:var(--s-4);text-align:center;font-weight:700}#stage-sound .stage-sound__note{margin:var(--s-4) 0 0;font-size:var(--fs-2);color:var(--ink-3);text-align:center;line-height:1.8}.snd{gap:var(--s-4);flex-direction:column;display:flex}.snd-row{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-3);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;display:flex}.snd-row__head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.snd-row__name{font-size:var(--fs-4);color:var(--ink);font-weight:700}.snd-row__desc{font-size:var(--fs-2);color:var(--ink-3)}.snd-toggle{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);cursor:pointer;background:var(--pit);box-shadow:inset 0 0 0 1px var(--control);color:var(--ink-3);font-size:var(--fs-2);transition:box-shadow var(--t-1) var(--e-out), color var(--t-1) var(--e-out);border:0;padding:4px 10px 4px 4px;display:inline-flex}.snd-toggle__knob{border-radius:var(--r-pill);background:var(--line);width:26px;height:16px;transition:background var(--t-1) var(--e-out);position:relative}.snd-toggle__knob:after{content:"";background:var(--ink-3);width:12px;height:12px;transition:transform var(--t-1) var(--e-out), background var(--t-1) var(--e-out);border-radius:50%;position:absolute;top:2px;left:2px}.snd-toggle.is-on{color:var(--brass-hi);box-shadow:inset 0 0 0 1px var(--brass)}.snd-toggle.is-on .snd-toggle__knob{background:var(--brass-dim)}.snd-toggle.is-on .snd-toggle__knob:after{background:var(--brass-hi);transform:translate(10px)}.snd-range{width:100%;accent-color:var(--brass);cursor:pointer}.snd-range:disabled{opacity:.35;cursor:default}.forge-tabs{margin-bottom:var(--s-2);flex-wrap:wrap;gap:4px;display:flex}.forge-tab{border-radius:var(--r-3);cursor:pointer;font-size:var(--fs-2);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);transition:color var(--t-1) var(--e-out), box-shadow var(--t-1) var(--e-out);align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.forge-tab:hover{color:var(--ink)}.forge-tab.is-on{color:var(--ink);box-shadow:inset 0 0 0 1px var(--brass);background:var(--raised-hi)}.forge-tab__n{font-family:var(--font-num);font-size:var(--fs-1);color:var(--ink-3)}.forge-tab.is-on .forge-tab__n{color:var(--brass-hi)}.forge-sprite{width:168px;height:168px;image-rendering:pixelated;border:1px solid var(--line);border-radius:var(--r-3);background:var(--pit);box-shadow:var(--sh-carve);animation:.42s ease-out both sprite-in}@keyframes sprite-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.forge-sprite{animation:none}}.delta{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-2);background:var(--pit);flex-direction:column;display:flex}.delta__head{font-size:var(--fs-2);letter-spacing:var(--ls-label);color:var(--ink-3)}.stats__val.is-up{color:var(--ok)}.stats__val.is-down{color:var(--danger-hi)}.opt{gap:var(--s-2);font-size:var(--fs-3);line-height:var(--lh-body);color:var(--ink-2);word-break:keep-all;display:flex}.opt+.opt{margin-top:var(--s-2)}.opt__glyph{color:var(--ok);flex:none}.opt__cond{color:var(--ink-3)}.sigil{margin:var(--s-3) calc(-1 * var(--s-4)) calc(-1 * var(--s-4));padding:var(--s-3) var(--s-4);background:var(--pit);box-shadow:var(--sh-pit);border-top:1px solid var(--line);border-left:2px solid var(--brass);border-radius:0 0 var(--r-3) var(--r-3);min-height:56px;position:relative}.tip--inline .sigil,.sigil--standalone{margin:var(--s-3) 0 0;border-radius:var(--r-2)}.sigil__label{font-size:var(--fs-1);letter-spacing:var(--ls-label);color:var(--ink-3)}.sigil__name{font-family:var(--font-serif);font-size:var(--fs-5);letter-spacing:var(--ls-stamp);color:var(--brass-hi);text-shadow:var(--sh-engrave);word-break:break-all;font-weight:700}.sigil__date{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-2);color:var(--ink-3)}.sigil--mine{background:linear-gradient(90deg, var(--brass-dim), transparent 62%), var(--pit);box-shadow:var(--sh-plate)}.sigil__badge{border-radius:var(--r-1);background:var(--brass);color:var(--bg);font-size:var(--fs-1);letter-spacing:var(--ls-label);align-items:center;padding:1px 7px;font-weight:700;display:inline-flex}.sigil--none{border-left-color:var(--ink-off);border-top:1px dashed var(--line)}.sigil--none .sigil__name{color:var(--ink-off);letter-spacing:var(--ls-label);font-family:var(--font);font-weight:400;font-size:var(--fs-3);text-shadow:none}.seal{background:var(--brass);border:1px solid var(--brass-hi);border-radius:var(--r-1);width:44px;height:44px;box-shadow:var(--sh-seal);transform:rotate(var(--tilt,0deg));color:var(--bg);font-family:var(--font-serif);writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.02em;background-image:radial-gradient(circle at var(--sx1,30%) var(--sy1,24%), #0000004d 0 1.2px, transparent 1.8px), radial-gradient(circle at var(--sx2,68%) var(--sy2,61%), #0000003d 0 1.6px, transparent 2.2px), radial-gradient(circle at var(--sx3,44%) var(--sy3,82%), #0003 0 1.1px, transparent 1.7px);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1.05;display:flex;position:absolute;bottom:-6px;right:-6px}.seal--mine{border-color:var(--core);box-shadow:var(--sh-seal), 0 0 16px -3px var(--brass-hi)}.seal--sm{width:30px;height:30px;font-size:11px}.sigil--new .sigil__name{background:linear-gradient(100deg, var(--brass-hi) 0%, var(--brass-hi) 40%, var(--core) 50%, var(--brass-hi) 60%, var(--brass-hi) 100%);color:#0000;animation:sigil-sweep .9s var(--e-out) 1;background-size:300% 100%;-webkit-background-clip:text;background-clip:text}.sigil--new .seal{animation:seal-strike .32s var(--e-strike) 1}.lineage{align-items:center;gap:var(--s-2);margin-top:var(--s-2);font-size:var(--fs-2);color:var(--ink-3);display:flex}.lineage__n{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-5);color:var(--brass);font-weight:700}.lineage__dots{gap:3px;display:flex}.lineage__dot{background:var(--brass);opacity:.8;border-radius:50%;width:3px;height:3px}.prob{align-items:baseline;gap:var(--s-2) var(--s-3);padding:var(--s-2) 0;grid-template-columns:1fr auto auto auto auto;display:grid}.prob+.prob{border-top:1px solid var(--line)}.prob__label{font-size:var(--fs-3);color:var(--ink-2)}.prob__before,.prob__after{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-6);text-align:right;min-width:3.6ch;font-weight:700}.prob__before{color:var(--ink-3);font-weight:400}.prob__arrow{color:var(--ink-3);font-size:var(--fs-3)}.prob__after{color:var(--ink)}.prob__after--good{color:var(--ok)}.prob__after--bad{color:var(--danger-hi)}.prob__after--gain{color:var(--brass-hi);text-shadow:var(--sh-engrave)}.prob__mark{color:var(--brass);font-size:var(--fs-3)}.prob--tick .prob__after{animation:prob-tick var(--t-3) var(--e-out) 1}.prob__bar{background:var(--line);border-radius:var(--r-pill);grid-column:1/-1;height:2px;overflow:hidden}.prob__bar>i{height:100%;width:var(--w,0%);background:var(--danger);transition:width var(--t-3) var(--e-out);display:block}.prob--hot{box-shadow:inset 2px 0 0 var(--danger);background:#f0554f12}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex}.tab{min-width:84px;padding:10px var(--s-3);font-size:var(--fs-4);color:var(--ink-3);text-align:center;transition:color var(--t-1) var(--e-out);border-bottom:2px solid #0000;font-weight:600;position:relative}.tab:hover{color:var(--ink-2);border-bottom-color:var(--line)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brass);font-weight:700}.tab__count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-2);color:var(--ink-3);margin-left:5px}.field{align-items:center;gap:var(--s-2);padding:0 var(--s-3);background:var(--pit);border:1px solid var(--control);border-radius:var(--r-3);box-shadow:var(--sh-carve);transition:border-color var(--t-1) var(--e-out);display:flex}.field:focus-within{border-color:var(--brass-hi);box-shadow:var(--sh-carve), var(--sh-focus)}.field__glyph{color:var(--ink-3);font-size:var(--fs-4);flex:none}.field__input{min-width:0;font-size:var(--fs-5);color:var(--ink);background:0 0;border:0;outline:none;flex:auto;padding:12px 0}.field__input:focus-visible{box-shadow:none}.field__input::placeholder{color:var(--ink-3)}.field__count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-2);color:var(--ink-3);flex:none}.select{height:36px;padding:0 var(--s-3);background:var(--raised);color:var(--ink-2);border:1px solid var(--control);border-radius:var(--r-3);font-size:var(--fs-3)}.empty{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-7) var(--s-4);text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--r-3);background:var(--pit);box-shadow:var(--sh-carve);flex-direction:column;display:flex}.empty__msg{font-size:var(--fs-4);color:var(--ink-2)}.empty__hint{font-size:var(--fs-3);color:var(--ink-3)}.toast{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--edge);border-left:3px solid var(--brass);border-radius:var(--r-3);box-shadow:var(--sh-pop);font-size:var(--fs-3);color:var(--ink);z-index:var(--z-toast);animation:rise var(--t-2) var(--e-out) 1;display:flex}.forge-stage{min-height:240px;position:relative}.cell--heating{animation:heat var(--t-forge) var(--e-out) both;animation-delay:calc(var(--i,0) * 55ms);--rail:var(--line);border-color:var(--line)!important}.reading{font-family:var(--font-serif);font-size:var(--fs-3);color:var(--ink-3);flex-direction:column;align-items:center;gap:2px;display:flex}.reading__item{animation:rise var(--t-2) var(--e-out) both;animation-delay:calc(var(--i,0) * 55ms)}.sim{height:96px;padding:var(--s-2) 0;background:var(--pit);box-shadow:var(--sh-carve);border-radius:var(--r-2);align-items:flex-end;gap:1px;display:flex;position:relative}.sim>i{min-width:0;height:var(--h,10%);background:var(--ok);transform-origin:bottom;animation:bar-rise .18s var(--e-out) both;animation-delay:calc(var(--i,0) * 7ms);flex:1 1 0}.sim>i.out{background:var(--warn)}.sim__band{left:0;right:0;top:var(--band-top,20%);height:var(--band-h,40%);pointer-events:none;background:#4fc98a14;border-top:1px dashed #4fc98a59;border-bottom:1px dashed #4fc98a59;position:absolute}.sim__counter{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-6);color:var(--ink);letter-spacing:.12em}.sim__counter small{color:var(--ink-3);font-size:var(--fs-3)}.forge-result{font-family:var(--font-serif);font-size:var(--fs-9);font-weight:700;line-height:var(--lh-tight);color:var(--tier);text-align:center;animation:stamp .32s var(--e-strike) both;word-break:keep-all}.forge-banner{align-items:center;gap:var(--s-2);padding:4px var(--s-3);font-size:var(--fs-2);letter-spacing:var(--ls-label);color:var(--brass-hi);border:1px solid var(--brass-dim);border-radius:var(--r-pill);box-shadow:var(--sh-ember);display:inline-flex}.forge-nonsense{padding:6px var(--s-4);font-size:var(--fs-5);letter-spacing:var(--ls-stamp);color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-2);display:inline-block;transform:rotate(-3deg)}.forge-stamp{padding:9px var(--s-5);font-family:var(--font-serif);font-size:var(--fs-6);letter-spacing:var(--ls-stamp);text-indent:var(--ls-stamp);color:var(--danger-hi);border:2px solid var(--danger);border-radius:var(--r-2);box-shadow:inset 0 0 0 3px var(--pit);font-weight:700;display:inline-block;transform:rotate(-3deg)}.hud{z-index:var(--z-hud);align-items:center;gap:var(--s-2);padding:6px var(--s-3);border:1px solid var(--edge);border-radius:var(--r-3);font-size:var(--fs-3);color:var(--ink);background:linear-gradient(#1e1812f0,#0f0c09f0);display:flex;position:absolute;box-shadow:inset 0 1px #ffffff0f,0 4px 12px #00000059}.hud__num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700}.hud--alert{border-color:var(--danger);color:var(--danger-hi);animation:1.6s infinite pulse}.bar{background:var(--pit);border:1px solid var(--edge);border-radius:var(--r-pill);height:8px;overflow:hidden}.bar>i{height:100%;width:var(--w,100%);background:var(--danger);transition:width var(--t-2) var(--e-out);background-image:linear-gradient(#ffffff47,#fff0 45%,#00000038);display:block}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes heat{0%{background-color:var(--raised);box-shadow:var(--sh-slot)}55%{background-color:var(--ember-deep);box-shadow:var(--sh-slot), var(--sh-ember)}to{background-color:var(--ember-deep);box-shadow:var(--sh-slot), var(--sh-ember)}}@keyframes sigil-sweep{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes seal-strike{0%{opacity:0;transform:scale(2.4)rotate(-14deg)}to{transform:scale(1) rotate(var(--tilt,0deg));opacity:1}}@keyframes stamp{0%{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:var(--ls-title)}}@keyframes prob-tick{0%{transform:translateY(0)}35%{color:var(--brass-hi);transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}body.stage-dock #app{display:block}body.stage-dock #game-canvas{width:100%;height:100%;position:absolute;inset:0}body.stage-dock #ui-overlay{width:min(560px,44vw);min-width:360px;max-width:none;height:100dvh;z-index:calc(var(--z-panel) + 10);border-left:1px solid #ffffff1a;position:fixed;inset:0 0 0 auto;box-shadow:-24px 0 52px #0000009e}body.stage-dock #hud-layer{right:0}@media (hover:none),(pointer:coarse){body.stage-play #mobile-controls{display:block}body.stage-dock #mobile-controls,#rotate-hint{display:none}body.stage-dock #ui-overlay{inset:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) auto;border:1px solid #ffffff1a;border-radius:12px;width:min(92vw,560px);min-width:0;height:auto}body.stage-coop.stage-dock #mobile-controls{display:block}body.stage-coop.stage-dock #ui-overlay{width:clamp(340px,44vw,560px)}body.stage-coop.stage-dock #mobile-controls .mobile-pad--action{right:calc(clamp(340px, 44vw, 560px) + max(10px, env(safe-area-inset-right)));flex-direction:column}body.stage-coop.stage-dock #mobile-controls .mobile-pad--menu{right:calc(clamp(340px, 44vw, 560px) + max(10px, env(safe-area-inset-right)))}body.stage-coop.stage-dock #mobile-controls .mobile-pad--menu button:not([data-mobile=pause]){display:none}}@media (hover:none) and (orientation:portrait){body.stage-dock #ui-overlay{inset:max(6px, env(safe-area-inset-top)) 6px max(6px, env(safe-area-inset-bottom));width:auto}body.stage-coop.stage-dock #ui-overlay{inset:max(6px, env(safe-area-inset-top)) 6px 46vh;width:auto}body.stage-coop.stage-dock #mobile-controls{z-index:calc(var(--z-panel) + 11)}body.stage-coop.stage-dock #mobile-controls .mobile-pad--action{right:max(14px, env(safe-area-inset-right));flex-direction:row}body.stage-coop.stage-dock #mobile-controls .mobile-pad--menu{top:56vh;right:max(14px, env(safe-area-inset-right))}}
