body.auth .rail, body.auth #switch, body.auth #meBox { display:none !important; }
body.auth .app { grid-template-columns: 1fr; }
.authwrap { min-height: calc(100vh - 140px); display:grid; place-items:center; }
.authcard { width:min(440px,100%); background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:32px; }
.authcard h1 { font-size:26px; margin-bottom:6px; }
.authcard p { color:var(--muted); margin:0 0 20px; }
.field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.field label { font-size:13px; font-weight:600; color:var(--muted); }
.field input, .field select, .field textarea { padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-s); background:var(--bg); width:100%; }
.field textarea { min-height:90px; resize:vertical; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.err { color:var(--bad); font-size:14px; min-height:20px; margin:4px 0 10px; }
.linkbtn { background:transparent; border:1px solid var(--shell-line); color:var(--shell-muted); border-radius:999px; padding:5px 12px; font-size:12px; font-weight:600; }
.linkbtn:hover { color:var(--shell-text); }
.btn.gold { background:var(--gold); border-color:var(--gold); color:#141416; }
.btn.danger { color:var(--bad); }
.btnrow { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.stages { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 6px; }
.stage { border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:6px 12px; font-size:13px; font-weight:600; color:var(--muted); }
.stage b { color:var(--text); margin-left:4px; }
.stage[aria-pressed="true"] { background:var(--shell); color:var(--shell-text); border-color:var(--shell); }
.stage[aria-pressed="true"] b { color:var(--gold); }
.secret { font-family: ui-monospace, Menlo, Consolas, monospace; font-size:20px; background:var(--bg); border:1px dashed var(--gold); border-radius:var(--radius-s); padding:12px 14px; letter-spacing:.5px; user-select:all; }
.hint { font-size:13px; color:var(--muted); }
.tag { font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; background:var(--gold-soft); color:var(--gold-deep); }
.tag.off { background:var(--bad-soft); color:var(--bad); }
.timeline { list-style:none; margin:0; padding:0; }
.timeline li { padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; }
.timeline li span { color:var(--muted); font-size:12px; display:block; }
.overdue { color:var(--bad); font-weight:600; }
.addform { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:18px; margin:16px 0; }
@media (max-width:900px){ .row2 { grid-template-columns:1fr; } }
.tag.ok { background:var(--good-soft); color:var(--good); }
.tag.gold { background:var(--gold-soft); color:var(--gold-deep); }
.stat b.overdue { color:var(--bad); }

.item.locked { opacity:.5; }
.daycard.locked { opacity:.55; }
.daysteps { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 0; padding:0; }
.daysteps li { display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:7px 16px 7px 8px; font-size:14px; font-weight:600; color:var(--muted); }
.daysteps li b { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:var(--bg); font-size:13px; }
.daysteps li.now { border-color:var(--gold); color:var(--text); }
.daysteps li.now b { background:var(--gold); color:#141416; }
.daysteps li.ok { color:var(--good); border-color:transparent; background:var(--good-soft); }
.daysteps li.ok b { background:var(--good); color:#fff; }
.lockcard { display:flex; gap:18px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:24px; margin-top:20px; }
.lockcard h3 { margin-bottom:6px; }
.lockcard p { color:var(--muted); margin:0 0 14px; }
.lockicon { font-size:30px; line-height:1; }
.lockcard .steps { list-style:none; padding:0; margin:0 0 16px; }
.lockcard .steps li { padding:4px 0; font-weight:600; }
.lockcard .steps li.ok { color:var(--good); }
.lockedvid .vlock { aspect-ratio:16/9; display:grid; place-items:center; align-content:center; gap:8px; background:#000; color:var(--shell-muted); font-size:34px; }
.lockedvid .vlock span { font-size:14px; }
