@font-face{font-family:Druk;src:url('/fonts/DrukWideCyWeb.ttf') format('truetype');font-display:swap}
@font-face{font-family:Onest;src:url('/fonts/onest-cyrillic.woff2')}@font-face{font-family:Onest;src:url('/fonts/onest-latin.woff2');unicode-range:U+0000-00FF}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#050505;color:#f4f3ef;font:16px/1.5 Onest,system-ui}a{color:inherit;text-decoration:none}button,input{font:inherit}[hidden]{display:none!important}
.nav,main,footer{max-width:1320px;margin:auto;padding-left:32px;padding-right:32px}.nav{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:16px;border-bottom:1px solid #333}.nav>a:last-child{font-size:13px;color:#b8b8b8}.brand{display:flex;gap:12px;align-items:center;font:12px Druk,system-ui}.brand img{width:38px;height:30px}
main{overflow-x:clip}.hero{padding:112px 0 140px;max-width:1200px}.hero h1{font:400 clamp(42px,7vw,104px)/1.1 Druk,system-ui;letter-spacing:-.055em;margin:0 0 30px;max-width:1200px}.hero h1 span{white-space:nowrap}.hero p{font-size:clamp(16px,2vw,22px);color:#b7b7b7}.button,button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border-radius:999px;background:#f4f3ef;color:#050505;border:1px solid #f4f3ef;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:wait}.hero .button{margin-top:20px}.secondary{background:transparent;color:#f4f3ef;border-color:#535353}
.issue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px;padding:48px 0 128px;align-items:start}.forms h2{font:400 clamp(20px,2.3vw,32px)/1.35 Druk,system-ui;letter-spacing:-.025em;margin:0 0 32px}form,label{display:grid;gap:12px}form{gap:18px}input:not([type=file]){width:100%;padding:12px 14px;min-height:50px;background:#111;border:1px solid #5d5d5d;border-radius:8px;color:white}.upload{display:flex;align-items:center;flex-wrap:wrap;background:#151515;border:1px dashed #666;border-radius:8px;padding:16px}.upload img{height:48px;width:48px;border-radius:50%;object-fit:cover}.upload span{flex:1}.upload input{width:100%;font-size:12px}.upload small{display:block;font-size:12px;color:#aaa}.forms>p,#status{color:#b7b7b7}#status{min-height:24px;color:#ffd284}
.preview{perspective:1200px;min-width:0;padding-top:70px}.passport{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;padding:28px;background:#e3e1d8;color:#111;box-shadow:0 25px 80px #0009;border:1px solid #fff6;transform:rotate(-4deg)}.passport:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:repeating-radial-gradient(ellipse at 100% 5%,transparent 0px,transparent 7px,#999582 8px,transparent 9px);pointer-events:none}.pass-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1115;padding-bottom:16px}.pass-top>img{width:44px;filter:invert(1)}.pass-top strong{font:clamp(26px,4vw,42px) Druk,system-ui}.pass-main{display:flex;align-items:center;gap:24px;padding:28px 0}.portrait{width:128px;aspect-ratio:1;flex:none;background:#222;display:grid;place-items:center;border-radius:8px;overflow:hidden}.portrait img{height:100%;width:100%;object-fit:cover}.portrait span{font:56px Druk;color:#e3e1d8}.identity{min-width:0}.identity small{font-size:11px;letter-spacing:.12em}.identity h3{font:clamp(14px,2.2vw,24px)/1.2 Druk;margin:12px 0;overflow-wrap:anywhere}.identity p{font-size:11px}.pass-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #1115;padding-top:16px}.pass-bottom small{display:block;font-size:10px}.pass-bottom strong{font-size:12px}.machine{font:12px monospace;letter-spacing:2px;margin-top:22px;overflow:hidden;white-space:nowrap;opacity:.65}.preview-note{font-size:12px;text-align:center;color:#999;margin:32px 0}
.about{padding:100px 0 140px;border-top:1px solid #333}.reveal{font:400 clamp(24px,4.4vw,60px)/1.25 Druk;letter-spacing:-.04em}.answers{display:grid;grid-auto-flow:dense;grid-template-columns:1fr;margin-top:60px}.answers details{padding:20px 0;border-top:1px solid #444}.answers summary{font-size:18px;cursor:pointer}.answers p{color:#aaa;max-width:65ch}footer{display:flex;justify-content:space-between;border-top:1px solid #333;padding-top:28px;padding-bottom:48px;font-size:12px}
:focus-visible{outline:2px solid #ffd284;outline-offset:4px}
@media(max-width:760px){.nav,main,footer{padding-left:20px;padding-right:20px}.nav{min-height:76px}.hero{padding:64px 0 64px}.issue{grid-template-columns:1fr;gap:20px;padding-bottom:70px}.preview{grid-row:1;padding:10px 8px 20px}.passport{padding:20px;transform:rotate(-2deg)}.portrait{width:92px}.pass-main{gap:16px}.pass-top strong{font-size:30px}.identity h3{font-size:18px}.forms h2{font-size:22px}.about{padding:60px 0}.brand{font-size:10px}.nav>a:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.passport{transform:none!important}}

.hero{text-align:center;max-width:1200px;padding-bottom:90px}.hero h1{font-size:clamp(38px,6.6vw,88px);line-height:1.13;letter-spacing:-.055em}.hero p{max-width:65ch;margin:25px auto}.hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}.hero .button{margin:0}
.issue{grid-auto-flow:dense;gap:50px;padding-top:50px;align-items:center}.preview{padding:50px 0;perspective:1600px}.card-trigger{display:block;border:0;background:transparent;color:inherit;padding:0;width:100%;border-radius:18px;cursor:zoom-in;perspective:1600px}.passport{aspect-ratio:85.6/53.98;padding:24px;border-radius:18px;background:#e0e2d6;transform:rotate(-5deg);transform-style:preserve-3d;box-shadow:0 40px 90px #000c;will-change:transform}.passport:before{background:repeating-radial-gradient(ellipse at 85% 15%,transparent 0,transparent 5px,#839b7d80 6px,transparent 7px);opacity:.5}
.passport .card-data{height:100%;display:flex;flex-direction:column}.pass-top{padding-bottom:12px}.pass-top>img{filter:none;width:40px;height:30px}.pass-top strong{font-size:clamp(22px,3.8vw,38px)}.pass-main{gap:20px;padding:18px 0;flex:1}.portrait{width:23%;aspect-ratio:1;align-self:stretch;height:auto}.portrait img{object-fit:cover}.portrait span{font-size:clamp(28px,4vw,60px)}.identity h3{margin:8px 0;font-size:clamp(13px,1.8vw,23px)}.identity p{margin:4px 0}.identity>strong{display:block;margin-top:12px;font:clamp(12px,1.8vw,20px) Druk}.pass-bottom{align-items:center;padding-top:12px}.machine{font-size:10px;margin-top:12px}.mock-mark{border:1px double #667f64;border-radius:50%;width:54px;height:54px;display:grid;place-content:center;font-size:8px;line-height:1.25;transform:rotate(-15deg)}
#issued-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.passport:has(#issued-image:not([hidden])){padding:0;background:transparent}.passport:has(#issued-image:not([hidden])):before{display:none}
.card-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#c4e6ff33 35%,#f1ddff40 42%,#e4ffb830 50%,transparent 65%);mix-blend-mode:soft-light;opacity:.6;transform:translateX(-15%);border-radius:inherit}
.card-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,#fff9,transparent);opacity:0;transform:translateX(-100%);mix-blend-mode:screen}
.issue-stamp{position:absolute;right:8%;top:35%;padding:12px 16px;border:3px double #254735;border-radius:8px;color:#254735;font:clamp(12px,2vw,24px) Druk;opacity:0;pointer-events:none;transform:rotate(-12deg);background:#d6e6d0e8}
.passport .card-data{position:absolute;inset:24px;height:auto}
.passport .pass-main{min-height:0}
.passport .portrait{align-self:center;height:clamp(56px,8vw,120px);max-height:100%;aspect-ratio:1}
@media(max-width:760px){.passport .card-data{inset:14px}.passport .pass-top strong{font-size:22px}.passport .pass-main{padding:8px 0}.passport .portrait{height:65px}.passport .pass-bottom{padding-top:5px}.passport .mock-mark{width:28px;height:28px;font-size:5px}.passport .machine{margin-top:5px;font-size:6px}.passport .identity h3{font-size:13px}}
.preview-note{margin:28px 0 0}#issue-state{min-height:24px;text-align:center;color:#c4d2b6;font-size:12px}#downloads{display:grid;gap:10px}#downloads small{font-size:11px;color:#aaa}.forms .upload img{object-fit:cover}.registry{padding:65px 0 100px;border-top:1px solid #333}.registry-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.registry h2{font:clamp(18px,2.8vw,32px)/1.3 Druk}.live-dot{font-size:12px;color:#aaa}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#c4d2b6;border-radius:50%;margin-right:8px}
.stat-grid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 25px;border-block:1px solid #343434}.stat-grid>div{padding:28px 20px;border-right:1px solid #343434}.stat-grid>div:first-child{padding-left:0}.stat-grid>div:last-child{border:0}.stat-grid strong{font:clamp(14px,2.1vw,28px)/1.3 Druk;overflow-wrap:anywhere}.stat-grid p,.registry-note{font-size:12px;color:#aaa}.recent-passes{display:flex;gap:12px;overflow:auto;padding:4px 0 12px;scrollbar-width:thin}.recent-passes article{flex:0 0 auto;border:1px solid #444;border-radius:8px;padding:14px 18px}.recent-passes strong{font:12px Druk;display:block}.recent-passes time{display:block;font-size:11px;color:#aaa;margin-top:8px}
#pass-viewer{padding:56px 24px 24px;border:1px solid #444;background:#090909;color:white;border-radius:20px;width:min(1000px,96vw);max-height:94dvh;overflow:auto}#pass-viewer::backdrop{background:#000d;backdrop-filter:blur(8px)}#close-viewer{position:absolute;top:8px;right:10px;padding:0;min-height:36px;width:36px;background:none;color:#fff;border-color:#555}#viewer-card .passport{transform:none;max-width:850px;margin:auto;box-shadow:none}#viewer-card>img{display:block;width:100%;height:auto}#viewer-note{text-align:center;font-size:12px;color:#bbb}.verified-note{color:#c4d2b6}.answers{grid-auto-flow:dense}.about{padding-top:30px}.reveal{max-width:100%;font-size:clamp(25px,4vw,52px)}
@media(max-width:760px){.hero{padding-top:60px;padding-bottom:30px}.issue{gap:25px}.preview{padding:20px 5px}.passport{padding:17px;border-radius:14px;transform:rotate(-3deg)}.pass-top{padding-bottom:9px}.pass-top>img{width:30px;height:22px}.pass-top strong{font-size:24px}.pass-main{gap:15px;padding:12px 0}.identity h3{font-size:15px}.identity small,.identity p{font-size:8px}.identity>strong{font-size:12px;margin-top:8px}.pass-bottom{padding-top:7px}.pass-bottom small{font-size:8px}.pass-bottom strong{font-size:9px}.mock-mark{width:37px;height:37px;font-size:6px}.machine{font-size:7px;margin-top:7px;letter-spacing:1px}.stat-grid{grid-template-columns:1fr}.stat-grid>div,.stat-grid>div:first-child{padding:20px 0;border-right:0;border-bottom:1px solid #343434}.stat-grid strong{font-size:23px}.registry{padding-bottom:55px}.hero-actions>*{font-size:13px}.forms h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.passport{transform:none!important}.card-sheen{display:none}}

.brand img{filter:invert(1)}

/* Scale the entire preview with the card, including the enlarged viewer. */
.passport{container-type:inline-size}
.passport .card-data{position:absolute;inset:5%;display:flex;flex-direction:column;height:auto}
.passport .pass-top{flex:0 0 16%;padding:0 0 2cqw}
.passport .pass-top>img{width:7cqw;height:auto}
.passport .pass-top strong{font-size:7cqw;line-height:1}
.passport .pass-main{flex:1;min-height:0;padding:3cqw 0;gap:4cqw}
.passport .portrait{width:26cqw;height:26cqw;max-height:100%;aspect-ratio:1;align-self:center}
.passport .portrait span{font-size:13cqw}
.passport .identity{flex:1;align-self:center}
.passport .identity small{font-size:1.8cqw}
.passport .identity h3{font-size:3.9cqw;margin:1.5cqw 0;line-height:1.2}
.passport .identity p{font-size:1.9cqw;margin:1cqw 0}
.passport .identity>strong{font-size:3.6cqw;margin-top:2.5cqw}
.passport .pass-bottom{flex:0 0 14%;padding:1.7cqw 0 0;gap:2cqw}
.passport .pass-bottom small{font-size:1.5cqw}
.passport .pass-bottom strong{font-size:2cqw}
.passport .mock-mark{width:8cqw;height:8cqw;font-size:1.2cqw}
.passport .machine{flex:none;font-size:1.3cqw;letter-spacing:.2cqw;margin-top:2cqw}

.passport .mock-mark{font:400 1.45cqw/1.45 Druk,system-ui;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:9cqw;height:9cqw}
.passport .identity small{font:400 1.65cqw/1.3 Druk,system-ui;letter-spacing:0}

.passport .portrait{background:#d4d8cb}.passport .portrait img{object-fit:contain}

.passport .portrait img{object-fit:cover}
