/* === Base: mobile-first (< 768px) === */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}
.container{max-width:100%;margin:16px auto;padding:0 12px}
h1{font-size:1.2rem;margin-bottom:16px;text-align:center}
.card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:12px}
label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px;margin-top:12px}
.container input,.container textarea,.container select{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:1rem}
textarea{resize:vertical;min-height:80px}
.btn{display:block;width:100%;padding:10px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:14px;color:#fff;background:#2563eb}
.btn:hover{background:#1d4ed8}
.btn:disabled{background:#94a3b8;cursor:not-allowed}
.btn-secondary{background:#64748b}
.btn-secondary:hover{background:#475569}
.msg{padding:10px;border-radius:6px;margin-top:12px;font-size:.9rem}
.msg-ok{background:#dcfce7;color:#166534}
.msg-err{background:#fee2e2;color:#991b1b}
.link{text-align:center;margin-top:12px;font-size:.9rem}
.link a{color:#2563eb;text-decoration:none}
nav{background:#1a1d2e;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
nav a{color:#c0c0c0;text-decoration:none;font-size:.8rem;margin-left:8px}
nav a:hover{color:#ff69b4}
nav .brand{font-weight:700;font-size:1rem;color:#fff}
.hidden{display:none}
.consent-row{display:flex;align-items:flex-start;gap:8px;margin-top:12px}
.consent-row input[type=checkbox]{width:auto;margin-top:4px}
.consent-row label{margin:0;font-weight:400;font-size:.85rem}
.list-item{border-bottom:1px solid #eee;padding:10px 0}
.list-item:last-child{border-bottom:none}
.tag{display:inline-block;background:#e0e7ff;color:#3730a3;padding:2px 8px;border-radius:4px;font-size:.7rem;margin-right:4px}
.score{font-weight:700;color:#2563eb}
.banner{padding:10px 16px;font-size:.9rem;text-align:center;border-bottom:1px solid}
.banner-maintenance{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.banner-update{background:#dbeafe;color:#1e40af;border-color:#93c5fd}
.banner-info{background:#f0fdf4;color:#166534;border-color:#86efac}

/* very small phones */
@media(max-width:360px){
  nav span{display:flex;flex-wrap:wrap;gap:4px}
  nav a{margin-left:0;font-size:.75rem}
}

/* === Tablet (768px+) === */
@media(min-width:768px){
  .container{max-width:680px;margin:32px auto;padding:0 24px}
  h1{font-size:1.4rem;margin-bottom:20px}
  .card{padding:24px;margin-bottom:16px;border-radius:10px}
  input,textarea,select{padding:10px;font-size:.95rem}
  .btn{padding:12px;font-size:1rem}
  nav{padding:12px 24px}
  nav a{font-size:.9rem;margin-left:14px}
  nav .brand{font-size:1.1rem}
  .tag{font-size:.75rem}
  .list-item{padding:12px 0}
}

/* === Desktop (1024px+) === */
@media(min-width:1024px){
  .container{max-width:800px;margin:40px auto;padding:0 32px}
  h1{font-size:1.5rem}
  .card{padding:28px;margin-bottom:20px}
  nav{padding:14px 32px}
  nav a{font-size:.95rem;margin-left:16px}
  nav .brand{font-size:1.2rem}
  .btn{padding:14px;font-size:1.05rem}
}

/* nav language selector */
nav select{width:auto;max-width:120px;background:#25293c;color:#c0c0c0;border:1px solid #3a3f55;border-radius:4px;padding:4px 8px;font-size:.85rem;margin-left:auto;cursor:pointer}
nav select:hover{border-color:#ff69b4}
nav select option{color:#c0c0c0;background:#2d3142;padding:4px 8px}
nav select option:checked,nav select option:hover{background:#ff69b4;color:#fff}
