:root{color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif}body{margin:0;min-height:100vh}main{max-width:640px;margin:0 auto;padding:2rem 1.5rem}form{display:flex;flex-direction:column;gap:1rem;max-width:320px}label{display:flex;flex-direction:column;gap:.25rem}input{padding:.5rem;font-size:1rem}button{padding:.5rem 1rem;font-size:1rem;cursor:pointer}.vault-layout{display:flex;gap:1.5rem;max-width:1100px;margin:0 auto;padding:1.5rem;align-items:flex-start}.vault-layout>aside{width:200px;flex-shrink:0}.vault-layout>aside ul{list-style:none;padding:0}.vault-layout>main{flex:1;min-width:0;max-width:none;margin:0;padding:0}@media (max-width: 720px){.vault-layout{flex-direction:column;padding:1rem}.vault-layout>aside{width:100%}}.vault-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.vault-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1rem 0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.photo-card img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.photo-card{min-width:0}.photo-card-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.photo-card-thumb{position:relative;display:block;width:100%;padding:0;border:none;background:none}.photo-card-checkbox{position:absolute;top:.35rem;left:.35rem;z-index:1;width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid #fff;background:#00000059;color:#000;font-size:.8rem;display:flex;align-items:center;justify-content:center}.photo-card-checkbox.checked{background:#fff}.photo-list-checkbox{flex-shrink:0;width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.75rem}.photo-list-checkbox.checked{background:currentColor;color:canvas}.selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;font-size:.9rem}.move-album-list{display:flex;flex-direction:column;gap:.35rem;max-height:40vh;overflow-y:auto;text-align:left}.move-album-list button:disabled{opacity:.5}.view-mode-toggle{display:flex;gap:.25rem}.view-mode-toggle button.active{font-weight:700;text-decoration:underline}.photo-list{display:flex;flex-direction:column;gap:.5rem}.photo-list-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid color-mix(in srgb,canvastext 12%,transparent)}.photo-list-thumb{flex-shrink:0;width:3rem;height:3rem;padding:0;border-radius:.25rem;overflow:hidden}.photo-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-list-name{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-list-date{flex-shrink:0;font-size:.8rem;opacity:.7}.photo-list-actions{flex-shrink:0;display:flex;gap:.4rem}.photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;color:#fff}.viewer-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.viewer-stage video{max-width:100%;max-height:100%}.viewer-transform-wrapper{width:100%!important;height:100%!important}.viewer-transform-content{width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center}.viewer-transform-content img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.viewer-close,.viewer-download,.viewer-enhance,.viewer-enhance-toggle,.viewer-nav,.viewer-zoom-controls button{position:absolute;z-index:2;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.25rem;line-height:1}.viewer-close{top:.75rem;right:.75rem}.viewer-download{top:.75rem;right:3.5rem}.viewer-download:disabled{opacity:.5;cursor:default}.viewer-enhance,.viewer-enhance-toggle{top:.75rem;right:6.25rem}.viewer-enhance:disabled{opacity:.5;cursor:default}.viewer-enhance-error{position:absolute;z-index:2;bottom:1rem;left:50%;transform:translate(-50%);max-width:80%;margin:0;padding:.5rem 1rem;border-radius:.5rem;background:#000000bf;color:#fff;font-size:.85rem;text-align:center}.viewer-zoom-controls{position:absolute;top:.75rem;left:.75rem;display:flex;gap:.5rem;z-index:2}.viewer-zoom-controls button{position:static}.viewer-nav{top:50%;transform:translateY(-50%);font-size:1.5rem}.viewer-nav-prev{left:.75rem}.viewer-nav-next{right:.75rem}.viewer-nav:disabled{opacity:.25;cursor:default}.lock-screen{max-width:360px;margin:4rem auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.lock-screen form{width:100%}.vault-header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.free-tier-indicator{font-size:.85rem;opacity:.75;margin:.5rem 0 0}.biometric-message{font-size:.85rem;margin:.5rem 0 0}.paywall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:10}.paywall-card{position:relative;max-width:420px;width:100%;background:canvas;border-radius:.75rem;padding:2rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.paywall-dismiss{position:absolute;top:.75rem;right:.75rem;padding:.25rem .6rem;font-size:1.1rem;line-height:1}.paywall-plans{display:flex;gap:.75rem}.paywall-plan{position:relative;flex:1;display:flex;flex-direction:column;gap:.15rem;padding:1rem;border:2px solid transparent;border-radius:.5rem;background:color-mix(in srgb,canvastext 6%,transparent);text-align:left}.paywall-plan.selected{border-color:currentColor}.paywall-plan-name{font-weight:700}.paywall-plan-price{font-size:1.1rem}.paywall-plan-sub{font-size:.75rem;opacity:.75}.paywall-badge{position:absolute;top:-.6rem;right:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;background:canvastext;color:canvas;padding:.15rem .5rem;border-radius:1rem}.login-back-link{display:inline-block;margin-bottom:1rem;font-weight:700;text-decoration:none}.landing{--vs-navy: #10192e;--vs-navy-mid: #182544;--vs-teal: #2dd4bf;--vs-teal-dark: #14b8a6;--vs-cream: #f6f4ef;--vs-ink: #131b2e;color:var(--vs-ink)}.landing-header{display:flex;align-items:center;justify-content:space-between;max-width:1000px;margin:0 auto;padding:1.5rem 1.5rem .5rem}.landing-brand{display:flex;align-items:center;gap:.6rem}.landing-logo-mark{flex-shrink:0;border-radius:.6rem}.landing-logo-text{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--vs-navy)}.landing-nav-login{font-size:.95rem;font-weight:600;color:var(--vs-navy);text-decoration:none;padding:.5rem 1rem;border:1.5px solid var(--vs-navy);border-radius:.4rem}.landing-nav-login:hover{background:var(--vs-navy);color:#fff}.landing-hero{background:linear-gradient(160deg,var(--vs-navy) 0%,var(--vs-navy-mid) 100%);color:#fff;text-align:center;padding:4.5rem 1.5rem 3rem;margin-top:1rem;border-radius:0 0 2rem 2rem}.landing-hero h1{font-size:2.5rem;max-width:40rem;margin:0 auto 1.25rem;line-height:1.15;letter-spacing:-.02em}.landing-hero p{max-width:34rem;margin:0 auto;font-size:1.1rem;opacity:.85;line-height:1.5}.landing-hero-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:2.25rem}.landing-cta{display:inline-block;padding:.85rem 2rem;font-size:1.05rem;font-weight:700;background:var(--vs-teal);color:var(--vs-navy);border-radius:.6rem;text-decoration:none;box-shadow:0 8px 24px #2dd4bf4d}.landing-cta:hover{background:var(--vs-teal-dark)}.landing-hero-sub{font-size:.85rem;opacity:.75}.landing-features{max-width:1000px;margin:1.5rem auto 0;padding:0 1.5rem 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;position:relative}.landing-feature-card{padding:1.5rem;border-radius:.75rem;background:#fff;box-shadow:0 4px 20px #131b2e14;border-top:3px solid var(--vs-teal)}.landing-feature-card h3{margin:0 0 .5rem;font-size:1.05rem;color:var(--vs-navy)}.landing-feature-card p{margin:0;font-size:.9rem;opacity:.75;line-height:1.5}.landing-security{background:var(--vs-cream);padding:3.5rem 1.5rem;text-align:center}.landing-security h2{margin:0 0 1.75rem;font-size:1.75rem;color:var(--vs-navy)}.landing-security-list{list-style:none;padding:0;margin:0 auto;max-width:640px;display:flex;flex-direction:column;gap:1rem;text-align:left}.landing-security-list li{background:#fff;padding:1rem 1.25rem;border-radius:.6rem;font-size:.95rem;line-height:1.5;border-left:3px solid var(--vs-teal)}.landing-pricing{text-align:center;padding:3.5rem 1.5rem 3rem}.landing-pricing h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--vs-navy)}.landing-pricing-sub{max-width:30rem;margin:0 auto 2rem;opacity:.75;font-size:.95rem}.landing-plans{display:flex;justify-content:center;gap:1rem;max-width:460px;margin:0 auto 2rem}.landing-plan{position:relative;flex:1;display:flex;flex-direction:column;gap:.2rem;padding:1.25rem 1rem;border-radius:.6rem;background:var(--vs-cream);border:2px solid transparent;text-align:left}.landing-plan.highlight{border-color:var(--vs-teal);background:#fff;box-shadow:0 4px 20px #131b2e14}.landing-plan-badge{position:absolute;top:-.6rem;right:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;background:var(--vs-teal);color:var(--vs-navy);padding:.15rem .5rem;border-radius:1rem}.landing-plan-name{font-weight:700;color:var(--vs-navy)}.landing-plan-price{font-size:1.2rem;font-weight:700;color:var(--vs-navy)}.landing-plan-sub{font-size:.75rem;opacity:.7}.landing-footer{text-align:center;padding:2rem 1.5rem;background:var(--vs-navy);color:#fff9;font-size:.85rem}@media (max-width: 560px){.landing-hero{padding:3.5rem 1.25rem 2.5rem;border-radius:0 0 1.5rem 1.5rem}.landing-hero h1{font-size:1.85rem}.landing-plans{flex-direction:column}}.landing-why{max-width:640px;margin:0 auto;padding:3rem 1.5rem 1rem;text-align:center}.landing-why h2{margin:0 0 .75rem;font-size:1.6rem;color:var(--vs-navy)}.landing-why p{margin:0;opacity:.8;line-height:1.6}.landing-faq{max-width:700px;margin:0 auto;padding:1rem 1.5rem 3rem}.landing-faq h2{text-align:center;margin:0 0 1.75rem;font-size:1.75rem;color:var(--vs-navy)}.landing-faq-list{display:flex;flex-direction:column;gap:1rem}.landing-faq-item{padding:1.1rem 1.25rem;border-radius:.6rem;background:var(--vs-cream)}.landing-faq-item h3{margin:0 0 .35rem;font-size:.98rem;color:var(--vs-navy)}.landing-faq-item p{margin:0;font-size:.9rem;opacity:.8;line-height:1.5}
