@font-face{font-family:Noto Sans KR;src:url(../fonts/NotoSansKR-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans KR;src:url(../fonts/NotoSansKR-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Black Han Sans;src:url(../fonts/BlackHanSans.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Lexend;src:url(../fonts/Lexend-latin.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}:root{--board:#1f2e28;--board-hi:#273a32;--board-lo:#17231e;--rim:#6d4a2e;--chalk:#efede4;--chalk-dim:#a9b6ab;--chalk-faint:#efede433;--yellow:#f2cf5b;--red:#ec7a7a;--blue:#8fc4e6;--green:#9bdc8a;--paper:#fbfaf4;--ink:#1d2638;--rule:#c3d7ec;--margin:#e49b9b;--gold:var(--yellow);--cyan:var(--blue);--orange:#f0a35e;--dim:var(--chalk-dim);--text:var(--chalk);--display:"Black Han Sans", "Noto Sans KR", system-ui, sans-serif;--word:"Lexend", "Noto Sans KR", system-ui, sans-serif;--body:"Noto Sans KR", system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--dust:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--board-lo);height:100%;color:var(--chalk);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#game{outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}button,input,select{font-family:inherit}b{font-weight:700}.lead,.tagline,.help-grid p,.muted,.sc-desc,.toast span,.ward-msg,.teacher-msg,.swap-msg,.staff-card span,.mode-card span,.skill-card.empty{word-break:keep-all;overflow-wrap:anywhere}.panel h2,.banner b{text-wrap:balance}button{touch-action:manipulation}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.muted{color:var(--chalk-dim);margin:6px 0;font-size:13px}.muted.small{font-size:12px}kbd{border:1px solid var(--chalk-faint);min-width:22px;font:600 12px/1.6 var(--word);text-align:center;color:var(--chalk);background:#ffffff0f;border-bottom-width:2px;border-radius:3px;padding:0 6px;display:inline-block}.fatal{color:var(--red);pointer-events:auto;place-items:center;font-size:18px;display:grid;position:absolute;inset:0}.screen{justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0;overflow:auto}.screen.is-active{pointer-events:auto;display:flex}.screen[data-screen=boot].is-active{background:var(--board) var(--dust)}.screen[data-screen=title].is-active{background:linear-gradient(90deg,#17231eeb 0,#17231ecc 38%,#17231e00 64%);justify-content:flex-start}.screen[data-screen=loadout].is-active,.screen[data-screen=help].is-active,.screen[data-screen=settings].is-active,.screen[data-screen=wordbook].is-active,.screen[data-screen=results].is-active,.screen[data-screen=pause].is-active,.screen[data-screen=ward].is-active,.screen[data-screen=teacher].is-active{background:#0e1612b8}.boot-box{width:min(420px,90vw)}.boot-icon{display:none}.bar{background:var(--chalk-faint);height:6px;margin:22px 0 10px;overflow:hidden}.bar i{background:var(--chalk);width:0;height:100%;transition:width .25s;display:block}.title-wrap{text-align:left;width:min(520px,92vw);margin-left:clamp(16px,7vw,120px)}.logo{line-height:.9;display:block}.logo-text{font-family:var(--word);letter-spacing:-.035em;color:var(--chalk);text-shadow:0 0 1px #efede499,0 3px #00000059;font-size:clamp(64px,10vw,128px);font-weight:800;display:inline-block}.logo-text i{color:var(--yellow);font-style:normal}.logo.small .logo-text{font-size:44px}.screen[data-screen=title].is-active .logo-text{animation:1.1s cubic-bezier(.3,.7,.3,1) both chalkin}@keyframes chalkin{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.logo-sub{display:none}.tagline{color:var(--chalk);max-width:30em;margin:18px 0 34px;font-size:clamp(16px,1.6vw,19px);line-height:1.6}.modes{border-top:1px solid var(--chalk-faint);flex-direction:column;gap:4px;margin:0 0 26px;display:flex}.mode-card{--c:var(--yellow);cursor:pointer;border:0;border-bottom:1px solid var(--chalk-faint);color:var(--chalk);text-align:left;font:inherit;background:0 0;grid-template-columns:170px 1fr;align-items:baseline;gap:16px;padding:16px 4px;display:grid}.mode-card b{font-family:var(--word);letter-spacing:-.02em;color:var(--c);font-size:34px;font-weight:700;line-height:1}.mode-card span{color:var(--chalk-dim);font-size:15px;line-height:1.5}.mode-card:hover b,.mode-card:focus-visible b{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px}.mode-card:hover span{color:var(--chalk)}.menu{flex-wrap:wrap;gap:10px;display:flex}.title-wrap .menu{justify-content:flex-start}.menu.col{flex-direction:column;align-items:stretch}.best{color:var(--chalk-dim);margin-top:22px;font-size:13px}.btn{cursor:pointer;border:2px solid var(--chalk-faint);color:var(--chalk);background:0 0;border-radius:3px;padding:9px 18px;font-size:15px;font-weight:700;transition:border-color .12s,background .12s,color .12s}.btn:hover{border-color:var(--chalk);background:#ffffff0d}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:var(--board-lo)}.btn.primary:hover{background:#f7dc7e;border-color:#f7dc7e}.btn.primary.ready{background:var(--green);border-color:var(--green)}.btn.big{padding:12px 28px;font-size:17px}.btn.danger{color:var(--red);border-color:#ec7a7a8c}.btn.danger:hover{border-color:var(--red);background:#ec7a7a14}.mini{cursor:pointer;border:1px solid var(--chalk-faint);color:var(--chalk-dim);background:0 0;border-radius:2px;margin-left:auto;padding:2px 8px;font-size:12px}.mini:hover{color:var(--chalk);border-color:var(--chalk)}.panel{overscroll-behavior:contain;background:var(--board) var(--dust);border:7px solid var(--rim);border-radius:4px;width:min(1080px,96vw);max-height:96vh;padding:26px 32px;position:relative;overflow:auto;box-shadow:inset 0 0 0 1px #00000059,inset 0 0 60px #00000059,0 18px 50px #00000080}.panel.narrow{width:min(470px,94vw)}.panel h2{font-family:var(--display);color:var(--chalk);margin:0 0 8px;font-size:32px;font-weight:400}.panel h2.win{color:var(--yellow)}.panel h2.lose{color:var(--red)}.panel h3{color:var(--chalk);margin:22px 0 8px;font-size:16px}.lead{color:var(--chalk-dim);max-width:72ch;margin:4px 0 20px;font-size:15px;line-height:1.7}.lead b{color:var(--chalk)}.gold{color:var(--yellow)}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.staff-pick{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.staff-pick>.muted{color:var(--chalk);margin:0;font-size:14px;font-weight:700}.staff-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.map-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-card{--c:var(--chalk);text-align:left;color:var(--chalk);font-family:var(--body);cursor:pointer;border:1px solid var(--chalk-faint);background:#00000024;border-radius:2px;flex-direction:column;gap:3px;padding:9px 12px 9px 30px;display:flex;position:relative}.staff-card:before{content:"";border:2px solid var(--c);border-radius:50%;width:11px;height:11px;position:absolute;top:13px;left:11px}.staff-card.on{border-color:var(--chalk);background:#ffffff0f}.staff-card.on:before{background:var(--c)}.staff-card b{font-size:15px}.staff-card span{color:var(--chalk-dim);font-size:12px;line-height:1.45}.staff-card:hover{border-color:var(--chalk-dim)}.staff-card:disabled{cursor:default;opacity:.5}.staff-card.on:disabled{opacity:1}#map-note{color:var(--blue);margin-left:6px;font-style:normal;font-weight:400}.slots3{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:6px;display:grid}.lslot{flex-direction:column;gap:12px;display:flex}.lslot-top{color:var(--chalk-dim);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.key{border:1px solid var(--chalk-faint);min-width:26px;height:22px;font:600 12px var(--word);color:var(--chalk);border-radius:2px;place-items:center;padding:0 6px;display:inline-grid}.word-input,#swap-word{border:0;border-bottom:2px solid var(--chalk-faint);width:100%;color:var(--chalk);font:600 26px var(--word);letter-spacing:-.01em;background:0 0;border-radius:0;outline:none;padding:6px 2px}.word-input:focus,#swap-word:focus{border-bottom-color:var(--yellow)}.word-input::placeholder,#swap-word::placeholder{color:#efede452;font:400 16px var(--body);letter-spacing:0}.skill-card{--c:#8892a8;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(90deg, transparent 33px, var(--margin) 33px, var(--margin) 34px, transparent 34px), repeating-linear-gradient(180deg, transparent 0 25px, var(--rule) 25px 26px);background-position:0 0,0 52px;background-repeat:no-repeat,repeat;background-size:100% 100%,100% calc(100% - 52px);border-radius:1px;min-height:168px;padding:14px 16px 12px 46px;position:relative;transform:rotate(-.6deg);box-shadow:0 1px #00000040,0 8px 18px #00000059}.lslot:nth-child(2) .skill-card{transform:rotate(.5deg)}.lslot:nth-child(3) .skill-card{transform:rotate(-.3deg)}.skill-card:before{content:"";background:#f7f0d29e;width:74px;height:20px;margin-left:-37px;position:absolute;top:-9px;left:50%;transform:rotate(-2deg);box-shadow:0 1px 2px #00000026}.skill-card.empty{text-align:center;color:var(--chalk-dim);border:2px dashed var(--chalk-faint);box-shadow:none;background:0 0;place-items:center;padding:16px;font-size:14px;line-height:1.6;display:grid;transform:none}.skill-card.empty:before{display:none}.sc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sc-word{font:700 30px/1.1 var(--word);letter-spacing:-.02em;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--c);text-decoration-color:var(--c);text-underline-offset:3px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:5px}.sc-mean{color:var(--ink);font-size:16px;font-weight:700}.sc-pos{color:#5e6a80;margin-left:4px;font-size:12px;font-weight:400}.sc-tags{flex-wrap:wrap;gap:5px;margin:12px 0 6px;display:flex}.tag{color:#3b475d;background:#ffffffb3;border:1px solid #b7c0cf;border-radius:2px;padding:1px 7px;font-size:11.5px;font-weight:700}.tag[style*=--c]{border-color:var(--c);background:color-mix(in srgb, var(--c) 20%, #fff);color:var(--ink)}.tag.rarity{border-style:dashed}.tag-warn{color:#9a4b1b;border-color:#e3b38e}.sc-desc{color:#2a3448;margin:6px 0 8px;font-size:13.5px;line-height:26px}.sc-stats{color:#5e6a80;flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.sc-stats b{color:var(--ink);font-family:var(--word);font-weight:600}.suggest{margin-top:20px}.suggest>.muted{color:var(--chalk);font-size:14px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{--c:var(--chalk-dim);cursor:pointer;border:1px solid var(--chalk-faint);border-left:3px solid var(--c);color:var(--chalk);font:600 15px var(--word);background:#00000024;border-radius:2px;align-items:baseline;gap:6px;padding:4px 10px 4px 9px;display:inline-flex}.chip small{font:400 12px var(--body);color:var(--chalk-dim)}.chip:hover{border-color:var(--chalk-dim);border-left-color:var(--c);background:#ffffff0d}.pip{border:1.5px solid var(--c,#fff);opacity:.5;border-radius:50%;width:8px;height:8px;margin-right:3px;display:inline-block}.pip.on{background:var(--c,#fff);opacity:1}.skill-card .pip{border-color:var(--ink)}.help-grid{grid-template-columns:repeat(2,1fr);gap:4px 36px;display:grid}.help-grid h3{border-bottom:1px solid var(--chalk-faint);margin-top:16px;padding-bottom:4px}.help-grid p{color:var(--chalk-dim);margin:6px 0;font-size:14px;line-height:1.75}.help-grid p b{color:var(--chalk)}.field{border-bottom:1px solid var(--chalk-faint);justify-content:space-between;align-items:center;gap:16px;padding:11px 0;font-size:14px;font-weight:700;display:flex}.field input[type=range]{width:200px;accent-color:var(--yellow)}.field input[type=checkbox]{accent-color:var(--yellow);width:16px;height:16px}.field.check{justify-content:flex-start}.field select{background:var(--board-lo);color:var(--chalk);border:1px solid var(--chalk-faint);border-radius:2px;padding:6px 10px}.wordlist{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;max-height:52vh;padding:6px 4px;display:grid;overflow:auto}.wb-item{--c:#8892a8;background:var(--paper);color:var(--ink);border-left:4px solid var(--c);border-radius:1px;flex-direction:column;gap:2px;padding:10px 12px 10px 14px;display:flex;box-shadow:0 4px 10px #0000004d}.wb-item b{font:700 18px var(--word);color:var(--ink)}.wb-item span{font-size:13px}.wb-item small{color:#5e6a80}.stat-grid{border-top:1px solid var(--chalk-faint);border-bottom:1px solid var(--chalk-faint);grid-template-columns:repeat(6,1fr);margin:14px 0 6px;display:grid}.stat-grid>div{padding:12px 14px 12px 0}.stat-grid>div+div{border-left:1px solid var(--chalk-faint);padding-left:14px}.stat-grid small{color:var(--chalk-dim);font-size:12px;display:block}.stat-grid b{font:600 30px/1.2 var(--word);color:var(--chalk)}.ward-score{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}.wtable{border-collapse:collapse;width:100%;font-size:14px}.wtable th{text-align:left;color:var(--chalk-dim);border-bottom:1px solid var(--chalk-faint);padding:6px 8px;font-size:12px;font-weight:700}.wtable td{border-bottom:1px solid #efede414;padding:8px}.wtable td:first-child b{font:600 16px var(--word)}.hud{pointer-events:none;font-weight:700;display:none;position:absolute;inset:0}.hud.is-active{display:block}.hud-top{text-align:center;text-shadow:0 1px 2px #000000e6,0 0 12px #0000008c;position:absolute;top:16px;left:50%;transform:translate(-50%)}.wave-title{font-family:var(--display);font-size:26px}.wave-sub{color:var(--chalk);margin-top:2px;font-size:14px;font-weight:400}.hud-score{text-align:right;text-shadow:0 1px 2px #000000e6,0 0 12px #0000008c;position:absolute;top:16px;right:24px}.score,.ammo b,.stat-grid b,.ss-cd,.hpbar span,.wtable td,.ward-code{font-variant-numeric:tabular-nums}.score{font:600 30px var(--word);color:var(--yellow)}.combo{color:var(--chalk);min-height:20px;font-size:14px;font-weight:400}.crosshair{--gap:6px;width:0;height:0;transition:opacity .12s;position:absolute;top:50%;left:50%}.crosshair.hide{opacity:0}.ch{background:#fff;position:absolute;box-shadow:0 0 2px #000,0 0 1px #000}.ch.t,.ch.b{width:2px;height:9px;left:-1px}.ch.l,.ch.r{width:9px;height:2px;top:-1px}.ch.t{top:calc(var(--gap) * -1 - 9px)}.ch.b{top:var(--gap)}.ch.l{left:calc(var(--gap) * -1 - 9px)}.ch.r{left:var(--gap)}.dot{background:var(--yellow);border-radius:50%;width:3px;height:3px;position:absolute;top:-1.5px;left:-1.5px;box-shadow:0 0 2px #000}.crosshair.aim .ch{background:var(--yellow)}.hitmarker{opacity:0;width:28px;height:28px;position:absolute;top:-14px;left:-14px}.hitmarker:before,.hitmarker:after{content:"";background:#fff;width:3px;height:26px;margin:-13px 0 0 -1.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 3px #000}.hitmarker:before{transform:rotate(45deg)}.hitmarker:after{transform:rotate(-45deg)}.hitmarker.show{opacity:1;animation:.18s ease-out hitpop}.hitmarker.crit:before,.hitmarker.crit:after{background:var(--yellow)}.hitmarker.kill:before,.hitmarker.kill:after{background:var(--red);height:34px;margin-top:-17px}@keyframes hitpop{0%{transform:scale(1.5)}to{transform:scale(1)}}.target-info{text-shadow:0 1px 3px #000;flex-direction:column;align-items:center;gap:3px;font-size:13px;display:none;position:absolute;top:calc(50% + 46px);left:50%;transform:translate(-50%)}.target-info.show{display:flex}.target-info i{background:#0009;outline:1px solid #ffffff59;width:110px;height:5px;display:block;overflow:hidden}.target-info em{background:var(--red);height:100%;display:block}.target-info small{color:var(--yellow);font-weight:400}.hud-bl{width:min(280px,22vw);position:absolute;bottom:26px;left:24px}.hpbar{border:2px solid var(--chalk);background:#141e1ab3;height:22px;position:relative;overflow:hidden}.hpbar .fill{background:var(--green);transition:width .15s;position:absolute;inset:0 auto 0 0}.hpbar .fill.low{background:var(--red);animation:.7s infinite alternate lowpulse}.hpbar .shield{background:var(--blue);z-index:2;height:5px;position:absolute;inset:auto auto 0 0}.hpbar span{font:600 13px var(--word);color:var(--board-lo);z-index:3;place-items:center;display:grid;position:absolute;inset:0}@keyframes lowpulse{0%{filter:brightness()}to{filter:brightness(1.35)}}.buffs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.buff{border:1px solid var(--blue);color:var(--chalk);background:#141e1abf;border-radius:2px;padding:1px 8px;font-size:12px}.hud-br{text-align:right;text-shadow:0 1px 2px #000,0 0 10px #00000080;position:absolute;bottom:24px;right:26px}.ammo b{font:600 50px/1 var(--word)}.ammo b.empty{color:var(--red)}.ammo span{color:var(--chalk-dim);margin-left:4px;font-size:16px}.reload{background:#fff3;width:140px;height:3px;margin:6px 0 0 auto;overflow:hidden}.reload i{background:var(--chalk);width:0;height:100%;display:block}.viewtag{color:var(--chalk-dim);margin-top:6px;font-size:12px;font-weight:400}.skills{align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.skill-slot{--c:#8892a8;--cd:0;border-left:4px solid var(--c);background:#141e1ad1;width:150px;min-height:88px;padding:9px 11px 8px 14px;transition:transform .1s;position:relative;overflow:hidden}.skill-slot.ready .ss-word{color:var(--chalk)}.skill-slot.flash{transform:translateY(-4px)}.skill-slot.empty{opacity:.75;border-left-style:dashed}.skill-slot .key{position:absolute;top:7px;right:8px}.ss-word{font:600 19px var(--word);letter-spacing:-.01em;color:var(--chalk-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.ss-ko{color:var(--chalk-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;font-weight:400;overflow:hidden}.ss-pips{min-height:12px;margin-top:7px}.ss-note{color:var(--yellow);min-height:14px;margin-top:4px;font-size:11px;font-weight:400}.ss-cd{font:600 22px var(--word);color:var(--chalk);text-shadow:0 1px 3px #000;background:linear-gradient(to top, #0000008c calc(var(--cd) * 100%), transparent calc(var(--cd) * 100%));justify-content:flex-end;align-items:flex-end;padding:0 10px 6px 0;display:flex;position:absolute;inset:0}.ss-cd:empty{background:0 0}.swap-btn{pointer-events:auto;cursor:pointer;border:2px solid var(--chalk-faint);width:96px;color:var(--chalk);background:#141e1ad1;border-radius:0;align-self:stretch;font-size:12px;font-weight:700;line-height:1.6}.swap-btn:hover{border-color:var(--chalk)}.feed{flex-direction:column;gap:4px;width:290px;display:flex;position:absolute;top:90px;left:24px}.feed-item{--c:var(--chalk);border-left:3px solid var(--c);background:#141e1ab3;padding:4px 10px;font-size:13px;font-weight:400;animation:.25s both feedin,.6s 6.4s forwards feedout}@keyframes feedin{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes feedout{to{opacity:0}}.toasts{flex-direction:column;gap:8px;width:320px;display:flex;position:absolute;top:100px;right:24px}.toast{--c:var(--blue);border-left:4px solid var(--c);background:#141e1ae6;flex-direction:column;gap:2px;padding:9px 13px;animation:.3s both toastin,.5s 4.7s forwards feedout;display:flex}.toast b{color:var(--c);font-size:14px}.toast span{color:var(--chalk);font-size:12.5px;font-weight:400;line-height:1.5}.toast.warn{--c:var(--orange)}.toast.good{--c:var(--green)}@keyframes toastin{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.banner{text-align:center;opacity:0;text-shadow:0 2px 3px #000c,0 0 24px #0009;flex-direction:column;gap:6px;display:flex;position:absolute;top:24%;left:0;right:0}.banner b{font-family:var(--display);font-size:clamp(36px,6vw,64px);font-weight:400}.banner span{color:var(--chalk);font-size:18px;font-weight:400}.banner.show{animation:2.6s both banner}@keyframes banner{0%{opacity:0;transform:translateY(8px)}12%{opacity:1;transform:none}78%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.markers{position:absolute;inset:0;overflow:hidden}.marker{will-change:transform;text-shadow:0 1px 3px #000;flex-direction:column;align-items:center;width:56px;margin-left:-28px;font-size:11px;display:flex;position:absolute;top:0;left:0}.marker i{background:#000000a6;outline:1px solid #ffffff59;width:50px;height:4px;display:block;overflow:hidden}.marker em{background:var(--red);height:100%;display:block}.marker span{white-space:nowrap;color:var(--chalk);margin-top:2px;font-weight:400}.marker[data-kind=sniper] em{background:#c79bff}.marker[data-kind=heavy] em{background:var(--orange)}.popups{position:absolute;inset:0;overflow:hidden}.popup{--c:#fff;font:700 22px var(--word);color:var(--c);text-shadow:0 1px 2px #000,0 0 8px #0009;white-space:nowrap;animation:1s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.popup.crit{color:var(--yellow);font-size:28px}.popup.heal{color:var(--green);font-size:24px}.popup.info{color:#fff;font-size:18px}.popup.skill{font-size:26px;animation-duration:1.3s}@keyframes rise{0%{opacity:0;margin-top:10px}15%{opacity:1}to{opacity:0;margin-top:-46px}}.dmg-ind{width:0;height:0;position:absolute;top:50%;left:50%}.dmg-arc{clip-path:polygon(30% 0,70% 0,70% 22%,30% 22%);border:8px solid #0000;border-top-color:#ec5a5ae6;border-radius:50%;width:260px;height:260px;animation:.9s forwards feedout;position:absolute;top:-130px;left:-130px}.adapt-badge{border-left:4px solid var(--orange);background:#141e1ad9;padding:4px 14px;font-size:13px;font-weight:400;display:none;position:absolute;top:82px;left:50%;transform:translate(-50%)}.adapt-badge.show{display:block}.start-hint{color:var(--chalk);white-space:nowrap;background:#141e1acc;padding:6px 14px;font-size:13px;font-weight:400;display:none;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.start-hint.show{gap:16px;display:flex}.start-hint kbd{margin-right:4px}.vignette{opacity:0;background:radial-gradient(#0000 55%,#dc283280);position:absolute;inset:0}.vignette.hit{animation:.45s ease-out vighit}.hud.danger .vignette{opacity:.45;animation:1.1s infinite alternate dangerpulse}@keyframes vighit{0%{opacity:.95}to{opacity:0}}@keyframes dangerpulse{0%{opacity:.25}to{opacity:.6}}.swap{background:#0a100d8c;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.swap.open{pointer-events:auto;display:flex}.swap-box{overscroll-behavior:contain;background:var(--board) var(--dust);border:7px solid var(--rim);border-radius:4px;width:min(760px,94vw);max-height:94vh;padding:22px 26px;overflow:auto;box-shadow:inset 0 0 60px #00000059,0 18px 50px #00000080}.swap-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.swap-head h2{font-family:var(--display);margin:0;font-size:28px;font-weight:400}.warn-pill{color:var(--red);font-size:13px}.swap-slots{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.swap-slot{--c:#8892a8;cursor:pointer;text-align:left;border:1px solid var(--chalk-faint);border-left:4px solid var(--c);color:var(--chalk);background:#00000024;border-radius:0;flex-direction:column;gap:3px;padding:9px 12px;display:flex}.swap-slot b{font:600 18px var(--word)}.swap-slot .key{align-self:flex-start;margin-bottom:4px}.swap-slot small{color:var(--chalk-dim);font-size:12px}.swap-slot.sel{border-color:var(--chalk);border-left-color:var(--c);background:#ffffff0f}.swap-input{align-items:flex-end;gap:12px;display:flex}.swap-msg{color:var(--red);min-height:20px;margin:8px 0;font-size:13px}#swap-preview{margin:14px 0 4px}#swap-preview .skill-card{transform:rotate(-.4deg)}.click-prompt{border:2px solid var(--chalk);z-index:5;background:#141e1ae0;padding:9px 20px;font-weight:700;display:none;position:absolute;top:58%;left:50%;transform:translate(-50%)}.click-prompt.show{display:block}.ward-panel .field input[type=text],#ward-name,#ward-code{border:0;border-bottom:2px solid var(--chalk-faint);color:var(--chalk);font:600 18px var(--word);background:0 0;border-radius:0;outline:none;padding:6px 2px}#ward-name{width:200px;font-family:var(--body);font-weight:700}#ward-name:focus,#ward-code:focus{border-bottom-color:var(--yellow)}.ward-box{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0 6px;display:flex}.ward-box[hidden]{display:none}.ward-or{margin:0}.ward-join{align-items:flex-end;gap:12px;width:100%;display:flex}#ward-code{letter-spacing:.3em;text-transform:uppercase;width:190px;font-size:24px}#ward-code::placeholder{letter-spacing:0;font:400 14px var(--body);color:#efede452;text-transform:none}.ward-code{font:700 64px/1 var(--word);letter-spacing:.14em;color:var(--yellow);-webkit-user-select:all;user-select:all}.ward-pulse{animation:1.6s ease-in-out infinite wardPulse}@keyframes wardPulse{50%{opacity:.45}}.ward-msg{min-height:1.4em;color:var(--chalk);margin:12px 0 4px;font-weight:700}.ward-msg.error{color:var(--red)}.ward-status{border-top:1px solid var(--chalk-faint);border-bottom:1px solid var(--chalk-faint);flex-wrap:wrap;align-items:center;gap:6px 22px;margin:4px 0 14px;padding:10px 0;font-size:14px;display:none}.ward-status.show{display:flex}.ward-status .tag{font:600 13px var(--word);color:var(--yellow);background:0 0;border:0;padding:0}.ward-status .ok{color:var(--green)}.teacher-btn{width:100%;color:var(--yellow);border-color:#f2cf5b73;margin-top:14px;display:block}.teacher-btn:hover{border-color:var(--yellow);background:#f2cf5b0f}.teacher-btn small{color:var(--chalk);font-weight:400}.teacher-state{color:var(--chalk-dim);font-size:13px;font-weight:700;display:inline-block}.teacher-state.on{color:var(--yellow)}.teacher-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px 18px;max-height:46vh;padding:2px;display:grid;overflow:auto}.t-slot{align-items:baseline;gap:6px;display:flex;position:relative}.t-slot span{text-align:right;width:22px;color:var(--chalk-dim);font:400 12px var(--word);flex:none}.t-word{border:0;border-bottom:1px solid var(--chalk-faint);width:100%;min-width:0;color:var(--chalk);font:500 17px var(--word);background:0 0;border-radius:0;outline:none;padding:5px 2px}.t-word:focus{border-bottom-color:var(--yellow)}.t-word::placeholder{color:#efede433;font:400 14px var(--body)}.t-slot em{color:var(--red);pointer-events:none;font-size:11px;font-style:normal;position:absolute;bottom:6px;right:2px}.t-slot.bad .t-word{border-bottom-color:var(--red)}.teacher-add{justify-content:space-between;align-items:center;margin:14px 0 4px}.teacher-msg{min-height:1.4em;color:var(--green);margin:8px 0 10px;font-weight:700}.teacher-msg.error{color:var(--red)}.teacher-note{color:var(--yellow);margin:0 0 10px;font-size:13px;font-weight:700}.teacher-note:empty,#teacher-lock[hidden],#teacher-body[hidden],#teacher-reload[hidden]{display:none}.teacher-pw{border:0;border-bottom:2px solid var(--chalk-faint);width:100%;color:var(--chalk);font:600 22px var(--word);letter-spacing:.12em;background:0 0;border-radius:0;outline:none;padding:8px 2px}.teacher-pw:focus{border-bottom-color:var(--yellow)}.teacher-top{gap:8px 18px;margin:0 0 14px}.teacher-top .mini{margin-left:0}.teacher-sync{color:var(--green);font-size:13px}.teacher-sync:empty{display:none}.teacher-sync.error{color:var(--red)}@media (max-width:900px){.slots3,.help-grid,.swap-slots{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.staff-cards,.map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-slot{width:128px}.feed,.toasts{display:none}}@media (max-width:560px){.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-card{grid-template-columns:1fr;gap:4px}.ward-code{font-size:46px}.title-wrap{margin-left:0}}@media (max-height:700px){.skill-slot{min-height:80px}.panel{padding:18px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
