:root{--u: 2px;--ink: #140d24;--text: #fff4e0;--muted: #a99cc8;--dim: #7a6c9c;--panel: #2a2046;--panel-hi: #45386e;--panel-lo: #1b1431;--panel2: #362a5a;--panel2-hi: #4a3b78;--panel2-lo: #251c42;--well: #1a1330;--lime: #a8e05f;--lime-hi: #d4f59a;--lime-dk: #4e8a34;--cyan: #3fc9d9;--cyan-hi: #93eef5;--cyan-lo: #1d7a8a;--yellow: #ffcf4a;--yellow-hi: #ffeb9c;--yellow-lo: #c48d1a;--orange: #ff8a3d;--orange-hi: #ffbb80;--orange-lo: #b8521a;--pink: #ff6fa8;--pink-hi: #ffb0cf;--pink-lo: #b23a6e;--purple: #a77bff;--purple-hi: #d0b8ff;--purple-lo: #6340b8;--blue: #5b8cff;--blue-hi: #a8c4ff;--blue-lo: #3050b0;--red: #e8483c;--red-hi: #ff8068;--red-dk: #7c2420;--red-lo: #9a2a22;--maroon: #8e2a27;--maroon-dk: #5e1a17;--maroon-hi: #b44a3e;--gold: #dcb062;--gold-hi: #f2d68e;--gold-lo: #a87b32;--top: max(12px, env(safe-area-inset-top));--bottom: max(10px, env(safe-area-inset-bottom));--left: max(10px, env(safe-area-inset-left));--right: max(10px, env(safe-area-inset-right));font-family:Galmuri11,Apple SD Gothic Neo,Noto Sans KR,monospace;font-size:11px;line-height:16px;color:var(--text);background:#a9c98c;font-synthesis:none;-webkit-text-size-adjust:100%;-webkit-font-smoothing:none;font-smooth:never}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#a9c98c;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,input{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}:where(button){border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:var(--u) dashed var(--yellow);outline-offset:4px}b,strong{font-weight:700}.icon{display:block;flex-shrink:0;image-rendering:pixelated}[hidden]{display:none!important}#app{position:fixed;inset:0}#view{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}:where(.stage-card,.round,.zoom-reset,.toast,.hint,.boss-bar,.fest,.combo,.mode,.joy-toggle,.pad,.card,.panel,.tabs button,.trait,.goal,.achievement,.tile,.buy:not(.max),.cta,.stats li,.dna-pill,.compare,.ad-row,.progress,.bar,.profile,.meter,.chip,.trait-icon,.medal){--f-line: var(--ink);--f-fill: var(--panel);--f-hi: var(--panel-hi);--f-lo: var(--panel-lo);--f-drop: rgba(10, 6, 20, .45);background-color:var(--f-fill);box-shadow:0 calc(var(--u) * -1) 0 var(--f-line),0 var(--u) 0 var(--f-line),calc(var(--u) * -1) 0 0 var(--f-line),var(--u) 0 0 var(--f-line),inset 0 var(--u) 0 var(--f-hi),inset 0 calc(var(--u) * -1) 0 var(--f-lo),0 calc(var(--u) * 2) 0 var(--f-drop)}:where(.chip,.trait-icon,.medal){--f-fill: var(--c);--f-hi: var(--c-hi, rgba(255, 255, 255, .35));--f-lo: var(--c-lo, rgba(0, 0, 0, .25));--f-drop: transparent;color:#fffaf0}.chip{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.stick{position:fixed;left:0;top:0;width:112px;height:112px;margin:-56px 0 0 -56px;pointer-events:none;opacity:0;z-index:3}.stick-knob{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px;background:var(--panel)}.hud{position:absolute;inset:0;pointer-events:none;z-index:2}.hud button{pointer-events:auto}.top{position:absolute;top:calc(var(--top) + 2px);left:calc(var(--left) + 2px);right:calc(var(--right) + 2px);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stage-card{--stage: var(--yellow);position:relative;width:min(224px,62vw);padding:6px 8px}.stage-line{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;padding:2px 0 0 2px}.eyebrow{font-weight:700;color:var(--orange)}.stage-card .eyebrow{flex-shrink:0;padding:0 4px;color:var(--ink);background:var(--stage);box-shadow:0 0 0 var(--u) var(--ink),inset 0 calc(var(--u) * -1) 0 #00000040}.stage-title{overflow:hidden;text-overflow:ellipsis;color:var(--stage);font-weight:700}.size{display:flex;align-items:baseline;gap:4px;margin-top:4px}.size b{font-size:20px;line-height:24px;font-variant-numeric:tabular-nums;color:#fffaf0;text-shadow:var(--u) var(--u) 0 var(--ink)}.size span{color:var(--lime);font-weight:700}.mass{display:flex;justify-content:space-between;gap:8px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.rate{color:var(--lime);font-weight:700}.progress{--f-fill: var(--well);--f-hi: #0e0a1c;--f-lo: var(--well);--f-drop: transparent;height:8px;margin:8px 2px 0;overflow:hidden}.progress i,.bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--lime) 0 6px,var(--lime-dk) 6px 8px);transition:width .5s steps(8)}.progress i{background:repeating-linear-gradient(90deg,var(--lime-hi) 0 2px,var(--lime) 2px 6px,var(--lime-dk) 6px 8px)}.next{color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next:empty{display:none}.health{position:absolute;right:8px;top:28px;display:flex;gap:2px}.health i{display:block;color:#3d3160;--icon-line: #0e0a1c}.health i.on{color:#ff5a48;--icon-line: var(--ink)}.health i.pop{animation:bump .3s steps(3)}.health.low i.on{animation:heartbeat .8s steps(2) infinite}@keyframes heartbeat{50%{transform:translateY(-2px)}}@keyframes bump{0%{transform:translateY(-4px)}}.crisis{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;box-shadow:inset 0 0 0 6px #c832288c,inset 0 0 0 14px #c8322840}.crisis.on{opacity:1;animation:crisis 1.2s steps(2) infinite}@keyframes crisis{50%{opacity:.4}}.side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.round{--f-fill: var(--orange);--f-hi: var(--orange-hi);--f-lo: var(--orange-lo);width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.round:active,.zoom-reset:active{transform:translateY(var(--u))}.badge{position:absolute;right:-4px;top:-4px;width:8px;height:8px;background:var(--pink);box-shadow:0 0 0 var(--u) var(--ink),inset 0 var(--u) 0 var(--pink-hi);display:none;animation:blink 1s steps(1) infinite}@keyframes blink{50%{background:var(--yellow)}}.ready>.badge{display:block}.evo-toggle.ready{animation:nudge 2.4s steps(1) infinite}@keyframes nudge{80%{transform:none}84%{transform:translate(-2px)}88%{transform:translate(2px)}92%{transform:none}}.zoom-reset{--f-fill: var(--purple);--f-hi: var(--purple-hi);--f-lo: var(--purple-lo);min-width:40px;padding:0 4px;align-self:flex-end;height:44px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink)}.zoom-reset.visible{display:flex}.zoom-reset b{font-variant-numeric:tabular-nums}.toasts{position:absolute;left:16px;right:16px;top:calc(var(--top) + 176px);display:flex;justify-content:center;pointer-events:none}.toast{--k: var(--cyan);--f-hi: var(--k);padding:6px 10px;text-align:left;width:min(280px,100%);min-width:0;animation:toast-in .24s steps(3);background-image:linear-gradient(var(--k),var(--k));background-size:100% 4px;background-repeat:no-repeat}.toast small{display:block;font-size:10px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--k);font-weight:700;margin-top:2px}.toast strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;line-height:16px;margin-top:2px;word-break:keep-all;color:#fffaf0}.toast.leaving{animation:toast-out .24s steps(3) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}.toast.stage{--k: var(--yellow);--f-fill: #3a2a12;--f-lo: #22180a;padding:6px 10px}.toast.stage strong{color:var(--yellow-hi);text-shadow:var(--u) var(--u) 0 #8a5a10}.toast.discover{--k: var(--cyan);padding:6px 10px}.toast.discover small{margin:0}.toast.discover strong,.toast.mission strong,.toast.achieve strong,.toast.dna strong,.toast.skill strong{font-size:12px;line-height:16px;margin-top:2px}.toast.boss{--k: var(--red-hi);--f-fill: #3a1424;--f-lo: #200a12}.toast.dimension{--k: var(--purple);--f-fill: #2c1f58;padding:6px 10px}.toast.dimension strong{color:var(--purple-hi)}.toast.skill{--k: var(--orange)}.toast.dna{--k: var(--cyan)}.toast.event{--k: var(--pink)}.toast.achieve{--k: var(--yellow)}.toast.mission{--k: var(--lime)}.toast.split{--k: var(--pink);--f-fill: #3a1838}.flash{position:fixed;inset:0;pointer-events:none;z-index:5;animation:flash .5s steps(3) forwards}.flash.hurt{box-shadow:inset 0 0 0 8px #e2463299,inset 0 0 0 20px #e2463240}.flash.win{background:#fff0b459}.flash.split{background:#ffc8e666}@keyframes flash{to{opacity:0}}.hint{position:absolute;left:0;right:0;width:max-content;max-width:calc(100vw - 40px);margin:0 auto;bottom:calc(var(--bottom) + 180px);text-align:center;padding:8px 14px;line-height:20px;animation:toast-in .3s steps(3) .6s both}.hint b{color:var(--lime)}.hint b+b,.hint br+b{color:var(--yellow)}.hint.leaving{animation:toast-out .3s steps(3) forwards}.boss-bar,.fest{position:absolute;left:50%;top:calc(var(--top) + 154px);transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;white-space:nowrap;animation:toast-in .24s steps(3)}.boss-bar{--boss: var(--purple);--f-fill: #2e1530;--f-hi: #5a2a52}.boss-bar .crown,.event-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--boss);color:var(--yellow-hi);box-shadow:0 0 0 var(--u) var(--ink),inset 0 var(--u) 0 #ffffff59,inset 0 calc(var(--u) * -1) 0 #00000040}.boss-text small,.event-text small{display:block;color:var(--muted)}.boss-text b{color:var(--pink-hi)}.pips{display:flex;gap:2px;margin-left:4px}.pips i{width:6px;height:12px;background:#4b3050}.pips i.on{background:#ff5a48;box-shadow:inset 0 var(--u) 0 #ffa48a}.boss-bar.charging{--f-fill: #78201c;--f-hi: #a3372e;animation:shake .16s steps(2) infinite}@keyframes shake{50%{translate:2px 0}}.fest{--f-fill: #3a2a12;--f-hi: #6b5524;--f-lo: #22180a;overflow:visible;padding-bottom:8px}.event-icon{background:var(--yellow);color:#fffaf0}.fest[data-type=swarm] .event-icon{background:var(--pink)}.fest[data-type=meteor] .event-icon{background:var(--orange)}.fest[data-type=treasure] .event-icon{background:#c98a3a}.event-text small{color:#e9d6a6}.event-text b{color:var(--yellow-hi)}.fest em{font-style:normal;font-weight:700;color:var(--yellow);font-variant-numeric:tabular-nums;margin-left:2px}.fest i{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--yellow);transform-origin:left;transition:transform 1s steps(6)}.boss-bar:not([hidden])~.fest{top:calc(var(--top) + 206px)}.combo{position:absolute;left:50%;top:calc(50% + 60px);transform:translate(-50%);display:flex;align-items:baseline;gap:6px;padding:4px 10px 8px;white-space:nowrap}.combo b{font-size:20px;line-height:24px;color:var(--lime);font-variant-numeric:tabular-nums;text-shadow:var(--u) var(--u) 0 var(--lime-dk)}.combo em{font-style:normal;color:var(--yellow)}.combo i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--lime);transform-origin:left;transform:scaleX(0)}.combo.tick i{animation:drain var(--window, 2.5s) steps(10) forwards}.combo.tick b{animation:bump .2s steps(2)}.combo.burst{--f-fill: #8a5a10;--f-hi: #c48c1e;animation:burst .5s steps(1)}.combo.burst b{color:var(--yellow-hi);text-shadow:var(--u) var(--u) 0 #5a3a08}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes burst{0%{transform:translate(-50%) translateY(-4px)}50%{transform:translate(-50%)}}.dock{--pad-h: 120px;position:absolute;left:calc(var(--left) + 2px);right:calc(var(--right) + 2px);bottom:calc(var(--bottom) + 4px);transition:transform .42s cubic-bezier(.22,1,.36,1)}.dock.down{transform:translateY(calc(var(--pad-h) + 6px));transition-duration:.34s;transition-timing-function:cubic-bezier(.5,0,.75,.3)}.dock-tabs{display:flex;gap:8px;margin:0 4px 8px}.mode,.joy-toggle{--f-fill: var(--maroon);--f-hi: var(--maroon-hi);--f-lo: var(--maroon-dk);height:24px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;color:#fbe8d2;white-space:nowrap}.mode{--f-fill: var(--panel);--f-hi: var(--panel-hi);--f-lo: var(--panel-lo);color:var(--lime)}.mode.manual{--f-fill: #4a2a14;--f-hi: var(--orange);color:var(--orange-hi)}.mode i{width:6px;height:6px;background:var(--lime);box-shadow:0 0 0 var(--u) #3a1210;animation:led 1.2s steps(1) infinite}.mode.manual i{background:#ffb347;animation:none}@keyframes led{50%{background:#4e7a2c}}.joy-toggle,.mode{pointer-events:auto}.mode.manual:active,.joy-toggle:active{transform:translateY(var(--u))}.joy-toggle .icon{transition:transform .3s ease}.dock.down #joy-toggle .icon{transform:rotate(180deg)}.evo-toggle{position:relative;--f-fill: var(--cyan);--f-hi: var(--cyan-hi);--f-lo: var(--cyan-lo);color:var(--ink);font-weight:700}.evo-toggle .dna-count{min-width:16px;height:16px;margin-right:-4px;padding:0 4px;line-height:16px;text-align:center;color:var(--cyan-hi);background:var(--ink);font-variant-numeric:tabular-nums}.pad{--f-fill: var(--gold);--f-hi: var(--gold-hi);--f-lo: var(--gold-lo);position:relative;height:var(--pad-h);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;box-shadow:0 calc(var(--u) * -1) 0 var(--ink),0 var(--u) 0 var(--ink),calc(var(--u) * -1) 0 0 var(--ink),var(--u) 0 0 var(--ink),inset 0 0 0 6px var(--maroon),inset 0 var(--u) 0 6px var(--maroon-hi),inset 0 0 0 8px var(--maroon-dk),inset 0 calc(var(--u) * 5) 0 0 var(--gold-hi),0 calc(var(--u) * 3) 0 #1a0e0a66;transition:opacity .3s ease .05s}.dock.down .pad{transition-delay:0s;opacity:0;pointer-events:none}.joy{pointer-events:auto;width:96px;height:96px;flex-shrink:0;touch-action:none}.dock.down .joy,.dock.down .action{pointer-events:none}.joy .dpad{display:block;width:100%;height:100%;image-rendering:pixelated}.pad-mid{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--red-dk)}.pad-mid .brand{color:var(--maroon);letter-spacing:2px}.pad-mid small{color:var(--gold-lo)}.stripes{display:flex;flex-direction:column;gap:4px;width:100%;max-width:44px}.stripes i{display:block;height:2px;background:var(--gold-lo)}.actions{width:180px;height:104px;flex-shrink:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,52px)}.action{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:44px;min-height:44px;touch-action:none;pointer-events:auto}.action.signature{grid-area:1 / 1 / 3 / 2}.action.tertiary{grid-area:1 / 2}.action.spit{grid-area:1 / 3}.action.secondary{grid-area:2 / 2}.action.primary{grid-area:2 / 3}.action.spit:disabled .face{opacity:.5}.action .face{position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:2px;color:#fff1dc;background:var(--art-up) center / 100% 100% no-repeat;image-rendering:pixelated}.action .face{width:40px;height:40px}.action.pressed .face{background-image:var(--art-down)}.action.pressed .face>.icon{transform:translateY(var(--u))}.action .face:after{content:"";position:absolute;inset:0;background:#1c0a0a99;-webkit-mask:var(--art-up) center / 100% 100% no-repeat;mask:var(--art-up) center / 100% 100% no-repeat;clip-path:inset(0 0 calc((1 - var(--cd, 0)) * 100%) 0);opacity:0}.action.cooling .face:after{opacity:1}.action.active .face{animation:glow .24s steps(2) infinite}@keyframes glow{50%{filter:brightness(1.35)}}.action .label{color:var(--red-dk);font-size:10px;line-height:12px;font-weight:700;white-space:nowrap}.action .need,.action .lock{display:none}.action.locked .face{background-image:var(--art-off);color:#e8e2dc}.action.locked .face>.icon:first-child{display:none}.action.locked .lock{display:block}.action.locked .name{display:none}.action .tier{position:absolute;right:-14px;bottom:2px;padding:0 2px;color:var(--ink);background:var(--yellow);box-shadow:0 0 0 1px var(--ink);font-style:normal;font-size:10px;line-height:12px;font-weight:700;white-space:nowrap;pointer-events:none}.action.locked .tier{display:none}.signature .face>.tier{right:3px;top:5px;bottom:auto;box-shadow:none}.action.locked .need{display:inline;color:var(--gold-lo)}.action.nope{animation:nope .24s steps(4)}.action.signature .face{background:var(--well);color:var(--sp, var(--lime));box-shadow:inset 0 0 0 2px var(--ink),inset 0 4px 0 var(--panel-hi),inset 0 -4px 0 var(--ink);overflow:hidden}.signature .sp-fill{position:absolute;left:2px;right:2px;bottom:2px;height:calc((100% - 4px) * var(--charge, 0));background:var(--sp, var(--lime));opacity:.4;transition:height .2s steps(4)}.signature .face>.icon{position:relative}.signature.ready .face{animation:glow .3s steps(2) infinite}.signature.ready .sp-fill{opacity:.75}.signature.pressed .face{transform:translateY(2px)}.signature.ready .label{color:var(--maroon-dk)}@keyframes nope{25%{translate:-4px 0}75%{translate:4px 0}}.modal,.sheet{position:fixed;inset:0;z-index:10}.modal{display:flex;align-items:center;justify-content:center;padding:24px;background:#0c081899;opacity:0;transition:opacity .26s ease}.modal.shown{opacity:1}.modal .card{transform:translateY(16px);transition:transform .34s cubic-bezier(.22,1,.36,1)}.modal.shown .card{transform:none}.modal.closing,.sheet.closing{pointer-events:none}.card{--f-hi: var(--yellow);width:min(308px,100%);padding:14px 12px 12px;text-align:center;background-image:linear-gradient(var(--yellow),var(--yellow));background-size:100% 4px;background-repeat:no-repeat}.card .eyebrow{display:block;color:var(--yellow)}.card h2{font-size:20px;line-height:28px;font-weight:700;margin:6px 0 4px;word-break:keep-all;color:#fffaf0}.factor{color:var(--muted)}.factor b{font-size:20px;line-height:24px;color:var(--lime);text-shadow:var(--u) var(--u) 0 var(--lime-dk)}.factor small{color:var(--yellow)}.compare{--f-fill: var(--well);--f-line: var(--panel-lo);--f-hi: #0e0a1c;--f-lo: var(--well);--f-drop: transparent;display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 2px 6px;padding:10px 8px}.compare>div:not(.arrow){flex:1;min-width:0}.compare dt{color:var(--muted)}.compare dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.compare div:last-child dd{color:var(--lime)}.compare .arrow{color:var(--lime)}.muted{color:var(--muted);margin:10px 0 0}.muted:empty{display:none}.cta{--f-fill: var(--red);--f-hi: var(--red-hi);--f-lo: var(--red-dk);display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 4px);height:48px;margin:18px 2px 4px;color:#fff4e4;font-size:20px;line-height:24px;font-weight:700;text-shadow:var(--u) var(--u) 0 var(--red-dk)}.cta:active{transform:translateY(var(--u));--f-hi: var(--red)}.cta.ghost{--f-fill: var(--yellow);--f-hi: var(--yellow-hi);--f-lo: var(--yellow-lo);color:var(--ink);font-size:12px;line-height:16px;margin-top:14px;text-shadow:none}.cta.ghost:disabled{opacity:.5}.cta.ghost+.cta{margin-top:12px}.backdrop{position:absolute;inset:0;background:#0c08188c;opacity:0;transition:opacity .3s ease}.sheet.shown .backdrop{opacity:1}.panel{--accent: var(--cyan);--f-drop: transparent;--f-hi: var(--accent);position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:440px;padding:8px 14px calc(var(--bottom) + 8px);transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);will-change:transform;background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 4px;background-repeat:no-repeat}.sheet.shown .panel{transform:none}.sheet.closing .panel{transition:transform .28s cubic-bezier(.5,0,.75,.3)}#sheet .panel{--accent: var(--orange)}.grab{width:32px;height:4px;background:var(--panel-hi);margin:0 auto 10px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-head h2{font-size:20px;line-height:24px;font-weight:700;margin:0;color:var(--accent);text-shadow:var(--u) var(--u) 0 var(--ink)}.round.small{--f-fill: var(--panel2);--f-hi: var(--panel2-hi);--f-lo: var(--panel2-lo);--f-drop: transparent;width:32px;height:32px;color:var(--text)}.profile{--f-fill: #1d2a4a;--f-hi: #33477a;--f-lo: #121b33;display:flex;align-items:center;gap:12px;margin:14px 2px 12px;padding:12px;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 60% 70%,rgba(255,255,255,.6) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 64%,rgba(255,235,156,.8) 0 1px,transparent 1.5px)}.portrait{position:relative;flex-shrink:0;width:72px;height:72px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;background:#4f8a3e;box-shadow:0 0 0 var(--u) var(--ink),inset 0 var(--u) 0 #7cc05c,inset 0 calc(var(--u) * -6) 0 #3c6c30}.portrait img{position:relative;z-index:1;width:48px;height:56px;image-rendering:pixelated;animation:idle-bob 1s steps(2) infinite}.portrait .shadow{position:absolute;left:50%;bottom:8px;width:36px;height:6px;margin-left:-18px;background:#0000004d}@keyframes idle-bob{50%{transform:translateY(calc(var(--u) * -1))}}.profile-text{min-width:0;display:flex;flex-direction:column;gap:2px}.profile .eyebrow{align-self:flex-start;padding:0 4px;color:var(--ink);background:var(--yellow);box-shadow:0 0 0 var(--u) var(--ink);margin-bottom:2px}.profile-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--yellow-hi)}.profile-size{font-size:20px;line-height:24px;font-weight:700;color:var(--lime);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--u) var(--u) 0 var(--ink)}.profile small{display:flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap;overflow:hidden}.profile small em{font-style:normal;color:var(--lime);margin-left:4px;overflow:hidden;text-overflow:ellipsis}.stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 2px 10px}.stats li{--f-fill: var(--panel2);--f-hi: var(--c);--f-lo: var(--panel2-lo);--f-drop: transparent;position:relative;min-width:0;padding:8px 8px 6px;display:flex;flex-direction:column;gap:2px}.stats b{margin-top:4px;font-size:20px;line-height:24px;font-weight:700;color:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--u) var(--u) 0 var(--ink)}.stats b.long{font-size:12px;line-height:28px}.stats small{color:var(--muted);white-space:nowrap}.meters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 2px 4px}.meter{--f-fill: var(--panel2);--f-hi: var(--panel2-hi);--f-lo: var(--panel2-lo);--f-drop: transparent;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:4px 8px;padding:8px}.meter-text{display:flex;justify-content:space-between;gap:4px;min-width:0;color:var(--muted)}.meter-text b{color:var(--c);white-space:nowrap}.meter .bar{grid-column:1 / -1}.meter .bar i{background:repeating-linear-gradient(90deg,var(--c) 0 6px,color-mix(in srgb,var(--c),#000 30%) 6px 8px)}.section-title{font-size:12px;line-height:16px;font-weight:700;color:var(--accent);margin:16px 2px 0}.row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;border-bottom:var(--u) solid var(--panel-hi);text-align:left;gap:12px}.store-link{color:var(--text);text-decoration:none}.store-link:focus-visible{outline:var(--u) dashed var(--yellow);outline-offset:4px}.row .icon{color:var(--muted)}.row.danger{color:var(--red-hi);border-bottom:0}.row.danger .icon{color:var(--red-hi)}.row input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;width:40px;height:20px;margin:2px;flex-shrink:0;cursor:pointer;background:var(--well);box-shadow:0 -2px 0 var(--ink),0 2px 0 var(--ink),-2px 0 0 var(--ink),2px 0 0 var(--ink),inset 0 2px #0e0a1c}.row input[type=checkbox]:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;background:#d8cfee;box-shadow:inset 0 -2px #9a8cc0,0 0 0 2px var(--ink);transition:transform .14s ease}.row input[type=checkbox]:checked{background:var(--lime);box-shadow:0 -2px 0 var(--ink),0 2px 0 var(--ink),-2px 0 0 var(--ink),2px 0 0 var(--ink),inset 0 2px 0 var(--lime-dk)}.row input[type=checkbox]:checked:after{transform:translate(20px);background:#fffaf0}.foot{color:var(--dim);text-align:center;margin:12px 0 0}.panel.tall{max-height:86vh;display:flex;flex-direction:column}.panel.tall .tab-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 -14px;padding:4px 16px 8px;min-height:0;flex:1}#evolve .panel{transition-property:transform,--accent}#evolve:has([data-tab=goals][aria-selected=true]) .panel{--accent: var(--orange)}#evolve:has([data-tab=codex][aria-selected=true]) .panel{--accent: var(--purple)}#evolve:has([data-tab=skins][aria-selected=true]) .panel{--accent: var(--pink)}.sheet-head .dna-pill{margin-left:auto}.dna-pill{--f-fill: var(--cyan);--f-hi: var(--cyan-hi);--f-lo: var(--cyan-lo);--f-drop: transparent;display:flex;align-items:center;gap:6px;padding:4px 8px;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:8px;margin:12px 2px 10px;flex-shrink:0}.tabs button{--c: var(--cyan);--c-hi: var(--cyan-hi);--c-lo: var(--cyan-lo);--f-fill: var(--panel2);--f-hi: var(--panel2-hi);--f-lo: var(--panel2-lo);--f-drop: transparent;position:relative;flex:1;min-width:0;height:32px;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted)}.tabs button .icon{color:var(--c)}.tabs [data-tab=goals]{--c: var(--orange);--c-hi: var(--orange-hi);--c-lo: var(--orange-lo)}.tabs [data-tab=codex]{--c: var(--purple);--c-hi: var(--purple-hi);--c-lo: var(--purple-lo)}.tabs [data-tab=skins]{--c: var(--pink);--c-hi: var(--pink-hi);--c-lo: var(--pink-lo)}.tabs button[aria-selected=true]{--f-fill: var(--c);--f-hi: var(--c-hi);--f-lo: var(--c-lo);color:var(--ink);font-weight:700}.tabs button[aria-selected=true] .icon{color:var(--ink)}.tabs button .badge{right:4px;top:4px;width:6px;height:6px}.tabs [data-tab=belly]{--c: var(--lime);--c-hi: var(--lime-hi);--c-lo: var(--lime-dk)}.tabs{gap:6px}.tabs button{gap:2px}.life-build{margin:18px 0}.mutation{padding:8px 0;border-bottom:2px solid var(--panel2)}.mutation>div{display:flex;justify-content:space-between;gap:6px}.mutation b{color:var(--mutation)}.mutation span,.mutation small{color:var(--muted)}.mutation small{display:block;margin-top:4px;line-height:1.6}.mutation progress{appearance:none;width:100%;height:6px;border:0;background:var(--well);margin-top:6px}.mutation progress::-webkit-progress-bar{background:var(--well)}.mutation progress::-webkit-progress-value{background:var(--mutation)}.mutation progress::-moz-progress-bar{background:var(--mutation)}.life-records>p{line-height:1.7;color:var(--cyan);margin:6px 0}.memory-list p{display:flex;justify-content:space-between;gap:10px;margin:8px 0;line-height:1.6;color:var(--muted)}.memory-list b{color:var(--yellow)}.memory-list span{text-align:right}.law-picker{margin:16px 0;padding:12px;border:2px solid var(--purple);background:var(--well)}.law-picker label{display:block;color:var(--purple);margin-bottom:10px}.law-picker select{width:100%;min-height:44px;padding:8px;background:var(--panel);color:var(--text);border:2px solid var(--panel2-hi);font:inherit;border-radius:0}.law-picker p,.law-picker small{display:block;line-height:1.7;margin-top:8px}.law-picker small{color:var(--muted)}.belly-world{position:relative;height:220px;margin:16px 2px;border:4px solid var(--lime-dk);outline:2px solid var(--ink);background:var(--well);box-shadow:inset 0 4px 0 var(--panel2);overflow:hidden}.belly-object{position:absolute;width:44px;height:44px;margin-left:-22px;padding:4px;background:transparent;border:2px solid transparent;animation:belly-bob 3s steps(12) infinite;animation-delay:var(--bob-delay)}.belly-object img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.belly-object[aria-pressed=true]{border-color:var(--yellow);background:var(--panel2)}.belly-object:focus-visible{outline:2px solid var(--cyan)}.belly-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:2;color:var(--muted)}.belly-detail{min-height:38px;line-height:1.7;color:var(--yellow)}.belly-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;margin:12px 0;list-style:none}.belly-catalog li{padding:8px 4px;border:2px solid var(--panel2);color:var(--muted);text-align:center}.belly-catalog .collected{color:var(--lime)}@keyframes belly-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:359px){.tabs button>.icon{display:none}}@media(prefers-reduced-motion:reduce){.belly-object{animation:none}}.traits,.missions,.achievements{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.trait,.goal,.achievement{--f-fill: var(--panel2);--f-hi: var(--panel2-hi);--f-lo: var(--panel2-lo);--f-drop: transparent;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px}.trait{--f-hi: var(--c)}.trait.bought{animation:bought .4s steps(2)}@keyframes bought{50%{background-color:#3f5a2a}}.trait-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.trait-text,.goal-text{flex:1;min-width:0}.trait-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.trait-title b{color:#fffaf0;font-size:12px}.trait-level{color:var(--c);white-space:nowrap}.new-tag{color:var(--ink);background:var(--yellow);padding:0 3px;font-style:normal;font-size:10px;line-height:14px}.trait-text p{margin:2px 0 0;color:var(--muted)}.trait-text p.trait-requirement{color:var(--yellow)}.trait-text p.trait-note{color:var(--purple-hi)}.trait-stats{margin:6px 0 0;display:grid;gap:2px}.trait-stats div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:8px;padding:2px 4px;background:#0000002e}.trait-stats dd{margin-left:auto!important}.trait-stats dt{color:var(--muted);white-space:nowrap}.trait-stats dd{margin:0;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.trait-stats dd i{color:var(--dim);font-style:normal;margin:0 3px}.trait-stats dd strong{color:var(--lime)}.trait-text p.trait-power{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;padding:2px 4px;color:var(--muted);background:#ffe27a1a}.trait-power .icon{color:var(--yellow);flex-shrink:0}.trait-power b{color:var(--yellow)}.trait-power.soon span{color:var(--lime)}.trait.locked{--f-hi: var(--panel2-hi)}.trait.locked .trait-icon{--c: var(--panel);color:var(--dim)}.trait.locked .trait-title b{color:var(--muted)}.evolution-note{margin:14px 0 10px;display:grid;gap:4px}.evolution-note b{color:var(--yellow)}.evolution-note span{color:var(--muted)}.evolution-note .signature-power{color:var(--yellow)}.trait .buy{max-width:96px}.trait .buy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-gain{position:absolute;right:12px;bottom:calc(100% + 10px);color:var(--yellow);font-weight:700;text-shadow:2px 2px var(--ink);opacity:0;pointer-events:none}.point-gain.burst{animation:points-burst 1.1s steps(8) both}.point-gain.feast:before{content:attr(data-meals) "개 꿀꺽!";display:block;color:var(--cyan);font-size:12px;text-align:right}@keyframes points-burst{0%{opacity:0;transform:translateY(6px) scale(.9)}15%,60%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px)}}@media(prefers-reduced-motion:reduce){.point-gain.burst{animation:none;opacity:1}}.lv{display:flex;gap:1px}.lv i{width:4px;height:6px;background:#4f4278}.lv i.on{background:var(--c);box-shadow:inset 0 var(--u) 0 #ffffff59}.buy{--f-fill: var(--lime);--f-hi: var(--lime-hi);--f-lo: var(--lime-dk);min-width:56px;height:36px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;margin:2px;color:var(--ink);font-weight:700;flex-shrink:0}.buy:disabled{--f-fill: var(--panel);--f-hi: var(--panel-hi);--f-lo: var(--panel-lo);--f-line: #0e0a1c;color:var(--dim)}.buy:not(:disabled):active{transform:translateY(var(--u))}.buy.max{color:var(--yellow);font-weight:700}.ad-row{--f-fill: var(--yellow);--f-hi: var(--yellow-hi);--f-lo: var(--yellow-lo);display:flex;align-items:center;gap:10px;width:calc(100% - 4px);margin:14px 2px 0;padding:8px 10px;text-align:left;color:var(--ink)}.ad-row>span{flex:1}.ad-row b{display:block}.ad-row small{color:#6a4a10}.ad-row:disabled{opacity:.55}.ad-row.rebirth{--f-fill: var(--purple);--f-hi: var(--purple-hi);--f-lo: var(--purple-lo);margin-top:12px}.ad-row.rebirth small{color:#2c1650}.codex-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.codex-head b{color:var(--accent)}.codex-head span{color:var(--muted)}.codex{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}.tile{--f-fill: var(--panel2);--f-hi: var(--panel2-hi);--f-lo: var(--panel2-lo);--f-drop: transparent;display:flex;flex-direction:column;align-items:center;padding:6px 2px 8px;text-align:center;min-width:0;background-image:radial-gradient(ellipse 18px 4px at 50% 46px,rgba(0,0,0,.3) 0 100%,transparent 100%)}.tile img{width:40px;height:48px;image-rendering:pixelated}.tile b{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#fffaf0}.tile small{color:var(--muted);white-space:nowrap}.tile.unknown{--f-fill: var(--well);--f-hi: var(--panel-lo);background-image:none}.tile.unknown img{filter:brightness(0) opacity(.5)}.tile.unknown b{color:var(--dim)}.achievements-head{margin-top:18px}.achievement .medal{--c: var(--panel);width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--dim)}.achievement.done .medal{--c: var(--yellow);--c-hi: var(--yellow-hi);--c-lo: var(--yellow-lo);color:#6a4a10}.achievement.done{--f-fill: #3e3220;--f-hi: var(--yellow)}.achievement .reward{display:flex;align-items:center;gap:2px;font-weight:700;color:var(--cyan);flex-shrink:0}.achievement.done .reward{color:var(--dim)}.goal.done{--f-fill: #2e4424;--f-hi: var(--lime)}.goal.claimed{opacity:.6}.goal-text small{display:block;color:var(--muted);margin-top:2px;word-break:keep-all}.goal-text b{display:block;word-break:keep-all;color:#fffaf0}.bar{--f-fill: var(--well);--f-line: var(--ink);--f-hi: #0e0a1c;--f-lo: var(--well);--f-drop: transparent;height:6px;margin:6px 2px 2px;overflow:hidden}.bar i{transition:none}.panel.tall #tab-skins{display:flex;flex-direction:column;overflow:hidden}#tab-skins>.codex-head,#tab-skins>.skin-skill{flex-shrink:0}.skin-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 2px 8px}.skins li{list-style:none}.tile.skin{width:100%}.tile.skin{position:relative}.tile .skill-tag{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--sp, var(--lime))}.tile.unknown .skill-tag{color:var(--dim)}.skin-skill{display:flex;align-items:center;gap:8px;margin:0 2px 10px;padding:6px 8px;background:var(--well);color:#fffaf0}.skin-skill i{width:12px;height:12px;flex-shrink:0;background:var(--sp, var(--lime));box-shadow:0 0 0 2px var(--ink)}.skin-skill span{display:flex;flex-direction:column;min-width:0}.skin-skill small{color:var(--muted)}.form-tag{position:absolute;top:4px;right:4px;padding:0 3px;font-style:normal;font-size:12px;line-height:14px;color:var(--ink);background:var(--yellow);box-shadow:0 0 0 var(--u) var(--ink)}.tile.skin.equipped{--f-fill: #2e4424;--f-hi: var(--lime);--f-line: var(--lime)}.tile.skin.equipped small{color:var(--lime);font-weight:700}.tile.skin.unknown small{white-space:normal;word-break:keep-all}.tile.skin.nope{animation:shake .12s steps(2) 3}.tile.skin.unknown img{filter:grayscale(.7) opacity(.45)}.ad-sim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0c080af0;color:#fff;text-align:center}.ad-sim small{display:block;color:#b3a9a2}.ad-sim b{display:block;font-size:20px;line-height:24px;margin:10px 0 24px}.ad-sim button{color:#b3a9a2;text-decoration:underline}#offline-stage,.trait-text p,.toast strong{word-break:keep-all}@media(max-width:379px){.pad-mid{display:none}}@media(max-width:359px){.pad{padding:8px 10px}.stage-card{width:min(212px,65vw)}}@media(max-height:640px){.dock{--pad-h: 112px}.pad{padding-top:4px;padding-bottom:4px}.hint{bottom:calc(var(--bottom) + 184px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.diamond-pill{display:flex;align-items:center;gap:4px;color:var(--purple-hi);white-space:nowrap}.sheet-head{gap:8px}.dna-pill{gap:4px;padding:3px 6px;min-width:0}.dna-pill b,.diamond-pill b{overflow:hidden;text-overflow:ellipsis;max-width:70px}.goal .buy,.achievement .reward{color:var(--purple-hi)}.boost-status{position:absolute;right:calc(var(--right) + 8px);bottom:calc(var(--bottom) + 176px);color:var(--cyan-hi);padding:3px 6px;background:var(--well);border:2px solid var(--cyan);font-size:10px}.toast strong{max-height:32px}.health b{max-width:88px;font-size:9px;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boss-bar{max-width:calc(100vw - var(--left) - var(--right) - 24px)}.boss-text{min-width:0}.boss-text b,.boss-text small{display:block;overflow:hidden;text-overflow:ellipsis}.boss-bar .crown,.boss-bar .pips{flex-shrink:0}#stat-combat{color:var(--cyan-hi);overflow-wrap:anywhere}
