:root{--c-ink: #3b2f24;--c-ink-dim: #7a6650;--c-paper: #f3e6ce;--c-paper-hi: #fbf2e0;--c-paper-edge: #d7c09b;--c-paper-stain: rgba(176, 140, 96, .16);--c-accent: #c0603f;--c-ink-sky: #fff6ea;--c-ink-sky-dim: rgba(255, 246, 234, .72);--c-smoke-1: rgba(22, 13, 9, .38);--c-smoke-2: rgba(22, 13, 9, .55);--c-smoke-3: rgba(20, 12, 8, .62);--c-brass-1: #e2c07a;--c-brass-2: #9a7c42;--c-ink-night: #f2f5ff;--c-ink-night-dim: #a9bedc;--c-card-night: #142238;--c-accent-night: #ffb86b;--c-smoke-night: rgba(6, 12, 34, .46);--c-focus: #ffd08a;--c-focus-halo: rgba(10, 6, 16, .55);--ff-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--ff-serif: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", "Songti TC", "SimSun", Georgia, serif;--ff-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--fs-scale: 1;--fs-100: calc(11px * var(--fs-scale));--fs-200: calc(12.5px * var(--fs-scale));--fs-300: calc(14px * var(--fs-scale));--fs-400: calc(16px * var(--fs-scale));--fs-500: calc(19px * var(--fs-scale));--fs-600: calc(23px * var(--fs-scale));--fs-700: clamp(28px, 8.4vw, 46px);--fs-cell: calc(22px * var(--fs-scale));--lh-tight: 1.25;--lh-body: 1.75;--lh-wish: 2.05;--ls-eyebrow: .34em;--ls-title: .12em;--ls-body: .015em;--ls-btn: .2em;--ls-cell: .04em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--r-1: 6px;--r-2: 10px;--r-3: 16px;--r-pill: 999px;--blur-soft: 12px;--blur-plate: 6px;--sh-card: 0 12px 32px rgba(27, 18, 12, .3), 0 2px 6px rgba(27, 18, 12, .18), inset 0 1px 0 rgba(255, 255, 255, .42);--sh-btn: 0 4px 14px rgba(27, 18, 12, .24);--sh-brass: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -1px 0 rgba(0, 0, 0, .28), 0 6px 18px rgba(10, 6, 2, .34);--sh-text: 0 1px 2px rgba(24, 14, 8, .55), 0 2px 18px rgba(24, 14, 8, .42);--sh-text-night: 0 1px 2px rgba(2, 6, 14, .7), 0 2px 20px rgba(2, 6, 14, .85);--t-1: .14s;--t-2: .2s;--t-3: .26s;--t-4: .42s;--t-5: .7s;--t-6: .9s;--t-7: 1.6s;--e-out: cubic-bezier(.22, 1, .36, 1);--e-in-out: cubic-bezier(.65, .05, .36, 1);--e-out-back: cubic-bezier(.34, 1.56, .64, 1);--e-soft: cubic-bezier(.33, .02, .28, 1);--stage-max: 100%;--frame-max: 1440px;--z-di: 5;--z-ui: 10;--z-modal: 20;--z-chrome: 25;--z-hover: 30;--z-fatal: 90;--kb: 0px;--di-vignette: .55;--dock-reserve: 20px;--grain-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='3' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}@media(min-width:768px){:root{--fs-scale: 1.08;--stage-max: 520px}}@media(min-width:1200px){:root{--stage-max: 560px}}.ui[data-night="1"]{--c-ink-sky: var(--c-ink-night);--c-ink-sky-dim: var(--c-ink-night-dim);--c-smoke-2: rgba(6, 12, 34, .4);--c-smoke-3: var(--c-smoke-night);--c-accent: var(--c-accent-night);--sh-text: var(--sh-text-night)}.di[data-night="1"]{--di-vignette: .78}@media(prefers-contrast:more){:root{--c-smoke-2: rgba(22, 13, 9, .72);--c-smoke-3: rgba(20, 12, 8, .78);--c-ink-sky-dim: var(--c-ink-sky)}.ui[data-night="1"]{--c-smoke-2: rgba(6, 12, 34, .66);--c-smoke-3: rgba(6, 12, 34, .74);--c-ink-sky-dim: var(--c-ink-night)}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}body{font-family:var(--ff-sans);color:var(--c-ink-sky);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}#root{height:100%;position:relative}canvas{display:block;touch-action:none}body[data-hover="1"] canvas{cursor:pointer}*:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;box-shadow:0 0 0 5px var(--c-focus-halo);border-radius:var(--r-1)}::selection{background:var(--c-accent);color:var(--c-ink-sky)}.di{position:fixed;inset:0;z-index:var(--z-di);pointer-events:none}.di>*{pointer-events:none}.di button,.di input,.di textarea,.di [role=dialog],.di .u-hit{pointer-events:auto}.di__vignette{position:absolute;inset:0;background:radial-gradient(118% 92% at 50% 44%,#05141e00 46%,#05141e33 78%,#05141e66);opacity:var(--di-vignette);transition:opacity .6s linear}.di__grain{position:absolute;inset:0;opacity:.035;mix-blend-mode:overlay;background-image:var(--grain-url);background-size:160px 160px}.ui{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:var(--z-ui);pointer-events:none;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;display:grid;grid-template-columns:1fr min(var(--stage-max),100%) 1fr;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top    top    top" ".      stage  ." "bottom bottom bottom";padding-top:calc(env(safe-area-inset-top,0px) + var(--sp-3));padding-right:calc(env(safe-area-inset-right,0px) + var(--sp-4));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-4) + var(--kb, 0px));padding-left:calc(env(safe-area-inset-left,0px) + var(--sp-4));font-family:var(--ff-sans);color:var(--c-ink-sky)}.ui>*{min-width:0;pointer-events:none}.ui__top{grid-area:top;width:100%;max-width:var(--frame-max);margin-inline:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);min-height:44px;max-height:14dvh}.ui__stage{grid-area:stage;display:grid;align-content:end;justify-items:stretch;min-height:0}.ui__bottom{grid-area:bottom;width:100%;max-width:var(--frame-max);margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);max-height:22dvh;padding-bottom:var(--dock-reserve)}@media(max-height:460px){.ui{padding-top:calc(env(safe-area-inset-top,0px) + var(--sp-2));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-2) + var(--kb, 0px))}.ui__top{max-height:14dvh}.ui__bottom{flex-direction:row;justify-content:center;gap:var(--sp-4);max-height:12dvh;padding-bottom:0}}@media(min-width:768px){.ui__stage{align-content:center}}.u-hit{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.u-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.u-sr-focusable:not(:focus):not(:focus-within){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.u-shadow-text{text-shadow:var(--sh-text)}.u-serif{font-family:var(--ff-serif)}.u-nowrap{white-space:nowrap}.u-plate{position:relative}.u-plate:before{content:"";position:absolute;inset:-22px -30px -26px;z-index:-1;background:radial-gradient(46% 47% at 50% 52%,var(--c-smoke-3) 0%,var(--c-smoke-1) 46%,rgba(20,12,8,0) 100%);filter:blur(var(--blur-plate));border-radius:var(--r-3)}.u-plate--soft:before{background:radial-gradient(44% 46% at 50% 50%,var(--c-smoke-2) 0%,rgba(20,12,8,0) 100%)}.btn{font:500 var(--fs-400) / 1 var(--ff-sans);letter-spacing:var(--ls-btn);color:var(--c-ink-sky);background:none;border:0;cursor:pointer;padding:var(--sp-3) var(--sp-5);min-height:48px;border-radius:var(--r-pill);text-indent:var(--ls-btn);transition:transform var(--t-2) var(--e-out),opacity var(--t-2) linear,box-shadow var(--t-2) var(--e-out)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.45;cursor:default;transform:none}.btn--primary{background:linear-gradient(180deg,#fff6ea29,#fff6ea0f);box-shadow:inset 0 0 0 1px #fff6ea70,var(--sh-btn)}.btn--primary:hover{box-shadow:inset 0 0 0 1px #fff6eab8,var(--sh-btn)}.btn--ghost{color:var(--c-ink-dim);box-shadow:inset 0 0 0 1px var(--c-paper-edge)}.btn--brass{color:#3a2a10;background:linear-gradient(162deg,var(--c-brass-1),var(--c-brass-2) 54%,var(--c-brass-1));box-shadow:var(--sh-brass)}.fatal{position:fixed;inset:0;z-index:var(--z-fatal);display:grid;place-content:center;justify-items:center;gap:var(--sp-4);padding:calc(env(safe-area-inset-top,0px) + var(--sp-6)) var(--sp-5) calc(env(safe-area-inset-bottom,0px) + var(--sp-6));text-align:center;font-family:var(--ff-sans);color:var(--c-ink-sky);background:linear-gradient(#1d3f6e,#7b6a8f 38%,#e08a63 68%,#f6c98a)}.fatal__title{font-family:var(--ff-serif);font-size:var(--fs-500);font-weight:600;letter-spacing:.08em;line-height:var(--lh-tight);margin:0;text-shadow:var(--sh-text)}.fatal__body{font-size:var(--fs-300);line-height:var(--lh-body);max-width:28em;margin:0;color:var(--c-ink-sky-dim);text-shadow:var(--sh-text)}.fatal__tech{font:400 var(--fs-100) / 1.6 var(--ff-mono);max-width:32em;margin:0;opacity:.5;overflow-wrap:anywhere}.fatal .btn{box-shadow:inset 0 0 0 1px #fff6ea80,var(--sh-btn)}@keyframes isl-fade{0%{opacity:0}to{opacity:1}}@keyframes isl-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes isl-pulse{0%,to{box-shadow:inset 0 0 0 1px #fff6ea70,var(--sh-btn)}50%{box-shadow:inset 0 0 0 1px #fff6eac7,var(--sh-btn)}}@keyframes isl-drift{0%,to{transform:translate(-7px)}50%{transform:translate(7px)}}@keyframes isl-ink-spread{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes isl-caret{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.16s!important}.di *{animation-name:isl-fade!important}.btn:active{transform:none}}div.clue__scrim{position:fixed;inset:0;z-index:calc(var(--z-modal) - 1);pointer-events:auto;background:radial-gradient(120% 90% at 50% 62%,#120a064d,#120a061a 62%,#120a0600);animation:pnl-fade-in var(--t-3) var(--e-out) both}.clue__scrim.is-closing{animation:pnl-fade-out var(--t-2) var(--e-soft) both}.clue__wrap{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-end;padding:0 calc(env(safe-area-inset-right,0px) + var(--sp-4)) calc(env(safe-area-inset-bottom,0px) + var(--sp-4)) calc(env(safe-area-inset-left,0px) + var(--sp-4));pointer-events:none}.clue{position:relative;width:100%;max-width:34rem;min-width:0;pointer-events:auto;border-radius:var(--r-2);box-shadow:0 12px 32px #1b120c4d,0 2px 6px #1b120c2e;transform-origin:50% 100%;animation:pnl-tear .26s var(--e-out) both}.clue.is-closing{animation:pnl-tear-out .18s var(--e-soft) both}.clue__sheet{position:relative;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--sp-5) var(--sp-5) var(--sp-4);color:var(--c-ink);font-size:var(--fs-300);line-height:var(--lh-body);letter-spacing:var(--ls-body);background:radial-gradient(120px 90px at 22% 18%,var(--c-paper-stain),transparent 70%),radial-gradient(160px 120px at 82% 88%,var(--c-paper-stain),transparent 72%),linear-gradient(178deg,var(--c-paper-hi),var(--c-paper) 46%,#ecdcc0);box-shadow:inset 0 1px #ffffff6b;border-radius:var(--r-2);clip-path:polygon(0 6px,12% 2px,34% 7px,61% 1px,84% 6px,100% 2px,100% calc(100% - 4px),72% 100%,41% calc(100% - 5px),14% 100%,0 calc(100% - 3px))}.clue__sheet:after{content:"";position:absolute;inset:5px 3px 6px;border:1px solid var(--c-paper-edge);border-radius:var(--r-1);opacity:.55;pointer-events:none}.clue__caption{font-size:var(--fs-100);letter-spacing:.14em;color:var(--c-ink-dim);margin:0 0 var(--sp-2)}.clue__title{font-size:var(--fs-500);font-weight:600;line-height:var(--lh-tight);letter-spacing:.02em;margin:0 0 var(--sp-3);color:var(--c-ink)}.clue__text{margin:0 0 var(--sp-4);overflow-wrap:anywhere}.clue__line{display:block;animation:pnl-fade-up .42s var(--e-out) both;animation-delay:var(--d, 0ms)}.clue .clue__close{display:flex;margin-left:auto}@media(max-width:359px){.clue__sheet{padding:var(--sp-4) var(--sp-4) var(--sp-3)}}@media(min-width:768px){.clue__wrap{align-items:flex-end;padding-bottom:calc(env(safe-area-inset-bottom,0px) + clamp(24px,8vh,76px))}.clue{animation-name:pnl-tear-tilt}.clue.is-closing{animation-name:pnl-tear-out-tilt}.clue__sheet{max-height:62dvh}}@media(max-height:460px){.clue__sheet{max-height:76dvh;padding:var(--sp-4) var(--sp-4) var(--sp-3)}}@keyframes pnl-tear{0%{opacity:0;transform:perspective(760px) translateY(14px) rotateX(-17deg) rotate(-2.4deg) scale(.985)}62%{opacity:1}to{opacity:1;transform:perspective(760px) translateY(0) rotateX(0) rotate(0) scale(1)}}@keyframes pnl-tear-out{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(10px) rotate(0)}}@keyframes pnl-tear-tilt{0%{opacity:0;transform:perspective(760px) translateY(14px) rotateX(-17deg) rotate(-3.4deg) scale(.985)}62%{opacity:1}to{opacity:1;transform:perspective(760px) translateY(0) rotateX(0) rotate(-1.1deg) scale(1)}}@keyframes pnl-tear-out-tilt{0%{opacity:1;transform:translateY(0) rotate(-1.1deg)}to{opacity:0;transform:translateY(10px) rotate(-1.1deg)}}.pw__anchor{position:fixed;top:0;left:0;z-index:var(--z-modal);width:min(30rem,calc(100vw - 2 * var(--sp-3)));pointer-events:none;will-change:transform}.pw__probe{position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.pw{position:relative;width:100%;min-width:0;text-align:center;padding:var(--sp-4) var(--sp-4) var(--sp-3);animation:pnl-fade-up .42s var(--e-out) both}.pw:before{content:"";position:absolute;inset:16px -20px -20px;z-index:-1;background:radial-gradient(96% 120% at 50% 56%,var(--c-smoke-3) 0%,var(--c-smoke-1) 58%,rgba(20,12,8,0) 80%);filter:blur(var(--blur-plate))}.pw:after{content:"";position:absolute;inset:16px -20px -20px;z-index:-1;opacity:0;background:radial-gradient(72% 96% at 50% 44%,#ffc6765c,#ffaa5000 74%);filter:blur(var(--blur-soft))}.pw.is-shake{animation:pnl-shake .42s linear}.pw.is-unlocking{animation:pnl-lift .5s var(--e-soft) .3s both}.pw.is-unlocking:after{animation:pnl-warm .9s var(--e-out) both}.pw__title{font-size:var(--fs-300);font-weight:500;letter-spacing:.1em;line-height:var(--lh-tight);color:var(--c-ink-sky);margin:0 0 var(--sp-3);text-shadow:var(--sh-text)}.pw__shackle{display:inline-block;vertical-align:-.2em;width:1.25em;height:1.25em;margin-right:var(--sp-2);fill:none;stroke:var(--c-brass-1);stroke-width:2.2;stroke-linecap:round;transform-origin:21% 79%;filter:drop-shadow(0 1px 1px rgba(20,12,6,.5))}.pw.is-unlocking .pw__shackle{animation:pnl-shackle .5s var(--e-out-back) .24s both}.pw__row{position:relative;max-width:20rem;margin:0 auto var(--sp-2)}.pw__input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;font-size:var(--fs-400);text-align:center;color:transparent;background:transparent;caret-color:transparent;opacity:.001}.pw__slots{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-2);pointer-events:none}.pw__cell{height:clamp(44px,13.5vw,52px);display:grid;place-items:center;font:600 var(--fs-cell) / 1 var(--ff-mono);letter-spacing:var(--ls-cell);color:#3a2a10;border-radius:var(--r-1);background:linear-gradient(162deg,var(--c-brass-1),var(--c-brass-2) 56%,#d9b46c);box-shadow:var(--sh-brass);transition:box-shadow var(--t-2) var(--e-out),transform var(--t-2) var(--e-out)}.pw__cell--caret{box-shadow:var(--sh-brass),0 0 0 2px #fff6ea99}.pw__cell--caret:after{content:"";width:2px;height:22px;background:#3a2a10;animation:pnl-caret 1.05s steps(1,end) infinite}.pw__cell--wrong{box-shadow:var(--sh-brass),0 0 0 2px var(--c-accent)}.pw__input:focus-visible~.pw__slots .pw__cell--caret{box-shadow:var(--sh-brass),0 0 0 2px var(--c-focus),0 0 0 5px var(--c-focus-halo)}.pw.is-unlocking .pw__cell{animation:pnl-cell-pop .24s var(--e-out-back) both;animation-delay:calc(var(--i, 0) * 40ms)}.pw__hint{font-size:var(--fs-200);line-height:var(--lh-body);color:var(--c-ink-sky-dim);margin:0 0 var(--sp-3);text-shadow:var(--sh-text)}.pw__submit{min-width:140px}.pw__submit.is-armed{animation:pnl-pulse .9s var(--e-in-out) both}.pw__nudge{font-size:var(--fs-300);line-height:var(--lh-body);color:var(--c-ink-sky);margin:var(--sp-2) auto 0;min-height:calc(2em * var(--lh-body));max-width:24em;text-shadow:var(--sh-text);overflow-wrap:anywhere}.pw__nudge>span{display:block;animation:pnl-fade-up .32s var(--e-out) both}.pw__done{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-5) + var(--kb, 0px));z-index:var(--z-modal);margin:0;padding:0 calc(env(safe-area-inset-right,0px) + var(--sp-4)) 0 calc(env(safe-area-inset-left,0px) + var(--sp-4));text-align:center;font-size:var(--fs-300);line-height:var(--lh-body);color:var(--c-ink-sky);text-shadow:var(--sh-text);pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity var(--t-4) linear,transform var(--t-4) var(--e-out)}.pw__done.is-in{opacity:1;transform:translateY(0)}@media(max-width:359px){.pw{padding:var(--sp-3)}}@media(max-height:460px){.pw{padding:var(--sp-3) var(--sp-3) var(--sp-2)}.pw__title{font-size:var(--fs-200);margin-bottom:var(--sp-2)}.pw__cell{height:44px}.pw__hint{margin-bottom:var(--sp-2)}.pw__nudge{min-height:calc(1em * var(--lh-body))}}@keyframes pnl-shake{0%{transform:translateZ(0)}10%{transform:translate3d(-7px,0,0)}22%{transform:translate3d(5.6px,0,0)}34%{transform:translate3d(-4.2px,0,0)}46%{transform:translate3d(3.1px,0,0)}58%{transform:translate3d(-2.1px,0,0)}70%{transform:translate3d(1.4px,0,0)}82%{transform:translate3d(-.8px,0,0)}91%{transform:translate3d(.4px,0,0)}to{transform:translateZ(0)}}@keyframes pnl-cell-pop{0%{transform:scale(1);box-shadow:var(--sh-brass)}46%{transform:scale(1.12);box-shadow:var(--sh-brass),0 0 0 2px var(--c-accent-night)}to{transform:scale(1);box-shadow:var(--sh-brass),0 0 0 2px var(--c-accent-night)}}@keyframes pnl-shackle{0%{transform:rotate(0)}to{transform:rotate(-34deg)}}@keyframes pnl-lift{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes pnl-warm{0%{opacity:0}26%{opacity:1}to{opacity:0}}@keyframes pnl-caret{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes pnl-pulse{0%,to{box-shadow:var(--sh-brass)}50%{box-shadow:var(--sh-brass),0 0 0 3px #ffd69680}}.end__wrap{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-end;padding:0 calc(env(safe-area-inset-right,0px) + var(--sp-3)) calc(env(safe-area-inset-bottom,0px) + var(--sp-5)) calc(env(safe-area-inset-left,0px) + var(--sp-3));pointer-events:none}.end{position:relative;width:100%;min-width:0;max-width:32rem;text-align:center;padding:var(--sp-5) var(--sp-4) var(--sp-2);color:#f2f5ff80}.end:before{content:"";position:absolute;inset:-12vh -14vw -8vh;z-index:-1;background:radial-gradient(40% 44% at 50% 48%,#060c229e,#060c225c 46%,#060c2200)}.end__greeting{font-size:min(var(--fs-600),6.6vw);font-weight:600;letter-spacing:.06em;line-height:var(--lh-tight);margin:0 0 var(--sp-4);text-wrap:balance;text-shadow:var(--sh-text-night);animation:pnl-fade-up .9s var(--e-out) both;animation-delay:var(--d, 0ms)}.end__rule{display:block;width:46px;height:1px;margin:0 auto var(--sp-4);background:linear-gradient(90deg,transparent,var(--c-accent-night),transparent);animation:pnl-rule .7s var(--e-out) both;animation-delay:var(--d, 0ms)}.end__wish{font-size:min(var(--fs-400),4.4vw);line-height:var(--lh-wish);letter-spacing:.04em;margin:0 0 var(--sp-5);color:#f2f5ff80;text-shadow:var(--sh-text-night);overflow-wrap:anywhere}.end__line{display:block;text-wrap:balance;animation:pnl-fade-up .7s var(--e-out) both;animation-delay:var(--d, 0ms)}.end__sign{font-size:var(--fs-200);color:#f2f5ff59;margin:0 0 var(--sp-4);letter-spacing:.1em;text-shadow:var(--sh-text-night);animation:pnl-fade-up .7s var(--e-soft) both;animation-delay:var(--d, 0ms)}@media(min-width:768px){.end__wrap{top:0;align-items:center}.end__greeting{font-size:var(--fs-600)}.end__wish{font-size:var(--fs-400)}}@media(max-height:460px){.end{padding:var(--sp-3) var(--sp-4) var(--sp-1)}.end__greeting,.end__rule{margin-bottom:var(--sp-2)}.end__wish{line-height:var(--lh-body);margin-bottom:var(--sp-3)}}@keyframes pnl-rule{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes pnl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pnl-fade-out{0%{opacity:1}to{opacity:0}}@keyframes pnl-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.clue,.clue__line,.pw,.pw__nudge>span,.end__greeting,.end__rule,.end__line,.end__sign,.end__replay{animation-name:pnl-fade-in}.clue.is-closing{animation:pnl-fade-out .12s linear both}.pw.is-unlocking{animation:pnl-fade-out .2s linear .1s both}.pw.is-shake{animation-name:none}.pw__cell--caret:after{animation:none;opacity:1}.pw.is-unlocking .pw__cell{animation:none;box-shadow:var(--sh-brass),0 0 0 2px var(--c-accent-night)}.pw.is-unlocking .pw__shackle{animation-name:pnl-fade-in}.pw__submit.is-armed{animation-name:none}.pw__done{transform:none}}.title{position:fixed;left:calc(env(safe-area-inset-left,0px) + var(--sp-4));right:calc(env(safe-area-inset-right,0px) + var(--sp-4));bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-5));z-index:var(--z-modal);max-width:var(--stage-max);margin-inline:auto;text-align:center;padding-block-end:var(--sp-2);transition:opacity .5s var(--e-soft),transform .5s var(--e-soft)}.title[data-leaving="1"]{opacity:0;transform:translateY(-10px)}.title__eyebrow{font-size:var(--fs-100);letter-spacing:var(--ls-eyebrow);color:var(--c-ink-sky-dim);margin:0 0 var(--sp-3);text-indent:var(--ls-eyebrow);text-shadow:var(--sh-text);animation:isl-fade-up var(--t-5) var(--e-out) 0ms backwards}.title__name{font-size:var(--fs-700);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-title);text-indent:var(--ls-title);text-wrap:balance;margin:0 0 var(--sp-3);text-shadow:var(--sh-text);animation:isl-fade-up var(--t-5) var(--e-out) .14s backwards}.title__rule{display:block;width:64px;height:1px;margin:0 auto var(--sp-4);background:linear-gradient(90deg,transparent,var(--c-ink-sky-dim),transparent);animation:isl-fade-up var(--t-5) var(--e-out) .26s backwards}.title__sub{font-size:var(--fs-300);line-height:var(--lh-body);letter-spacing:var(--ls-body);color:var(--c-ink-sky-dim);margin:0 auto var(--sp-5);max-width:20em;text-shadow:var(--sh-text);animation:isl-fade-up var(--t-5) var(--e-out) .38s backwards}.title__start{min-width:168px;animation:isl-fade-up var(--t-5) var(--e-out) .62s backwards,isl-pulse 4s var(--e-in-out) 1.32s infinite}.title__start:focus-visible{animation-name:none}.title__start[data-ready="0"]{pointer-events:none}.title__hint{font-size:var(--fs-100);letter-spacing:.08em;color:var(--c-ink-sky-dim);margin:var(--sp-4) auto 0;max-width:24em;text-shadow:var(--sh-text);animation:isl-fade-up var(--t-5) var(--e-out) .9s backwards}@media(min-width:900px)and (min-aspect-ratio:1/1){.title{right:auto;left:calc(env(safe-area-inset-left,0px) + var(--sp-7));bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-7));max-width:min(34rem,46vw);margin-inline:0;text-align:left}.title__rule,.title__sub,.title__hint{margin-inline:0}}@media(max-height:460px){.title{right:auto;max-width:44ch;margin-inline:0;text-align:left;bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-3))}.title__name{font-size:clamp(23px,5.8vh,34px);margin-bottom:var(--sp-2)}.title__eyebrow{margin-bottom:var(--sp-2)}.title__rule,.title__sub{margin:0 0 var(--sp-3)}.title__hint{margin:var(--sp-2) 0 0}}.hud{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;width:fit-content;max-width:100%}.hud:before{opacity:.58;padding-right:52px;animation:isl-fade-up .5s var(--e-out) backwards;transition:opacity .55s linear}.hud__title{font-size:var(--fs-200);letter-spacing:.16em;line-height:1.4;color:var(--c-ink-sky-dim);margin:0;text-shadow:var(--sh-text)}.hud__marks{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.hud__mark{width:22px;height:22px;display:block;flex:0 0 auto}.hud__mark svg{display:block;width:100%;height:100%;overflow:visible}.hud__mark-ring{fill:none;stroke:var(--c-ink-sky);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.45;transition:opacity var(--t-3) var(--e-out)}.hud__mark-motif{fill:none;stroke:var(--c-accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform-origin:12px 12px}.hud__mark[data-filled="1"] .hud__mark-ring{opacity:.9}.hud__mark[data-filled="1"] .hud__mark-motif{animation:isl-ink-spread .32s var(--e-out-back) forwards}.hud__count{font-size:var(--fs-100);letter-spacing:.12em;color:var(--c-ink-sky-dim);margin-left:var(--sp-1);font-variant-numeric:tabular-nums;text-shadow:var(--sh-text)}.ui[data-phase=ending] .hud{opacity:0}@media(min-width:768px){.hud{padding-right:128px}}.hint{font-size:var(--fs-200);line-height:var(--lh-body);text-align:center;margin:0;max-width:26em;min-width:0;color:var(--c-ink-sky);text-shadow:var(--sh-text);transition:opacity var(--t-4) linear}.hint__line{display:inline-block;animation:isl-fade var(--t-4) linear backwards}.ui[data-phase=title] .hint,.ui[data-phase=puzzle] .hint,.ui[data-phase=ending] .hint,.ui[data-clue="1"] .hint{opacity:0}.snd{position:fixed;top:env(safe-area-inset-top,0px);right:calc(env(safe-area-inset-right,0px) + var(--sp-2));z-index:var(--z-chrome);gap:var(--sp-2);padding:var(--sp-2);font-family:var(--ff-sans);color:var(--c-ink-sky-dim);background:none;border:0;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(24,14,8,.55));transition:color var(--t-2) linear,opacity var(--t-2) linear}.snd:hover,.snd[aria-pressed=true]{color:var(--c-ink-sky)}.snd[aria-pressed=false]{color:var(--c-ink-sky-dim);opacity:.8}.snd__icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.snd__label{font-size:var(--fs-100);letter-spacing:.12em;white-space:nowrap}@media(max-width:767px){.snd__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}}.nudge{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px) + 16px);transform:translate(-50%);z-index:var(--z-ui);display:inline-flex;align-items:center;margin:0;max-width:calc(100% - 2 * var(--sp-4));font-size:var(--fs-100);letter-spacing:.1em;white-space:nowrap;color:var(--c-ink-sky-dim);text-shadow:var(--sh-text);animation:chr-nudge-in .52s var(--e-out) backwards}.nudge__dot{width:5px;height:5px;margin:0 7px 0 0;border-radius:50%;background:currentColor;opacity:.85;flex:0 0 auto;animation:isl-drift 2.4s var(--e-in-out) infinite}@keyframes chr-nudge-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 14px))}to{opacity:1;transform:translate(-50%,-100%)}}.hover{position:fixed;left:0;top:0;z-index:var(--z-hover);transform:translateZ(0);pointer-events:none;font-size:var(--fs-200);line-height:1.4;letter-spacing:.08em;color:var(--c-ink);white-space:nowrap;max-width:calc(100vw - 2 * var(--sp-4));overflow:hidden;text-overflow:ellipsis;padding:6px 10px;border-radius:var(--r-1);background:linear-gradient(178deg,var(--c-paper-hi),var(--c-paper));box-shadow:0 6px 18px #1b120c47;opacity:0;transition:opacity var(--t-2) linear var(--t-1);will-change:transform}.hover[data-on="1"]{opacity:1}.ui[data-touch="1"]~.hover{left:50%;top:calc(100vh - env(safe-area-inset-bottom,0px) - var(--sp-4) - var(--kb, 0px) - 62px);top:calc(100dvh - env(safe-area-inset-bottom,0px) - var(--sp-4) - var(--kb, 0px) - 62px);transform:translate(-50%,-100%);transition-delay:0ms}.rotate-hint{position:fixed;left:50%;top:env(safe-area-inset-top,0px);transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:var(--sp-2);padding:8px var(--sp-4);border-radius:0 0 var(--r-2) var(--r-2);font-size:var(--fs-100);font-weight:500;letter-spacing:.06em;color:var(--c-ink);background:linear-gradient(180deg,var(--c-paper-hi),var(--c-paper));box-shadow:0 4px 16px #1b120c2e;white-space:nowrap;animation:rh-in .52s var(--e-out) backwards;pointer-events:none}.rotate-hint__icon{display:inline-flex;font-size:1.3em;line-height:1;animation:rh-spin 2.4s var(--e-in-out) infinite}@keyframes rh-in{0%{opacity:0;transform:translate(-50%) translateY(-100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes rh-spin{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.ui[data-phase=title]~.rotate-hint{display:none}.fire-shell{position:fixed;right:calc(env(safe-area-inset-right,0px) + var(--sp-3));bottom:calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px) + 60px);z-index:50;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,244,232,.2);background:#140c0873;color:#fff4e8d9;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s var(--e-out);animation:fs-fade .6s var(--e-out) .8s backwards;pointer-events:auto}.fire-shell:active{background:#ffcf6a40;transform:scale(.92)}@keyframes fs-fade{0%{opacity:0;transform:translate(100%,100%)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.title__eyebrow{animation-delay:0ms}.title__name{animation-delay:60ms}.title__rule{animation-delay:90ms}.title__sub{animation-delay:.12s}.title__start{animation-delay:.18s}.title__hint{animation-delay:.24s}}.keys{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px) + 44px);transform:translate(-50%);z-index:var(--z-ui);display:flex;gap:var(--sp-2);max-width:calc(100% - 2 * var(--sp-4));pointer-events:none}.keys__key{pointer-events:auto;font:500 var(--fs-100) / 1 var(--ff-sans);letter-spacing:.08em;color:var(--c-ink-sky);background:#140c086b;border:1px solid rgba(255,244,232,.34);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);cursor:pointer;white-space:nowrap}
