:root { --blue:#1f5bff; --ink:#111111; --muted:#6b6b6b; --line:#e4e4e4; --green:#449202; }
  * { box-sizing:border-box; }
  body { margin:0; background:#fff;background:light-dark(#fff,#221e1b); color:var(--ink);
    font-family:'TildaSans','Helvetica Neue',Arial,sans-serif; font-size:16px; line-height:1.55; }
  a { color:var(--blue);color:light-dark(#1f5bff,#7ea3f0); }

  .wrap { max-width:1000px; margin:0 auto; padding:0 20px; }

  
  header.site { border-bottom:1px solid var(--line);border-bottom:1px solid light-dark(#e4e4e4,#393531); background:#fff;background:light-dark(#fff,#221e1b); }
  .site-in { display:flex; align-items:center; gap:16px; padding:14px 0; flex-wrap:wrap; }
  .site-in img { height:46px; width:auto; display:block; }
  .brand-txt b { display:block; font-size:16px; line-height:1.3; }
  .brand-txt span { color:var(--muted); font-size:14px; }
  
  .site-link { margin-left:auto; color:var(--muted); text-decoration:none; font-size:14px;
    white-space:nowrap; }
  .site-link:hover { color:var(--ink); }

  
  .hero { padding:44px 0 8px; }
  .hero h1 { font-size:34px; line-height:1.2; margin:0 0 12px; font-weight:700; }
  .hero p.lead { font-size:18px; color:#333;color:light-dark(#333,#c6c0bc); margin:0 0 4px; max-width:760px; }

  
  .rules { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:18px;
    margin:28px 0 8px; }
  .rule { border:1px solid var(--line);border:1px solid light-dark(#e4e4e4,#393531); border-radius:10px; padding:18px 18px 16px; }
  .rule i { color:var(--blue);color:light-dark(#1f5bff,#7ea3f0); font-size:20px; }
  .rule b { display:block; margin:10px 0 4px; font-size:15px; }
  .rule span { color:var(--muted); font-size:14px; }

  .note { background:#f6f8ff;background:light-dark(#f6f8ff,#272320); border:1px solid #d9e2ff;border:1px solid light-dark(#d9e2ff,#2f364c); border-radius:10px;
    padding:16px 18px; margin:26px 0 0; font-size:15px; color:#22314f;color:light-dark(#22314f,#afc3e8); }
  .note b { color:var(--ink); }

  
  section.form { padding:34px 0 10px; }
  h2.sec { font-size:24px; margin:0 0 6px; }
  .sub { color:var(--muted); font-size:15px; margin:0 0 22px; }

  .kinds { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin-bottom:22px; }
  .kind { border:2px solid var(--line);border:2px solid light-dark(#e4e4e4,#393531); border-radius:10px; padding:16px 18px; cursor:pointer; transition:.15s; }
  .kind:hover { border-color:#bcc9ff; }
  .kind.on { border-color:var(--blue);border-color:light-dark(#1f5bff,#6c90dc); background:#f6f8ff;background:light-dark(#f6f8ff,#272320); }
  .kind b { display:block; font-size:16px; }
  .kind span { color:var(--muted); font-size:14px; }

  .row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:700px) { .row { grid-template-columns:1fr; } .hero h1 { font-size:27px; } }
  .fld { margin-bottom:16px; }
  .fld label { display:block; font-size:14px; font-weight:600; margin-bottom:6px; }
  .fld .req { color:#d33;color:light-dark(#d33,#e18178); }
  .fld input, .fld textarea, .fld select {
    width:100%; padding:11px 13px; border:1px solid #ccc;border:1px solid light-dark(#ccc,#504b47); border-radius:8px;
    font-size:15px; font-family:inherit; color:var(--ink); background:#fff;background:light-dark(#fff,#221e1b); }
  .fld input:focus, .fld textarea:focus { outline:none; border-color:var(--blue);border-color:light-dark(#1f5bff,#6c90dc); }
  .fld textarea { resize:vertical; min-height:130px; }
  .fld .hint { color:var(--muted); font-size:13px; margin-top:5px; }
  .fld.bad input, .fld.bad textarea { border-color:#d33;border-color:light-dark(#d33,#d2736b); background:#fff7f7;background:light-dark(#fff7f7,#27221f); }

  
  .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

  .agree { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#333;color:light-dark(#333,#c6c0bc); margin:6px 0 20px; }
  .agree input { margin-top:3px; width:16px; height:16px; flex:none; }

  .btn { display:inline-flex; align-items:center; gap:9px; border:none; border-radius:8px;
    background:var(--blue); color:#fff; font-size:16px; font-weight:600; font-family:inherit;
    padding:13px 26px; cursor:pointer; transition:.15s; }
  .btn:hover { filter:brightness(1.08); }
  .btn:disabled { opacity:.6; cursor:default; }
  .btn.ghost { background:#fff;background:light-dark(#fff,#221e1b); color:var(--blue);color:light-dark(#1f5bff,#7ea3f0); border:1px solid var(--blue);border:1px solid light-dark(#1f5bff,#6c90dc); }

  .msg { border-radius:10px; padding:16px 18px; margin:18px 0 0; font-size:15px; display:none; }
  .msg.err { background:#fff4f4;background:light-dark(#fff4f4,#282421); border:1px solid #f2c7c7;border:1px solid light-dark(#f2c7c7,#5d3b3b); color:#8a1f1f;color:light-dark(#8a1f1f,#f8968d); display:block; }
  .msg.ok  { background:#f2fbf1;background:light-dark(#f2fbf1,#282320); border:1px solid #cbe8c4;border:1px solid light-dark(#cbe8c4,#2b4325); color:#1f5c17;color:light-dark(#1f5c17,#89c880); display:block; }
  .ticket { font-size:22px; font-weight:700; letter-spacing:1px; color:var(--green);color:light-dark(#449202,#7cb164); margin:8px 0; }

  
  section.check { border-top:1px solid var(--line);border-top:1px solid light-dark(#e4e4e4,#393531); margin-top:44px; padding:34px 0 10px; }
  .check .row { align-items:end; }
  table.st { width:100%; border-collapse:collapse; margin-top:14px; font-size:15px; }
  table.st td { padding:7px 0; border-bottom:1px solid var(--line);border-bottom:1px solid light-dark(#e4e4e4,#393531); }
  table.st td.k { color:var(--muted); width:44%; }

  
  footer.site { border-top:1px solid var(--line);border-top:1px solid light-dark(#e4e4e4,#393531); margin-top:50px; padding:26px 0 40px;
    color:var(--muted); font-size:14px; }
  footer.site b { color:var(--ink); }
  footer.site a { color:var(--muted); }



@media screen{
  :root{ --ground:#F3EFE9; --surface:#FFFFFF; --ink:#1D1A17; --muted:#6E655C;
    --rule:#E2DAD0; --accent:#B5502F; --soft:#F7E9E2; --danger:#A33B28; }
  html body{ background:var(--ground); }
}