@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.0q1bf9cc3c0ui.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.0rbrcy8kuidpb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.cinzel_2e844623-module__t5ct6G__className{font-family:Cinzel,Cinzel Fallback;font-style:normal}.cinzel_2e844623-module__t5ct6G__variable{--font-cinzel:"Cinzel", "Cinzel Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5ead2;--muted:#baa982;--panel:#121012c7;--panel-strong:#08080ae6;--brass:#c59b4a;--ruby:#8d2736;--emerald:#1f715c;--blue:#58b6d9;--violet:#9e76d6;--stone:#39383c;--danger:#e04d45;--wand-cursor:url(/wand-cursor.svg) 13 12, auto;--wand-cursor-active:url(/wand-cursor-active.svg) 13 12, pointer}*{box-sizing:border-box;cursor:var(--wand-cursor)}button,a,[role=button],label{cursor:var(--wand-cursor-active)!important}input,textarea{cursor:var(--wand-cursor)!important}html,body{width:100%;min-height:100%;color:var(--ink);cursor:var(--wand-cursor);font-family:var(--font-inter), sans-serif;background:#09090b;margin:0;overflow:hidden}button,input{font:inherit}button{border:0}.home-shell{background:radial-gradient(circle at 64% 32%,#1f715c2e,#0000 34%),radial-gradient(circle at 28% 28%,#8d273629,#0000 30%),#050507;position:fixed;inset:0;overflow:hidden}.home-stage{cursor:var(--wand-cursor);position:absolute;inset:0}.home-stage canvas{width:100%;height:100%;cursor:var(--wand-cursor);image-rendering:pixelated;display:block}.home-veil{pointer-events:none;z-index:1;background:linear-gradient(90deg,#050507e6 0%,#05050752 32%,#0505070d 64%,#0505074d 100%),linear-gradient(#0505071a 0%,#05050700 42%,#050507db 100%);position:absolute;inset:0}.home-ui-layer{z-index:4;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(32px,8vh,80px) 24px;display:flex;position:absolute;inset:0}.home-brand,.home-spell-dial,.home-start{pointer-events:auto}.home-brand{text-align:center;flex-direction:column;align-items:center;animation:1s ease-out forwards fadeSlideDown;display:flex}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.home-kicker{color:var(--brass);letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 10px #c59b4a66;margin:0 0 16px;font-size:clamp(14px,1.5vw,18px);font-weight:600}.home-title{color:#fff8e8;font-family:var(--font-cinzel), serif;letter-spacing:2px;text-shadow:0 4px 24px #000c,0 0 40px #c59b4a33;margin:0;font-size:clamp(80px,14vw,180px);line-height:.9}.home-bottom-controls{flex-direction:column;align-items:center;gap:32px;animation:1s ease-out forwards fadeSlideUp;display:flex}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.home-spell-dial{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12101266;border:1px solid #ffffff0d;border-radius:16px;gap:16px;padding:12px;display:flex;box-shadow:0 24px 48px #0006}.home-rune{--spell-color:#ff6250;--spell-dark:#5d191f;color:#fff7df;width:124px;height:90px;cursor:var(--wand-cursor-active);background:linear-gradient(135deg,#ffffff0d,#0003),#0a090cb3;border:1px solid #f5ead21a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:12px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 8px 16px #0003}.home-rune:before{content:"";background:radial-gradient(circle at center, var(--spell-color), transparent 70%);opacity:0;mix-blend-mode:screen;transition:opacity .3s;position:absolute;inset:0}.home-rune:hover{box-shadow:0 12px 24px #0006, 0 0 20px color-mix(in srgb, var(--spell-color) 40%, transparent);border-color:#ffffff4d;transform:translateY(-4px)}.home-rune:hover:before{opacity:.15}.home-rune[data-active=true]{border-color:var(--spell-color);background:color-mix(in srgb, var(--spell-dark) 80%, #000);box-shadow:0 16px 32px #00000080, 0 0 30px color-mix(in srgb, var(--spell-color) 60%, transparent);transform:translateY(-4px)scale(1.05)}.home-rune[data-active=true]:before{opacity:.3}.home-rune-mark{font-family:var(--font-cinzel), serif;color:var(--spell-color);text-shadow:0 0 12px var(--spell-color);margin-bottom:4px;font-size:32px;font-weight:700;line-height:1}.home-rune-label{color:#f5ead2;letter-spacing:.5px;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:500}.home-rune[data-active=true] .home-rune-label{opacity:1;text-shadow:0 0 8px #fff6}.home-start{color:#fff8e8;min-width:240px;min-height:64px;cursor:var(--wand-cursor);font-family:var(--font-cinzel), serif;letter-spacing:2px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#141210e6,#050505e6);border:1px solid #c59b4a66;border-radius:32px;padding:0 32px;font-size:22px;font-weight:600;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 8px 32px #0009,0 0 20px #c59b4a33}.home-start:after{content:"";opacity:0;background:radial-gradient(circle,#ffffff1a 0%,#0000 60%);width:200%;height:200%;transition:all .4s;position:absolute;top:-50%;left:-50%;transform:scale(.5)}.home-start:hover{border-color:var(--brass);color:var(--brass);background:linear-gradient(135deg,#1e1914f2,#0a0808f2);transform:translateY(-2px);box-shadow:0 12px 40px #000c,0 0 40px #c59b4a66}.home-start:hover:after{opacity:1;transform:scale(1)}.home-start:active{transform:translateY(2px);box-shadow:0 4px 16px #000c,0 0 20px #c59b4a4d}.game-shell{background:radial-gradient(circle at 22% 18%,#c59b4a1f,#0000 32%),linear-gradient(#101118 0%,#070709 100%);position:fixed;inset:0;overflow:hidden}.arena-mount{position:absolute;inset:0}.arena-mount canvas{image-rendering:pixelated;display:block;width:100%!important;height:100%!important}.scanlines{pointer-events:none;z-index:2;opacity:.18;mix-blend-mode:soft-light;background-image:linear-gradient(#ffffff14 1px,#0000 1px);background-size:100% 4px;position:absolute;inset:0}.vignette{pointer-events:none;z-index:3;position:absolute;inset:0;box-shadow:inset 0 0 140px #000c}.topbar{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12101280;border:1px solid #f5ead21a;border-radius:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 16px 32px #00000080}.duelist-card{min-width:0;padding:12px 16px}.duelist-card[data-side=right]{text-align:right}.duelist-name{color:#fff8e9;letter-spacing:0;text-shadow:2px 2px #000;align-items:center;gap:8px;min-width:0;margin-bottom:8px;font-size:16px;display:flex}.duelist-card[data-side=right] .duelist-name{justify-content:flex-end}.slot-mark{background:var(--ruby);border:1px solid #ffffff85;border-radius:2px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 8px #00000080}.slot-mark[data-slot="1"]{background:var(--emerald)}.health{background:#141210db;border:1px solid #000000bf;border-radius:3px;height:14px;overflow:hidden}.health-fill{background:linear-gradient(90deg,#b82732,#e0a746);height:100%;transition:width .14s linear;box-shadow:0 0 12px #e0a74659}.duelist-card[data-side=right] .health-fill{background:linear-gradient(90deg,#44b493,#226c5c);margin-left:auto}.stat-row{color:var(--muted);justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;display:flex}.duelist-card[data-side=right] .stat-row{flex-direction:row-reverse}.center-crest{color:var(--brass);text-align:center;text-shadow:0 2px 8px #c59b4a80;border-left:1px solid #f5ead20d;border-right:1px solid #f5ead20d;flex-direction:column;justify-content:center;padding:12px 24px;display:flex}.room-code{color:var(--ink);font-size:20px;line-height:1}.phase{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:12px}.join-panel{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a080c99;border:1px solid #c59b4a4d;border-radius:16px;flex-direction:column;width:min(420px,100vw - 32px);padding:32px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #000c,inset 0 1px #ffffff1a}.join-title{color:#fff6df;letter-spacing:0;text-shadow:3px 3px #000;margin:0 0 16px;font-size:28px;line-height:1.05}.join-grid{gap:12px;display:grid}.field-label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;display:grid}.field-input{width:100%;min-height:42px;color:var(--ink);background:#f5ead214;border:1px solid #f5ead238;border-radius:6px;outline:none;padding:9px 10px}.field-input:focus{border-color:var(--brass);box-shadow:0 0 0 2px #c59b4a2e}.join-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.primary-button,.secondary-button,.spell-button,.charge-button{color:#fff8e8;min-height:42px;cursor:var(--wand-cursor);text-shadow:2px 2px #000;border-radius:6px;transition:transform .12s,filter .12s,border-color .12s}.primary-button{font-family:var(--font-cinzel), serif;letter-spacing:1px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#141210e6,#050505e6);border:1px solid #c59b4a66;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 8px 16px #0009}.secondary-button{font-family:var(--font-cinzel), serif;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5ead21a;border:1px solid #f5ead233;font-weight:500}.primary-button:hover,.spell-button:hover,.charge-button:hover{filter:brightness(1.12)}.primary-button:hover{border-color:var(--brass);color:var(--brass);background:linear-gradient(135deg,#1e1914f2,#0a0808f2);box-shadow:0 8px 24px #0009,0 0 20px #c59b4a4d}.secondary-button:hover{background:#f5ead226;border-color:#f5ead266}.primary-button:active,.secondary-button:active,.spell-button:active,.charge-button:active{transform:translateY(1px)}.join-error{color:#ffb2a8;min-height:18px;font-size:13px}.hud{z-index:4;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.controls-hint{text-align:center;color:var(--muted);letter-spacing:1px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a080c80;border:1px solid #ffffff0d;border-radius:8px;grid-column:1/-1;justify-self:center;margin-bottom:8px;padding:8px 16px;font-size:11px}.controls-hint span{color:#fff;background:#ffffff26;border-radius:4px;margin:0 4px;padding:2px 6px;font-weight:700;box-shadow:inset 0 1px #fff3}.spell-rack{grid-template-columns:repeat(3,minmax(106px,1fr));gap:10px;max-width:520px;display:grid}.spell-button{text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff0d,#0003),#0a090cb3;border:1px solid #f5ead21a;border-radius:12px;align-items:center;gap:10px;padding:12px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 16px #0000004d}.spell-hotkey-badge{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.spell-info{flex-direction:column;min-width:0;display:flex}.spell-button[data-active=true]{border-color:var(--brass);box-shadow:inset 0 0 0 1px #c59b4a38,0 0 22px #c59b4a1f}.spell-button[data-spell=rictasempra]:before,.spell-button[data-spell=squrge]:before,.spell-button[data-spell=expelliarmus]:before{content:"";border-radius:50%;width:12px;height:12px;position:absolute;top:8px;right:8px;box-shadow:0 0 14px}.spell-button[data-spell=rictasempra]:before{color:#ed5849;background:#ed5849}.spell-button[data-spell=squrge]:before{color:#8d69d6;background:#8d69d6}.spell-button[data-spell=expelliarmus]:before{color:#65c8ec;background:#65c8ec}.spell-name{overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.1;display:block}.spell-role{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:11px;display:block}.hud-controls{justify-content:center;align-items:center;gap:24px;display:flex}.charge-orb{background:conic-gradient(var(--brass) calc(var(--charge) * 100%), #0a080ccc 0);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border:2px solid #f5ead21a;border-radius:50%;outline:none;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .1s;display:flex;position:relative;box-shadow:0 8px 16px #00000080}.charge-orb:active{transform:scale(.95)}.charge-orb[data-full=true]{background:conic-gradient(var(--brass) 100%, #0a080ccc 0);animation:.8s infinite alternate pulse-charge}.charge-orb-inner{background:radial-gradient(circle,#1e191ee6,#0a080cf2);border:1px solid #ffffff0d;border-radius:50%;width:52px;height:52px;box-shadow:inset 0 2px 4px #00000080}@keyframes pulse-charge{0%{box-shadow:0 0 8px #c59b4a66}to{box-shadow:0 0 24px #c59b4ae6,0 0 40px #c59b4a66}}.status-line{color:var(--muted);text-transform:uppercase;letter-spacing:2px;text-align:center;margin-top:12px;font-size:13px}.endgame-modal{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a090cd9;justify-content:center;align-items:center;animation:.4s ease-out forwards modal-fade-in;display:flex;position:absolute;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.endgame-content{text-align:center;opacity:0;background:linear-gradient(135deg,#232126f2,#121012f2);border:1px solid #c59b4a4d;border-radius:4px;flex-direction:column;gap:24px;padding:48px 64px;animation:.5s cubic-bezier(.16,1,.3,1) .1s forwards modal-slide-up;display:flex;transform:translateY(20px);box-shadow:0 0 40px #000c,inset 0 0 20px #c59b4a0d}@keyframes modal-slide-up{to{opacity:1;transform:translateY(0)}}.endgame-title{font-family:var(--font-cinzel), serif;color:var(--brass);text-shadow:0 0 20px #c59b4a4d;letter-spacing:4px;margin:0;font-size:48px;font-weight:700}.endgame-subtitle{color:var(--muted);margin:0;font-size:16px}.endgame-actions{justify-content:center;margin-top:16px;display:flex}.endgame-hint{color:var(--blue);margin:0;font-size:13px;font-style:italic;animation:2s ease-in-out infinite pulse}@media (max-width:780px){.home-ui-layer{padding:clamp(24px,4vh,40px) 16px}.home-kicker{letter-spacing:2px;margin-bottom:8px;font-size:12px}.home-title{font-size:clamp(54px,16vw,90px)}.home-bottom-controls{gap:20px}.home-spell-dial{gap:12px;padding:8px}.home-rune{width:96px;height:72px;padding:8px}.home-rune-mark{font-size:24px}.home-rune-label{letter-spacing:.2px;font-size:9px}.home-start{min-width:200px;min-height:54px;padding:0 24px;font-size:18px}.topbar{grid-template-columns:1fr 1fr;gap:8px;top:10px;left:10px;right:10px}.center-crest{grid-area:2/1/auto/-1;justify-self:center;min-width:142px;padding:7px 10px}.duelist-card{padding:8px}.duelist-name{font-size:13px}.hud{grid-template-columns:1fr;bottom:10px;left:10px;right:10px}.spell-rack{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:none}.spell-button{min-height:48px;padding:7px}.spell-name{font-size:12px}.spell-role{font-size:9px}.casting-panel{width:100%}}
