.v2-book{max-width:1400px;margin:auto;padding:max(12px,min(3vw,36px))}.v2-intro{color:#f4efff;background:radial-gradient(at 85% 0,#8e64b440,#0000 65%),linear-gradient(135deg,#181828,#10242b);border:1px solid #bca4ee55;border-radius:24px;padding:40px}.v2-eyebrow{letter-spacing:.3em;color:#c3adeb;font-size:.75rem}.v2-intro h1{margin:12px 0;font-size:max(2rem,min(6vw,4.5rem))}.v2-intro h1 span{color:#8ee2d7}.v2-actions,.v2-chip-list,.v2-tokens{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.v2-tokens span{background:#8e73bf25;border:1px solid #8e73bf60;border-radius:12px;padding:10px 15px}.v2-chip-list button{align-items:center;gap:8px;min-width:90px;padding:8px 12px;display:flex}.v2-chip-list svg{width:32px;height:32px}.v2-builder,.v2-control-panel{background:var(--panel,#171721);border:1px solid #9995;border-radius:18px;margin:20px 0;padding:20px}.v2-result{background:#8ee2d710;border-left:3px solid #8ee2d7;gap:8px;padding:18px;display:grid}.v2-vocabulary,.v2-recipes,.v2-rules{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.v2-vocabulary article{border:1px solid #9994;border-radius:16px;gap:12px;padding:18px;display:flex}.v2-vocabulary article>svg{height:64px;color:var(--v2-color);flex:0 0 64px}.v2-vocabulary h3{margin:0}.v2-vocabulary small{color:var(--muted,#b4acc9);display:block}.v2-vocabulary p{font-size:.85rem}.v2-vocabulary button{margin-top:10px;font-size:.8rem}.v2-recipes button{text-align:left;white-space:normal;flex-direction:column;align-items:start;gap:9px;padding:20px;display:flex}.v2-recipes code{color:#88cfc5}.v2-rules article{border-top:1px solid #9994;padding:14px}.v2-control-heading{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.v2-settings{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;margin-top:15px;display:grid}.v2-settings label{gap:8px;display:grid}.v2-settings input{width:100%}.v2-free-shape svg{touch-action:none;background:#7771;border:1px solid #9995;border-radius:12px;width:100%;height:180px}.v2-world{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.v2-weather-particle{animation:1.2s linear infinite v2-weather}.v2-world.economy .v2-weather-particle{animation:none}.v2-hit-glyph{stroke-dasharray:1;filter:drop-shadow(0 0 4px);animation:1.1s ease-out forwards v2-glyph}.v2-captured{animation:.5s ease-in-out infinite alternate v2-pulse}.v2-shape-instruction{color:#8ee2d7;font-weight:700}.v2-world .fire{filter:drop-shadow(0 0 7px #ff772b60)}.v2-world .lightning{filter:drop-shadow(0 0 8px #c491ff60)}@keyframes v2-weather{0%{opacity:.1;transform:translateY(-4px)}50%{opacity:.7}to{opacity:0;transform:translateY(30px)}}@keyframes v2-pulse{to{filter:drop-shadow(0 0 8px #caa5ff);opacity:.65}}@keyframes v2-glyph{0%{stroke-dashoffset:1px;opacity:1}30%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1px;opacity:0}}@media (prefers-reduced-motion:reduce){.v2-world *{filter:none!important;animation:none!important}.v2-hit-glyph{opacity:.6}}.workspace.duel-workspace{flex-direction:column;display:flex}.duel-workspace>.main-content{width:100%}.connection-settings{border:1px solid var(--line);background:var(--panel,#171721);border-radius:14px;order:-1;display:block}.connection-settings>summary{cursor:pointer;padding:16px;font-weight:600}.connection-settings-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:16px;display:grid}.connection-settings-grid>.muted{grid-column:1/-1}.v2-arena-chips{flex-wrap:wrap;place-content:center;gap:5px;max-height:110px;display:flex;overflow:auto}.v2-arena-chips>span{color:#cdc2e8;background:#12121ee0;border:1px solid #8f79b555;border-radius:7px;align-items:center;gap:3px;padding:3px 6px;font-size:10px;display:flex}.v2-arena-chips>span.hit{color:#b4f8de;background:#254039e8;border-color:#7fdec3}.v2-arena-chips svg{width:21px;height:21px}.v2-preparing{animation:1.4s ease-in-out infinite alternate v2-breathe}.v2-world.economy *{filter:none!important}.spell-hotbar[hidden],label[hidden]{display:none!important}.v2-world.economy .v2-preparing{animation:none}@keyframes v2-breathe{to{opacity:.45}}@media (max-width:650px){.v2-intro{padding:22px}.v2-chip-list{gap:5px}.v2-chip-list button{min-width:64px;padding:7px;font-size:12px}.connection-settings-grid{grid-template-columns:1fr}.v2-arena-chips{max-height:85px}.v2-arena-chips svg{width:14px;height:14px}.v2-control-panel{padding:12px}}.screen-mode .v2-control-panel{margin:10px 0;padding:10px 15px}.screen-mode .v2-control-panel .v2-chip-list{gap:5px;margin:6px 0}.screen-mode .v2-control-panel .v2-chip-list button{min-width:64px;padding:5px 8px;font-size:12px}.screen-mode .v2-control-panel .v2-actions{margin:5px 0}.screen-mode .v2-control-panel .v2-chip-list svg{width:24px;height:24px}.screen-mode .opponent-choice{display:none}.screen-mode .arena{height:57vh;min-height:320px}.screen-mode .v2-arena-chips{max-height:75px}.screen-mode .screen-toolbar{margin-bottom:8px}.screen-mode .screen-toolbar label{font-size:12px}@media (max-width:650px){nav{max-width:100%;overflow:auto}.v2-book{padding:8px}.v2-vocabulary,.v2-recipes,.v2-rules{grid-template-columns:minmax(0,1fr)}.v2-arena-chips{gap:2px}.v2-arena-chips>span{padding:2px;font-size:8px}}[data-theme=light]{--panel:#f9f7ff;--muted:#5c536b;color:#242034;background:#eeedf5}[data-theme=light] .panel,[data-theme=light] .v2-control-panel,[data-theme=light] .spell-list{color:#242034;background:#faf9ff}[data-theme=light] input,[data-theme=light] select,[data-theme=light] button{color:#2c2440}[data-theme=light] .v2-recipes code{color:#18665b}.v2-defense-editor{background:radial-gradient(ellipse at 100% 0%,#8164cc22,transparent 58%),var(--panel,#171721);border:1px solid #a78ee866;border-radius:18px;margin:20px 0;padding:20px}.v2-defense-editor h2{margin:.35rem 0}.voice-practice[hidden]{display:none!important}.v2-arena .fighters{grid-template-columns:minmax(135px,24%) minmax(0,1fr) minmax(135px,24%);gap:24px}.v2-arena .fighter{width:100%}.v2-arena .v2-arena-chips{scrollbar-width:thin;max-height:95px}.v2-arena .v2-arena-chips>span{padding:3px 5px}@media (max-width:650px){.v2-arena .fighters{grid-template-columns:minmax(85px,25%) minmax(0,1fr) minmax(85px,25%);gap:8px;padding:4px 8px}.v2-arena .fighter{min-width:85px}}.main-content.screen-mode.optimized-screen{padding:0;overflow:hidden}.optimized-screen>:not(.arena-debug-layout):not(.duel-camera-preview){display:none!important}.optimized-screen>.arena-debug-layout{width:100%;height:100%;margin:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.optimized-screen .arena.v2-arena{border:0;border-radius:0;width:100%;height:100%;min-height:0}.optimized-screen .arena-top,.optimized-screen .hybrid-formula-slot,.optimized-screen .arena-bottom-status,.optimized-screen .camera-arena-controls,.optimized-screen .arena-bottom>span{display:none!important}.optimized-screen .arena-center{top:0;bottom:0;left:0;right:0}.optimized-screen .v2-arena .fighters{pointer-events:none;padding:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.optimized-screen .v2-arena .fighter{width:34%;min-width:0;position:absolute;top:28px}.optimized-screen .v2-arena .fighter.player{left:28px}.optimized-screen .v2-arena .fighter.enemy{top:calc(min(31vh,320px) + 36px);right:28px}.optimized-screen .fighter>div:first-child,.optimized-screen .fighter>div:first-child span{font-size:20px}.optimized-screen .fighter>div:first-child small{font-size:14px}.optimized-screen .fighter .hp{height:10px}.optimized-screen .fighter.player .v2-arena-chips{pointer-events:auto;place-content:flex-start;gap:10px;max-height:calc(100vh - 160px);margin-top:20px}.optimized-screen .v2-arena .v2-arena-chips>span{border-width:2px;border-radius:14px;gap:6px;padding:6px 10px;font-size:20px}.optimized-screen .v2-arena-chips svg{flex-shrink:0;width:42px;height:42px}.optimized-screen .arena-bottom{pointer-events:none;justify-content:center;padding:0;bottom:24px}@media (max-width:800px){.optimized-screen .v2-arena .fighter.player{top:12px;left:12px}.optimized-screen .v2-arena .fighter.enemy{top:calc(22vh + 26px);right:12px}}@media (max-width:650px){.optimized-screen .v2-arena .fighter{width:42%}.optimized-screen .v2-arena .v2-arena-chips>span{padding:4px 6px;font-size:16px}.optimized-screen .v2-arena-chips svg{width:28px;height:28px}.optimized-screen .fighter.player .v2-arena-chips{gap:4px}}.v2-arena-chips>span.active-candidate,.projector-fighter .v2-arena-chips>span.active-candidate{color:#fff;background:#563b78ef;border-color:#d6aeff;animation:.85s ease-in-out infinite alternate v2-candidate-pulse}@keyframes v2-candidate-pulse{0%{box-shadow:0 0 #bc90ff30,0 0 10px #b689ff45}to{box-shadow:0 0 0 5px #bc90ff20,0 0 22px #c392ffdb}}@media (prefers-reduced-motion:reduce){.v2-arena-chips>span.active-candidate{animation:none;box-shadow:0 0 0 2px #d6aeff,0 0 16px #c392ff}}.v2-arena-chips>span.held-candidate,.projector-fighter .v2-arena-chips>span.held-candidate{color:#e0ffed;background:#25463bea;border-color:#84deb7;box-shadow:inset 0 0 0 1px #84deb766}.v2-quiet-countdown{color:#d9f5e8;background:#101d20dd;border:1px solid #a5d8c477;border-radius:9px;flex:0 0 100%;order:99;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;max-width:460px;margin-top:5px;padding:7px 10px;font-size:max(11px,min(1.2vw,15px));display:grid}.v2-quiet-countdown>span{text-align:right}.v2-quiet-countdown>div{background:#50605d;border-radius:6px;grid-column:1/-1;height:8px;overflow:hidden}.v2-quiet-countdown i{background:linear-gradient(90deg,#78c3af,#b4f2cf);height:100%;transition:width 80ms linear;display:block}.optimized-screen .v2-quiet-countdown,.projector-fighter .v2-quiet-countdown{max-width:none;padding:10px 14px;font-size:max(16px,min(1.8vw,24px))}.optimized-screen .v2-quiet-countdown>div,.projector-fighter .v2-quiet-countdown>div{height:12px}.v2-arena .v2-arena-chips{max-height:none;overflow:visible}@media (max-width:650px){.v2-arena .fighters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px}.v2-arena .fighters>.fighter.player{grid-area:1/1}.v2-arena .fighters>.fighter.enemy{grid-area:1/2}.v2-arena .fighters>.hybrid-formula-slot{grid-area:2/1/auto/-1;justify-content:flex-start;min-width:0}.v2-arena .hybrid-formula-slot .v2-arena-chips{justify-content:flex-start;gap:3px 4px}.v2-arena .hybrid-formula-slot .v2-arena-chips>span{padding:2px 4px;font-size:9px}.v2-arena .hybrid-formula-slot .v2-arena-chips svg{width:16px;height:16px}}@media (max-height:650px){.optimized-screen .v2-arena .fighter.player{width:40%}.optimized-screen .fighter.player .v2-arena-chips{gap:4px;max-height:calc(100vh - 100px);margin-top:8px}.optimized-screen .v2-arena .v2-arena-chips>span{gap:3px;padding:2px 4px;font-size:max(11px,min(1.6vw,16px))}.optimized-screen .v2-arena-chips svg{width:24px;height:24px}}.v2-quick-quiet{color:#e8ddff;background:#24243a;border:1px solid #8e83b7;border-radius:10px;gap:8px;padding:12px;display:grid}.v2-quick-quiet input{width:100%}.adventure-scene{color:#f8f4ec;background:#0a0913;width:100%;height:100%;font-family:Georgia,serif;position:relative;overflow:hidden}.adventure-scene canvas{object-fit:cover;width:100%;height:100%;display:block}.adventure-hud{text-shadow:0 3px 7px #000;pointer-events:none;justify-content:space-between;gap:20px;font:max(18px,min(2.5vw,38px))/1.15 system-ui,sans-serif;display:flex;position:absolute;top:3%;left:3%;right:3%}.adventure-hud>div{width:min(34%,440px)}.adventure-hud-right{text-align:right}.adventure-hp{background:#100d16bb;border:1px solid #dfd2bb;border-radius:12px;height:12px;margin-top:9px;overflow:hidden}.adventure-hp i{background:linear-gradient(90deg,#38a4a5,#b7efd9);height:100%;display:block}.adventure-hp.enemy i{background:linear-gradient(90deg,#813344,#e4939d)}.adventure-chips{z-index:5;pointer-events:none;text-shadow:0 2px 6px #000;width:min(58%,900px);position:absolute;top:13%;left:3%}.adventure-chips .v2-arena-chips{flex-wrap:wrap;justify-content:flex-start;gap:8px;max-height:26vh;overflow:hidden}.adventure-chips .v2-arena-chips>span{background:#12121eee;border:2px solid #8f79b5;border-radius:11px;padding:5px 9px;font:max(17px,min(2vw,30px)) system-ui,sans-serif}.adventure-chips .v2-arena-chips svg{width:max(25px,min(2.5vw,43px));height:max(25px,min(2.5vw,43px))}.adventure-message{text-align:center;text-shadow:0 2px 4px #000;background:#0a0819e6;border:1px solid #bd9bcb9c;border-radius:12px;min-width:35%;max-width:80%;padding:13px 28px;font:max(16px,min(2vw,30px))/1.3 system-ui,sans-serif;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.adventure-retro .adventure-message{background:#17131dea;border:3px solid #aa9479;border-radius:0}.adventure-illustrated .adventure-message{background:#322014e8;border:3px double #e2c489}.adventure-arcane .adventure-message{box-shadow:0 0 20px #8b6eff55}.adventure-success{text-align:center;pointer-events:none;background:#0d0a1ade;border:2px solid #e7c887;border-radius:16px;flex-direction:column;align-items:center;gap:4px;width:min(48%,580px);padding:12px;display:flex;position:absolute;top:12%;left:50%;transform:translate(-50%);box-shadow:0 0 35px #dcac6044}.adventure-success strong{font-size:max(20px,min(2.8vw,38px))}.adventure-success small{font:max(15px,min(1.8vw,25px)) system-ui}.adventure-success.defeat{border-color:#bf6f7d;width:min(76%,680px);padding:32px;top:50%;transform:translate(-50%,-50%)}.adventure-controller{z-index:1000001;color:#f8f5ff;background:#0e0c18;flex-direction:column;font:16px system-ui,sans-serif;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.adventure-controller header{background:#211c34;border-bottom:1px solid #765e96;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex;position:relative}.adventure-controller header small{letter-spacing:.16em;color:#c4afe2}.adventure-controller h1{margin:0;font:max(24px,min(4vw,40px)) Georgia,serif}.adventure-controller button,.adventure-controller select{color:#fff;font:inherit;cursor:pointer;background:#312a4b;border:1px solid #796592;border-radius:10px;padding:10px 14px}.adventure-controller button:hover,.adventure-controller button.active{background:#735c9c}.adventure-phone-body{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px;min-height:0;padding:14px;display:grid}.adventure-phone-camera{border:1px solid #8a76ad;border-radius:12px;min-height:350px;overflow:hidden;margin:0!important}.adventure-phone-camera .webcam-preview-image{flex:1;min-height:300px}.adventure-phone-panel{flex-direction:column;gap:11px;display:flex;overflow:auto}.adventure-phone-summary{background:#1c1830;border:1px solid #655784;border-radius:12px;flex-direction:column;gap:5px;min-height:72px;padding:12px;display:flex}.adventure-phone-summary strong{color:#b5ebd7;font-size:24px}.adventure-dpad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.adventure-dpad button{min-height:82px;font-size:34px;line-height:1}.adventure-dpad button small{margin-top:4px;font-size:13px;display:block}.adventure-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.adventure-actions button{background:#54406d;min-height:54px}.adventure-actions.secondary button{background:#211b35;font-size:14px}.adventure-armed{color:#f8d99f;margin:0}.adventure-phone-panel label{justify-content:space-between;align-items:center;gap:9px;display:flex}.adventure-phone-panel select{max-width:65%}.adventure-restart{align-self:flex-start}.adventure-phone-help{color:#c3b8d5;margin:0;padding:8px 18px 14px;font-size:14px}@media (max-width:760px){.adventure-phone-body{flex-direction:column;display:flex}.adventure-phone-camera{flex:0 0 45vh;min-height:240px}.adventure-phone-panel{overflow:visible}.adventure-phone-help{font-size:12px}}.spell-missile,.spell-warning,.spell-impact{pointer-events:none;--fx:#af91ff;position:absolute}.spell-missile{width:40px;height:40px;transform:translate(-50%, -50%) rotate(var(--heading));z-index:4;top:54%}.fx-fireball,.fx-flame,.fx-meteor,.fx-explosion{--fx:#ff783a}.fx-lightning,.fx-chain,.fx-energy{--fx:#83dfff}.fx-arrow{--fx:#ffe4a2}.fx-return{--fx:#d2a4ff}.fx-poison{--fx:#92e278}.fx-mind{--fx:#bed6ff}.missile-core{background:radial-gradient(circle at 65% 40%, #fff7d2 5%, var(--fx) 40%, #ad2915 80%);box-shadow:0 0 12px var(--fx), 0 0 35px var(--fx);border-radius:50%;position:absolute;top:8%;bottom:8%;left:8%;right:8%}.missile-tail{background:linear-gradient(90deg, transparent, var(--fx));filter:blur(4px);border-radius:80% 10% 10% 80%;width:95px;height:74%;position:absolute;top:14%;right:40%}.fx-arrow .missile-core{clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);background:#fff4c8;border-radius:0}.fx-energy .missile-core,.fx-return .missile-core{background:radial-gradient(circle, #fff 10%, var(--fx) 45%, transparent 75%)}.missile-sparks{border:2px dashed var(--fx);border-radius:50%;animation:.5s linear infinite fx-orbit;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.target-player{left:19%}.target-enemy{left:81%}.spell-warning{border:2px solid var(--fx);width:150px;height:38px;box-shadow:0 0 17px var(--fx), inset 0 0 15px var(--fx);z-index:2;border-radius:50%;bottom:25px}.spell-impact{z-index:5;width:185px;height:230px;bottom:22px;transform:translate(-50%)}.impact-rune{border:3px solid var(--fx);width:84%;height:42px;box-shadow:0 0 15px var(--fx);animation:1s ease-out both fx-rune;animation-delay:var(--fx-age);border-radius:50%;position:absolute;bottom:0;left:8%}.flame-column{filter:drop-shadow(0 0 13px #ff401d);transform-origin:50% 95%;width:100%;height:100%;animation:1s ease-out both fx-flame;animation-delay:var(--fx-age);position:absolute;top:0;bottom:0;left:0;right:0}.fx-fireball .flame-column{height:65%;top:27%;transform:scale(.7)}.ember{fill:#fff2ac;animation:.8s ease-out both fx-embers;animation-delay:var(--fx-age)}.lightning-strike{fill:none;stroke-linejoin:bevel;width:185px;height:340px;animation:.8s ease-out both fx-lightning;animation-delay:var(--fx-age);position:absolute;bottom:-3px}.bolt-glow{stroke:#69bfff;stroke-width:15px;filter:blur(5px)}.bolt-white{stroke:#fff;stroke-width:4px}.bolt-branch{stroke:#b4e8ff;stroke-width:2px}.impact-flash{border:3px solid var(--fx);width:66px;height:66px;box-shadow:0 0 30px var(--fx);animation:.65s ease-out both fx-impact;animation-delay:var(--fx-age);background:radial-gradient(circle,#ffffffa0,#0000 65%);border-radius:50%;position:absolute;top:47%;left:32%}.fx-flame .impact-flash,.fx-poison .impact-flash{opacity:0!important}.fx-explosion .impact-flash{border-width:10px;animation-duration:1s;box-shadow:0 0 30px #ff471e,inset 0 0 30px #ff963f}.meteor{background:radial-gradient(circle at 50% 75%, #fff2ab, var(--fx) 50%, transparent 80%);width:25px;height:38px;animation:.6s ease-in both fx-meteor;animation-delay:var(--fx-age);border-radius:65% 40%;position:absolute;top:0;box-shadow:0 -10px 15px #ff8a45}.meteor-0{left:15%}.meteor-1{top:-40px;left:50%}.meteor-2{top:-70px;left:85%}.ground-cracks{stroke:#ffc86e;stroke-width:4px;fill:none;filter:drop-shadow(0 0 8px #ff7b2e);width:280px;height:120px;animation:1s ease-out both fx-rune;animation-delay:var(--fx-age);position:absolute;bottom:-10px;left:-45px}.curse-ring{border:4px solid var(--fx);box-shadow:inset 0 0 25px var(--fx), 0 0 20px var(--fx);animation:1s ease-out both fx-curse;animation-delay:var(--fx-age);border-radius:50%;position:absolute;top:25%;bottom:15%;left:15%;right:15%}.curse-ring.second{top:38%;bottom:30%;left:0;right:0;transform:rotateX(60deg)}.curse-mote{left:calc(18% + var(--mote) * 12%);background:var(--fx);filter:blur(2px);width:8px;height:22px;animation:1s ease-out both fx-mote;animation-delay:var(--fx-age);border-radius:50%;position:absolute;bottom:30px}.fx-mind .curse-ring{border-style:dashed;border-color:#f0f5ff}.fx-poison .curse-ring{filter:blur(9px);border-width:12px}@keyframes fx-orbit{to{transform:rotate(360deg)}}@keyframes fx-rune{0%{opacity:1;transform:scale(.4)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.6)}}@keyframes fx-flame{0%{opacity:0;transform:scale(.6,.1)}12%{opacity:1;transform:scale(1.15)}35%{opacity:1;transform:scaleX(.85)}70%{opacity:.8;transform:scaleY(1.08)}to{opacity:0;transform:scale(.8,1.2)}}@keyframes fx-lightning{0%,15%,29%{opacity:1}12%,25%{opacity:.2}45%{opacity:1}to{opacity:0}}@keyframes fx-impact{0%{opacity:1;transform:scale(.2)}30%{opacity:1}to{opacity:0;transform:scale(2.7)}}@keyframes fx-embers{to{opacity:0;transform:translateY(-90px)}}@keyframes fx-meteor{0%{opacity:1;transform:translate(45px,-160px)}75%{opacity:1}to{opacity:0;transform:translate(-30px,170px)}}@keyframes fx-curse{0%{opacity:0;transform:scale(1.4)}25%{opacity:1}70%{opacity:1;transform:scale(.65)}to{opacity:0;transform:scale(.4)}}@keyframes fx-mote{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translateY(calc(-90px - var(--mote) * 14px))}}.stop-signal-panel label{margin:12px 0;display:block}.stop-signal-panel input[type=range]{width:100%;margin-top:9px;display:block}.stop-signal-panel button{margin:4px 4px 4px 0}@media (max-width:600px){.spell-impact{width:140px;height:190px}.target-player{left:22%}.target-enemy{left:78%}.spell-missile{width:30px;height:30px}.spell-warning{width:100px}.lightning-strike{width:140px;height:290px}}@media (prefers-reduced-motion:reduce){.spell-missile{display:none}.spell-impact *{animation:none!important}.spell-impact{opacity:.45}.flame-column{transform:scale(.8)}.spell-warning{box-shadow:none}}.element-settings{border:1px solid #61728655;border-radius:12px;gap:12px;margin:12px 0;padding:16px;display:grid}.element-settings legend{color:#9ee9e0;padding:0 8px}.element-settings p{color:#a8b5c6;margin:0;font-size:12px;line-height:1.6}.element-settings label{gap:6px;display:grid}.element-settings .checkbox{display:flex}.combo-guide{background:#14212b77;border:1px solid #b69c6340;border-radius:12px;margin:16px 0;padding:14px}.combo-guide summary{cursor:pointer;color:#dcc38a}.combo-examples{grid-template-columns:1fr 1fr;gap:0 20px;font-size:13px;line-height:1.7;display:grid}.combo-spells{flex-wrap:wrap;gap:8px;display:flex}.combo-spells button{text-align:left;gap:6px;font-size:12px;display:grid}.combo-spells span{color:#acc1c9;font-size:10px}.element-hud{grid-template-columns:1fr 1fr;gap:16px;margin:12px 0;display:grid}.element-hud>div:last-child{text-align:right}.element-hud small{color:#a9bcc5;margin:4px 0;font-size:11px;display:block}.weather-chips{flex-wrap:wrap;gap:6px;min-height:25px;display:flex}.element-hud>div:last-child .weather-chips{justify-content:flex-end}.weather-chip{color:#cde7f0;background:#183140;border:1px solid #9acadc55;border-radius:6px;padding:5px 8px;font-size:11px;position:relative;overflow:hidden}.weather-chip i{background:#89d8f4;height:2px;position:absolute;bottom:0;left:0}.weather-rain,.weather-frost,.weather-snow{background:#183b52}.weather-spikes,.weather-stone{background:#463e30}.weather-sun,.weather-embers{background:#543c28}.mouse-quality{align-items:center;gap:12px;margin:14px 0;font-size:12px;display:flex}.mouse-quality input{max-width:220px}.fizzle-button{color:#ffbaaa!important;border-color:#fb917a!important}.spell-hotbar{scrollbar-color:#477a82 #12202a;max-height:360px;overflow-y:auto}.spell-hotbar button{min-height:98px}.weather-art{pointer-events:none;z-index:5;width:25%;height:75%;position:absolute;bottom:12%;transform:translate(-50%)}.weather-art.at-player{left:19%}.weather-art.at-enemy{left:81%}.rain-art{filter:drop-shadow(0 0 15px #78aee54a);width:100%;height:90%;position:absolute;top:0;left:0}.rain-art svg{z-index:2;width:100%;position:relative}.rain-art>i{background:linear-gradient(#0000,#a1dcff);border-radius:4px;width:2px;height:14px;animation:.7s linear infinite rain-drop;position:absolute;top:15%}.sun-art{color:#ffe39a;text-shadow:0 0 28px #ffc457;font-size:66px;animation:18s linear infinite sun-spin;position:absolute;top:0;left:25%}.sun-art i{background:radial-gradient(#fff7bc33,#0000 65%);border-radius:50%;position:absolute;top:-35%;bottom:-35%;left:-35%;right:-35%}.gale-art{z-index:3;opacity:.65;pointer-events:none;position:absolute;top:20%;bottom:15%;left:10%;right:10%}.gale-art.wind-enemy{transform:scaleX(-1)}.gale-art svg{width:100%;height:100%;overflow:visible}.gale-art path{fill:none;stroke:#b7f3eb;stroke-width:2px;stroke-dasharray:90 230;filter:drop-shadow(0 0 5px #9fffe9);animation:1.2s linear infinite wind-line}.lift-art{perspective:250px;position:absolute;top:20%;bottom:0;left:0;right:0}.lift-art i{border:2px solid #b8fced;border-radius:50%;width:100%;height:25%;animation:1.3s ease-out infinite lift-ring;position:absolute;bottom:0;left:0;box-shadow:0 0 20px #81e7da88}.wizard>svg{translate:0 calc(-1px * var(--lift,0));transition:translate .3s ease-in-out}.spikes-art{width:120%;height:30%;animation:.35s ease-out spikes-grow;position:absolute;bottom:-5%;left:-10%;overflow:visible}.spikes-art path{fill:#756d71;stroke:#c0b4a7;stroke-width:2px;filter:drop-shadow(0 0 5px #110d1c)}.spikes-art.snowy path{fill:#bfdfe9;stroke:#f4fcff}.snow-art{background:radial-gradient(at 50% 30%,#fff,#b8d4e2 60%,#538391);border-radius:50%;width:120%;height:17%;animation:.4s ease-out snow-rise;position:absolute;bottom:0;left:-10%;box-shadow:0 0 22px #cff7ff77}.snow-art>i{background:#e7f8ff;border-radius:50%;width:30%;height:90%;position:absolute;top:-35%;left:12%}.snow-art>i:nth-child(2){width:38%;top:-60%;left:35%}.snow-art>i:nth-child(3){width:22%;left:68%}.snow-art>b{color:#e9ffff;animation:2s linear infinite snowfall;position:absolute;bottom:150%}.ground-art{filter:drop-shadow(0 0 8px #e5bb72);position:absolute;top:20%;bottom:0;left:5%;right:5%}.ground-art svg{fill:none;stroke:#f8d791;stroke-width:3px;stroke-dasharray:8 6;width:100%;height:100%;animation:2s ease-in-out infinite ground-pulse}.stone-art{position:absolute;top:30%;bottom:0;left:-5%;right:-5%}.stone-art>i{width:23%;height:35%;left:calc(8% + mod(var(--i), 3) * 28%);left:calc(var(--i) * 14%);top:calc(10% + var(--i) * 6%);clip-path:polygon(10% 12%,70% 0,100% 60%,65% 100%,0 75%);animation:2s ease-in-out infinite alternate stone-hover;animation-delay:calc(var(--i) * -.3s);background:linear-gradient(120deg,#b9b0a3,#4d525e);position:absolute;box-shadow:inset 4px 3px #ddd}.frost-art{text-align:center;color:#bbf6ff;text-shadow:0 0 22px #6cf;opacity:.65;width:100%;height:60%;font-size:80px;animation:1.5s ease-in-out infinite ground-pulse;position:absolute;bottom:10%}.embers-art{position:absolute;top:20%;bottom:0;left:5%;right:5%}.embers-art i{background:#ffce8a;border-radius:70% 20% 50% 50%;width:8px;height:22px;animation:1.2s linear infinite ember-lift;position:absolute;bottom:0;box-shadow:0 0 15px #ff5f28}.fx-water{--fx-color:#7de6ff;--fx-hot:#eefeff;filter:drop-shadow(0 0 10px #5bcfff)}.fx-water .missile-core{background:radial-gradient(at 65% 40%,#fff,#66dafe 40%,#2673aa 70%);border-radius:70% 45% 45% 70%}.fx-frost{--fx-color:#a9efff;--fx-hot:#fff}.fx-frost .impact-flash{background:repeating-conic-gradient(#abf0ff 0 10deg, transparent 10deg 60deg);border-radius:0}.fizzle-art{z-index:8;background:radial-gradient(#efcfab88,#0000 65%);border-radius:50%;width:100px;height:100px;animation:.7s ease-out forwards fizzle-out;position:absolute;bottom:26%;transform:translate(-50%)}.fizzle-art.at-player{left:19%}.fizzle-art.at-enemy{left:81%}.fizzle-art:after{content:"✧";text-align:center;color:#ae9d9c;font-size:80px;display:block}.landing-art{border:3px solid #baa998;border-radius:50%;width:180px;height:38px;animation:.6s ease-out forwards land-ring;position:absolute;bottom:8%;transform:translate(-50%)}.landing-art.at-player{left:19%}.landing-art.at-enemy{left:81%}.landing-art.soft{border-color:#d8fcff}@keyframes rain-drop{to{opacity:.1;transform:translate(-18px,190px)}}@keyframes sun-spin{to{rotate:360deg}}@keyframes wind-line{to{stroke-dashoffset:-640px}}@keyframes lift-ring{0%{opacity:.8;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(-110px)scale(1.1)}}@keyframes spikes-grow{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@keyframes snow-rise{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes snowfall{to{opacity:0;translate:-10px 60px}}@keyframes ground-pulse{50%{opacity:.35}}@keyframes stone-hover{to{translate:0 -8px}}@keyframes ember-lift{to{opacity:0;translate:10px -130px;scale:.3}}@keyframes fizzle-out{to{opacity:0;filter:blur(4px);scale:.25}}@keyframes land-ring{to{opacity:0;scale:1.8 .5}}@media (max-width:600px){.combo-examples{grid-template-columns:1fr}.element-hud{gap:6px}.weather-chip{padding:4px;font-size:10px}.sun-art{font-size:40px}.rain-art>i{height:8px}.frost-art{font-size:48px}.spell-hotbar{max-height:320px}.element-hud small{font-size:10px}}@media (prefers-reduced-motion:reduce){.cloud-journey{display:none}.weather-art *,.gale-art *{animation:none!important}.wizard>svg{transition:none}.fizzle-art,.landing-art{animation-duration:50ms}}.cloud-journey{z-index:8;pointer-events:none;--from:19%;--to:81%;filter:drop-shadow(0 0 16px #abcce888);width:20%;animation:.55s ease-in-out forwards cloud-cross;position:absolute;top:39%;transform:translate(-50%)}.cloud-journey.from-enemy{--from:81%;--to:19%}.cloud-journey svg{width:100%}@keyframes cloud-cross{0%{left:var(--from);opacity:1}to{left:var(--to);opacity:0}}
