:root { color-scheme:dark; --bg:#071b28; --panel:#103245; --text:#e5f0f5; --muted:#b2cbd8; --border:#345b70; --accent:#67d1ee; --ink:#082333; --error:#ffb8b8; }
:root[data-theme="light"] { color-scheme:light; --bg:#edf5f8; --panel:#fff; --text:#143447; --muted:#4b6473; --border:#a8c6d5; --accent:#087c9c; --ink:#fff; --error:#a92132; }
* { box-sizing:border-box; }
body { margin:0; min-width:0; background:radial-gradient(ellipse at 80% 8%,#67d1ee0d,transparent 58%),var(--bg); color:var(--text); font:16px/1.6 "Segoe UI",Arial,sans-serif; }
.access-layout { width:min(100% - 48px,1080px); min-height:100dvh; margin:auto; display:flex; flex-direction:column; align-items:center; padding:32px 0 20px; }
.access-brand { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#f97073; font-size:clamp(20px,4vw,30px); font-weight:300; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
#access-theme { border:1px solid var(--border); border-radius:10px; width:44px; height:44px; flex-shrink:0; color:var(--text); background:var(--panel); }
.access-panel { margin:auto 0; width:min(100%,520px); padding:clamp(24px,5vw,44px); border:1px solid var(--border); border-radius:24px; background:var(--panel); box-shadow:0 24px 80px #0002; }
.access-lock { width:36px; height:36px; color:var(--accent); }
.access-eyebrow { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.16em; margin:20px 0 12px; }
h1 { font-size:clamp(28px,4vw,36px); line-height:1.16; font-weight:400; margin:0 0 18px; text-wrap:balance; }
p { color:var(--muted); overflow-wrap:anywhere; }
#access-description { margin:0 0 26px; }
form { display:grid; gap:18px; }
label { display:grid; gap:7px; font-size:14px; font-weight:600; }
input { width:100%; min-width:0; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); padding:12px 14px; }
input:focus-visible,button:focus-visible,a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.access-submit { min-height:48px; padding:12px 20px; background:var(--accent); color:var(--ink); border:1px solid transparent; border-radius:9px; font-weight:700; }
.access-submit:hover { filter:brightness(1.08); }
button:disabled { cursor:wait; opacity:.65; }
.access-error { color:var(--error); margin:0; font-size:14px; min-height:1.6em; }
.access-hint { font-size:13px; }
a { color:var(--accent); text-underline-offset:4px; }
#access-editor-link { display:inline-block; margin-top:24px; font-size:13px; }
footer { color:var(--muted); text-align:center; font-size:12px; margin-top:30px; }
noscript { display:block; padding:20px; }
@media(max-width:520px) { .access-layout { width:calc(100% - 28px); padding-top:18px; gap:28px; } .access-panel { border-radius:18px; } }
@media(prefers-reduced-motion:no-preference) { button { transition:filter .15s ease; } }
