.mobile-tutorial{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:opacity .3s ease,transform .3s ease}.mobile-tutorial.animating{pointer-events:none}.tutorial-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.tutorial-content{position:relative;background:#fff;border-radius:16px;padding:24px;margin:20px;max-width:400px;width:calc(100% - 40px);box-shadow:0 20px 40px #0000004d;transform:translateY(0);transition:transform .3s ease;max-height:90vh;overflow-y:auto}.tutorial-content.position-center{transform:translateY(0)}.tutorial-content.position-bottom{transform:translateY(60px)}.tutorial-content.position-top{transform:translateY(-60px)}.animating .tutorial-content{transform:scale(.95)}.tutorial-progress{display:flex;align-items:center;gap:12px;margin-bottom:20px}.progress-bar{flex:1;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#007aff,#34c759);border-radius:3px;transition:width .3s ease}.progress-text{font-size:12px;color:#666;font-weight:500;min-width:60px;text-align:right}.tutorial-step{text-align:center;margin-bottom:24px}.step-icon{font-size:48px;margin-bottom:16px;display:block;line-height:1}.step-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 12px;line-height:1.3}.step-description{font-size:16px;color:#666;margin:0 0 20px;line-height:1.5}.tutorial-tips{text-align:left;margin:16px 0;padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #007AFF}.tutorial-tips h3{font-size:14px;font-weight:600;color:#333;margin:0 0 8px}.tutorial-tips ul{margin:0;padding-left:16px;font-size:13px;color:#555;line-height:1.4}.tutorial-tips li{margin-bottom:4px}.gesture-requirement{margin:16px 0;text-align:center}.requirement-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;border-radius:20px;font-size:14px;font-weight:600;animation:pulse 2s infinite}.requirement-icon{font-size:16px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gesture-completed{margin:16px 0;text-align:center}.completed-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#34c759,#5acf7a);color:#fff;border-radius:20px;font-size:14px;font-weight:600;animation:bounce .6s ease}.completed-icon{font-size:16px}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-10px,0)}70%{transform:translate3d(0,-5px,0)}90%{transform:translate3d(0,-2px,0)}}.gesture-demos{margin:20px 0}.gesture-demos h3{font-size:14px;font-weight:600;color:#333;margin:0 0 12px;text-align:left}.gesture-list{display:flex;flex-direction:column;gap:8px}.gesture-demo-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#495057;text-align:left}.gesture-demo-btn:hover{background:#e9ecef;transform:translateY(-1px)}.gesture-demo-btn:active{transform:translateY(0);background:#dee2e6}.gesture-demo-btn span:first-child{font-size:18px;min-width:24px}.gesture-hint{position:absolute;bottom:-80px;left:50%;transform:translate(-50%);white-space:nowrap}.gesture-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;color:#ffffffe6;font-size:14px;animation:float 2s ease-in-out infinite}.gesture-prompt span:first-child{font-size:24px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.gesture-animation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .3s ease}.gesture-animation{background:#fff;border-radius:16px;padding:40px;text-align:center;position:relative;max-width:300px;width:calc(100% - 40px)}.gesture-animation p{margin:20px 0 0;font-size:16px;color:#333;font-weight:500}.close-demo{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:4px;line-height:1;border-radius:4px;transition:color .2s ease}.close-demo:hover{color:#333}.tutorial-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.tutorial-btn{padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.tutorial-btn.secondary{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.tutorial-btn.secondary:hover{background:#e9ecef}.tutorial-btn.secondary:active{background:#dee2e6;transform:translateY(1px)}.tutorial-btn.icon-btn{background:#007aff;color:#fff;font-size:18px;padding:12px;border-radius:50%;width:44px;height:44px}.tutorial-btn.icon-btn:hover{background:#0056b3;transform:translateY(-1px)}.tutorial-btn.icon-btn:active{background:#004494;transform:translateY(0)}.tutorial-btn.icon-btn:disabled{background:#dee2e6;color:#6c757d;cursor:not-allowed;transform:none}.step-navigation{display:flex;gap:12px}.swipe-hint{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);white-space:nowrap}.swipe-indicator{display:flex;align-items:center;gap:8px;color:#ffffffb3;font-size:14px;animation:swipeHint 2s ease-in-out infinite}.swipe-indicator span:first-child,.swipe-indicator span:last-child{font-size:18px}@keyframes swipeHint{0%,to{opacity:.7}50%{opacity:1}}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 480px){.tutorial-content{margin:16px;padding:20px;width:calc(100% - 32px)}.step-icon{font-size:40px;margin-bottom:12px}.step-title{font-size:18px}.step-description{font-size:15px}.gesture-animation{padding:30px 20px}.gesture-animation-container{width:100px;height:100px}}@media (prefers-color-scheme: dark){.tutorial-content{background:#2c2c2e;color:#fff}.step-title{color:#fff}.step-description,.progress-text{color:#8e8e93}.gesture-demo-btn{background:#48484a;border-color:#636366;color:#f2f2f7}.gesture-demo-btn:hover{background:#636366}.gesture-animation{background:#2c2c2e;color:#fff}.tutorial-btn.secondary{background:#48484a;color:#f2f2f7;border-color:#636366}.gesture-animation-container{border-color:#636366}}@media (orientation: landscape) and (max-height: 500px){.tutorial-content{max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.step-icon{font-size:36px;margin-bottom:8px}.gesture-animation{padding:20px}.gesture-animation-container{width:80px;height:80px}}.gesture-animation-container{width:120px;height:120px;margin:0 auto;position:relative;border:2px dashed #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.touch-point{width:20px;height:20px;background:linear-gradient(135deg,#007aff,#0056b3);border-radius:50%;position:absolute;box-shadow:0 0 15px #007aff99,0 0 30px #007aff4d;border:2px solid rgba(255,255,255,.8)}.swipe-animation .touch-point.moving{animation:swipeMove 2s ease-in-out infinite}.swipe-trail{position:absolute;height:3px;background:linear-gradient(90deg,transparent,#007AFF,transparent);top:50%;left:10px;right:10px;transform:translateY(-50%);animation:swipeTrail 2s ease-in-out infinite;border-radius:2px;box-shadow:0 0 8px #007aff66}@keyframes swipeMove{0%,to{transform:translate(-40px);box-shadow:0 0 15px #007aff99,0 0 30px #007aff4d}50%{transform:translate(40px);box-shadow:0 0 20px #007affcc,0 0 40px #007aff66}}@keyframes swipeTrail{0%,to{opacity:0;transform:translateY(-50%) scaleX(.5)}50%{opacity:1;transform:translateY(-50%) scaleX(1)}}.longpress-animation .touch-point.pulsing{animation:longPressPulse 1.5s ease-in-out infinite}.ripple-effect{position:absolute;width:40px;height:40px;border:3px solid #007AFF;border-radius:50%;animation:ripple 1.5s ease-in-out infinite;opacity:.7}.ripple-effect:nth-child(2){animation-delay:.3s;border-color:#34c759}.ripple-effect:nth-child(3){animation-delay:.6s;border-color:#ff9500}@keyframes longPressPulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 15px #007aff99}50%{transform:scale(1.3);opacity:.8;box-shadow:0 0 25px #007affcc}}@keyframes ripple{0%{transform:scale(.5);opacity:1;border-width:3px}to{transform:scale(2.5);opacity:0;border-width:1px}}.doubletap-animation .touch-point.tapping{animation:doubleTap 2s ease-in-out infinite}.tap-indicator{position:absolute;top:-35px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:700;animation:tapIndicator 2s ease-in-out infinite;box-shadow:0 4px 12px #007aff66}@keyframes doubleTap{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 15px #007aff99}15%{transform:scale(.7);opacity:.7;box-shadow:0 0 25px #007affcc}25%{transform:scale(1.1);opacity:1;box-shadow:0 0 15px #007aff99}40%{transform:scale(.7);opacity:.7;box-shadow:0 0 25px #007affcc}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 15px #007aff99}}@keyframes tapIndicator{0%,70%,to{opacity:0;transform:translate(-50%) translateY(0)}15%,40%{opacity:1;transform:translate(-50%) translateY(-5px)}}.pinch-animation .touch-point.pinch-1{animation:pinch1 2.5s ease-in-out infinite;top:25px;left:25px;background:linear-gradient(135deg,#007aff,#0056b3)}.pinch-animation .touch-point.pinch-2{animation:pinch2 2.5s ease-in-out infinite;bottom:25px;right:25px;background:linear-gradient(135deg,#34c759,#28a745)}.pinch-lines{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:70px;background:linear-gradient(180deg,transparent,#FF9500,transparent);opacity:.7;animation:pinchLines 2.5s ease-in-out infinite;border-radius:2px}.pinch-lines:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);width:3px;height:70px;background:linear-gradient(180deg,transparent,#FF9500,transparent);border-radius:2px}@keyframes pinch1{0%,to{transform:translate(0);box-shadow:0 0 15px #007aff99}50%{transform:translate(25px,25px);box-shadow:0 0 20px #007affcc}}@keyframes pinch2{0%,to{transform:translate(0);box-shadow:0 0 15px #34c75999}50%{transform:translate(-25px,-25px);box-shadow:0 0 20px #34c759cc}}@keyframes pinchLines{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(.4);opacity:1}}.drag-animation .touch-point.dragging{animation:dragMove 3s ease-in-out infinite}.drag-trail{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#007AFF,transparent);border-radius:50%;opacity:0;animation:dragTrail 3s ease-in-out infinite}.drag-trail:nth-child(2){animation-delay:.1s}.drag-trail:nth-child(3){animation-delay:.2s}.drag-trail:nth-child(4){animation-delay:.3s}@keyframes dragMove{0%,to{transform:translate(-35px,-35px);box-shadow:0 0 15px #007aff99}25%{transform:translate(35px,-35px);box-shadow:0 0 20px #007affcc}50%{transform:translate(35px,35px);box-shadow:0 0 20px #007affcc}75%{transform:translate(-35px,35px);box-shadow:0 0 20px #007affcc}}@keyframes dragTrail{0%{opacity:0;transform:translate(-35px,-35px) scale(.5)}10%{opacity:.8;transform:translate(-35px,-35px) scale(1)}90%{opacity:.8;transform:translate(-35px,35px) scale(1)}to{opacity:0;transform:translate(-35px,35px) scale(.5)}}.tap-animation .touch-point.tapping{animation:singleTap 1.5s ease-in-out infinite}@keyframes singleTap{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 15px #007aff99}50%{transform:scale(.8);opacity:.8;box-shadow:0 0 25px #007affcc}}@media (max-width: 500px){.gesture-animation-container{width:100px;height:100px}.touch-point{width:16px;height:16px}}@media (orientation: landscape) and (max-height: 500px){.gesture-animation-container{width:80px;height:80px}}:root{--bg: #0a0a15;--fg: #EAEAEA}:root,html[data-theme=dark]{--primary: #f0375d;--primary-hover: #e8295a;--primary-pressed: #d61e52;--on-primary: #ffffff;--bg-wrap: #0a0a15;--surface: rgba(25, 35, 60, .85);--surface-border: rgba(255, 255, 255, .15);--surface-text: #e5e5e5;--panel-bg: rgba(15, 25, 45, .92);--panel-border: rgba(255, 255, 255, .18);--text: #eaeaea;--text-secondary: rgba(234, 234, 234, .75);--text-disabled: rgba(234, 234, 234, .4);--note-bg: rgba(35, 45, 70, .88);--note-border: rgba(255, 255, 255, .2);--composer-bg: rgba(40, 50, 80, .92);--composer-text: #ffffff;--grid-minor: rgba(255, 255, 255, .08);--grid-medium: rgba(255, 255, 255, .12);--grid-major: rgba(255, 255, 255, .18);--btn-disabled-bg: rgba(100, 100, 100, .3);--btn-disabled-fg: rgba(234, 234, 234, .5);--btn-disabled-border: rgba(255, 255, 255, .1);--btn-border: rgba(255, 255, 255, .2);--accent: #ff77aa;--accent-hover: #ff88bb;--accent-pressed: #ff66aa;--on-accent: #000000;--focus: #4a9eff;--focus-ring: #4a9eff;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--elevation-0: 0 1px 3px rgba(0, 0, 0, .12);--elevation-1: 0 4px 12px rgba(0, 0, 0, .25);--elevation-2: 0 8px 24px rgba(0, 0, 0, .35);--elevation-3: 0 16px 48px rgba(0, 0, 0, .45);--hero-shadow: 0 12px 36px rgba(0,0,0,.22);--hero-border: rgba(255, 255, 255, .35);--map-bg: #0a0a15;--map-plane: #10162f}html[data-theme=light]{--primary: #e8295a;--primary-hover: #d61e52;--primary-pressed: #c41a4a;--on-primary: #ffffff;--bg-wrap: #f8f9fa;--surface: rgba(255, 255, 255, .95);--surface-border: rgba(0, 0, 0, .12);--surface-text: #1a1a1a;--panel-bg: rgba(255, 255, 255, .98);--panel-border: rgba(0, 0, 0, .15);--text: #1a1a1a;--text-secondary: rgba(26, 26, 26, .75);--text-disabled: rgba(26, 26, 26, .4);--note-bg: rgba(255, 255, 255, .92);--note-border: rgba(0, 0, 0, .15);--composer-bg: rgba(250, 250, 250, .95);--composer-text: #1a1a1a;--grid-minor: rgba(0, 0, 0, .06);--grid-medium: rgba(0, 0, 0, .1);--grid-major: rgba(0, 0, 0, .15);--btn-disabled-bg: rgba(200, 200, 200, .4);--btn-disabled-fg: rgba(26, 26, 26, .4);--btn-disabled-border: rgba(0, 0, 0, .08);--btn-border: rgba(0, 0, 0, .15);--accent: #e8295a;--accent-hover: #d61e52;--accent-pressed: #c41a4a;--on-accent: #ffffff;--focus: #2563eb;--focus-ring: #2563eb;--success: #16a34a;--warning: #ea580c;--danger: #dc2626;--info: #2563eb;--elevation-0: 0 1px 3px rgba(0, 0, 0, .08);--elevation-1: 0 4px 12px rgba(0, 0, 0, .15);--elevation-2: 0 8px 24px rgba(0, 0, 0, .2);--elevation-3: 0 16px 48px rgba(0, 0, 0, .25);--hero-shadow: 0 12px 36px rgba(0,0,0,.12);--hero-border: rgba(0, 0, 0, .08);--map-bg: #f8f9fa;--map-plane: #e9ecef}html,body,#root{height:100%}body{margin:0;background:var(--bg-wrap);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial;font-size:16px;transition:background-color .2s ease,color .2s ease}button{font-family:inherit;transition:all .2s ease}.crystal-btn{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.crystal-btn:before,.crystal-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:inherit;border-radius:inherit}.crystal-btn:before{background:linear-gradient(180deg,#ffffff38,#ffffff0f);mix-blend-mode:screen;opacity:.5}.crystal-btn:after{background:radial-gradient(120px 120px at 20% 0%,#ffffff59,#fff0 60%);opacity:.45}.crystal-btn:hover{border-color:var(--accent);transform:translateY(-2px) scale(1.02);box-shadow:var(--elevation-2)}.crystal-btn:active{transform:translateY(0) scale(.99);box-shadow:var(--elevation-1)}.crystal-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.eh-note{position:relative;overflow:hidden;transition:all .2s ease}.eh-note:before,.eh-note:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:inherit;border-radius:inherit}.eh-note:before{background:linear-gradient(180deg,#fff3,#ffffff0d);mix-blend-mode:screen;opacity:.45}.eh-note:after{background:radial-gradient(240px 240px at 20% 0%,#ffffff47,#fff0 60%);opacity:.35}.eh-note:hover{border-color:var(--accent);box-shadow:var(--elevation-2);transform:scale(1.02)}.eh-note:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.eh-note.ping{animation:ping .5s cubic-bezier(0,0,.2,1)}@keyframes ping{0%{transform:scale(1);box-shadow:var(--elevation-1)}50%{transform:scale(1.05);box-shadow:0 0 0 4px #f0375d4d,var(--elevation-2)}to{transform:scale(1);box-shadow:var(--elevation-1)}}*{transition-property:background-color,border-color,color,box-shadow;transition-duration:.2s;transition-timing-function:ease}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary);color:var(--on-primary);padding:8px;border-radius:4px;text-decoration:none;z-index:1000;transition:top .2s ease}.skip-link:focus{top:6px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.eh-panel{width:min(96vw,96vh);border-radius:16px;padding:12px}.crystal-btn:hover,.eh-note:hover{transform:none}}@media (max-width: 480px){body{font-size:14px}.eh-note{width:100px;height:100px;font-size:10px}}@media (prefers-contrast: high){:root{--surface-border: rgba(255, 255, 255, .3);--panel-border: rgba(255, 255, 255, .4);--text: #ffffff}html[data-theme=light]{--surface-border: rgba(0, 0, 0, .3);--panel-border: rgba(0, 0, 0, .4);--text: #000000}}*:focus{outline:2px solid var(--accent)!important;outline-offset:2px!important;transition:outline .2s ease!important}button:focus,[role=button]:focus,[role=tab]:focus,[role=menuitem]:focus{outline:3px solid var(--accent)!important;outline-offset:3px!important;box-shadow:0 0 0 1px var(--accent-bg, rgba(59, 130, 246, .2))!important}[data-danger=true]:focus,[aria-label*=eliminar]:focus,[aria-label*=borrar]:focus,[aria-label*=delete]:focus{outline:3px solid #f87171!important;outline-offset:3px!important;box-shadow:0 0 0 1px #f8717133!important}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent)!important;outline-offset:1px!important;border-color:var(--accent)!important}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid var(--accent)!important;outline-offset:3px!important}.skip-to-content{position:absolute;top:-40px;left:6px;background:var(--primary);color:var(--on-primary);padding:8px 16px;border-radius:6px;text-decoration:none;font-weight:600;z-index:10000;transition:top .3s ease}.skip-to-content:focus{top:6px;outline:3px solid white!important}nav button:focus,nav [role=tab]:focus{outline:2px solid var(--accent)!important;outline-offset:2px!important;background:var(--accent-bg, rgba(59, 130, 246, .1))!important}.eh-note:focus,[data-note]:focus{outline:3px solid var(--accent)!important;outline-offset:2px!important;transform:scale(1.02)!important;z-index:10!important;box-shadow:0 4px 20px #0000004d,0 0 0 3px var(--accent-bg, rgba(59, 130, 246, .2))!important}[role=dialog]:focus,[role=alertdialog]:focus{outline:3px solid var(--accent)!important;outline-offset:-3px!important}[role=alert]:focus{outline:2px solid var(--accent)!important;outline-offset:2px!important;transform:scale(1.02)!important}.keyboard-hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--surface-border);border-radius:12px;padding:12px 16px;font-size:12px;color:var(--text-secondary);box-shadow:var(--elevation-2);z-index:1000;pointer-events:none;opacity:0;transition:opacity .3s ease}.keyboard-hint.visible{opacity:1;pointer-events:auto}.keyboard-hint kbd{background:var(--accent);color:var(--on-accent, white);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;margin:0 2px}.focus-trap{position:relative}.focus-trap:before,.focus-trap:after{content:"";position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}@media (prefers-contrast: high){*:focus{outline:4px solid currentColor!important;outline-offset:2px!important}button:focus,[role=button]:focus{outline:4px solid currentColor!important;outline-offset:4px!important;background:var(--accent)!important;color:var(--on-accent)!important}}@media (prefers-reduced-motion: reduce){*:focus{transition:none!important}.eh-note:focus{transform:none!important}[role=alert]:focus{transform:none!important}}[data-theme]:focus{outline:3px solid var(--accent)!important;outline-offset:3px!important;transform:scale(1.05)!important;box-shadow:0 8px 30px #0000004d!important}[data-test]:focus{outline:3px solid currentColor!important;outline-offset:3px!important;transform:scale(1.05)!important}.breadcrumb button:focus{outline:2px solid var(--accent)!important;outline-offset:2px!important;background:var(--accent-bg, rgba(59, 130, 246, .1))!important}.eh-grid-cell:focus-within{outline:2px solid var(--accent)!important;outline-offset:1px!important;background:var(--accent-bg, rgba(59, 130, 246, .05))!important}.nav-active{position:relative}.nav-active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--accent);border-radius:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.js-focus-visible :focus:not(.focus-visible){outline:none!important}.js-focus-visible .focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important}[aria-pressed=true]:focus{outline-color:var(--primary)!important;background:var(--primary)!important;color:var(--on-primary)!important}[aria-selected=true]:focus{outline-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-bg, rgba(240, 55, 93, .2))!important}[disabled]:focus,[aria-disabled=true]:focus{outline:2px dashed #666!important;outline-offset:2px!important;opacity:.5!important}*:focus{scrollbar-color:var(--accent) var(--surface)}*:focus::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px}.keyboard-help{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;color:#fff;padding:40px;z-index:10000;display:none;overflow-y:auto}.keyboard-help.visible{display:block}.keyboard-help h2{margin-top:0;color:var(--accent)}.keyboard-help dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;max-width:800px;margin:0 auto}.keyboard-help dt{font-weight:600;color:var(--accent)}.keyboard-help dd{margin:0}.keyboard-help kbd{background:var(--accent);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;margin:0 2px}@media (max-width: 768px){button,[role=button],input[type=checkbox],input[type=radio]{min-height:44px!important;min-width:44px!important;padding:12px 16px!important;font-size:16px!important}input[type=text],input[type=email],input[type=password],input[type=search],textarea{font-size:16px!important;min-height:44px!important;padding:12px 16px!important;border-radius:12px!important}.nav-bottom{height:80px!important;padding:12px 16px!important}.nav-bottom button{min-height:56px!important;min-width:56px!important;border-radius:16px!important;font-size:12px!important}section[aria-label]{margin:16px auto 100px!important;padding:20px 16px!important;border-radius:20px!important}.eh-panel{padding:16px!important;border-radius:20px!important}.eh-note{width:110px!important;height:110px!important;border-radius:16px!important;font-size:11px!important;padding:8px!important}.eh-toolbar button{min-height:48px!important;min-width:48px!important;border-radius:12px!important;font-size:14px!important}.eh-quick-input{padding:16px!important;border-radius:20px!important}.eh-quick-input input{min-height:48px!important;border-radius:12px!important;font-size:16px!important}.eh-quick-input button{min-height:48px!important;min-width:48px!important;border-radius:12px!important}.eh-composer{border-radius:16px!important;min-width:140px!important;min-height:140px!important}.eh-composer textarea{font-size:12px!important;border-radius:12px!important}.settings-grid{grid-template-columns:1fr!important;gap:16px!important}.theme-button{min-height:80px!important;padding:20px!important;border-radius:16px!important}.theme-button svg{width:32px!important;height:32px!important}.notification-toast{margin:0 16px 12px!important;padding:16px!important;border-radius:16px!important;font-size:15px!important}.notification-toast button{min-height:36px!important;min-width:36px!important;border-radius:8px!important}}@media (max-width: 480px){button,[role=button]{min-height:48px!important;min-width:48px!important;padding:14px 18px!important}.nav-bottom{height:88px!important}.nav-bottom button{min-height:60px!important;min-width:60px!important}body{font-size:16px!important;line-height:1.6!important}h1{font-size:28px!important}h2{font-size:24px!important}h3{font-size:20px!important}.eh-note{width:120px!important;height:120px!important;font-size:12px!important}section[aria-label]{margin:12px!important;border-radius:16px!important}}@media (max-width: 768px) and (orientation: landscape){.nav-bottom{height:64px!important;padding:8px 16px!important}.nav-bottom button{min-height:48px!important;min-width:48px!important}section[aria-label]{margin:8px auto 80px!important}.eh-note{width:100px!important;height:100px!important}}@media (hover: none) and (pointer: coarse){button:hover,[role=button]:hover{transform:none!important;scale:none!important}button:active,[role=button]:active{transform:scale(.96)!important;transition:transform .1s ease!important}button:focus,[role=button]:focus{outline:3px solid var(--accent)!important;outline-offset:3px!important}.eh-note,.eh-grid,.nav-bottom,.eh-toolbar{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){button,[role=button],.eh-note,.eh-panel{border-width:.5px!important}svg{shape-rendering:geometricPrecision!important}}@supports (padding: max(0px)){.nav-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}section[aria-label]{margin-top:max(16px,env(safe-area-inset-top))!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}}@media (prefers-reduced-motion: reduce) and (max-width: 768px){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}button:active{transform:none!important}}@media (max-width: 768px) and (prefers-color-scheme: dark){.eh-panel{background:#000c!important}.eh-note{background:#ffffff14!important;border-color:#ffffff1f!important}button,[role=button]{background:#ffffff0f!important;border-color:#ffffff1f!important}}@media (max-width: 768px){*:focus{outline-width:3px!important;outline-offset:3px!important}body{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.eh-note{color:contrast(var(--note-bg),white,black)!important}}@media (max-width: 768px){.eh-note,button,[role=button]{will-change:transform!important;transform:translateZ(0)!important}@media (max-resolution: 150dpi){.eh-panel,.nav-bottom,.notification-toast{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;pointer-events:none}.touch-feedback:active:after{width:100px;height:100px}.pinch-zoom-active{cursor:zoom-in!important}.pinch-zoom-active *{pointer-events:none!important}.long-press-active{animation:longPressRipple .5s ease-out!important}@keyframes longPressRipple{0%{box-shadow:0 0 rgba(var(--accent-rgb),.4)}70%{box-shadow:0 0 0 20px rgba(var(--accent-rgb),0)}to{box-shadow:0 0 rgba(var(--accent-rgb),0)}}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);padding:8px 12px;background:#000000b3;color:#fff;border-radius:20px;font-size:12px;font-weight:600;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1000}.swipe-indicator.left{left:20px}.swipe-indicator.right{right:20px}.swipe-indicator.visible{opacity:1}@media (max-width: 768px){.onboarding-modal{margin:16px!important;border-radius:20px!important;padding:24px 20px!important}.onboarding-modal button{min-height:48px!important;padding:12px 20px!important;border-radius:12px!important;font-size:16px!important}.onboarding-progress{height:6px!important;border-radius:3px!important}}@media (max-width: 768px){.keyboard-help{padding:20px!important;font-size:14px!important}.keyboard-help h2{font-size:20px!important;margin-bottom:16px!important}.keyboard-help dl{grid-template-columns:1fr!important;gap:8px!important}.keyboard-help dt{margin-bottom:4px!important}.keyboard-help kbd{font-size:11px!important;padding:3px 6px!important}}
