:root{
    --ink:#0c0e0a;
    --panel:#14170f;
    --panel-2:#1b1f15;
    --paper:#e9e4d4;
    --olive:#4b5230;
    --olive-dim:#2c3120;
    --hazard:#ff5a1f;
    --hazard-dim:#9c3d18;
    --stamp:#b23a2e;
    --line: rgba(233,228,212,0.14);
    --line-strong: rgba(233,228,212,0.28);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:
      radial-gradient(circle at 20% -10%, rgba(75,82,48,0.35), transparent 45%),
      var(--ink);
    color:var(--paper);
    font-family:'IBM Plex Mono', monospace;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:2; opacity:0.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  a{color:inherit;}

  header.hero{
    position:relative;
    padding:64px 24px 48px;
    border-bottom:1px solid var(--line-strong);
    background:
      repeating-linear-gradient(135deg, rgba(255,90,31,0.06) 0 2px, transparent 2px 14px),
      var(--panel);
    overflow:hidden;
  }
  .hero-inner{max-width:920px; margin:0 auto; position:relative; z-index:1;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--hazard); border:1px solid var(--hazard-dim);
    padding:5px 10px; background:rgba(255,90,31,0.06);
  }
  .eyebrow::before{content:''; width:6px; height:6px; background:var(--hazard); display:inline-block;}
  h1.title{
    font-family:'Oswald', sans-serif;
    font-weight:700;
    text-transform:uppercase;
    font-size:clamp(40px, 7vw, 76px);
    letter-spacing:0.01em;
    margin:20px 0 8px;
    line-height:0.98;
  }
  h1.title span{color:var(--hazard);}
  .subtitle{
    max-width:560px; color:rgba(233,228,212,0.72); font-size:15px;
  }
  .stampbox{
    position:absolute; top:40px; right:24px; width:120px; height:120px;
    border:3px solid var(--stamp); border-radius:50%;
    display:flex; align-items:center; justify-content:center; text-align:center;
    transform:rotate(-14deg); opacity:0.55;
    font-family:'Oswald', sans-serif; font-weight:700; letter-spacing:0.06em;
    font-size:12px; color:var(--stamp); text-transform:uppercase;
  }
  @media (max-width:720px){ .stampbox{display:none;} }

  main{max-width:920px; margin:0 auto; padding:56px 24px 120px;}

  .warning{
    display:flex; gap:14px; align-items:flex-start;
    background:rgba(178,58,46,0.1); border:1px solid var(--stamp);
    padding:16px 18px; margin-bottom:56px; font-size:13.5px; color:rgba(233,228,212,0.9);
  }
  .warning .glyph{
    font-family:'Oswald',sans-serif; font-weight:700; color:var(--stamp);
    border:1px solid var(--stamp); width:26px; height:26px; min-width:26px;
    display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:14px;
  }
  .warning b{color:var(--paper);}

  section.block{margin-bottom:56px;}
  .block-head{
    display:flex; align-items:baseline; gap:14px; margin-bottom:18px;
    border-bottom:1px solid var(--line); padding-bottom:12px;
  }
  .block-num{
    font-family:'Oswald', sans-serif; font-size:13px; color:var(--olive);
    border:1px solid var(--olive); padding:2px 8px; letter-spacing:0.08em;
  }
  .block-title{
    font-family:'Oswald', sans-serif; font-weight:600; text-transform:uppercase;
    font-size:20px; letter-spacing:0.03em;
  }
  .block-desc{color:rgba(233,228,212,0.55); font-size:13px; margin:-8px 0 20px;}

  .field{margin-bottom:20px;}
  .field label{
    display:block; font-size:12px; text-transform:uppercase; letter-spacing:0.1em;
    color:rgba(233,228,212,0.65); margin-bottom:7px;
  }
  .field .req{color:var(--hazard);}
  input[type=text], input[type=number], input[type=url], textarea, select{
    width:100%; background:var(--panel-2); border:1px solid var(--line-strong);
    color:var(--paper); padding:11px 12px; font-family:'IBM Plex Mono', monospace;
    font-size:14px; outline:none; transition:border-color .15s, background .15s;
  }
  textarea{min-height:100px; resize:vertical;}
  input::placeholder, textarea::placeholder{color:rgba(233,228,212,0.3);}
  input:focus, textarea:focus, select:focus{
    border-color:var(--hazard); background:#1f2317;
  }
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media (max-width:600px){ .row2{grid-template-columns:1fr;} }

  .chips{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{
    border:1px solid var(--line-strong); padding:9px 14px; font-size:13px;
    cursor:pointer; user-select:none; transition:all .12s;
    background:var(--panel-2);
  }
  .chip input{display:none;}
  .chip.checked{border-color:var(--hazard); background:rgba(255,90,31,0.12); color:var(--paper);}

  .rules-list{border:1px solid var(--line-strong); background:var(--panel-2);}
  .rule{
    display:flex; gap:14px; padding:16px 18px; border-bottom:1px solid var(--line);
    font-size:13.5px; color:rgba(233,228,212,0.85);
  }
  .rule:last-child{border-bottom:none;}
  .rule .idx{
    font-family:'Oswald', sans-serif; color:var(--olive); min-width:26px; font-size:14px;
  }
  .rule b{color:var(--paper);}

  .agree{
    display:flex; gap:12px; align-items:flex-start; margin-top:18px;
    padding:16px 18px; border:1px dashed var(--line-strong); cursor:pointer;
  }
  .agree input{margin-top:3px; accent-color:var(--hazard);}
  .agree span{font-size:13px; color:rgba(233,228,212,0.75);}

  .submit-row{
    margin-top:48px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  }
  button.submit{
    font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.08em;
    background:var(--hazard); color:var(--ink); border:none; padding:16px 34px;
    font-size:15px; font-weight:600; cursor:pointer; transition:transform .1s, background .15s;
  }
  button.submit:hover{background:#ff7133;}
  button.submit:active{transform:scale(0.98);}
  button.submit:disabled{background:var(--olive-dim); color:rgba(233,228,212,0.4); cursor:not-allowed;}
  .hint{font-size:12px; color:rgba(233,228,212,0.45);}

  .result{
    margin-top:28px; border:1px solid var(--olive); background:rgba(75,82,48,0.12);
    padding:22px; display:none;
  }
  .result.show{display:block;}
  .result-head{
    display:flex; align-items:center; gap:12px; margin-bottom:14px;
  }
  .result-stamp{
    font-family:'Oswald', sans-serif; font-weight:700; letter-spacing:0.06em;
    color:var(--olive); border:2px solid var(--olive); padding:4px 10px;
    text-transform:uppercase; font-size:13px; transform:rotate(-2deg);
  }
  pre{
    white-space:pre-wrap; word-break:break-word; font-size:12.5px;
    background:var(--panel); border:1px solid var(--line); padding:16px;
    color:rgba(233,228,212,0.85); max-height:300px; overflow:auto;
  }
  .copy-btn{
    margin-top:10px; background:none; border:1px solid var(--line-strong); color:var(--paper);
    font-family:'IBM Plex Mono', monospace; font-size:12px; padding:8px 14px; cursor:pointer;
  }
  .copy-btn:hover{border-color:var(--hazard); color:var(--hazard);}

  footer{
    max-width:920px; margin:0 auto; padding:0 24px 60px; color:rgba(233,228,212,0.35);
    font-size:11.5px; text-align:center;
  }
