/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.left-full{left:100%}.z-8{z-index:8}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[calc\(100vh-160px\)\]{min-height:calc(100vh - 160px)}.w-full{width:100%}.flex-1{flex:1}.flex-none{flex:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.text-center{text-align:center}.text-left{text-align:left}.text-\[10px\]{font-size:10px}.whitespace-nowrap{white-space:nowrap}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:root{--color-bg-dark:#0b1019;--color-bg-darker:#05080d;--color-panel-glass:#101721d9;--color-panel-border:#00f0ff1a;--color-neon-primary:#00f0ff;--color-neon-secondary:#00ff9d;--color-neon-accent:#f05;--color-text-primary:#fff;--color-text-secondary:#94a3b8;--color-text-dim:#64748b;--shadow-neon:0 0 10px #00f0ff80;--shadow-panel:0 4px 6px -1px #00000080,0 2px 4px -1px #0000000f;color:var(--color-text-primary);background-color:var(--color-bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}body{color:#e2e8f0;background-color:#0a0e17;background-image:radial-gradient(circle at 50% 0,#1a2333,#0000 60%),linear-gradient(#00ff9d08 1px,#0000 1px),linear-gradient(90deg,#00ff9d08 1px,#0000 1px);background-size:100% 100%,40px 40px,40px 40px;min-width:320px;min-height:100vh;margin:0;font-family:Inter,sans-serif;overflow:hidden}#root{flex-direction:column;width:100%;height:100vh;display:flex}::-webkit-scrollbar-track{background:var(--color-bg-darker)}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f1f1;border-left:1px solid #ddd}::-webkit-scrollbar-thumb{background-color:#3b82f6;background-image:linear-gradient(45deg,#fff3 25%,#0000 25%,#0000 50%,#fff3 50%,#fff3 75%,#0000 75%,#0000);border:3px solid #f1f1f1;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:#2563eb}@supports (height:100dvh){.h-screen{height:100dvh}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.app-header{background:#3a3a3a;color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000004d}.header-left h1{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:1px}.header-center{flex:1;text-align:center;padding:0 2rem}.exercise-title{font-size:1.1rem;font-weight:600;color:#ffffffe6;font-style:italic}.header-right{display:flex;gap:.5rem;align-items:center}.header-btn{padding:8px 16px;border:none;border-radius:4px;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.header-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.header-btn:active{transform:translateY(0)}.header-btn.share{background:#2196f3}.header-btn.share:hover{background:#1976d2}.header-btn.new{background:#f44336}.header-btn.new:hover{background:#d32f2f}.header-btn.load{background:#ff9800}.header-btn.load:hover{background:#f57c00}.header-btn.save{background:#4caf50}.header-btn.save:hover{background:#388e3c}.goalkeeper-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.goalkeeper-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column}.goalkeeper-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.goalkeeper-modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#e0e0e0;color:#333}.goalkeeper-modal-body{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.goalkeeper-info{color:#666;margin:0 0 1.5rem;font-size:.95rem}.color-selector{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px}.color-selector span{font-weight:600;color:#333}.color-buttons{display:flex;gap:.5rem}.color-btn{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;padding:0}.color-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.color-btn.active{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.goalkeeper-category{margin-bottom:2.5rem}.goalkeeper-category h3{font-size:1.1rem;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.goalkeeper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.goalkeeper-item{display:flex;flex-direction:column;align-items:center;padding:1rem;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.goalkeeper-item:hover{border-color:#2196f3;box-shadow:0 4px 12px #2196f333;transform:translateY(-2px)}.goalkeeper-item img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;margin-bottom:.5rem}.goalkeeper-label{font-size:.85rem;color:#666;text-align:center;line-height:1.3}.goalkeeper-item:hover .goalkeeper-label{color:#2196f3;font-weight:600}.goalkeeper-modal-body::-webkit-scrollbar{width:8px}.goalkeeper-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.goalkeeper-modal-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.goalkeeper-modal-body::-webkit-scrollbar-thumb:hover{background:#999}.top-asset-bar{background-color:var(--color-panel-glass);border-bottom:1px solid var(--color-panel-border);box-shadow:0 4px 12px #0003;position:relative;z-index:90;padding:0;color:var(--color-text-primary);display:flex;flex-direction:column;height:120px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.category-overview{display:flex;gap:16px;padding:12px 24px;height:100%;align-items:center;overflow-x:auto}.category-card{display:flex;flex-direction:column;min-width:90px;width:90px;height:90px;background:#ffffff08;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.05);border-bottom-width:3px;transition:all .2s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.category-card:hover{transform:translateY(-4px);background:#ffffff14;box-shadow:0 8px 16px #0000004d}.category-card-thumb{flex:1;overflow:hidden;background:#0003;display:flex;align-items:center;justify-content:center;padding:8px}.category-card-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.category-card-label{padding:6px 4px;font-size:10px;color:#fff;text-align:center;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.5px}.category-detail-view{display:flex;width:100%;height:100%;align-items:center;padding:0 24px}.back-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-secondary);padding:0 1.5rem;margin-right:1.5rem;border-radius:8px;cursor:pointer;font-weight:700;height:70px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:12px;text-transform:uppercase;letter-spacing:1px}.back-button:hover{background:#ffffff1a;border-color:var(--color-text-primary);color:var(--color-text-primary)}.assets-container{flex:1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;display:flex;align-items:center;height:100%}.assets-scroll{display:flex;gap:12px;padding:12px 0;align-items:center;overflow-x:auto;flex:1;height:100%}.assets-scroll::-webkit-scrollbar{height:8px}.assets-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.assets-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.assets-scroll::-webkit-scrollbar-track{background:#0003;border-radius:4px}.asset-item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:90px;height:80px;padding:8px;border-radius:8px;border:1px solid transparent;cursor:grab;transition:all .2s;background:#ffffff05}.asset-item:hover{background-color:#ffffff14;border-color:#ffffff1a;transform:translateY(-2px)}.asset-item.dragging{opacity:.5;transform:scale(.9);border-color:var(--color-neon-primary)}.asset-thumb{width:100%;height:48px;-o-object-fit:contain;object-fit:contain;margin-bottom:6px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.asset-name{font-size:10px;font-weight:600;color:var(--color-text-dim);text-align:center;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.asset-item:hover .asset-name{color:var(--color-text-primary)}.selected-field{background-color:#00f0ff1a!important;border-color:var(--color-neon-primary)!important;box-shadow:0 0 10px #00f0ff33}.category-overview::-webkit-scrollbar,.assets-container::-webkit-scrollbar{height:4px}.category-overview::-webkit-scrollbar-thumb,.assets-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.category-overview::-webkit-scrollbar-track,.assets-container::-webkit-scrollbar-track{background:#0000001a}.toolbar{background-color:#fff;width:56px;height:100%;display:flex;flex-direction:column;gap:2px;padding:8px 6px;border-right:1px solid #e5e7eb;box-shadow:1px 0 3px #0000000d;z-index:50;overflow-y:auto}.toolbar-btn{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:#6b7280;font-size:16px;flex-shrink:0}.toolbar-btn:hover{background-color:#f9fafb;border-color:#2563eb;color:#2563eb}.toolbar-btn.active{background-color:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 1px 3px #2563eb4d}.toolbar-btn.disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.disabled:hover{background-color:#fff;border-color:#e5e7eb;color:#6b7280}.tool-icon{font-size:16px}.tool-emoji{font-size:18px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar-btn.active .tool-emoji{filter:brightness(1.2)}.toolbar::-webkit-scrollbar{width:4px}.toolbar::-webkit-scrollbar-track{background:transparent}.toolbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.toolbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.context-bubble{position:fixed;padding:8px 12px;background:#101721f2;border:1px solid rgba(0,240,255,.2);border-radius:50px;box-shadow:0 4px 15px #00000080,0 0 10px #00f0ff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;transform:translate(-50%,-100%);box-shadow:0 4px 20px #00000080;display:flex;align-items:center;gap:8px;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275);touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-top:-15px}.context-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(16,23,33,.95)}.context-btn{width:36px;height:36px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:16px}.context-btn:hover{background:#fff3;transform:scale(1.1)}.context-btn:active{transform:scale(.95)}.context-btn.rotate{color:#00f0ff}.context-btn.delete{color:#f05;background:#ff005526}.context-btn.delete:hover{background:#ff00554d}.context-btn.color{padding:3px}.color-preview{width:100%;height:100%;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.context-divider{width:1px;height:24px;background:#ffffff1a;margin:0 4px}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%,-90%) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.context-color-menu{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:12px;background-color:#101721f2;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:8px;display:flex;gap:8px;box-shadow:0 4px 15px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;white-space:nowrap;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275)}.context-color-menu:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:rgba(16,23,33,.95) transparent transparent transparent}.color-option-btn{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.8);cursor:pointer;transition:transform .2s,border-color .2s;padding:0}.color-option-btn:hover{transform:scale(1.2);border-color:#fff}.field-canvas-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:0;position:relative;min-height:100%;overflow:hidden}.field-canvas-container canvas{position:absolute}.field-canvas-container.drag-over{background-color:#2196f30d;border:2px dashed #2196f3;border-radius:8px}.text-box-container{position:absolute;bottom:1rem;left:1rem;z-index:10}.text-box-input{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:.9rem;color:#333;min-width:200px;box-shadow:0 2px 4px #0000001a}.text-box-input::-moz-placeholder{color:#999;font-style:italic}.text-box-input::placeholder{color:#999;font-style:italic}.text-box-input:focus{outline:none;border-color:#2196f3;box-shadow:0 2px 8px #2196f333}
