.lock-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(var(--s-8),env(safe-area-inset-top,0px)) var(--gutter) max(var(--s-8),env(safe-area-inset-bottom,0px));background:var(--bg)}.lock-wrap{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:var(--s-6);animation:rise var(--t-med) var(--ease) both}.lock-brand{display:flex;align-items:center;gap:14px;color:var(--ink)}.lock-brand .brand-mark{width:54px;height:32px}.lock-brand-rule{width:2px;height:38px;border-radius:1px;background:var(--brand-mark)}.lock-brand .brand-name{display:block;font:800 1.25rem/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}.lock-brand .brand-name span{color:var(--brand-bright)}.logo-ink{fill:var(--brand-mark)}.logo-leaf{fill:var(--brand-bright)}.lock-tagline{display:block;margin-top:6px;font-size:.5938rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.lock-box{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s-8) var(--s-8) var(--s-5);display:flex;flex-direction:column;gap:var(--s-5)}.lock-head{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center}.lock-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--s-1);border-radius:50%;background:var(--accent-soft);color:var(--accent)}.lock-head h2{margin:0;font-size:1.25rem;font-weight:700;text-wrap:balance}.lock-head p{margin:0;font-size:var(--fs-md);color:var(--ink-3);line-height:1.5;text-wrap:pretty}.lock-field{display:flex;flex-direction:column}.input-wrap{position:relative}.lock-box .input-wrap input{height:48px;padding-right:52px;font-size:1rem}.lock-box .input-wrap input[type=password]:not(:placeholder-shown){letter-spacing:.18em}.input-affix{position:absolute;top:4px;right:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink-3);cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.input-affix:hover{background:var(--surface-2);color:var(--ink)}.input-affix:disabled{opacity:.5;cursor:not-allowed;background:transparent}.lock-msg{display:flex;align-items:flex-start;gap:6px;margin:var(--s-2) 0 0;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-2)}.lock-msg:empty{display:none}.lock-msg .icon{width:16px;height:16px;margin-top:1px}.lock-msg[data-tone=error]{color:var(--danger)}.lock-msg[data-tone=warn]{color:var(--warn)}.lock-msg .countdown{font-variant-numeric:tabular-nums;font-weight:600}.lock-foot{display:flex;justify-content:center;padding-top:var(--s-4);margin-top:calc(-1 * var(--s-1));border-top:1px solid var(--border)}.lock-privacy{display:flex;align-items:flex-start;justify-content:center;gap:var(--s-2);max-width:340px;margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-3);text-align:left}.lock-privacy .icon{width:16px;height:16px;color:var(--accent);margin-top:1px}@media(max-width:480px){.lock-box{padding:var(--s-6) var(--s-5) var(--s-4)}.lock-wrap{gap:var(--s-5)}}.lock-caps{display:flex;align-items:center;gap:6px;margin:var(--s-2) 0 0;font-size:var(--fs-sm);color:var(--warn)}.notice-wrap{max-width:560px}.notice-box{text-align:left;gap:var(--s-4)}.notice-box h2{margin:0;font-size:1.25rem;font-weight:700}.notice-box p{margin:0;font-size:var(--fs-md);color:var(--ink-2);line-height:1.55}.notice-box details{font-size:var(--fs-sm);color:var(--ink-3)}.notice-box details ul{margin:var(--s-2) 0 0;padding-left:var(--s-5)}.notice-actions{display:flex;flex-direction:column;gap:var(--s-2)}.snapshot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.snapshot-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg)}.snapshot-list .snap-when{font-weight:600;font-variant-numeric:tabular-nums}.snapshot-list .snap-why{display:block;font-size:var(--fs-xs);color:var(--ink-3)}
