@font-face{font-family:Playfair;src:url(/fonts/playfair.woff2) format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:OldStd;src:url(/fonts/oldstandard.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:OldStd;src:url(/fonts/oldstandard-bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--paper:#fbf8f1;--card:#fff;--ink:#111;--muted:#4a4540;--accent:#b5121b;--accent2:#8a0d14;--line:#ddd5c4;
 --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--serif:Playfair,Georgia,serif;--body:Georgia,OldStd,serif}
@media (prefers-color-scheme:dark){:root{--paper:#16140f;--card:#211e18;--ink:#f3ede0;--muted:#c9bfae;--accent:#ff6b6b;--accent2:#ff8f8f;--line:#3a352c}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--paper) repeating-linear-gradient(0deg,transparent 0 3px,rgba(60,40,0,.02) 3px 4px);color:var(--ink);
 font:18px/1.5 var(--body);display:flex;justify-content:center;padding:calc(20px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}
.sheet{width:100%;max-width:440px;animation:up .5s cubic-bezier(.2,.7,.2,1) both}
.ear,.rule{display:flex;justify-content:space-between;align-items:center;font:600 13px/1.2 var(--sans);color:var(--muted)}
.ear{border-top:1px solid var(--ink);padding-top:8px}.ed{color:var(--accent);font-weight:700}
.mast{margin:12px 0 8px;display:flex;align-items:center;justify-content:center;gap:10px;font:900 34px/1 var(--serif)}
.globe{width:56px;height:56px;animation:spin 1s cubic-bezier(.2,.7,.2,1) both}
.word{display:flex;flex-direction:column;align-items:flex-start;line-height:.92}
.the{font-size:15px;letter-spacing:5px;color:var(--accent)}.pl{font-size:48px;letter-spacing:.5px}
.rule{border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:6px 2px;font-style:italic}
.lead{text-align:center;margin:30px 0 20px}
.kick{margin:0 0 6px;font:700 12px var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--accent)}
.head{font:900 clamp(26px,7.4vw,32px)/1.12 var(--serif);margin:0 0 8px;letter-spacing:-.3px}
.dek{margin:0;font:400 17px var(--sans);color:var(--muted)}
.card{border:1px solid var(--line);border-top:3px solid var(--ink);background:var(--card);padding:20px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.lbl{font:700 13px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
input{font:700 30px/1 var(--sans);letter-spacing:10px;text-align:center;padding:14px 10px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:4px;width:100%}
input:focus{outline:3px solid var(--accent);outline-offset:2px}
button{font:800 19px var(--sans);background:var(--accent);color:#fff;border:0;border-radius:4px;padding:16px;cursor:pointer;transition:transform .15s,background .15s}
@media (prefers-color-scheme:dark){button{background:#c4161c}}
button:hover{background:var(--accent2)}button:active{transform:scale(.98)}
button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.msg{min-height:1.5em;color:var(--accent);font:700 16px/1.4 var(--sans);text-align:center;margin:16px 0 0}
.msg:empty{visibility:hidden}
.fine{font:italic 14px var(--body);color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:10px;margin-top:22px}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes spin{from{opacity:0;transform:rotate(-50deg) scale(.7)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
