:root,:root[data-theme=light]{--primary-color: #0252CD;--secondary-color: #2D7FF9;--accent-color: #FF5757;--background-color: #ffffff;--surface-color: #ffffff;--card-bg: #ffffff;--text-color: #111827;--text-color-light: #4b5563;--text-muted: #6b7280;--border-color: rgba(0, 0, 0, .08);--shadow-color: rgba(0, 0, 0, .06);--success-color: #10B981;--error-color: #EF4444;--warning-color: #F59E0B;--hover-color: rgba(45, 127, 249, .08);--primary-color-rgb: 2, 82, 205;--secondary-color-rgb: 45, 127, 249;--input-bg: #ffffff;--tag-bg: #f3f4f6}:root[data-theme=dark]{--primary-color: #2D7FF9;--secondary-color: #5096FF;--accent-color: #FF5757;--background-color: #111827;--surface-color: #1F2937;--card-bg: #1F2937;--text-color: #F9FAFB;--text-color-light: #D1D5DB;--text-muted: #9CA3AF;--border-color: rgba(255, 255, 255, .1);--shadow-color: rgba(0, 0, 0, .3);--success-color: #10B981;--error-color: #EF4444;--warning-color: #F59E0B;--hover-color: rgba(45, 127, 249, .15);--primary-color-rgb: 45, 127, 249;--secondary-color-rgb: 80, 150, 255;--input-bg: #374151;--tag-bg: #374151}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body{background-color:var(--background-color);color:var(--text-color);line-height:1.6;letter-spacing:-.01em;font-weight:400}.container{max-width:1200px;margin:0 auto;padding:2rem;border-radius:16px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.025em;margin-bottom:.5em}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.75rem}h4{font-size:1.4rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin-bottom:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;position:relative;overflow:hidden;background-color:var(--primary-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 6px rgba(var(--primary-color-rgb),.2)}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(var(--primary-color-rgb),.3);background-color:var(--secondary-color)}.btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(var(--primary-color-rgb),.2)}.btn-secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-color)}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--hover-color)}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-small{padding:.5rem 1rem;font-size:.9rem}.card{background-color:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 4px 12px var(--shadow-color);border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 10px 30px var(--shadow-color)}.section{padding:6rem 0;position:relative}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;margin-bottom:1rem;color:var(--text-color)}.section-subtitle{font-size:1.25rem;color:var(--text-color-light);max-width:800px;margin:0 auto}.header{text-align:center;margin-bottom:3rem}.header h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:1rem}.lock-generator{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 4px 6px #0000001a;background-color:var(--surface-color);border:1px solid var(--border-color)}.lock-display{background:var(--primary-color);color:#fff;padding:2rem;border-radius:8px;text-align:center;margin-bottom:2rem;font-size:1.5rem;font-family:monospace}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:var(--secondary-color)}.btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{border:1px solid var(--secondary-color);color:var(--secondary-color)}.lock-history{margin-top:2rem;background-color:var(--surface-color);border:1px solid var(--border-color)}.lock-history h2{color:var(--primary-color);margin-bottom:1rem}.history-list{list-style:none}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;margin-bottom:1.5rem;background-color:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);transition:all .3s ease;box-shadow:0 4px 15px var(--shadow-color)}.history-item:hover{transform:translateY(-8px);box-shadow:0 15px 30px var(--shadow-color);border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.03)}.history-item-name{font-weight:600;font-size:1.1rem;color:var(--primary-color)}.history-item-type{font-size:.9rem;color:var(--text-color);padding:.2rem .8rem;background-color:rgba(var(--primary-color-rgb),.1);border-radius:20px;font-weight:500}.history-item-date{font-size:.8rem;color:var(--text-color-light);margin-left:auto;background-color:#0000000d;padding:.2rem .5rem;border-radius:4px}.main-header{background-color:var(--card-bg);padding:1rem 0;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-color);transition:background-color .3s ease}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.25rem;align-items:center}.nav-logo{color:var(--text-color);text-decoration:none;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;letter-spacing:-.025em}.nav-logo i{font-size:1.8rem;color:var(--primary-color);transition:transform .3s ease,color .3s ease}.nav-menu{display:flex;gap:1rem;list-style:none;align-items:center;justify-content:center;min-width:0}.nav-link{color:var(--text-color-light);text-decoration:none;font-size:1rem;font-weight:500;padding:.5rem .7rem;border-radius:8px;transition:all .3s ease;position:relative;overflow:hidden;white-space:nowrap}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.nav-link.active{background-color:var(--primary-color);color:#fff}.theme-toggle{background:none;border:none;color:var(--text-color-light);cursor:pointer;font-size:1.2rem;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.theme-toggle:hover{color:var(--primary-color);background-color:var(--hover-color);transform:rotate(30deg)}.user-menu-wrapper{position:relative}.user-menu-btn{background:none;border:none;color:var(--text-color-light);cursor:pointer;font-size:1.2rem;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:40px;height:40px}.user-menu-btn:hover,.user-menu-btn[aria-expanded=true]{color:var(--primary-color);background-color:var(--hover-color)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);min-width:220px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1001;padding:.5rem 0}.user-menu-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;color:var(--text-color);text-decoration:none;font-size:.95rem;transition:all .2s ease;border:none;background:none;width:100%;text-align:left;cursor:pointer}.user-menu-item:hover{background-color:var(--hover-color);color:var(--primary-color)}.user-menu-item i{width:20px;text-align:center;color:var(--text-muted)}.user-menu-item:hover i{color:var(--primary-color)}.user-menu-divider{height:1px;background:var(--border-color);margin:.5rem 0}@media(max-width:768px){.nav-container{display:flex;gap:.5rem}.nav-actions{margin-left:auto}.user-menu-dropdown{right:auto;left:50%;transform:translate(-50%) translateY(-10px)}.user-menu-dropdown.active{transform:translate(-50%) translateY(0)}}.quick-access-card{display:block;background:var(--card-bg);border-radius:12px;padding:1.5rem;text-decoration:none;border:1px solid var(--border-color);transition:all .3s ease;box-shadow:0 2px 8px var(--shadow-color)}.quick-access-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow-color);border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.03)}.quick-access-card:hover i{transform:scale(1.1);color:var(--secondary-color)}.quick-access-card i{transition:all .3s ease}.user-menu-item.active{background-color:var(--hover-color);color:var(--primary-color);font-weight:600}.user-menu-item.active i{color:var(--primary-color)}.user-icon-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:all .3s ease;color:var(--text-color);text-decoration:none}.user-icon-link:hover{background-color:var(--hover-color);color:var(--primary-color);transform:scale(1.1)}.user-icon-link i{font-size:1.1rem}.user-icon-link.active{background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.mobile-menu-btn{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}@media(max-width:768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:2rem;color:var(--primary-color);width:48px;height:48px;border-radius:50%;margin-right:1rem;z-index:2100;transition:background .2s,color .2s}.mobile-menu-btn:focus,.mobile-menu-btn:hover{background:var(--hover-color);outline:none}:root[data-theme=dark] .mobile-menu-btn{color:#fff;background:none}.nav-menu{display:none;position:absolute;top:100%;left:0;width:100vw;background:#ffffffd9;backdrop-filter:blur(12px);box-shadow:0 8px 32px #0252cd1a;flex-direction:column;gap:0;padding:1.5rem 0 2rem;z-index:2000;border-bottom-left-radius:18px;border-bottom-right-radius:18px;border-top:1px solid var(--border-color);align-items:center;animation:slideDownMenu .25s cubic-bezier(.4,1.3,.6,1) both}.nav-menu.active{display:flex}.nav-link{padding:1.1rem 0;text-align:center;width:100%;border-radius:0;color:var(--text-color);background:none;font-size:1.15rem;margin:0;font-weight:500;border:none;transition:background .2s,color .2s;position:relative}.nav-link:not(:last-child):after{content:"";display:block;width:60%;height:1px;background:var(--border-color);margin:.5rem auto 0;opacity:.4}.nav-link.active{background:none;color:var(--primary-color)!important;font-weight:700;border-radius:6px;box-shadow:none;position:relative}.nav-link.active:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%;height:60%;background:#0252cd1a;border-radius:8px;z-index:-1}:root[data-theme=dark] .nav-menu{background:#111827f2;box-shadow:0 8px 32px #2d7ff91a}:root[data-theme=dark] .nav-link.active{color:var(--secondary-color)!important}.theme-toggle{margin:1.2rem 0 0;align-self:center}}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.lock-keypad-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:2rem 0;padding:0}.lock-keypad{display:grid;gap:10px;padding:15px;background-color:var(--surface-color);border-radius:8px;margin:15px 0;width:100%;max-width:100%}.keypad-button{padding:15px;border:none;border-radius:5px;background-color:var(--primary-color);color:#fff;font-size:1.2rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;position:relative;overflow:hidden}.keypad-button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#fffc;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.keypad-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 5px 15px #0003;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.keypad-button:active:after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:scale(0) translate(-50%,-50%);opacity:.5}to{transform:scale(20) translate(-50%,-50%);opacity:0}}.numeric-keypad{max-width:300px;margin:0 auto}.alphanumeric-keypad{max-width:600px;margin:0 auto}.alphanumeric-keypad .keypad-button{font-size:1rem;padding:12px}.directional-keypad{max-width:420px;margin:0 auto;position:relative;padding:1.5rem;background:linear-gradient(145deg,#f7f9fd,#e7ecf6);border-radius:24px;box-shadow:0 18px 32px #0f204329,inset 0 1px #ffffffd9;border:1px solid rgba(18,46,92,.14)}.directional-memory{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;min-height:50px;padding:15px;background-color:#fff;border-radius:8px;box-shadow:inset 0 2px 4px #0000001a;border:1px solid #ddd}.memory-item{font-size:1.2rem;padding:5px 10px;background-color:#e9ecef;border-radius:4px;box-shadow:0 2px 4px #0000001a;animation:fadeIn .3s ease;border:1px solid #ced4da;color:#06c;display:inline-flex;align-items:center;justify-content:center}.directional-grid{display:grid;gap:.65rem;position:relative;z-index:1;justify-content:center;margin:1.25rem auto;padding:.35rem}.directional-grid-four{display:grid;grid-template-columns:repeat(3,82px);grid-template-rows:repeat(3,82px);grid-template-areas:". up ." "left . right" ". down ."}.directional-grid-eight{display:grid;grid-template-columns:repeat(3,72px);grid-template-rows:repeat(3,72px);grid-template-areas:"up-left up up-right" "left . right" "down-left down down-right"}.directional-up{grid-area:up}.directional-down{grid-area:down}.directional-left{grid-area:left}.directional-right{grid-area:right}.directional-up-left{grid-area:up-left}.directional-up-right{grid-area:up-right}.directional-down-left{grid-area:down-left}.directional-down-right{grid-area:down-right}.directional-grid-eight .directional-button{width:72px;height:72px;border-radius:16px}.directional-button{width:82px;height:82px;border:1px solid rgba(0,48,135,.45);border-radius:18px;background:linear-gradient(145deg,#1677ed,#0456cd);color:#fff;font-size:2rem;cursor:pointer;position:relative;overflow:hidden;transition:all .2s ease;padding:0;box-shadow:0 6px #013e9c,0 12px 18px #002c7940,inset 0 1px 1px #ffffff61;display:flex;align-items:center;justify-content:center;transform:translateY(0)}.directional-button:hover{background:linear-gradient(145deg,#2d8aff,#075dd9);box-shadow:0 7px #013e9c,0 14px 20px #002c7940,inset 0 1px 1px #ffffff61}.directional-button:active{transform:translateY(6px);box-shadow:0 0 #013e9c,0 3px 6px #002c793d;background:#0756c6}.directional-arrow{width:37px;height:37px;fill:currentColor;filter:drop-shadow(0 1px 0 rgba(0,0,0,.18));transition:transform .2s ease}.directional-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}@media(max-width:480px){.directional-keypad{max-width:320px;padding:15px}.directional-button{padding:12px;min-height:55px;min-width:55px}.directional-button i{font-size:1.5rem}.memory-item{font-size:1rem;padding:4px 8px}}.color-lock{max-width:520px;margin:0 auto;padding:1.25rem;border:1px solid var(--border-color);border-radius:20px;background:var(--card-bg)}.color-helper{margin:0 0 .8rem;text-align:center;color:var(--text-color)}.color-sequence{min-height:52px;display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.65rem;margin-bottom:1rem;border:1px dashed var(--border-color);border-radius:12px;background:var(--subtle-bg)}.color-sequence-placeholder{color:var(--text-muted);font-size:.9rem}.color-sequence-step{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--lock-color),#fff 85%);color:var(--text-color);font-size:.84rem;font-weight:700}.color-sequence-step b{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--lock-color);color:#fff;font-size:.7rem}.color-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.color-button{min-height:88px;padding:.65rem;border:2px solid color-mix(in srgb,var(--lock-color),#10213e 22%);border-radius:16px;background:color-mix(in srgb,var(--lock-color),#ffffff 84%);color:var(--text-color);box-shadow:0 5px color-mix(in srgb,var(--lock-color),#10213e 28%),0 10px 18px #0f204329;cursor:pointer}.color-button:hover,.color-button:focus-visible{transform:translateY(-2px);outline:none}.color-button:active{transform:translateY(4px);box-shadow:0 1px color-mix(in srgb,var(--lock-color),#10213e 28%)}.color-swatch{display:grid;place-items:center;width:38px;height:38px;margin:0 auto;border-radius:50%;background:var(--lock-color);box-shadow:inset 0 3px 5px #fff6,0 2px 6px #0000002e}.color-swatch b{color:#fff;font-size:.78rem;text-shadow:0 1px 1px rgba(0,0,0,.35)}.color-button[data-value=blanco] .color-swatch b{color:#10213e;text-shadow:none}.color-name{display:block;margin-top:.35rem;font-size:.82rem;font-weight:800}.color-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.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}.pattern-lock{max-width:390px;margin:0 auto;text-align:center}.pattern-helper{margin:0 0 1rem;color:var(--text-color)}.pattern-board{position:relative;display:grid;grid-template-columns:repeat(var(--pattern-size),1fr);gap:clamp(1rem,6vw,2.75rem);padding:clamp(1.35rem,6vw,2.8rem);border:1px solid var(--border-color);border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(2,82,205,.1),transparent 58%),var(--card-bg);touch-action:none;user-select:none}.pattern-lines{position:absolute;inset:clamp(1.35rem,6vw,2.8rem);width:auto;height:auto;overflow:visible;pointer-events:none;z-index:1}.pattern-lines polyline{fill:none;stroke:var(--primary-color);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(2,82,205,.28))}.pattern-button{position:relative;z-index:2;aspect-ratio:1;min-width:42px;border:0;border-radius:50%;padding:0;background:var(--text-color);cursor:pointer;box-shadow:0 0 0 6px var(--card-bg),0 4px 12px #0f204333;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.pattern-button:after{content:attr(data-step);position:absolute;inset:0;display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#fff}.pattern-button:hover,.pattern-button:focus-visible{transform:scale(1.1);outline:none}.pattern-button.selected{background:var(--primary-color);box-shadow:0 0 0 6px var(--card-bg),0 0 0 10px #0252cd2e,0 6px 14px #0252cd52}.pattern-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.computer-login-container{max-width:400px;margin:0 auto;background-color:var(--surface-color);border-radius:12px;padding:30px;box-shadow:0 8px 16px var(--shadow-color);transition:all .3s ease}.computer-login-secret-input{-webkit-text-security:disc}.computer-login-secret-input.revealed{-webkit-text-security:none}.login-screen{text-align:center}.login-header{margin-bottom:30px}.os-logo{font-size:3rem;color:var(--primary-color);margin-bottom:15px;animation:float 3s ease-in-out infinite}.os-name{font-size:1.8rem;color:var(--primary-color);margin-bottom:5px}.os-version{color:var(--text-color-light);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:20px}.input-group{text-align:left}.input-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-color);font-size:.9rem}.input-group label i{color:var(--primary-color)}.input-wrapper{position:relative}.input-wrapper input{width:100%;padding:12px 40px 12px 15px;border:2px solid var(--border-color);border-radius:8px;background-color:var(--background-color);color:var(--text-color);font-size:1rem;transition:all .3s ease}.input-wrapper input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-color-light);cursor:pointer;padding:5px;transition:color .3s ease}.toggle-password:hover{color:var(--primary-color)}.login-status{display:flex;align-items:center;gap:10px;min-height:24px}.status-icon{width:16px;height:16px;border-radius:50%;transition:all .3s ease}.status-icon.success{background-color:var(--success-color);box-shadow:0 0 10px var(--success-color)}.status-icon.error{background-color:var(--error-color);box-shadow:0 0 10px var(--error-color)}.status-message{font-size:.9rem;color:var(--text-color-light)}.login-button{position:relative;padding:12px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;overflow:hidden}.login-button:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-2px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button .button-text{transition:opacity .3s ease}.login-button .loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;opacity:0;transition:all .3s ease}.login-button.loading .button-text{opacity:0}.login-button.loading .loading-spinner{transform:translate(-50%,-50%) scale(1);opacity:1;animation:spin 1s linear infinite}.login-attempts{margin-top:10px}.attempts-bar{height:4px;background-color:var(--background-color);border-radius:2px;overflow:hidden;margin-bottom:8px}.attempts-progress{height:100%;background-color:var(--primary-color);width:100%;transition:width .3s ease}.attempts-text{font-size:.8rem;color:var(--text-color-light)}.login-footer{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:15px;border-top:1px solid var(--border-color)}.system-time{font-size:.9rem;color:var(--text-color-light)}.system-status{display:flex;gap:10px;color:var(--text-color-light)}.system-status i{font-size:1rem}.computer-login-container.success{animation:successPulse .5s ease}.computer-login-container.error{animation:errorShake .5s ease}.computer-login-container.hacking{animation:hackPulse .5s ease infinite}.computer-login-container.logged-in{animation:loginSuccess 1s ease forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes hackPulse{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(90deg)}}@keyframes loginSuccess{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(0);opacity:0}}@media(max-width:480px){.computer-login-container{padding:20px}.os-logo{font-size:2.5rem}.os-name{font-size:1.5rem}.input-wrapper input{padding:10px 35px 10px 12px;font-size:.9rem}}.musical-lock{max-width:520px;margin:0 auto;padding:1.25rem;border:1px solid var(--border-color);border-radius:20px;background:var(--card-bg)}.musical-helper{margin:0 0 .8rem;text-align:center;color:var(--text-color)}.musical-progress{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:-.25rem 0 .9rem;color:var(--text-muted);font-size:.78rem;font-weight:800}.musical-progress i{width:110px;height:6px;overflow:hidden;border-radius:99px;background:#d6e1ef}.musical-progress b{display:block;height:100%;border-radius:inherit;background:var(--primary-color);transition:width .2s ease}.musical-mode-switch{margin-bottom:1rem;text-align:center}.musical-mode-switch>span,.musical-figures>span{display:block;margin-bottom:.45rem;color:var(--text-muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.musical-mode-controls{display:inline-flex;gap:.35rem;padding:.3rem;border:1px solid var(--border-color);border-radius:12px;background:var(--subtle-bg)}.musical-mode-controls button{border:0;border-radius:8px;padding:.45rem .7rem;color:var(--text-color);background:transparent;font:inherit;font-weight:700;cursor:pointer}.musical-mode-controls button.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 5px #0252cd40}.musical-sound-toggle{align-self:center;border:1px solid var(--border-color);border-radius:999px;padding:.42rem .75rem;background:var(--subtle-bg);color:var(--text-color);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.musical-sound-toggle[aria-pressed=true]{color:var(--primary-color);border-color:#0252cd59;background:#0252cd14}.musical-staff{position:relative;height:116px;margin:0 auto 1rem;overflow:hidden;border-radius:12px;cursor:crosshair;background:repeating-linear-gradient(to bottom,transparent 0 17px,#9eb1c8 18px 20px,transparent 21px 22px),#f8fbff;touch-action:manipulation}.musical-staff:before{content:"\1d11e";position:absolute;left:.6rem;top:20px;color:#1e3554;font-size:3.8rem;line-height:1}.musical-staff:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}.musical-staff-notes{position:absolute;inset:0 1rem 0 4.5rem}.staff-note{position:absolute;left:calc(var(--staff-x) * 1%);top:calc(106px - (var(--staff-position) * 11px));transform:translate(-50%,-50%) scale(var(--staff-scale, 1));transform-origin:center;display:inline-flex;flex-direction:column;align-items:center;min-width:2.1rem;color:#132b4a;pointer-events:none}.staff-note b{margin-top:.12rem;font-size:.6rem;white-space:nowrap}.staff-accidental{margin-right:.08rem;font-size:.72rem;font-style:normal}.staff-ledger{position:absolute;top:50%;left:50%;width:22px;height:1px;background:#9eb1c8;transform:translate(-50%,-50%)}.note-symbol{position:relative;display:inline-block;width:14px;height:29px}.note-symbol:before{content:"";position:absolute;left:0;bottom:1px;width:13px;height:9px;border-radius:50%;background:#132b4a;transform:rotate(-18deg)}.note-symbol:after{content:"";position:absolute;right:0;bottom:7px;width:2px;height:23px;border-radius:2px;background:#132b4a}.note-symbol.figure-whole{height:13px}.note-symbol.figure-whole:before{bottom:1px;border:2px solid #132b4a;background:#f8fbff;width:11px;height:7px}.note-symbol.figure-whole:after{display:none}.note-symbol.figure-half:before{border:2px solid #132b4a;background:#f8fbff;width:11px;height:7px}.note-symbol.figure-eighth:after,.note-symbol.figure-paired:after{box-shadow:5px 2px 0 -3px #132b4a}.note-symbol.figure-eighth:after{clip-path:polygon(0 0,100% 0,100% 38%,0 78%);width:11px}.note-symbol.figure-paired{width:28px}.note-symbol.figure-paired:before{box-shadow:15px 0 #132b4a}.note-symbol.figure-paired:after{width:24px;clip-path:polygon(0 0,100% 0,100% 24%,0 63%)}.musical-sequence{min-height:48px;display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem;padding:.6rem;border:1px dashed var(--border-color);border-radius:12px;background:var(--subtle-bg)}.musical-sequence>span:not(.musical-placeholder){display:inline-flex;gap:.3rem;align-items:center;padding:.25rem .5rem;border-radius:999px;background:#fff;border:1px solid #c7d3e2;color:#14233d;font-weight:800}.musical-sequence b{color:var(--primary-color)}.musical-sequence i{color:var(--text-muted);font-size:.7rem;font-style:normal}.musical-placeholder{color:var(--text-muted);font-size:.9rem}.musical-input-area{min-height:210px}.piano-keyboard{position:relative;display:flex;height:210px;padding:.45rem;border-radius:14px;background:linear-gradient(145deg,#1f2c40,#0e1727);box-shadow:inset 0 2px 4px #ffffff1f,0 10px 18px #0f204329}.piano-key{cursor:pointer;transition:transform .12s ease,background .12s ease;user-select:none}.piano-key:active{transform:translateY(5px)}.piano-key-white{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;padding:.7rem .1rem;border:1px solid #aab7c8;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#e5eaf2,#fff 35%,#f2f5f9);color:#14233d;font-size:1.15rem}.piano-key-white small{font-size:.6rem;color:#68758a}.piano-key-black{position:absolute;z-index:2;top:.45rem;width:10%;height:61%;transform:translate(-50%);border:1px solid #050a12;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#080e18,#3a4554 42%,#101824);color:#fff;box-shadow:0 5px 7px #00000059;font-size:clamp(.58rem,2vw,.8rem)}.solfege-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;min-height:210px;align-content:center}.solfege-note{min-height:74px;display:grid;place-items:center;gap:.15rem;border:1px solid #b9cce1;border-radius:14px;background:linear-gradient(145deg,#fff,#e7f0fa);color:#143354;cursor:pointer;box-shadow:0 3px #b5c7da,0 5px 10px #0f20431a}.solfege-note:active{transform:translateY(3px);box-shadow:0 0 #b5c7da}.solfege-note strong{font-size:1.25rem}.solfege-note span{font-size:.7rem;color:#60748d}.musical-figures{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-top:1rem;text-align:center}.musical-figures>span{width:100%}.musical-figures button{display:grid;place-items:center;min-width:52px;min-height:52px;border:1px solid var(--border-color);border-radius:10px;background:var(--subtle-bg);color:var(--text-color);cursor:pointer}.musical-figures button.active{border-color:var(--primary-color);background:#0252cd1a;color:var(--primary-color);box-shadow:0 0 0 2px #0252cd24}.musical-figures .note-symbol{transform:scale(.8);transform-origin:center}.musical-figures small{font-size:.6rem}.musical-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}} .emoji-keypad{max-width:400px;margin:0 auto}.emoji-button{font-size:1.8rem;padding:20px}.code-display{text-align:center;font-size:1.2rem;margin:15px 0;padding:10px;background-color:var(--surface-color);border-radius:4px;min-height:40px}.lock-message{text-align:center;margin:10px 0;padding:10px;border-radius:4px}.lock-message.error{background-color:var(--error-color);color:#fff}.lock-message.success{background-color:var(--success-color);color:#fff}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.success-pulse{animation:success-pulse .5s ease-in-out}@media(max-width:600px){.lock-keypad{gap:8px;padding:10px}.keypad-button{padding:12px;font-size:1rem}.directional-button,.color-button,.musical-button,.emoji-button{font-size:1.5rem;padding:15px}.computer-login-container{padding:15px}}input,textarea,select{background-color:var(--background-color);color:var(--text-color);border:1px solid var(--border-color);padding:.8rem;border-radius:4px;width:100%;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(var(--secondary-color-rgb),.2)}.history-item,.lock-type-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,background-color .3s ease,border-color .3s ease;cursor:pointer}.history-item:hover,.lock-type-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 15px 30px #0000001a;background-color:rgba(var(--primary-color-rgb),.03)}.file-protocol-note{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.25rem;border:1px solid rgba(245,158,11,.35);border-radius:.75rem;background:#f59e0b1a;color:var(--text-color);text-align:left}.file-protocol-note strong{color:var(--primary-color)}.file-protocol-note span{font-size:.9rem}.file-protocol-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.lock-type-card.is-file-preview{cursor:default}.lock-type-card.is-file-preview:hover{transform:none}.lock-type-search{max-width:520px;margin:1.25rem auto 0}.lock-type-search input{width:100%}.lock-type-card i{transition:transform .3s ease,color .3s ease}.lock-type-card:hover i{transform:scale(1.2);color:var(--secondary-color)}.notification{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 4px var(--shadow-color)}.notification.success{background-color:var(--success-color);color:#fff}.notification.error{background-color:var(--error-color);color:#fff}table{width:100%;border-collapse:collapse;margin:1rem 0;background-color:var(--surface-color);border-radius:8px;overflow:hidden}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:var(--primary-color);color:#fff}tr:hover{background-color:var(--hover-color)}code,pre{background-color:var(--background-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:.5rem;font-family:monospace}a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--secondary-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.hero-section{background:linear-gradient(135deg,#121212,#2d3748);color:#fff;padding:4rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;min-height:50vh;max-height:70vh;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;right:-20%;width:75%;height:150%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 60%);transform:rotate(-15deg);z-index:1;pointer-events:none}.hero-section:after{content:"";position:absolute;bottom:-25%;left:-15%;width:50%;height:75%;background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;z-index:0;pointer-events:none}.hero-content{max-width:650px;flex:1;position:relative;z-index:2;margin-left:auto;padding-left:3rem}.hero-title{font-size:3.5rem;margin-bottom:1.25rem;line-height:1.2;font-weight:800;letter-spacing:-.03em}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.95;font-weight:500;letter-spacing:-.01em;max-width:550px;line-height:1.6}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-large{padding:1rem 2rem;font-size:1.2rem;font-weight:600}.hero-image{flex:1;display:flex;justify-content:center;align-items:center;position:relative;z-index:2}.hero-icon{font-size:12rem;opacity:.2;transform-origin:center;animation:float 8s ease-in-out infinite}@media(max-width:991px){.hero-icon{font-size:8rem}}@media(max-width:991px){.hero-title{font-size:3rem}.hero-subtitle{font-size:1.25rem}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.section-title{font-size:2rem;margin-bottom:.75rem;color:var(--primary-color);font-weight:700;line-height:1.3}.features-section .section-title,.how-to-section .section-title{text-align:center;font-size:2.5rem;margin-bottom:1rem;font-weight:800;letter-spacing:-.02em}.section-header{text-align:left;margin-bottom:2.5rem}.features-section .section-header,.how-to-section .section-header{text-align:center;max-width:700px;margin-left:auto;margin-right:auto;margin-bottom:3rem;padding:0 1rem}.section-header .section-title{margin-bottom:1rem;font-size:2.5rem;font-weight:700;color:var(--primary-color);line-height:1.2}.section-subtitle{font-size:1.125rem;color:var(--text-color-light);line-height:1.7;max-width:100%;margin:0}.features-section .section-subtitle,.how-to-section .section-subtitle{text-align:center;margin-top:.5rem}.features-section{padding:4rem 0;position:relative;background-color:var(--background-color)}.features-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:0}@media(max-width:768px){.features-grid{grid-template-columns:1fr;gap:2rem}}.feature-card{background-color:var(--card-bg);border-radius:14px;padding:2rem;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color);display:flex;flex-direction:column;min-height:300px;box-shadow:0 2px 12px rgba(var(--primary-color-rgb),.07);overflow:hidden}.feature-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 8px 24px rgba(var(--primary-color-rgb),.13);border-color:var(--primary-color);background:var(--hover-color)}.feature-icon-container{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));margin-bottom:1.5rem;box-shadow:0 8px 16px rgba(var(--primary-color-rgb),.2);flex-shrink:0;transition:all .3s ease}.feature-card:hover .feature-icon-container{transform:scale(1.1) rotate(5deg);box-shadow:0 10px 20px rgba(var(--primary-color-rgb),.3)}.feature-icon{font-size:2rem;color:#fff}.feature-card h3{font-size:1.3rem;margin-bottom:1rem;color:var(--primary-color);font-weight:700;letter-spacing:-.02em;transition:color .3s ease}.feature-card:hover h3{color:var(--secondary-color)}.feature-card p{color:var(--text-color-light);line-height:1.7;flex-grow:1;margin-bottom:1.5rem;font-size:.95rem}.feature-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color);font-weight:600;text-decoration:none;padding:.5rem 0;transition:all .3s ease}.feature-link:hover{gap:.75rem;color:var(--secondary-color)}.how-to-section{padding:5rem 0;background-color:var(--surface-color)}.how-to-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.steps-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}@media(max-width:992px){.steps-container{grid-template-columns:1fr;gap:2rem}}.step-card{background-color:var(--surface-color);border-radius:12px;padding:2rem 1.75rem;display:flex;gap:1.5rem;align-items:flex-start;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 12px rgba(var(--primary-color-rgb),.07)}.step-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 8px 24px rgba(var(--primary-color-rgb),.13);border-color:var(--primary-color);background:var(--hover-color)}.step-number{background-color:var(--primary-color);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.step-content h3{font-size:1.3rem;margin-bottom:.5rem;color:var(--primary-color)}.recent-locks-section{padding:5rem 0;background-color:var(--background-color)}.recent-locks-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.recent-locks-section .section-header{margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem;text-align:left}.recent-locks-section .section-header>div{flex:1;min-width:300px}.recent-locks-section .section-title{margin-bottom:.5rem;text-align:left}.recent-locks-section .section-subtitle{text-align:left;margin:0}@media(max-width:768px){.recent-locks-section .section-header{flex-direction:column;text-align:center}.recent-locks-section .section-header>div{text-align:center}.recent-locks-section .section-title,.recent-locks-section .section-subtitle{text-align:center}}.recent-locks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}@media(max-width:768px){.recent-locks-grid{grid-template-columns:1fr}}.lock-card{background-color:var(--surface-color);border-radius:10px;padding:1.5rem;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.lock-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px var(--shadow-color)}.lock-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.lock-card-header i{font-size:1.5rem;color:var(--primary-color)}.lock-card-header h3{font-size:1.2rem;color:var(--primary-color)}.lock-description{color:var(--text-color-light);margin-bottom:1.5rem;min-height:3em}.lock-card-actions{display:flex;gap:1rem}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.coloradd-info-inline{margin-top:1rem;padding:1rem;background:var(--subtle-bg);border-radius:8px;border-left:3px solid var(--primary-color)}.coloradd-info-inline p{margin-bottom:.75rem;font-size:.9rem;color:var(--text-color-light)}.coloradd-info-inline strong{color:var(--text-color)}.accessibility-note{margin-top:1.5rem;padding:1rem 1.5rem;background:var(--hover-color);border-left:4px solid var(--primary-color);border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text-color)}.accessibility-note i{color:var(--primary-color);font-size:1.2rem;flex-shrink:0}.accessibility-note a{color:var(--primary-color);text-decoration:underline;font-weight:600;white-space:nowrap}.accessibility-note a:hover{text-decoration:none}.generator-start-btn{display:inline-flex;margin-top:1.5rem}.accessibility-note strong{color:var(--primary-color)}@media(max-width:768px){.accessibility-note{flex-direction:column;align-items:flex-start;gap:.5rem}.accessibility-note i{align-self:flex-start}}.empty-state{text-align:center;padding:3rem;background-color:var(--surface-color);border-radius:10px;border:1px solid var(--border-color)}.empty-state i{font-size:4rem;color:var(--primary-color);margin-bottom:1rem;opacity:.5}.empty-state p{color:var(--text-color-light);margin-bottom:1.5rem}.main-footer{background-color:var(--card-bg);border-top:1px solid var(--border-color);padding:5rem 0 0;margin-top:6rem;position:relative;overflow:hidden}.main-footer:before{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.03) 0%,transparent 70%);top:-200px;right:-150px;border-radius:50%;z-index:0}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;position:relative;z-index:1}.footer-section h3{color:var(--text-color);margin-bottom:1.5rem;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.footer-section p{color:var(--text-color-light);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.footer-section ul{list-style:none;padding:0}.footer-section a{color:var(--text-color-light);text-decoration:none;transition:all .3s ease;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem}.footer-section a:hover{color:var(--primary-color);transform:translate(3px)}.footer-section a i{font-size:.75rem;opacity:0;transition:all .3s ease}.footer-section a:hover i{opacity:1}.social-links{display:flex;gap:1rem;margin-top:1.5rem}.social-link{width:40px;height:40px;border-radius:50%;background-color:var(--hover-color);color:var(--primary-color);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.social-link:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-5px)}.footer-section ul{list-style:none;padding:0;margin:1rem 0 0}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a{color:var(--text-color-light);text-decoration:none;transition:color .2s ease;display:inline-flex;align-items:center;gap:.5rem}.footer-section ul li a:hover{color:var(--primary-color);text-decoration:underline}.footer-section kbd{background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.875rem;color:var(--text-color);box-shadow:0 2px 4px var(--shadow-color)}.footer-bottom{text-align:center;padding:2rem 2rem 2rem 120px;margin-top:4rem;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.9rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.footer-bottom-links{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-bottom-links a{color:var(--text-muted);font-size:.9rem;text-decoration:none;transition:color .3s ease}.footer-bottom-links a:hover{color:var(--primary-color)}@media(max-width:768px){.footer-bottom{flex-direction:column;text-align:center;padding:2rem;padding-left:100px}.footer-bottom-links{justify-content:center}.hero-content{padding-left:0;margin-left:0}}@media(max-width:768px){.hero-section{flex-direction:column;text-align:center;padding:3rem 1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero-actions{justify-content:center}.hero-icon{font-size:10rem}.section-title{font-size:2rem}.step-card{flex-direction:column;align-items:center;text-align:center}.footer-content{text-align:center}.footer-section ul{display:inline-block;text-align:left}}.help-hero{background:linear-gradient(135deg,#121212,#2d3748);color:#fff;padding:4rem 2rem;text-align:center;position:relative;overflow:hidden}.help-search{max-width:600px;margin:2rem auto 0;position:relative}.help-search input{width:100%;padding:1rem 3rem 1rem 1.5rem;border:none;border-radius:50px;font-size:1.1rem;background-color:#ffffff1a;color:#fff;backdrop-filter:blur(5px)}.help-search input::placeholder{color:#ffffffb3}.help-search i{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:#ffffffb3}:root[data-theme=light] .help-search input{background-color:#0000000d;color:#1e293b;border:1px solid rgba(0,0,0,.1)}:root[data-theme=light] .help-search input::placeholder{color:#0006}:root[data-theme=light] .help-search i{color:#0006}.guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.guide-card{background-color:var(--surface-color);border-radius:10px;padding:2rem;text-align:center;text-decoration:none;color:var(--text-color);border:1px solid var(--border-color);transition:all .3s ease}.guide-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px var(--shadow-color);color:var(--primary-color)}.guide-card i{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem}.guide-card h3{font-size:1.3rem;margin-bottom:.5rem}.faq-section{padding:4rem 0;background-color:var(--background-color)}.faq-grid{max-width:800px;margin:0 auto}.faq-item{background-color:var(--surface-color);border-radius:10px;margin-bottom:1rem;border:1px solid var(--border-color);overflow:hidden}.faq-question{padding:1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-question h3{font-size:1.2rem;color:var(--primary-color);margin:0}.faq-question i{color:var(--primary-color);transition:transform .3s ease}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 1.5rem}.faq-answer p{padding-bottom:1.5rem;margin:0;color:var(--text-color-light)}.faq-item.active .faq-answer{max-height:200px}.detailed-guides{padding:4rem 0}.guide-article{background-color:var(--surface-color);border-radius:10px;padding:2rem;margin-bottom:3rem;border:1px solid var(--border-color)}.guide-article h3{color:var(--primary-color);font-size:1.8rem;margin-bottom:2rem}.guide-content{display:grid;gap:2rem}.guide-step{display:flex;gap:1.5rem;align-items:flex-start}.guide-step .step-number{background-color:var(--primary-color);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.guide-step .step-content h4{color:var(--primary-color);margin-bottom:.5rem;font-size:1.2rem}.lock-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.lock-type-card{background-color:var(--card-bg);border-radius:14px;padding:2rem 1.5rem;text-align:center;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.34,1.56,.64,1);cursor:pointer;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 12px rgba(var(--primary-color-rgb),.07)}.lock-type-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 8px 24px rgba(var(--primary-color-rgb),.13);border-color:var(--primary-color);background:var(--hover-color)}.lock-type-card i{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;transition:all .3s ease}.lock-type-card:hover i{transform:scale(1.1) rotate(5deg);color:var(--secondary-color)}.lock-type-card h3{color:var(--primary-color);margin-bottom:.75rem;font-size:1.25rem;transition:color .3s ease}.lock-type-card p{color:var(--text-color-light);font-size:.95rem;line-height:1.6;margin:0}.share-method,.customization-option{display:flex;flex-direction:column;align-items:center;background-color:var(--background-color);border-radius:8px;padding:1.5rem;text-align:center;border:1px solid var(--border-color)}.share-method i,.customization-option i{font-size:2rem;color:var(--primary-color);margin-bottom:1rem}.share-method h4,.customization-option h4{color:var(--primary-color);margin-bottom:.5rem}.contact-section{text-align:center;padding:4rem 0;background-color:var(--background-color);border-radius:10px;margin-top:4rem}.contact-content{max-width:600px;margin:0 auto}.contact-content p{margin-bottom:2rem;color:var(--text-color-light)}.hints-container{background-color:var(--surface-color);border-radius:8px;padding:1rem;margin:1rem 0;border:1px solid var(--border-color)}.hints-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.hints-count{display:flex;align-items:center;gap:.5rem;color:var(--text-color-light)}.hints-count i{color:var(--primary-color)}.hint-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.hint-button:disabled{opacity:.5;cursor:not-allowed}.hint-button:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-2px)}.hint-content{background-color:var(--background-color);border-radius:4px;padding:1rem;margin-top:1rem;display:none}.hint-content.visible{display:block;animation:fadeIn .3s ease}.score-container{position:fixed;top:1rem;right:1rem;background-color:var(--surface-color);border-radius:8px;padding:.8rem 1.2rem;box-shadow:0 2px 4px var(--shadow-color);display:flex;align-items:center;gap:.8rem;z-index:1000}.score-icon{color:var(--primary-color);font-size:1.2rem}.score-value{font-weight:700;color:var(--text-color)}.timer-container{position:fixed;top:1rem;left:1rem;background-color:var(--surface-color);border-radius:8px;padding:.8rem 1.2rem;box-shadow:0 2px 4px var(--shadow-color);display:flex;align-items:center;gap:.8rem;z-index:1000}.timer-icon{color:var(--primary-color);font-size:1.2rem}.timer-value{font-weight:700;color:var(--text-color)}.timer-value.warning{color:var(--accent-color);animation:pulse 1s infinite}.missions-container{background-color:var(--surface-color);border-radius:8px;padding:1.5rem;margin:2rem 0;border:1px solid var(--border-color)}.missions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.missions-title{font-size:1.5rem;color:var(--primary-color);display:flex;align-items:center;gap:.8rem}.missions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.mission-card{background-color:var(--background-color);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.mission-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px var(--shadow-color)}.mission-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.mission-title{font-size:1.2rem;color:var(--primary-color);margin:0}.mission-reward{background-color:var(--primary-color);color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.9rem}.mission-description{color:var(--text-color-light);margin-bottom:1rem}.mission-progress{height:4px;background-color:var(--border-color);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.mission-progress-bar{height:100%;background-color:var(--primary-color);transition:width .3s ease}.mission-status{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--text-color-light)}.mission-card.completed{border-color:var(--success-color)}.mission-card.completed .mission-title{color:var(--success-color)}.mission-notification{position:fixed;bottom:2rem;right:2rem;background-color:var(--surface-color);border-radius:8px;padding:1rem;box-shadow:0 4px 6px var(--shadow-color);display:flex;align-items:center;gap:1rem;z-index:1000;animation:slideIn .3s ease}.mission-notification i{font-size:2rem;color:var(--success-color)}.mission-notification-content h4{color:var(--success-color);margin:0 0 .3rem}.mission-notification-content p{margin:0;color:var(--text-color)}.mission-notification .reward{color:var(--primary-color);font-weight:700}.themes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0}.theme-card{background-color:var(--surface-color);border-radius:8px;padding:2rem;text-align:center;border:1px solid var(--border-color);transition:all .3s ease}.theme-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px var(--shadow-color)}.theme-icon{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.theme-title{font-size:1.5rem;color:var(--primary-color);margin-bottom:.5rem}.theme-description{color:var(--text-color-light);margin-bottom:1.5rem}.theme-categories{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.theme-category{background-color:var(--background-color);padding:.3rem .8rem;border-radius:20px;font-size:.9rem;color:var(--text-color)}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.score-container,.timer-container{position:static;margin:1rem}.missions-grid{grid-template-columns:1fr}.mission-notification{left:1rem;right:1rem;bottom:1rem}}.difficulty-badge{display:inline-block;padding:2px 14px;border-radius:16px;font-size:1rem;font-weight:600;text-transform:lowercase;margin-left:8px;margin-bottom:2px;transition:transform .3s ease,box-shadow .3s ease,color .3s ease,background-color .3s ease}.difficulty-badge.difficulty-easy{background:#e6f4ea;color:#256029}.difficulty-badge.difficulty-medium{background:#fff7d6;color:#7c5a00}.difficulty-badge.difficulty-hard{background:#fdeaea;color:#a4262c}.difficulty-filters{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.difficulty-filter-btn{border:none;border-radius:12px;padding:8px 22px;font-size:1.1rem;font-weight:600;background:#f3f4f6;color:#222;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .3s ease}.difficulty-filter-btn.active{background:#181c23;color:#fff}.difficulty-filter-btn.all{background:#f3f4f6;color:#222;border:1px solid #ccc}.difficulty-filter-btn.active.all{background:#181c23;color:#fff;border:1px solid #181c23}.difficulty-filter-btn.easy{background:#e6f4ea;color:#256029;border:1px solid #c6e7d2}.difficulty-filter-btn.medium{background:#fff7d6;color:#7c5a00;border:1px solid #ffedb3}.difficulty-filter-btn.hard{background:#fdeaea;color:#a4262c;border:1px solid #fbd7d7}.difficulty-filter-btn.active.easy{background:#256029;color:#fff;border:1px solid #256029}.difficulty-filter-btn.active.medium{background:#7c5a00;color:#fff;border:1px solid #7c5a00}.difficulty-filter-btn.active.hard{background:#a4262c;color:#fff;border:1px solid #a4262c}.difficulty-filter-btn:hover:not(.active){transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color);border-color:var(--primary-color)}.difficulty-filter-btn.all:hover:not(.active){background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.difficulty-filter-btn.easy:hover:not(.active){background-color:#2560291a;color:#256029;border-color:#256029}.difficulty-filter-btn.medium:hover:not(.active){background-color:#7c5a001a;color:#7c5a00;border-color:#7c5a00}.difficulty-filter-btn.hard:hover:not(.active){background-color:#a4262c1a;color:#a4262c;border-color:#a4262c}.checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:.95rem;cursor:pointer;user-select:none;transition:color .2s ease;padding:.5rem 0}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin:0}.checkbox-label span{flex:1;line-height:1.5}.success-message-editor{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-bottom:20px;position:relative;background:var(--card-bg);transition:border-color .2s ease,box-shadow .2s ease}.success-message-editor:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);position:relative;flex-wrap:wrap}.toolbar-separator{width:1px;height:24px;background:var(--border-color);margin:0 4px}.editor-toolbar:after{content:"";position:absolute;top:-5px;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--primary-color));opacity:0;transition:opacity .3s ease,top .3s ease}.success-message-editor:hover .editor-toolbar:after{opacity:1;top:0}.format-select{padding:.5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.9rem;cursor:pointer;transition:border-color .2s ease;min-width:120px}.format-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.toolbar-btn{width:36px;height:36px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-color);transition:all .2s ease;padding:0;font-size:.9rem}.toolbar-btn:hover{background-color:var(--hover-color);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--primary-color-rgb),.1)}.toolbar-btn:active{transform:translateY(0);background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.editor-content{min-height:150px;padding:12px;background-color:var(--input-bg);color:var(--text-color);outline:none;overflow-y:auto;line-height:1.6;position:relative;font-family:inherit;font-size:.95rem}.editor-content:focus{outline:none}.editor-content.editor-empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;position:absolute;top:12px;left:12px;font-style:italic}.editor-content img{max-width:100%;height:auto;border-radius:4px;margin:.5rem 0}.editor-content a{color:var(--primary-color);text-decoration:underline}.editor-content a:hover{text-decoration:none}.editor-content ul,.editor-content ol{margin:.5rem 0;padding-left:2rem}.editor-content h1,.editor-content h2,.editor-content h3{margin:1rem 0 .5rem;font-weight:600;line-height:1.3}.editor-content h1{font-size:1.75rem}.editor-content h2{font-size:1.5rem}.editor-content h3{font-size:1.25rem}.editor-content p{margin:.5rem 0}.toolbar-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.toolbar-btn.active:hover{background-color:var(--primary-color);color:#fff;transform:none}.additional-codes-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.code-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.code-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.1)}.code-item .code-input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.code-item .code-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.code-item .code-remove{color:var(--error-color);background:transparent;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.code-item .code-remove:hover{background:#ef44441a;color:var(--error-color)}.form-help-text{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.custom-url-input{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.custom-url-input:hover{border-color:var(--secondary-color);box-shadow:0 3px 8px rgba(var(--secondary-color-rgb),.1)}.url-prefix{background-color:var(--surface-color);color:var(--text-muted);font-size:.9rem;padding:0 10px;height:44px;display:flex;align-items:center;border-right:1px solid var(--border-color);transition:background-color .3s ease,color .3s ease}.custom-url-input:hover .url-prefix{background-color:rgba(var(--secondary-color-rgb),.05);color:var(--secondary-color)}.custom-url-input input{border:none;border-radius:0;height:44px;flex:1;transition:background-color .3s ease}.custom-url-input input:focus{box-shadow:none}.directory-selector{display:flex;gap:8px}.directory-selector input{flex:1;background-color:var(--surface-color);color:var(--text-color)}.directory-selector button{white-space:nowrap;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background-color .3s ease}.directory-selector button:hover{transform:translateY(-2px) scale(1.03);background-color:rgba(var(--secondary-color-rgb),.1);color:var(--secondary-color)}.directory-selector button i{transition:transform .3s ease}.directory-selector button:hover i{transform:rotate(15deg)}.lock-type-card{position:relative;border:1px solid var(--border-color)}.lock-type-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;z-index:-1}.lock-type-card:hover:before{opacity:1}.lock-type-card:hover h3{color:var(--secondary-color)}.lock-type-card:hover .difficulty-badge.difficulty-easy{background:linear-gradient(to right,#e6f4ea,#d0eed9);color:#1a4a1c;transform:scale(1.05);box-shadow:0 3px 8px #25602933}.lock-type-card:hover .difficulty-badge.difficulty-medium{background:linear-gradient(to right,#fff7d6,#ffe7a0);color:#614500;transform:scale(1.05);box-shadow:0 3px 8px #7c5a0033}.lock-type-card:hover .difficulty-badge.difficulty-hard{background:linear-gradient(to right,#fdeaea,#fcd2d2);color:#7d1e22;transform:scale(1.05);box-shadow:0 3px 8px #a4262c33}@media(max-width:768px){.editor-toolbar{flex-wrap:wrap}.directory-selector{flex-direction:column}.directory-selector button{align-self:flex-start}.custom-url-input{flex-direction:column;align-items:stretch}.url-prefix{border-right:none;border-bottom:1px solid var(--border-color)}}.nav-link{position:relative;overflow:hidden}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(to right,var(--primary-color),var(--secondary-color));transition:width .3s ease,left .3s ease;z-index:1}.nav-link:hover{color:var(--secondary-color)}.nav-link:hover:after{width:100%;left:0}input:not([type=radio]):not([type=checkbox]):hover,textarea:hover,select:hover{border-color:var(--secondary-color);box-shadow:0 0 0 1px rgba(var(--secondary-color-rgb),.1)}.qr-section{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;border:1px solid transparent}.qr-section:hover{transform:translateY(-5px);border-color:var(--secondary-color);box-shadow:0 10px 20px rgba(var(--secondary-color-rgb),.1)}.share-panel{border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-top:1.5rem;background:var(--card-bg)}.share-panel h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.share-panel p{margin-bottom:1rem;color:var(--text-color)}#qrCode canvas{border-radius:12px;background:#fff;padding:.5rem}.qr-description{margin-bottom:1rem;color:var(--text-color)}.share-link-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.share-link-control{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.share-link-control input{flex:1;min-width:240px}.qr-wrapper{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.code-length-control{display:flex;flex-direction:column;gap:.4rem}#codeLength{max-width:140px}.code-length-hint{font-size:.85rem;color:var(--text-color);opacity:.8}.lock-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color);flex-wrap:wrap}.lock-header-content{flex:1;min-width:200px}.lock-header h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--primary-color)}.lock-difficulty-label{display:inline-block;margin-top:.5rem}.lock-type-selector{margin-bottom:3rem}.lock-type-selector .section-header{margin-bottom:2rem}.lock-type-selector h2{font-size:2rem;margin-bottom:.75rem;color:var(--primary-color)}.lock-creator{background:var(--card-bg);border-radius:16px;padding:2.5rem;border:1px solid var(--border-color);box-shadow:0 2px 12px rgba(var(--primary-color-rgb),.07);margin-bottom:2rem}.lock-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;padding:1.5rem;margin-bottom:2rem;border-radius:12px;background:var(--surface-color);border:1px solid var(--border-color)}.lock-summary-item span{font-size:.85rem;color:var(--text-color);display:block}.lock-summary-item strong{font-size:1.1rem;color:var(--heading-color)}.cryptex-lab,.safe-dial-lab,.music-lab{background:var(--card-bg);border-radius:12px;padding:1rem;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.cryptex-preview{display:flex;gap:.5rem;justify-content:center;font-family:monospace;font-size:1.5rem;letter-spacing:.2rem;padding:.75rem;border-radius:8px;background:var(--subtle-bg)}.cryptex-preview span{display:inline-flex;width:32px;height:48px;align-items:center;justify-content:center;border-radius:8px;background:var(--card-bg);box-shadow:inset 0 0 6px #0000001a}.safe-dial-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.safe-dial-value{font-size:2rem;font-weight:700;color:var(--primary-color)}.safe-sequence{min-height:48px;padding:.75rem;border-radius:8px;border:1px dashed var(--border-color);background:var(--background-color);font-size:.95rem}.safe-controls,.music-controls{display:flex;gap:.75rem;flex-wrap:wrap}.music-result{min-height:48px;padding:.75rem;border-radius:8px;background:var(--subtle-bg);font-family:monospace}.music-table{width:100%;border-collapse:collapse;font-size:.85rem}.music-table th,.music-table td{border:1px solid var(--border-color);padding:6px;text-align:center}.word-wheel-lock .wheel-btn{cursor:pointer;transition:transform .2s ease,background .2s ease}.word-wheel-lock .wheel-btn:hover{transform:translateY(-1px);background:var(--subtle-bg)}.switch-button{width:62px;min-height:104px;padding:.6rem;border:1px solid #687187;border-radius:14px;background:linear-gradient(145deg,#202738,#111724);color:#dfe7f6;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-shadow:inset 0 1px 1px #ffffff24,0 7px 12px #070f2138}.switch-button:active{transform:scale(.95)}.switch-button.is-active{background:linear-gradient(145deg,#116fe6,#0348ae)}.switches-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.switch-lever{width:10px;height:52px;border-radius:999px;background:linear-gradient(90deg,#6b7280,#f3f4f6 48%,#6b7280);border:1px solid rgba(0,0,0,.35);transform:rotate(-28deg);transform-origin:bottom center;transition:transform .18s ease;box-shadow:0 3px 5px #00000059}.switch-button.is-active .switch-lever{transform:rotate(28deg)}.switch-label{font-weight:700;font-size:.8rem}.slider-lock .slider-input{width:100%}.slider-lock .slider-value{font-weight:600;color:var(--secondary-color)}.directional-helper{margin-bottom:.5rem;font-size:.9rem;color:var(--text-color)}.directional-memory{min-height:48px;padding:.75rem;margin-bottom:1rem;background:var(--card-bg);border-radius:10px;display:none;gap:.5rem;justify-content:flex-start;align-items:center;border:1px dashed var(--border-color);flex-wrap:wrap}.directional-step{font-size:1.4rem}.directional-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.cryptex-lock{display:flex;flex-direction:column;gap:1rem;align-items:center;max-width:620px;margin:0 auto;padding:1.5rem;border:1px solid var(--border-color);border-radius:20px;background:linear-gradient(145deg,rgba(2,82,205,.08),transparent 45%),var(--card-bg)}.cryptex-rings{position:relative;display:flex;gap:.4rem;padding:.9rem 1.1rem;flex-wrap:wrap;justify-content:center}.cryptex-rings:before{content:"";position:absolute;left:2%;right:2%;top:50%;height:54px;transform:translateY(-50%);border-radius:14px;background:linear-gradient(180deg,#314b70,#172b48 48%,#0d1d34);box-shadow:inset 0 2px 4px #ffffff40,inset 0 -4px 8px #00000052}.cryptex-ring{position:relative;z-index:1;display:flex;flex-direction:column;gap:.4rem;align-items:center}.cryptex-btn{border:1px solid rgba(2,82,205,.5);background:linear-gradient(145deg,#f8fbff,#dce8f7);color:var(--primary-color);border-radius:999px;width:36px;height:36px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:.8rem;box-shadow:0 2px 4px #0f20432e}.cryptex-btn:active{transform:translateY(1px)}.cryptex-letter{width:54px;height:66px;border-radius:9px;border:2px solid #6e7f94;background:linear-gradient(180deg,#263b58 0 26%,#f6f9fd 27% 73%,#223650 74% 100%);color:#0c2443;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:inset 0 0 8px #0000004d,0 4px 7px #00000038}.cryptex-letter strong{line-height:1;font-size:1.65rem}.cryptex-letter-fade{line-height:1;font-size:.8rem;opacity:.42}.cryptex-current-word{font-size:1.6rem;font-family:monospace;letter-spacing:.28em;font-weight:800;color:var(--primary-color)}.rotary-lock{display:flex;flex-direction:column;gap:1.5rem;align-items:center;justify-content:center;padding:2.5rem 1.5rem;border-radius:16px;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);width:100%;max-width:500px;margin:0 auto;box-shadow:0 2px 12px #00000014}.rotary-heading{font-weight:600;text-align:center;letter-spacing:.08em;text-transform:uppercase}.rotary-dial-wrapper{display:flex;justify-content:center;align-items:center}.rotary-dial{width:300px;height:300px;border-radius:50%;position:relative;background:radial-gradient(circle at 50% 48%,#2c2e40 0 22%,#10111b 23% 52%,#343547 53% 55%,#11121b 56% 100%);border:7px solid #77788a;box-shadow:inset 0 0 25px #0000001a,0 20px 40px #00000026;outline:none;cursor:grab;touch-action:none;transition:all .3s ease}.rotary-dial:active{cursor:grabbing}:root[data-theme=light] .rotary-dial{background:radial-gradient(circle at 50% 48%,#2c2e40 0 22%,#10111b 23% 52%,#555668 53% 55%,#181923 56% 100%);border-color:#878898;box-shadow:inset 0 0 25px #0000000d,0 20px 40px #0000001a}:root[data-theme=dark] .rotary-dial{background:radial-gradient(circle at 50% 48%,#3c3d50 0 22%,#10111b 23% 52%,#525363 53% 55%,#0c0d16 56% 100%);border-color:#757687;box-shadow:inset 0 0 25px #00000073,0 20px 40px #00000073}.rotary-ticks{position:absolute;inset:10px;transition:transform .16s ease-out;border-radius:50%}.rotary-tick{position:absolute;top:50%;left:50%;width:2px;height:11px;margin:-5.5px -1px;transform:rotate(var(--tick-rotation)) translateY(-132px);background:#dfe4f5;border-radius:999px;opacity:.92}.rotary-tick-major{width:3px;height:21px;margin:-10.5px -1.5px;transform:rotate(var(--tick-rotation)) translateY(-128px);background:#fff}.rotary-tick-label{position:absolute;top:28px;left:50%;transform:translate(-50%) rotate(calc(-1 * var(--tick-rotation)));color:#f8f9ff;font-family:var(--font-primary);font-size:.8rem;font-weight:700;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap}.rotary-pointer{position:absolute;top:-3px;left:50%;width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:30px solid #f8f9ff;transform:translate(-50%);filter:drop-shadow(0 2px 1px rgba(0,0,0,.45));z-index:3}.rotary-hub{position:absolute;top:50%;left:50%;transform:translate(-50%);transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,#9595a8 0 38%,#555667 40% 54%,#20212d 56% 100%);border:4px solid #151620;box-shadow:inset 0 2px 6px #ffffff2e,0 4px 9px #00000059;z-index:2;display:grid;place-items:center}.rotary-value{font-size:2.2rem;font-weight:700;text-align:center;color:#f8f9ff;line-height:1;text-shadow:0 2px 2px rgba(0,0,0,.35)}.rotary-slider{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rotary-direction{display:flex;gap:1.25rem;justify-content:center;font-weight:600;align-items:center;flex-wrap:wrap;padding:.65rem .8rem;border:1px solid var(--border-color);border-radius:12px;background:var(--subtle-bg)}.rotary-direction input{margin-right:.35rem}.rotary-direction>span{width:100%;text-align:center;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.rotary-sequence-heading{margin-bottom:0;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.rotary-sequence{min-height:32px;width:100%;padding:.85rem;border-radius:10px;background:var(--surface-color);border:1px solid var(--border-color);font-size:.95rem;color:var(--text-color);text-align:center}.rotary-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.cipher-callout .resource-card{border:1px dashed var(--secondary-color);background:rgba(var(--secondary-color-rgb),.05)}#downloadQR:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))}.lock-types-grid{transition:opacity .3s ease;grid-template-columns:repeat(3,1fr)}.lock-types-grid:hover .lock-type-card:not(:hover){opacity:.8;transform:scale(.98)}@media(max-width:768px){.lock-types-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.lock-types-grid{grid-template-columns:1fr}}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--primary-color),var(--secondary-color))}.notification.success{background:linear-gradient(135deg,var(--success-color),#27ae60)}.notification.error{background:linear-gradient(135deg,var(--error-color),#c0392b)}.nav-logo{transition:color .3s ease,transform .3s ease}.nav-logo:hover{color:var(--secondary-color);transform:scale(1.05)}.nav-logo i{transition:transform .3s ease,color .3s ease}.nav-logo:hover i{transform:rotate(10deg);color:var(--secondary-color)}.dev-ribbon{position:fixed;top:52px;right:-52px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;padding:12px 60px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transform:rotate(45deg);transform-origin:center;z-index:9998;box-shadow:0 4px 20px #f59e0b80;pointer-events:none;white-space:nowrap;transition:all .3s ease;text-shadow:0 2px 4px rgba(0,0,0,.3)}.dev-ribbon:before{content:"";position:absolute;top:0;left:-5px;width:0;height:0;border-style:solid;border-width:0 0 28px 5px;border-color:transparent transparent #D97706 transparent}.dev-ribbon:after{content:"";position:absolute;top:0;right:-5px;width:0;height:0;border-style:solid;border-width:0 5px 28px 0;border-color:transparent #D97706 transparent transparent}.dev-ribbon-bottom{position:fixed;bottom:52px;left:-58px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;padding:12px 60px;font-size:0;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transform:rotate(225deg);transform-origin:center;z-index:9998;box-shadow:0 4px 20px #f59e0b80;pointer-events:none;white-space:nowrap;transition:all .3s ease;text-shadow:0 2px 4px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}.dev-ribbon-bottom>*{font-size:0;opacity:0}.dev-ribbon-bottom:before{content:"En desarrollo";font-size:.9rem;display:inline-block;transform:rotate(180deg);position:relative;z-index:1;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.dev-ribbon-bottom:after{content:"";position:absolute;top:0;right:-5px;width:0;height:0;border-style:solid;border-width:0 5px 28px 0;border-color:transparent #D97706 transparent transparent}@media(max-width:768px){.dev-ribbon{top:28px;right:-35px;padding:10px 50px;font-size:.8rem}.dev-ribbon-bottom{bottom:28px;left:-35px;padding:10px 50px;font-size:.8rem}}@media(max-width:480px){.dev-ribbon{top:22px;right:-38px;padding:8px 45px;font-size:.75rem;letter-spacing:.08em}.dev-ribbon-bottom{bottom:22px;left:-38px;padding:8px 45px;font-size:.75rem;letter-spacing:.08em}.footer-bottom{padding-left:80px}}.history-item,.mission-card{position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,background-color .3s ease,border-color .3s ease;overflow:hidden;border:1px solid transparent}.history-item:hover,.mission-card:hover{border-color:var(--secondary-color)}.history-item:before,.mission-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--secondary-color-rgb),.05),rgba(var(--primary-color-rgb),.05));opacity:0;transition:opacity .3s ease;z-index:-1}.history-item:hover:before,.mission-card:hover:before{opacity:1}.history-item-actions button{transition:color .3s ease,transform .3s ease}.history-item-actions button:hover{color:var(--secondary-color);transform:scale(1.15)}.btn-copy:hover{color:#27ae60!important}.btn-qr:hover{color:#3498db!important}.btn-delete:hover{color:#e74c3c!important}:root{--focus-ring: 0 0 0 3px rgba(52, 152, 219, .5);--error-focus: 0 0 0 3px rgba(231, 76, 60, .5);--outline-width: 2px;--form-element-spacing: 1rem;--contrast-ratio-text: 4.5;--transition-duration: .3s}a:focus,button:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:var(--outline-width) solid var(--primary-color);outline-offset:2px;box-shadow:var(--focus-ring)}@media(prefers-contrast:more){:root{--primary-color: #0066cc;--secondary-color: #009900;--error-color: #cc0000;--background-color: #ffffff;--text-color: #000000;--border-color: #000000}.difficulty-badge.difficulty-easy{background:#d4f8d4;color:#040;border:1px solid #004400}.difficulty-badge.difficulty-medium{background:#fff0b3;color:#640;border:1px solid #664400}.difficulty-badge.difficulty-hard{background:#fcc;color:#900;border:1px solid #990000}input,select,textarea,.btn,.lock-type-card{border-width:2px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.keypad-button:hover,.btn:hover,.lock-type-card:hover{transform:none!important}.success-message-editor:hover .editor-toolbar:after,.nav-link:hover:after,.btn:hover:before,.btn-primary:hover,.difficulty-filter-btn:hover:not(.active),::-webkit-scrollbar-thumb:hover{transition:none!important;animation:none!important}}html{font-size:16px}@media(max-width:768px){html{font-size:14px}}body{line-height:1.6;letter-spacing:.01em}p,li{max-width:68ch}.skip-to-content{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;background:#0252cd;color:#fff;padding:.75rem 1.5rem;border-radius:8px;z-index:2000;font-weight:600;text-decoration:none;transition:left .2s,box-shadow .2s}.skip-to-content:focus{left:20px;top:20px;width:auto;height:auto;outline:2px solid #0252CD;box-shadow:0 2px 8px #0252cd26}input:invalid,textarea:invalid,select:invalid{border-color:var(--error-color)}input:invalid:focus,textarea:invalid:focus,select:invalid:focus{box-shadow:var(--error-focus)}.validation-message{font-size:.8rem;color:var(--error-color);margin-top:5px;animation:fadeIn .3s ease}.tooltip-container{position:relative;display:inline-block}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:var(--text-color-light);color:#fff;font-size:.7rem;margin-left:5px;cursor:help}.tooltip-content{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);background-color:var(--surface-color);color:var(--text-color);padding:8px 12px;border-radius:4px;box-shadow:0 3px 6px #00000026;width:200px;z-index:10;opacity:0;pointer-events:none;transition:opacity .3s ease}.tooltip-container:hover .tooltip-content,.tooltip-icon:focus+.tooltip-content{opacity:1}.text-muted{color:#6c7580}.keypad-button{min-width:44px;min-height:44px;font-size:1.2rem}.delete-button{background-color:rgba(var(--error-color-rgb, 231, 76, 60),.1);color:var(--error-color)}.delete-button:hover{background-color:rgba(var(--error-color-rgb, 231, 76, 60),.9);color:#fff}.active-state{position:relative}.active-state:after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background-color:var(--success-color)}@media(max-width:480px){.btn{width:100%;margin-bottom:8px}.form-actions{flex-direction:column}.lock-creator{padding:1rem}.keypad-button{margin:5px}}.btn{position:relative;padding:10px 16px;border-radius:6px;font-weight:500;letter-spacing:.02em;text-align:center}.notification{border-radius:6px;padding:12px 16px;position:fixed;z-index:1000;right:16px;bottom:16px;max-width:300px;box-shadow:0 4px 8px #0000001a;display:flex;align-items:center;animation:slideInRight .3s ease-out}.notification.success:before,.notification.error:before{font-family:"Font Awesome 5 Free";font-weight:900;margin-right:10px;font-size:1.2rem}.notification.success:before{content:"\f058"}.notification.error:before{content:"\f057"}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.large-controls{font-size:1.2rem;padding:12px 20px}.spacing-controls>*{margin-right:16px;margin-bottom:16px}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner{width:30px;height:30px;border:3px solid var(--primary-color);border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lock-type-selector,.lock-creator,.lock-preview{transition:opacity .3s ease,transform .3s ease}:root[data-theme=dark]{--text-color: #ffffff;--background-color: #121212;--surface-color: #1e1e1e;--primary-color: #64b5f6;--secondary-color: #4ecca3;--border-color: rgba(255, 255, 255, .15)}:root[data-theme=dark] .btn-secondary{background-color:#2d2d2d;border-color:#454545}.history-hero{background:linear-gradient(135deg,#121212,#2d3748);color:#fff;padding:4rem 2rem;margin-bottom:3rem;text-align:center;position:relative;overflow:hidden}.history-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:75%;height:150%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 60%);transform:rotate(-15deg);z-index:1;pointer-events:none}.history-hero:after{content:"";position:absolute;bottom:-20%;left:-10%;width:50%;height:75%;background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;z-index:0;pointer-events:none}.history-hero .container{position:relative;z-index:2;max-width:800px}.history-hero .section-title{font-size:3.5rem;margin-bottom:1rem;color:#fff;font-weight:800;letter-spacing:-.03em;line-height:1.1}.history-hero .section-subtitle{font-size:1.25rem;opacity:.9;max-width:600px;margin:0 auto;font-weight:500;letter-spacing:-.01em}.filters-section{background-color:var(--card-bg);border-radius:16px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 8px 30px var(--shadow-color);border:1px solid var(--border-color)}.history-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;align-items:center}.history-filters .search-box{flex:1;min-width:250px;position:relative}.history-filters .search-box input{width:100%;padding:.8rem 1rem .8rem 2.5rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-size:1rem;transition:all .3s ease}.history-filters .search-box i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.history-filters .filter-options{display:flex;gap:.8rem}.history-filters select{padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-size:.9rem;transition:all .3s ease;cursor:pointer}.history-section{background-color:var(--card-bg);border-radius:16px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 8px 30px var(--shadow-color);border:1px solid var(--border-color)}.history-list-container{margin-bottom:1.5rem}.history-list{list-style:none;padding:0}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:1rem;background-color:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.history-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px var(--shadow-color);border-color:var(--secondary-color)}.history-item-content{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.history-item-name{font-weight:600;font-size:1.1rem;color:var(--text-color)}.history-item-type{font-size:.9rem;color:var(--text-muted);padding:.2rem .8rem;background-color:var(--tag-bg);border-radius:20px}.history-item-date{font-size:.8rem;color:var(--text-muted);margin-left:auto}.history-item-actions{display:flex;gap:.5rem}.history-item-actions button{background:none;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .3s ease}.history-item-actions button:hover{background-color:var(--hover-color);transform:scale(1.1)}.btn-copy:hover{color:var(--success-color)!important}.btn-delete:hover{color:var(--error-color)!important}.history-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.empty-history{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:1.1rem}.history-help-section{margin-bottom:3rem}.panel{border-radius:8px;overflow:hidden;box-shadow:0 2px 10px var(--shadow-color)}.panel-info{border:1px solid rgba(var(--secondary-color-rgb),.3)}.panel-heading{padding:1rem 1.5rem;background-color:rgba(var(--secondary-color-rgb),.1);border-bottom:1px solid rgba(var(--secondary-color-rgb),.2)}.panel-title{margin:0;font-size:1.2rem;color:var(--secondary-color);display:flex;align-items:center;gap:.5rem}.panel-body{padding:1.5rem;background-color:var(--surface-color)}.panel-body ul{margin:0;padding-left:1.5rem}.panel-body li{margin-bottom:.5rem}@media(max-width:768px){.history-hero,.help-hero{padding:3rem 1rem}.history-hero .section-title{font-size:2rem}.history-filters{flex-direction:column;align-items:stretch}.history-filters .filter-options{flex-direction:column}.history-item{flex-direction:column;align-items:flex-start}.history-item-content{margin-bottom:1rem;width:100%}.history-item-date{margin-left:0;margin-top:.5rem}.history-item-actions{width:100%;justify-content:flex-end}.history-actions{flex-direction:column}.history-actions button{width:100%}}:root[data-theme=light] .filters-section{background-color:#fff;box-shadow:0 2px 8px #00000014;border:1px solid #e0e0e0}:root[data-theme=light] .search-box input{border:1px solid #d0d0d0;background-color:#f8f9fa}:root[data-theme=light] .search-box input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33}:root[data-theme=light] .history-section{background-color:#fff;box-shadow:0 2px 8px #00000014;border:1px solid #e0e0e0}:root[data-theme=light] .history-item{background-color:#f8f9fa;border:1px solid #e0e0e0}:root[data-theme=light] .history-item-name{color:#2c3e50}:root[data-theme=light] .history-item-type{background-color:#2c3e501a;color:#2c3e50}:root[data-theme=light] .panel-body{background-color:#fff}:root[data-theme=light] .panel-info{border:1px solid rgba(52,152,219,.3)}.testimonials-section{padding:6rem 0;background-color:var(--background-color);position:relative;overflow:hidden}.testimonials-section:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.08) 0%,transparent 70%);top:-200px;left:-200px;border-radius:50%;z-index:0}.testimonials-section:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(var(--secondary-color-rgb),.08) 0%,transparent 70%);bottom:-150px;right:-150px;border-radius:50%;z-index:0}.testimonials-container{position:relative;z-index:1}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-top:3rem}.testimonial-card{background-color:var(--card-bg);border-radius:16px;padding:2.5rem;box-shadow:0 8px 30px var(--shadow-color);border:1px solid var(--border-color);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px var(--shadow-color)}.testimonial-quote{position:absolute;top:1.5rem;right:1.5rem;font-size:4rem;opacity:.1;color:var(--primary-color)}.testimonial-content{font-size:1.1rem;line-height:1.7;margin-bottom:2rem;color:var(--text-color);font-weight:500;position:relative;z-index:1}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:50px;height:50px;border-radius:50%;background-color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.author-info h4{font-size:1.1rem;margin-bottom:.25rem;color:var(--text-color)}.author-info p{font-size:.9rem;color:var(--text-color-light);margin-bottom:0}.testimonial-company{height:30px;opacity:.7;margin-top:1.5rem}@media(max-width:768px){.testimonials-grid{grid-template-columns:1fr}}.stats-section{padding:5rem 0;position:relative}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-top:2rem}.stat-card{text-align:center;padding:2rem}.stat-value{font-size:3.5rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.stat-label{font-size:1.1rem;color:var(--text-color-light);max-width:200px;margin:0 auto}:root[data-theme=dark] .history-hero:hover,:root[data-theme=dark] .hero-section:hover{background-color:#10b98114;transition:background-color .3s ease}:root[data-theme=dark] .history-hero:hover .section-title,:root[data-theme=dark] .hero-section:hover .hero-title,:root[data-theme=dark] .history-hero:hover .section-subtitle,:root[data-theme=dark] .hero-section:hover .hero-subtitle{color:#fff;transition:color .3s ease}:root[data-theme=dark] .history-hero:before,:root[data-theme=dark] .hero-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.03));opacity:0;transition:opacity .3s ease;pointer-events:none}:root[data-theme=dark] .history-hero:hover:before,:root[data-theme=dark] .hero-section:hover:before{opacity:1}:root[data-theme=dark] .help-search input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133}:root[data-theme=dark] .help-search i{color:#9ca3af;transition:color .3s ease}:root[data-theme=dark] .help-search:hover i{color:#10b981}:root[data-theme=dark] .guide-card:hover{border-color:#10b981;transform:translateY(-5px);box-shadow:0 10px 25px #10b98126}:root[data-theme=dark] .guide-card:hover i{color:#10b981}:root[data-theme=dark] .hero-section:hover .btn-primary,:root[data-theme=dark] .history-hero:hover .btn-primary{background-color:#10b981;border-color:#10b981;box-shadow:0 4px 12px #10b98140}:root[data-theme=dark] .hero-section:hover .btn-secondary,:root[data-theme=dark] .history-hero:hover .btn-secondary{color:#10b981;border-color:#10b981}:root[data-theme=dark] .hero-section:hover .btn-secondary:hover,:root[data-theme=dark] .history-hero:hover .btn-secondary:hover{background-color:#10b9811a;transform:translateY(-3px)}:root[data-theme=dark] .faq-item:hover .faq-question{color:#10b981}:root[data-theme=light] .hero-section,:root[data-theme=light] .history-hero,:root[data-theme=light] .help-hero{background:#e2e8f0;color:#1e293b}:root[data-theme=light] .hero-section .hero-title,:root[data-theme=light] .history-hero .section-title,:root[data-theme=light] .help-hero h1{color:#0f172a}:root[data-theme=light] .hero-section .hero-subtitle,:root[data-theme=light] .history-hero .section-subtitle,:root[data-theme=light] .help-hero p{color:#334155}:root[data-theme=light] .hero-section,:root[data-theme=light] .history-hero,:root[data-theme=light] .help-hero{box-shadow:0 1px 3px #0000001a;border-bottom:1px solid rgba(0,0,0,.05)}:root[data-theme=light] .hero-section:before,:root[data-theme=light] .history-hero:before,:root[data-theme=light] .help-hero:before{background:radial-gradient(circle at center,rgba(0,0,0,.03) 0%,transparent 60%)}:root[data-theme=light] .hero-section:after,:root[data-theme=light] .history-hero:after,:root[data-theme=light] .help-hero:after{background:radial-gradient(circle at center,rgba(0,0,0,.02) 0%,transparent 70%)}:root[data-theme=light] .hero-section .btn-primary,:root[data-theme=light] .history-hero .btn-primary,:root[data-theme=light] .help-hero .btn-primary{background-color:#0252cd;color:#fff;border-color:#0252cd;box-shadow:0 4px 6px #0252cd40}:root[data-theme=light] .hero-section .btn-primary:hover,:root[data-theme=light] .history-hero .btn-primary:hover,:root[data-theme=light] .help-hero .btn-primary:hover{background-color:#0043a4;border-color:#0043a4;transform:translateY(-2px);box-shadow:0 6px 12px #0252cd4d}:root[data-theme=light] .hero-section .btn-secondary,:root[data-theme=light] .history-hero .btn-secondary,:root[data-theme=light] .help-hero .btn-secondary{background-color:transparent;color:#0252cd;border:1px solid #0252CD}:root[data-theme=light] .hero-section .btn-secondary:hover,:root[data-theme=light] .history-hero .btn-secondary:hover,:root[data-theme=light] .help-hero .btn-secondary:hover{background-color:#0252cd1a;color:#0043a4;transform:translateY(-2px)}.resource-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;align-items:center}.resource-filters .search-box{flex:1;min-width:250px;position:relative}.resource-filters .search-box input{width:100%;padding:.8rem 1rem .8rem 2.5rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-size:1rem;transition:all .3s ease}.resource-filters .search-box i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.resource-filters .filter-options{display:flex;gap:.8rem}.resource-filters select{padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-size:.9rem;transition:all .3s ease;cursor:pointer}.resources-section{margin-bottom:3rem;padding-top:2rem}.resources-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.resource-card{background-color:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column}.resource-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px var(--shadow-color);border-color:var(--primary-color)}.resource-icon{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}.resource-icon i{font-size:1.8rem;color:#fff}.resource-card h3{font-size:1.2rem;margin-bottom:.8rem;color:var(--text-color)}.resource-card p{color:var(--text-color-light);font-size:.95rem;margin-bottom:1.5rem;flex-grow:1}.resource-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.resource-type,.resource-level{font-size:.8rem;padding:.25rem .8rem;border-radius:20px;background-color:var(--tag-bg);color:var(--text-color-light)}.resource-card .btn{align-self:flex-start}.community-section{background-color:var(--card-bg);border-radius:16px;padding:3rem 2rem;margin:3rem 0;text-align:center;border:1px solid var(--border-color)}.community-section .section-title{margin-bottom:1.5rem}.community-section .section-description{max-width:800px;margin:0 auto 2rem;color:var(--text-color-light);font-size:1.1rem}.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.resource-filters{flex-direction:column;align-items:stretch}.resource-filters .filter-options{flex-direction:column}.resources-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}}.no-results{text-align:center;padding:2rem;color:var(--text-muted);width:100%;grid-column:1 / -1}.resource-filters .search-box{position:relative;transition:all .3s ease}.resource-filters .search-box:focus-within{transform:scale(1.02)}.resource-filters .search-box:focus-within i{color:var(--primary-color)}.resource-card{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.resource-card:hover .resource-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 10px 20px rgba(var(--primary-color-rgb),.2)}.resource-icon{transition:all .3s ease}.resource-meta{margin-top:auto}.resource-type,.resource-level{transition:all .3s ease}.resource-card:hover .resource-type,.resource-card:hover .resource-level{background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.resources-section .btn-primary{position:relative;overflow:hidden}.resources-section .btn-primary: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 .5s ease}.resources-section .btn-primary:hover:before{left:100%}.notification{position:fixed;bottom:20px;right:20px;background-color:var(--success-color);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;opacity:1;transition:opacity .3s ease;max-width:350px}.notification.error{background-color:var(--error-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.resource-card{animation:fadeIn .5s ease forwards}.resources-grid .resource-card:nth-child(1){animation-delay:.1s}.resources-grid .resource-card:nth-child(2){animation-delay:.2s}.resources-grid .resource-card:nth-child(3){animation-delay:.3s}.resource-modal{display:none!important;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:1100;overflow-y:auto;animation:fadeIn .3s ease;visibility:hidden;opacity:0}.resource-modal.visible{display:block!important;visibility:visible;opacity:1}.resource-modal-content{position:relative;background-color:var(--background-color);margin:30px auto;width:90%;max-width:1000px;border-radius:12px;box-shadow:0 15px 30px #0003;overflow:hidden;animation:slideUp .4s ease}.resource-modal-header{background-color:var(--primary-color);color:#fff;padding:1.5rem;position:relative;display:flex;justify-content:space-between;align-items:center}.resource-modal-header h2{margin:0;font-size:1.8rem;color:#fff}.close-modal{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-modal:hover{background-color:#fff3;transform:rotate(90deg)}.resource-modal-body{padding:2rem;overflow-y:auto}.resource-intro{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.resource-description{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:1.5rem}.resource-actions{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.coding-system{margin-bottom:3rem;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease}.coding-system h3{background-color:var(--card-bg);padding:1.2rem;margin:0;font-size:1.4rem;border-bottom:1px solid var(--border-color)}.system-content{padding:1.5rem}.system-description{margin-bottom:1.5rem}.system-implementation{background-color:var(--card-bg);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.system-implementation h4{margin-top:0;color:var(--primary-color)}.system-example{background-color:var(--surface-color);padding:1rem;border-radius:6px;margin-top:1rem;border-left:4px solid var(--primary-color)}.system-playground{background-color:var(--card-bg);padding:1.5rem;border-radius:8px}.system-playground h4{margin-top:0;color:var(--primary-color)}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:500}.input-group input{width:100%;padding:.8rem;border-radius:6px;border:1px solid var(--border-color)}.result-container{margin-top:1.5rem;padding:1rem;background-color:var(--surface-color);border-radius:6px}.result-container h5{margin-top:0;margin-bottom:.5rem;color:var(--text-color)}.encoded-result{font-family:monospace;font-size:1.2rem;color:var(--primary-color);padding:.5rem;min-height:2.5rem;word-break:break-all}.morse-table{display:grid;grid-template-columns:1fr;gap:.5rem;margin:1rem 0}.morse-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.morse-cell{background-color:var(--surface-color);padding:.5rem;text-align:center;border-radius:4px;font-family:monospace;font-size:.9rem}.polybius-grid{margin:1rem 0}.polybius-grid table{border-collapse:collapse;width:100%;max-width:300px;margin:0 auto}.polybius-grid th,.polybius-grid td{border:1px solid var(--border-color);padding:.5rem;text-align:center;font-family:monospace}.polybius-grid th{background-color:var(--primary-color);color:#fff}.polybius-grid td{background-color:var(--surface-color)}.pigpen-translation{margin-top:1rem;padding:1rem;background-color:var(--card-bg);border-radius:8px;border-left:4px solid var(--primary-color)}@media(max-width:480px){.polybius-grid table{font-size:.8rem}.polybius-grid th,.polybius-grid td{padding:.3rem}}.show-more-systems{text-align:center;margin:2rem 0 1rem}.img-fluid{max-width:100%;height:auto;display:block;margin:1rem auto}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.community-section{position:relative;overflow:hidden}.community-section:before{content:"";position:absolute;top:-100px;left:-100px;width:200px;height:200px;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.community-section:after{content:"";position:absolute;bottom:-100px;right:-100px;width:200px;height:200px;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.cta-buttons .btn{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.cta-buttons .btn:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(var(--primary-color-rgb),.2)}@media(max-width:768px){.resource-modal-content{width:95%;margin:20px auto}.morse-row{grid-template-columns:repeat(2,1fr)}.resource-actions{flex-direction:column}.resource-actions .btn{width:100%}}.nokia-keypad{max-width:370px;margin:0 auto;display:grid;gap:12px;padding:1.25rem;border:1px solid var(--border-color);border-radius:24px;background:linear-gradient(145deg,#fff,#edf3fb);box-shadow:0 16px 30px #0f204324}.nokia-display{background:linear-gradient(145deg,#f4f8ff,#dceafd);color:#112846;border:1px solid #b9cee8;border-radius:16px;padding:11px 14px 14px;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px #0f204314;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.nokia-status-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid rgba(43,79,123,.18);font-family:inherit;color:#405875}.nokia-clock{font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.nokia-battery{position:relative;width:23px;height:12px;border:2px solid #405875;border-radius:3px;box-sizing:border-box}.nokia-battery:after{content:"";position:absolute;right:-5px;top:2px;width:3px;height:5px;border-radius:0 2px 2px 0;background:#405875}.nokia-battery span{display:block;width:70%;height:100%;background:#0b61d4}.nokia-screen-title{align-self:flex-start;margin-top:.6rem;font-family:inherit;font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#476587}.nokia-code-preview{min-height:2.15rem;display:grid;place-items:center;color:#083b86;font-size:1.65rem;letter-spacing:.16em;font-variant-numeric:tabular-nums}.nokia-decoded-preview{color:#173453;font-size:.78rem;font-weight:800;letter-spacing:.06em}.nokia-current-key{min-height:1rem;text-align:center}.nokia-confirmation{display:grid;place-items:center;gap:.5rem;min-height:100px;color:#173453;font-size:.9rem}.nokia-confirmation strong{color:#075bd2;font-size:1.5rem;letter-spacing:.12em}.nokia-confirmation small{color:#58708d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.nokia-button{aspect-ratio:1;min-height:62px;border:1px solid #c5d4e5;background:#fff;color:#173453;border-radius:14px;padding:8px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px #b5c7da,0 5px 8px #0f20431a,inset 0 1px 2px #fffffff2;transition:all .1s ease}.nokia-button:active{box-shadow:0 1px #b5c7da;transform:translateY(2px)}.nokia-button small{font-size:.7rem;margin-top:3px;opacity:.7}.hexadecimal-lock{max-width:430px;margin:0 auto;padding:1.25rem;border:1px solid #b9cce1;border-radius:20px;background:linear-gradient(145deg,#f9fbff,#e7f0fb);box-shadow:0 12px 24px #0f20431f}.hexadecimal-display{display:flex;align-items:baseline;justify-content:center;gap:.55rem;min-height:68px;padding:.8rem 1rem;border:1px solid #b8cce3;border-radius:13px;background:#10213a;color:#d9ecff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hexadecimal-display span{color:#76b6ff;font-size:1.25rem;font-weight:800}.hexadecimal-display strong{overflow-wrap:anywhere;color:#fff;font-size:1.45rem;letter-spacing:.12em}.hexadecimal-helper{margin:.75rem 0;text-align:center;color:var(--text-muted);font-size:.88rem}.hexadecimal-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.hexadecimal-key{min-height:54px;border:1px solid #b5cce6;border-radius:12px;background:#fff;color:#103158;font:800 1.05rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer;box-shadow:0 3px #a6bfdb,0 6px 10px #0f204314}.hexadecimal-key:hover,.hexadecimal-key:focus-visible{border-color:var(--primary-color);color:var(--primary-color);background:#edf5ff}.hexadecimal-key:active{transform:translateY(3px);box-shadow:0 0 #a6bfdb}.hexadecimal-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.mirror-lock{max-width:540px;margin:0 auto;padding:1.25rem;border:1px solid var(--border-color);border-radius:20px;background:var(--card-bg)}.mirror-helper{margin:0 0 .8rem;text-align:center;color:var(--text-muted)}.mirror-mode-controls{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.mirror-mode-controls>span{width:100%;text-align:center;color:var(--text-muted);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.mirror-mode-controls button{border:1px solid var(--border-color);border-radius:9px;padding:.45rem .7rem;color:var(--text-color);background:var(--subtle-bg);font:inherit;font-weight:700;cursor:pointer}.mirror-mode-controls button.active{border-color:var(--primary-color);background:#0252cd1a;color:var(--primary-color)}.mirror-stage{position:relative;min-height:122px;display:grid;place-items:center;align-content:center;gap:.5rem;margin-bottom:.85rem;padding:1rem;overflow:hidden;border:1px solid #bfd2e6;border-radius:16px;background:linear-gradient(145deg,#f5f9ff,#dceafa)}.mirror-stage>span{color:#58718f;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-align:center}.mirror-stage strong{color:#12365f;font:800 clamp(1.5rem,7vw,2.4rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em}.mirror-axis{position:absolute;display:block;background:repeating-linear-gradient(to bottom,#7193b7 0 7px,transparent 7px 12px);opacity:.75}.mirror-stage[data-mode=vertical] .mirror-axis{width:2px;height:72px;left:50%;top:34px}.mirror-stage[data-mode=horizontal] .mirror-axis{width:min(82%,390px);height:2px;left:9%;top:58%;background:repeating-linear-gradient(to right,#7193b7 0 7px,transparent 7px 12px)}.mirror-stage[data-mode=vertical] strong{transform:scaleX(-1)}.mirror-stage[data-mode=horizontal] strong{transform:scaleY(-1)}.mirror-response{display:grid;place-items:center;gap:.25rem;min-height:56px;margin-bottom:.85rem;padding:.55rem;border:1px dashed var(--border-color);border-radius:12px;background:var(--subtle-bg)}.mirror-response span{color:var(--text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.mirror-response strong{color:var(--primary-color);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.mirror-keypad{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.mirror-key{min-height:40px;border:1px solid #c4d4e7;border-radius:9px;background:#fff;color:#173453;font-weight:800;cursor:pointer}.mirror-key:hover,.mirror-key:focus-visible{border-color:var(--primary-color);color:var(--primary-color);background:#edf5ff}.mirror-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.coordinates-keypad{max-width:600px;margin:0 auto}.map-container{height:300px;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a;margin-bottom:15px}.coordinates-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.coordinates-keypad .input-group{display:flex;flex-direction:column;gap:5px}.coordinates-keypad label{font-weight:500;color:var(--text-color)}.coordinates-keypad input{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);font-family:monospace}.info-message{font-size:.9rem;color:var(--text-muted);margin-top:10px;text-align:center}@media(max-width:480px){.nokia-keypad,.coordinates-keypad{max-width:100%}.coordinates-inputs{grid-template-columns:1fr}}.numeric-options{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:18px;margin:20px 0;box-shadow:0 2px 6px #0000000d;transition:border-color .3s ease,box-shadow .3s ease}.numeric-options:hover{border-color:var(--secondary-color);box-shadow:0 5px 15px #0000000d}.numeric-options h4{margin-top:0;margin-bottom:15px;color:var(--primary-color);font-size:1.1rem;font-weight:600;transition:color .3s ease}.numeric-options:hover h4{color:var(--secondary-color)}.option-group{margin-bottom:18px}.option-group p{font-weight:500;margin-bottom:8px;color:var(--text-color)}.radio-group{display:flex;flex-direction:column;gap:10px;margin-left:15px;margin-bottom:5px}.radio-group label,.option-group label{display:flex;align-items:center;gap:8px;font-size:.95rem;cursor:pointer;user-select:none;transition:color .2s ease}.radio-group input,.option-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;transition:transform .2s ease}.radio-group input:hover,.option-group input[type=checkbox]:hover{transform:scale(1.1)}.nokia-options{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:18px;margin:20px 0;box-shadow:0 2px 6px #0000000d;transition:border-color .3s ease,box-shadow .3s ease}.nokia-options:hover{border-color:var(--secondary-color);box-shadow:0 5px 15px #0000000d}.nokia-options h4{margin-top:0;margin-bottom:15px;color:var(--primary-color);font-size:1.1rem;font-weight:600;transition:color .3s ease}.nokia-options:hover h4{color:var(--secondary-color)}.coordinates-options{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:18px;margin:20px 0;box-shadow:0 2px 6px #0000000d;transition:border-color .3s ease,box-shadow .3s ease}.coordinates-options:hover{border-color:var(--secondary-color);box-shadow:0 5px 15px #0000000d}.coordinates-options h4{margin-top:0;margin-bottom:15px;color:var(--primary-color);font-size:1.1rem;font-weight:600;transition:color .3s ease}.coordinates-options:hover h4{color:var(--secondary-color)}.rotary-options{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:18px;margin:20px 0;box-shadow:0 2px 6px #0000000d;transition:border-color .3s ease,box-shadow .3s ease}.rotary-options:hover{border-color:var(--secondary-color);box-shadow:0 5px 15px #0000000d}.rotary-options h4{margin-top:0;margin-bottom:15px;color:var(--primary-color);font-size:1.1rem;font-weight:600;transition:color .3s ease}.rotary-options:hover h4{color:var(--secondary-color)}.filters-section,.resources-section{margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.resources-section .section-title{margin-top:0;margin-bottom:.5rem;font-size:2rem;text-align:left}.resources-section .section-subtitle{margin-bottom:2rem;color:var(--text-color-light);font-size:1.1rem;text-align:left}.resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-bottom:1rem}.resource-card{background:var(--card-bg);border-radius:14px;box-shadow:0 2px 12px #0252cd12;padding:2rem 1.2rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border-color);transition:box-shadow .2s,transform .2s}.resource-card:hover{box-shadow:0 8px 24px #0252cd21;transform:translateY(-4px) scale(1.01)}.resource-icon{font-size:2.2rem;margin-bottom:1rem;color:var(--primary-color)}.resource-card h3{font-size:1.15rem;margin-bottom:.5rem;color:var(--primary-color);font-weight:700}.resource-card p{color:var(--text-color-light);margin-bottom:1.2rem;min-height:2.5em}.btn-preview{margin-left:.5rem;background:var(--hover-color);color:var(--primary-color);border:1px solid var(--primary-color);font-size:.95rem}.btn-preview:hover{background:var(--primary-color);color:#fff}@media(max-width:600px){.resources-grid{grid-template-columns:1fr;gap:1.2rem}.resources-section,.filters-section{padding-bottom:1rem}}.resources-layout{display:grid;grid-template-columns:320px 1fr;gap:2.5rem;align-items:flex-start;margin-top:2rem}.resources-sidebar{position:relative;min-width:240px;max-width:340px}.resources-main{width:100%}@media(max-width:900px){.resources-layout{grid-template-columns:1fr;gap:1.5rem}.resources-sidebar{max-width:100%;margin-bottom:2rem}}.resources-grid-3cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-bottom:1rem}@media(max-width:1100px){.resources-grid-3cols{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.resources-grid-3cols{grid-template-columns:1fr}}.main-header a:focus,.main-header button:focus,.main-header .nav-link:focus,.main-header .theme-toggle:focus,.main-header .mobile-menu-btn:focus{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #0252cd2e;z-index:10}.main-header .nav-link:hover,.main-header .nav-link:focus{color:var(--secondary-color);background:var(--hover-color)}.main-header .nav-link.active:focus{background:var(--primary-color);color:#fff}.main-header .theme-toggle:focus,.main-header .theme-toggle:hover{color:var(--primary-color);background:var(--hover-color)}.main-header .mobile-menu-btn:focus,.main-header .mobile-menu-btn:hover{background:var(--hover-color);color:var(--primary-color)}button:focus,.btn:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #0252cd2e;z-index:10}button,.btn,input[type=button],input[type=submit],input[type=reset]{min-width:44px;min-height:44px;font-size:1rem;border-radius:8px;transition:background .2s,color .2s,box-shadow .2s}input,select,textarea{min-height:44px;font-size:1rem;border-radius:8px;transition:border-color .2s,box-shadow .2s}.btn:hover,.btn:focus,button:hover,button:focus{background:var(--hover-color);color:var(--primary-color)}input:focus,select:focus,textarea:focus{border-color:var(--primary-color)}input:invalid,select:invalid,textarea:invalid{border-color:var(--error-color)}input:invalid:focus,select:invalid:focus,textarea:invalid:focus{box-shadow:0 0 0 4px #ef44442e}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed;background:#e5e7eb;color:#9ca3af}.resource-card:focus-within,.feature-card:focus-within,.lock-type-card:focus-within{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #0252cd2e;z-index:10}.resource-card:hover,.feature-card:hover,.lock-type-card:hover{border-color:var(--secondary-color);box-shadow:0 8px 24px var(--shadow-color);background:var(--hover-color)}.notifications-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:300px;max-width:100%;opacity:0;transform:translate(400px);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;position:relative}.notification-visible{opacity:1;transform:translate(0)}.notification-removing{opacity:0;transform:translate(400px)}.notification-content{display:flex;align-items:center;gap:12px;flex:1}.notification-content i{font-size:1.25rem;flex-shrink:0}.notification-message{flex:1;line-height:1.5;color:var(--text-color)}.notification-action{background:transparent;border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;color:var(--primary-color);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.notification-action:hover{background:var(--hover-color);border-color:var(--primary-color)}.notification-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.notification-close:hover{background:var(--hover-color);color:var(--text-color)}.notification-success{border-left:4px solid var(--success-color)}.notification-success .notification-content i{color:var(--success-color)}.notification-error{border-left:4px solid var(--error-color)}.notification-error .notification-content i{color:var(--error-color)}.notification-warning{border-left:4px solid var(--warning-color)}.notification-warning .notification-content i{color:var(--warning-color)}.notification-info{border-left:4px solid var(--primary-color)}.notification-info .notification-content i{color:var(--primary-color)}@media(max-width:768px){.notifications-container{right:10px;left:10px;max-width:none}.notification{min-width:auto;width:100%}}.breadcrumbs-container{background:var(--background-color);border-bottom:1px solid var(--border-color);padding:12px 0;margin-bottom:2rem}.breadcrumbs{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:.875rem}.breadcrumb-item{display:flex;align-items:center;color:var(--text-muted)}.breadcrumb-item:not(:last-child):after{content:"/";margin-left:8px;color:var(--text-muted);opacity:.5}.breadcrumb-item a{color:var(--text-color);text-decoration:none;transition:color .2s}.breadcrumb-item a:hover{color:var(--primary-color);text-decoration:underline}.breadcrumb-active{color:var(--text-color);font-weight:500}.favorite-btn{background:transparent;border:2px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-muted);flex-shrink:0}.favorite-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--hover-color)}.favorite-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.favorite-btn.active:hover{background:var(--secondary-color);border-color:var(--secondary-color)}.history-item .favorite-btn{margin-right:8px}.loading-skeleton{background:linear-gradient(90deg,var(--surface-color) 25%,var(--hover-color) 50%,var(--surface-color) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5rem}.skeleton-title{height:1.5em;width:60%;margin-bottom:1rem}.skeleton-button{height:40px;width:120px;border-radius:8px}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container{padding:2.5rem 2rem!important}.form-group{margin-bottom:2rem!important;display:flex;flex-direction:column;gap:.75rem}.form-group-inline{flex-direction:row;gap:1.5rem;align-items:flex-end}.form-group-item{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.form-group-inline .form-group-item:first-child{flex:2}.form-group-inline .code-length-control{display:flex;flex-direction:column;gap:.5rem}.form-group-inline .code-length-control input{max-width:120px}@media(max-width:768px){.form-group-inline{flex-direction:column;align-items:stretch}.form-group-inline .code-length-control input{max-width:100%}}.form-group label{font-weight:600;font-size:1rem;color:var(--text-color);margin-bottom:.5rem;display:block}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem!important;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;line-height:1.5;min-height:48px;transition:all .2s ease;background-color:var(--input-bg);color:var(--text-color)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(var(--primary-color-rgb),.1)}.form-group textarea{min-height:120px;resize:vertical;font-family:inherit}.form-actions{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.form-actions .btn{min-width:140px;padding:.875rem 1.75rem!important}.escape-creator-container{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.escape-step{background:var(--card-bg);border-radius:16px;padding:2.5rem!important;margin-bottom:2rem;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color)}.step-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.step-number{width:48px;height:48px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.step-header h2{margin:0;font-size:1.75rem;color:var(--text-color)}.escape-form{display:flex;flex-direction:column;gap:0}.card,.resource-card,.lock-type-card,.feature-card{padding:2rem 1.75rem!important;margin-bottom:1.5rem!important;border-radius:12px;border:1px solid var(--border-color);transition:all .3s ease}.resource-card,.lock-type-card{padding:1.75rem!important}.history-item{padding:1.5rem 1.75rem!important;margin-bottom:1.25rem!important;gap:1rem}.history-item-content{gap:1rem!important;flex-wrap:wrap}.history-item-actions{gap:.75rem!important;flex-shrink:0}.history-item-actions button{min-width:44px;min-height:44px;padding:.5rem}.selected-locks-container{margin-top:2rem;padding:2rem;background:var(--surface-color);border-radius:12px;border:1px solid var(--border-color)}.selected-locks-container h3{margin-bottom:1.5rem;font-size:1.5rem}.selected-locks-list{display:flex;flex-direction:column;gap:1rem}.selected-lock-item{padding:1.25rem 1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.sequence-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.sequence-item{padding:1.25rem 1.5rem;background:var(--card-bg);border:2px solid var(--border-color);border-radius:10px;display:flex;align-items:center;gap:1.25rem;cursor:move;transition:all .2s ease}.sequence-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.15)}.sequence-item .drag-handle{color:var(--text-muted);font-size:1.25rem;cursor:grab}.sequence-item .drag-handle:active{cursor:grabbing}.locks-grid,.resources-grid-selectable,.lock-types-grid{gap:1.5rem!important;margin:2rem 0}.lock-card-selectable,.resource-card-selectable{padding:1.75rem!important;margin:0}.section{padding:5rem 0!important}.section-header{margin-bottom:3.5rem!important}.section-title{margin-bottom:1.25rem!important}.section-subtitle{margin-top:1rem;line-height:1.7}.help-text,.section-description{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin-top:.5rem;margin-bottom:1.5rem}.empty-message{text-align:center;padding:3rem 2rem;color:var(--text-muted);font-style:italic}button,.btn,input[type=button],input[type=submit],input[type=reset],a.btn{min-height:44px!important;min-width:44px!important;padding:.75rem 1.5rem!important;font-size:1rem!important;line-height:1.5;gap:.625rem}.btn-large{padding:1rem 2rem!important;font-size:1.125rem!important;min-height:52px}.btn-small{padding:.625rem 1.25rem!important;font-size:.9375rem!important;min-height:40px}h1,h2,h3,h4,h5,h6{line-height:1.3!important;margin-bottom:1rem!important;letter-spacing:-.02em}h1{margin-bottom:1.5rem!important}h2{margin-bottom:1.25rem!important}h3{margin-bottom:1rem!important}p{line-height:1.7!important;margin-bottom:1.25rem!important}ul,ol{margin-bottom:1.5rem;padding-left:2rem}li{margin-bottom:.75rem;line-height:1.7}.modal-content{padding:0!important}.modal-header{padding:1.75rem 2rem!important}.modal-body{padding:2rem!important}.search-filters{gap:1.25rem!important;margin-bottom:2rem!important;flex-wrap:wrap}.search-input{padding:.875rem 1rem!important;min-height:48px}.dua-visual{display:flex;align-items:center;gap:1rem}.dua-text{flex:1}.dua-icon{flex-shrink:0;font-size:2rem;color:var(--primary-color)}@media(max-width:768px){.container{padding:1.5rem 1.25rem!important}.escape-step{padding:1.75rem 1.5rem!important}.form-actions{flex-direction:column}.form-actions .btn{width:100%;min-width:auto}.step-header{flex-direction:column;align-items:flex-start;gap:1rem}.history-item{flex-direction:column;align-items:flex-start}.history-item-actions{width:100%;justify-content:flex-end}.locks-grid,.resources-grid-selectable{grid-template-columns:1fr!important;gap:1.25rem!important}}.difficulty-badge,.history-item-type,.collection-badge{padding:.5rem .875rem!important;margin:0 .5rem 0 0!important;border-radius:20px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;line-height:1.4}.difficulty-filters{gap:1rem!important;margin-bottom:2rem!important;flex-wrap:wrap}.difficulty-filter-btn{padding:.75rem 1.5rem!important;min-height:44px;font-size:1rem;gap:.5rem}.history-filters{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.search-box{position:relative;margin-bottom:1rem}.search-box input{padding:.875rem 1rem .875rem 2.75rem!important;width:100%;min-height:48px}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.filter-options{display:flex;gap:1rem;flex-wrap:wrap}.filter-options select{flex:1;min-width:200px;padding:.875rem 1rem!important;min-height:48px}.hero-section{padding:4rem 2rem!important;min-height:50vh!important;max-height:70vh!important}.hero-content{margin-bottom:0}.hero-title{margin-bottom:1.25rem!important;line-height:1.2;font-size:3.5rem!important}.hero-subtitle{margin-bottom:2rem!important;line-height:1.6;font-size:1.25rem!important}.hero-actions{display:flex;gap:1.25rem;flex-wrap:wrap}.features-grid{grid-template-columns:repeat(2,1fr)!important;gap:2rem!important;margin:0!important}@media(max-width:768px){.features-grid{grid-template-columns:1fr!important;gap:2rem!important}}.feature-card{padding:2rem!important}.feature-icon{font-size:2rem}.feature-card h3{margin-bottom:1rem!important}.feature-card p{line-height:1.7}.steps-container{gap:2rem!important;margin:2.5rem 0!important;list-style:none;padding-left:0}ol.steps-container{counter-reset:step-counter}ol.steps-container .step-card{counter-increment:step-counter;position:relative}.difficulty-label{font-size:.875rem;color:var(--text-muted);margin-right:.5rem;font-weight:500}.difficulty-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.feature-card .difficulty-filters{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.step-card{padding:2rem 1.75rem!important}.step-number{margin-bottom:1.5rem}.step-content h3{margin-bottom:1rem!important}.step-content p{line-height:1.7}.selection-options{display:flex;gap:1.25rem;margin-bottom:2.5rem;flex-wrap:wrap}.selection-options .btn{flex:1;min-width:200px}.dua-action-group{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.dua-action-group .btn{flex:1;min-width:150px}.dua-engagement{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--surface-color);border-radius:12px;border:1px solid var(--border-color);margin:1.5rem 0}.required{color:var(--error-color);font-weight:700;margin-left:.25rem}a{text-decoration:none;color:var(--primary-color);transition:color .2s ease,text-decoration .2s ease;padding:.125rem 0}a:hover{text-decoration:underline;color:var(--secondary-color)}a:focus{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:4px}table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0}th,td{padding:1rem 1.25rem!important;text-align:left;border-bottom:1px solid var(--border-color)}th{background:var(--surface-color);font-weight:600;color:var(--text-color)}tr:hover{background:var(--hover-color)}.panel{margin:2rem 0;border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.panel-heading{padding:1.5rem 2rem;background:var(--surface-color);border-bottom:1px solid var(--border-color)}.panel-body{padding:2rem}.panel-body ul{margin:1rem 0}.panel-body li{margin-bottom:.875rem;line-height:1.7}@media(max-width:480px){.container{padding:1.25rem 1rem!important}.escape-step,.card,.resource-card,.lock-type-card{padding:1.5rem 1.25rem!important}h1{font-size:2rem!important}h2{font-size:1.75rem!important}h3{font-size:1.5rem!important}.hero-section{padding:3rem 1.5rem!important}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.selection-options{flex-direction:column}.selection-options .btn{width:100%;min-width:auto}.filter-options{flex-direction:column}.filter-options select{width:100%;min-width:auto}.dua-action-group{flex-direction:column}.dua-action-group .btn{width:100%;min-width:auto}}.confirm-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.confirm-modal.visible{opacity:1;visibility:visible}.confirm-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0009;backdrop-filter:blur(4px);cursor:pointer}.confirm-modal-content{position:relative;background:var(--card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow:hidden;transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:1}.confirm-modal.visible .confirm-modal-content{transform:scale(1)}.confirm-modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--surface-color)}.confirm-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color)}.confirm-modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;padding:0}.confirm-modal-close:hover{background:var(--hover-color);color:var(--text-color)}.confirm-modal-close:focus{outline:3px solid var(--primary-color);outline-offset:2px}.confirm-modal-body{padding:2rem}.confirm-modal-message{margin:0;font-size:1.1rem;line-height:1.6;color:var(--text-color)}.confirm-modal-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;background:var(--surface-color)}.confirm-modal-footer .btn{min-width:120px}@media(max-width:480px){.confirm-modal-content{width:95%;max-width:none}.confirm-modal-header,.confirm-modal-body,.confirm-modal-footer{padding:1.25rem 1.5rem}.confirm-modal-footer{flex-direction:column-reverse}.confirm-modal-footer .btn{width:100%}}.command-palette{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.command-palette.visible{opacity:1;visibility:visible}.command-palette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(4px)}.command-palette-content{position:relative;background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:70vh;overflow:hidden;transform:scale(.95) translateY(-20px);transition:transform .2s cubic-bezier(.34,1.56,.64,1);z-index:1}.command-palette.visible .command-palette-content{transform:scale(1) translateY(0)}.command-palette-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;background:var(--surface-color)}.command-palette-input{flex:1;border:none;background:transparent;color:var(--text-color);font-size:1rem;padding:.5rem 0;outline:none}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;padding:0}.command-palette-close:hover{background:var(--hover-color);color:var(--text-color)}.command-palette-list{max-height:calc(70vh - 80px);overflow-y:auto;padding:.5rem 0}.command-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;cursor:pointer;transition:background .2s ease;gap:1rem}.command-item:hover,.command-item.selected{background:var(--hover-color)}.command-key{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:var(--primary-color);background:var(--surface-color);padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border-color);white-space:nowrap}.command-description{flex:1;color:var(--text-color);font-size:.95rem}.shortcuts-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--surface-color);border-radius:8px;gap:1rem}.shortcut-key{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:var(--primary-color);background:var(--card-bg);padding:.375rem .625rem;border-radius:6px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;white-space:nowrap}.shortcut-description{flex:1;color:var(--text-color);font-size:.95rem}@media(max-width:768px){.command-palette-content{width:95%;max-width:none}.shortcut-item{flex-direction:column;align-items:flex-start}}.tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:16px;font-size:.875rem;font-weight:500;border:1px solid;transition:all .2s ease;white-space:nowrap}.tag-clickable{cursor:pointer}.tag-clickable:hover{opacity:.8;transform:translateY(-1px)}.tag-selected{box-shadow:0 0 0 2px var(--primary-color);opacity:1}.tag-name{line-height:1}.tag-remove{background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;transition:background .2s ease;opacity:.7}.tag-remove:hover{background:#0000001a;opacity:1}.tag-remove i{font-size:.7rem}.no-tags{color:var(--text-muted);font-style:italic;font-size:.875rem}.tag-more{display:inline-flex;align-items:center;padding:.375rem .625rem;border-radius:16px;font-size:.875rem;font-weight:500;background:var(--surface-color);color:var(--text-muted);border:1px solid var(--border-color);cursor:help}.history-item-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.tag-selector{display:flex;flex-direction:column;gap:.75rem}.tag-selector-tags{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.5rem;padding:.5rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color)}.tag-input-container{position:relative}.tag-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.tag-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.tag-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:1000;display:none}.tag-suggestion{padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--border-color)}.tag-suggestion:last-child{border-bottom:none}.tag-suggestion:hover{background:var(--hover-color)}.tag-suggestion-new{color:var(--primary-color);font-weight:500}.tag-suggestion-new i{margin-right:.5rem}.tags-filter{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color);min-height:3rem}.tags-filter .tag{margin:0}.pwa-install-btn{display:none;align-items:center;gap:.5rem;white-space:nowrap;min-width:max-content;padding:.55rem .8rem!important;font-size:.9rem;box-shadow:none}.pwa-install-btn i{font-size:1rem}@media(max-width:768px){.pwa-install-btn{width:42px;height:42px;padding:0!important;justify-content:center;border-radius:50%}.pwa-install-btn span{display:none}}.offline-indicator{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--warning-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:10000;display:none;align-items:center;gap:.75rem;font-size:.9rem}.offline-indicator.visible{display:flex}.offline-indicator i{font-size:1.1rem}.collections-section{margin-bottom:3rem}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.collection-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.collection-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.15);transform:translateY(-2px)}.collection-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.collection-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.escape-room-card .collection-info,.escape-room-card .collection-header>div:last-child{flex:1;min-width:0}.escape-room-card .collection-header h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.escape-room-card .collection-header p{margin:0;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:8px;color:var(--primary-color);background:var(--hover-color);border:2px solid var(--border-color)}.collection-stats{display:flex;flex-wrap:wrap;gap:.75rem 1rem;color:var(--text-muted);font-size:.875rem}.collection-stats i{color:var(--primary-color);margin-right:.25rem}.collection-color{width:40px;height:40px;border-radius:8px;flex-shrink:0;border:2px solid var(--border-color)}.collection-info{flex:1;min-width:0}.collection-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-meta{margin:0;font-size:.875rem;color:var(--text-muted)}.collection-description{margin:.75rem 0;font-size:.9rem;color:var(--text-color-light);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);justify-content:flex-end;flex-wrap:wrap}.collection-add-locks,.collection-create-lock{flex:1;min-width:140px}.collection-selector{display:flex;gap:.75rem;align-items:flex-start}.collection-selector select{flex:1;min-width:200px}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;padding:0}.btn-icon:hover{background:var(--hover-color);color:var(--text-color)}.collection-delete:hover{background:#ef44441a;color:var(--error-color)}.empty-collections{text-align:center;padding:3rem 2rem;color:var(--text-muted);font-style:italic;background:var(--surface-color);border-radius:12px;border:2px dashed var(--border-color)}.color-picker{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.color-option{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;padding:0;background:none}.color-option:hover{transform:scale(1.1);border-color:var(--text-color)}.color-option.selected{border-color:var(--text-color);box-shadow:0 0 0 2px var(--background-color),0 0 0 4px var(--text-color)}.color-option i{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-size:.875rem}.collections-checkbox-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:.5rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color)}.collection-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:background .2s ease}.collection-checkbox-item:hover{background:var(--hover-color)}.collection-checkbox-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.collection-checkbox-label{display:flex;align-items:center;gap:.75rem;flex:1;cursor:pointer}.collection-color-indicator{width:16px;height:16px;border-radius:4px;border:1px solid var(--border-color);flex-shrink:0}.collection-count{color:var(--text-muted);font-size:.875rem;margin-left:auto}.history-item-collections{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.collection-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:12px;font-size:.8rem;font-weight:500;border:1px solid;line-height:1.4}.collection-badge i{font-size:.75rem}@media(max-width:768px){.collections-grid{grid-template-columns:1fr}.collection-card{padding:1.25rem}}.hints-manager{margin-top:.5rem}.hints-description{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.hints-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.hint-item{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .2s ease}.hint-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.1)}.hint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.hint-number{font-weight:600;color:var(--text-color);font-size:.9rem}.hint-text{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.95rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s ease}.hint-text:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.hint-actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end}.hint-actions .btn-icon{width:28px;height:28px;font-size:.875rem}.hint-remove{color:var(--error-color)}.hint-remove:hover{background:#ef44441a;color:var(--error-color)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.note-editor{display:flex;flex-direction:column;gap:1rem}.note-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.note-header h4{margin:0;font-size:1.1rem;color:var(--text-color)}.note-info{font-size:.875rem;color:var(--text-muted);font-style:italic}.note-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.95rem;font-family:inherit;resize:vertical;min-height:120px;transition:border-color .2s ease,box-shadow .2s ease}.note-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.note-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.note-updated{font-size:.875rem;color:var(--text-muted)}.note-indicator{color:var(--primary-color);font-size:.9rem;margin-left:.5rem;opacity:.7}.history-item-content .note-indicator{margin:0 .25rem}.history-item-stats{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:var(--text-muted);margin-left:.5rem;padding:.25rem .5rem;background:var(--surface-color);border-radius:12px;border:1px solid var(--border-color)}.history-item-stats i{font-size:.75rem;color:var(--primary-color)}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);margin-bottom:2rem;flex-wrap:wrap}.filters-left{display:flex;gap:1rem;align-items:center}.filters-right{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-size:.9rem;color:var(--text-color);white-space:nowrap}.form-select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.95rem;cursor:pointer;transition:all .2s ease;min-width:180px}.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color);margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.bulk-buttons{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.selected-count{font-size:.9rem;color:var(--text-muted);font-weight:500}.locks-list-container{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem}.locks-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.lock-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;transition:all .2s ease;gap:1.5rem}.lock-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.lock-item-content{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.lock-checkbox{flex-shrink:0}.lock-info{flex:1;min-width:0}.lock-name{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.lock-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted)}.lock-type{display:flex;align-items:center;gap:.5rem}.lock-date{color:var(--text-muted)}.lock-item-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.lock-form-container{max-width:900px;margin:0 auto;background:var(--card-bg);border-radius:16px;padding:2.5rem;border:1px solid var(--border-color);box-shadow:0 8px 30px var(--shadow-color)}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-color)}.form-input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:.95rem;transition:all .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.form-help{display:block;font-size:.875rem;color:var(--text-muted);margin-top:.5rem;line-height:1.5}.code-input-group{display:flex;gap:.75rem;align-items:stretch}.code-input-group .form-input,.code-input-group input{flex:1}.code-input{flex:1;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:1rem;min-height:48px;transition:all .2s ease}.code-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(var(--primary-color-rgb),.1)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:2px solid var(--border-color)}.btn-danger{background-color:var(--error-color);color:#fff;border:none}.btn-danger:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.panel-section{background:var(--card-bg);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color)}.user-info-card{background:var(--surface-color);border-radius:10px;padding:1.5rem;border:1px solid var(--border-color)}.user-info-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.user-info-header i{font-size:3rem;color:var(--primary-color)}.user-details h2{font-size:1.5rem;margin-bottom:.25rem;color:var(--text-color)}.user-details p{color:var(--text-muted);font-size:.95rem}.user-stats{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.directories-list{display:flex;flex-direction:column;gap:1rem}.directory-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:10px;transition:all .2s ease}.directory-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.directory-item.root-directory{background:linear-gradient(135deg,rgba(var(--primary-color-rgb),.1),rgba(var(--secondary-color-rgb),.05));border-color:var(--primary-color)}.directory-info h3{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem}.directory-path{font-size:.875rem;color:var(--text-muted)}.directory-actions{display:flex;gap:.5rem}@media(max-width:768px){.filters-bar{flex-direction:column;align-items:stretch}.filters-left,.filters-right{width:100%;flex-direction:column;align-items:stretch}.filter-group{flex-direction:column;align-items:stretch}.form-select{width:100%;min-width:auto}.lock-item,.lock-item-content{flex-direction:column;align-items:stretch}.lock-item-actions{width:100%;justify-content:flex-end}.lock-form-container{padding:1.5rem}.code-input-group{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.user-info-header{flex-direction:column;text-align:center}.user-stats{justify-content:center}.directory-item{flex-direction:column;align-items:stretch;gap:1rem}.directory-actions{width:100%;justify-content:flex-end}}.legal-page{padding:3rem 2rem;max-width:900px;margin:0 auto}.legal-page h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-color)}.last-updated{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;font-style:italic}.legal-content{line-height:1.8;color:var(--text-color)}.legal-content h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem;color:var(--text-color);border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.legal-content h3{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-color)}.legal-content p{margin-bottom:1rem}.legal-content ul{margin-left:2rem;margin-bottom:1.5rem}.legal-content li{margin-bottom:.5rem}.legal-content a{color:var(--primary-color);text-decoration:underline}.legal-content a:hover{text-decoration:none}.legal-actions{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--border-color);text-align:center}@media(max-width:768px){.legal-page{padding:2rem 1rem}.legal-page h1{font-size:2rem}.legal-content h2{font-size:1.3rem}}.history-action-btn{background:none!important;border:none!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--text-muted)!important;cursor:pointer!important;transition:all .3s ease!important;padding:0!important}.history-action-btn:hover{background-color:var(--hover-color)!important;transform:scale(1.1)!important;color:var(--primary-color)!important}.history-action-btn.btn-delete:hover{color:var(--error-color)!important;background-color:#ef44441a!important}.history-action-btn i{font-size:.9rem}.lock-form{background:var(--card-bg);border-radius:16px;padding:2.5rem;border:1px solid var(--border-color);box-shadow:0 8px 30px var(--shadow-color);margin-top:2rem}@media(max-width:768px){.lock-form{padding:1.5rem}}.directories-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.directory-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow-color)}.directory-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--shadow-color);border-color:var(--primary-color)}.directory-item.root-directory{background:linear-gradient(135deg,rgba(var(--primary-color-rgb),.15),rgba(var(--secondary-color-rgb),.1));border-color:var(--primary-color)}.directory-content{display:flex;align-items:center;gap:1rem;flex:1}.directory-content i{font-size:2rem;color:var(--primary-color)}.directory-info h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--text-color);font-weight:600}.directory-path{margin:0;font-size:.9rem;color:var(--text-muted)}.directory-actions{display:flex;gap:.5rem;flex-shrink:0}.directory-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;margin-left:.5rem}.directory-badge i{font-size:.75rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--surface-color);border-radius:10px;border:1px solid var(--border-color);flex:1;min-width:120px}.stat-value{font-size:2rem;font-weight:700;color:var(--primary-color);line-height:1}.stat-label{font-size:.9rem;color:var(--text-muted);text-align:center}.user-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.user-stats{grid-template-columns:repeat(2,1fr)}.directory-item{flex-direction:column;align-items:flex-start;gap:1rem}.directory-actions{width:100%;justify-content:flex-end}}
