.dashboard-page{min-height:100vh;background:linear-gradient(135deg,#0f1419,#1a1f2e,#0f1419);color:#fff}.dashboard-header{background:#1a1f2ecc;border-bottom:1px solid rgba(255,255,255,.1);padding:1rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-image{height:60px;width:auto}.logo-text{font-size:1rem;font-weight:600;color:#fff;letter-spacing:.5px}.header-actions{display:flex;align-items:center;gap:1.5rem}.user-info{font-size:.875rem;color:#ffffffb3}.tier-badge{display:inline-block;padding:.25rem .5rem;background:#3b82f633;border:1px solid rgba(59,130,246,.5);border-radius:4px;font-size:.75rem;text-transform:capitalize;color:#60a5fa;margin-left:.5rem}.btn-outline{padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-outline:hover{background:#ffffff1a;border-color:#ffffff4d}.dashboard-main{padding:3rem 0}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.page-title{margin-bottom:2rem}.page-title h2{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;color:#fff}.page-title p{font-size:1rem;color:#fff9;margin:0}.filters-bar{display:flex;gap:1rem;margin-bottom:2.5rem;align-items:center}.search-box{position:relative;flex:0 0 40%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#fff6;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.875rem;transition:all .2s}.search-input::placeholder{color:#fff6}.search-input:focus{outline:none;background:#ffffff14;border-color:#3b82f680}.filter-select{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.875rem;flex:1;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;background:#ffffff14;border-color:#3b82f680}.filter-select option{background:#1a1f2e;color:#fff}.tutorials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.tutorial-card{position:relative;border-radius:12px;padding:0;text-decoration:none;color:#fff;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #0003}.tutorial-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000004d}.gradient-green{background:linear-gradient(135deg,#4ade80,#22c55e)}.gradient-purple{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.gradient-blue{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.gradient-orange{background:linear-gradient(135deg,#fb923c,#f97316)}.gradient-pink{background:linear-gradient(135deg,#f472b6,#ec4899)}.gradient-red{background:linear-gradient(135deg,#f87171,#ef4444)}.gradient-teal{background:linear-gradient(135deg,#5eead4,#14b8a6)}.card-header{padding:2rem 2rem 3rem;position:relative}.play-icon{width:56px;height:56px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s;margin:0 auto}.tutorial-card:hover .play-icon{background:#ffffff59;transform:scale(1.05)}.card-content{background:#1f2937;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.75rem;flex-wrap:wrap}.last-modified{font-size:.75rem;color:#ffffff80;font-weight:400}.category-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:12px;font-size:.75rem;font-weight:500;color:#4ade80}.card-title{font-size:1.25rem;font-weight:700;margin:0;line-height:1.4;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.card-description{font-size:.9375rem;line-height:1.6;color:#ffffffb3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400}.card-footer{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.btn-play{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-play:hover{background:#1d4ed8}.duration{font-size:.875rem;color:#ffffffe6;font-weight:500}.progress-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0003;border-radius:0 0 16px 16px;overflow:hidden}.progress-fill{height:100%;background:#fff6;transition:width .3s}.loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem}.empty-state p{font-size:1.125rem;color:#fff9}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:space-between}.page-title h2{font-size:2rem}.filters-bar{flex-wrap:wrap}.search-box{flex:0 0 100%}.filter-select{flex:1;min-width:140px}.tutorials-grid{grid-template-columns:1fr}}@media (max-width: 480px){.filters-bar{flex-direction:column}.search-box,.filter-select{width:100%}.card-header{padding:1.5rem 1.5rem 2.5rem}.card-title{font-size:1rem}.play-icon{width:48px;height:48px}}.tutorial-player{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:9999;display:flex;flex-direction:column}.player-screen{flex:1;position:relative;background:#0a0a0a;display:flex;align-items:center;justify-content:center;overflow:hidden}.screenshot-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center}.screenshot{max-width:100%;max-height:100%;object-fit:contain}.cursor{position:absolute;pointer-events:none;z-index:1002;transform:translate(-4px,-4px)}.element-highlight{position:absolute;pointer-events:auto;z-index:997;border:3px solid #2563eb;border-radius:6px;background:#2563eb26;animation:pulse 2s infinite;cursor:pointer}.element-highlight:hover{background:#2563eb40;border-color:#1d4ed8}@keyframes pulse{0%,to{box-shadow:0 0 #2563ebb3}50%{box-shadow:0 0 0 10px #2563eb00}}.tooltip{position:absolute;background:linear-gradient(135deg,#5b21b6,#6366f1);border-radius:12px;padding:16px 20px;max-width:280px;box-shadow:0 10px 40px #5b21b666;animation:fadeIn .3s ease;z-index:1001;pointer-events:auto;display:flex;align-items:center;gap:12px}.tooltip:before{content:"";position:absolute;width:0;height:0;border-style:solid;border-width:0 12px 12px 12px;border-color:transparent transparent #5B21B6 transparent;top:-12px;left:50%;transform:translate(-50%)}.player-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:40px 40px 20px;display:flex;align-items:center;gap:24px}.controls-left{flex:1}.tutorial-title{font-size:18px;font-weight:600;color:#fff}.controls-center{display:flex;gap:12px;align-items:center}.controls-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:20px}.control-group{display:flex;align-items:center;gap:12px}.control-label{font-size:13px;color:#fffc;white-space:nowrap}.slider-control{display:flex;align-items:center;gap:8px}.slider-value{font-size:12px;font-weight:600;color:#ffffffe6;min-width:32px;text-align:center}.control-btn{width:48px;height:48px;border-radius:50%;background:transparent;border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.control-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff6}.control-btn:active:not(:disabled){transform:scale(.95)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.play-btn{background:#2563eb;border-color:#2563eb;width:56px;height:56px}.play-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;transform:scale(1.05)}.restart-btn{background:linear-gradient(135deg,#10b981,#059669);border:1px solid rgba(16,185,129,.3);animation:fadeInScale .3s ease-out}.restart-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);border-color:#10b98180;box-shadow:0 4px 12px #10b9814d}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.close-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.close-btn:hover{background:#ef444433;border-color:#ef4444}.volume-slider,input[type=range]{width:100px;height:4px;background:#ffffff26;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:background .2s}.volume-slider:hover,.delay-slider:hover{background:#fff3}.volume-slider::-webkit-slider-thumb,.delay-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#fff,#e0e0e0);cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover,.delay-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #0006}.volume-slider::-moz-range-thumb,.delay-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#fff,#e0e0e0);cursor:pointer;box-shadow:0 2px 6px #0000004d;border:none;transition:all .2s ease}.volume-slider::-moz-range-thumb:hover,.delay-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #0006}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.player-controls{flex-direction:column;gap:16px}.controls-left,.controls-right{width:100%;justify-content:center}.tutorial-title{font-size:16px;text-align:center}}#tutorial-cursor{position:fixed;pointer-events:none;z-index:999999;will-change:transform,opacity;transform-origin:top left}#tutorial-cursor .cursor-icon{display:block;transition:transform .15s ease}.cursor-click-effect{position:absolute;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px;pointer-events:none;border-radius:50%;border:2px solid currentColor;opacity:0}@keyframes click-ripple{0%{transform:scale(.3);opacity:1}50%{opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes click-pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}#tutorial-cursor.clicking .cursor-icon{animation:click-pulse .2s ease}#tutorial-cursor[data-state=clicking] .cursor-icon{transform:scale(.9)}#tutorial-cursor[data-state=hover]{opacity:.9}#tutorial-cursor[data-state=hover] .cursor-icon{transform:scale(1.1)}#tutorial-cursor[data-state=dragging] .cursor-icon{transform:scale(1.05);opacity:.95}#tutorial-cursor[data-state=typing]{opacity:.7}#tutorial-cursor[data-state=typing] .cursor-icon{animation:typing-blink 1s ease-in-out infinite}@keyframes typing-blink{0%,to{opacity:1}50%{opacity:.5}}.cursor-trail-point{position:fixed;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:999998;transition:opacity .5s ease}@keyframes cursor-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#tutorial-cursor{animation:cursor-fade-in .3s ease}#tutorial-cursor{transition:opacity .3s ease}#tutorial-cursor .cursor-icon{transition:transform .15s ease,opacity .15s ease}#tutorial-cursor svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}@keyframes hover-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}#tutorial-cursor[data-state=hover]{animation:hover-float 2s ease-in-out infinite}.cursor-drag-path{position:fixed;pointer-events:none;z-index:999997;stroke:currentColor;stroke-width:2;stroke-dasharray:5,5;opacity:.3;fill:none}@media (prefers-reduced-motion: reduce){#tutorial-cursor,#tutorial-cursor .cursor-icon,.cursor-click-effect,.cursor-trail-point{animation:none!important;transition:opacity .1s ease!important}#tutorial-cursor[data-state=hover]{animation:none}}@media (prefers-contrast: high){#tutorial-cursor svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.8))}.cursor-click-effect{border-width:3px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--bg-main: #000;--bg-secondary: #0a0a0a;--bg-card: #1a1f2e;--text-primary: #fff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .6);--border: rgba(255, 255, 255, .2);--success: #10b981;--error: #ef4444;--warning: #f59e0b}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-main);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:#ffffff1a}.card{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border)}input,textarea,select{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary)}label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.error{color:var(--error);font-size:13px;margin-top:4px}.success{color:var(--success);font-size:13px;margin-top:4px}.spinner{border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.container{padding:0 16px}.btn{padding:10px 20px;font-size:13px}}
