/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Base Styles: CSS Variables, Reset, Typography
 */:root{--background-color: #0A051A;--surface-color: #1A113B;--surface-hover: #2c1d63;--primary-color: #61EFFF;--secondary-color: #8A79E8;--text-color: #F0F0F0;--danger-color: #ff5555;--success-color: var(--primary-color);--lane-divider: var(--surface-hover)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Poppins,sans-serif;background-color:var(--background-color);color:var(--text-color);overflow:hidden;height:100vh;width:100vw}#root{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}h1,h2{font-family:Orbitron,sans-serif;color:var(--text-color);text-shadow:none;text-align:center;font-weight:700}h1{font-size:3rem;letter-spacing:2px;color:var(--primary-color)}h2{font-size:2rem}p{max-width:60ch;text-align:center;line-height:1.6;color:var(--secondary-color)}.screen{width:100%;max-width:1200px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem;background-color:#0003;animation:fadeIn .5s ease-in-out;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-header{position:absolute;top:2rem;left:2rem;right:2rem;display:flex;justify-content:center;align-items:center;z-index:100}.app-header h2{margin:0;text-align:center}.app-header .btn-back{position:absolute;right:0}.btn{font-family:Orbitron,sans-serif;background-color:transparent;border:1px solid var(--primary-color);color:var(--primary-color);padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;border-radius:4px;box-shadow:none}.btn:hover,.btn.active{background-color:var(--primary-color);color:var(--background-color)}.btn:disabled{border-color:var(--secondary-color);color:var(--secondary-color);cursor:not-allowed;opacity:.7;background-color:transparent}.btn-back{border-color:var(--secondary-color);color:var(--secondary-color)}.btn-back:hover{background-color:var(--secondary-color);color:var(--background-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0a051acc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in-out}.modal-content{background:var(--surface-color);padding:2rem 3rem;border:1px solid var(--secondary-color);border-radius:8px;box-shadow:none;max-width:800px;max-height:80vh;overflow-y:auto;position:relative;text-align:left}.modal-content h2,.modal-content h3{text-align:left;margin-bottom:1rem}.modal-content h3{color:var(--primary-color);margin-top:1.5rem}.modal-content p,.modal-content li{text-align:left;margin-bottom:.75rem;line-height:1.6;color:var(--text-color)}.modal-content ol{padding-left:2rem}.modal-content strong{color:var(--primary-color);font-weight:600}.modal-close-btn{position:sticky;top:-2rem;float:right;margin-right:-2rem;z-index:2;padding:.5rem .75rem}.log-modal-content{width:60%;max-width:700px;overflow-y:auto}.revealed-deck-modal{max-width:95vw;width:auto;min-width:700px}.revealed-deck-layout{display:flex;gap:1.5rem;align-items:flex-start;padding:1rem 0}.revealed-deck-preview{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:140px}.revealed-deck-preview .card{font-size:1rem}.preview-placeholder{width:120px;height:168px;border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);font-size:.9rem;padding:1rem}.preview-confirm-btn{min-width:120px;padding:.75rem 1rem;font-size:1rem;touch-action:manipulation}.revealed-deck-cards{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-start;padding:0;max-height:55vh;overflow-y:auto;flex:1}.revealed-deck-cards.compact{gap:.15rem}.revealed-deck-card-wrapper{position:relative;transition:transform .15s ease;touch-action:manipulation}.revealed-deck-card-wrapper.mini{transform:scale(.4);transform-origin:top left;margin-right:-72px;margin-bottom:-96px}.revealed-deck-card-wrapper.mini.selectable:hover,.revealed-deck-card-wrapper.mini.selectable:active,.revealed-deck-card-wrapper.mini.previewing{transform:scale(.45);z-index:10}.revealed-deck-card-wrapper.selectable{cursor:pointer}.revealed-deck-card-wrapper .highlight-selectable{box-shadow:0 0 15px var(--primary-color),0 0 30px var(--primary-color)}.revealed-deck-card-wrapper .dimmed{filter:grayscale(70%) brightness(.5);opacity:.5}.revealed-deck-top-modal{min-width:700px;text-align:center}.revealed-card-display{display:flex;justify-content:center;padding:1.5rem 0}.revealed-card-display .card{font-size:1.1rem}.revealed-card-display .card .effect-text{font-size:.85rem}.revealed-deck-top-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.revealed-deck-top-actions .btn{min-width:140px}.log-list{list-style:none;padding-left:0;counter-reset:log-counter;font-family:Poppins,sans-serif;font-size:.9rem}.log-entry{counter-increment:log-counter;margin-bottom:.5rem;padding-left:2.5rem;position:relative;line-height:1.5}.log-entry:before{content:counter(log-counter) ".";position:absolute;left:0;top:0;font-weight:700;font-family:Orbitron,sans-serif;color:var(--secondary-color);width:2rem;text-align:right;margin-right:.5rem}.log-modal-content .log-entry.log-entry-player{color:var(--primary-color)}.log-modal-content .log-entry.log-entry-opponent{color:var(--danger-color)}.log-entry:hover{background-color:#ffffff0d}.log-entry.log-entry-clickable{cursor:pointer;transition:background-color .2s ease}.log-entry.log-entry-clickable:hover{background-color:#ffffff1a}.log-entry.log-entry-selected{background-color:#00c8ff26;border-radius:4px}.log-modal-with-preview{width:90%!important;max-width:1200px!important}.log-content-wrapper{display:flex;gap:1rem;align-items:flex-start}.log-preview-area{flex:0 0 180px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:.5rem}.log-preview-area .card-component{width:160px;height:224px;font-size:.65rem}@media (min-width: 1441px){.log-preview-area{flex:0 0 240px;min-height:380px}.log-preview-area .card-component{width:220px;height:308px;font-size:.85rem}}.log-preview-card{display:flex;flex-direction:column;align-items:center;gap:.5rem}.log-preview-counter{font-size:.75rem;color:var(--secondary-color);text-align:center}.log-modal-with-preview .log-list{flex:1;max-height:60vh;overflow-y:auto;padding-right:.5rem}.card-header{position:relative;display:flex;align-items:stretch;gap:0;margin-bottom:10px;height:30px}.card-protocol,.card-value{background:#0a051ab3;border:1px solid transparent;padding:2px 10px;font-family:Orbitron,sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;height:100%}.card-protocol{font-size:.9em;justify-content:flex-start;flex:1 1 auto;min-width:0;overflow:visible;white-space:nowrap}.card-value{font-size:1.5em;color:var(--primary-color);clip-path:polygon(8px 0,100% 0,100% 100%,0% 100%);border-left:1px solid var(--secondary-color);text-align:center;padding:2px 6px;flex:0 0 32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;z-index:100!important;position:relative;background:#0a051afa!important;order:2}.card-protocol-life .card-front{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.card-component.has-custom-color .card-front{border-color:var(--card-custom-color)!important}.card-component.card-pattern-solid .card-front{background-color:var(--card-custom-color)!important;background-image:none!important}.card-component.card-pattern-radial .card-front{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 25%,transparent) 0%,transparent 60%)!important}.card-component.card-pattern-dual-radial .card-front{background-image:radial-gradient(at 0% 0%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 50%),radial-gradient(at 100% 100%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 50%)!important}.card-component.card-pattern-multi-radial .card-front{background-image:radial-gradient(at 50% 0%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 70%),radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--card-custom-color) 15%,transparent),transparent 40%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 50%)!important}.card-component.card-pattern-chaos .card-front{background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)!important}.card-component.card-pattern-grid .card-front{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px)!important;background-size:auto,20px 20px,20px 20px!important}.card-component.card-pattern-diagonal-lines .card-front{background-image:radial-gradient(at 0% 100%,color-mix(in srgb,var(--card-custom-color) 25%,transparent),transparent 70%),repeating-linear-gradient(120deg,transparent,transparent 15px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 15px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 30px)!important}.card-component.card-pattern-cross-diagonal .card-front{background-image:radial-gradient(at 50% 50%,color-mix(in srgb,var(--card-custom-color) 25%,transparent) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 16px),repeating-linear-gradient(-45deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 6%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 6%,transparent) 16px)!important}.card-component.card-pattern-horizontal-lines .card-front{background-image:radial-gradient(at 80% 80%,color-mix(in srgb,var(--card-custom-color) 10%,transparent),transparent 50%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 1px,transparent 1px,transparent 3px)!important}.card-component.card-pattern-vertical-lines .card-front{background-image:radial-gradient(at 10% 10%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 50%),repeating-linear-gradient(175deg,transparent,transparent 1px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 1px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 2px)!important}.card-component.card-pattern-cross .card-front{background-image:linear-gradient(0deg,transparent 40%,color-mix(in srgb,var(--card-custom-color) 10%,transparent) 50%,transparent 60%),linear-gradient(90deg,transparent 48%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 50%,transparent 52%)!important}.card-component.card-pattern-hexagons .card-front{background-image:radial-gradient(at 50% 0%,color-mix(in srgb,var(--card-custom-color) 20%,transparent),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%23ffffff' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")!important}.card-component.card-pattern-stripes .card-front{background-image:radial-gradient(at 50% 100%,color-mix(in srgb,var(--card-custom-color) 25%,transparent),transparent 60%),linear-gradient(135deg,hsla(0,0%,0%,.1) 23%,transparent 23%,transparent 25%,hsla(0,0%,0%,.1) 25%,hsla(0,0%,0%,.1) 27%,transparent 27%,transparent 73%,hsla(0,0%,0%,.1) 73%,hsla(0,0%,0%,.1) 75%,transparent 75%,transparent 77%,hsla(0,0%,0%,.1) 77%)!important}.card-component.card-pattern-frost .card-front{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 9px)!important}.protocol-card.card-protocol-life{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.protocol-display-card.card-protocol-life{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.phase-controller{display:flex;flex-direction:column}.rearrange-board-view .protocol-bars-container{border:none;padding:0;gap:.5rem}.results-body{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.error-text{color:var(--danger-color);font-weight:600;margin-top:.5rem;text-align:center;font-size:.95rem}.main-menu{justify-content:flex-start;padding-top:2rem;gap:1rem;width:100%;max-width:1600px;position:relative}.main-menu-attribution{font-size:.8rem;color:var(--secondary-color);text-align:center;margin-top:-1.5rem;margin-bottom:1rem;line-height:1.5;position:relative;z-index:1}.main-menu-attribution a{color:var(--primary-color);text-decoration:none;transition:all .2s ease}.main-menu-attribution a:hover{text-decoration:underline;text-shadow:0 0 5px var(--primary-color)}.main-menu h1{font-size:4rem;letter-spacing:4px;margin-bottom:1rem}.main-menu-layout{display:flex;justify-content:space-around;align-items:center;width:100%;flex-grow:1;transform:translateY(-50px)}.main-menu-preview{width:250px;height:350px}.main-menu-actions-container{display:flex;flex-direction:column;align-items:center;gap:3rem}.main-menu-start-group,.main-menu-other-actions{display:flex;flex-direction:column;width:250px}.main-menu-start-group{align-items:center;gap:1rem}.main-menu-other-actions{gap:1rem;align-items:center}.main-menu-other-actions .btn{width:100%}.version-info{font-size:.7rem;color:var(--secondary-color);opacity:.6;margin-top:.5rem}.main-menu-start-group .btn-start{background-color:var(--primary-color);color:var(--background-color);padding:1rem 2rem;font-size:1.2rem;box-shadow:0 0 10px #61eaff33;width:100%;margin-top:1rem}.main-menu-start-group .btn-start:hover{background-color:#a0ffff;border-color:#a0ffff;transform:scale(1.02);box-shadow:0 0 20px #61eaff66}.difficulty-selector{display:flex;flex-direction:column;gap:.75rem;align-items:center;width:100%}.difficulty-title{font-family:Orbitron,sans-serif;font-size:1rem;text-transform:uppercase;color:var(--secondary-color)}.difficulty-options{display:flex;gap:.5rem;width:100%;justify-content:center}.difficulty-options .btn{flex:1}.difficulty-options .btn-wip{position:relative;overflow:visible}.difficulty-options .btn-wip:after{content:"WIP";position:absolute;top:-8px;right:-10px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#1a1a2e;font-family:Orbitron,sans-serif;font-size:.55rem;font-weight:700;padding:3px 6px;border-radius:4px;transform:rotate(15deg);box-shadow:0 2px 8px #ff6b35b3,0 0 12px #ff6b3566;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;z-index:10}.difficulty-selector .btn:not(.active){border-color:var(--secondary-color);color:var(--secondary-color);background-color:transparent}.difficulty-selector .btn:not(.active):hover:not(:disabled){background-color:var(--secondary-color);color:var(--background-color)}.difficulty-selector .btn:disabled{opacity:1;border-color:#6a5acd;color:#6a5acd;background-color:transparent}.control-mechanic-selector{display:flex;align-items:center;gap:.5rem;color:var(--secondary-color);margin:1rem 0}.control-mechanic-selector label{cursor:pointer}.control-mechanic-selector input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.25em;height:1.25em;border:2px solid var(--secondary-color);border-radius:3px;background-color:transparent;cursor:pointer;position:relative;transition:all .2s ease}.control-mechanic-selector input[type=checkbox]:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.control-mechanic-selector input[type=checkbox]:checked:before{content:"✓";font-size:1.2em;color:var(--background-color);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700}.decorative-card{pointer-events:none;animation:float 6s ease-in-out infinite}.decorative-card .card-component{transform-style:preserve-3d}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.card-ticker-container{position:absolute;bottom:1rem;left:0;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.card-ticker-track{display:flex;width:fit-content;gap:1rem;animation:scroll-cards 360s linear infinite}.card-ticker-track .card-component.in-hand{flex-shrink:0;pointer-events:auto}@keyframes scroll-cards{0%{transform:translate(0)}to{transform:translate(-50%)}}.screen.game-screen{max-width:none;padding:1rem 1rem 5px;justify-content:flex-start}.log-button{position:absolute;top:2rem;right:2rem;z-index:100}.phase-button{position:absolute;top:.5rem;left:.5rem;z-index:100;cursor:default}.phase-button.player-turn{border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 0 10px var(--primary-color)}.phase-button.opponent-turn{border-color:var(--danger-color);color:var(--danger-color);box-shadow:0 0 10px var(--danger-color)}.game-screen-layout{display:flex;width:100%;height:100%;gap:1rem}.game-preview-container{flex-basis:280px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--surface-hover);background:var(--surface-color);border-radius:8px}.game-preview-container h2{font-size:1.5rem}.preview-card-area{flex-grow:1;display:flex;justify-content:center;align-items:center;background-color:var(--background-color);border-radius:4px}.preview-card-area .card-component{width:100%;height:auto;aspect-ratio:2.5 / 3.5;font-size:1rem}.preview-card-area .card-rule-box{font-size:1em;line-height:1.35}.game-main-area{flex-grow:1;display:flex;flex-direction:column;min-height:0;position:relative}.compile-prompt-container{padding:.75rem;text-align:center;background:var(--surface-color);border-bottom:2px solid var(--primary-color);box-shadow:0 4px 15px #61eaff33;width:100%;flex-shrink:0;animation:fadeIn .3s ease-out}.compile-prompt-container h3{color:var(--primary-color);font-family:Orbitron,sans-serif;text-transform:uppercase}.game-board{flex-grow:1;display:flex;flex-direction:column}.player-side{height:42%}.opponent-side{transform:rotate(180deg)}.player-side.active-turn .lanes{background-color:#61eaff0a}.opponent-side.active-turn .lanes{background-color:#ff57570a}.opponent-side .lanes{flex-direction:row-reverse}.lanes{display:flex;justify-content:space-around;height:100%;gap:1rem;padding:1rem 0;border-radius:10px;transition:background-color .4s ease-in-out}.lane{width:160px;border:1px solid var(--surface-hover);background-color:#0003;border-radius:10px;position:relative;transition:all .2s ease-in-out}.lane.playable{cursor:pointer;border-color:var(--secondary-color);background-color:#8a7ae60d}.lane.playable.matching-protocol{border-color:var(--primary-color);background-color:#61eaff1a}.lane.compilable,.lane.effect-target{cursor:pointer;border:2px solid var(--success-color);box-shadow:0 0 15px var(--success-color);background-color:#61eaff26}.lane.shift-target{cursor:pointer;border:2px solid #FFD700;box-shadow:0 0 15px gold;background-color:#ffd90026}.lane-stack{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start}.btn.btn-play-facedown{position:absolute;top:-48px;left:50%;transform:translate(-50%);z-index:15;padding:.75rem .6rem;font-size:.7rem;border-radius:4px;white-space:nowrap;background-color:#0a051a;border:1px solid var(--secondary-color);color:var(--secondary-color);cursor:pointer;transition:all .2s ease;font-family:Orbitron,sans-serif}.btn.btn-play-facedown:hover{background-color:var(--secondary-color);color:var(--background-color);border-color:var(--secondary-color);transform:translate(-50%) scale(1.05)}.lane-stack .card-component{position:absolute;top:calc(var(--i) * 64px);width:100px;height:140px;transition:all .2s ease-in-out;cursor:pointer}.card-component.is-targetable{cursor:crosshair;box-shadow:0 0 20px 5px var(--danger-color);border:1px solid var(--danger-color)}.card-component.is-source-of-effect .card-front{border-color:gold;box-shadow:0 0 15px 2px #ffd900b3}@keyframes play-card-player{0%{opacity:0;transform:translateY(100px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}.lane-stack .card-component.is-entering-player,.opponent-side .lane-stack .card-component.is-entering-opponent{animation:play-card-player .5s ease-out forwards}@keyframes delete-animation-player{to{opacity:0;transform:translate(-200px) rotate(-15deg) scale(.8)}}@keyframes delete-animation-opponent{to{opacity:0;transform:translate(200px) rotate(15deg) scale(.8)}}.is-deleting-player{animation:delete-animation-player .5s ease-in forwards}.opponent-side .is-deleting-opponent{animation:delete-animation-opponent .5s ease-in forwards}@keyframes draw-card-player{0%{opacity:0;transform:translateY(50px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.card-component.is-drawing{animation:draw-card-player .5s ease-out}.protocol-bars-container{display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.25rem;background-color:transparent;border:1px solid var(--surface-hover);border-left:none;border-right:none;margin:.5rem 0;height:auto;position:relative}.protocol-bar{display:flex;justify-content:space-around;gap:.5rem}.protocol-display{flex:1;display:flex;justify-content:space-between;align-items:center;padding:.25rem .75rem;transition:all .3s ease;text-transform:uppercase;position:relative;border-right:1px solid var(--surface-hover)}.protocol-display:last-child{border-right:none}.protocol-display.compiled{background-color:#61eaff26;box-shadow:0 0 8px #61eaff66 inset}.protocol-display.compiled .protocol-name,.protocol-display.compiled .protocol-value{color:var(--primary-color);opacity:1;text-shadow:0 0 5px var(--primary-color)}.protocol-display .protocol-name{font-weight:600;font-size:.9rem;text-shadow:none}.protocol-display .protocol-value{font-size:1.2rem;font-weight:700;font-family:Orbitron,sans-serif;color:var(--text-color)}.player-bar .protocol-display .protocol-name{color:var(--primary-color)}.opponent-bar .protocol-display .protocol-name{color:var(--danger-color)}.protocol-bar.player-bar.active-turn{box-shadow:0 0 15px var(--primary-color);border:2px solid var(--primary-color);border-radius:4px}.protocol-bar.opponent-bar.active-turn{box-shadow:0 0 15px var(--danger-color);border:2px solid var(--danger-color);border-radius:4px}@keyframes compile-glow{0%{box-shadow:0 0 8px #61eaff66 inset,0 0 5px var(--primary-color)}50%{box-shadow:0 0 16px #61eaffcc inset,0 0 15px var(--primary-color)}to{box-shadow:0 0 8px #61eaff66 inset,0 0 5px var(--primary-color)}}.protocol-display.is-compiling{animation:compile-glow 1s ease-in-out}.control-coin-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.25rem}.control-coin{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Orbitron,sans-serif;font-size:1.8rem;font-weight:700;background-color:var(--surface-color);transition:all .4s ease-in-out;animation-duration:2.5s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;pointer-events:auto;cursor:help}.control-coin.neutral{border:2px solid var(--secondary-color);color:var(--secondary-color);animation-name:control-pulse-neutral}.control-coin.player-controlled{border:2px solid var(--primary-color);color:var(--primary-color);animation-name:control-pulse-player}.control-coin.opponent-controlled{border:2px solid var(--danger-color);color:var(--danger-color);animation-name:control-pulse-opponent}@keyframes control-pulse-neutral{0%{box-shadow:0 0 10px var(--secondary-color)}50%{box-shadow:0 0 20px var(--secondary-color)}to{box-shadow:0 0 10px var(--secondary-color)}}@keyframes control-pulse-player{0%{box-shadow:0 0 15px var(--primary-color)}50%{box-shadow:0 0 25px var(--primary-color)}to{box-shadow:0 0 15px var(--primary-color)}}@keyframes control-pulse-opponent{0%{box-shadow:0 0 15px var(--danger-color)}50%{box-shadow:0 0 25px var(--danger-color)}to{box-shadow:0 0 15px var(--danger-color)}}.control-coin-label{font-size:.7rem;font-family:Orbitron,sans-serif;text-transform:uppercase;font-weight:600;transition:color .4s ease-in-out}.control-coin-label.neutral{color:var(--secondary-color)}.control-coin-label.player-controlled{color:var(--primary-color)}.control-coin-label.opponent-controlled{color:var(--danger-color)}.player-action-area{flex-shrink:0;margin-top:auto;position:relative}.player-hand-area,.opponent-hand-area{display:flex;justify-content:center;align-items:center;padding:.5rem}.player-hand-area{gap:-40px;position:absolute;z-index:20;bottom:-35px;left:0;right:0;width:100%;height:140px;pointer-events:none}.player-hand-area.hand-in-background{z-index:5}.card-component.in-hand{transition:all .2s ease-in-out;cursor:pointer;width:100px;height:140px}.player-hand-area .card-component.in-hand{pointer-events:auto}.player-hand-area.hand-in-background .card-component.in-hand{pointer-events:none}.opponent-hand-area{height:40px;gap:-40px;overflow:hidden}.opponent-hand-area .card-component.in-hand{width:80px;height:112px;transform:rotate(180deg) translateY(68px)}.opponent-hand-area .card-component.in-hand:hover{transform:rotate(180deg) translateY(68px)}.opponent-hand-area .card-component.in-hand:hover .card-front{border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-color)}.screen.card-library-screen{max-width:1600px!important;padding:6rem 1rem 1rem;justify-content:flex-start;align-items:stretch}.screen.card-library-screen .card-library-layout{display:flex;width:100%;height:100%;gap:2rem}.card-library-layout .game-preview-container{flex-basis:350px;flex-shrink:0;height:fit-content}.card-library-layout .preview-card-area .card-component{width:100%;font-size:1.1rem}.card-library-layout .preview-card-area .card-rule-box{font-size:1.05em;padding:4px 8px}.card-library-layout .card-list-container{flex:1;max-width:1000px;overflow-y:auto;padding:1rem 1.5rem;background:var(--surface-color);border:1px solid var(--surface-hover);border-radius:8px}.card-list-container::-webkit-scrollbar{width:8px}.card-list-container::-webkit-scrollbar-track{background:var(--background-color)}.card-list-container::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:4px;border:2px solid var(--background-color)}.protocol-group{margin-bottom:2.5rem}.protocol-group:last-child{margin-bottom:0}.protocol-group h3{font-family:Orbitron,sans-serif;color:var(--primary-color);margin-bottom:1rem;border-bottom:1px solid var(--surface-hover);padding-bottom:.5rem;font-size:1.2rem;text-transform:uppercase}.protocol-group h3 .protocol-category-label{font-size:.65em;opacity:.6;font-weight:400;text-transform:none;font-family:Poppins,sans-serif}.protocol-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.5rem}.protocol-card-grid .card-component.in-hand{cursor:pointer}.card-component{width:250px;height:350px;perspective:1000px;background-color:transparent;border:none;font-size:1rem;color:var(--text-color);line-height:1.4;transition:all .2s ease-in-out;position:relative}.card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-component.is-discarding{animation:discard-animation .5s ease-out forwards}@keyframes discard-animation{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(40px) scale(.8)}}.card-inner.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0006}.card-front{background-color:var(--surface-color);border:1px solid hsla(253,91%,63%,.5);padding:10px}.card-back{transform:rotateY(180deg);border:1px solid var(--secondary-color);background-color:var(--surface-color);background-image:repeating-linear-gradient(-45deg,#0003,#0003 8px,#8a79e81a 8px,#8a79e81a 10px);position:relative}.card-back-value{font-family:Orbitron,sans-serif;color:var(--primary-color);text-shadow:0 0 8px var(--primary-color);opacity:.8;position:absolute;top:5px;right:10px;font-size:2em;font-weight:700}.card-component.selected .card-front{border-color:var(--primary-color);box-shadow:0 6px 25px #00000080,0 0 10px var(--primary-color)}.card-component.selected,.card-component.in-hand:hover{transform:translateY(-10px);z-index:50}.card-component.multi-selected .card-front{border-color:gold;box-shadow:0 6px 25px #00000080,0 0 10px gold}.card-component.in-hand:hover .card-front,.lane-stack .card-component:hover .card-front{border-color:var(--primary-color);box-shadow:0 6px 25px #00000080,0 0 10px var(--primary-color)}.card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;margin-bottom:14px}.card-protocol,.card-value{background:#0a051ab3;border:1px solid transparent;padding:2px 10px;font-family:Orbitron,sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--text-color)}.card-protocol{font-size:.9em;justify-content:flex-start;overflow:visible;white-space:nowrap;min-width:0;text-overflow:clip}.card-value{font-size:1.8em;min-width:40px;color:var(--primary-color);clip-path:polygon(10px 0,100% 0,100% 100%,0% 100%);border-left:1px solid var(--secondary-color)}.card-body{display:flex;flex-direction:column;flex-grow:1;gap:2px;min-height:0}.card-rule-box{background-color:#0a051a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:2px;flex:1;display:flex;align-items:center;justify-content:flex-start;text-align:left;min-height:0;overflow:hidden;line-height:1.3;font-size:.85em;color:var(--secondary-color);position:relative;border-radius:2px}.card-rule-box:before,.card-rule-box:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--primary-color);border-style:solid}.card-rule-box:before{top:2px;left:2px;border-width:1px 0 0 1px}.card-rule-box:after{bottom:2px;right:2px;border-width:0 1px 1px 0}.card-rule-box:not(:empty){color:var(--text-color)}.card-rule-box .emphasis{color:var(--primary-color);font-weight:600}.card-protocol-anarchy .card-front{border-color:#f06e42;background-image:radial-gradient(at 50% 50%,hsla(15,85%,60%,.25) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 8px,hsla(15,85%,50%,.08) 8px,hsla(15,85%,50%,.08) 16px),repeating-linear-gradient(-45deg,transparent,transparent 8px,hsla(10,90%,55%,.06) 8px,hsla(10,90%,55%,.06) 16px)}.card-protocol-apathy .card-front{border-color:#94949e;background-image:radial-gradient(at 80% 80%,hsla(240,5%,60%,.1),transparent 50%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 1px,transparent 1px,transparent 3px)}.card-protocol-chaos .card-front{border-color:#eb47eb;background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)}.card-protocol-darkness .card-front{border-color:#b28cd9;background-image:radial-gradient(at 10% 20%,hsla(270,50%,70%,.2),transparent 60%),radial-gradient(at 90% 80%,hsla(250,60%,60%,.2),transparent 70%)}.card-protocol-death .card-front{border-color:#e46767;background-image:radial-gradient(at 50% 100%,hsla(0,70%,55%,.25),transparent 60%),linear-gradient(135deg,hsla(0,0%,0%,.1) 23%,transparent 23%,transparent 25%,hsla(0,0%,0%,.1) 25%,hsla(0,0%,0%,.1) 27%,transparent 27%,transparent 73%,hsla(0,0%,0%,.1) 73%,hsla(0,0%,0%,.1) 75%,transparent 75%,transparent 77%,hsla(0,0%,0%,.1) 77%)}.card-protocol-fire .card-front{border-color:#f68b55;background-image:radial-gradient(at 50% 110%,hsla(25,90%,60%,.3),transparent 60%),radial-gradient(at 10% 10%,hsla(35,100%,70%,.15),transparent 50%)}.card-protocol-gravity .card-front{border-color:#8594e0;background-image:radial-gradient(circle at 50% 50%,hsla(230,60%,70%,.2) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px);background-size:100% 100%,20px 20px,20px 20px}.card-protocol-hate .card-front{border-color:#d65c70;background-image:radial-gradient(at 0% 100%,hsla(350,60%,50%,.25),transparent 70%),repeating-linear-gradient(120deg,transparent,transparent 15px,hsla(350,60%,60%,.05) 15px,hsla(350,60%,60%,.05) 30px)}.card-protocol-life .card-front{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.card-protocol-light .card-front{border-color:#ffea80;background-image:radial-gradient(circle at 50% 50%,hsla(50,100%,75%,.25) 0%,transparent 60%)}.card-protocol-love .card-front{border-color:#f28cd0;background-image:radial-gradient(circle at 50% 50%,hsla(320,80%,75%,.1) 0%,hsla(320,80%,75%,.15) 40%,transparent 70%)}.card-protocol-metal .card-front{border-color:#b6bfc9;background-image:radial-gradient(at 10% 10%,hsla(210,15%,85%,.2),transparent 50%),repeating-linear-gradient(175deg,transparent,transparent 1px,hsla(210,15%,75%,.05) 1px,hsla(210,15%,75%,.05) 2px)}.card-protocol-plague .card-front{border-color:#a3d147;background-image:radial-gradient(at 90% 20%,hsla(80,60%,55%,.2),transparent 50%),radial-gradient(at 30% 85%,hsla(90,50%,45%,.15),transparent 60%)}.card-protocol-psychic .card-front{border-color:#c47de8;background-image:radial-gradient(ellipse at 50% 100%,hsla(280,70%,70%,.2),transparent 70%)}.card-protocol-speed .card-front{border-color:#47ebeb;background-image:linear-gradient(0deg,transparent 40%,hsla(180,80%,60%,.1) 50%,transparent 60%),linear-gradient(90deg,transparent 48%,hsla(180,80%,60%,.2) 50%,transparent 52%)}.card-protocol-spirit .card-front{border-color:#70dbc9;background-image:radial-gradient(at 0% 0%,hsla(170,60%,65%,.2),transparent 50%),radial-gradient(at 100% 100%,hsla(190,50%,55%,.2),transparent 50%)}.card-protocol-water .card-front{border-color:#5ea6ed;background-image:radial-gradient(circle at 20% 30%,hsla(210,80%,65%,.15),transparent 40%),radial-gradient(circle at 80% 70%,hsla(190,70%,60%,.2),transparent 50%)}.card-protocol-frost .card-front{border-color:#79cfec;background-image:radial-gradient(circle at 50% 50%,hsla(195,75%,70%,.2) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,hsla(195,80%,80%,.08) 10px,hsla(195,80%,80%,.08) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,hsla(190,70%,75%,.08) 10px,hsla(190,70%,75%,.08) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,hsla(200,75%,70%,.05) 8px,hsla(200,75%,70%,.05) 9px)}.protocol-card.card-protocol-anarchy{border-color:#f06e42;background-image:radial-gradient(at 50% 50%,hsla(15,85%,60%,.25) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 8px,hsla(15,85%,50%,.08) 8px,hsla(15,85%,50%,.08) 16px),repeating-linear-gradient(-45deg,transparent,transparent 8px,hsla(10,90%,55%,.06) 8px,hsla(10,90%,55%,.06) 16px)}.protocol-card.card-protocol-apathy{border-color:#94949e;background-image:radial-gradient(at 80% 80%,hsla(240,5%,60%,.1),transparent 50%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 1px,transparent 1px,transparent 3px)}.protocol-card.card-protocol-chaos{border-color:#eb47eb;background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)}.protocol-card.card-protocol-darkness{border-color:#b28cd9;background-image:radial-gradient(at 10% 20%,hsla(270,50%,70%,.2),transparent 60%),radial-gradient(at 90% 80%,hsla(250,60%,60%,.2),transparent 70%)}.protocol-card.card-protocol-death{border-color:#e46767;background-image:radial-gradient(at 50% 100%,hsla(0,70%,55%,.25),transparent 60%),linear-gradient(135deg,hsla(0,0%,0%,.1) 23%,transparent 23%,transparent 25%,hsla(0,0%,0%,.1) 25%,hsla(0,0%,0%,.1) 27%,transparent 27%,transparent 73%,hsla(0,0%,0%,.1) 73%,hsla(0,0%,0%,.1) 75%,transparent 75%,transparent 77%,hsla(0,0%,0%,.1) 77%)}.protocol-card.card-protocol-fire{border-color:#f68b55;background-image:radial-gradient(at 50% 110%,hsla(25,90%,60%,.3),transparent 60%),radial-gradient(at 10% 10%,hsla(35,100%,70%,.15),transparent 50%)}.protocol-card.card-protocol-gravity{border-color:#8594e0;background-image:radial-gradient(circle at 50% 50%,hsla(230,60%,70%,.2) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px);background-size:100% 100%,20px 20px,20px 20px}.protocol-card.card-protocol-hate{border-color:#d65c70;background-image:radial-gradient(at 0% 100%,hsla(350,60%,50%,.25),transparent 70%),repeating-linear-gradient(120deg,transparent,transparent 15px,hsla(350,60%,60%,.05) 15px,hsla(350,60%,60%,.05) 30px)}.protocol-card.card-protocol-life{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.protocol-card.card-protocol-light{border-color:#ffea80;background-image:radial-gradient(circle at 50% 50%,hsla(50,100%,75%,.25) 0%,transparent 60%)}.protocol-card.card-protocol-love{border-color:#f28cd0;background-image:radial-gradient(circle at 50% 50%,hsla(320,80%,75%,.1) 0%,hsla(320,80%,75%,.15) 40%,transparent 70%)}.protocol-card.card-protocol-metal{border-color:#b6bfc9;background-image:radial-gradient(at 10% 10%,hsla(210,15%,85%,.2),transparent 50%),repeating-linear-gradient(175deg,transparent,transparent 1px,hsla(210,15%,75%,.05) 1px,hsla(210,15%,75%,.05) 2px)}.protocol-card.card-protocol-plague{border-color:#a3d147;background-image:radial-gradient(at 90% 20%,hsla(80,60%,55%,.2),transparent 50%),radial-gradient(at 30% 85%,hsla(90,50%,45%,.15),transparent 60%)}.protocol-card.card-protocol-psychic{border-color:#c47de8;background-image:radial-gradient(ellipse at 50% 100%,hsla(280,70%,70%,.2),transparent 70%)}.protocol-card.card-protocol-speed{border-color:#47ebeb;background-image:linear-gradient(0deg,transparent 40%,hsla(180,80%,60%,.1) 50%,transparent 60%),linear-gradient(90deg,transparent 48%,hsla(180,80%,60%,.2) 50%,transparent 52%)}.protocol-card.card-protocol-spirit{border-color:#70dbc9;background-image:radial-gradient(at 0% 0%,hsla(170,60%,65%,.2),transparent 50%),radial-gradient(at 100% 100%,hsla(190,50%,55%,.2),transparent 50%)}.protocol-card.card-protocol-water{border-color:#5ea6ed;background-image:radial-gradient(circle at 20% 30%,hsla(210,80%,65%,.15),transparent 40%),radial-gradient(circle at 80% 70%,hsla(190,70%,60%,.2),transparent 50%)}.protocol-card.card-protocol-frost{border-color:#79cfec;background-image:radial-gradient(circle at 50% 50%,hsla(195,75%,70%,.2) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,hsla(195,80%,80%,.08) 10px,hsla(195,80%,80%,.08) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,hsla(190,70%,75%,.08) 10px,hsla(190,70%,75%,.08) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,hsla(200,75%,70%,.05) 8px,hsla(200,75%,70%,.05) 9px)}.protocol-display-card.card-protocol-anarchy{border-color:#f06e42;background-image:radial-gradient(at 50% 50%,hsla(15,85%,60%,.25) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 8px,hsla(15,85%,50%,.08) 8px,hsla(15,85%,50%,.08) 16px),repeating-linear-gradient(-45deg,transparent,transparent 8px,hsla(10,90%,55%,.06) 8px,hsla(10,90%,55%,.06) 16px)}.protocol-display-card.card-protocol-apathy{border-color:#94949e;background-image:radial-gradient(at 80% 80%,hsla(240,5%,60%,.1),transparent 50%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 1px,transparent 1px,transparent 3px)}.protocol-display-card.card-protocol-chaos{border-color:#eb47eb;background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)}.protocol-display-card.card-protocol-darkness{border-color:#b28cd9;background-image:radial-gradient(at 10% 20%,hsla(270,50%,70%,.2),transparent 60%),radial-gradient(at 90% 80%,hsla(250,60%,60%,.2),transparent 70%)}.protocol-display-card.card-protocol-death{border-color:#e46767;background-image:radial-gradient(at 50% 100%,hsla(0,70%,55%,.25),transparent 60%),linear-gradient(135deg,hsla(0,0%,0%,.1) 23%,transparent 23%,transparent 25%,hsla(0,0%,0%,.1) 25%,hsla(0,0%,0%,.1) 27%,transparent 27%,transparent 73%,hsla(0,0%,0%,.1) 73%,hsla(0,0%,0%,.1) 75%,transparent 75%,transparent 77%,hsla(0,0%,0%,.1) 77%)}.protocol-display-card.card-protocol-fire{border-color:#f68b55;background-image:radial-gradient(at 50% 110%,hsla(25,90%,60%,.3),transparent 60%),radial-gradient(at 10% 10%,hsla(35,100%,70%,.15),transparent 50%)}.protocol-display-card.card-protocol-gravity{border-color:#8594e0;background-image:radial-gradient(circle at 50% 50%,hsla(230,60%,70%,.2) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px);background-size:100% 100%,20px 20px,20px 20px}.protocol-display-card.card-protocol-hate{border-color:#d65c70;background-image:radial-gradient(at 0% 100%,hsla(350,60%,50%,.25),transparent 70%),repeating-linear-gradient(120deg,transparent,transparent 15px,hsla(350,60%,60%,.05) 15px,hsla(350,60%,60%,.05) 30px)}.protocol-display-card.card-protocol-life{border-color:#52e081;background-image:radial-gradient(at 50% 0%,hsla(140,70%,60%,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.protocol-display-card.card-protocol-light{border-color:#ffea80;background-image:radial-gradient(circle at 50% 50%,hsla(50,100%,75%,.25) 0%,transparent 60%)}.protocol-display-card.card-protocol-love{border-color:#f28cd0;background-image:radial-gradient(circle at 50% 50%,hsla(320,80%,75%,.1) 0%,hsla(320,80%,75%,.15) 40%,transparent 70%)}.protocol-display-card.card-protocol-metal{border-color:#b6bfc9;background-image:radial-gradient(at 10% 10%,hsla(210,15%,85%,.2),transparent 50%),repeating-linear-gradient(175deg,transparent,transparent 1px,hsla(210,15%,75%,.05) 1px,hsla(210,15%,75%,.05) 2px)}.protocol-display-card.card-protocol-plague{border-color:#a3d147;background-image:radial-gradient(at 90% 20%,hsla(80,60%,55%,.2),transparent 50%),radial-gradient(at 30% 85%,hsla(90,50%,45%,.15),transparent 60%)}.protocol-display-card.card-protocol-psychic{border-color:#c47de8;background-image:radial-gradient(ellipse at 50% 100%,hsla(280,70%,70%,.2),transparent 70%)}.protocol-display-card.card-protocol-speed{border-color:#47ebeb;background-image:linear-gradient(0deg,transparent 40%,hsla(180,80%,60%,.1) 50%,transparent 60%),linear-gradient(90deg,transparent 48%,hsla(180,80%,60%,.2) 50%,transparent 52%)}.protocol-display-card.card-protocol-spirit{border-color:#70dbc9;background-image:radial-gradient(at 0% 0%,hsla(170,60%,65%,.2),transparent 50%),radial-gradient(at 100% 100%,hsla(190,50%,55%,.2),transparent 50%)}.protocol-display-card.card-protocol-water{border-color:#5ea6ed;background-image:radial-gradient(circle at 20% 30%,hsla(210,80%,65%,.15),transparent 40%),radial-gradient(circle at 80% 70%,hsla(190,70%,60%,.2),transparent 50%)}.protocol-display-card.card-protocol-frost{border-color:#79cfec;background-image:radial-gradient(circle at 50% 50%,hsla(195,75%,70%,.2) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,hsla(195,80%,80%,.08) 10px,hsla(195,80%,80%,.08) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,hsla(190,70%,75%,.08) 10px,hsla(190,70%,75%,.08) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,hsla(200,75%,70%,.05) 8px,hsla(200,75%,70%,.05) 9px)}.lane-stack .card-component,.player-hand-area .card-component.in-hand,.card-ticker-track .card-component.in-hand,.protocol-card-grid .card-component.in-hand,.selected-protocol-cards-container .card-component.in-hand,.debug-card-grid .card-component.in-hand{font-size:.6rem}.lane-stack .card-front,.player-hand-area .card-front,.card-ticker-track .card-front,.protocol-card-grid .card-front,.selected-protocol-cards-container .card-front,.debug-card-grid .card-front{padding:2px}.lane-stack .card-component .card-header,.player-hand-area .card-component.in-hand .card-header,.card-ticker-track .card-component.in-hand .card-header,.protocol-card-grid .card-component.in-hand .card-header,.selected-protocol-cards-container .card-component.in-hand .card-header,.debug-card-grid .card-component.in-hand .card-header{margin-bottom:4px;gap:4px}.lane-stack .card-component .card-protocol,.player-hand-area .card-component.in-hand .card-protocol,.card-ticker-track .card-component.in-hand .card-protocol,.protocol-card-grid .card-component.in-hand .card-protocol,.selected-protocol-cards-container .card-component.in-hand .card-protocol,.debug-card-grid .card-component.in-hand .card-protocol{padding:2px 3px 2px 0;clip-path:none;font-size:.9em;overflow:visible;white-space:nowrap;min-width:0;text-overflow:clip}.lane-stack .card-component .card-value,.player-hand-area .card-component.in-hand .card-value,.card-ticker-track .card-component.in-hand .card-value,.protocol-card-grid .card-component.in-hand .card-value,.selected-protocol-cards-container .card-component.in-hand .card-value,.debug-card-grid .card-component.in-hand .card-value{padding:1px 6px;clip-path:polygon(6px 0,100% 0,100% 100%,0% 100%);min-width:30px}.lane-stack .card-component .card-body,.player-hand-area .card-component.in-hand .card-body,.card-ticker-track .card-component.in-hand .card-body,.protocol-card-grid .card-component.in-hand .card-body,.selected-protocol-cards-container .card-component.in-hand .card-body,.debug-card-grid .card-component.in-hand .card-body{gap:2px}.lane-stack .card-component .card-rule-box,.player-hand-area .card-component.in-hand .card-rule-box,.card-ticker-track .card-component.in-hand .card-rule-box,.protocol-card-grid .card-component.in-hand .card-rule-box,.selected-protocol-cards-container .card-component.in-hand .card-rule-box,.debug-card-grid .card-component.in-hand .card-rule-box{padding:1px 3px;font-size:.9em;line-height:1.25}.lane-stack .card-component .card-rule-box:before,.lane-stack .card-component .card-rule-box:after,.player-hand-area .card-component.in-hand .card-rule-box:before,.player-hand-area .card-component.in-hand .card-rule-box:after,.card-ticker-track .card-component.in-hand .card-rule-box:before,.card-ticker-track .card-component.in-hand .card-rule-box:after,.protocol-card-grid .card-component.in-hand .card-rule-box:before,.protocol-card-grid .card-component.in-hand .card-rule-box:after,.selected-protocol-cards-container .card-component.in-hand .card-rule-box:before,.selected-protocol-cards-container .card-component.in-hand .card-rule-box:after,.debug-card-grid .card-component.in-hand .card-rule-box:before,.debug-card-grid .card-component.in-hand .card-rule-box:after{width:6px;height:6px}.opponent-hand-area .card-component.in-hand{font-size:.5rem;margin-bottom:-3.5rem}.phase-controller{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem 1rem;border-top:1px solid var(--surface-hover);background:var(--surface-color);position:relative;z-index:10}.phase-controller.action-required-player,.phase-controller.action-required-opponent{transition:box-shadow .3s ease-in-out,border-top-color .3s ease-in-out}.phase-controller.action-required-player{box-shadow:0 -4px 20px -5px var(--primary-color);border-top-color:var(--primary-color)}.phase-controller.action-required-opponent{box-shadow:0 -4px 20px -5px var(--danger-color);border-top-color:var(--danger-color)}.effect-source-info{font-size:.9rem;color:var(--secondary-color);text-align:left;padding-bottom:.5rem;border-bottom:1px solid var(--surface-hover)}.effect-source-info span{font-weight:600;color:var(--text-color)}.phase-controller-main{display:flex;justify-content:space-between;align-items:center}.phase-info{font-size:1.2rem;text-transform:capitalize;font-weight:600}.phase-actions{display:flex;gap:1rem}.game-info-panel{display:flex;flex-direction:column;gap:1.5rem;border:none;background:transparent}.info-section{display:flex;flex-direction:column;padding:1rem;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .3s ease-in-out,background-color .2s ease;position:relative}.info-section:hover{background-color:var(--surface-hover)}.info-section.active-turn.player-info{box-shadow:0 0 15px var(--primary-color);border-color:var(--primary-color)}.info-section.active-turn.opponent-info{box-shadow:0 0 15px var(--danger-color);border-color:var(--danger-color)}@keyframes info-flash-player{0%{box-shadow:0 0 15px var(--primary-color)}to{box-shadow:none}}.info-section.is-drawing.player-info,.info-section.is-discarding.player-info{animation:info-flash-player .8s ease-out}@keyframes info-flash-opponent{0%{box-shadow:0 0 15px var(--danger-color)}to{box-shadow:none}}.info-section.is-drawing.opponent-info,.info-section.is-discarding.opponent-info{animation:info-flash-opponent .8s ease-out}.info-section h3{color:var(--secondary-color);margin-bottom:.5rem;border-bottom:1px solid var(--surface-hover);padding-bottom:.5rem;font-size:1rem;text-transform:uppercase;font-family:Orbitron,sans-serif}.phase-badge{position:absolute;top:1rem;right:1rem;font-size:.65rem;font-family:Orbitron,sans-serif;text-transform:uppercase;padding:.15rem .3rem;border-radius:3px;background-color:var(--surface-color)}.player-info .phase-badge{color:var(--primary-color);border:1px solid var(--primary-color)}.opponent-info .phase-badge{color:var(--danger-color);border:1px solid var(--danger-color)}.player-info h3{color:var(--primary-color)}.opponent-info h3{color:var(--danger-color);font-size:.85rem}.info-section-body{display:flex;flex-direction:column;gap:.25rem}.info-line{display:flex;justify-content:space-between;font-size:.9rem}.info-line span:last-child{font-weight:600}.toaster-container{position:fixed;top:2rem;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.toaster{background-color:var(--surface-color);padding:1rem 2rem;border-radius:4px;font-family:Orbitron,sans-serif;animation:fadeInOut 5s ease-in-out forwards;text-align:center}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-20px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.toaster.toaster-player{color:var(--primary-color);border:1px solid var(--primary-color);box-shadow:0 4px 20px #61eaff4d}.toaster.toaster-opponent{color:var(--danger-color);border:1px solid var(--danger-color);box-shadow:0 4px 20px #ff57574d}.rearrange-modal-content{width:60%;max-width:800px}.rearrange-board-view{margin:2rem 0;padding:1rem;border:1px dashed var(--surface-hover);border-radius:8px;background-color:var(--background-color)}.rearrange-board-view .protocol-bars-container{border:none;padding:0;padding-top:2rem;gap:.75rem}.rearrange-board-view .protocol-bar{border-radius:4px;overflow:hidden}.rearrange-board-view .protocol-bar.rearrange-editable{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 15px #61efff66}.rearrange-board-view .protocol-bar.rearrange-editable:before{content:"✎ Drag to swap";position:absolute;top:-28px;left:50%;transform:translate(-50%);font-size:.75rem;color:var(--primary-color);white-space:nowrap}.rearrange-board-view .protocol-bars-container,.rearrange-board-view .protocol-bar{position:relative}.rearrange-board-view .protocol-display{border-right:1px solid var(--surface-color);background-color:var(--surface-hover)}.rearrange-board-view .protocol-display:last-child{border-right:none}.rearrange-item{cursor:grab;transition:all .2s ease}.rearrange-item.selected{background-color:var(--primary-color)}.rearrange-item.changed{border:1px solid #FFD700;box-shadow:0 0 8px #ffd90080}.rearrange-item.selected .protocol-name,.rearrange-item.selected .protocol-value{color:var(--background-color);text-shadow:none}.rearrange-item:active{cursor:grabbing;background-color:var(--primary-color);opacity:.8}.rearrange-item:active .protocol-name,.rearrange-item:active .protocol-value{color:var(--background-color);text-shadow:none}.rearrange-actions{display:flex;justify-content:center;margin-top:1rem}.debug-modal-content{width:80%;max-width:1200px}.debug-modal-content h3{margin-top:1.5rem;margin-bottom:1rem;color:var(--primary-color);border-bottom:1px solid var(--surface-hover);padding-bottom:.5rem}.debug-card-grid{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background-color:var(--background-color);border-radius:4px;min-height:150px;max-height:250px;overflow-y:auto}.debug-card-grid .card-component.in-hand{flex-shrink:0}.debug-card-grid::-webkit-scrollbar{width:8px}.debug-card-grid::-webkit-scrollbar-track{background:var(--surface-color)}.debug-card-grid::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:4px;border:2px solid var(--surface-color)}.debug-modal-content .no-cards{color:var(--secondary-color);padding:2rem;text-align:center}.debug-modal-with-preview{width:90%!important;max-width:1400px!important}.debug-content-wrapper{display:flex;gap:1.5rem;align-items:flex-start;max-height:65vh;overflow:hidden}.debug-preview-area{flex:0 0 180px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:1rem;flex-shrink:0}.debug-preview-area .card-component{width:160px;height:224px;font-size:.65rem}@media (min-width: 1441px){.debug-preview-area{flex:0 0 240px;min-height:380px}.debug-preview-area .card-component{width:220px;height:308px;font-size:.85rem}}.debug-preview-card{display:flex;flex-direction:column;align-items:center;gap:.5rem}.debug-grids-area{flex:1;min-width:0;overflow-y:auto;max-height:65vh}.debug-grids-area h3:first-child{margin-top:0}.debug-card-grid .card-component.in-hand{cursor:pointer;transition:transform .15s ease}.debug-card-grid .card-component.in-hand:hover{transform:scale(1.05)}.results-screen-content{display:flex;flex-direction:column;gap:2.5rem;padding:2.5rem;background-color:var(--surface-color);border-radius:8px;width:100%;max-width:900px}.results-header{display:flex;flex-direction:column;align-items:center}.results-header h1{font-size:4rem;margin-bottom:.5rem}.results-header p{font-size:1.1rem;text-align:center}.results-screen.victory .results-header h1{color:var(--primary-color);text-shadow:0 0 15px var(--primary-color)}.results-screen.defeat .results-header h1{color:var(--danger-color);text-shadow:0 0 15px var(--danger-color)}.results-body{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem}.final-score-section,.stats-section{display:flex;flex-direction:column;gap:1.5rem}.results-body h3{font-family:Orbitron,sans-serif;color:var(--secondary-color);text-transform:uppercase;border-bottom:1px solid var(--surface-hover);padding-bottom:.75rem;margin-bottom:.5rem}.final-score-section .protocol-bars-container{border:none;padding:0}.final-score-section .protocol-bar{gap:1rem}.final-score-section .protocol-display{min-width:150px;gap:.75rem;padding:.4rem 1rem}.final-score-section .protocol-display .protocol-name{flex:1;min-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.final-score-section .protocol-display .protocol-value{flex-shrink:0;min-width:2rem;text-align:right;font-size:1.3rem}.results-label{font-family:Orbitron,sans-serif;font-size:1.1rem;text-transform:uppercase;text-align:center}.final-score-section .results-opponent-label{color:var(--danger-color);margin-bottom:.5rem}.final-score-section .results-player-label{color:var(--primary-color);margin-top:.5rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-item-label{font-size:.9rem;color:var(--secondary-color)}.stat-item-value{font-size:1.5rem;font-family:Orbitron,sans-serif;font-weight:700}.stat-item-value.player{color:var(--primary-color)}.stat-item-value.opponent{color:var(--danger-color)}.coin-flip-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:3000}.coin-flip-modal-content{max-width:600px;text-align:center;padding:3rem}.coin-flip-modal-content h2{margin-bottom:1.5rem;color:var(--primary-color)}.coin-flip-modal-content p{color:var(--text-color);margin-bottom:2rem}.coin-flip-choices{display:flex;gap:2rem;justify-content:center;margin:2rem 0}.coin-flip-choice-btn{flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;min-width:150px;background-color:var(--surface-hover);border:2px solid var(--secondary-color)}.coin-flip-choice-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-5px);box-shadow:0 8px 20px #61efff66}.coin-choice-icon{font-size:3rem;font-family:Orbitron,sans-serif;font-weight:700;color:var(--primary-color)}.coin-flip-choice-btn:hover .coin-choice-icon{color:var(--background-color)}.coin-choice-label{font-size:1.2rem;font-family:Orbitron,sans-serif;text-transform:uppercase}.coin-flip-choice-btn:hover .coin-choice-label{color:var(--background-color)}.coin-flip-highlight{color:var(--primary-color);font-weight:700;text-shadow:0 0 5px var(--primary-color)}.coin-flip-animation-container{width:100%;height:200px;display:flex;justify-content:center;align-items:center;perspective:1000px;margin:2rem 0}.coin-3d{width:120px;height:120px;position:relative;transform-style:preserve-3d;transition:transform .6s}.coin-3d.is-flipping{animation:coin-flip 2s cubic-bezier(.25,.46,.45,.94)}@keyframes coin-flip{0%{transform:rotateY(0) rotateX(0)}25%{transform:rotateY(360deg) rotateX(180deg)}50%{transform:rotateY(720deg) rotateX(360deg)}75%{transform:rotateY(1080deg) rotateX(540deg)}to{transform:rotateY(1440deg) rotateX(720deg)}}.coin-3d.result-heads{transform:rotateY(1440deg)}.coin-3d.result-tails{transform:rotateY(1620deg)}.coin-face{position:absolute;width:120px;height:120px;border-radius:50%;background-color:var(--surface-color);border:3px solid var(--primary-color);box-shadow:0 0 20px var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:4rem;font-family:Orbitron,sans-serif;font-weight:700;color:var(--primary-color);text-shadow:0 0 10px var(--primary-color);backface-visibility:hidden}.coin-heads{transform:rotateY(0)}.coin-tails{transform:rotateY(180deg)}.coin-flip-result-text{font-size:1.2rem;margin:1.5rem 0}.coin-flip-winner-text{color:var(--primary-color);font-size:1.3rem;font-weight:700;margin:1rem 0 2rem;text-shadow:0 0 8px var(--primary-color)}.coin-flip-loser-text{color:var(--danger-color);font-size:1.3rem;font-weight:700;margin:1rem 0 2rem;text-shadow:0 0 8px var(--danger-color)}.rearrange-item.violation{border:2px solid var(--danger-color)!important;box-shadow:0 0 12px #ff5555b3!important;background-color:#ff555526!important}.warning-text{color:gold;font-weight:600;margin:1rem 0;padding:.75rem;background-color:#ffd7001a;border:1px solid #FFD700;border-radius:4px;text-align:center}.error-text{color:var(--danger-color);font-weight:600;margin-top:.5rem}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Responsive Styles for Tablets (12-13.3 inch / iPad / iPad Pro)
 * Breakpoints: 1024px-1200px (landscape), 768px-1023px (portrait)
 */@media (min-width: 1601px){.protocol-preview-area .card-rule-box{font-size:.85em!important}.card-header{margin-bottom:21px}.main-menu-start-group,.main-menu-other-actions{width:280px}.results-screen-content{max-width:1200px}}@media (min-width: 1180px) and (max-width: 1600px){:root{font-size:14px}h1{font-size:2.8rem}h2{font-size:1.8rem}.btn{font-size:.9rem;padding:.6rem 1.2rem}.main-menu h1{font-size:3.5rem;letter-spacing:3px}.main-menu-preview{width:220px;height:308px}.main-menu-actions-container{gap:2rem}.main-menu-start-group,.main-menu-other-actions{width:220px}.card-ticker-container{display:none!important}.protocol-selection-screen{max-width:100%;padding-top:5rem;padding-left:1rem;padding-right:1rem}.protocol-selection-layout{grid-template-columns:240px 1fr 240px!important;gap:1.2rem!important}.player-protocols-area,.opponent-protocols-area{height:260px;padding:.75rem}.protocol-preview-area{padding:.75rem}.protocol-preview-area .card-component{font-size:.9rem!important}.protocol-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:.75rem!important;width:100%!important}.protocol-grid-scroll-wrapper{max-height:calc(3*(48px + .75rem))!important}.protocol-card{font-size:.77em!important;height:48px!important;min-height:48px!important}.protocol-card .protocol-category-label{font-size:.41em!important}.selected-protocol-cards-container{padding-left:calc(240px + 1.2rem)!important}}@media (max-width: 1179px) and (min-width: 820px){:root{font-size:14px}h1{font-size:2.5rem}h2{font-size:1.6rem}.btn{font-size:.9rem;padding:.6rem 1.2rem}.main-menu h1{font-size:3.2rem;letter-spacing:3px}.main-menu-preview{width:200px;height:280px}.main-menu-actions-container{gap:2rem}.main-menu-start-group,.main-menu-other-actions{width:200px}.card-ticker-container{display:none!important}.protocol-selection-screen{max-width:100%;padding-top:5rem;padding-left:.75rem;padding-right:.75rem}.protocol-selection-layout{grid-template-columns:220px 1fr 220px!important;gap:.9rem!important}.player-protocols-area,.opponent-protocols-area{height:240px;padding:.6rem}.protocol-preview-area{padding:.6rem}.protocol-preview-area .card-component{font-size:.8rem!important}.protocol-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;gap:.7rem!important;width:100%!important}.protocol-grid-scroll-wrapper{max-height:calc(3*(46px + .7rem))!important}.protocol-card{font-size:.75em!important;height:46px!important;min-height:46px!important}.protocol-card .protocol-category-label{font-size:.4em!important}.selected-protocol-cards-container{padding-left:calc(220px + .9rem)!important}.game-screen{padding:.75rem .75rem 5px}.log-button{top:1rem;right:1rem;padding:.5rem 1rem;font-size:.85rem}.game-preview-container{flex-basis:220px;padding:.75rem;gap:.75rem}.game-preview-container h2{font-size:1.3rem}.preview-card-area .card-component{font-size:.85rem}.lane{width:130px}.lane-stack .card-component{width:85px;height:119px;top:calc(var(--i) * 50px)}.btn.btn-play-facedown{padding:.7rem .6rem;font-size:.7rem;top:-44px}.protocol-bars-container{gap:.2rem;padding:.2rem;margin:.4rem 0}.protocol-display{padding:.2rem .6rem}.protocol-display .protocol-name{font-size:.8rem}.protocol-display .protocol-value{font-size:1rem}.control-coin{width:35px;height:35px;font-size:1.6rem}.control-coin-label{font-size:.6rem}.player-hand-area .card-component.in-hand{width:70px;height:98px}.opponent-hand-area .card-component.in-hand{width:60px;height:84px}.phase-controller{padding:.75rem}.phase-controller-text{font-size:.85rem}.card-library-layout{gap:1rem}.card-library-layout .game-preview-container{flex-basis:280px}.protocol-card-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:1rem}.modal-content{padding:1.5rem 2rem;max-width:700px}.log-modal-content{width:70%;max-width:600px}.results-screen-content{padding:2rem;max-width:900px}.results-header h1{font-size:3rem}.coin-flip-modal-content{padding:2rem;max-width:500px}.coin-flip-choices{gap:1.5rem}.coin-flip-choice-btn{padding:1.5rem 2rem;min-width:120px}.coin-choice-icon{font-size:2.5rem}.log-modal-with-preview{width:95%!important;max-width:none!important}.log-preview-area{flex:0 0 150px;min-height:240px}.log-preview-area .card-component{width:130px;height:182px;font-size:.55rem}.debug-modal-with-preview{width:95%!important;max-width:none!important}.debug-content-wrapper{max-height:60vh}.debug-preview-area{flex:0 0 130px;min-height:200px}.debug-preview-area .card-component{width:110px;height:154px;font-size:.5rem}.debug-grids-area{max-height:60vh}}@media (max-width: 900px){:root{font-size:13px}h1{font-size:2rem}h2{font-size:1.4rem}.screen{padding:1rem;gap:1rem}.main-menu h1{font-size:2.5rem;letter-spacing:2px}.main-menu-layout{gap:1rem;transform:translateY(-30px)}.main-menu-preview{width:160px;height:224px}.main-menu-actions-container{gap:1.5rem}.main-menu-start-group,.main-menu-other-actions{width:180px}.card-ticker-container{display:none}.protocol-selection-layout{grid-template-columns:190px 1fr 190px;gap:.75rem}.player-protocols-area,.opponent-protocols-area{height:220px;padding:.6rem}.protocol-preview-area{padding:.5rem}.protocol-preview-area .card-component{font-size:.7rem}.protocol-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important;gap:.6rem!important;width:100%!important}.protocol-grid-scroll-wrapper{max-height:calc(3*(42px + .6rem))!important}.protocol-card{font-size:.7em!important;height:42px!important;min-height:42px!important}.category-filters{font-size:.8rem;padding:.3rem .75rem;gap:.5rem}.selected-protocol-cards-container{padding-left:calc(190px + .75rem)!important}.game-preview-container{flex-basis:180px;padding:.5rem;gap:.5rem}.game-preview-container h2{font-size:1.1rem}.preview-card-area .card-component{font-size:.7rem}.lane{width:110px}.lane-stack .card-component{width:70px;height:98px;top:calc(var(--i) * 42px)}.btn.btn-play-facedown{padding:.6rem .5rem;font-size:.65rem;top:-40px}.protocol-display .protocol-name{font-size:.7rem}.protocol-display .protocol-value{font-size:.9rem}.control-coin{width:30px;height:30px;font-size:1.4rem}.control-coin-label{font-size:.55rem}.player-hand-area .card-component.in-hand{width:60px;height:84px}.opponent-hand-area .card-component.in-hand{width:50px;height:70px}.modal-content{padding:1rem 1.5rem;max-width:600px;max-height:85vh}.log-modal-content{width:80%;max-width:500px}.log-list{font-size:.85rem}.results-screen-content{padding:1.5rem;max-width:720px;gap:2rem}.results-header h1{font-size:2.5rem}.results-body{gap:1.5rem}.stats-grid{gap:.75rem 1.5rem}.card-library-layout{gap:.75rem}.card-library-layout .game-preview-container{flex-basis:240px}.protocol-card-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.75rem}.coin-flip-modal-content{padding:1.5rem;max-width:450px}.coin-flip-choices{gap:1rem}.coin-flip-choice-btn{padding:1.2rem 1.5rem;min-width:100px}.coin-choice-icon{font-size:2rem}.coin-choice-label{font-size:1rem}.log-modal-with-preview{width:95%!important;max-width:none!important}.log-preview-area{flex:0 0 140px;min-height:220px}.log-preview-area .card-component{width:120px;height:168px;font-size:.55rem}.debug-modal-with-preview{width:95%!important;max-width:none!important}.debug-content-wrapper{max-height:55vh}.debug-preview-area{flex:0 0 110px;min-height:170px}.debug-preview-area .card-component{width:95px;height:133px;font-size:.45rem}.debug-grids-area{max-height:55vh}}@media (max-width: 767px){.game-screen-layout{flex-direction:column}.game-preview-container{flex-basis:auto;width:100%;order:-1}.protocol-selection-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.protocol-selection-sidebar:first-child{order:1}.protocol-grid-container{order:2}.protocol-selection-sidebar:last-child{order:3}.selected-protocol-cards-container{padding-left:0!important;align-items:center!important}.protocol-card-row{justify-content:center!important}}.protocol-selection-screen{width:100%;max-width:1400px;justify-content:flex-start;padding-top:6rem;gap:1rem}.protocol-selection-layout{display:grid;grid-template-columns:280px 1fr 280px;gap:2rem;width:100%;align-items:flex-start;flex-grow:1;min-height:0}.protocol-selection-sidebar{display:flex;flex-direction:column;height:100%}.player-protocols-area,.opponent-protocols-area{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--surface-hover);background-color:var(--surface-color);border-radius:8px;height:290px;overflow-y:auto}.protocol-preview-area{margin-top:1rem;display:flex;align-items:center;justify-content:center;background:var(--background-color);border-radius:8px;border:1px solid var(--surface-hover);padding:1rem;flex-grow:1}.protocol-preview-area .card-component{width:100%;font-size:1.05rem}.protocol-preview-area .card-rule-box{font-size:1.05em;padding:4px 8px}.player-protocols-area h3,.opponent-protocols-area h3{text-align:center;margin-bottom:1rem;text-transform:uppercase;font-family:Orbitron,sans-serif;position:sticky;top:-1rem;background:var(--surface-color);padding:.5rem 0;z-index:1}.player-protocols-area h3{color:var(--primary-color)}.opponent-protocols-area h3{color:var(--danger-color);font-size:1rem;line-height:1;white-space:nowrap}.protocol-display-card{border:1px solid hsla(253,91%,63%,.5);padding:1rem;text-align:center;background-color:var(--surface-color);font-family:Orbitron,sans-serif;font-weight:700;border-radius:12px;box-shadow:0 4px 20px #0006;animation:reveal .5s ease-out forwards;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.protocol-display-card.player{border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 4px 20px #0006,0 0 8px var(--primary-color)}.protocol-display-card.opponent{border-color:var(--danger-color);color:var(--danger-color);box-shadow:0 4px 20px #0006,0 0 8px var(--danger-color)}.protocol-grid-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:100%;gap:.5rem;overflow:hidden}.category-filters{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;margin-bottom:1rem;padding:.4rem 1rem;background-color:#0003;border-radius:8px}.category-filter-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-color)}.category-filter-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color)}.category-filter-item:hover{color:var(--primary-color)}.protocol-grid-scroll-wrapper{width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem;border-radius:8px;background-color:#0003;max-height:calc(3*(60px + 1rem));min-height:200px}.protocol-grid-scroll-wrapper::-webkit-scrollbar{width:10px}.protocol-grid-scroll-wrapper::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.protocol-grid-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:5px;transition:background .3s ease}.protocol-grid-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.protocol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;width:100%}.protocol-card{border:1px solid hsla(253,91%,63%,.5);padding:.25rem .5rem .5rem;text-align:center;cursor:pointer;transition:all .3s ease-in-out;background-color:var(--surface-color);color:var(--text-color);border-radius:12px;box-shadow:0 4px 20px #0006;font-family:Orbitron,sans-serif;font-weight:700;font-size:1em;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;height:60px}.protocol-card .protocol-category-label{position:absolute;top:.25rem;left:50%;transform:translate(-50%);font-size:.45em;font-weight:400;opacity:.5;text-transform:none;letter-spacing:0;font-family:Poppins,sans-serif;line-height:1;margin:0;padding:0}.protocol-card .protocol-name{font-size:1em;margin:0;padding:0;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;overflow:visible}.protocol-card:hover:not([aria-disabled=true]){transform:translateY(-5px);box-shadow:0 6px 25px #00000080,0 0 10px var(--primary-color);border-color:var(--primary-color)}.protocol-card.pattern-grid,.protocol-display-card.pattern-grid{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px)!important;background-size:auto,20px 20px,20px 20px!important}.protocol-card.pattern-radial,.protocol-display-card.pattern-radial{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 25%,transparent) 0%,transparent 60%)!important}.protocol-card.pattern-frost,.protocol-display-card.pattern-frost{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 9px)!important}.protocol-card.pattern-chaos,.protocol-display-card.pattern-chaos{background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)!important}.protocol-card.selected{border-color:var(--primary-color);box-shadow:0 6px 25px #00000080,0 0 15px var(--primary-color);transform:translateY(-5px) scale(1.05)}.protocol-card.chosen{opacity:.15;pointer-events:none}.protocol-card[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.selected-protocol-cards-container{width:100%;max-width:1400px;padding:.5rem 0;padding-left:calc(280px + 2rem);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-height:150px;height:auto;flex-shrink:0}.protocol-card-row{display:flex;justify-content:flex-start;height:140px;width:100%;gap:.5rem}.selected-protocol-cards-container .card-component.in-hand{transition:all .2s ease-in-out}.selected-protocol-cards-container .card-component.in-hand:hover{transform:translateY(-10px);z-index:50}@keyframes reveal{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scan-opponent{0%{box-shadow:0 0 0 0 transparent}25%,75%{box-shadow:0 0 20px 5px var(--danger-color);border-color:var(--danger-color);color:var(--danger-color)}to{box-shadow:0 0 0 0 transparent;border-color:var(--surface-hover);color:var(--text-color)}}.protocol-card.is-scanning{animation:scan-opponent 1s ease-in-out}.protocol-card.pattern-solid{background-color:var(--card-custom-color)!important;background-image:none!important}.protocol-card.pattern-radial{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 25%,transparent) 0%,transparent 60%)!important}.protocol-card.pattern-dual-radial{background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--card-custom-color) 30%,transparent) 0%,transparent 50%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--card-custom-color) 30%,transparent) 0%,transparent 50%)!important}.protocol-card.pattern-multi-radial{background-image:radial-gradient(circle at 25% 25%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),radial-gradient(circle at 75% 25%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),radial-gradient(circle at 50% 75%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%)!important}.protocol-card.pattern-chaos{background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)!important}.protocol-card.pattern-grid{background-image:linear-gradient(0deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 1px,transparent 1px)!important;background-size:20px 20px!important}.protocol-card.pattern-diagonal-lines{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px)!important}.protocol-card.pattern-cross-diagonal{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px),repeating-linear-gradient(-45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px)!important}.protocol-card.pattern-horizontal-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-card.pattern-vertical-lines{background-image:repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-card.pattern-cross{background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-card.pattern-hexagons{background-image:radial-gradient(circle at 0% 50%,transparent 30%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 31%,transparent 32%),radial-gradient(circle at 100% 50%,transparent 30%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 31%,transparent 32%),linear-gradient(60deg,transparent 40%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 41%,transparent 42%),linear-gradient(-60deg,transparent 40%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 41%,transparent 42%)!important;background-size:40px 70px!important;background-position:0 0,0 0,0 0,0 0!important}.protocol-card.pattern-stripes{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent),color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px,transparent 10px,transparent 20px)!important}.protocol-card.pattern-frost{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 9px)!important}.protocol-display-card.pattern-solid{background-color:var(--card-custom-color)!important;background-image:none!important}.protocol-display-card.pattern-radial{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 25%,transparent) 0%,transparent 60%)!important}.protocol-display-card.pattern-dual-radial{background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--card-custom-color) 30%,transparent) 0%,transparent 50%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--card-custom-color) 30%,transparent) 0%,transparent 50%)!important}.protocol-display-card.pattern-multi-radial{background-image:radial-gradient(circle at 25% 25%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),radial-gradient(circle at 75% 25%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%),radial-gradient(circle at 50% 75%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 40%)!important}.protocol-display-card.pattern-chaos{background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)!important}.protocol-display-card.pattern-grid{background-image:linear-gradient(0deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 1px,transparent 1px)!important;background-size:20px 20px!important}.protocol-display-card.pattern-diagonal-lines{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px)!important}.protocol-display-card.pattern-cross-diagonal{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px),repeating-linear-gradient(-45deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 15%,transparent) 12px)!important}.protocol-display-card.pattern-horizontal-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-display-card.pattern-vertical-lines{background-image:repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-display-card.pattern-cross{background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px)!important}.protocol-display-card.pattern-hexagons{background-image:radial-gradient(circle at 0% 50%,transparent 30%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 31%,transparent 32%),radial-gradient(circle at 100% 50%,transparent 30%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 31%,transparent 32%),linear-gradient(60deg,transparent 40%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 41%,transparent 42%),linear-gradient(-60deg,transparent 40%,color-mix(in srgb,var(--card-custom-color) 12%,transparent) 41%,transparent 42%)!important;background-size:40px 70px!important;background-position:0 0,0 0,0 0,0 0!important}.protocol-display-card.pattern-stripes{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--card-custom-color) 20%,transparent),color-mix(in srgb,var(--card-custom-color) 20%,transparent) 10px,transparent 10px,transparent 20px)!important}.protocol-display-card.pattern-frost{background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--card-custom-color) 20%,transparent) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 10px,color-mix(in srgb,var(--card-custom-color) 8%,transparent) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 8px,color-mix(in srgb,var(--card-custom-color) 5%,transparent) 9px)!important}.statistics-screen{width:100%;max-width:1400px;height:100%;display:flex;flex-direction:column;padding:6rem 2rem 2rem;background-color:#0003;animation:fadeIn .5s ease-in-out;overflow-y:auto}.statistics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.statistics-title{font-family:Orbitron,sans-serif;font-size:2.5rem;color:var(--primary-color);letter-spacing:2px;margin:0;flex:1;text-align:left}.stats-content{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;flex:1;overflow-y:auto;padding-right:.5rem}.stats-section{background-color:var(--surface-color);border:1px solid var(--primary-color);border-radius:4px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.stats-section.full-width{grid-column:span 3}.stats-section.half-width{grid-column:span 2}.section-title{font-family:Orbitron,sans-serif;font-size:1.2rem;color:var(--primary-color);text-transform:uppercase;margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--primary-color)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#0000004d;border-radius:4px}.stat-label{font-family:Poppins,sans-serif;color:var(--secondary-color);font-size:.9rem}.stat-value{font-family:Orbitron,sans-serif;color:var(--text-color);font-weight:700;font-size:1.1rem}.stat-value.win{color:var(--primary-color)}.stat-value.loss{color:var(--danger-color)}.protocol-list,.card-list,.ai-stats{display:flex;flex-direction:column;gap:.5rem}.protocol-item,.card-item,.ai-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0000004d;border-radius:4px;border-left:2px solid var(--primary-color)}.protocol-rank,.card-rank{font-family:Orbitron,sans-serif;color:var(--secondary-color);font-weight:700;min-width:25px;font-size:.9rem}.protocol-name,.card-name,.ai-name{font-family:Orbitron,sans-serif;color:var(--primary-color);font-weight:700;flex:1}.protocol-stats,.card-count,.ai-record,.ai-winrate{font-family:Poppins,sans-serif;color:var(--secondary-color);font-size:.85rem}.ai-name{min-width:80px;text-transform:uppercase}.back-button{font-family:Orbitron,sans-serif;background-color:transparent;border:1px solid var(--secondary-color);color:var(--secondary-color);padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;border-radius:4px;margin-top:1.5rem}.back-button:hover{background-color:var(--secondary-color);color:var(--background-color)}@media (max-width: 1200px){.stats-content{grid-template-columns:repeat(2,1fr)}.stats-section.full-width,.stats-section.half-width{grid-column:span 2}}@media (max-width: 768px){.statistics-screen{padding:1rem}.statistics-title{font-size:1.8rem}.stats-content{grid-template-columns:1fr;gap:1rem}.stats-section.full-width,.stats-section.half-width{grid-column:span 1}.stats-grid{grid-template-columns:1fr}}.stats-content::-webkit-scrollbar{width:8px}.stats-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.stats-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.stats-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 */.custom-protocol-creator{width:100%;max-width:1200px;height:100vh;display:flex;flex-direction:column;background-color:var(--background-color);color:var(--text-color);overflow:hidden;padding:2rem;box-sizing:border-box}.protocol-list{display:flex;flex-direction:column;height:100%;gap:1rem}.protocol-list .list-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.protocol-list h2{font-family:Orbitron,sans-serif;font-size:2rem;color:var(--primary-color);margin:0}.protocol-list .empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--surface-color);border:1px solid var(--secondary-color);border-radius:8px;padding:3rem}.protocol-list .empty-state p{color:var(--secondary-color);font-size:1.1rem;margin:.5rem 0}.protocols-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:.5rem;align-content:start;grid-auto-rows:min-content}.protocols-grid::-webkit-scrollbar{width:8px}.protocols-grid::-webkit-scrollbar-track{background:var(--surface-color)}.protocols-grid::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:4px}.protocol-list .protocol-card{background-color:var(--surface-color);border:1px solid var(--secondary-color);border-radius:8px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;padding:5px 1rem 1rem;min-height:100px}@media (max-width: 1600px){.protocol-list .protocol-card{min-height:140px;padding:5px 1.5rem 1.5rem}.protocol-list .protocol-card .protocol-header-content h3{font-size:1.3rem}.protocol-list .header-description{font-size:.85rem}}.protocol-list .protocol-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000080;border-color:var(--primary-color)}.protocol-list .protocol-card .protocol-header-content{text-align:center;width:100%}.protocol-list .protocol-card .protocol-header-content h3{margin:0;padding:0;font-family:Orbitron,sans-serif;font-size:1.1rem;color:var(--text-color);text-align:center;font-weight:600;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.8),0 0 8px rgba(0,0,0,.5)}.header-description{margin:.35rem 0 0;padding:0;font-size:.75rem;color:var(--secondary-color);opacity:.85;line-height:1.3;text-align:center;display:block;text-shadow:0 1px 3px rgba(0,0,0,.8)}.protocol-card .protocol-body{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.protocol-card .description{color:var(--secondary-color);font-size:.75rem;line-height:1.3;opacity:.7;margin:0}.protocol-card .protocol-meta{display:flex;justify-content:space-between;font-size:1rem;color:var(--secondary-color);opacity:.7}.card-preview-mini{display:flex;gap:.4rem;justify-content:center;padding:.5rem 0}.mini-card{width:32px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid var(--secondary-color);font-weight:700;font-size:1rem;color:var(--text-color);font-family:Orbitron,sans-serif}.protocol-card .protocol-actions{display:flex;gap:.75rem;padding:1.25rem;background-color:var(--background-color);flex-shrink:0}.protocol-card .protocol-actions button{flex:1}.new-protocol-card{border:2px dashed var(--primary-color);background-color:var(--surface-color)}.new-protocol-card:hover{box-shadow:0 8px 20px #19ffff33}.new-protocol-header{background-color:transparent!important;background-image:none!important}.new-protocol-body{text-align:center}.protocol-wizard{display:flex;flex-direction:column;height:100%;background-color:var(--surface-color);border:1px solid var(--secondary-color);border-radius:8px;padding:1.5rem;overflow:hidden}.wizard-header{flex-shrink:0;margin-bottom:1.5rem}.wizard-header h2{font-family:Orbitron,sans-serif;font-size:1.8rem;color:var(--primary-color);text-align:center;margin:0 0 1rem}.wizard-progress{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.wizard-progress .step{padding:.5rem 1rem;background-color:var(--background-color);border:1px solid var(--surface-hover);border-radius:4px;font-family:Orbitron,sans-serif;font-size:.85rem;color:var(--secondary-color);text-transform:uppercase;transition:all .2s ease;cursor:pointer}.wizard-progress .step:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--primary-color)}.wizard-progress .step:disabled{opacity:.5;cursor:not-allowed}.wizard-progress .step.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--background-color)}.wizard-progress .step.done{background-color:var(--surface-hover);border-color:var(--primary-color);color:var(--primary-color)}.wizard-content{flex:1;overflow-y:auto;padding:1rem 0}.wizard-content::-webkit-scrollbar{width:8px}.wizard-content::-webkit-scrollbar-track{background:var(--background-color)}.wizard-content::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:4px}.wizard-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-step h3{font-family:Orbitron,sans-serif;font-size:1.3rem;color:var(--primary-color);margin:0 0 1rem}.wizard-step label{display:block;margin-bottom:1rem;font-weight:600;color:var(--text-color)}.wizard-step input[type=text],.wizard-step textarea{display:block;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem;font-family:Poppins,sans-serif;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px}.wizard-step input:focus,.wizard-step textarea:focus{outline:none;border-color:var(--primary-color)}.wizard-step textarea{resize:vertical;min-height:80px}.color-preview{height:120px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:1.5rem;font-size:1.8rem;font-weight:700;font-family:Orbitron,sans-serif;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);border:2px solid var(--primary-color)}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.75rem;margin-bottom:1.5rem}.color-option{aspect-ratio:1;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff}.color-option:hover{transform:scale(1.1);border-color:var(--text-color)}.color-option.selected{border-color:var(--primary-color);box-shadow:0 0 12px var(--primary-color)}.custom-color{display:flex;gap:1rem;align-items:center}.custom-color input[type=color]{width:60px;height:40px;border:none;border-radius:4px;cursor:pointer}.custom-color input[type=text]{flex:1}.pattern-selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.pattern-option{background-color:var(--background-color);border:1px solid var(--surface-hover);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;position:relative}.pattern-option:hover{border-color:var(--primary-color)}.pattern-option.selected{border-color:var(--primary-color);box-shadow:0 0 12px #61efff4d}.pattern-preview{height:100px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-bottom:.75rem;font-weight:700;font-family:Orbitron,sans-serif;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);border:2px solid currentColor}.pattern-option h4{margin:0 0 .25rem;font-size:1.1rem;font-family:Orbitron,sans-serif;color:var(--text-color)}.pattern-option p{margin:0;color:var(--secondary-color);font-size:.85rem}.selected-badge{position:absolute;top:.75rem;right:.75rem;background-color:var(--primary-color);color:var(--background-color);padding:.25rem .75rem;border-radius:12px;font-weight:700;font-size:.75rem;font-family:Orbitron,sans-serif}.card-editor-container{display:flex;flex-direction:column;height:100%}.card-editor-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;overflow:hidden}.card-live-preview{background-color:var(--surface-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.card-live-preview h4{margin:0 0 .75rem;font-family:Orbitron,sans-serif;color:var(--primary-color);font-size:1.2rem}.card-value-selector{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:1rem;font-size:.9rem;font-weight:600;color:var(--text-color)}.card-value-selector select{padding:.5rem 1rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;font-size:1rem;font-family:Poppins,sans-serif;cursor:pointer;min-width:100px}.card-value-selector select:focus{outline:none;border-color:var(--primary-color)}.card-preview-wrapper{width:300px;margin:20px auto}.card-custom-preview .card-front{background-color:var(--surface-color);border-color:var(--custom-color)}.card-custom-preview.pattern-radial .card-front{background-image:radial-gradient(circle at 50% 50%,var(--custom-color-alpha-25) 0%,transparent 60%)!important}.card-custom-preview.pattern-dual-radial .card-front{background-image:radial-gradient(at 0% 0%,var(--custom-color-alpha-20),transparent 50%),radial-gradient(at 100% 100%,var(--custom-color-alpha-20),transparent 50%)!important}.card-custom-preview.pattern-multi-radial .card-front{background-image:radial-gradient(at 50% 0%,var(--custom-color-alpha-20),transparent 70%),radial-gradient(circle at 20% 30%,var(--custom-color-alpha-15),transparent 40%),radial-gradient(circle at 80% 70%,var(--custom-color-alpha-20),transparent 50%)!important}.card-custom-preview.pattern-chaos .card-front{background-image:radial-gradient(at 10% 10%,hsla(60,100%,50%,.15),transparent 30%),radial-gradient(at 90% 20%,hsla(180,100%,50%,.15),transparent 35%),radial-gradient(at 30% 80%,hsla(300,100%,50%,.15),transparent 40%),radial-gradient(at 70% 60%,hsla(0,100%,50%,.1),transparent 25%)!important}.card-custom-preview.pattern-grid .card-front{background-image:radial-gradient(circle at 50% 50%,var(--custom-color-alpha-20) 0%,transparent 40%),linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 1px)!important;background-size:auto,20px 20px,20px 20px!important}.card-custom-preview.pattern-diagonal-lines .card-front{background-image:radial-gradient(at 0% 100%,var(--custom-color-alpha-25),transparent 70%),repeating-linear-gradient(120deg,transparent,transparent 15px,var(--custom-color-alpha-05) 15px,var(--custom-color-alpha-05) 30px)!important}.card-custom-preview.pattern-cross-diagonal .card-front{background-image:radial-gradient(at 50% 50%,var(--custom-color-alpha-25) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 8px,var(--custom-color-alpha-08) 8px,var(--custom-color-alpha-08) 16px),repeating-linear-gradient(-45deg,transparent,transparent 8px,var(--custom-color-alpha-06) 8px,var(--custom-color-alpha-06) 16px)!important}.card-custom-preview.pattern-horizontal-lines .card-front{background-image:radial-gradient(at 80% 80%,var(--custom-color-alpha-10),transparent 50%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 1px,transparent 1px,transparent 3px)!important}.card-custom-preview.pattern-vertical-lines .card-front{background-image:radial-gradient(at 10% 10%,var(--custom-color-alpha-20),transparent 50%),repeating-linear-gradient(175deg,transparent,transparent 1px,var(--custom-color-alpha-05) 1px,var(--custom-color-alpha-05) 2px)!important}.card-custom-preview.pattern-cross .card-front{background-image:linear-gradient(0deg,transparent 40%,var(--custom-color-alpha-10) 50%,transparent 60%),linear-gradient(90deg,transparent 48%,var(--custom-color-alpha-20) 50%,transparent 52%)!important}.card-custom-preview.pattern-hexagons .card-front{background-image:radial-gradient(at 50% 0%,var(--custom-color-alpha-20),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2361efb5' fill-opacity='0.05' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.99-7.5L26 15v18.5l-13 7.5L0 33.5V15z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")!important}.card-custom-preview.pattern-stripes .card-front{background-image:radial-gradient(at 50% 100%,var(--custom-color-alpha-25),transparent 60%),linear-gradient(135deg,hsla(0,0%,0%,.1) 23%,transparent 23%,transparent 25%,hsla(0,0%,0%,.1) 25%,hsla(0,0%,0%,.1) 27%,transparent 27%,transparent 73%,hsla(0,0%,0%,.1) 73%,hsla(0,0%,0%,.1) 75%,transparent 75%,transparent 77%,hsla(0,0%,0%,.1) 77%)!important}.card-custom-preview.pattern-frost .card-front{background-image:radial-gradient(circle at 50% 50%,var(--custom-color-alpha-20) 0%,transparent 50%),repeating-linear-gradient(30deg,transparent,transparent 10px,var(--custom-color-alpha-08) 10px,var(--custom-color-alpha-08) 11px),repeating-linear-gradient(-30deg,transparent,transparent 10px,var(--custom-color-alpha-08) 10px,var(--custom-color-alpha-08) 11px),repeating-linear-gradient(90deg,transparent,transparent 8px,var(--custom-color-alpha-05) 8px,var(--custom-color-alpha-05) 9px)!important}.card-effects-editor{overflow-y:auto;padding-right:.5rem}.card-preview{background-color:var(--background-color);border:2px solid var(--primary-color);border-radius:8px;overflow-y:auto;padding:1rem}.card-preview::-webkit-scrollbar{width:6px}.card-preview::-webkit-scrollbar-track{background:var(--surface-color)}.card-preview::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:3px}.card-preview .card-header{padding:.75rem;text-align:center;background-color:var(--surface-hover);border-radius:6px;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.card-preview .card-header h3{margin:0;padding:0;color:var(--text-color);font-size:1.3rem;font-family:Orbitron,sans-serif;line-height:1.2}.card-box{padding:.75rem;border:1px solid var(--surface-hover);border-radius:6px;margin-bottom:.75rem;background-color:var(--surface-color)}.card-box h4{margin:0 0 .5rem;font-size:1rem;font-family:Orbitron,sans-serif;color:var(--primary-color)}.card-box .box-description{font-size:.75rem;color:var(--secondary-color);margin-bottom:.75rem;line-height:1.3}.card-box .effects-list{min-height:40px;margin-bottom:.75rem}.card-box .effect-item{background-color:var(--background-color);padding:.5rem;border-radius:4px;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;border:1px solid transparent}.card-box .effect-item:hover{border-color:var(--primary-color)}.card-box .effect-item span{flex:1;font-size:.85rem;color:var(--text-color)}.card-box .effect-item strong{color:var(--primary-color);margin-right:.5rem}.card-box .effect-item button{background-color:var(--danger-color);color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background-color .2s}.card-box .effect-item button:hover{background-color:#f33}.card-box .empty-box{color:var(--secondary-color);font-style:italic;font-size:.85rem;opacity:.6}.card-box select{width:100%;padding:.5rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;cursor:pointer;font-size:.85rem;font-family:Poppins,sans-serif}.card-box select:focus{outline:none;border-color:var(--primary-color)}.add-effect-controls{display:flex;gap:.4rem}.add-effect-controls select{flex:1;font-size:.85rem;padding:.5rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;cursor:pointer;font-family:Poppins,sans-serif}.add-effect-controls select:focus{outline:none;border-color:var(--primary-color)}.bottom-effect-add{display:flex;gap:.4rem}.bottom-effect-add select{flex:1;font-size:.85rem;padding:.5rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;cursor:pointer;font-family:Poppins,sans-serif}.bottom-effect-add select:focus{outline:none;border-color:var(--primary-color)}.btn-add-effect{width:32px;min-width:32px;height:32px;padding:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.effect-parameter-editor{background-color:var(--background-color);border:2px solid var(--primary-color);border-radius:8px;padding:1rem;overflow-y:auto}.effect-parameter-editor::-webkit-scrollbar{width:6px}.effect-parameter-editor::-webkit-scrollbar-track{background:var(--surface-color)}.effect-parameter-editor::-webkit-scrollbar-thumb{background-color:var(--secondary-color);border-radius:3px}.effect-parameter-editor h3{margin-top:0;color:var(--primary-color);font-family:Orbitron,sans-serif;font-size:1.1rem}.param-editor{display:flex;flex-direction:column;gap:.75rem}.param-editor h4{margin:0 0 .5rem;color:var(--primary-color);font-family:Orbitron,sans-serif;font-size:1rem}.param-editor h5{margin:.75rem 0 .4rem;color:var(--text-color);font-size:.9rem;font-weight:600}.param-editor label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--text-color)}.param-editor input[type=number],.param-editor input[type=text],.param-editor select{padding:.5rem;background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;font-size:.85rem;font-family:Poppins,sans-serif}.param-editor input:focus,.param-editor select:focus{outline:none;border-color:var(--primary-color)}.param-editor input[type=checkbox]{width:18px;height:18px;cursor:pointer}.param-editor label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.5rem}.effect-preview{background-color:var(--surface-color);border-left:3px solid var(--primary-color);padding:.75rem;border-radius:4px;margin-top:.75rem}.effect-preview strong{color:var(--primary-color);margin-right:.5rem}.effect-parameter-editor .btn{width:100%;margin-top:1rem}.wizard-actions{flex-shrink:0;display:flex;justify-content:space-between;gap:.75rem;padding-top:1rem;border-top:1px solid var(--surface-hover);margin-top:1rem}.wizard-actions-left,.wizard-actions-right{display:flex;gap:.75rem}.wizard-actions button{font-size:.9rem;padding:.6rem 1.5rem}.btn-export{border-color:var(--primary-color);color:var(--primary-color)}.btn-export:hover{background-color:var(--primary-color);color:var(--background-color)}.btn-delete{border-color:var(--danger-color);color:var(--danger-color)}.btn-delete:hover{background-color:var(--danger-color);color:var(--background-color)}.custom-protocol-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.custom-protocol-modal-content{background-color:var(--surface-color);border:2px solid var(--primary-color);border-radius:8px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.custom-protocol-modal-large{max-width:800px}.custom-protocol-modal-content h3{margin:0;font-family:Orbitron,sans-serif;font-size:1.5rem;color:var(--primary-color)}.custom-protocol-modal-content p{margin:0;color:var(--secondary-color);font-size:.9rem}.import-textarea{width:100%;min-height:200px;padding:.75rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;resize:vertical}.import-textarea:focus{outline:none;border-color:var(--primary-color)}.export-textarea{width:100%;min-height:300px;padding:.75rem;background-color:var(--background-color);color:var(--text-color);border:1px solid var(--surface-hover);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;resize:vertical}.export-textarea:focus{outline:none;border-color:var(--primary-color)}.error-message{background-color:#ff44441a;border:1px solid var(--danger-color);color:var(--danger-color);padding:.75rem;border-radius:4px;font-size:.9rem}.custom-protocol-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.header-actions{display:flex;align-items:center;gap:1rem}.system-protocols-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.system-protocols-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.system-badge{display:inline-block;background-color:#64646499;color:var(--text-secondary);font-size:.65rem;padding:.15rem .4rem;border-radius:3px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.protocol-card.system-protocol{opacity:.85}.read-only-badge{display:inline-block;background-color:#ff980033;color:#ff9800;font-size:.7rem;padding:.2rem .5rem;border-radius:4px;margin-left:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;vertical-align:middle}input.read-only,textarea.read-only{background-color:var(--surface-hover);cursor:not-allowed;opacity:.8}.color-grid.read-only,.pattern-selection-grid.read-only{pointer-events:none;opacity:.7}.read-only-clickable{cursor:pointer!important;opacity:.9}.read-only-clickable:hover{opacity:1;text-decoration:underline}.read-only-notice{background-color:#ff980026;color:#ff9800;padding:.5rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.85rem;text-align:center}.effect-editor.read-only-mode select,.effect-editor.read-only-mode input,.effect-editor.read-only-mode textarea,.effect-editor.read-only-mode button:not(.btn){pointer-events:none;opacity:.7;cursor:not-allowed}.effect-editor.read-only-mode input[type=checkbox]{pointer-events:none}.effect-editor.read-only-mode .btn{pointer-events:auto;opacity:1}.card-navigation{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--surface-color);border-radius:8px;border:1px solid var(--surface-hover);flex-wrap:wrap}.card-nav-btn{flex:1;min-width:80px;padding:.75rem 1rem;background-color:var(--background-color);color:var(--text-color);border:2px solid var(--surface-hover);border-radius:6px;font-family:Orbitron,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.card-nav-btn:hover{border-color:var(--primary-color);background-color:var(--surface-hover)}.card-nav-btn.active{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-color)}@media (max-width: 1366px){.custom-protocol-creator{padding:1rem}.protocol-list h2{font-size:1.5rem}.protocols-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.protocol-card .protocol-header{height:90px}.protocol-card .protocol-header h3{font-size:1rem}.protocol-header-content{padding:0 .75rem}.header-description{font-size:.7rem;margin-top:.3rem}.protocol-card .protocol-body{padding:1.25rem;gap:1rem}.protocol-card .description{font-size:.7rem}.mini-card{width:30px;height:45px;font-size:.95rem}.protocol-card .protocol-actions{padding:1.1rem;gap:.6rem}.wizard-header h2{font-size:1.3rem}.wizard-progress{gap:.4rem}.wizard-progress .step{padding:.5rem .75rem;font-size:.75rem}.card-editor-content{grid-template-columns:1fr;gap:1rem}.pattern-selection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.modal-content{padding:1.5rem;max-width:500px}}@media (max-width: 1200px){.protocols-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.card-editor-content,.pattern-selection-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}}@media (max-height: 768px){.custom-protocol-creator{padding:.75rem}.protocol-list .list-header{margin-bottom:1rem}.protocol-list h2{font-size:1.3rem}.wizard-header h2{font-size:1.2rem}.wizard-content{padding:1rem}.card-box{padding:.5rem;margin-bottom:.5rem}.card-box h4{font-size:.9rem}.wizard-step h3{font-size:1rem;margin-bottom:.75rem}.card-navigation{padding:.75rem;margin-bottom:1rem}.card-nav-btn{padding:.5rem .75rem;font-size:.8rem;min-width:70px}}@media (max-height: 600px){.custom-protocol-creator{padding:.5rem}.protocol-list h2,.wizard-header h2{font-size:1.1rem}.wizard-progress .step{padding:.3rem .5rem;font-size:.7rem}.protocol-card .protocol-header{height:80px}.protocol-card .protocol-header h3{font-size:.95rem}.protocol-header-content{padding:0 .5rem}.header-description{font-size:.65rem;margin-top:.25rem}.protocol-card .protocol-body{padding:1rem;gap:.85rem}.mini-card{width:28px;height:42px;font-size:.9rem}.protocol-card .protocol-actions{padding:.85rem;gap:.5rem}.btn{padding:.5rem 1rem;font-size:.85rem}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Rules Screen Styles
 */.rules-screen{width:100%;max-width:1400px;height:100%;display:flex;flex-direction:column;padding:6rem 2rem 2rem;background-color:#0003;animation:fadeIn .5s ease-in-out;overflow-y:auto}.rules-content{display:flex;flex-direction:column;gap:2.5rem;flex:1;overflow-y:auto;padding-right:.5rem}.rules-section{background-color:var(--surface-color);border:1px solid var(--primary-color);border-radius:8px;padding:1.5rem 2rem}.rules-section .section-title{font-family:Orbitron,sans-serif;font-size:1.4rem;color:var(--primary-color);text-transform:uppercase;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--primary-color);letter-spacing:1px}.rules-text p{text-align:left;color:var(--text-color);line-height:1.7;margin-bottom:.75rem;max-width:none}.rules-text .emphasis,.rules-content .emphasis{color:var(--primary-color);font-weight:600}.rules-highlight{background:#61efff1a;border-left:3px solid var(--primary-color);padding:.75rem 1rem;margin-top:1rem;font-weight:600;color:var(--primary-color)!important}.card-anatomy-section{overflow:visible}.card-anatomy-layout{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start;margin-top:1rem}.card-anatomy-display{position:relative;display:flex;justify-content:center;padding:1rem 0}.anatomy-card-wrapper{position:relative;width:200px;height:280px}.anatomy-card-wrapper .card-component{width:200px;height:280px;font-size:.8rem}.anatomy-annotation{position:absolute;display:flex;align-items:center;pointer-events:none;z-index:10}.annotation-line{width:40px;height:2px;background:var(--primary-color);position:relative}.annotation-line:after{content:"";position:absolute;width:8px;height:8px;background:var(--primary-color);border-radius:50%}.annotation-line-left:after{left:0;top:-3px}.annotation-line-right:after{right:0;top:-3px}.annotation-label{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--surface-color);border:1px solid var(--primary-color);border-radius:4px;white-space:nowrap}.annotation-letter{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--primary-color);color:var(--background-color);font-family:Orbitron,sans-serif;font-weight:700;font-size:.75rem;border-radius:50%}.annotation-text{font-family:Poppins,sans-serif;font-size:.75rem;color:var(--text-color)}.annotation-protocol{top:8px;left:-120px;flex-direction:row-reverse}.annotation-value{top:8px;right:-115px}.annotation-top{top:55px;right:-125px}.annotation-middle{top:140px;right:-140px}.annotation-bottom{top:215px;right:-145px}.card-anatomy-descriptions{display:flex;flex-direction:column;gap:.75rem}.anatomy-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 1rem;background:#0000004d;border-radius:4px;border-left:3px solid var(--secondary-color);transition:all .2s ease}.anatomy-item:hover{background:#0006;border-left-color:var(--primary-color)}.anatomy-item-highlight{border-left-color:var(--primary-color);background:#61efff0d}.anatomy-item .anatomy-letter{flex-shrink:0;width:28px;height:28px;font-size:.85rem}.anatomy-desc{flex:1}.anatomy-desc strong{display:block;font-family:Orbitron,sans-serif;color:var(--primary-color);font-size:.95rem;margin-bottom:.25rem}.anatomy-desc p{color:var(--secondary-color);font-size:.85rem;line-height:1.5;margin:0;text-align:left;max-width:none}.face-down-section{background:linear-gradient(135deg,var(--surface-color) 0%,rgba(26,17,59,.8) 100%)}.face-down-layout{display:flex;gap:3rem;align-items:center;margin-top:1rem}.face-down-card-wrapper{flex-shrink:0}.face-down-card-wrapper .card-component{width:160px;height:224px;font-size:.65rem}.face-down-description{flex:1}.face-down-description p{color:var(--text-color);line-height:1.6;margin-bottom:1rem;text-align:left;max-width:none}.face-down-description ul{list-style:none;padding:0;margin:0}.face-down-description li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--secondary-color);font-size:.95rem;line-height:1.5}.face-down-description li:before{content:">";position:absolute;left:0;color:var(--primary-color);font-family:Orbitron,sans-serif;font-weight:700}.turn-order-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.turn-phase{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#0000004d;border-radius:4px;border:1px solid var(--surface-hover);transition:all .2s ease}.turn-phase:hover{border-color:var(--primary-color);background:#61efff0d}.phase-number{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary-color);color:var(--background-color);font-family:Orbitron,sans-serif;font-weight:700;font-size:1.1rem;border-radius:50%}.phase-content strong{display:block;font-family:Orbitron,sans-serif;color:var(--primary-color);font-size:.9rem;margin-bottom:.25rem;text-transform:uppercase}.phase-content p{color:var(--secondary-color);font-size:.85rem;line-height:1.4;margin:0;text-align:left;max-width:none}.glossary-section{border-color:var(--secondary-color)}.glossary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}.glossary-item{padding:.75rem 1rem;background:#0000004d;border-radius:4px;border-left:2px solid var(--primary-color)}.glossary-item strong{display:block;font-family:Orbitron,sans-serif;color:var(--primary-color);font-size:.85rem;margin-bottom:.25rem}.glossary-item p{color:var(--secondary-color);font-size:.8rem;line-height:1.4;margin:0;text-align:left;max-width:none}.rules-content::-webkit-scrollbar{width:8px}.rules-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.rules-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.rules-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}@media (max-width: 1200px){.card-anatomy-layout{grid-template-columns:280px 1fr;gap:2rem}.glossary-grid{grid-template-columns:repeat(3,1fr)}.turn-order-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.rules-screen{padding:5rem 1.5rem 1.5rem}.card-anatomy-layout{grid-template-columns:1fr;gap:2rem}.card-anatomy-display{justify-content:flex-start;padding-left:140px}.glossary-grid{grid-template-columns:repeat(2,1fr)}.turn-order-grid{grid-template-columns:1fr}.face-down-layout{flex-direction:column;align-items:flex-start;gap:1.5rem}}@media (max-width: 600px){.rules-section{padding:1rem 1.25rem}.card-anatomy-display{padding-left:0}.anatomy-annotation{display:none}.glossary-grid{grid-template-columns:1fr}}.field-overview-section{background:linear-gradient(180deg,var(--surface-color) 0%,rgba(10,5,26,.95) 100%);overflow:visible}.field-intro{margin-bottom:1.5rem}.field-intro p{color:var(--text-color);line-height:1.7;text-align:left;max-width:none;margin:0}.demo-board-container{display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start;margin-top:1rem}.demo-board{background:#0006;border:1px solid var(--surface-hover);border-radius:8px;padding:1rem;position:relative}.demo-side-label{font-family:Orbitron,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:.5rem;margin:.25rem 0}.demo-side-label.opponent-label{color:var(--danger-color);border-bottom:1px solid rgba(255,107,107,.3)}.demo-side-label.player-label{color:var(--primary-color);border-top:1px solid rgba(97,239,255,.3)}.demo-player-side{padding:.5rem 0}.demo-opponent-side{transform:rotate(180deg)}.demo-opponent-side .demo-lanes{flex-direction:row-reverse}.demo-lanes{display:flex;justify-content:space-around;gap:.75rem}.demo-lane{width:110px;min-height:260px;border:1px solid var(--surface-hover);background-color:#0000004d;border-radius:6px;position:relative;transition:all .3s ease}.demo-lane-compiled{border-color:#61efff4d;background:#61efff0d}.demo-lane-compilable{border:2px solid var(--success-color);box-shadow:0 0 15px #61efff66;background:#61efff1a;animation:compilable-pulse 2s ease-in-out infinite}@keyframes compilable-pulse{0%,to{box-shadow:0 0 10px #61efff4d}50%{box-shadow:0 0 20px #61efff99}}.demo-lane-stack{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:8px}.demo-lane-stack .card-component{position:absolute;top:calc(8px + var(--i) * 58px);width:90px;height:126px;font-size:.5rem;pointer-events:none}.demo-lane-stack .card-component .card-header{height:16px;min-height:16px;margin-bottom:4px}.demo-lane-stack .card-component .card-protocol{font-size:.55em;padding:1px 3px}.demo-lane-stack .card-component .card-value{font-size:.85em;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;padding:1px 3px}.demo-lane-stack .card-component .card-body{gap:2px}.demo-lane-stack .card-component .card-rule-box{font-size:.7em;line-height:1.15;padding:2px 3px;min-height:22px}.demo-lane-stack .card-component .card-rule-box:before,.demo-lane-stack .card-component .card-rule-box:after{display:none}.demo-lane-stack .card-component .card-front{padding:4px}.demo-protocol-bars-container{display:flex;flex-direction:column;gap:2px;padding:.5rem 0;border-top:1px solid var(--surface-hover);border-bottom:1px solid var(--surface-hover);margin:.25rem 0}.demo-protocol-bar{display:flex;justify-content:space-around;gap:.5rem}.demo-protocol-display{flex:1;display:flex;justify-content:space-between;align-items:center;padding:.35rem .75rem;transition:all .3s ease;text-transform:uppercase;border-radius:3px;background:#0003}.demo-protocol-display.compiled{background:#61efff26;box-shadow:0 0 8px #61efff66 inset}.demo-protocol-display.compiled .demo-protocol-name,.demo-protocol-display.compiled .demo-protocol-value{color:var(--primary-color);text-shadow:0 0 5px var(--primary-color)}.demo-protocol-display.compilable{background:#50c87826;border:1px solid #50C878;box-shadow:0 0 10px #50c87880;animation:compilable-bar-pulse 2s ease-in-out infinite}@keyframes compilable-bar-pulse{0%,to{box-shadow:0 0 8px #50c87866}50%{box-shadow:0 0 16px #50c878b3}}.demo-protocol-display.compilable .demo-protocol-name,.demo-protocol-display.compilable .demo-protocol-value{color:#50c878;text-shadow:0 0 5px #50C878}.demo-protocol-name{font-weight:600;font-size:.7rem;text-shadow:none}.demo-protocol-value{font-size:.9rem;font-weight:700;font-family:Orbitron,sans-serif;color:var(--text-color)}.demo-player-bar .demo-protocol-name{color:var(--primary-color)}.demo-opponent-bar .demo-protocol-name{color:var(--danger-color)}.demo-board-annotations{display:flex;flex-direction:column;gap:1rem}.demo-annotation{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#0000004d;border-radius:6px;border-left:3px solid var(--secondary-color)}.compiled-annotation{border-left-color:var(--primary-color);background:#61efff0d}.compilable-annotation{border-left-color:var(--success-color);background:#61efff14}.inprogress-annotation{border-left-color:var(--secondary-color)}.topbox-annotation{border-left-color:gold;background:#ffd70014}.demo-annotation-marker{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-family:Orbitron,sans-serif;font-weight:700;font-size:.85rem;border-radius:50%;color:var(--background-color)}.compiled-marker{background:var(--primary-color)}.compilable-marker{background:var(--success-color)}.inprogress-marker{background:var(--secondary-color)}.topbox-marker{background:gold}.demo-annotation-content{flex:1}.demo-annotation-content strong{display:block;font-family:Orbitron,sans-serif;color:var(--primary-color);font-size:.9rem;margin-bottom:.25rem}.compiled-annotation .demo-annotation-content strong{color:var(--primary-color)}.compilable-annotation .demo-annotation-content strong{color:var(--success-color)}.inprogress-annotation .demo-annotation-content strong{color:var(--secondary-color)}.topbox-annotation .demo-annotation-content strong{color:gold}.demo-annotation-content p{color:var(--text-color);font-size:.85rem;line-height:1.5;margin:0;text-align:left;max-width:none}.field-legend{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--surface-hover)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-color)}.legend-swatch{width:20px;height:20px;border-radius:4px;border:1px solid}.legend-compiled{background:#61efff33;border-color:var(--primary-color);box-shadow:0 0 8px #61efff66}.legend-compilable{background:#61efff26;border-color:var(--success-color);box-shadow:0 0 10px #61efff80}.legend-facedown{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:var(--secondary-color)}@media (max-width: 1100px){.demo-board-container{grid-template-columns:1fr;gap:1.5rem}.demo-board-annotations{flex-direction:row;flex-wrap:wrap}.demo-annotation{flex:1;min-width:250px}}@media (max-width: 700px){.demo-lanes{gap:.5rem}.demo-lane{width:95px;min-height:220px}.demo-lane-stack .card-component{width:75px;height:105px;top:calc(6px + var(--i) * 48px)}.demo-board-annotations{flex-direction:column}.demo-annotation{min-width:auto}.field-legend{flex-direction:column;gap:.75rem}}
