@font-face{font-family:Bagel Fat One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bagel-fat-one-latin-400-normal-CB1T13M1.woff2)format("woff2"),url(/assets/bagel-fat-one-latin-400-normal-BFAfIXLM.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}:root{--paper:#f3f5f1;--card:#fff;--ink:#1e2a44;--ink-soft:#56607a;--line:#d9ded7;--floor:#fafbf8;--tape:#f2c230;--alarm:#d9405a;--good:#2e8a57;--s1:#f4a259;--s2:#e3c04d;--s3:#5dbb8a;--s4:#a28fe8;--s5:#5e9edb;--fill-mix:34%;--puddle:#f1d33a;--font-display:"Bagel Fat One", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-emoji:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#12161f;--card:#1a2030;--ink:#e7ebf3;--ink-soft:#a2aac0;--line:#2e3647;--floor:#171c27;--tape:#e8b923;--alarm:#ff6b82;--good:#5cc98c;--s1:#f0a15e;--s2:#ddbb4a;--s3:#5cc48f;--s4:#a898f0;--s5:#6aa9e6;--fill-mix:30%;--puddle:#e6c832;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#12161f;--card:#1a2030;--ink:#e7ebf3;--ink-soft:#a2aac0;--line:#2e3647;--floor:#171c27;--tape:#e8b923;--alarm:#ff6b82;--good:#5cc98c;--s1:#f0a15e;--s2:#ddbb4a;--s3:#5cc48f;--s4:#a898f0;--s5:#6aa9e6;--fill-mix:30%;--puddle:#e6c832;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);padding-bottom:env(safe-area-inset-bottom,0px);margin:0;font-size:18px;line-height:1.5}[hidden]{display:none!important}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--tape);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.wrap{max-width:1100px;margin:0 auto;padding-block:0 32px;padding-inline:16px}.tape{height:14px;margin-top:env(safe-area-inset-top,0px);background:repeating-linear-gradient(-45deg, var(--tape) 0 18px, var(--ink) 18px 36px)}.tape-label{justify-content:center;margin-top:-11px;display:flex}.tape-label span{background:var(--tape);color:#1e2a44;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;padding:3px 12px;font-size:12px;font-weight:700;transform:rotate(-1.5deg)}header.top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;padding-block:20px 8px;display:flex}.prefs{align-self:start;gap:6px;margin-left:auto;display:flex}button.tool.pref{letter-spacing:.04em;border-color:var(--line);min-width:44px;color:var(--ink-soft);place-items:center;padding:0 8px;font-size:14px;display:inline-grid}button.tool.pref:hover{color:var(--ink);border-color:var(--ink)}h1{font-family:var(--font-display);margin:0;font-size:clamp(2.3rem,7vw,3.3rem);font-weight:400;line-height:1}.logo{text-decoration:none}.tagline{color:var(--ink-soft);max-width:48ch;margin:6px 0 0}h2:focus{outline:none}.album-head{border-top:2px solid var(--ink);margin-bottom:8px;padding-top:14px}.album-head h2,.chapter h2{font-family:var(--font-display);margin:0;font-weight:400;line-height:1.1}.album-head h2{font-size:clamp(1.6rem,5vw,2.1rem)}.lead{max-width:64ch;color:var(--ink-soft);margin:4px 0 0}.chapter{padding-top:22px;scroll-margin-top:12px}.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.chapter h2{font-size:1.4rem}.counter{font-family:var(--font-mono);color:var(--ink-soft);font-size:15px}.cards{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:2px solid var(--line);min-width:0;color:var(--ink);text-align:center;border-radius:14px;justify-items:center;gap:2px;height:100%;padding:12px 4px 10px;text-decoration:none;display:grid}a.card:hover{border-color:var(--ink)}.card.solved{border-color:color-mix(in srgb, var(--good) 60%, var(--line))}.card.locked{color:var(--ink-soft);background:0 0;border-style:dashed}.card .pic{background:var(--floor);border:2px dashed var(--alarm);width:58px;height:58px;font-family:var(--font-emoji);border-radius:50%;place-items:center;font-size:30px;line-height:1;display:grid;position:relative}.card.locked .pic{border-color:var(--line)}.card.gated{width:100%;font:inherit;cursor:pointer;border-style:dashed}.card.gated:hover{border-color:var(--ink)}.card.gated:focus-visible{outline:3px solid var(--tape);outline-offset:2px}.card.gated .crime{opacity:.5;filter:saturate(.6)}.gate-badge{background:var(--card);border:2px solid var(--line);width:30px;height:30px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-6px;right:-8px}.gate-badge svg{width:18px;height:18px}.gate-actions{gap:8px;margin-top:14px;display:grid}.gate .optin{margin-top:10px}.share-note.warn{color:var(--alarm)}.filters{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.filter{font:700 15px var(--font-body);color:var(--ink);background:var(--card);border:2px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:999px;min-height:44px;padding:6px 14px}.filter:hover{border-color:var(--ink)}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter:focus-visible{outline:3px solid var(--tape);outline-offset:2px}.card .culprit{font-size:24px;position:absolute;bottom:-6px;right:-10px}.card .label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;font-size:13px;font-weight:700}.card .ctitle{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;max-width:100%;font-size:clamp(15px,4.2vw,18px);font-weight:700;line-height:1.2}.stars{color:var(--tape);letter-spacing:.1em;min-height:1.5em}.back{min-height:44px;color:var(--ink);background:var(--card);border:2px solid var(--ink);touch-action:manipulation;border-radius:999px;align-items:center;margin-bottom:10px;padding:4px 16px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.back:before{content:"← ";white-space:pre}.back:hover{background:color-mix(in srgb, var(--tape) 30%, var(--card))}.story{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;padding-block:14px;display:grid}.story .eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--alarm);font-size:14px;font-weight:700}.story h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4.5vw,2rem);font-weight:400;line-height:1.1}.story p{max-width:64ch;margin:0}.main{gap:28px;display:grid}@media (width>=900px){.main{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:start}}.board-col{gap:12px;min-width:0;display:grid}.palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}@media (width<=560px){.palette{grid-template-columns:repeat(3,minmax(0,1fr))}}.pal{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:56px;font:inherit;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:12px;justify-items:center;gap:0;min-width:0;padding:6px 2px 5px;display:grid}.pal .e{font-family:var(--font-emoji);font-size:24px;line-height:1.1}.pal .n{text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.pal .z{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.pal[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:color-mix(in srgb, var(--sc) var(--fill-mix), var(--card))}.board{aspect-ratio:1;background:var(--card);width:100%;max-width:560px;box-shadow:0 1px 0 var(--line), 0 10px 30px -18px #1e2a4473;border-radius:14px;padding:6px;position:relative}.board.reveal{animation:.7s ease-out .15s cheer}@keyframes cheer{30%{transform:scale(1.025)rotate(-.6deg)}60%{transform:scale(.995)rotate(.4deg)}}.plan .hide-bd{stroke:var(--alarm);stroke-width:7px;stroke-linecap:round;stroke-dasharray:14 8}.board.reveal .plan .hide-bd{animation:.6s ease-out both tape-in}@keyframes tape-in{0%{opacity:0;stroke-width:18px}}.stamp{border:5px double var(--alarm);background:color-mix(in srgb, var(--card) 82%, transparent);max-width:86%;color:var(--alarm);text-align:center;pointer-events:none;border-radius:14px;justify-items:center;gap:2px;padding:10px 22px 12px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-9deg);box-shadow:0 10px 30px -14px #1e2a4499}.stamp[hidden]{display:none}.stamp .k{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(1.9rem,9vw,3.2rem);line-height:1}.stamp .who{color:var(--ink);justify-items:center;font-size:clamp(1rem,4vw,1.3rem);font-weight:700;line-height:1.2;display:grid}.stamp .e{font-family:var(--font-emoji);font-size:1.5em;line-height:1.1}.board.reveal .stamp{animation:.5s cubic-bezier(.2,1.6,.4,1) .45s both stamp-in}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%)rotate(-24deg)scale(2.4)}to{opacity:1;transform:translate(-50%,-50%)rotate(-9deg)scale(1)}}svg.plan{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:10px;width:100%;height:100%;display:block}svg.plan.closed{cursor:default}svg.plan:focus{outline:none}svg.plan:focus-visible{outline:3px solid var(--tape);outline-offset:3px}.plan .cell{fill:var(--floor)}.plan .cell.f1{fill:color-mix(in srgb, var(--s1) var(--fill-mix), var(--floor))}.plan .cell.f2{fill:color-mix(in srgb, var(--s2) var(--fill-mix), var(--floor))}.plan .cell.f3{fill:color-mix(in srgb, var(--s3) var(--fill-mix), var(--floor))}.plan .cell.f4{fill:color-mix(in srgb, var(--s4) var(--fill-mix), var(--floor))}.plan .cell.f5{fill:color-mix(in srgb, var(--s5) var(--fill-mix), var(--floor))}.plan .cell.over{fill:color-mix(in srgb, var(--alarm) 28%, var(--floor))}.plan .cell.flash{animation:1.1s ease-out 2 cfl}@keyframes cfl{40%{fill:var(--tape)}}.plan .grid{stroke:var(--line);stroke-width:1.5px}.plan .bd{stroke:var(--ink);stroke-width:5px;stroke-linecap:round}.plan .frame{fill:none;stroke:var(--ink);stroke-width:6px}.plan .lbl{font-family:var(--font-mono);fill:var(--ink-soft);text-anchor:middle;dominant-baseline:central;font-size:16px;font-weight:700}.plan .emoji{text-anchor:middle;dominant-baseline:central;font-family:var(--font-emoji);pointer-events:none}.plan .mark{opacity:.55;transform-box:fill-box;transform-origin:50%}.plan .mark.pop{animation:.22s ease-out pop}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}}.plan .chip{fill:var(--card);stroke-width:3px}.plan .ring{fill:none;stroke:var(--alarm);stroke-width:3px;stroke-dasharray:6 5}.plan .cap{font-family:var(--font-body);fill:var(--alarm);text-anchor:middle;dominant-baseline:central;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.plan .puddle{fill:var(--puddle);opacity:.9}.plan .nopoint{pointer-events:none}.plan .cursor{fill:none;stroke:var(--tape);stroke-width:5px;display:none}.plan:focus-visible .cursor{display:block}.status-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.status,.clock{font-family:var(--font-mono);color:var(--ink-soft);font-size:15px}.clock{font-variant-numeric:tabular-nums;white-space:nowrap}.tools{flex-wrap:wrap;gap:8px;display:flex}.actions{gap:6px;display:grid}@media (width<=899px){.actions{z-index:4;padding:8px 16px calc(6px + env(safe-area-inset-bottom,0px));background:var(--paper);margin:0 -16px;position:sticky;bottom:0;box-shadow:0 -10px 14px -12px #1e2a4473}.actions .tools{flex-wrap:nowrap;gap:5px}.actions button.tool{white-space:nowrap;flex:auto;padding-inline:6px;font-size:15px}}button.tool{touch-action:manipulation;min-height:44px;font:inherit;cursor:pointer;border:2px solid var(--ink);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 14px;font-size:17px;font-weight:700}button.tool.primary{background:var(--ink);color:var(--paper)}button.tool.ghost{border-color:var(--line);color:var(--ink-soft);font-weight:400}button.tool:disabled{opacity:.45;cursor:not-allowed}.msg{min-height:1.5em;font-weight:700}.msg.ok{color:var(--good)}.msg.bad{color:var(--alarm)}.hintbox{background:var(--card);border:2px solid var(--tape);border-radius:12px;gap:2px;padding:10px 14px;display:grid}.hintbox .k{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;font-weight:700}.hintbox p{margin:0}.file{gap:22px;min-width:0;display:grid}.section-h{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:14px;font-weight:700}.guests{gap:6px;display:grid}.guest{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.guest .e{font-family:var(--font-emoji);background:color-mix(in srgb, var(--sc) var(--fill-mix), var(--card));border-radius:50%;place-items:center;width:40px;height:40px;font-size:26px;display:grid}.guest .t{min-width:0;line-height:1.3}.guest .t b{display:block}.guest .t b:first-letter,.pal .n:first-letter{text-transform:uppercase}.guest .t span{color:var(--ink-soft);font-size:15px}.dots{gap:3px;display:flex}.dots i{background:var(--sc);border-radius:2px;width:9px;height:9px;display:block}.banner{background:var(--tape);color:#1e2a44;border-radius:12px;padding:12px 16px;font-weight:700;display:none}.banner.show{gap:4px;display:grid}.banner .big-t{font-family:var(--font-display);font-size:1.5rem;font-weight:400;line-height:1.15}.banner .stars{color:#1e2a44;font-size:1.4rem;line-height:1}details.rules{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}details.rules summary{cursor:pointer;font-weight:700}details.rules ul{gap:4px;margin:8px 0 2px;padding-left:20px;font-size:17px;display:grid}.howto{justify-self:start;margin-top:10px}.guide{z-index:5;border:2px solid var(--tape);background:color-mix(in srgb, var(--tape) 18%, var(--card));border-radius:12px;min-height:8.5em;margin:0;padding:10px 14px;position:sticky;top:8px;box-shadow:0 6px 18px -12px #1e2a4480}.guide b{color:var(--alarm)}.plan .cell.guide-target{fill:color-mix(in srgb, var(--tape) 30%, var(--floor));stroke:var(--tape);stroke-width:6px;animation:1.2s ease-in-out infinite guide-pulse}@keyframes guide-pulse{50%{stroke-width:10px}}.pal.guide-target,button.tool.guide-target{animation:1.2s ease-in-out infinite guide-glow}@keyframes guide-glow{50%{box-shadow:0 0 0 5px var(--tape)}}.account{justify-items:start;gap:10px;display:grid}.account .lead a{color:var(--ink)}.optin{cursor:pointer;align-items:flex-start;gap:10px;max-width:62ch;font-size:16px;display:flex}.optin input{width:20px;height:20px;accent-color:var(--ink);flex:none;margin:1px 0 0}a.tool{border:2px solid var(--ink);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 14px;font-size:17px;font-weight:700;text-decoration:none;display:inline-block}button.tool.danger{color:var(--alarm)}button.tool.danger:hover{border-color:var(--alarm)}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:40px;padding-top:16px;font-size:15px;display:flex}.legal{border-top:2px solid var(--ink);max-width:72ch;padding-top:8px}.legal h2{font-family:var(--font-display);margin:8px 0 12px;font-size:2rem;font-weight:400}.legal h3{margin:24px 0 6px;font-size:1.1rem}.legal p,.legal li{overflow-wrap:anywhere}.share{width:min(100% - 32px,420px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:16px;padding:16px 18px 18px;overflow:auto;box-shadow:0 10px 30px -10px #1e2a4480}.share::backdrop{background:#1414188c}.share-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.share-head h2{font-family:var(--font-display);margin:0;font-size:1.6rem;font-weight:400;line-height:1.15}button.tool.share-x{min-width:44px;padding:0;font-size:24px;line-height:1}.share p{margin:8px 0 12px}.share-preview{aspect-ratio:1;background:var(--paper);border-radius:10px;width:100%;display:block}.share-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.share-menu{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.svc{background:var(--svc,var(--ink));color:#fff;cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid}.svc svg{fill:currentColor;width:24px;height:24px}.svc:hover{filter:brightness(1.1)}.svc:focus-visible{outline:3px solid var(--tape);outline-offset:2px}.svc-whatsapp{--svc:#25d366}.svc-instagram{--svc:#e1306c}.svc-facebook{--svc:#1877f2}.svc-x,.svc-threads{--svc:#000;box-shadow:0 0 0 1px var(--line)}.svc-bluesky{--svc:#1185fe}.svc-telegram{--svc:#26a5e4}.svc-linkedin{--svc:#0a66c2}.svc-reddit{--svc:#ff4500}.svc-email,.svc-link,.svc-more{--svc:#56607a}.share .share-note{min-height:1.5em;color:var(--good);margin:10px 0 0;font-size:15px}.confetti{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;width:9px;height:14px;animation:2s ease-in forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--drift), 105vh) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
