:root{--ink:#05040a;--night:#0b0a18;--panel:#0c0e20d6;--line:#8caaff38;--blue:#6fb6ff;--blue-deep:#2a62ff;--violet:#9a6bff;--crimson:#ff2f55;--blood:#b3122f;--gold:#f3c969;--jade:#7dffb0;--plum:#ff5d8f;--paper:#eadfc6;--text:#e8ebff;--dim:#9aa0c7;--f-brush:"East Sea Dokdo", "Yuji Boku", "Noto Serif KR", serif;--f-hanja:"Yuji Boku", "Noto Serif KR", serif;--f-body:"Noto Serif KR", "Apple SD Gothic Neo", serif;--f-ui:"Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--spring:linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1.004 83.8%, 1);--spring-soft:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1);--spring-hard:linear(0, .012 0.9%, .05 2%, .411 9.2%, .517 11.8%, .611 14.6%, .694 17.7%, .765 21.1%, .824 24.8%, .872 28.9%, .91 33.4%, .939 38.4%, .977 50.9%, .994 68.4%, 1);--t-fast:.42s;--t-mid:.7s;--t-slow:1.1s}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--text);font-family:var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.55;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}em{font-style:normal}h1,h2,h3,p{margin:0}.particles{pointer-events:none;z-index:90;width:100%;height:100%;position:fixed;inset:0}.btn{border:1px solid var(--line);font-family:var(--f-body);letter-spacing:.04em;color:var(--text);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:scale var(--t-fast) var(--spring), filter .2s, background .2s;background:linear-gradient(#28346eb3,#0e122ce6);padding:12px 22px;font-size:16px;font-weight:700;position:relative}.btn:hover:not(:disabled){filter:brightness(1.25);scale:1.05}.btn:active:not(:disabled){scale:.94}.btn:disabled{opacity:.45;cursor:not-allowed}.btn small{opacity:.75;font-size:11px;font-weight:400;display:block}.btn-primary{text-shadow:0 1px 6px #00001eb3;background:linear-gradient(100deg,#1c3dff,#7a3bff 55%,#ff2f6d);border-color:#0000;box-shadow:0 0 24px #5a6eff80}.btn-primary:after{content:"";animation:sheen 2.8s var(--spring-soft) infinite;background:linear-gradient(100deg,#0000 30%,#ffffff80 50%,#0000 70%);position:absolute;inset:0;translate:-120%}.btn-ghost{background:#0a0c1c99}.btn-danger{background:linear-gradient(100deg,#7a0c22,#ff2f55);border-color:#0000}.btn-small{padding:7px 14px;font-size:13px}@keyframes sheen{0%,55%{translate:-120%}to{translate:120%}}.icon-btn{border:1px solid var(--line);width:38px;height:38px;font-family:var(--f-hanja);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);transition:scale var(--t-fast) var(--spring), background .2s;background:#0a0c1eb3;place-items:center;font-size:16px;display:grid}.icon-btn:hover{background:#3c50be99;scale:1.12}.icon-btn:active{scale:.9}.kinetic{flex-wrap:wrap;justify-content:center;display:inline-flex}.kinetic>span{opacity:0;animation:glyph-in .76s var(--spring) forwards;transform-origin:50% 80%;display:inline-block}@keyframes glyph-in{0%{opacity:0;filter:blur(6px);transform:translateY(-.5em)scale(2.4)rotate(-12deg)}30%{opacity:1;filter:blur()}to{opacity:1;transform:none}}.rolling{font-variant-numeric:tabular-nums;transition:color .3s;display:inline-block}.rolling>span{animation:roll-in .26s var(--spring);display:inline-block}.rolling.down{color:var(--crimson)}.rolling.up{color:var(--jade)}@keyframes roll-in{0%{opacity:.2;transform:translateY(60%)scale(1.5)}to{opacity:1;transform:none}}.tags{vertical-align:middle;gap:4px;display:inline-flex}.tag{font-family:var(--f-ui);background:#00000073;border:1px solid;padding:1px 7px;font-size:11px;font-style:normal;font-weight:700;transform:skew(-10deg)}.tag-grunt{color:#c9c2b0}.tag-poison{color:var(--jade)}.tag-hidden{color:#9fd0ff}.tag-master{color:#ff8a5c}.tag-boss{color:var(--crimson);box-shadow:0 0 10px var(--crimson)}.tag-special{color:var(--gold)}.pow{font-family:var(--f-ui);color:var(--dim);font-size:12px;font-style:normal}.pow b{font-family:var(--f-hanja);color:#fff;margin-left:2px;font-size:1.5em}.portrait{aspect-ratio:1;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);background:#0a0a16;display:block;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:50% 22%;width:100%;height:100%;display:block}.portrait-me img{object-position:78% 12%;transform-origin:78% 12%;scale:1.7}.fog{pointer-events:none;filter:blur(14px);background:radial-gradient(30% 60% at 20% 80%,#968cff38,#0000 70%),radial-gradient(34% 70% at 55% 90%,#beaaff2e,#0000 70%),radial-gradient(28% 55% at 85% 75%,#ff78961f,#0000 70%);height:46%;animation:38s linear infinite alternate fog-drift;position:absolute;inset:auto -50% 0}.fog-b{opacity:.7;height:60%;animation-duration:56s;animation-direction:alternate-reverse}@keyframes fog-drift{0%{transform:translate(-12%)}to{transform:translate(12%)}}.lobby{--px:0;--py:0;position:fixed;inset:0;overflow:hidden auto}.lobby-sky{translate:calc(var(--px) * -14px) calc(var(--py) * -8px);animation:sky-push 30s var(--spring-soft) infinite alternate;transition:translate .9s var(--spring-soft);background-position:50% 30%;background-size:cover;position:fixed;inset:-4%}@keyframes sky-push{0%{scale:1}to{scale:1.1}}.lobby-moon{mix-blend-mode:screen;width:60vmin;height:60vmin;translate:calc(-20% + var(--px) * -26px) calc(var(--py) * -16px);animation:moon-pulse 6s var(--spring-soft) infinite alternate;pointer-events:none;background:radial-gradient(circle,#beaaff57,#0000 62%);border-radius:50%;position:fixed;top:-6%;left:50%}@keyframes moon-pulse{0%{opacity:.5;scale:.95}to{opacity:1;scale:1.08}}.lobby .fog{translate:calc(var(--px) * 30px) 0;position:fixed}.lobby-vignette{background:linear-gradient(180deg, #05040c40, #05040c1a 30%, #05040cdb 78%, var(--ink)), radial-gradient(ellipse at 50% 40%, transparent 40%, #05040abf);pointer-events:none;position:fixed;inset:0}.lobby-top{z-index:5;gap:8px;display:flex;position:fixed;top:14px;right:14px}.lobby-main{z-index:2;flex-direction:column;justify-content:flex-end;gap:18px;max-width:1120px;min-height:100%;margin:0 auto;padding:34px 20px 40px;display:flex;position:relative}.title{text-align:center;translate:calc(var(--px) * 10px) calc(var(--py) * 6px);transition:translate .9s var(--spring-soft)}.title-hanja{font-family:var(--f-hanja);letter-spacing:.5em;color:var(--crimson);text-shadow:0 0 18px #ff2850cc;font-size:clamp(20px,3.2vw,34px);display:block}.title h1{font-family:var(--f-brush);letter-spacing:.02em;color:#fff;text-shadow:0 0 2px #fff,0 0 26px #7896ffe6,0 0 70px #7850ffb3,0 6px #0009;font-size:clamp(64px,12vw,150px);font-weight:400;line-height:.95}.title-sub{color:#cfd3f5;text-shadow:0 1px 8px #000;animation:rise-in .9s var(--spring) 1.2s backwards;margin-top:6px;font-size:clamp(13px,1.5vw,16px)}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.lobby-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);animation:rise-in .9s var(--spring) .9s backwards;background:linear-gradient(#0e1028c7,#060610eb);padding:16px}.lobby-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.name-field{color:var(--dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.name-field input{border:0;border-bottom:2px solid var(--blue);width:180px;font-family:var(--f-brush);background:#00000080;outline:none;padding:8px 10px;font-size:28px;line-height:1;transition:border-color .2s}.name-field input:focus{border-color:var(--plum)}.nudge{animation:nudge 1.6s var(--spring) infinite;border-color:var(--gold)}@keyframes nudge{0%,60%{scale:1}75%{scale:1.08}to{scale:1}}.pick-title{color:var(--paper);margin:14px 0 8px;font-size:15px;font-weight:700}.pick-title em{color:var(--blue);font-family:var(--f-ui);margin-left:6px}.roster-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.hero-card{aspect-ratio:3/4.6;text-align:left;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);filter:saturate(.55)brightness(.72);transition:scale var(--t-mid) var(--spring), filter .3s, translate var(--t-mid) var(--spring);animation:card-in .8s var(--spring) backwards;animation-delay:calc(1.1s + var(--i) * 80ms);background:#090914;border:0;padding:0;position:relative;overflow:hidden}@keyframes card-in{0%{opacity:0;transform:translateY(60px)skew(-8deg)scale(.8)}to{opacity:1;transform:none}}.hero-card:hover{filter:saturate()brightness();z-index:2;translate:0 -6px;scale:1.06}.hero-card.on{filter:saturate(1.1) brightness(1.08) drop-shadow(0 0 14px var(--aura));z-index:3;translate:0 -10px}.hero-card img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;transition:scale var(--t-slow) var(--spring-soft);position:absolute;inset:0}.hero-card:hover img,.hero-card.on img{scale:1.12}.hero-card:after{content:"";background:linear-gradient(#0000 38%,#04040cf0 82%);position:absolute;inset:0}.hero-hanja{z-index:1;writing-mode:vertical-rl;font-family:var(--f-hanja);color:var(--aura);text-shadow:0 0 10px var(--aura), 0 0 2px #000;font-size:clamp(14px,1.6vw,20px);position:absolute;top:8px;right:14%}.hero-info{z-index:1;flex-direction:column;gap:1px;display:flex;position:absolute;bottom:30px;left:9%;right:12%}.hero-info b{font-family:var(--f-brush);text-shadow:0 0 12px var(--aura);font-size:clamp(26px,3vw,38px);font-weight:400;line-height:1}.hero-info i{color:var(--aura);font-size:11px;font-style:normal;font-family:var(--f-ui)}.hero-info q{quotes:none;color:#d6d8ee;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.hero-stats{z-index:1;gap:6px;display:flex;position:absolute;bottom:6px;left:6%;right:16%}.stat{font-family:var(--f-ui);color:var(--dim);flex:1;font-size:9.5px}.stat i{background:#ffffff24;height:3px;display:block}.stat u{background:var(--aura);height:100%;box-shadow:0 0 6px var(--aura);display:block}.hero-seal{z-index:2;font-family:var(--f-hanja);color:#fff;background:var(--blood);writing-mode:vertical-rl;box-shadow:0 0 14px var(--crimson);animation:stamp-in .52s var(--spring);padding:4px 3px;font-size:15px;position:absolute;top:10px;left:20%}@keyframes stamp-in{0%{opacity:0;transform:scale(3)rotate(-24deg)}to{opacity:1;transform:rotate(-6deg)}}.btn-start{width:100%;font-family:var(--f-brush);margin-top:14px;padding:16px;font-size:30px;font-weight:400;line-height:1;display:block}.slash-wipe{z-index:80;pointer-events:none;position:fixed;inset:0}.slash-wipe i{height:5px;box-shadow:0 0 20px 6px var(--blue), 0 0 80px 20px var(--blue-deep);transform-origin:0;animation:slash-line .38s var(--spring-hard) 60ms forwards;background:#fff;position:absolute;top:50%;left:-10%;right:-10%;rotate:-14deg;scale:0 1}.slash-wipe b{background:var(--ink);height:90%;position:absolute;left:-20%;right:-20%;rotate:-14deg}.slash-wipe b:first-of-type{animation:shut-top .42s var(--spring-hard) .36s forwards;bottom:50%;translate:0 -120%}.slash-wipe b:nth-of-type(2){animation:shut-bottom .42s var(--spring-hard) .36s forwards;top:50%;translate:0 120%}@keyframes slash-line{to{scale:1}}@keyframes shut-top{to{translate:0}}@keyframes shut-bottom{to{translate:0}}.lobby.leaving .lobby-main{animation:lobby-leave .5s var(--spring-hard) .3s forwards}@keyframes lobby-leave{to{filter:blur(6px);opacity:0;transform:scale(1.12)}}.inn{position:fixed;inset:0;overflow:hidden}.inn-bg{filter:brightness(.5)saturate(1.1);animation:sky-push 40s var(--spring-soft) infinite alternate;background-position:50% 60%;background-size:cover;position:absolute;inset:-3%}.candle-glow{animation:candle 3.4s var(--spring-soft) infinite alternate;pointer-events:none;background:radial-gradient(50% 46% at 12% 62%,#ffaa4642,#0000 70%),radial-gradient(40% 40% at 88% 12%,#788cff33,#0000 70%);position:absolute;inset:0}@keyframes candle{0%{opacity:.6}40%{opacity:1}70%{opacity:.75}to{opacity:.95}}.inn-vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 30%,#04030adb);position:absolute;inset:0}.inn-layout{flex-direction:column;gap:10px;max-width:1180px;margin:0 auto;padding:12px 16px 14px;display:flex;position:absolute;inset:0 340px 0 0}.topbar{justify-content:space-between;align-items:center;display:flex}.round-chip{border-left:3px solid var(--crimson);background:linear-gradient(90deg,#a01432d9,#a0143200);align-items:baseline;gap:10px;padding:4px 18px 4px 12px;display:flex}.round-chip b{font-family:var(--f-brush);font-size:30px;font-weight:400;line-height:1}.round-chip span{color:var(--paper);opacity:.8;font-size:12px}.top-actions{gap:8px;display:flex}.log-toggle{display:none}.seats,.bubble-lane{gap:10px;display:grid}.seats-2{grid-template-columns:repeat(2,minmax(0,1fr))}.seats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.seats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.seat{border-bottom:2px solid color-mix(in srgb, var(--aura) 55%, transparent);min-width:0;transition:translate var(--t-mid) var(--spring), scale var(--t-mid) var(--spring), filter .4s, box-shadow .4s;animation:seat-in .7s var(--spring) backwards;background:linear-gradient(100deg,#0a0c1edb,#0a0c1e80);align-items:center;gap:10px;padding:6px 10px 6px 6px;display:flex;position:relative}.seat:nth-child(2){animation-delay:90ms}.seat:nth-child(3){animation-delay:.18s}.seat:nth-child(4){animation-delay:.27s}@keyframes seat-in{0%{opacity:0;transform:translateY(-40px)skew(-10deg)}to{opacity:1;transform:none}}.seat.active{z-index:2;box-shadow:0 0 0 1px var(--aura), 0 0 30px color-mix(in srgb, var(--aura) 60%, transparent);translate:0 4px;scale:1.04}.seat.active:before{content:"";border:1px solid var(--aura);animation:aura-ring 1.5s var(--spring-soft) infinite;pointer-events:none;position:absolute;inset:-3px}@keyframes aura-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.09,1.25)}}.seat.folded{filter:grayscale(.9)brightness(.6)}.seat.out{filter:grayscale()brightness(.4)}.seat-art{flex:none;width:clamp(64px,7.4vw,104px);position:relative}.seat .portrait{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--aura) 70%, transparent))}.seat .portrait img{transition:scale var(--t-mid) var(--spring)}.seat.active .portrait img{scale:1.12}.seat-stamp{font-family:var(--f-hanja);color:var(--crimson);border:3px solid var(--crimson);animation:stamp-in .52s var(--spring) forwards;background:#0a000499;padding:0 6px;font-size:34px;line-height:1.15;position:absolute;top:50%;left:50%;translate:-50% -50%}.thinking{background:var(--paper);border-radius:10px 10px 10px 2px;gap:3px;padding:5px 7px;display:flex;position:absolute;top:-6px;right:-4px}.thinking i{width:5px;height:5px;animation:think .9s var(--spring) infinite;background:#1a1420;border-radius:50%}.thinking i:nth-child(2){animation-delay:.14s}.thinking i:nth-child(3){animation-delay:.28s}@keyframes think{0%,to{transform:none}40%{transform:translateY(-5px)}}.peeking{width:34px;height:22px;animation:peek .9s var(--spring) infinite alternate;background:linear-gradient(#f2e6c8,#cdbb92);border-left:5px solid #5b2b1a;border-right:5px solid #5b2b1a;position:absolute;bottom:-4px;right:-8px;box-shadow:0 4px 10px #000}@keyframes peek{0%{transform:rotate(-10deg)translateY(2px)}to{transform:rotate(6deg)translateY(-3px)}}.seat-info{flex-direction:column;min-width:0;display:flex}.seat-info b{font-family:var(--f-brush);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(22px,2.3vw,32px);font-weight:400;line-height:1;overflow:hidden}.seat-info i{font-style:normal;font-family:var(--f-ui);color:var(--aura);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tokens{gap:4px;margin-top:5px;display:flex}.tok{width:15px;height:15px;transition:scale var(--t-mid) var(--spring), background .3s;border:1px solid #ffffff40;text-decoration:none}.tok.win{border-radius:50%}.tok.win.on{background:radial-gradient(circle, #fff 15%, var(--plum) 40%, #a01045);border-color:var(--plum);box-shadow:0 0 10px var(--plum);scale:1.2}.tok.wound{margin-left:4px;rotate:45deg}.tok.wound.on{background:var(--blood);border-color:var(--crimson);box-shadow:0 0 10px var(--crimson);scale:1.2}.bubble-lane{align-items:start;min-height:62px}.bubble-slot{min-width:0}.bubble{background:var(--paper);color:#1b1420;border-left:4px solid var(--aura);transform-origin:16px 0;animation:bubble-in .62s var(--spring);border-radius:3px 12px 12px;padding:7px 11px;font-size:13.5px;line-height:1.4;position:relative;box-shadow:0 6px 18px #0009}.bubble:before{content:"";border:8px solid #0000;border-top:0;border-bottom-color:var(--paper);position:absolute;top:-8px;left:14px}.bubble b{display:none}@keyframes bubble-in{0%{opacity:0;transform:scale(.3)translateY(-14px)rotate(-6deg)}to{opacity:1;transform:none}}.board{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;min-height:0;display:grid}.map-panel{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));background:#0a0812;border:1px solid #ffffff1a;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:14px;min-height:0;padding:14px;display:grid;position:relative;overflow:hidden}.map-art{filter:brightness(.72)contrast(1.1);animation:sky-push 26s var(--spring-soft) infinite alternate;background-position:50%;background-size:cover;position:absolute;inset:0}.map-art:after{content:"";background:linear-gradient(#06040cd1,#06040c40 46%,#06040c80);position:absolute;inset:0}.map-zones{pointer-events:none;flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;top:96px;bottom:12px;right:14px}.map-zones span{font-family:var(--f-hanja);letter-spacing:.2em;color:#fff;text-shadow:0 0 8px #000;animation:rise-in .7s var(--spring) backwards;background:linear-gradient(90deg,#0000,#a01432d9);padding:1px 8px 1px 12px;font-size:17px}.map-zones span:nth-child(2){margin-right:12%;animation-delay:.12s}.map-zones span:nth-child(3){animation-delay:.24s}.deck{background:#06050eb3;border:1px solid #f3c96959;flex-direction:column;align-self:center;align-items:center;gap:2px;width:96px;padding:8px 6px;display:flex;position:relative}.scroll-stack{width:64px;height:58px;position:relative}.scroll-stack i{background:linear-gradient(#f6ecd2,#c9b78f 60%,#9d8a62);border-left:7px solid #6b2a1c;border-right:7px solid #6b2a1c;border-radius:3px;width:64px;height:20px;position:absolute;bottom:0;left:0;box-shadow:0 3px 6px #000000b3}.deck .rolling{font-family:var(--f-hanja);color:var(--gold);font-size:30px;line-height:1}.deck>span{color:var(--paper);font-size:11px;font-family:var(--f-ui)}.roster{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.roster h3{font-family:var(--f-brush);text-shadow:0 2px 10px #000;align-items:baseline;gap:8px;font-size:30px;font-weight:400;line-height:1;display:flex}.roster h3 em{font-family:var(--f-hanja);color:var(--crimson);text-shadow:0 0 12px var(--crimson);font-size:20px}.roster h3 .rolling{font-family:var(--f-hanja);color:var(--crimson);margin-left:auto;font-size:30px}.roster ol{flex-wrap:wrap;align-content:flex-start;gap:16px 9px;min-height:0;margin:0;padding:4px 4px 14px;list-style:none;display:flex;overflow-y:auto}.seal{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--by) 80%, #fff), color-mix(in srgb, var(--by) 70%, #000) 70%);width:58px;height:58px;rotate:var(--tilt);box-shadow:0 4px 10px #000000b3, inset 0 -6px 10px #0006, 0 0 14px color-mix(in srgb, var(--by) 55%, transparent);animation:seal-in .64s var(--spring) .42s backwards;border-radius:46% 54% 50% 50%/52% 48% 54% 46%;place-items:center;display:grid;position:relative}@keyframes seal-in{0%{opacity:0;transform:scale(3.2)rotate(30deg)}to{opacity:1;transform:none}}.seal span{font-family:var(--f-hanja);color:#0a0610d9;font-size:28px}.seal img{object-fit:cover;object-position:50% 20%;border-radius:inherit;border:3px solid var(--by);width:100%;height:100%}.seal small{white-space:nowrap;font-family:var(--f-ui);translate:-50%;rotate:calc(var(--tilt) * -1);background:#000000d1;padding:0 4px;font-size:9.5px;position:absolute;bottom:-9px;left:50%}.seal-empty{color:var(--paper);opacity:.7;font-size:13px}.pending{z-index:4;border:1px solid var(--gold);animation:unroll .72s var(--spring);transform-origin:50%;background:linear-gradient(100deg,#0a0812,#151129);grid-template-columns:minmax(0,44%) minmax(0,1fr);display:grid;position:absolute;inset:0}@keyframes unroll{0%{clip-path:inset(46% 0);transform:scale(1.14)rotate(-2deg)}to{clip-path:inset(0);transform:none}}.pending-art{clip-path:polygon(0 0,100% 0,84% 100%,0 100%);position:relative;overflow:hidden}.pending-art img{object-fit:cover;object-position:50% 18%;width:100%;height:100%;animation:push-in 5s var(--spring-soft) forwards}@keyframes push-in{0%{scale:1.3}to{scale:1.05}}.pending-hanja{writing-mode:vertical-rl;font-family:var(--f-hanja);color:#fff;text-shadow:0 0 12px var(--crimson), 0 0 3px #000, 0 2px 0 #000;animation:rise-in .7s var(--spring) .2s backwards;font-size:clamp(20px,2.6vw,34px);position:absolute;top:8px;left:8px}.pending-info{flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:14px 16px 14px 8px;display:flex}.pending-eyebrow{font-family:var(--f-ui);letter-spacing:.2em;color:var(--gold);font-size:11px}.pending-info h3{font-family:var(--f-brush);text-shadow:0 0 20px #ff3c5ab3;font-size:clamp(34px,4.4vw,60px);font-weight:400;line-height:.95}.pending-info h3 .kinetic{justify-content:flex-start}.pending-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pending-info p{color:#d5d7ee;font-size:13.5px}.tagged-boss{border-color:var(--crimson);box-shadow:inset 0 0 60px #ff143c59}.status-window{min-height:0;font-family:var(--f-ui);animation:window-open .7s var(--spring) backwards .2s;background:linear-gradient(#285adc33,#0a143c1a 30%),repeating-linear-gradient(0deg,#78aaff0b 0 1px,#0000 1px 3px),#060c22e6;border:1px solid #6fb6ffa6;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:relative;box-shadow:0 0 28px #3c78ff59,inset 0 0 30px #3c78ff24}@keyframes window-open{0%{opacity:0;transform:scaleY(.05)scaleX(.7)}to{opacity:1;transform:none}}.status-window:before,.status-window:after{content:"";border:2px solid var(--blue);width:14px;height:14px;position:absolute}.status-window:before{border-bottom:0;border-right:0;top:-2px;left:-2px}.status-window:after{border-top:0;border-left:0;bottom:-2px;right:-2px}.status-window header{border-bottom:1px solid #6fb6ff59;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.sw-title{letter-spacing:.08em;color:#dff0ff;text-shadow:0 0 10px var(--blue);font-size:15px;font-weight:900}.sw-title em,.sw-stat em{font-family:var(--f-hanja);color:var(--blue);margin-right:4px}.sw-sub{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sw-stats{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.sw-stat{color:#b9cdf5;align-items:center;gap:8px;font-size:12px;display:flex}.sw-hp{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 16px var(--blue);font-size:40px;line-height:1}.sw-odds b{text-align:right;min-width:46px;font-size:15px}.gauge{background:#ffffff1a;flex:1;height:8px;overflow:hidden;transform:skew(-20deg)}.gauge u{background:linear-gradient(90deg, var(--blue-deep), var(--blue));height:100%;box-shadow:0 0 10px var(--blue);transition:width var(--t-mid) var(--spring), background .3s;display:block}.gauge u.mid{background:linear-gradient(90deg, #a06a10, var(--gold))}.gauge u.low{background:linear-gradient(90deg, var(--blood), var(--crimson))}.arts{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(64px,1fr);gap:8px;min-height:0;display:grid}.art{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);min-height:0;transition:scale var(--t-fast) var(--spring), filter .3s, rotate var(--t-mid) var(--spring);background:#05060f;border:1px solid #6fb6ff66;padding:0;position:relative;overflow:hidden}.art img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;transition:scale var(--t-mid) var(--spring);position:absolute;inset:0}.art:after{content:"";background:linear-gradient(#0000 40%,#02040eeb);position:absolute;inset:0}.art b{z-index:1;font-family:var(--f-body);text-shadow:0 1px 4px #000;font-size:14px;font-weight:900;position:absolute;bottom:4px;left:8px}.art-hanja{z-index:1;writing-mode:vertical-rl;font-family:var(--f-hanja);color:#cfe5ff;text-shadow:0 0 6px var(--blue), 0 0 2px #000;font-size:12px;position:absolute;top:5px;right:5px}.art:hover,.art.picked{z-index:2;filter:brightness(1.2);scale:1.06}.art:hover img,.art.picked img{scale:1.15}.art.picked{box-shadow:0 0 18px var(--blue);border-color:#fff}.can-drop .art:not(.gone){animation:tempt 1.4s var(--spring) infinite;border-color:var(--crimson)}.can-drop .art:not(.gone):nth-child(2n){animation-delay:.2s}.can-drop .art:not(.gone):nth-child(3n){animation-delay:.4s}@keyframes tempt{0%,70%,to{rotate:0deg}80%{rotate:-2.5deg}90%{rotate:2deg}}.art.wanted{box-shadow:0 0 0 2px var(--gold), 0 0 24px var(--gold)}.art.gone{filter:grayscale()brightness(.35);rotate:-3deg;scale:.94}.art-gone{z-index:2;font-family:var(--f-hanja);color:var(--by,var(--crimson));filter:brightness(3)saturate(1.5);text-shadow:0 0 12px #000;animation:stamp-in .56s var(--spring);place-items:center;font-size:34px;display:grid;position:absolute;inset:0}.art-detail{color:#cfdcff;min-height:46px;animation:rise-in .42s var(--spring);border-top:1px solid #6fb6ff40;justify-content:space-between;align-items:center;gap:10px;padding-top:6px;font-size:12.5px;line-height:1.45;display:flex}.art-detail b{color:#fff;margin-right:4px}.art-detail em{color:var(--dim)}.art-detail .btn{flex:none}.dim{color:var(--dim)}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:56px;display:flex}.actions .btn-primary{font-family:var(--f-brush);animation:rise-in .52s var(--spring);padding:12px 34px;font-size:30px;font-weight:400;line-height:1}.actions .btn-ghost{animation:rise-in .52s var(--spring) 80ms backwards}.turn-note{font-family:var(--f-brush);color:var(--paper);opacity:.85;animation:rise-in .52s var(--spring);font-size:28px;line-height:1}.turn-hint{color:var(--gold);animation:rise-in .52s var(--spring) .12s backwards;font-size:12.5px}.focus{outline:2px solid var(--gold);outline-offset:4px;animation:focus-pulse 1.3s var(--spring-soft) infinite alternate;z-index:3}@keyframes focus-pulse{0%{outline-color:#f3c96959}to{outline-color:var(--gold)}}.pigeon{z-index:6;background:linear-gradient(#140e0cf0,#08060af5);border-left:1px solid #f3c96940;flex-direction:column;width:340px;display:flex;position:absolute;top:0;bottom:0;right:0}.pigeon header{font-family:var(--f-brush);border-bottom:1px solid #f3c96933;align-items:center;gap:8px;padding:12px 14px;font-size:26px;line-height:1;display:flex}.pigeon header em{font-family:var(--f-hanja);color:var(--gold);font-size:15px}.ai-dot{font-style:normal;font-family:var(--f-ui);color:var(--jade);border:1px solid;margin-left:auto;padding:2px 7px;font-size:10.5px}.ai-dot.offline{color:var(--dim)}.pigeon-close{display:none}.pigeon-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.note{background:var(--paper);color:#1b1420;border-left:4px solid var(--aura);max-width:92%;animation:note-in .52s var(--spring);align-self:flex-start;padding:7px 10px;font-size:13.5px;line-height:1.45;rotate:-.4deg;box-shadow:2px 3px #00000080}.note:nth-child(2n){rotate:.5deg}.note b{font-size:11px;font-family:var(--f-ui);color:#5a2a3a;display:block}.note.mine{border-left:0;border-right:4px solid var(--blue-deep);background:#cfe0ff;align-self:flex-end}.note-sys{text-align:center;font-size:11.5px;font-family:var(--f-ui);color:#b9a98a;animation:note-in .52s var(--spring);align-self:center;padding:2px 8px}@keyframes note-in{0%{opacity:0;transform:translate(40px)rotate(6deg)}to{opacity:1;transform:none}}.pigeon-form{border-top:1px solid #f3c96933;gap:6px;padding:10px;display:flex}.pigeon-form input{background:#00000080;border:1px solid #f3c9694d;outline:none;flex:1;min-width:0;padding:8px 10px;font-size:14px}.pigeon-form input:focus{border-color:var(--gold)}.round-banner{z-index:20;pointer-events:none;animation:banner-out .5s var(--spring-hard) 1.8s forwards;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.banner-ink{height:210px;animation:ink-stroke .52s var(--spring-hard) forwards;background:linear-gradient(90deg,#0000,#04030af0 14% 86%,#0000);position:absolute;top:50%;left:-10%;right:-10%;translate:0 -50%;rotate:-3deg;scale:0 1}@keyframes ink-stroke{to{scale:1}}.banner-hanja{font-family:var(--f-hanja);letter-spacing:.3em;color:var(--crimson);text-shadow:0 0 16px var(--crimson);font-size:34px;position:relative}.banner-text{font-family:var(--f-brush);text-shadow:0 0 30px #6e96ffe6,0 5px #000;font-size:clamp(72px,12vw,130px);line-height:.9;position:relative}.banner-sub{color:var(--paper);animation:rise-in .6s var(--spring) .7s backwards;font-size:15px;position:relative}@keyframes banner-out{to{opacity:0;filter:blur(8px);transform:scale(1.2)}}.coach{z-index:5;color:#1d1410;border-left:6px solid var(--blood);animation:coach-in .64s var(--spring);background:linear-gradient(#fbf3dc,#e6d6ac);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 12px;padding:9px 14px 10px 16px;display:grid;position:relative;box-shadow:0 8px 26px #000000b3}.coach-raid{z-index:70;width:min(520px,100% - 340px);position:absolute;top:14px;left:320px}@keyframes coach-in{0%{opacity:0;transform:translateY(40px)rotate(-2deg)scale(.9)}to{opacity:1;transform:none}}.coach-step{font-family:var(--f-ui);color:var(--blood);letter-spacing:.1em;grid-column:1/-1;font-size:11px;font-weight:700}.coach p{font-size:14px;line-height:1.55}.coach .btn{color:#fff}.modal-back{z-index:95;background:#020208cc;place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{border:1px solid var(--line);width:min(680px,100%);max-height:90%;animation:window-open .56s var(--spring);background:linear-gradient(#14122a,#08070f);flex-direction:column;display:flex}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal h2{font-family:var(--f-brush);font-size:36px;font-weight:400;line-height:1}.modal-body{padding:14px 18px 20px;font-size:14px;overflow-y:auto}.modal-body ol{margin:10px 0;padding-left:20px}.modal-body li{margin:5px 0}.modal-body h3{font-family:var(--f-brush);color:var(--gold);margin:14px 0 6px;font-size:28px;font-weight:400}.rule-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rule-list li{background:#ffffff0a;align-items:center;gap:10px;margin:0;padding:5px;display:flex}.rule-list img{object-fit:cover;object-position:50% 20%;flex:none;width:54px;height:54px}.rule-list span>b{display:block}.rule-list b em{font-family:var(--f-hanja);color:var(--blue);margin-left:4px;font-weight:400}.fine{color:var(--dim);margin-top:10px;font-size:12px}.over{z-index:75;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030208db;place-items:center;padding:16px;animation:.5s fade-in;display:grid;position:absolute;inset:0;overflow-y:auto}.over-card{text-align:center;border:1px solid var(--aura,var(--line));width:min(520px,100%);box-shadow:0 0 60px color-mix(in srgb, var(--aura,#6fb6ff) 50%, transparent);animation:window-open .8s var(--spring) .2s backwards;background:linear-gradient(#181432f2,#06050efa);padding:22px 20px;position:relative}.over-portrait{width:170px;filter:drop-shadow(0 0 20px var(--aura));animation:push-in 3s var(--spring-soft);margin:0 auto 6px}.over-hanja{font-family:var(--f-hanja);color:var(--gold);text-shadow:0 0 24px #f3c969cc,0 3px #000;font-size:clamp(44px,9vw,76px);line-height:1.1}.over-card.lost .over-hanja{color:var(--dim);text-shadow:0 3px #000}.over-card h2{font-family:var(--f-brush);margin:4px 0 8px;font-size:clamp(34px,6vw,48px);font-weight:400;line-height:1.05}.over-card p{color:#d0d3ee;font-size:14px}.over-list{font-family:var(--f-ui);gap:4px;margin:14px 0;padding:0;font-size:13px;list-style:none;display:grid}.over-list li{background:#ffffff0d;justify-content:space-between;padding:5px 10px;display:flex}.over-list li.out{opacity:.5}.over-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.ink-open,.ink-wipe{z-index:60;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ink-open i,.ink-wipe i{background:var(--ink);clip-path:polygon(.76% 0%,8% 5%,20% 6.4%,33% 2.8%,47% 5.6%,60% 3.1%,74% 6.5%,88% 6.2%,97.19% 0%,97.7% 7.1%,98.49% 14.3%,97.23% 21.4%,99.9% 28.6%,99.04% 35.7%,98.11% 42.9%,97.57% 50%,99.8% 57.1%,97.85% 64.3%,97.63% 71.4%,98.33% 78.6%,97.22% 85.7%,97.97% 92.9%,99.52% 100%,88% 99.3%,74% 99%,60% 98.5%,47% 93.2%,33% 96.9%,20% 95.6%,8% 97.9%,2.05% 100%,1.52% 92.9%,2.68% 85.7%,1.5% 78.6%,3.19% 71.4%,.75% 64.3%,.83% 57.1%,2.68% 50%,.04% 42.9%,.21% 35.7%,2% 28.6%,1.93% 21.4%,1.18% 14.3%,1.74% 7.1%);width:160%;height:42%;position:absolute;left:-30%;rotate:-4deg}.ink-open i:first-child,.ink-wipe i:first-child{top:-8%}.ink-open i:nth-child(2),.ink-wipe i:nth-child(2){animation-delay:90ms;top:29%}.ink-open i:nth-child(3),.ink-wipe i:nth-child(3){animation-delay:.18s;top:66%}.ink-open i{animation:ink-leave .9s var(--spring-hard) forwards}@keyframes ink-leave{0%{translate:0}to{translate:115%}}.ink-wipe i{animation:ink-pass 1.7s var(--spring-hard) forwards;translate:-115%}@keyframes ink-pass{0%{translate:-115%}30%,52%{translate:0}to{translate:115%}}.fx-ghost{z-index:85;pointer-events:none;position:fixed;top:0;left:0}.ghost-scroll{background:linear-gradient(#f6ecd2,#c9b78f 60%,#9d8a62);border-left:8px solid #6b2a1c;border-right:8px solid #6b2a1c;border-radius:3px;width:74px;height:24px;box-shadow:0 0 18px #ffe6aacc,0 6px 12px #000}.ghost-tablet{width:46px;height:66px;box-shadow:0 0 22px var(--blue);background:linear-gradient(160deg,#cfe8ff,#3f74d8 55%,#142a66);border:2px solid #e8f4ff}.ghost-burn{background:linear-gradient(#ffd27a,#ff5a1f 60%,#40100a);border-radius:3px;width:74px;height:24px;box-shadow:0 0 30px 10px #ff6e1ecc,0 0 80px 30px #ff3c1466}.raid{z-index:50;background:var(--ink);animation:raid-open .62s var(--spring-hard);position:absolute;inset:0;overflow:hidden}@keyframes raid-open{0%{clip-path:polygon(0 58%,100% 42%,100% 42%,0 58%)}to{clip-path:polygon(0 -60%,100% -76%,100% 176%,0 160%)}}.raid-cam{transition:scale var(--t-slow) var(--spring-soft), translate var(--t-slow) var(--spring-soft);position:absolute;inset:0;translate:0;scale:1}.beat-enter .raid-cam,.beat-tick .raid-cam{translate:-1.5%;scale:1.05}.beat-resolve .raid-cam{transition-duration:var(--t-fast);transition-timing-function:var(--spring);translate:-1% 1%;scale:1.12}.beat-plum .raid-cam{translate:3%;scale:1.08}.vs-boss.beat-enter .raid-cam{translate:-5% 2%;scale:1.1}.finished .raid-cam{filter:brightness(.45)saturate(.7);scale:1.02}.raid-bgs{position:absolute;inset:0}.raid-bg{opacity:0;translate:calc(6% - var(--pan) * 12%) 0;transition:opacity .3s .52s, translate 1.4s var(--spring-soft);filter:brightness(.78);background-position:50%;background-size:cover;position:absolute;inset:-4% -14%}.raid-bg.on{opacity:1}.raid .fog{opacity:.8;height:40%}.speedlines{opacity:0;background:repeating-linear-gradient(92deg,#0000 0 46px,#ffffff12 46px 48px,#0000 48px 120px);transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 55%,#0000 30%,#000 80%);mask-image:radial-gradient(at 50% 55%,#0000 30%,#000 80%)}.beat-enter .speedlines,.beat-resolve .speedlines{opacity:1;animation:.5s linear infinite lines}@keyframes lines{to{background-position:-240px 0}}.duel{position:absolute;inset:0}.panel{aspect-ratio:3/3.7;filter:drop-shadow(0 0 2px #fff)drop-shadow(0 12px 30px #000000e6);position:absolute}.panel-hero{clip-path:polygon(0 0,92% 0,100% 100%,8% 100%);height:min(54%,46vw);transition:translate var(--t-mid) var(--spring), rotate var(--t-mid) var(--spring), filter .4s;filter:drop-shadow(0 0 12px var(--blue));background:#05050c;bottom:13%;left:7%}.panel-hero img{object-fit:cover;object-position:60% 20%;width:100%;height:100%;display:block}.hero-run img{animation:run-bob .52s var(--spring-soft) infinite alternate}@keyframes run-bob{0%{transform:translate(-1.5%,1%)scale(1.06)}to{transform:translate(1.5%,-1%)scale(1.06)}}.hero-ready{translate:3%;rotate:1.5deg}.hero-strike{filter:drop-shadow(0 0 26px #fff)brightness(1.3);translate:16% -2%;rotate:3deg}.hero-guard{filter:drop-shadow(0 0 26px var(--blue)) brightness(1.2);translate:-2%}.hero-hurt{filter:drop-shadow(0 0 18px var(--crimson));animation:hurt-shake .52s var(--spring-hard) 90ms;translate:-6% 1%;rotate:-3deg}@keyframes hurt-shake{0%{transform:translate(0)}15%{transform:translate(-22px,8px)rotate(-4deg)}35%{transform:translate(16px,-6px)rotate(3deg)}60%{transform:translate(-8px,3px)}to{transform:none}}.hero-sick{filter:drop-shadow(0 0 18px var(--jade)) hue-rotate(60deg) saturate(1.4);animation:sick .3s var(--spring) 3}@keyframes sick{50%{transform:translate(-6px)rotate(-1deg)}}.hero-fallen{filter:grayscale()brightness(.45);transition-duration:1.4s;translate:-8% 24%;rotate:-16deg}.panel-flash{opacity:0;pointer-events:none;position:absolute;inset:0}.hero-hurt .panel-flash,.hero-fallen .panel-flash{background:var(--crimson);mix-blend-mode:screen;animation:flash .48s var(--spring-hard)}.hero-sick .panel-flash{background:var(--jade);mix-blend-mode:screen;animation:flash .6s var(--spring-hard)}@keyframes flash{0%{opacity:.95}to{opacity:0}}.shield-ring{box-shadow:0 0 30px var(--blue), inset 0 0 30px var(--blue);animation:ring-pop .7s var(--spring) forwards;border:4px solid #cfe8ff;border-radius:50%;position:absolute;inset:-8%}@keyframes ring-pop{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.25)}}.panel-foe{height:min(64%,54vw);animation:foe-in .76s var(--spring) backwards;filter:drop-shadow(0 0 14px var(--crimson)) drop-shadow(0 12px 30px #000000e6);bottom:11%;right:7%}.panel-boss{aspect-ratio:2/3;height:min(82%,70vw);filter:drop-shadow(0 0 30px var(--crimson)) drop-shadow(0 0 80px #a014ffb3);bottom:4%}@keyframes foe-in{0%{opacity:0;transform:translate(140%)skew(-18deg)scale(1.2)}to{opacity:1;transform:none}}.half{background-color:#06060e;background-position:50% 18%;background-size:cover;position:absolute;inset:0}.half-a{clip-path:polygon(8% 0,100% 0,96.96% 38%,3.04% 62%)}.half-b{clip-path:polygon(3.04% 62%,96.96% 38%,92% 100%,0 100%)}.cut-line{transform-origin:0;height:4px;box-shadow:0 0 16px 4px #cfe8ff, 0 0 60px 14px var(--blue);background:#fff;position:absolute;top:50%;left:-14%;right:-14%;rotate:-13.5deg;scale:0 1}.foe-hanja{writing-mode:vertical-rl;font-family:var(--f-hanja);color:#fff;text-shadow:0 0 14px var(--crimson), 0 0 4px #000, 0 3px 0 #000;animation:rise-in .7s var(--spring) .3s backwards;font-size:clamp(22px,3.4vw,48px);position:absolute;top:4%;right:4%}.out-slain .cut-line{animation:slash-line .22s var(--spring-hard) forwards, cut-fade .5s .32s forwards}.out-slain .half-a{animation:half-a .9s var(--spring-hard) .2s forwards}.out-slain .half-b{animation:half-b .9s var(--spring-hard) .2s forwards}.out-slain .foe-hanja{animation:.4s .2s forwards cut-fade}.out-slain.by-sword .cut-line{animation-delay:1.05s,1.37s}.out-slain.by-sword .half-a,.out-slain.by-sword .half-b,.out-slain.by-sword .foe-hanja{animation-delay:1.25s}@keyframes cut-fade{to{opacity:0}}@keyframes half-a{0%{transform:none}35%{opacity:1;filter:brightness(2.2)grayscale();transform:translate(5%,-6%)rotate(-2deg)}to{opacity:0;filter:brightness(.5)grayscale();transform:translate(26%,-34%)rotate(-10deg)}}@keyframes half-b{0%{transform:none}35%{opacity:1;filter:brightness(2.2)grayscale();transform:translate(-5%,6%)rotate(1.5deg)}to{opacity:0;filter:brightness(.5)grayscale();transform:translate(-18%,40%)rotate(8deg)}}.out-hit,.out-graze{animation:foe-lunge 1s var(--spring-hard) forwards}@keyframes foe-lunge{0%{transform:none}18%{transform:translate(-34%)scale(1.14)rotate(-3deg)}45%{opacity:1;transform:translate(-10%)scale(1.02)}to{opacity:0;transform:translate(60%)scale(.85)rotate(6deg)}}.out-graze{animation-name:foe-repel}@keyframes foe-repel{0%{transform:none}18%{transform:translate(-30%)scale(1.1)}40%{opacity:1;transform:translate(14%)rotate(8deg)}to{opacity:0;transform:translate(80%)rotate(16deg)scale(.8)}}.out-down{animation:foe-loom 1.4s var(--spring-soft) forwards}@keyframes foe-loom{0%{transform:none}20%{transform:translate(-36%)scale(1.2)rotate(-3deg)}to{filter:drop-shadow(0 0 40px var(--crimson)) brightness(1.15);transform:translate(-16%)scale(1.22)}}.out-boon{filter:drop-shadow(0 0 40px var(--gold));animation:foe-bless 1.1s var(--spring-soft) forwards}@keyframes foe-bless{to{opacity:0;transform:translateY(-14%)scale(.92)}}.out-alarm{animation:foe-alarm 1.1s var(--spring) forwards}@keyframes foe-alarm{0%,40%,80%{filter:drop-shadow(0 0 50px var(--crimson)) brightness(1.5)}20%,60%{filter:drop-shadow(0 0 10px var(--crimson)) brightness(.9)}to{opacity:0;transform:translate(50%)scale(.9)}}.floaters{pointer-events:none;position:absolute;inset:0}.floater{font-family:var(--f-hanja);color:#fff;-webkit-text-stroke:2px #000;animation:float-up 1.1s var(--spring) forwards;font-size:clamp(56px,9vw,120px);line-height:1;position:absolute}.floater small{-webkit-text-stroke:1px #000;font-size:.4em}.floater.at-hero{bottom:52%;left:18%}.floater.at-foe{bottom:50%;right:16%}.floater.dmg{color:var(--crimson);text-shadow:0 0 30px var(--crimson)}.floater.poison{color:var(--jade);text-shadow:0 0 30px #1faa4f;font-size:clamp(34px,5vw,64px)}.floater.heal{color:var(--gold);text-shadow:0 0 30px var(--gold)}.floater.slain{color:#dff0ff;text-shadow:0 0 30px var(--blue)}.floater.guard{color:#cfe8ff;text-shadow:0 0 30px var(--blue);font-size:clamp(40px,6vw,76px)}.floater.late{animation-delay:.38s;animation-fill-mode:both;bottom:40%}.floater.later{animation-delay:1.25s;animation-fill-mode:both}@keyframes float-up{0%{opacity:0;transform:translateY(40px)scale(3)rotate(-14deg)}22%{opacity:1;transform:translateY(0)scale(1)rotate(-6deg)}70%{opacity:1;transform:translateY(-30px)scale(1.04)rotate(-6deg)}to{opacity:0;transform:translateY(-90px)scale(.9)rotate(-6deg)}}.impact-frame{z-index:58;pointer-events:none;opacity:0;-webkit-backdrop-filter:invert()grayscale()contrast(1.6);backdrop-filter:invert()grayscale()contrast(1.6);position:absolute;inset:0}.impact-freeze .impact-frame{opacity:1}.impact-freeze .raid-cam *,.impact-freeze .raid-cam{animation-play-state:paused!important}.impact-shake .raid-cam{animation:shake .46s var(--spring-hard)}@keyframes shake{0%{transform:translate(0)rotate(0)}12%{transform:translate(-26px,14px)rotate(-1.2deg)}28%{transform:translate(22px,-12px)rotate(1deg)}46%{transform:translate(-14px,8px)rotate(-.6deg)}66%{transform:translate(8px,-4px)}to{transform:none}}.hurt-vignette{z-index:57;pointer-events:none;opacity:0;background:radial-gradient(#0000 58%,#ff0a326b);transition:opacity .4s;position:absolute;inset:0}.raid:has(.hud-hp.danger) .hurt-vignette{opacity:1;animation:heartbeat .9s var(--spring-soft) infinite alternate}@keyframes heartbeat{0%{opacity:.35}to{opacity:.9}}.raid-hud{z-index:55;width:292px;font-family:var(--f-ui);animation:window-open .7s var(--spring) .5s backwards;background:repeating-linear-gradient(0deg,#78aaff0d 0 1px,#0000 1px 3px),#060c22db;border:1px solid #6fb6ffb3;gap:8px;padding:10px 12px;display:grid;position:absolute;top:14px;left:14px;box-shadow:0 0 28px #3c78ff66,inset 0 0 26px #3c78ff29}.hud-who{align-items:center;gap:8px;display:flex}.hud-who .portrait{width:48px;filter:drop-shadow(0 0 8px var(--aura))}.hud-who span{flex-direction:column;line-height:1.1;display:flex}.hud-who i{letter-spacing:.2em;color:var(--blue);font-size:10.5px;font-style:normal}.hud-who b{font-family:var(--f-brush);font-size:28px;font-weight:400}.hud-hp{color:#b9cdf5;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.hud-hp em{font-family:var(--f-hanja);color:var(--blue)}.hud-hp .rolling{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 16px var(--blue);text-align:center;min-width:34px;font-size:44px;line-height:1}.hud-hp.danger .rolling{color:var(--crimson);text-shadow:0 0 18px var(--crimson);animation:nudge .7s var(--spring) infinite}.hp-pips{flex-wrap:wrap;gap:3px;display:flex}.hp-pips u{width:13px;height:13px;transition:scale var(--t-mid) var(--spring), background .2s;border:1px solid #6fb6ff80;margin:2px;rotate:45deg;scale:.6}.hp-pips u.on{background:linear-gradient(135deg, #fff, var(--blue) 50%, var(--blue-deep));box-shadow:0 0 8px var(--blue);scale:1}.hud-hp.danger .hp-pips u.on{background:linear-gradient(135deg, #fff, var(--crimson) 50%, var(--blood));box-shadow:0 0 8px var(--crimson)}.hud-row{color:#b9cdf5;justify-content:space-between;align-items:center;font-size:12px;display:flex}.hud-momentum{align-items:center;gap:6px;display:flex}.hud-momentum u{width:16px;height:16px;transition:scale var(--t-mid) var(--spring);border:1px solid #ff5d8f80;border-radius:50%;scale:.7}.hud-momentum u.on{background:radial-gradient(circle, #fff 15%, var(--plum) 45%, #a01045);box-shadow:0 0 12px var(--plum);scale:1.15}.hud-momentum.m3 u{animation:nudge .5s var(--spring) infinite}.hud-poison{opacity:.4;align-items:center;gap:6px;display:flex}.hud-poison.on{opacity:1;color:var(--jade);animation:stamp-in .5s var(--spring)}.hud-poison b{font-family:var(--f-hanja);font-size:20px}.hud-arts{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.hud-art{aspect-ratio:1;transition:scale var(--t-mid) var(--spring), filter .3s;border:1px solid #6fb6ff80;overflow:hidden}.hud-art img{object-fit:cover;width:100%;height:100%;display:block}.hud-art.gone{filter:grayscale()brightness(.25)}.hud-art.spent{filter:grayscale()brightness(.5)}.hud-art.firing{z-index:2;box-shadow:0 0 20px #fff, 0 0 40px var(--blue);filter:brightness(1.4);border-color:#fff;scale:1.5}.raid-roster{z-index:55;max-width:min(560px,100% - 340px);animation:rise-in .7s var(--spring) .6s backwards;justify-items:end;gap:8px;display:grid;position:absolute;top:14px;right:14px}.stage-track{font-family:var(--f-ui);gap:4px;font-size:12px;display:flex}.stage-track span{color:var(--dim);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%);transition:scale var(--t-mid) var(--spring), background .3s;background:#080814cc;padding:3px 14px 3px 10px}.stage-track em{font-family:var(--f-hanja);margin-right:5px}.stage-track span.on{background:linear-gradient(90deg, var(--blood), var(--crimson));color:#fff;z-index:1;scale:1.12}.stage-track span.past{color:#8c7480}.raid-roster ol{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0;padding:0;list-style:none;display:flex}.node{border:2px solid var(--by);width:46px;height:46px;transition:scale var(--t-mid) var(--spring), filter .3s;background:#060610d9;place-items:center;display:grid;position:relative;overflow:hidden}.node span{font-family:var(--f-hanja);color:var(--by);font-size:22px}.node img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.node.current{z-index:2;scale:1.3;box-shadow:0 0 18px #fff}.node.slain,.node.passed{filter:grayscale(.8)brightness(.55)}.node.slain:after,.node.passed:after,.node.down:after{content:"";background:var(--crimson);height:4px;animation:slash-line .3s var(--spring-hard) backwards;transform-origin:0;position:absolute;top:50%;left:-20%;right:-20%;rotate:-40deg}.node.slain:after{box-shadow:0 0 8px var(--blue);background:#dff0ff}.node.down{border-color:var(--crimson);box-shadow:0 0 24px var(--crimson);scale:1.3}.node.down:after{display:none}.foe-plate{z-index:54;text-align:center;pointer-events:none;width:min(92%,760px);position:absolute;bottom:86px;left:50%;translate:-50%}.foe-name{font-family:var(--f-brush);color:#fff;text-shadow:0 0 26px #ff2850e6,0 0 4px #000,0 5px #000;font-size:clamp(60px,9vw,124px);line-height:.9}.foe-plate.boss .foe-name{color:#ffd9e0;text-shadow:0 0 40px var(--crimson), 0 0 100px #a014ffe6, 0 6px 0 #000;font-size:clamp(84px,14vw,190px)}.foe-meta{animation:rise-in .6s var(--spring) .3s backwards;background:#04040cc7;align-items:center;gap:10px;padding:3px 14px;display:inline-flex}.foe-meta small{font-family:var(--f-ui);color:var(--dim);font-size:11px}.raid-foot{z-index:65;place-items:center;min-height:56px;padding:0 14px;display:grid;position:absolute;bottom:18px;left:0;right:0}.raid-caption{font-family:var(--f-body);text-align:center;animation:rise-in .48s var(--spring);background:linear-gradient(90deg,#0000,#04040ce6 12% 88%,#0000);padding:8px 22px;font-size:clamp(15px,2vw,20px);font-weight:700}.raid-caption.slain{color:#cfe8ff}.raid-caption.hit,.raid-caption.down{color:#ff9aa9}.raid-caption.boon{color:var(--gold)}.btn-go{font-family:var(--f-brush);animation:rise-in .52s var(--spring), nudge 1.5s var(--spring) .9s infinite;padding:12px 46px;font-size:34px;font-weight:400;line-height:1}.stage-banner{z-index:62;pointer-events:none;animation:banner-out .5s var(--spring-hard) 1.75s forwards;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage-banner.empty{animation-delay:2.9s}.stage-hanja{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 40px var(--crimson), 0 0 120px #ff143ccc, 0 8px 0 #000;font-size:clamp(110px,22vw,280px);line-height:1}.stage-name{font-family:var(--f-brush);color:var(--paper);text-shadow:0 3px #000,0 0 20px #000;font-size:clamp(44px,7vw,84px);line-height:1}.stage-rest{font-family:var(--f-ui);color:var(--jade);animation:rise-in .6s var(--spring) 1s backwards;background:#000000b3;margin-top:10px;padding:4px 14px;font-size:15px;font-weight:700}.raid-intro{z-index:63;text-align:center;background:radial-gradient(ellipse at 50% 50%, #130a22, var(--ink) 70%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.intro-slash{height:4px;box-shadow:0 0 20px 6px var(--blue), 0 0 100px 30px var(--blue-deep);transform-origin:0;animation:slash-line .3s var(--spring-hard) .12s forwards, cut-fade .9s .5s forwards;background:#fff;position:absolute;top:50%;left:-10%;right:-10%;rotate:-12deg;scale:0 1}.intro-hanja{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 40px var(--blue), 0 0 140px var(--blue-deep), 0 8px 0 #000;font-size:clamp(120px,26vw,320px);line-height:1}.intro-text{font-family:var(--f-brush);color:var(--paper);font-size:clamp(50px,8vw,96px);line-height:1}.raid-intro p{font-family:var(--f-ui);color:var(--blue);animation:rise-in .6s var(--spring) 1.5s backwards;margin-top:12px;font-size:14px}.omen{z-index:64;background:#000;animation:.5s fade-in;position:absolute;inset:0;overflow:hidden}.omen-art{filter:brightness(.75)contrast(1.15);animation:omen-push 6.8s var(--spring-soft) forwards;background-position:50% 22%;background-size:cover;position:absolute;inset:-6%}@keyframes omen-push{0%{filter:brightness(0)contrast(1.4);translate:0 14%;scale:1.5}to{filter:brightness(.8)contrast(1.15);translate:0;scale:1.02}}.omen-bolt{background:var(--crimson);mix-blend-mode:screen;opacity:0;animation:6.8s linear bolt;position:absolute;inset:0}@keyframes bolt{0%,13%,17%,31%,36%,to{opacity:0}14%,32%{opacity:.9}15.5%,33.5%{opacity:.3}}.omen-type{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 40px var(--crimson), 0 0 140px #ff143ce6, 0 10px 0 #000;justify-content:space-between;align-items:center;padding:0 3vw 6vh;font-size:min(30vw,58vh);line-height:1;display:flex;position:absolute;inset:0}.omen-type span{opacity:0;animation:omen-glyph .9s var(--spring) forwards;display:block}.omen-type span:first-child{animation-delay:.95s}.omen-type span:nth-child(2){animation-delay:2.15s}@keyframes omen-glyph{0%{opacity:0;filter:blur(20px);transform:scale(5)rotate(-10deg)}30%{opacity:1;filter:blur()}to{opacity:1;transform:none}}.omen-sub{font-family:var(--f-brush);color:var(--crimson);text-shadow:0 0 30px var(--crimson), 0 4px 0 #000;font-size:clamp(54px,9vw,110px);line-height:1;position:absolute;bottom:9%;left:0;right:0}.raid.beat-omen{animation:6.8s linear omen-quake}@keyframes omen-quake{13.5%,31.5%{transform:translate(0)}14.5%,32.5%{transform:translate(-18px,12px)}16%,34%{transform:translate(14px,-8px)}18%,36%{transform:translate(0)}}.cutin{z-index:59;pointer-events:none;clip-path:polygon(0 12%,100% 0,100% 88%,0 100%);height:min(46%,420px);animation:cutin 1.5s var(--spring-hard) forwards;position:absolute;top:50%;left:0;right:0;overflow:hidden;translate:0 -50%;box-shadow:0 0 60px #000}.cutin-plum{animation-duration:1.8s}@keyframes cutin{0%{transform:translate(-110%)skew(-14deg)}16%,72%{transform:none}to{transform:translate(110%)skew(-14deg)}}.cutin-art{background-position:50% 40%;background-size:cover;animation:1.8s linear forwards cutin-pan;position:absolute;inset:0 -6%}@keyframes cutin-pan{0%{transform:translate(-4%)scale(1.12)}to{transform:translate(4%)scale(1.02)}}.cutin-hanja{font-family:var(--f-hanja);color:#fff;text-shadow:0 0 30px var(--blue), 0 0 6px #000, 0 6px 0 #000;font-size:clamp(54px,10vw,150px);line-height:1;position:absolute;top:50%;right:5%;translate:0 -55%}.cutin-plum .cutin-hanja{text-shadow:0 0 30px var(--plum), 0 0 6px #000, 0 6px 0 #000}.cutin-name{font-family:var(--f-brush);color:var(--paper);text-shadow:0 3px #000;animation:rise-in .5s var(--spring) .6s backwards;font-size:clamp(30px,4vw,54px);line-height:1;position:absolute;bottom:16%;right:6%}.screen-slash{transform-origin:0;height:6px;box-shadow:0 0 30px 10px #cfe8ff, 0 0 120px 30px var(--blue);animation:slash-line .2s var(--spring-hard) .95s forwards;background:#fff;position:absolute;top:50%;left:-10%;right:-10%;rotate:-6deg;scale:0 1}.raid-finish{z-index:66;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;display:flex;position:absolute;inset:0}.finish-ink{height:min(70%,520px);animation:ink-stroke .56s var(--spring-hard) forwards;background:linear-gradient(90deg,#0000,#04030aeb 12% 88%,#0000);position:absolute;top:50%;left:-10%;right:-10%;translate:0 -50%;rotate:-4deg;scale:0 1}.finish-hanja{font-family:var(--f-hanja);font-size:clamp(110px,24vw,280px);line-height:1;position:relative}.raid-finish.win .finish-hanja{color:#fff3d0;text-shadow:0 0 40px var(--gold), 0 0 120px var(--plum), 0 8px 0 #000}.raid-finish.lose .finish-hanja{color:var(--crimson);text-shadow:0 0 40px var(--blood), 0 8px 0 #000}.finish-text{font-family:var(--f-brush);font-size:clamp(46px,7vw,84px);line-height:1;position:relative}.raid-finish p{color:#d5d8f0;animation:rise-in .6s var(--spring) 1.3s backwards;margin:6px 0 12px;font-size:15px;position:relative}.raid-finish .btn{font-family:var(--f-brush);animation:rise-in .6s var(--spring);padding:12px 44px;font-size:30px;font-weight:400;line-height:1;position:relative}@media (width<=1100px){.inn-layout{inset:0}.log-toggle{display:grid}.pigeon{width:auto;height:min(70%,520px);transition:translate var(--t-mid) var(--spring-soft);z-index:40;border-top:1px solid #f3c96966;border-left:0;top:auto;left:0;translate:0 105%;box-shadow:0 -20px 60px #000}.log-open .pigeon{translate:0}.pigeon-close{display:grid}.ai-dot{margin-left:auto}}@media (width<=760px){body{font-size:14px}.lobby-main{gap:12px;padding:56px 12px 24px}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-card{aspect-ratio:3/4.4}.hero-info{bottom:8px}.hero-info q,.hero-stats{display:none}.hero-info i{font-size:9.5px;line-height:1.2}.lobby-row .btn{flex:1}.name-field input{width:140px}.btn-start{font-size:25px}.inn-layout{gap:7px;padding:8px 10px 10px;overflow-y:auto}.round-chip b{font-size:24px}.round-chip span{display:none}.icon-btn{width:34px;height:34px}.seats,.bubble-lane{gap:5px}.seat{text-align:center;flex-direction:column;gap:2px;padding:4px 2px 5px}.seat-art{width:min(64px,80%)}.seat-info{align-items:center;width:100%}.seat-info b{max-width:100%;font-size:19px}.seat-info i{max-width:100%;font-size:9.5px}.tok{width:10px;height:10px}.seat-stamp{font-size:22px}.bubble-lane{min-height:50px;display:block}.bubble-slot:not(:has(.newest)){display:none}.bubble{padding:6px 10px;font-size:13px}.bubble:before{display:none}.bubble b{color:#5a2a3a;font-family:var(--f-ui);margin-right:6px;font-size:11px;display:inline}.board{flex:1 0 auto;grid-template-rows:minmax(140px,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px}.map-panel{gap:9px;min-height:140px;padding:9px}.deck{width:74px;padding:5px 4px}.scroll-stack{height:46px;scale:.8}.deck .rolling,.roster h3{font-size:24px}.roster h3 em{font-size:15px}.seal{width:42px;height:42px}.seal span{font-size:20px}.seal small,.map-zones{display:none}.roster ol{row-gap:8px;padding-bottom:4px}.pending{grid-template-columns:minmax(0,36%) minmax(0,1fr)}.pending-info{gap:3px;padding:8px 10px 8px 4px}.pending-info p{font-size:12px;line-height:1.4}.status-window{gap:6px;padding:8px 10px}.sw-sub{display:none}.sw-hp{font-size:30px}.arts{grid-auto-rows:minmax(62px,1fr);gap:6px}.art b{font-size:12.5px;left:6px}.art-hanja{display:none}.art-detail{min-height:40px;font-size:12px}.actions{z-index:5;background:linear-gradient(#0000,#04030aeb 40%);gap:8px;min-height:50px;padding-top:4px;position:sticky;bottom:0}.actions .btn-primary{padding:10px 22px;font-size:25px}.actions .btn-ghost{padding:10px 14px;font-size:14px}.turn-note{font-size:23px}.turn-hint{text-align:center;width:100%;font-size:11.5px}.coach{padding:7px 10px 8px 12px}.coach-raid{width:auto;top:206px;left:8px;right:8px}.coach p{font-size:13px;line-height:1.45}.raid-hud{grid-template-columns:auto minmax(0,1fr);gap:4px 10px;width:auto;padding:7px 9px;top:8px;left:8px;right:8px}.hud-who .portrait{width:38px}.hud-who b{font-size:22px}.hud-hp .rolling{font-size:32px}.hp-pips u{width:9px;height:9px;margin:1px}.hud-row{grid-column:1;gap:10px}.hud-arts{grid-column:2}.hud-art{aspect-ratio:1.5}.raid-roster{justify-items:start;gap:5px;max-width:none;top:128px;left:8px;right:8px}.raid-roster ol{justify-content:flex-start;gap:4px}.node{width:34px;height:34px}.node span{font-size:17px}.stage-track{font-size:11px}.panel-hero{z-index:2;width:46%;height:auto;bottom:20%;left:3%}.panel-foe{width:58%;height:auto;bottom:34%;right:3%}.panel-boss{width:70%;bottom:24%}.floater.at-hero{bottom:50%;left:8%}.floater.at-foe{bottom:60%;right:10%}.foe-plate{bottom:76px}.foe-meta{flex-wrap:wrap;justify-content:center;gap:4px 8px}.raid-foot{bottom:12px}.btn-go{padding:11px 30px;font-size:28px}.cutin{height:34%}.omen-type{flex-direction:column;justify-content:space-between;padding:16vh 4vw 20vh;font-size:44vw}.omen-type span:first-child{align-self:flex-start}.omen-type span:nth-child(2){align-self:flex-end}}@media (height<=760px) and (width>=761px){.seat-art{width:70px}.bubble-lane{min-height:52px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.impact-frame,.ink-open,.ink-wipe,.speedlines{display:none}.raid-cam{translate:0!important;scale:1!important}.floater,.cutin,.stage-banner,.round-banner,.cut-line{opacity:1;animation:none!important}.cut-line{display:none}.out-slain .half,.out-hit,.out-graze,.out-boon,.out-alarm{opacity:.25;filter:grayscale();animation:none!important}}
