*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#0f1923;
  color:#e0e0e0;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 16px calc(20px + env(safe-area-inset-bottom, 0));
  -webkit-tap-highlight-color:transparent;
}
.card{
  background:#1a2332;
  border-radius:16px;
  padding:24px 20px;
  width:100%;
  max-width:420px;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.logo{text-align:center;margin-bottom:20px;}
.logo img{width:96px;height:96px;border-radius:20px;object-fit:contain;}
.logo h1{font-size:20px;color:#f0c040;margin-bottom:2px;}
.logo p{font-size:12px;color:#888;}
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-size:13px;color:#aaa;margin-bottom:6px;}
.form-group input[type="text"],
.form-group input[type="tel"],
.form-group input[type="password"]{
  width:100%;
  padding:13px 14px;
  border:1px solid #2a3a4a;
  border-radius:10px;
  background:#0f1923;
  color:#e0e0e0;
  font-size:16px;
  outline:none;
  transition:border .2s;
  -webkit-appearance:none;
  appearance:none;
}
.form-group input[type="text"]:focus,
.form-group input[type="tel"]:focus,
.form-group input[type="password"]:focus{border-color:#f0c040;}
.form-group input[type="text"]::placeholder,
.form-group input[type="tel"]::placeholder,
.form-group input[type="password"]::placeholder{color:#556;}
.fp-check{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  font-size:13px;
  color:#aaa;
  line-height:1.5;
  user-select:none;
  -webkit-user-select:none;
}
.fp-check input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:18px;
  height:18px;
  margin:0;
  cursor:pointer;
  z-index:1;
}
.fp-check-box{
  flex-shrink:0;
  width:18px;
  height:18px;
  margin-top:2px;
  border:2px solid #6b7c8f;
  border-radius:4px;
  background:#0f1923;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s,border-color .15s;
  pointer-events:none;
}
.fp-check input[type="checkbox"]:checked + .fp-check-box{
  background:#f0c040;
  border-color:#f0c040;
}
.fp-check input[type="checkbox"]:checked + .fp-check-box::after{
  content:'';
  width:5px;
  height:9px;
  border:solid #1a1a1a;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  margin-top:-2px;
}
.fp-check input[type="checkbox"]:focus-visible + .fp-check-box{
  outline:2px solid rgba(240,192,64,.45);
  outline-offset:2px;
}
.fp-check-text{flex:1;min-width:0}
.fp-check-text a{color:#f0c040;text-decoration:underline}
.fp-legal-consent{margin-top:4px}
.fp-legal-consent .legal-consent-link{
  border:none;background:none;padding:0;margin:0;
  color:#f0c040;text-decoration:underline;cursor:pointer;
  font:inherit;line-height:inherit;
}
.fp-legal-consent .legal-consent-status{display:block;margin-top:4px;font-size:11px;color:#888}
.fp-legal-consent .legal-consent-status.done{color:#7cb342}
.fp-legal-consent input[type="checkbox"]{pointer-events:none}
.fp-legal-consent input[type="checkbox"]:disabled + .fp-check-box{opacity:0.85}
.fp-legal-consent input[type="checkbox"]:checked + .fp-check-box{
  background:#7cb342;border-color:#7cb342;
}
.fp-legal-consent input[type="checkbox"]:checked + .fp-check-box::after{
  content:'';
  display:block;
  width:5px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  margin-top:-2px;
}
.legal-consent-title{font-size:12px;color:#888;margin-bottom:8px}
.legal-consent-hint{font-size:11px;color:#666;margin-top:8px;line-height:1.45}
.btn{
  width:100%;
  padding:14px;
  border:none;
  border-radius:10px;
  background:linear-gradient(135deg,#f0c040,#e8a020);
  color:#1a1a1a;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
  transition:opacity .2s;
  min-height:48px;
}
.btn:hover{opacity:0.9;}
.btn:disabled{opacity:0.65;cursor:not-allowed;}
.error{color:#ff6b6b;font-size:13px;margin-top:12px;text-align:center;display:none;line-height:1.5;}
.footer{text-align:center;margin-top:16px;font-size:12px;color:#555;}
.footer a.icp-link,.footer a{color:#6b7280;text-decoration:none;}
.footer a.icp-link:hover,.footer a:hover{color:#9ca3af;text-decoration:underline;}
.footer a.icp-link:visited,.footer a:visited{color:#6b7280;}
@media (max-width: 480px) {
  body{padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0));}
  .card{padding:20px 16px;border-radius:14px;}
  .logo{margin-bottom:18px;}
  .logo img{width:88px;height:88px;border-radius:18px;}
  .logo h1{font-size:18px;}
  .form-group{margin-bottom:12px;}
  .form-group label{font-size:12px;margin-bottom:5px;}
  .form-group input[type="text"],
  .form-group input[type="tel"],
  .form-group input[type="password"]{
    padding:11px 12px;font-size:15px;
  }
  .btn{padding:12px;min-height:44px;font-size:15px;}
  .footer{margin-top:14px;}
}
