@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/1316bdccde5e7cab-s.3zrb6siod-_f0.woff2)format("woff2");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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/91a2f7867a28cebf-s.2o1dletpdqcxm.woff2)format("woff2");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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/57b02995d6e1530a-s.p.1n10e_apdb6ux.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.3pdm20a023wv-.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.16191ingcc7md.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.0fuf3937kiol3.woff2)format("woff2");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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_28568d95-module__dxdFFa__className{font-family:Fraunces,Fraunces Fallback}.fraunces_28568d95-module__dxdFFa__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3j-lqo2q-puhp.woff2)format("woff2");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:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2li_3lqay9qjq.woff2)format("woff2");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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.061jvc6_x84nn.woff2)format("woff2");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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.0hs6q6udzld4a.woff2)format("woff2");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:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.atkinson_hyperlegible_76e53565-module__1DcD8G__className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.atkinson_hyperlegible_76e53565-module__1DcD8G__variable{--font-body:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.1u-lvzo58r3-e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.37c107x1d-cfz.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.3_gspotjv4tkw.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.0m-w082keobar.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.3y9b8znjr2455.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_71b33f0a-module__SBwPmq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_71b33f0a-module__SBwPmq__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ruby-900:#3f0710;--ruby-800:#5c0a18;--ruby-700:#7c1022;--ruby-600:#9b1b30;--ruby-500:#b82a41;--gold-700:#8a6a22;--gold-500:#c9a24a;--gold-300:#e9d59c;--paper:#f8f1e4;--paper-2:#efe3cc;--paper-line:#dccbaa;--ink:#241a15;--ink-soft:#5d4b40;--ink-blue:#2c4677;--ink-green:#2d6a4b;--flap-bg:#1d1b1c;--flap-fg:#f5ecd8;--radius:16px;--shadow:0 18px 40px -18px #140206a6, 0 2px 0 #00000014}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--ink);font-family:var(--font-body), system-ui, sans-serif;background-color:var(--ruby-900);background-image:radial-gradient(120% 70% at 50% 0,#c9a24a33,#0000 60%),radial-gradient(100% 60% at 50% 100%,#00000073,#0000 70%),repeating-linear-gradient(135deg,#ffffff05 0 2px,#0000 2px 6px);background-attachment:fixed;margin:0;font-size:18px;line-height:1.55}:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.page{grid-template-columns:minmax(0,1fr);gap:22px;max-width:640px;margin:0 auto;padding:28px 16px 72px;display:grid}.sheet{border-radius:var(--radius);background-color:var(--paper);box-shadow:var(--shadow);background-image:radial-gradient(circle at 100% 0,#c9a24a24,#0000 45%),repeating-linear-gradient(45deg,#7c102207 0 1px,#0000 1px 7px);padding:22px 20px;position:relative}.sheet__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:14px;display:flex}.sheet__title{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);margin:0;font-size:1.45rem;font-weight:600}.sheet__meta{white-space:nowrap;font-family:var(--font-display), Georgia, serif;color:var(--ink-soft);font-size:.9rem}.cover{text-align:center;color:var(--gold-300);padding:18px 0 6px}.emblem{color:var(--gold-500);filter:drop-shadow(0 2px #00000059)}.cover__kicker{letter-spacing:.42em;text-transform:uppercase;color:var(--gold-500);margin:10px 0 0;font-size:.78rem}.cover__title{font-family:var(--font-display), Georgia, serif;background:linear-gradient(#f6e7b8 0%,#d9b45e 55%,#a67c2c 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0 2px;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:700;line-height:1.05}.cover__names{font-family:var(--font-display), Georgia, serif;color:var(--gold-300);margin:0;font-size:1.1rem;font-style:italic}.cover--compact{text-align:left;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:4px 0;display:grid}.cover--compact .emblem{grid-row:span 3}.cover--compact .cover__kicker{margin:0}.cover--compact .cover__title{margin:0;font-size:2rem}.btn{appearance:none;cursor:pointer;font:inherit;border:0;border-radius:999px;min-height:52px;padding:14px 24px;font-weight:700;transition:transform .12s,opacity .12s}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:linear-gradient(180deg, var(--ruby-500), var(--ruby-700));color:#fff4dc;box-shadow:0 6px 16px -8px #5c0a18cc,inset 0 1px #ffffff2e}.btn--small{background:var(--ruby-700);color:#fff4dc;min-height:44px;padding:10px 18px;font-size:.95rem}.btn--ghost{color:var(--gold-300);background:0 0;border:1px solid #e9d59c73}.btn--round{background:var(--ruby-700);color:#fff4dc;width:52px;height:52px;padding:0;font-size:1.6rem;line-height:1}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.backlink{color:var(--gold-300);justify-self:start;padding:6px 0;font-weight:700;text-decoration:none}.field{width:100%;min-height:52px;font:inherit;color:var(--ink);border:2px solid var(--paper-line);background:#fffaf0;border-radius:12px;padding:12px 14px;font-size:1.1rem}.field:focus{border-color:var(--ruby-600);outline:none;box-shadow:0 0 0 4px #9b1b3026}.field:disabled{background:var(--paper-2);color:var(--ink-soft)}.form-error{color:var(--ruby-600);margin:0;font-weight:700}.countdown-block{text-align:center}.countdown-block__label{color:var(--gold-300);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.9rem}.board{background:linear-gradient(#2a2728,#151314);border-radius:14px;gap:10px;padding:14px;display:inline-flex;box-shadow:0 16px 30px -14px #000c,inset 0 1px #ffffff14}.board__group{justify-items:center;gap:6px;display:grid}.board__digits{gap:4px;display:flex}.flap{width:clamp(28px,8.4vw,44px);height:clamp(42px,12vw,62px);font-family:var(--font-mono), ui-monospace, monospace;color:var(--flap-fg);background:linear-gradient(#2f2c2d 0 50%,#242122 50% 100%);border-radius:6px;place-items:center;font-size:clamp(1.5rem,6.6vw,2.3rem);font-weight:700;animation:.45s cubic-bezier(.3,1.4,.6,1) both flap-in;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -1px #0009,0 2px 3px #00000080}.flap:after{content:"";background:#000000bf;height:1px;position:absolute;inset:50% 0 auto;box-shadow:0 1px #ffffff0f}.board__label{letter-spacing:.18em;text-transform:uppercase;color:#bfb39b;font-size:.7rem}@keyframes flap-in{0%{filter:brightness(.6);transform:perspective(200px)rotateX(-80deg)}to{filter:none;transform:none}}.intro__lead{text-align:center;color:#fbeed3;font-family:var(--font-display), Georgia, serif;margin:0;font-size:1.35rem;font-style:italic}.login{gap:12px;display:grid}.login__label{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);font-size:1.3rem;font-weight:600}.field--code{text-align:center;letter-spacing:.25em;text-transform:uppercase;font-family:var(--font-mono), monospace;font-size:1.3rem}.how__list{gap:10px;margin:0;padding-left:1.2em;display:grid}.adminbar{color:#ffd98a;background:#111;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 14px;font-size:.85rem;display:flex}.adminbar a{color:#ffd98a}.footer{text-align:center}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
.stamps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.stamps__slot{aspect-ratio:1;place-items:center;min-width:0;display:grid}.slot{text-align:center;border:2px dashed var(--paper-line);width:100%;height:100%;color:var(--ink-soft);border-radius:50%;place-content:center;display:grid}.slot--open{border-color:var(--ruby-500);color:var(--ruby-700);background:#b82a410d}.slot__number{font-family:var(--font-display), Georgia, serif;font-size:1.6rem;font-weight:700;line-height:1}.slot__date{font-family:var(--font-display), Georgia, serif;font-size:.8rem}.slot__state{font-family:var(--font-display), Georgia, serif;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.stamp{--ink-color:var(--ruby-600);text-align:center;border:3px solid var(--ink-color);width:100%;height:100%;box-shadow:inset 0 0 0 4px var(--paper), inset 0 0 0 6px var(--ink-color);color:var(--ink-color);transform:rotate(var(--tilt,-6deg));opacity:.9;-webkit-hyphens:auto;hyphens:auto;border-radius:50%;place-content:center;padding:10px;display:grid}.stamp--blue{--ink-color:var(--ink-blue)}.stamp--green{--ink-color:var(--ink-green)}.stamp__top{letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;font-weight:700}.stamp__title{font-family:var(--font-display), Georgia, serif;margin:2px 0;font-size:.8rem;font-weight:700;line-height:1.1}.stamp__date{font-family:var(--font-mono), monospace;font-size:.7rem}.stamp--fresh{animation:.55s cubic-bezier(.2,1.6,.4,1) both stamp-in}@keyframes stamp-in{0%{transform:rotate(var(--tilt)) scale(2.2);opacity:0}60%{transform:rotate(var(--tilt)) scale(.94);opacity:1}to{transform:rotate(var(--tilt)) scale(1)}}.stamps__finale{font-family:var(--font-display), Georgia, serif;text-align:center;color:var(--ink-soft);border-top:1px dashed var(--paper-line);margin:16px 0 0;padding-top:12px;font-size:.92rem}.dossier{font-family:var(--font-mono), monospace;background-color:#f3ead6;overflow:hidden}.dossier__stamp{border:3px solid var(--ruby-600);color:var(--ruby-600);letter-spacing:.15em;text-transform:uppercase;opacity:.85;padding:4px 12px;font-size:.8rem;font-weight:700;position:absolute;top:18px;right:-6px;transform:rotate(12deg)}.dossier__kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.8rem}.dossier__title{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);margin:4px 0 10px;font-size:1.9rem}.dossier__intro,.dossier__outro{font-family:var(--font-body), sans-serif}.dossier__list{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.dossier__item{border-bottom:1px dotted #cdbb97;grid-template-columns:30px 1fr;align-items:start;gap:10px;padding-bottom:10px;display:grid}.dossier__num{color:var(--ruby-600);font-weight:700}.dossier__text{font-size:1.02rem;line-height:1.45}.redacted{background:#151213;border-radius:2px;height:1.3em;margin-top:3px;display:block;transform:rotate(-.4deg)}.guess{font-family:var(--font-body), sans-serif;gap:10px;margin-top:12px;display:grid}.guess__label{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);font-size:1.2rem;font-weight:600}.guess__saved{color:var(--ink-green);margin:0;font-weight:700}.dossier__redacted{gap:4px;display:grid}.dossier__solve{font-family:var(--font-body), sans-serif;color:var(--ruby-700);font-size:.85rem;font-weight:700}.stamps__link{width:100%;height:100%;color:inherit;border-radius:50%;text-decoration:none;display:block;position:relative}.stamps__link .slot--open{transition:background .15s,transform .15s}.stamps__link:hover .slot--open,.stamps__link:active .slot--open{background:#b82a411f;transform:scale(.97)}.slot--open .slot__state{font-weight:700}.slot__badge{background:var(--gold-500);color:var(--ruby-900);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:700;position:absolute;top:-2px;right:-2px;box-shadow:0 3px 8px -3px #00000080}.stamps__finale a{color:var(--ruby-700);font-weight:700}.finale-banner{text-align:center;color:var(--gold-300);border:2px dashed var(--gold-500);border-radius:var(--radius);box-shadow:var(--shadow);background:#151213;gap:4px;padding:20px;text-decoration:none;animation:2.4s ease-in-out infinite banner-glow;display:grid}.finale-banner__kicker{font-family:var(--font-mono), monospace;letter-spacing:.25em;text-transform:uppercase;color:var(--ruby-500);font-size:.8rem}.finale-banner__title{font-family:var(--font-display), Georgia, serif;font-size:1.5rem;font-weight:700}@keyframes banner-glow{0%,to{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow), 0 0 24px #c9a24a73}}
.riddle{padding:0}.riddle__header{border-bottom:1px dashed var(--paper-line);grid-template-columns:1fr auto;grid-template-areas:"number date""title title";gap:2px 12px;padding:18px 20px;display:grid}.riddle__number{letter-spacing:.2em;text-transform:uppercase;color:var(--ruby-600);grid-area:number;font-size:.8rem;font-weight:700}.riddle__date{font-family:var(--font-display), Georgia, serif;color:var(--ink-soft);grid-area:date;font-size:.9rem}.riddle__title{font-family:var(--font-display), Georgia, serif;grid-area:title;margin:0;font-size:1.6rem;font-style:italic;font-weight:600}.riddle--solved .riddle__date{color:var(--ink-green);font-weight:700}.riddle__body{gap:20px;padding:16px 20px 22px;display:grid}.riddle__intro{margin:0}.items{counter-reset:item;gap:18px;margin:0;padding:0;list-style:none;display:grid}.item{counter-increment:item;border:1px solid var(--paper-line);background:#ffffff8c;border-radius:12px;gap:8px;padding:16px 14px 14px;display:grid;position:relative}.item:before{content:counter(item);background:var(--ruby-700);color:#fff4dc;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:-10px;left:-6px}.item__prompt{justify-content:center;display:flex}.rebus{letter-spacing:.06em;text-align:center;font-size:2.6rem;line-height:1.2}.flag{aspect-ratio:4/3;border:1px solid #00000014;border-radius:6px;width:min(220px,70%);height:auto;box-shadow:0 6px 14px -6px #00000073}.tiles{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.tile{width:34px;height:40px;font-family:var(--font-mono), monospace;color:var(--ink);border:1px solid var(--paper-line);box-shadow:0 2px 0 var(--paper-line);background:#fffdf6;border-radius:6px;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.tile--dark{width:24px;height:32px;color:var(--flap-fg);box-shadow:none;background:#3a3536;border-color:#000;font-size:1rem}.item__question{width:100%;font-weight:700}.item__clue{text-align:center;color:var(--ink-soft);margin:0;font-size:.95rem;font-style:italic}.item__answer{grid-template-columns:1fr 64px;gap:10px;display:grid}.item__letter{background:var(--ruby-800);color:var(--gold-300);border-radius:12px;align-content:center;place-items:center;display:grid}.item__letter-char{font-family:var(--font-display), Georgia, serif;font-size:1.6rem;font-weight:700;line-height:1}.item__letter-pos{opacity:.85;font-size:.62rem}.quiz{gap:22px;margin:0;padding-left:1.3em;display:grid}.quiz__text{margin:0 0 10px;font-weight:700}.quiz__options{gap:8px;display:grid}.option{width:100%;min-height:52px;font:inherit;text-align:left;color:var(--ink);border:2px solid var(--paper-line);cursor:pointer;background:#fffaf0;border-radius:12px;grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:8px 12px;display:grid}.option__letter{background:var(--paper-2);width:36px;height:36px;font-family:var(--font-mono), monospace;border-radius:50%;place-items:center;font-weight:700;display:grid}.option--selected{border-color:var(--ruby-600);background:#fff1ee}.option--selected .option__letter{background:var(--ruby-600);color:#fff4dc}.option:disabled{cursor:default}.solution{text-align:center;background:var(--paper-2);border-radius:14px;justify-items:center;gap:12px;padding:16px;display:grid}.solution__label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:700}.boxes{grid-template-columns:repeat(var(--count), minmax(0, 44px));justify-content:center;gap:5px;width:100%;display:grid}.box{aspect-ratio:5/6;font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);border:2px solid var(--ink);background:#fffdf7;border-radius:6px;place-items:center;font-size:clamp(1rem,5vw,1.6rem);font-weight:700;display:grid}.boxes--solved .box{background:var(--ruby-700);color:var(--gold-300);border-color:var(--ruby-800)}.boxes--shake{animation:.45s shake}.solution__success{font-family:var(--font-display), Georgia, serif;color:var(--ink-green);margin:0;font-size:1.2rem;font-weight:700}.solution__hint{color:var(--ink-soft);margin:0;font-size:.85rem}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.envelopes{gap:12px;display:grid}@media (min-width:520px){.envelopes{grid-template-columns:1fr 1fr}}.envelope{text-align:center;background:linear-gradient(#ead9b8,#e2cfa9);border:1px solid #cdb68a;border-radius:12px;align-content:center;justify-items:center;gap:8px;min-height:150px;padding:44px 16px 16px;display:grid;position:relative;overflow:hidden}.envelope:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#dcc7a0,#d4bd92);height:60px;position:absolute;inset:0 0 auto}.envelope__label{z-index:1;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:700;position:absolute;top:8px;left:12px}.seal{z-index:1;width:52px;height:52px;font-family:var(--font-display), Georgia, serif;color:#f6d9a8;background:radial-gradient(circle at 35% 30%, var(--ruby-500), var(--ruby-800) 70%);border-radius:50%;place-items:center;margin-top:-26px;font-weight:700;display:grid;position:relative;box-shadow:0 3px 6px #3c050f80,inset 0 0 0 4px #0000001f}.envelope__meta{color:var(--ink-soft);margin:0;font-size:.9rem}.envelope__timer{font-family:var(--font-mono), monospace;color:var(--ruby-700);margin:0;font-weight:700}.envelope--opened{border-color:var(--paper-line);background:#fffaf0;align-content:start;padding-top:36px}.envelope--opened:before{display:none}.envelope__text{text-align:left;font-family:var(--font-display), Georgia, serif;margin:0;font-size:1.05rem;font-style:italic}.cipher{gap:16px;display:grid}.cipher__question{border-left:4px solid var(--gold-500);background:#c9a24a1f;margin:8px 0 -4px;padding:12px 14px;font-weight:700}.cipher__question-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;display:block}.cipher__message{background:#2a2627;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:10px 14px;padding:14px;display:flex}.cipher__word{gap:3px;display:flex}.wheel{justify-self:center;width:min(100%,320px);height:auto}.wheel__outer{fill:var(--paper-2);stroke:var(--ruby-700);stroke-width:3px}.wheel__inner{fill:var(--ruby-800);stroke:var(--gold-500);stroke-width:2px}.wheel__disc{transition:transform .35s cubic-bezier(.3,1.3,.5,1)}.wheel__letter{font-family:var(--font-mono), monospace;font-size:15px;font-weight:700}.wheel__letter--outer{fill:var(--ink)}.wheel__letter--inner{fill:var(--gold-300)}.wheel__hub{fill:var(--paper);stroke:var(--gold-500);stroke-width:2px}.wheel__hub-text{font-family:var(--font-display), Georgia, serif;fill:var(--ruby-700);font-size:22px;font-weight:700}.wheel-legend{text-align:center;color:var(--ink-soft);margin:-8px 0 0;font-size:.85rem}.wheel-controls{justify-content:center;align-items:center;gap:18px;display:flex}.strip{gap:10px;display:grid}.strip__block{text-align:center;font-family:var(--font-mono), monospace;border:1px solid var(--paper-line);border-radius:10px;grid-template-columns:58px repeat(13,1fr);font-weight:700;display:grid;overflow:hidden}.strip__block>span{padding:6px 0}.strip__label{font-family:var(--font-body), sans-serif;letter-spacing:.04em;text-transform:uppercase;background:var(--paper-2);place-items:center;font-size:.7rem;display:grid}.strip__cipher{background:#fffaf0}.strip__plain{background:var(--ruby-800);color:var(--gold-300)}.cipher__label{margin-bottom:-8px;font-weight:700}.field--notes{resize:vertical;min-height:96px;font-family:var(--font-mono), monospace}.field--word{font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase}.admin-note{color:#ffd98a;background:#111;border-radius:10px;padding:12px 14px;font-size:.9rem}.admin-note ul{margin:6px 0;padding-left:1.2em}
.page--admin{max-width:900px}.admin__title{font-family:var(--font-display), Georgia, serif;color:var(--gold-300);margin:0}.admin__back a{color:var(--gold-300)}.admin-section h2{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);margin-top:0}.admin-form{flex-wrap:wrap;gap:10px;display:flex}.admin-form .field{flex:220px}.admin-jumps{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-jumps .btn--ghost{color:var(--ruby-700);border-color:var(--ruby-700)}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--paper-line);padding:8px 6px}.admin-pre{white-space:pre-wrap;background:#fff;border-radius:8px;max-height:400px;padding:10px;font-size:.8rem;overflow:auto}.admin-riddle{border-top:1px dashed var(--paper-line);padding-top:10px}.admin-riddle h3{margin:0 0 6px;font-size:1.05rem}.admin-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:16px 0 6px;font-size:.8rem;font-weight:700}.admin-label+.admin-jumps{margin-top:0}.chip--active{background:var(--gold-500);color:var(--ruby-900)}
.chat{z-index:1000;max-width:460px;color:var(--paper);font-family:var(--font-body), sans-serif;background:#1b1718;border-radius:18px;gap:10px;margin:0 auto;padding:14px;animation:.45s cubic-bezier(.2,1.3,.4,1) both chat-in;display:grid;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 24px 50px -12px #000000bf,0 0 0 1px #c9a24a59}.chat__head{align-items:center;gap:10px;display:flex}.chat__avatar{background:var(--ruby-800);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.chat__avatar .emblem{color:var(--gold-500)}.chat__name{color:var(--gold-300);font-weight:700}.chat__bubble{background:var(--paper);color:var(--ink);border-radius:4px 16px 16px;margin:0;padding:12px 14px;font-size:1.05rem}.chat__bubble--typing{justify-self:start;gap:5px;padding:14px 16px;display:inline-flex}.chat__bubble--typing span{background:var(--ink-soft);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite typing}.chat__bubble--typing span:nth-child(2){animation-delay:.15s}.chat__bubble--typing span:nth-child(3){animation-delay:.3s}.chat__actions{flex-wrap:wrap;gap:10px;display:flex}.chat__actions .btn--primary{flex:auto}.chat__no{color:var(--gold-300);background:0 0;border:1px solid #e9d59c73}@keyframes chat-in{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:none}}@keyframes typing{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.reveal-note{background:var(--paper-2);font-family:var(--font-body), sans-serif;border-radius:12px;justify-items:start;gap:10px;margin-top:16px;padding:14px;display:grid}.reveal-note p{margin:0}.reveal-link{width:100%;font-family:var(--font-body), sans-serif;margin-top:16px}.geo{gap:14px;display:grid}.geo__kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--ruby-600);margin:0;font-size:.8rem;font-weight:700}.geo__title{font-family:var(--font-display), Georgia, serif;color:var(--ruby-700);margin:0;font-size:2rem}.geo p{margin:0}.geo__photo{gap:4px;margin:0;display:grid}.geo__photo img{border-radius:12px;width:100%;height:auto;box-shadow:0 10px 24px -12px #0009}.geo__photo figcaption{color:var(--ink-soft);font-size:.72rem}.geo__photo figcaption a{color:inherit}.geo-map{border:2px solid var(--paper-line);border-radius:12px;height:min(60vh,460px);min-height:300px;overflow:hidden}.geo-pin{background:0 0;border:0}.geo-pin span{background:var(--ruby-600);border:3px solid var(--gold-300);border-radius:50% 50% 50% 0;width:26px;height:26px;margin:2px auto 0;display:block;transform:rotate(-45deg);box-shadow:0 4px 8px #0006}.geo__feedback{color:var(--ruby-700);background:#fff1ee;border-radius:12px;padding:12px 14px;font-weight:700}.geo__party{color:var(--ruby-700);border-color:var(--ruby-700)}.page--party:before{content:"";z-index:-1;background:radial-gradient(circle at 20% 20%, #e9d59c59, transparent 40%), radial-gradient(circle at 80% 30%, #b82a418c, transparent 45%), radial-gradient(circle at 50% 90%, #c9a24a59, transparent 50%), var(--ruby-900);background-size:200% 200%;animation:6s ease-in-out infinite alternate disco;position:fixed;inset:0}@keyframes disco{0%{filter:hue-rotate();background-position:0 0}to{filter:hue-rotate(-25deg);background-position:100% 100%}}.party{text-align:center;justify-items:center;gap:18px;padding-top:24px;display:grid}.party__kicker{font-family:var(--font-mono), monospace;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-500);margin:0}.party__title{font-family:var(--font-display), Georgia, serif;background:linear-gradient(#fff3cf 0%,#e3bf66 55%,#b0852f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.6rem,13vw,4.4rem);line-height:1.02;animation:.9s cubic-bezier(.2,1.5,.4,1) both party-pop}.party__lead{color:#fbeed3;font-family:var(--font-display), Georgia, serif;margin:0;font-size:1.3rem;font-style:italic}.party__card{text-align:left;gap:10px;display:grid}.party__card p{margin:0}.party__teaser{color:var(--ruby-700);font-style:italic}.party__again{width:100%;max-width:360px}@keyframes party-pop{0%{opacity:0;transform:scale(.4)rotate(-6deg)}to{opacity:1;transform:none}}
