*{box-sizing:border-box}html,body{margin:0}body{background-color:var(--bg);color:var(--text);color-scheme:var(--scheme,light);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}.app{background-color:var(--bg);background-image:var(--bg-image);background-size:var(--bg-size);min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.main{flex:1}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:920px;margin:0 auto;padding:10px 16px;display:flex}.brand{font-family:var(--font-head);color:var(--text);font-size:1.15rem;font-weight:800;text-decoration:none}.topbar nav{flex-wrap:wrap;gap:4px;display:flex}.topbar nav a{color:var(--text);border-radius:999px;padding:6px 12px;font-size:.95rem;font-weight:600;text-decoration:none}.topbar nav a:hover,.topbar nav a.router-link-active{background:var(--surface-2)}.footer{text-align:center;color:var(--muted);padding:20px 16px 28px;font-size:.85rem}.container{width:100%;max-width:920px;margin:0 auto;padding:8px 16px 32px}.container.narrow{max-width:640px}.stack>*+*{margin-top:16px}.stack-sm>*+*{margin-top:8px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.grid{gap:14px;display:grid}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}h1,h2,h3{font-family:var(--font-head);text-transform:var(--head-transform);letter-spacing:var(--head-spacing);margin:0 0 .4em;line-height:1.2}h1{font-size:clamp(1.7rem,6vw,2.4rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0}.muted{color:var(--muted)}.small{font-size:.88rem}.pre{white-space:pre-line}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.85rem;font-weight:700}.emoji-big{font-size:3.2rem;line-height:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card.flat{box-shadow:none}.card.clue{border:2px dashed var(--accent-2);background:var(--surface-2)}.card.notice{background:var(--surface-2);box-shadow:none}.card.warn{border-color:var(--danger)}.btn{border-radius:calc(var(--radius) * .75);border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:.65em 1.1em;font-weight:700;line-height:1.2;text-decoration:none;transition:transform 80ms,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{color:var(--text);background:0 0}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.small{padding:.4em .75em;font-size:.9rem}.btn.big{padding:.85em 1.4em;font-size:1.1rem}.btn.block{width:100%;display:flex}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.field+.field{margin-top:14px}.field label,.label{margin-bottom:4px;font-weight:700;display:block}.field .help{color:var(--muted);margin-top:4px;font-size:.85rem}input[type=text],input[type=url],textarea,select{border-radius:calc(var(--radius) * .6);border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);font:inherit;padding:.65em .8em}textarea{resize:vertical;min-height:5.5em}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:1.1em;height:1.1em;accent-color:var(--accent);margin-top:.3em}.badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:700;display:inline-block}.badge.warn{border-color:var(--danger);color:var(--danger)}.steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{border:2px solid var(--border);background:var(--surface-2);width:2rem;height:2rem;color:var(--muted);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;display:grid}.steps li.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steps li.current{border-color:var(--accent-2);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-2) 40%, transparent)}.bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.bar>i{background:var(--accent);height:100%;transition:width .4s;display:block}.ok-text{color:var(--success);font-weight:700}.error-text{color:var(--danger);font-weight:700}.shake{animation:.45s shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.confetti{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti span{animation-name:fall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-10vh}@keyframes fall{to{transform:translateY(115vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.shake{animation:none}}@media print{.no-print{display:none!important}body,.app{color:#000!important;background:#fff!important}.container{max-width:none;padding:0}}
