:root{--font-body: "Visby Round", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-heading: "Visby Round", sans-serif;--color-primary: #5E3AFF;--color-primary-strong: #6A4DFF;--color-blue-contrast: #6EC1FF;--color-accent-rose: #FF6EA8;--color-accent-teal: #3DE1C6;--color-dark-1: #111318;--color-dark-2: #151728;--color-dark-3: #1A132B;--color-light-1: #F5F6FF;--color-light-2: #E9EDFF;--color-light-3: #DCE8FF;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-orange: #FF9800;--color-gold: #FFD700;--color-danger: #EF4444;--color-trophy: #FFD700;--color-achievement: #FFD700;--color-warn: #F59E0B;--color-close: #EF4444;--color-delete: #DC2626;--color-logout: #EF4444;--text-strong: #0E0F12;--text: #1B1C21;--text-muted: #5A5D66;--text-inv: #FFFFFF;--text-inv-muted: #C7C9D3;--color-bg-primary: rgba(255, 255, 255, .75);--color-bg-secondary: rgba(249, 250, 255, .85);--color-bg-tertiary: rgba(245, 246, 255, .9);--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .12);--gradient-bg-light: linear-gradient(135deg, var(--color-light-1), var(--color-light-2), var(--color-light-3));--gradient-bg-dark: linear-gradient(135deg, var(--color-dark-1), var(--color-dark-2), var(--color-dark-3));--gradient-primary: linear-gradient(180deg, var(--color-primary-strong), var(--color-primary));--gradient-secondary-light: linear-gradient(180deg, var(--color-blue-contrast), rgba(var(--color-blue-contrast-rgb), .8));--gradient-secondary-dark: linear-gradient(180deg, rgba(var(--color-dark-2-rgb, 42, 55, 82), 1), rgba(var(--color-dark-3-rgb, 32, 50, 71), 1));--gradient-accent-yellow: linear-gradient(135deg, #FFD700, #FFA500);--gradient-trophy: linear-gradient(135deg, #FFD700, #FFA500);--gradient-danger: linear-gradient(135deg, #EF4444, #DC2626);--neon-glow-primary: 0 0 8px rgba(94, 58, 255, .3), 0 0 16px rgba(94, 58, 255, .2);--neon-glow-success: 0 0 8px rgba(16, 185, 129, .3), 0 0 16px rgba(16, 185, 129, .2);--neon-glow-error: 0 0 8px rgba(239, 68, 68, .3), 0 0 16px rgba(239, 68, 68, .2);--neon-glow-warning: 0 0 8px rgba(245, 158, 11, .3), 0 0 16px rgba(245, 158, 11, .2);--neon-glow-gold: 0 0 8px rgba(255, 215, 0, .4), 0 0 16px rgba(255, 215, 0, .3);--neon-glow-teal: 0 0 8px rgba(61, 225, 198, .3), 0 0 16px rgba(61, 225, 198, .2);--neon-glow-rose: 0 0 8px rgba(255, 110, 168, .3), 0 0 16px rgba(255, 110, 168, .2);--radius-card: 16px;--radius-btn: 12px;--radius-input: 10px;--radius-sm: 8px;--radius-lg: 20px;--radius-xl: 24px;--gap-1: 8px;--gap-2: 12px;--gap-3: 16px;--gap-4: 24px;--gap-5: 32px;--shadow-light: 0 8px 30px rgba(30, 46, 80, .12);--shadow-dark: 0 8px 30px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.15);--shadow-xl: 0 16px 50px rgba(0,0,0,.2);--color-primary-rgb: 94, 58, 255;--color-primary-strong-rgb: 106, 77, 255;--color-blue-contrast-rgb: 110, 193, 255;--color-accent-rose-rgb: 255, 110, 168;--color-accent-teal-rgb: 61, 225, 198;--color-orange-rgb: 255, 152, 0;--color-gold-rgb: 255, 215, 0;--color-success-rgb: 16, 185, 129;--color-warning-rgb: 245, 158, 11;--color-error-rgb: 239, 68, 68;--color-danger-rgb: 239, 68, 68;--color-info-rgb: 59, 130, 246;--color-white-rgb: 255, 255, 255;--color-black-rgb: 0, 0, 0;--color-white: #FFFFFF;--color-black: #000000;--color-near-black: #0F0B16;--color-near-white: #FBFAFE}html[data-theme=light]{background:var(--gradient-bg-light);color:var(--text)}html[data-theme=dark]{background:var(--gradient-bg-dark);color:var(--text-inv);--text-strong: #F9FAFF;--text: #E6EBFF;--text-muted: rgba(229, 233, 255, .68);--text-inv: #FFFFFF;--text-inv-muted: rgba(231, 233, 255, .6);--color-bg-primary: rgba(20, 22, 32, .72);--color-bg-secondary: rgba(24, 28, 36, .65);--color-bg-tertiary: rgba(26, 30, 40, .8);--color-border: rgba(255, 255, 255, .12);--color-border-strong: rgba(255, 255, 255, .18);--color-success: #10B981;--color-warning: #FBBF24;--color-error: #F87171;--color-info: #60A5FA;--color-danger: #F87171;--color-trophy: #FFD700;--color-achievement: #FFD700;--color-warn: #FBBF24;--color-close: #F87171;--color-delete: #EF4444;--color-logout: #F87171;--neon-glow-primary: 0 0 12px rgba(94, 58, 255, .4), 0 0 24px rgba(94, 58, 255, .3);--neon-glow-success: 0 0 12px rgba(16, 185, 129, .4), 0 0 24px rgba(16, 185, 129, .3);--neon-glow-error: 0 0 12px rgba(239, 68, 68, .4), 0 0 24px rgba(239, 68, 68, .3);--neon-glow-warning: 0 0 12px rgba(245, 158, 11, .4), 0 0 24px rgba(245, 158, 11, .3);--neon-glow-gold: 0 0 12px rgba(255, 215, 0, .5), 0 0 24px rgba(255, 215, 0, .4);--neon-glow-teal: 0 0 12px rgba(61, 225, 198, .4), 0 0 24px rgba(61, 225, 198, .3);--neon-glow-rose: 0 0 12px rgba(255, 110, 168, .4), 0 0 24px rgba(255, 110, 168, .3)}html,body{overflow:auto;-webkit-overflow-scrolling:touch}.float{transform:translateY(0);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}.float:hover{transform:translateY(-4px);filter:brightness(1.03);box-shadow:0 12px 30px #00000038}.card{border-radius:var(--radius-card);padding:var(--gap-4);background:var(--color-bg-primary);box-shadow:var(--shadow-light);border:1px solid var(--color-border);pointer-events:auto;box-sizing:border-box;transition:all .2s ease;color:var(--text);position:relative}html[data-theme=dark] .card{background:#141620f2;box-shadow:var(--shadow-dark);border-color:var(--color-border);color:var(--text)}html[data-theme=light] .card{background:var(--color-bg-primary);color:var(--text)}.card[data-semantic=success],.card.success{border-color:var(--color-success);box-shadow:var(--shadow-light),var(--neon-glow-success)}.card[data-semantic=error],.card.error{border-color:var(--color-error);box-shadow:var(--shadow-light),var(--neon-glow-error)}.card[data-semantic=warning],.card.warning{border-color:var(--color-warning);box-shadow:var(--shadow-light),var(--neon-glow-warning)}.card[data-semantic=info],.card.info{border-color:var(--color-info);box-shadow:var(--shadow-light),var(--neon-glow-teal)}.card[data-semantic=trophy],.card.trophy,.card.achievement{border-color:var(--color-gold);box-shadow:var(--shadow-light),var(--neon-glow-gold)}html[data-theme=dark] .card[data-semantic=success],html[data-theme=dark] .card.success{box-shadow:var(--shadow-dark),var(--neon-glow-success)}html[data-theme=dark] .card[data-semantic=error],html[data-theme=dark] .card.error{box-shadow:var(--shadow-dark),var(--neon-glow-error)}html[data-theme=dark] .card[data-semantic=warning],html[data-theme=dark] .card.warning{box-shadow:var(--shadow-dark),var(--neon-glow-warning)}html[data-theme=dark] .card[data-semantic=info],html[data-theme=dark] .card.info{box-shadow:var(--shadow-dark),var(--neon-glow-teal)}html[data-theme=dark] .card[data-semantic=trophy],html[data-theme=dark] .card.trophy,html[data-theme=dark] .card.achievement{box-shadow:var(--shadow-dark),var(--neon-glow-gold)}.card.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.card.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}html[data-theme=dark] .card.hover-lift:hover{box-shadow:var(--shadow-dark),0 0 20px rgba(var(--color-primary-rgb),.15);border-color:rgba(var(--color-primary-rgb),.3)}.card[style*=gradient-primary],.card[style*=--gradient-primary]{color:var(--text-inv)}html[data-theme=dark] .card[style*=gradient-primary],html[data-theme=dark] .card[style*=--gradient-primary]{color:var(--text-inv);box-shadow:var(--shadow-dark),0 0 20px rgba(var(--color-primary-rgb),.3)}@media (max-width: 768px){.card{padding:var(--gap-3);border-radius:var(--radius-btn)}}.input{font-family:var(--font-body);border-radius:var(--radius-input);border:1px solid var(--color-border);padding:12px 16px;background:var(--color-bg-secondary);min-height:48px;font-size:16px;width:100%;box-sizing:border-box;cursor:text;pointer-events:auto;touch-action:manipulation;-webkit-appearance:none;transition:all .2s;position:relative;z-index:1;color:var(--text)}html[data-theme=dark] .input{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--text-inv)}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #5e3aff40,var(--neon-glow-primary)}.input:focus-visible{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #5e3aff4d,var(--neon-glow-primary)}html[data-theme=dark] .input:focus-visible{outline-color:var(--color-blue-contrast);box-shadow:0 0 0 4px #6ec1ff66,var(--neon-glow-primary)}.btn{font-family:var(--font-body);border-radius:var(--radius-btn);padding:12px 20px;font-weight:600;cursor:pointer;border:none;transition:all .2s cubic-bezier(.4,0,.2,1);transform:translateY(0) scale(1);box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(94,58,255,.3);user-select:none;-webkit-user-select:none}.btn-primary{background:var(--gradient-primary);color:var(--text-inv);box-shadow:0 4px 12px #5e3aff4d}.btn-secondary{background:var(--gradient-secondary-light);color:#0e1a28;box-shadow:0 2px 8px #6ec1ff33}html[data-theme=dark] .btn-secondary{background:var(--gradient-secondary-dark);color:var(--text-inv)}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:inherit;box-shadow:none}.btn-danger,.btn-error,.btn-logout{background:var(--gradient-danger);color:var(--text-inv);box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled),.btn-error:hover:not(:disabled),.btn-logout:hover:not(:disabled){box-shadow:0 6px 20px #ef444466,var(--neon-glow-error)}.btn-success{background:linear-gradient(135deg,var(--color-success),#059669);color:var(--text-inv);box-shadow:0 4px 12px #10b9814d}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #10b98166,var(--neon-glow-success)}.btn-warning{background:linear-gradient(135deg,var(--color-warning),#D97706);color:var(--text-inv);box-shadow:0 4px 12px #f59e0b4d}.btn-warning:hover:not(:disabled){box-shadow:0 6px 20px #f59e0b66,var(--neon-glow-warning)}.btn-trophy,.btn-achievement{background:var(--gradient-trophy);color:var(--text-strong);box-shadow:0 4px 12px #ffd7004d}.btn-trophy:hover:not(:disabled),.btn-achievement:hover:not(:disabled){box-shadow:0 6px 20px #ffd70066,var(--neon-glow-gold)}.btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #00000040;filter:brightness(1.08)}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #5e3aff4d,0 6px 20px #00000040}html[data-theme=dark] .btn:focus-visible{outline-color:var(--color-blue-contrast);box-shadow:0 0 0 6px #6ec1ff66,0 6px 20px #00000040}.btn-primary:focus-visible{outline-color:var(--text-inv);box-shadow:0 0 0 6px #ffffff4d,0 6px 20px #5e3aff66}.btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 4px #0003;transition:all .1s cubic-bezier(.4,0,.2,1)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-circle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0003;transform:scale(1);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(94,58,255,.3);user-select:none;-webkit-user-select:none;flex-shrink:0}html[data-theme=dark] .btn-circle{box-shadow:0 4px 16px #0006}.btn-gradient-blue{background:linear-gradient(135deg,#4285f4,#34a853)}.btn-gradient-purple{background:linear-gradient(135deg,#9c27b0,#673ab7)}.btn-gradient-pink{background:linear-gradient(135deg,#e91e63,#f06292)}.btn-gradient-orange{background:linear-gradient(135deg,#ff9800,#ff5722)}.btn-gradient-primary{background:linear-gradient(135deg,#4285f4,#9c27b0)}.btn-circle:hover:not(:disabled){transform:scale(1.12);box-shadow:0 6px 20px #00000059;filter:brightness(1.1)}.btn-circle:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #5e3aff4d,0 6px 20px #00000059}html[data-theme=dark] .btn-circle:focus-visible{outline-color:var(--color-blue-contrast);box-shadow:0 0 0 6px #6ec1ff66,0 6px 20px #00000059}.btn-circle:active:not(:disabled){transform:scale(.96);box-shadow:0 2px 8px #00000040;transition:all .1s ease}.btn-circle:disabled{opacity:.5;cursor:not-allowed}.neon-text-primary{text-shadow:var(--neon-glow-primary);color:var(--color-primary)}.neon-text-success{text-shadow:var(--neon-glow-success);color:var(--color-success)}.neon-text-error{text-shadow:var(--neon-glow-error);color:var(--color-error)}.neon-text-warning{text-shadow:var(--neon-glow-warning);color:var(--color-warning)}.neon-text-gold{text-shadow:var(--neon-glow-gold);color:var(--color-gold)}.neon-text-teal{text-shadow:var(--neon-glow-teal);color:var(--color-accent-teal)}.neon-text-rose{text-shadow:var(--neon-glow-rose);color:var(--color-accent-rose)}.neon-icon-primary{filter:drop-shadow(var(--neon-glow-primary))}.neon-icon-success{filter:drop-shadow(var(--neon-glow-success))}.neon-icon-error{filter:drop-shadow(var(--neon-glow-error))}.neon-icon-warning{filter:drop-shadow(var(--neon-glow-warning))}.neon-icon-gold{filter:drop-shadow(var(--neon-glow-gold))}.neon-icon-teal{filter:drop-shadow(var(--neon-glow-teal))}.neon-icon-rose{filter:drop-shadow(var(--neon-glow-rose))}.layout{display:grid;grid-template-columns:84px 1fr 360px;grid-template-rows:100vh}.sidebar-left,.sidebar-right{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar-left{background:#14141e59;border-right:1px solid var(--color-border);display:flex;flex-direction:column;justify-content:space-between;padding:var(--gap-2);font-family:var(--font-heading)}html[data-theme=dark] .sidebar-left{background:#14141e80;border-right-color:var(--color-border)}.sidebar-right{background:#14141e40;border-left:1px solid var(--color-border);padding:var(--gap-3);overflow-y:auto;scrollbar-width:none}html[data-theme=dark] .sidebar-right{background:#14141e66;border-left-color:var(--color-border)}.sidebar-right::-webkit-scrollbar{display:none}.content{overflow-y:auto;padding:var(--gap-4);scrollbar-width:none}.content::-webkit-scrollbar{display:none}@media (max-width: 768px){.layout{grid-template-columns:0 1fr 0}.sidebar-left,.sidebar-right{position:fixed;top:0;bottom:0;width:100vw;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.sidebar-left.open,.sidebar-right.open{transform:translate(0)}}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyThin.woff) format("woff");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyThin%20Italic.woff) format("woff");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyLight.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyLight%20Italic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyRegular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyItalic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyMedium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyMedium%20Italic.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbySemibold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbySemibold%20Italic.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyBold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyBold%20Italic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyExtrabold.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyExtrabold%20Italic.woff) format("woff");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyHeavy.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Visby Round;src:url(/fonts/visby/VisbyHeavy%20Italic.woff) format("woff");font-weight:900;font-style:italic;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--font-primary: "Visby Round", "Nunito", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--bg-primary: #fafbfc;--bg-secondary: #f0f4f8;--bg-tertiary: #e8edf5;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-tertiary: #718096;--border-color: #d1d9e0;--shadow-color: rgba(0, 0, 0, .08);--primary-color: #4285f4;--primary-hover: #3367d6;--secondary-color: #9c27b0;--accent-color: #00bcd4;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #dc3545;--gradient-primary: linear-gradient(135deg, #4285f4 0%, #9c27b0 50%, #00bcd4 100%);--gradient-primary-simple: linear-gradient(135deg, #4285f4 0%, #9c27b0 100%);--gradient-accent: linear-gradient(135deg, #00bcd4 0%, #4285f4 100%);--gradient-glow-blue: 0 0 20px rgba(66, 133, 244, .4), 0 0 40px rgba(156, 39, 176, .3);--gradient-glow-blue-strong: 0 0 30px rgba(66, 133, 244, .6), 0 0 60px rgba(156, 39, 176, .5);--neon-blue: rgba(66, 133, 244, .6);--neon-purple: rgba(156, 39, 176, .6);--neon-cyan: rgba(0, 188, 212, .6);--neon-glow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue), 0 0 30px var(--neon-blue);--neon-glow-purple: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple), 0 0 30px var(--neon-purple);--glass-bg: rgba(255, 255, 255, .1);--glass-border: 1px solid rgba(255, 255, 255, .2);--glass-blur: blur(10px);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1);--transition-base: all .3s ease;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #1e1e2e;--bg-secondary: #252538;--bg-tertiary: #2d2d42;--text-primary: #f5f5f5;--text-secondary: #b8b8c8;--text-tertiary: #9c9caf;--border-color: #3a3a4d;--shadow-color: rgba(0, 0, 0, .5);--primary-color: #5a9af5;--primary-hover: #4285f4;--shadow-color: rgba(0, 0, 0, .7)}body{font-family:var(--font-primary);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}h1{font-weight:800;font-size:2.25rem;line-height:1.2}h2{font-weight:700;font-size:1.875rem;line-height:1.25}h3{font-weight:600;font-size:1.5rem;line-height:1.3}h4{font-weight:600;font-size:1.25rem;line-height:1.35}h5{font-weight:500;font-size:1.125rem;line-height:1.4}h6{font-weight:500;font-size:1rem;line-height:1.45}p{font-weight:400;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);padding-top:60px;padding-bottom:100px}.app>*:not(.app-footer):not(.main-navbar){flex:1}.container{max-width:1200px;margin:0 auto;padding:0 1rem;color:var(--text-primary)}.btn{padding:.875rem 1.75rem;border-radius:24px;text-decoration:none;font-weight:700;font-family:Visby Round,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-size:1rem;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000026}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.btn:hover:not(:disabled):before{left:100%}.btn-primary{background:var(--gradient-primary-simple);color:#fff;box-shadow:var(--gradient-glow-blue);animation:buttonNeonGlow 3s ease-in-out infinite}.btn-primary:hover:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:var(--gradient-glow-blue-strong);filter:brightness(1.1)}@keyframes buttonNeonGlow{0%,to{box-shadow:0 4px 20px #4285f466,0 0 30px #9c27b04d}50%{box-shadow:0 4px 25px #4285f499,0 0 40px #9c27b080}}.btn-secondary{background:linear-gradient(135deg,#9c27b0,#4285f4);color:#fff;box-shadow:0 4px 16px #9c27b059}.btn-secondary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #9c27b080;filter:brightness(1.1)}.btn-soft{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);box-shadow:0 2px 8px #00000014}.btn-soft:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.btn-ghost{background:transparent;color:var(--text-primary);border:2px solid transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 2px 8px #00000014}.btn:active:not(:disabled){transform:translateY(-1px) scale(.98);box-shadow:0 2px 8px #4285f44d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}.card{background:linear-gradient(135deg,#4285f40d,#9c27b00d,#00bcd40d);border-radius:24px;padding:2rem;box-shadow:0 8px 32px #00000014,0 0 20px #4285f41a;margin-bottom:2rem;border:2px solid transparent;background-image:linear-gradient(var(--bg-primary),var(--bg-primary)) padding-box,linear-gradient(135deg,#4285f433,#9c27b033) border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-smooth);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(66,133,244,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease}.card:hover:before{opacity:1}.card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 40px #4285f44d,0 0 40px #9c27b033,inset 0 0 30px #4285f41a;background-image:linear-gradient(var(--bg-primary),var(--bg-primary)) padding-box,linear-gradient(135deg,#4285f466,#9c27b066) border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .5s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}@media (max-width: 768px){.container{padding:0 .5rem}.btn{padding:.5rem 1rem;font-size:.9rem}.card{padding:1rem}}a:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}html[data-theme=dark] a:focus-visible{outline-color:var(--color-blue-contrast)}.card[role=button]:focus-visible,.card[onclick]:focus-visible,.card[tabindex="0"]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #5e3aff33,var(--shadow-lg)}html[data-theme=dark] .card[role=button]:focus-visible,html[data-theme=dark] .card[onclick]:focus-visible,html[data-theme=dark] .card[tabindex="0"]:focus-visible{outline-color:var(--color-blue-contrast);box-shadow:0 0 0 6px #6ec1ff4d,var(--shadow-dark)}select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #5e3aff4d}html[data-theme=dark] select:focus-visible,html[data-theme=dark] textarea:focus-visible{outline-color:var(--color-blue-contrast);box-shadow:0 0 0 4px #6ec1ff66}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--text-inv);padding:8px 16px;text-decoration:none;border-radius:0 0 var(--radius-sm) 0;z-index:10000;font-weight:600}.skip-link:focus{top:0;outline:3px solid var(--text-inv);outline-offset:2px}.text-muted{color:var(--text-muted)}html[data-theme=light] .text-muted{color:#5a5d66}html[data-theme=dark] .text-muted{color:#e5e9ffbf}.text-large{font-size:18px}html[data-theme=light] .text-large{color:#4a4d56}html[data-theme=dark] .text-large{color:#e5e9ffd9}.btn,.btn-circle,a[role=button],button{min-height:44px;min-width:44px}@media (max-width: 768px){.btn,.btn-circle,a[role=button],button{min-height:48px;min-width:48px;padding:12px 16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn,.input,.card{transition:opacity .1s,transform .1s!important}}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.card,.input{border:2px solid var(--color-border-strong)}.text-muted{opacity:1;color:var(--text)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}[aria-hidden=true]{display:none}[aria-expanded=true]:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:4px;height:80%;background:var(--color-primary);border-radius:0 2px 2px 0}[aria-current=page]{font-weight:var(--font-weight-bold);color:var(--color-primary)}.js-focus-visible :focus:not(.focus-visible){outline:none}[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;z-index:1}[role=banner]{position:relative;z-index:100}[role=navigation]{position:relative}[role=main]{position:relative;min-height:calc(100vh - 200px)}[role=complementary]{position:relative}[role=contentinfo]{position:relative;margin-top:auto}label{display:block;margin-bottom:var(--gap-1);font-weight:var(--font-weight-semibold);color:var(--text);font-size:var(--font-size-sm)}label.required:after{content:" *";color:var(--color-error);font-weight:var(--font-weight-bold)}.error-message{display:block;margin-top:var(--gap-1);color:var(--color-error);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.error-message[role=alert]{animation:shake .3s ease-in-out}.input[aria-invalid=true]{border-color:var(--color-error);box-shadow:0 0 0 3px #ef444433}.input[aria-invalid=true]:focus-visible{outline-color:var(--color-error);box-shadow:0 0 0 4px #ef44444d}[aria-busy=true]{position:relative;pointer-events:none}[aria-busy=true]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid var(--color-primary);border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}[role=dialog]{position:fixed;z-index:1000}[role=dialog]:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:-1}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}:root{--breakpoint-xs: 375px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}*{-webkit-tap-highlight-color:rgba(94,58,255,.3);-webkit-touch-callout:none}html{-webkit-text-size-adjust:100%}body{overflow-x:hidden;scroll-behavior:smooth}.btn,.btn-circle,.input,button,a,select{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-user-select:none;user-select:none}textarea{min-height:44px;min-width:44px;touch-action:manipulation;user-select:text;-webkit-user-select:text}.input,input,textarea{user-select:text;-webkit-user-select:text}@media (max-width: 768px){h1{font-size:clamp(24px,6vw,32px)!important;line-height:1.2!important}h2{font-size:clamp(20px,5vw,28px)!important;line-height:1.3!important}h3{font-size:clamp(18px,4vw,24px)!important;line-height:1.4!important}h4{font-size:clamp(16px,3.5vw,20px)!important;line-height:1.4!important}h5{font-size:clamp(14px,3vw,18px)!important;line-height:1.5!important}h6{font-size:clamp(13px,2.5vw,16px)!important;line-height:1.5!important}p,div,body{font-size:clamp(14px,2vw,16px);line-height:1.6}.card{padding:16px!important;border-radius:12px!important}.btn{padding:14px 20px!important;font-size:15px!important;min-height:48px!important}.btn-circle{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}.input,input,textarea,select{padding:14px 16px!important;font-size:16px!important;min-height:48px!important}.grid-responsive{grid-template-columns:1fr!important}.gap-responsive{gap:12px!important}.sidebar-left,.sidebar-right{width:100vw!important;max-width:100vw!important}header{padding:12px 16px!important}main>div{padding:16px!important}.modal,.panel{width:100vw!important;height:100vh!important;max-width:100vw!important;border-radius:0!important}.text-sm-mobile{font-size:14px!important}.hide-mobile{display:none!important}.show-mobile{display:block!important}}@media (min-width: 768px) and (max-width: 1024px){.grid-responsive{grid-template-columns:repeat(2,1fr)!important}.sidebar-left.open{width:300px!important}.sidebar-right.open{width:340px!important}.card{padding:20px!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}.show-desktop{display:block!important}}@media (max-width: 768px) and (orientation: landscape){.vh-100{height:auto!important;min-height:100vh!important}header{padding:8px 12px!important}.logo-responsive{width:200px!important;height:200px!important}}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.sidebar-left,.sidebar-right{padding-top:max(env(safe-area-inset-top),16px)}}@media (hover: none) and (pointer: coarse){.btn,.btn-circle,a{min-width:48px;min-height:48px}.hover-lift:hover{transform:none!important}.btn:active{transform:scale(.95)!important;transition:transform .05s!important}}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.card{border:1px solid rgba(255,255,255,.3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.sidebar-left,.sidebar-right,header,.btn,.float,.notification-panel{display:none!important}.card{break-inside:avoid;page-break-inside:avoid}body{background:#fff!important;color:#000!important}}.flex-wrap-mobile{flex-wrap:nowrap}@media (max-width: 768px){.flex-wrap-mobile{flex-wrap:wrap}}.stack-mobile{display:flex}@media (max-width: 768px){.stack-mobile{flex-direction:column}}.full-width-mobile{width:auto}@media (max-width: 768px){.full-width-mobile{width:100%}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.magnetic-hover{transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.tilt-card{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.4,0,.2,1)}.tilt-card:hover{transform:perspective(1000px) rotateX(2deg) rotateY(2deg) translateZ(10px)}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #5e3aff66}50%{box-shadow:0 0 40px #5e3affcc}}.glow-primary{animation:glow-pulse 2s ease-in-out infinite}.glow-on-hover:hover{box-shadow:0 0 30px currentColor;transition:box-shadow .3s ease}.parallax-slow{transform:translateY(calc(var(--scroll-y, 0) * -.1px));transition:transform .1s ease-out}.parallax-medium{transform:translateY(calc(var(--scroll-y, 0) * -.2px));transition:transform .1s ease-out}.parallax-fast{transform:translateY(calc(var(--scroll-y, 0) * -.3px));transition:transform .1s ease-out}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.stagger-container>*{animation:fade-in-up .5s ease backwards}.stagger-container>*:nth-child(1){animation-delay:.05s}.stagger-container>*:nth-child(2){animation-delay:.1s}.stagger-container>*:nth-child(3){animation-delay:.15s}.stagger-container>*:nth-child(4){animation-delay:.2s}.stagger-container>*:nth-child(5){animation-delay:.25s}.stagger-container>*:nth-child(6){animation-delay:.3s}.stagger-container>*:nth-child(7){animation-delay:.35s}.stagger-container>*:nth-child(8){animation-delay:.4s}@keyframes badge-pop{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg);opacity:1}}.badge-unlock{animation:badge-pop .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-indeterminate:before{content:"";position:absolute;top:0;left:0;width:25%;height:100%;background:var(--gradient-primary);animation:progress-indeterminate 1.5s cubic-bezier(.4,0,.6,1) infinite}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}@keyframes number-roll{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.number-counter{animation:number-roll .6s cubic-bezier(.68,-.55,.265,1.55)}.scroll-snap-container{scroll-snap-type:y mandatory;scroll-behavior:smooth;overflow-y:scroll}.scroll-snap-item{scroll-snap-align:start;scroll-snap-stop:always}.glass{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}html[data-theme=light] .glass{background:#ffffffb3;border:1px solid rgba(0,0,0,.1)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:currentColor}}.typewriter{overflow:hidden;border-right:2px solid currentColor;white-space:nowrap;animation:typing 3s steps(40) 1s 1 normal both,blink-caret .75s step-end infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.input:focus{outline:none}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@keyframes checkmark-draw{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}.checkmark-animation{stroke-dasharray:50;animation:checkmark-draw .6s ease-in-out forwards}
