:root{--ink:#1f2933;--muted:#66737f;--brand:#126c5b;--brand-dark:#0b4b3f;--line:#d9e0e6;--paper:#f4f7f6;--danger:#a12b2b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 18px 45px #1e302b17}.auth-card.wide{width:min(650px,100%)}h1{margin:4px 0 8px}.eyebrow{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.1em}.lead,.info-box p,.switch{color:var(--muted);line-height:1.7}.info-box{background:#edf6f3;border-radius:10px;padding:16px 20px;margin:22px 0}.info-box h2{font-size:16px;margin-top:0}.google-button{width:100%;border:0;border-radius:8px;background:var(--brand);color:#fff;font-weight:800;padding:14px;cursor:pointer;margin-top:18px}.google-button:hover{background:var(--brand-dark)}.google-button:disabled{opacity:.55}.consent{display:flex;gap:9px;align-items:flex-start;font-size:14px}.consent input{margin-top:3px}.switch{text-align:center}.message{background:#fdeaea;color:var(--danger);padding:12px 14px;border-radius:8px;margin:16px 0}a{color:var(--brand)}
/* 狭い画面（480px以下）は、外側と内側の余白を詰めます（2026-10-15）。320pxでは余白が幅の約4割を使い、中身が198pxしかありませんでした。 */
@media(max-width:480px){.auth-shell{padding:16px}.auth-card{padding:24px 18px}.info-box{padding:14px 16px}.info-box ul{padding-left:1.2em}}
