@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.03f_1bxrvnkfd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.37g1whwfgt7kp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.1iqnhac4m3hwo.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(../media/figtree-latin-ext-wght-normal.28krudoh3z7og.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(../media/figtree-latin-wght-normal.08sr_7r2rzxl4.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#fbf3e4;--text:#e3d7c4;--muted:#b9aa94;--gold:#f0a63a;--gold-dark:#ffc468;--tint:#2c1f10;--surface:#120e0b;--alt:#19130f;--card:#211913;--border:#382b20;--field:#8b7a66;--error:#f2b8b5;--btn:#f0a63a;--btn-hover:#ffc062;--on-btn:#1a1206;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--ink:#17100b;--text:#3a2d22;--muted:#5e4e3f;--gold:#9a5200;--gold-dark:#7a4000;--tint:#f6e3c4;--surface:#fbf5ea;--alt:#f4eadb;--card:#fffcf6;--border:#e2d3bd;--field:#7a6a58;--error:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;margin:0;font-family:Figtree Variable,system-ui,sans-serif;line-height:1.5}.gate [hidden]{display:none!important}.gate{background:radial-gradient(900px 420px at 50% -10%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 70%),var(--alt);justify-content:center;align-items:center;min-height:100dvh;padding:48px 16px;display:flex}.gate-column{width:100%;max-width:448px;animation:.8s cubic-bezier(.16,1,.3,1) both gate-in}@keyframes gate-in{0%{opacity:0;transform:translateY(24px)}}.gate-logo{aspect-ratio:886/576;background:var(--ink);width:170px;margin:0 auto 28px;display:block;-webkit-mask:url(/assets/logo-mask.png) 50%/contain no-repeat;mask:url(/assets/logo-mask.png) 50%/contain no-repeat}.gate-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:clamp(24px,5vw,32px);box-shadow:0 20px 40px #0000004d}.gate-card h1{color:var(--ink);letter-spacing:-.02em;outline:none;margin:0;font-family:Bricolage Grotesque Variable,Figtree Variable,system-ui,sans-serif;font-size:26px;font-weight:800;line-height:1.15}.gate-icon{background:var(--tint);width:48px;height:48px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.gate-text{color:var(--muted);margin:10px 0 0;font-size:16px;line-height:1.6}.gate-center{text-align:center}.gate-center .gate-icon{margin-inline:auto}.gate-actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.gate-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gate-btn{cursor:pointer;background:var(--btn);min-height:48px;color:var(--on-btn);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font:700 17px Figtree Variable,system-ui,sans-serif;text-decoration:none;display:inline-flex}.gate-btn:hover{background:var(--btn-hover)}.gate-btn.outline{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--border);background:0 0}.gate-btn.outline:hover{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold)}.gate-link{min-height:44px;color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.gate-label{color:var(--ink);margin-top:24px;font-size:15px;font-weight:600;display:block}.gate-input{border:1.5px solid var(--field);background:var(--surface);width:100%;height:48px;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;border-radius:8px;margin-top:8px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.gate-input:focus-visible,.gate-btn:focus-visible,.gate-link:focus-visible,.gate-contact a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.gate-input::placeholder{letter-spacing:normal;text-transform:none;color:var(--muted)}.gate-input[aria-invalid=true]{border-color:var(--error)}.gate-input.is-email{letter-spacing:normal;text-transform:none;font-family:inherit;font-size:17px}.gate-error{color:var(--error);margin:8px 0 0;font-size:15px;font-weight:500}.gate-submit{width:100%;margin-top:24px}.gate-submit:disabled{opacity:.5;cursor:not-allowed}.gate-spin{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite gate-spin}@keyframes gate-spin{to{transform:rotate(360deg)}}.gate-shake{animation:.45s gate-shake}@keyframes gate-shake{15%{translate:-10px}30%{translate:10px}45%{translate:-7px}60%{translate:7px}80%{translate:-3px}}.gate-note{color:var(--muted);align-items:flex-start;gap:8px;margin:20px 0 0;font-size:13px;line-height:1.5;display:flex}.gate-note svg{color:var(--gold);flex:none;margin-top:1px}.gate-contact{text-align:center;color:var(--muted);margin-top:24px;font-size:14px}.gate-contact p{margin:0}.gate-contact ul{flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:8px 0 0;padding:0;list-style:none;display:flex}.gate-contact a{color:var(--gold);align-items:center;gap:6px;min-height:32px;font-weight:600;text-decoration:none;display:inline-flex}.gate-contact a:hover{text-decoration:underline}.gate-pill{z-index:40;border:1px solid var(--border);background:var(--card);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font:600 13px Figtree Variable,system-ui,sans-serif;text-decoration:none;display:inline-flex;position:fixed;bottom:16px;left:16px;box-shadow:0 8px 20px #0000004d}.gate-pill-warn{color:#78350f;background:#fffbeb;border-color:#f59e0b80}.gate-watermark{z-index:60;pointer-events:none;-webkit-user-select:none;user-select:none;background-repeat:repeat;position:fixed;inset:0}.gate-shield{cursor:pointer;z-index:70;text-align:center;background:color-mix(in srgb,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);flex-direction:column;justify-content:center;align-items:center;padding:24px;animation:.2s gate-fade;display:flex;position:fixed;inset:0}@keyframes gate-fade{0%{opacity:0}}.gate-shield-title{color:var(--ink);margin:0;font-size:18px;font-weight:600}.gate-shield-text{max-width:20rem;color:var(--muted);margin:8px 0 0;font-size:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gate-loading{background:var(--alt);min-height:100dvh;color:var(--gold);place-items:center;display:grid}.gate-loading .gate-spin{width:28px;height:28px}.admin{flex-direction:column;gap:24px;max-width:960px;margin:0 auto;padding:40px 16px 96px;display:flex}.admin-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin h1{color:var(--ink);letter-spacing:-.02em;margin:0;font-family:Bricolage Grotesque Variable,system-ui,sans-serif;font-size:30px;font-weight:800}.admin h2{color:var(--ink);margin:0 0 14px;font-family:Bricolage Grotesque Variable,system-ui,sans-serif;font-size:20px;font-weight:800}.admin-who{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:14px;display:flex}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:clamp(18px,3vw,26px)}.admin-form{grid-template-columns:1.1fr 1.4fr .6fr .8fr auto;align-items:end;gap:12px;display:grid}@media (max-width:820px){.admin-form{grid-template-columns:1fr 1fr}}.admin-field{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-field label,.admin-field span{color:var(--ink);font-size:13px;font-weight:600}.admin-field input,.admin-field select{color:var(--ink);background:var(--surface);border:1.5px solid var(--field);border-radius:8px;width:100%;height:46px;padding:0 12px;font:16px Figtree Variable,system-ui,sans-serif}.admin-code{gap:6px;display:flex}.admin-code input{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace}.admin-btn{cursor:pointer;background:var(--btn);height:46px;color:var(--on-btn);white-space:nowrap;border:0;border-radius:8px;padding:0 16px;font:700 15px Figtree Variable,system-ui,sans-serif}.admin-btn:hover{background:var(--btn-hover)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--border);background:0 0}.admin-btn.ghost:hover{color:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}.admin-btn.small{height:34px;padding:0 10px;font-size:13px}.admin-btn.danger:hover{color:var(--error);box-shadow:inset 0 0 0 1.5px var(--error)}.admin-msg{color:var(--error);margin:10px 0 0;font-size:14px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}.admin-table th{text-align:left;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:12px 10px}.admin-table code{color:var(--ink);letter-spacing:.04em;font:600 15px ui-monospace,Menlo,monospace}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--tint);color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.active{color:#bbf7d0;background:#14532d}.badge.expired,.badge.revoked{color:#fecaca;background:#3f1d1d}.admin-empty{color:var(--muted);margin:0}.toggle{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.toggle:last-child{border-bottom:0}.toggle input{width:20px;height:20px;accent-color:var(--gold);flex:none;margin-top:2px}.toggle strong{color:var(--ink);font-size:16px;display:block}.toggle small{color:var(--muted);font-size:14px}.admin a{color:var(--gold)}
