@font-face{font-family:"Archivo Black";src:url(/fonts/archivo-black.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#fff4d6;--ink:#111;--yellow:#ffd60a;--pink:#ff5c8a;--blue:#3a5bff;--mint:#c9ffe0;--err:#d00000;--display:"Archivo Black",Impact,"Arial Black",sans-serif}
*{box-sizing:border-box}html{color-scheme:light}
body{margin:0;min-height:100vh;display:grid;place-items:start center;padding:1rem;background:var(--bg) radial-gradient(rgba(17,17,17,.14) 1.5px,transparent 1.5px) 0 0/22px 22px;color:var(--ink);font:500 1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{width:100%;max-width:680px;margin:1.5vh auto 3rem}
.ticker{overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--yellow);border-radius:12px;font:.78rem var(--display);padding:.5rem 0;margin-bottom:1.6rem}
.ticker span{display:inline-block;animation:tk 25s linear infinite}
@keyframes tk{to{transform:translateX(-50%)}}
.card,.sec{position:relative;background:#fff;border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--ink);padding:1.7rem}
.sec{margin-top:1.6rem}
.sticker{position:absolute;top:-16px;right:-8px;transform:rotate(7deg);background:var(--blue);color:#fff;font:.68rem/1.15 var(--display);text-align:center;padding:.5rem .7rem;border:3px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink)}
.logo{font:1.9rem/1 var(--display);letter-spacing:-.03em;margin:0 0 1rem}
.logo span{display:inline-block;background:var(--pink);padding:.05em .22em;border:3px solid var(--ink);border-radius:10px;transform:rotate(-3deg)}
.logo a{color:inherit;text-decoration:none}
h1,h2,summary,label,button,.btn{font-family:var(--display);font-weight:400}
h1{margin:0 0 .6rem;font-size:clamp(1.7rem,6vw,2.5rem);line-height:1.02;letter-spacing:-.02em}
h2{margin:0 0 .5rem;font-size:1.35rem;line-height:1.1;letter-spacing:-.01em}
mark{background:var(--yellow);padding:0 .12em;border-radius:6px}
p{margin:.6rem 0}.sub{color:#444}b{font-weight:800}
a{color:var(--blue);font-weight:700;text-underline-offset:3px;text-decoration-thickness:2px}
label{display:block;margin:1.1rem 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
input,select{width:100%;padding:.85rem 1rem;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:600 1rem system-ui,sans-serif}
input:focus,select:focus{outline:0;box-shadow:5px 5px 0 var(--blue)}
.slug{display:flex;align-items:center;border:3px solid var(--ink);border-radius:12px;background:#fff}
.slug:focus-within{box-shadow:5px 5px 0 var(--blue)}
.slug span{padding-left:1rem;font:.95rem var(--display);white-space:nowrap}
.slug input{border:0;box-shadow:none;border-radius:0;padding-left:.3rem;min-width:0}
.slug button{flex:none;margin:.3rem;padding:.5rem .75rem;font-size:.72rem;border-width:2px;box-shadow:none;background:var(--mint)}
button,.btn{display:inline-block;cursor:pointer;padding:.85rem 1.25rem;border:3px solid var(--ink);border-radius:12px;background:var(--yellow);color:var(--ink);font-size:1rem;text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:transform .08s,box-shadow .08s}
button:hover,.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
button:active,.btn:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--ink)}
.slug button:hover,.slug button:active{transform:none}
button.main{width:100%;margin-top:1.4rem;padding:1.05rem;font-size:1.2rem;background:var(--pink)}
button.g{background:#fff}
button.choice{display:block;width:100%;margin-top:.7rem;text-align:left;background:#fff;font-size:.95rem}
button.choice:hover{background:var(--yellow)}
#result{display:none;margin-top:1.5rem;padding:1.1rem;border:3px solid var(--ink);border-radius:16px;background:var(--mint);box-shadow:5px 5px 0 var(--ink)}
#result .row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
#result a#short{flex:1;min-width:0;font:1.15rem var(--display);color:var(--ink);word-break:break-all;text-decoration:none}
#msg{margin-top:.8rem;min-height:1.2em;font-weight:800;color:var(--err)}
#qr{display:inline-block;background:#fff;padding:8px;border:3px solid var(--ink);border-radius:10px;margin-top:.9rem}#qr:empty{display:none}
details{margin:.6rem 0}summary{cursor:pointer;font-size:.95rem}
.opt{margin-top:1.1rem;padding:.8rem 1rem;border:3px dashed var(--ink);border-radius:12px}
.sec ul,.sec ol,.card ul{padding-left:1.2rem}li{margin:.35rem 0}
.slot{margin:1.4rem 0;text-align:center;overflow:hidden}
.dest{padding:.9rem 1rem;border:3px solid var(--ink);border-radius:12px;background:var(--yellow);word-break:break-all}.dest small{color:#333}
small{font-size:.8rem}
.bars{display:flex;align-items:flex-end;height:90px;gap:4px;padding:6px;border:3px solid var(--ink);border-radius:10px;background:#fff}
.bars i{flex:1;background:var(--pink);border:2px solid var(--ink);border-radius:4px 4px 0 0}
#cb{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:560px;margin:auto;background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 var(--ink);padding:1rem 1.2rem;z-index:9}
@media(max-width:520px){.card,.sec{padding:1.1rem;box-shadow:5px 5px 0 var(--ink)}.sticker{right:-2px;top:-14px}}
@media(prefers-reduced-motion:reduce){.ticker span{animation:none}*{transition:none!important}}
