@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");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:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-decorative-latin-ext-400-normal-bHvtSFkP.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-ext-400-normal-DFyBg16u.woff)format("woff");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:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-decorative-latin-400-normal-C3uAaiWr.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-400-normal-Bspm-4mP.woff)format("woff");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:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-decorative-latin-ext-700-normal-Dul5pKgq.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-ext-700-normal-BaOC-94C.woff)format("woff");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:Cinzel Decorative;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-decorative-latin-700-normal-CnX1aK6s.woff2)format("woff2"),url(/assets/cinzel-decorative-latin-700-normal-ov6XPGpn.woff)format("woff");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}:root{--night-1:#1a1038;--night-2:#2c1a5c;--night-3:#4a2a8a;--gold:#f4c95d;--gold-2:#ffe29a;--gold-deep:#b98a1e;--parch:#fbf1dc;--parch-2:#f1e2c1;--ink:#2b1d3a;--ink-soft:#5b4a72;--rose:#ff6fa3;--mint:#6fe7c1;--sky:#7fc8ff;--danger:#ff5c7a;--ok:#4de29a;--radius:22px;--shadow:0 10px 30px #0c061e59;--font-display:"Cinzel Decorative", "Georgia", serif;--font-body:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--parch);background:var(--night-1);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-weight:700}.app{width:100%;height:100%;position:relative;overflow:hidden}.screen{padding:calc(var(--safe-top) + 14px) 18px calc(var(--safe-bottom) + 16px);-webkit-overflow-scrolling:touch;flex-direction:column;max-width:520px;margin:0 auto;display:flex;position:absolute;inset:0;overflow:hidden auto}.screen.center{justify-content:center}.btn{letter-spacing:.01em;background:linear-gradient(180deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:17px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex;position:relative;box-shadow:0 6px #8a6612,0 12px 24px #00000059,inset 0 1px #ffffffb3}.btn:active{transform:translateY(4px);box-shadow:0 2px #8a6612,0 6px 12px #0000004d}.btn.ghost{color:var(--parch);background:#ffffff14;box-shadow:inset 0 0 0 1.5px #f4c95d73}.btn.ghost:active{transform:translateY(2px)}.btn.small{padding:9px 14px;font-size:14px}.btn.big{padding:18px 28px;font-size:20px}.btn[disabled]{filter:grayscale(.7)brightness(.7);pointer-events:none}.card{border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#ffffff1a,#ffffff0a);border:1px solid #f4c95d47;padding:16px}.card.parch{background:radial-gradient(120% 80% at 50% 0%, #ffffff8c, transparent 60%), linear-gradient(180deg, var(--parch), var(--parch-2));color:var(--ink);border:2px solid var(--gold-deep);box-shadow:0 0 0 4px #f4c95d40, var(--shadow)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.9;font-size:12px;font-weight:800}.title{color:var(--gold-2);text-shadow:0 2px #7a5410,0 6px 18px #00000080;font-size:28px;line-height:1.15}.muted{color:#fbf1dcb8}.ink-muted{color:var(--ink-soft)}.row{align-items:center;gap:12px;display:flex}.grow{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.center-text{text-align:center}.topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.iconbtn{background:#ffffff14;border-radius:14px;place-items:center;width:44px;height:44px;font-size:20px;display:grid;box-shadow:inset 0 0 0 1px #f4c95d59}.iconbtn:active{transform:scale(.94)}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:auto;display:grid}.key{height:clamp(52px,10vh,84px);color:var(--parch);background:linear-gradient(#ffffff24,#ffffff0d);border-radius:18px;font-size:30px;font-weight:800;transition:transform 50ms;box-shadow:inset 0 0 0 1.5px #f4c95d59,0 4px #00000059}.key:active{transform:translateY(3px);box-shadow:inset 0 0 0 1.5px #f4c95d99,0 1px #00000059}.key.accent{background:linear-gradient(180deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));color:var(--ink);box-shadow:0 4px #8a6612}.key.dim{font-size:22px}.bar{background:#00000059;border-radius:999px;height:12px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.bar>i{background:linear-gradient(90deg, var(--gold-deep), var(--gold), var(--gold-2));border-radius:999px;height:100%;transition:width .4s;display:block}.grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tile{text-align:center;background:linear-gradient(#ffffff1a,#ffffff08);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:122px;padding:10px 6px;font-size:12px;font-weight:700;line-height:1.15;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px #f4c95d4d}.tile.locked{filter:grayscale()brightness(.55)}.tile.selected{box-shadow:inset 0 0 0 2.5px var(--gold), 0 0 20px #f4c95d59}.tile .lock{filter:none;font-size:14px;position:absolute;top:6px;right:8px}.toggle{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.switch{background:#ffffff26;border-radius:999px;width:52px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--ok)}.switch.on:after{transform:translate(22px)}.chip{background:#ffffff14;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:800;box-shadow:inset 0 0 0 1.5px #f4c95d4d}.chip.on{background:var(--gold);color:var(--ink)}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.float{animation:3.2s ease-in-out infinite float}.shake{animation:.45s shake}.bubble{background:var(--parch);color:var(--ink);border-radius:16px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.3;position:relative;box-shadow:0 6px 18px #00000059}.bubble:after{content:"";border-style:solid;border-width:8px 8px 0;border-color:var(--parch) transparent transparent transparent;position:absolute;bottom:-8px;left:26px}::-webkit-scrollbar{width:0;height:0}.badge-new{letter-spacing:.1em;background:var(--rose);color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:900;animation:1.4s ease-in-out infinite pulse;position:absolute;top:6px;left:8px;box-shadow:0 2px 6px #0006}.dot{background:var(--rose);color:#fff;border:2px solid var(--night-1);border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:900;display:grid;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #0006}.toast{left:50%;top:calc(var(--safe-top) + 74px);z-index:30;background:linear-gradient(180deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:14px;font-weight:900;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #00000073,0 0 0 3px #ffffff40}.toast .ico{background:#ffffffb3;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.guidebtn{letter-spacing:.01em;color:var(--ink);background:linear-gradient(180deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));isolation:isolate;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 10px;font-size:16px;font-weight:900;transition:transform 80ms;animation:2.6s ease-in-out infinite guide-glow,3.4s ease-in-out infinite float;display:inline-flex;position:relative;overflow:visible;box-shadow:0 5px #8a6612,0 0 18px #f4c95d66,inset 0 1px #ffffffb3}.guidebtn:before{content:"";border-radius:inherit;z-index:-1;background:linear-gradient(115deg,#0000 30%,#ffffffbf 50%,#0000 70%) -120% 0/60% 100% no-repeat;animation:3.2s ease-in-out infinite sheen;position:absolute;inset:0;overflow:hidden}.guidebtn:active{transform:translateY(3px);box-shadow:0 2px #8a6612,0 0 18px #f4c95d66}.guidebtn .spark path{transform-origin:50%;animation:1.8s ease-in-out infinite twinkle}.guidebtn .spark .s2{animation-delay:.5s}.guidebtn .spark .s3{animation-delay:1s}.guidebtn.new{animation:1.3s ease-in-out infinite guide-glow,2.4s ease-in-out infinite wiggle}.guidebtn .dot{top:-8px;right:-8px}@keyframes sheen{0%{background-position:-120% 0}45%{background-position:220% 0}to{background-position:220% 0}}@keyframes guide-glow{0%,to{box-shadow:0 5px #8a6612,0 0 14px #f4c95d59,inset 0 1px #ffffffb3}50%{box-shadow:0 5px #8a6612,0 0 34px #f4c95dd9,inset 0 1px #ffffffb3}}@keyframes wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-7deg)scale(1.06)}82%{transform:rotate(7deg)scale(1.06)}88%{transform:rotate(-4deg)scale(1.03)}94%{transform:rotate(3deg)}}
