@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/anton-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrainsmono-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrainsmono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrainsmono-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrainsmono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/jetbrainsmono-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/jetbrainsmono-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/oswald-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/oswald-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/oswald-600-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/oswald-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/oswald-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/oswald-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --bg:#07080c; --paper:#14170d; --ink:#eef2dc; --acc:#b6ff3a;
  --mud:#aeba93; --tape:rgba(182,255,58,.45);
  --disp:"Oswald",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--disp);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}

.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.10;mix-blend-mode:screen}

.sheet{position:relative;max-width:900px;margin:0 auto;min-height:100vh;background:var(--paper);
  background-image:radial-gradient(1200px 300px at 50% -10%, rgba(0,0,0,.25), transparent 60%),
    radial-gradient(800px 500px at 110% 120%, rgba(0,0,0,.3), transparent 60%);
  box-shadow:0 0 120px rgba(0,0,0,.9);overflow:hidden}
.sheet::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;z-index:2;
  background:repeating-linear-gradient(135deg,var(--paper) 0 7px,transparent 7px 14px),
    repeating-linear-gradient(45deg,var(--paper) 0 7px,var(--bg) 7px 14px);filter:contrast(1.4)}
.wrap{position:relative;padding:40px 40px 70px}

/* header */
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.brand{display:flex;align-items:flex-end;gap:14px;transform:rotate(-1.2deg)}
.brand .big{font-family:"Anton",sans-serif;font-size:clamp(46px,10vw,96px);line-height:.94;
  letter-spacing:3px;text-transform:uppercase;margin:0;color:var(--ink);
  -webkit-text-stroke:3px var(--bg);paint-order:stroke fill;text-shadow:6px 6px 0 var(--acc), 0 0 1px var(--bg)}
.stamp{font-family:var(--mono);color:var(--acc);border:3px solid var(--acc);padding:4px 10px;
  transform:rotate(7deg);font-size:13px;letter-spacing:1px;opacity:.9;border-radius:3px;white-space:nowrap;margin-bottom:10px}
.lang{display:flex;gap:5px;flex-shrink:0}
.lang button{font-family:var(--disp);font-weight:700;font-size:13px;width:40px;height:32px;cursor:pointer;
  border:2px solid var(--ink);background:transparent;color:var(--ink);transform:rotate(-1deg)}
.lang button.active{background:var(--acc);color:var(--bg);border-color:var(--acc)}
.lead{font-family:var(--mono);font-size:15px;max-width:560px;margin:20px 0 0;color:var(--mud);line-height:1.7}
.rule{height:4px;background:var(--ink);margin:26px 0;position:relative;transform:rotate(-.4deg)}
.rule::after{content:"";position:absolute;left:0;right:35%;top:7px;height:2px;background:var(--acc)}

/* nav */
nav{display:flex;flex-wrap:wrap;gap:10px}
nav button{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:1px;
  padding:8px 15px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transform:rotate(-1deg);transition:.1s}
nav button:nth-child(even){transform:rotate(1.2deg)}
nav button:hover{background:var(--ink);color:var(--paper)}
nav button.active{background:var(--acc);color:var(--bg);border-color:var(--acc)}

/* card */
.card{margin-top:34px;background:color-mix(in srgb,var(--paper) 80%,#000);border:3px solid var(--ink);
  padding:26px;position:relative;box-shadow:8px 8px 0 rgba(0,0,0,.6)}
.card .tape{position:absolute;top:-16px;left:40px;width:120px;height:34px;background:var(--tape);transform:rotate(-4deg);
  box-shadow:0 2px 6px rgba(0,0,0,.4)}
.card h2{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:30px;margin:4px 0 2px;letter-spacing:.5px;color:var(--ink)}
.card .sub{font-family:var(--mono);color:var(--mud);font-size:13px;margin-bottom:16px;line-height:1.6}

label{display:block;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:1px;margin:14px 0 6px;color:var(--mud)}
input[type=text],input[type=number],textarea,select{width:100%;padding:12px 13px;border:2px solid var(--ink);
  background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--acc)}
textarea{min-height:120px;resize:vertical}
input[type=range]{accent-color:var(--acc)}
input[type=checkbox]{accent-color:var(--acc);width:17px;height:17px}
.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1;min-width:120px}
.inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.chk{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:14px;color:var(--ink)}

.btn{margin-top:16px;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:16px;
  padding:11px 24px;border:3px solid var(--ink);background:var(--acc);color:var(--bg);cursor:pointer;
  transform:rotate(-1deg);box-shadow:5px 5px 0 var(--ink);transition:.08s}
.btn:active{transform:translate(3px,3px) rotate(-1deg);box-shadow:2px 2px 0 var(--ink)}
.btn.sec{background:transparent;color:var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.5);transform:rotate(0)}
.btn.sec:hover{background:var(--ink);color:var(--paper)}

.out{margin-top:16px;padding:14px;background:var(--bg);border:2px dashed var(--ink);color:var(--ink);
  font-family:var(--mono);font-size:14px;word-break:break-word;white-space:pre-wrap;min-height:22px}
.meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:14px}
.meta div{font-family:var(--mono);font-size:13px;color:var(--mud)}
.meta b{font-family:var(--disp);font-weight:700;font-size:28px;display:block;color:var(--acc)}
#qr{margin-top:18px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#qr canvas{background:#fff;padding:10px;border:3px solid var(--ink);box-shadow:6px 6px 0 rgba(0,0,0,.5)}
.hidden{display:none}
footer{margin-top:44px;font-family:var(--mono);font-size:12px;color:var(--mud);display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:3px solid var(--ink);padding-top:16px}
.smudge{position:absolute;border-radius:50%;filter:blur(20px);opacity:.14;pointer-events:none;background:#000}
.smudge.s1{width:280px;height:170px;top:120px;left:-70px}
.smudge.s2{width:220px;height:220px;bottom:60px;right:-50px}
.mt12{margin-top:12px}
#plen{width:100%}
@media(max-width:560px){.wrap{padding:36px 20px 60px}.brand .big{letter-spacing:2px}}
