/* login */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Noto Sans JP','Inter',sans-serif; background:#080b10; color:#e2e8f0;
        min-height:100vh; display:flex; align-items:center; justify-content:center;
        background-image:
            radial-gradient(ellipse at 20% 50%, rgba(249,115,22,0.08) 0%, transparent 50%),
            radial-gradient(ellipse at 80% 20%, rgba(236,72,153,0.05) 0%, transparent 50%); }
.container { max-width:520px; width:100%; padding:2rem; text-align:center; }

/* Brand */
.brand { margin-bottom:2rem; }
.brand h1 { font-size:3.5rem; font-weight:800; letter-spacing:0.15em;
             background:linear-gradient(135deg,#f97316,#ef4444,#ec4899);
             -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:0.5rem; }
.brand-sub { font-size:0.9rem; color:#94a3b8; letter-spacing:0.15em; text-transform:uppercase; font-weight:600; }
.brand-full { font-size:0.8rem; color:#64748b; margin-top:0.5rem; letter-spacing:0.03em; }

/* Card */
.card { background:#0d1117; border:1px solid #1e293b; border-radius:16px; padding:2.5rem 2rem; }
.card p { color:#94a3b8; font-size:1rem; margin-bottom:1.8rem; line-height:1.7; }

/* Google button */
.btn-google { width:100%; padding:1rem; border:1px solid #334155; border-radius:12px;
               background:#1e293b; color:#f1f5f9; font-size:1.05rem; font-weight:600;
               cursor:pointer; transition:all 0.3s; display:flex; align-items:center;
               justify-content:center; gap:0.8rem; font-family:inherit; }
.btn-google:hover { background:#334155; border-color:#475569; transform:translateY(-2px);
                     box-shadow:0 8px 24px rgba(0,0,0,0.4); }

/* Dev login */
.dev-section { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #1e293b; }
.dev-label { font-size:0.7rem; color:#475569; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.8rem; }
.btn-dev { width:100%; padding:0.8rem; border:1px dashed #334155; border-radius:10px;
            background:transparent; color:#64748b; font-size:0.9rem; font-weight:500;
            cursor:pointer; transition:all 0.3s; font-family:inherit; }
.btn-dev:hover { background:#1e293b; color:#94a3b8; border-style:solid; }

.footer { color:#334155; font-size:0.7rem; margin-top:2rem; letter-spacing:0.05em; }
.footer a { color:#475569; text-decoration:none; }

/* terms */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Noto Sans JP','Inter',sans-serif; background:#080b10; color:#c8cdd5; line-height:1.9; }
.container { max-width:800px; margin:0 auto; padding:2rem 1.5rem; }
.back { display:inline-block; color:#f97316; text-decoration:none; font-size:0.85rem; margin-bottom:1.5rem; }
.back:hover { text-decoration:underline; }
h1 { font-size:1.8rem; font-weight:700; color:#f1f5f9; margin-bottom:0.5rem;
     background:linear-gradient(135deg,#f97316,#ec4899); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.subtitle { color:#64748b; font-size:0.85rem; margin-bottom:2rem; }
h2 { font-size:1.15rem; font-weight:600; color:#f97316; margin:2rem 0 0.8rem; padding-bottom:0.4rem; border-bottom:1px solid rgba(249,115,22,0.2); }
h3 { font-size:1rem; font-weight:600; color:#94a3b8; margin:1.2rem 0 0.5rem; }
p { margin-bottom:0.8rem; font-size:0.9rem; }
ul { padding-left:1.5rem; margin-bottom:0.8rem; }
li { margin-bottom:0.4rem; font-size:0.9rem; }
.highlight { background:rgba(249,115,22,0.08); border-left:3px solid #f97316; padding:0.8rem 1rem; border-radius:6px; margin:1rem 0; }
.warning { background:rgba(239,68,68,0.08); border-left:3px solid #ef4444; padding:0.8rem 1rem; border-radius:6px; margin:1rem 0; }
.info { background:rgba(59,130,246,0.08); border-left:3px solid #3b82f6; padding:0.8rem 1rem; border-radius:6px; margin:1rem 0; }
.footer { margin-top:3rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.06); color:#475569; font-size:0.75rem; text-align:center; }
table { width:100%; border-collapse:collapse; margin:0.8rem 0; font-size:0.85rem; }
th { text-align:left; padding:0.5rem; color:#94a3b8; border-bottom:1px solid rgba(255,255,255,0.1); font-weight:600; }
td { padding:0.5rem; border-bottom:1px solid rgba(255,255,255,0.04); }
