.shell{min-height:100vh;min-height:100svh;padding:40px 16px;text-align:left}
.shell-card{position:relative;width:100%;max-width:460px;padding:34px 32px 26px;border-radius:16px;border:1px solid var(--line2);
  background:var(--brushed),linear-gradient(180deg,rgba(21,27,37,.92),rgba(12,16,22,.94));box-shadow:0 40px 90px -30px #000,0 0 80px -40px var(--glow);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.shell-logo{display:block;width:210px;margin:0 auto 26px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.8))}
.shell-logo img{display:block;width:100%;height:auto}
.shell h1{font-size:26px;color:#fff;margin:0 0 12px;letter-spacing:.05em}
.shell .muted{margin:0 0 22px;font-size:16px}
.field{display:block;margin:0 0 16px}
.field span{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel2);margin-bottom:8px}
.field input{width:100%;padding:13px 14px;border-radius:8px;border:1px solid var(--line2);background:rgba(0,0,0,.35);color:#fff;font:16px var(--ui)}
.field input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent}
.btn-ghost{background:transparent;border-color:var(--line2);color:var(--steel)}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
button.btn{cursor:pointer}
.shell-error{color:#ff9b8a;font-size:15px;margin:14px 0 0}
.shell .fine{margin:18px 0 0;line-height:1.5}
[data-lead]{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.shell-foot{margin:24px 0 0;text-align:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.shell-foot a{color:var(--steel2);text-decoration:none}
.shell-foot a:hover{color:#fff}

/* search page (rendered by sw.js) */
.search-page{min-height:100vh;padding:48px 0 90px;background:radial-gradient(ellipse 70% 50% at 50% 0%,#16202e,var(--bg) 70%)}
.search-page .wrap{max-width:820px}
.search-form{margin:0 0 22px}
.search-row{display:flex;gap:10px}
.search-opts{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px}
.search-opts label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.search-opts select{min-width:0;max-width:280px;padding:8px 10px;border-radius:6px;border:1px solid var(--line2);background:#0b0f15;color:#e6e9ee;font:14px var(--ui);text-transform:none;letter-spacing:0}
.search-opts select:focus{outline:2px solid var(--blue);outline-offset:1px}
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:26px 0 0}
.pager a,.pager b{min-width:40px;padding:9px 12px;border-radius:6px;border:1px solid var(--line2);text-align:center;text-decoration:none;color:#e6e9ee;font-size:14px}
.pager a:hover{border-color:var(--blue2);color:#fff}
.pager b{background:var(--blue);border-color:var(--blue);color:#fff}
.pager .gap{padding:9px 4px;color:var(--muted)}
@media (max-width:640px){.search-opts label{flex:1 1 45%}.search-opts select{max-width:none;width:100%}}
.search-form input{flex:1;min-width:0;padding:14px 16px;border-radius:8px;border:1px solid var(--line2);background:rgba(0,0,0,.35);color:#fff;font:17px var(--ui)}
.search-form input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent}
.search-form .btn{cursor:pointer}
.results{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.results li{padding:16px 18px;border-radius:10px;border:1px solid var(--line);background:var(--brushed),linear-gradient(180deg,var(--panel2),var(--panel))}
.results a{display:block;font-size:18px;font-weight:600;text-decoration:none;color:#fff;margin-bottom:6px}
.results a:hover{color:var(--blue2)}
.results span{font-size:14px;color:var(--muted)}
.results .lead{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffd88a;margin-left:6px}
