:root{color-scheme:light;--paper:#f5f0e5;--ink:#142e39;--muted:#52636a;--gold:#a57529}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 95% 15%,#d6e5e1 0,transparent 55%),var(--paper);color:var(--ink);font:17px/1.55 system-ui,sans-serif;min-height:100vh;padding:clamp(20px,5vw,72px)}main{max-width:600px;margin:0 auto;background:#fffdf8;border:1px solid #d7d1c3;padding:clamp(24px,5vw,48px);border-radius:22px;box-shadow:0 14px 54px #1b344713}h1{font-size:clamp(32px,5vw,44px);line-height:1.1;letter-spacing:-.045em}h2{line-height:1.2;font-size:22px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.15em;color:var(--gold);margin-top:35px}a{color:var(--ink);font-weight:650;display:inline-flex;align-items:center;min-height:44px}label{display:block;font-weight:650;margin:18px 0}input{display:block;width:100%;margin-top:7px;padding:14px;font:inherit;border:1px solid #9dacae;border-radius:8px;background:white;min-height:48px}button{background:var(--ink);color:white;border:0;border-radius:8px;padding:14px 18px;min-height:48px;font:650 16px system-ui;cursor:pointer}button:disabled{opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b28b43;outline-offset:4px}.small{font-size:13px;color:var(--muted);margin-top:28px}#status:not(:empty){padding:12px;border-left:4px solid var(--gold);background:#f8f0dc}code,pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:15px;display:block;user-select:all;font-size:14px}[hidden]{display:none!important}

/* Presentation-only native sign-in, retaining the existing account/password/code form. */
body[data-page=login]{padding:0;background:#f5f0e7;color:#172d35}
body[data-page=login] .signin-entrance{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,1fr);min-height:100svh;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.signin-art{position:relative;background:#e8dfcd center/cover no-repeat}
.signin-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.signin-art[data-scene=sakura]>img{object-position:48% center}
.signin-art>span{position:absolute;z-index:1;left:32px;bottom:28px;background:#f5f0e7ed;padding:10px 14px;color:#203941;font-size:10px;letter-spacing:.17em}
.signin-panel{padding:30px clamp(32px,5vw,92px) 20px;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh}
.signin-brand{display:flex;align-items:center;gap:14px;min-height:50px;text-decoration:none;color:inherit;font-size:18px;letter-spacing:.07em;line-height:1.25}
.signin-brand img{width:56px;height:auto;mix-blend-mode:multiply}.signin-brand small{display:block;font-size:10px;letter-spacing:.17em;margin-top:6px}
.signin-copy{padding:26px 0 18px;max-width:450px;width:100%;margin:auto}.signin-copy .eyebrow{margin:0 0 14px;font-size:10px;color:#746134;letter-spacing:.16em}
.signin-copy h1{font-size:clamp(32px,3.1vw,46px);font-weight:550;line-height:1.13;letter-spacing:-.05em;margin:0 0 12px}.signin-intro{font-size:16px;color:#58676a;margin:0 0 22px}
.signin-copy #login label{font-size:13px;line-height:1.5;margin:14px 0 6px}.signin-copy #login input{min-height:48px;padding:11px 12px;font-size:16px;margin:0;border-color:#9fadae;background:#fffdf8}.signin-copy #login input[name=code]{max-width:220px;letter-spacing:.12em}
#signin-code-help{font-size:12px;color:#58676a;margin:7px 0 18px}.signin-copy button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;border:1px solid #203a3f;background:#203a3f;color:#fffaf0}.signin-copy button span{color:#dab95a;font-size:21px}.signin-copy button:hover{background:#2d5258}
.signin-security{font-size:12px;line-height:1.6;color:#617174;margin:16px 0 0}.signin-copy #status:empty{margin:0}.signin-copy #status:not(:empty){font-size:14px;overflow-wrap:anywhere;margin:14px 0 0}
.signin-panel footer{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:#687372}.signin-panel footer a{font-size:12px;text-underline-offset:4px;min-height:44px}
@media(max-width:760px){body[data-page=login] .signin-entrance{grid-template-columns:1fr}.signin-art{height:180px;min-height:0;background-position:center 42%}.signin-art>span{bottom:12px;left:20px;font-size:8px;padding:6px 9px}.signin-panel{padding:20px;min-height:0}.signin-brand{font-size:15px;min-height:44px}.signin-brand img{width:46px}.signin-copy{padding:24px 0 12px;max-width:none}.signin-copy h1{font-size:34px}.signin-panel footer{flex-wrap:wrap;gap:8px}.signin-copy .eyebrow{font-size:9px}}

/* Remembered-browser choice: compact checkbox within a full44px label target. */
.signin-copy #login .signin-remember{display:flex;align-items:center;gap:12px;min-height:44px;margin:12px 0 18px;font-weight:500;font-size:13px;cursor:pointer}.signin-copy #login .signin-remember input[type=checkbox]{display:block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#203a3f}.signin-remember span{line-height:1.45}

.signin-policy{font-size:12px;color:#617174}.signin-policy summary{display:list-item;min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}.signin-policy summary:focus-visible{outline:3px solid #b28b43;outline-offset:3px}.signin-policy p{margin:0 0 12px;line-height:1.6}

/* Server-derived remembered-browser presentation; existing artwork is unchanged. */
#signin-factor{margin:14px 0 0;border:1px solid #9fadae;border-radius:8px;padding:0 12px;background:#fffdf8}
#signin-factor>summary{min-height:44px;padding:11px 0;cursor:pointer;font-size:13px;font-weight:650;color:#203a3f}
#signin-factor>summary span{float:right;font-size:11px;font-weight:500;color:#52636a;margin-left:12px}
#signin-factor>summary:focus-visible{outline:3px solid #b28b43;outline-offset:3px;border-radius:3px}
#signin-factor[open]{padding-bottom:4px}#signin-factor[open]>summary{border-bottom:1px solid #d7d1c3}
.signin-copy #login #signin-factor label{margin-top:10px}#signin-factor #signin-code-help{margin-bottom:10px}
#signin-remembered-note{font-size:12px;line-height:1.55;color:#52636a;margin:7px 0 10px}
@media(max-width:400px){#signin-factor>summary span{float:none;display:block;margin:1px 0 0}}
