.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--tp-paper);transition-property:opacity;transition-timing-function:var(--ease-out-expo)}.boot-screen--leaving{opacity:0;pointer-events:none}.boot-logo{display:flex;flex-direction:column;align-items:center;color:var(--tp-ink)}.boot-stamp{transform:rotate(-6deg)}.boot-wordmark{margin:18px 0 0;font-size:30px;font-weight:600;line-height:1.05}.boot-screen .boot-footer{position:absolute;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 36px);left:0;display:flex;flex-direction:column;align-items:center;gap:12px}.boot-status{margin:0;font-size:13px;color:var(--tp-ink-soft)}.boot-progress{width:min(280px,60vw);height:1px;overflow:hidden;background:#2a252024}.boot-progress-fill{display:block;width:100%;height:100%;background:var(--tp-ink);transform-origin:left center;transition:transform var(--duration-normal) var(--ease-out-expo)}.pet-bubble{display:flex;align-items:flex-end;gap:8px;padding-top:24px;pointer-events:none}.pet-bubble-tab{position:relative;flex:none;width:56px;height:28px;border-radius:999px;background:#fffaf0e0;box-shadow:var(--tp-hairline-shadow)}.pet-bubble-avatar{position:absolute;top:-24px;left:50%;display:block;width:46px;height:46px;margin-left:-23px}.pet-bubble-balloon{position:relative;max-width:240px;margin:0;padding:7px 12px 8px;border:1.5px solid var(--tp-ink);border-radius:12px 14px 12px 3px;background:var(--tp-paper-lifted);color:var(--tp-ink);font-size:13px;line-height:1.5}.pet-bubble-balloon:before{content:"";position:absolute;bottom:7px;left:-7px;width:11px;height:11px;border-bottom:1.5px solid var(--tp-ink);border-left:1.5px solid var(--tp-ink);background:var(--tp-paper-lifted);transform:rotate(45deg)}.pet-bubble-name{display:block;margin-bottom:1px;color:var(--tp-ink-soft);font-size:11px;font-weight:700;letter-spacing:.02em}.status-card{min-width:188px;max-width:250px;padding:4px;border-radius:8px;background:#fffaf0eb;box-shadow:var(--tp-hairline-shadow);color:var(--tp-ink)}.status-card-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:13px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-micro) var(--ease-out-expo)}.status-card-toggle:hover{background:var(--tp-paper-skeleton)}.status-card-toggle:active{transform:scale(.95)}.status-card-toggle:focus-visible{outline:2px solid var(--tp-ink);outline-offset:1px}.status-card-offline{display:inline-flex;flex:none;align-items:center;gap:3px;font-size:10px;font-weight:400;letter-spacing:.04em;color:#2a252061}.status-card-offline-dot{width:4px;height:4px;border-radius:999px;background:#2a25207a}.status-card-chevron{flex:none;transform:rotate(90deg);transition:transform var(--duration-micro) var(--ease-out-expo)}.status-card-chevron.open{transform:rotate(-90deg)}.status-card-rows{display:grid;gap:6px;margin:0;padding:2px 8px 8px}.status-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.status-card-row dt{color:var(--tp-ink-soft);font-size:11px;letter-spacing:.04em}.status-card-row dd{margin:0;font-size:13px;font-weight:700}.status-card-account{display:grid;justify-items:start;gap:6px;padding:0 8px 8px}.status-card-bind{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1.5px solid var(--tp-ink);border-radius:6px;background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e;color:var(--tp-ink);font-size:12px;font-weight:700;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-micro) var(--ease-out-expo)}.status-card-bind:active{transform:scale(.95)}.status-card-bind:focus-visible{outline:2px solid var(--tp-ink);outline-offset:1px}.status-card-bind:disabled{border-color:#2a252029;box-shadow:none;color:#2a252061;cursor:default}.status-card-linked{display:inline-flex;align-items:center;gap:5px;min-height:32px;color:var(--tp-ink-soft);font-size:12px;font-weight:700}.status-card-bind-note{margin:0;color:var(--tp-ink-soft);font-size:11px;line-height:1.4}.status-card-data{padding:6px 8px 8px;border-top:1px solid #ded3c1}.status-card-data-toggle{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 2px;border:0;background:transparent;color:#2a25207a;font-size:12px;font-weight:700;-webkit-tap-highlight-color:transparent}.status-card-data-toggle:hover{color:var(--tp-ink)}.status-card-data-toggle:focus-visible{outline:2px solid var(--tp-ink);outline-offset:1px}.account-panel{display:grid;gap:8px;padding-top:4px}.account-row{display:grid;justify-items:start;gap:3px}.account-action{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1.5px solid var(--tp-ink);border-radius:6px;background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e;color:var(--tp-ink);font-size:12px;font-weight:700;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-micro) var(--ease-out-expo)}.account-action:active{transform:scale(.95)}.account-action:focus-visible{outline:2px solid var(--tp-ink);outline-offset:1px}.account-action:disabled{border-color:#2a252029;box-shadow:none;color:#2a252061;cursor:default}.account-action-quiet{border-color:#2a252052;color:var(--tp-ink-soft)}.account-action-danger{border-color:#b3402a;color:#b3402a}.account-hint{color:#2a25207a;font-size:11px;line-height:1.4}.account-note{margin:0;color:var(--tp-ink-soft);font-size:11px;line-height:1.4}.account-confirm{display:grid;gap:6px;padding:10px;border-radius:8px;background:var(--tp-paper-warm);box-shadow:inset 0 0 0 1px #2a252024}.account-confirm-copy{margin:0;color:var(--tp-ink);font-size:13px;font-weight:700;line-height:1.5}.account-confirm-sub{margin:0;color:var(--tp-ink-soft);font-size:11px;line-height:1.5}.account-confirm-actions{display:flex;gap:8px;margin-top:2px}.account-farewell{margin:0;color:var(--tp-ink);font-size:13px;line-height:1.6}.account-legal{display:flex;gap:12px;margin:0;font-size:11px}.account-legal a{color:#2a25207a;text-decoration:underline;text-underline-offset:2px}.account-legal a:hover{color:var(--tp-ink)}.journey-hud{position:absolute;top:84px;left:14px;z-index:21;display:flex;flex-direction:column;align-items:flex-start;gap:12px;pointer-events:none}.journey-hud .status-card{pointer-events:auto}@media(max-width:760px){.journey-hud{top:140px}}.route-note{margin:0;max-width:248px;padding:8px 12px;border-left:4px solid var(--tp-clay, #c4997a);border-radius:var(--tp-radius, 8px);background:repeating-linear-gradient(transparent,transparent 22px,rgba(42,37,32,.055) 23px),var(--tp-paper-warm, #f2ead8);box-shadow:inset 0 0 0 1px #2a252024;color:var(--tp-ink-soft, #5a5248);font-size:13px;line-height:1.5;transform:rotate(-.6deg);pointer-events:none}.journey-invite{position:absolute;top:84px;left:14px;z-index:21;display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:264px;padding:12px 14px;border-left:4px solid var(--tp-clay, #c4997a);border-radius:var(--tp-radius, 8px);background:repeating-linear-gradient(transparent,transparent 24px,rgba(42,37,32,.055) 25px),var(--tp-paper-warm, #f2ead8);box-shadow:inset 0 0 0 1px #2a252024;transform:rotate(-.6deg)}.journey-invite p{margin:0;color:var(--tp-ink, #2a2520);font-size:14px;line-height:1.5}.journey-invite button{min-height:34px;padding:0 12px;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);box-shadow:0 3px #2a25202e;color:var(--tp-ink, #2a2520);font-size:13px;font-weight:700}.journey-invite button:active{transform:scale(.95);box-shadow:0 1px #2a25202e}@media(max-width:760px){.journey-invite{top:140px}}.mail-badge{position:absolute;top:-7px;right:-7px;z-index:2;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:53% 47% 50% 50%/48% 55% 45% 52%;background:var(--tp-ochre);box-shadow:var(--tp-hairline-shadow),inset 0 0 0 3.5px #faf6ec47;color:var(--tp-ink);font-size:11px;font-weight:700;line-height:1;pointer-events:none}.mail-badge[data-empty]{visibility:hidden}.dmx-root{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;--dmx-cycle: 1.5s;--dmx-opacity-base: .16;--dmx-opacity-mid: .32;--dmx-opacity-peak: 1;--dmx-halo-level: 0}.dmx-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}.dmx-dot{border-radius:999px;clip-path:none;display:block;background:var(--dmx-dot-fill, currentColor);opacity:calc(.5 * (var(--dmx-opacity-base) + var(--dmx-opacity-mid)));--dmx-bloom-level: 0;transform-origin:center;transform:none;will-change:opacity}.dmx-root.dmx-dot-shape-circle .dmx-dot{border-radius:999px;clip-path:none;-webkit-mask:none;mask:none}.dmx-root.dmx-dot-shape-square .dmx-dot{border-radius:0;clip-path:none;-webkit-mask:none;mask:none}.dmx-root.dmx-dot-shape-diamond .dmx-dot{border-radius:0;clip-path:none;-webkit-mask:none;mask:none;transform:rotate(45deg) scale(.7071067812)}.dmx-root.dmx-dot-shape-hearts .dmx-dot{position:relative;border-radius:0;clip-path:none;transform:none;background:none;-webkit-mask:none;mask:none}.dmx-root.dmx-dot-shape-hearts .dmx-dot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--dmx-dot-fill, currentColor);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='m8.593.827c-1.008.012-1.953.464-2.593,1.227-.641-.762-1.586-1.214-2.598-1.227C1.519.839-.007,2.378,0,4.257,0,8.362,4.201,10.875,5.488,11.547h0c.16.084.336.125.511.125s.352-.042.511-.125c1.287-.672,5.489-3.184,5.489-7.289.007-1.88-1.519-3.42-3.407-3.431Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='black' d='m8.593.827c-1.008.012-1.953.464-2.593,1.227-.641-.762-1.586-1.214-2.598-1.227C1.519.839-.007,2.378,0,4.257,0,8.362,4.201,10.875,5.488,11.547h0c.16.084.336.125.511.125s.352-.042.511-.125c1.287-.672,5.489-3.184,5.489-7.289.007-1.88-1.519-3.42-3.407-3.431Z'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dmx-bloom .dmx-dot{filter:drop-shadow(0 0 calc(var(--dmx-dot-size, 3px) * .75 * max(var(--dmx-bloom-level, 0),var(--dmx-halo-level, 0))) currentColor) drop-shadow(0 0 calc(var(--dmx-dot-size, 3px) * 1.35 * max(var(--dmx-bloom-level, 0),var(--dmx-halo-level, 0))) currentColor);will-change:opacity,filter}.dmx-root.dmx-bloom-halo.dmx-bloom .dmx-dot{filter:drop-shadow(0 0 calc(var(--dmx-dot-size, 3px) * .92 * max(var(--dmx-bloom-level, 0),var(--dmx-halo-level, 0))) currentColor) drop-shadow(0 0 calc(var(--dmx-dot-size, 3px) * 1.62 * max(var(--dmx-bloom-level, 0),var(--dmx-halo-level, 0))) currentColor) drop-shadow(0 0 calc(var(--dmx-dot-size, 3px) * 2.55 * max(var(--dmx-bloom-level, 0),var(--dmx-halo-level, 0))) currentColor);will-change:opacity,filter}.dmx-muted .dmx-dot{opacity:calc(.44 * var(--dmx-opacity-mid));--dmx-bloom-level: 0}.dmx-dot.dmx-inactive{opacity:0!important;--dmx-bloom-level: 0;animation:none!important;visibility:hidden;pointer-events:none;will-change:auto;filter:none}.dmx-ripple{animation:dmx-ripple calc(var(--dmx-cycle) * var(--dmx-speed, 1)) cubic-bezier(.42,0,.58,1) infinite;animation-delay:calc(var(--dmx-ripple-ring, 0) * .2333 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-ripple-echo{animation:dmx-ripple-echo calc(var(--dmx-cycle) * var(--dmx-speed, 1)) ease-in-out infinite;animation-delay:calc((var(--dmx-ripple-ring, 0) * .14 + var(--dmx-ripple-parity, 0) * .03) * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-center-origin-ripple{animation:dmx-center-origin-ripple calc(var(--dmx-cycle) * var(--dmx-speed, 1)) ease-in-out infinite;animation-delay:calc(var(--dmx-center-ripple-ring, 0) * .16 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-collapse{animation:dmx-collapse calc(var(--dmx-cycle) * .2 * var(--dmx-speed, 1)) ease-in forwards;animation-delay:calc((4 - var(--dmx-manhattan, 0)) * .032 * var(--dmx-cycle) * var(--dmx-speed, 1))}.dmx-hover-ripple{animation:dmx-hover-ripple calc(var(--dmx-cycle) * var(--dmx-speed, 1)) ease-in-out infinite;animation-delay:calc(var(--dmx-distance, 0) * .127 * var(--dmx-cycle) * var(--dmx-speed, 1))}.dmx-path{animation:dmx-ripple calc(var(--dmx-cycle) * var(--dmx-speed, 1)) cubic-bezier(.42,0,.58,1) infinite;animation-delay:calc(var(--dmx-path, 0) * .2333 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-diagonal-alt-sweep{animation:dmx-diagonal-alt-sweep calc(var(--dmx-cycle) * var(--dmx-speed, 1)) linear infinite;animation-delay:calc((var(--dmx-path, 0) * .2 + var(--dmx-diagonal-parity, 0) * .5) * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-spiral-snake{animation:dmx-spiral-snake calc(var(--dmx-cycle) * var(--dmx-speed, 1)) linear infinite;animation-delay:calc(var(--dmx-spiral-order, 0) * .04 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-diagonal-snake{animation:dmx-diagonal-snake calc(var(--dmx-cycle) * var(--dmx-speed, 1)) linear infinite;animation-delay:calc(var(--dmx-diagonal-snake-order, 0) * .04 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-outer-snake{animation:dmx-ring-snake calc(var(--dmx-cycle) * var(--dmx-speed, 1)) linear infinite;animation-delay:calc(var(--dmx-outer-order, 0) * .0625 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}.dmx-middle-snake{animation:dmx-ring-snake calc(var(--dmx-cycle) * var(--dmx-speed, 1)) linear infinite;animation-delay:calc(var(--dmx-middle-order, 0) * .125 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}@keyframes dmx-ripple{0%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}50%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}}@keyframes dmx-ripple-echo{0%,to{opacity:calc(.625 * var(--dmx-opacity-base));--dmx-bloom-level: 0}28%{opacity:calc(.98 * var(--dmx-opacity-peak));--dmx-bloom-level: .9}56%{opacity:var(--dmx-opacity-mid);--dmx-bloom-level: 0}78%{opacity:calc(.68 * var(--dmx-opacity-peak) + .32 * var(--dmx-opacity-mid));--dmx-bloom-level: 0}}@keyframes dmx-center-origin-ripple{0%,to{opacity:calc(.625 * var(--dmx-opacity-base));--dmx-bloom-level: 0}34%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}60%{opacity:calc(.5 * (var(--dmx-opacity-base) + var(--dmx-opacity-mid)));--dmx-bloom-level: 0}}@keyframes dmx-collapse{0%{opacity:calc(.95 * var(--dmx-opacity-peak) + .05 * var(--dmx-opacity-mid));--dmx-bloom-level: .75}to{opacity:calc(.375 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}@keyframes dmx-hover-ripple{0%{opacity:calc(.5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}45%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-diagonal-alt-sweep{0%,to{opacity:calc(.5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}14%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}30%{opacity:calc(.75 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}@keyframes dmx-spiral-snake{0%,to{opacity:calc(.5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}8%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}16%{opacity:calc(.5 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid) + .1 * var(--dmx-opacity-base));--dmx-bloom-level: 0}24%{opacity:calc(.25 * var(--dmx-opacity-peak) + .45 * var(--dmx-opacity-mid) + .3 * var(--dmx-opacity-base));--dmx-bloom-level: 0}32%{opacity:calc(.5 * var(--dmx-opacity-mid) + .5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}40%{opacity:calc(.75 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}@keyframes dmx-diagonal-snake{0%,to{opacity:calc(.5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}8%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}16%{opacity:calc(.5 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid) + .1 * var(--dmx-opacity-base));--dmx-bloom-level: 0}24%{opacity:calc(.25 * var(--dmx-opacity-peak) + .45 * var(--dmx-opacity-mid) + .3 * var(--dmx-opacity-base));--dmx-bloom-level: 0}32%{opacity:calc(.5 * var(--dmx-opacity-mid) + .5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}40%{opacity:calc(.75 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}@keyframes dmx-ring-snake{0%,to{opacity:calc(.5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}10%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}20%{opacity:calc(.45 * var(--dmx-opacity-peak) + .45 * var(--dmx-opacity-mid) + .1 * var(--dmx-opacity-base));--dmx-bloom-level: 0}30%{opacity:calc(.2 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid) + .4 * var(--dmx-opacity-base));--dmx-bloom-level: 0}40%{opacity:calc(.875 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}.dmx-square9-bit{animation-duration:calc(5.2s * var(--dmx-speed, 1));animation-timing-function:steps(52,end);animation-iteration-count:infinite;will-change:opacity}.dmx-square9-d1{animation-name:dmx-square9-d1}.dmx-square9-d2{animation-name:dmx-square9-d2}.dmx-square9-d3{animation-name:dmx-square9-d3}.dmx-square9-d4{animation-name:dmx-square9-d4}.dmx-square9-d5{animation-name:dmx-square9-d5}.dmx-square9-d6{animation-name:dmx-square9-d6}@keyframes dmx-square9-d1{0%,3.846154%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}3.846154%,30.769231%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}30.769231%,46.153846%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}46.153846%,50%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}50%,53.846154%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}53.846154%,57.692308%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}57.692308%,65.384615%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}65.384615%,71.153846%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}71.153846%,80.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}80.769231%,84.615385%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}84.615385%,88.461538%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}88.461538%,92.307692%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}92.307692%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-square9-d2{0%,5.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}5.769231%,25%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}25%,30.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}30.769231%,36.538462%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}36.538462%,50%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}50%,53.846154%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}53.846154%,57.692308%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}57.692308%,61.538462%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}61.538462%,65.384615%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}65.384615%,76.923077%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}76.923077%,80.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}80.769231%,84.615385%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}84.615385%,88.461538%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}88.461538%,92.307692%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}92.307692%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-square9-d3{0%,7.692308%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}7.692308%,25%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}25%,36.538462%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}36.538462%,42.307692%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}42.307692%,46.153846%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}46.153846%,50%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}50%,53.846154%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}53.846154%,57.692308%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}57.692308%,71.153846%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}71.153846%,76.923077%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}76.923077%,80.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}80.769231%,84.615385%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}84.615385%,88.461538%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}88.461538%,92.307692%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}92.307692%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-square9-d4{0%,13.461538%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}13.461538%,30.769231%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}30.769231%,50%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}50%,53.846154%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}53.846154%,57.692308%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}57.692308%,61.538462%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}61.538462%,65.384615%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}65.384615%,71.153846%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}71.153846%,84.615385%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}84.615385%,88.461538%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}88.461538%,92.307692%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}92.307692%,96.153846%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}96.153846%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-square9-d5{0%,15.384615%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}15.384615%,25%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}25%,30.769231%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}30.769231%,36.538462%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}36.538462%,46.153846%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}46.153846%,50%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}50%,53.846154%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}53.846154%,57.692308%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}57.692308%,65.384615%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}65.384615%,76.923077%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}76.923077%,84.615385%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}84.615385%,88.461538%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}88.461538%,92.307692%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}92.307692%,96.153846%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}96.153846%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}@keyframes dmx-square9-d6{0%,17.307692%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}17.307692%,25%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}25%,36.538462%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}36.538462%,42.307692%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}42.307692%,50%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}50%,53.846154%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}53.846154%,57.692308%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}57.692308%,61.538462%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}61.538462%,71.153846%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}71.153846%,76.923077%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}76.923077%,84.615385%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}84.615385%,88.461538%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}88.461538%,92.307692%{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}92.307692%,96.153846%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}96.153846%,to{opacity:var(--dmx-opacity-base);--dmx-bloom-level: 0}}.dmx-square6-col-snake{animation:dmx-square6-col-snake calc(var(--dmx-cycle) * var(--dmx-speed, 1)) steps(5,end) infinite;animation-delay:calc(var(--dmx-col-pos, 0) * .2 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}@keyframes dmx-square6-col-snake{0%,20%{opacity:calc(.6 * var(--dmx-opacity-peak) + .25 * var(--dmx-opacity-mid) + .15 * var(--dmx-opacity-base));--dmx-bloom-level: 0}20%,40%{opacity:calc(.3 * var(--dmx-opacity-peak) + .5 * var(--dmx-opacity-mid) + .2 * var(--dmx-opacity-base));--dmx-bloom-level: 0}40%,60%{opacity:calc(.6 * var(--dmx-opacity-mid) + .4 * var(--dmx-opacity-base));--dmx-bloom-level: 0}60%,80%{opacity:calc(.2 * var(--dmx-opacity-mid) + .8 * var(--dmx-opacity-base));--dmx-bloom-level: 0}80%,to{opacity:calc(.625 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}.dmx-circular2-ring{animation:dmx-circular2-ring calc(var(--dmx-cycle) * var(--dmx-speed, 1)) steps(12,end) infinite;animation-delay:calc(var(--dmx-ring-order, 0) * .0833333333 * var(--dmx-cycle) * var(--dmx-speed, 1));will-change:opacity}@keyframes dmx-circular2-ring{0%,8.333333%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}8.333333%,16.666667%{opacity:calc(.6 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid));--dmx-bloom-level: 0}16.666667%,25%{opacity:calc(.5 * var(--dmx-opacity-mid) + .5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}25%,33.333333%{opacity:calc(.3 * var(--dmx-opacity-mid) + .7 * var(--dmx-opacity-base));--dmx-bloom-level: 0}33.333333%,41.666667%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}41.666667%,50%{opacity:calc(.6 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid));--dmx-bloom-level: 0}50%,58.333333%{opacity:calc(.5 * var(--dmx-opacity-mid) + .5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}58.333333%,66.666667%{opacity:calc(.3 * var(--dmx-opacity-mid) + .7 * var(--dmx-opacity-base));--dmx-bloom-level: 0}66.666667%,75%{opacity:var(--dmx-opacity-peak);--dmx-bloom-level: 1}75%,83.333333%{opacity:calc(.6 * var(--dmx-opacity-peak) + .4 * var(--dmx-opacity-mid));--dmx-bloom-level: 0}83.333333%,91.666667%{opacity:calc(.5 * var(--dmx-opacity-mid) + .5 * var(--dmx-opacity-base));--dmx-bloom-level: 0}91.666667%,to{opacity:calc(.3 * var(--dmx-opacity-mid) + .7 * var(--dmx-opacity-base));--dmx-bloom-level: 0}}@media(prefers-reduced-motion:reduce){.dmx-dot,.dmx-ripple,.dmx-ripple-echo,.dmx-center-origin-ripple,.dmx-collapse,.dmx-hover-ripple,.dmx-path,.dmx-diagonal-alt-sweep,.dmx-spiral-snake,.dmx-diagonal-snake,.dmx-outer-snake,.dmx-middle-snake,.dmx-square9-bit,.dmx-square6-col-snake,.dmx-circular2-ring{animation:none!important;transition:none!important}}.share-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#2a252052}.share-sheet{width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow:auto;margin-bottom:max(18px,env(safe-area-inset-bottom));padding:18px 16px 16px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:#fffaf0f5;box-shadow:var(--tp-shadow);animation:share-sheet-in .32s var(--tp-ease)}@keyframes share-sheet-in{0%{opacity:0;transform:translateY(24px)}}@media(prefers-reduced-motion:reduce){.share-sheet{animation:share-sheet-fade .2s ease-out}@keyframes share-sheet-fade{0%{opacity:0}}}.share-sheet h3{margin:0 0 4px;font-size:18px;line-height:1.3}.share-sheet .share-hint{margin:0 0 12px;color:var(--tp-ink-soft);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:13px}.share-lines{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}.share-line{padding:9px 12px;border-radius:var(--tp-radius);background:var(--tp-paper-lifted);box-shadow:inset 0 0 0 1px #2a252024;color:var(--tp-ink);font-size:15px;line-height:1.6;text-align:left}.share-line[aria-pressed=true]{background:var(--tp-ink);color:var(--tp-paper);box-shadow:none}.share-line:disabled{color:#2a252061;cursor:default}.share-preview{display:block;width:100%;height:auto;margin:0 0 14px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);box-shadow:0 6px #2a252014}.share-preview[hidden]{display:none}.share-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.share-actions .share-back{border-color:transparent;box-shadow:none;color:#2a25207a}.share-soft-note{margin:10px 0 0;color:#2a25207a;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:12px}.share-making{margin:6px 0 14px;color:var(--tp-ink-soft);font-size:14px}.quote-share-entry{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin-top:10px;padding:0 10px;border:2px solid rgba(42,37,32,.32);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);color:var(--tp-ink);font-size:13px;font-weight:700}.haul-share-entry{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);color:var(--tp-ink);font-size:13px;font-weight:700;box-shadow:0 3px #2a25202e}.share-preview{transform:rotate(-.6deg)}.share-sent{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:var(--tp-moss, #8aa06f);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:13px;font-weight:700}.share-sheet .primary-button:active,.share-sheet .secondary-button:active,.share-line:not(:disabled):active,.quote-share-entry:active,.haul-share-entry:active{transform:scale(.95)}.share-sheet .primary-button,.share-sheet .secondary-button,.share-line,.quote-share-entry,.haul-share-entry{transition:transform .15s var(--tp-ease, cubic-bezier(.16, 1, .3, 1))}@media(hover:hover){.quote-share-entry:hover,.haul-share-entry:hover{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.share-preview{transform:none}.share-sheet .primary-button:active,.share-sheet .secondary-button:active,.share-line:not(:disabled):active,.quote-share-entry:active,.haul-share-entry:active{transform:none}.quote-share-entry:hover,.haul-share-entry:hover{transform:none}}.unbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;overflow:auto;background:#faf6ecf7}.unbox-scene{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(440px,100%);perspective:800px}.unbox-head{text-align:center}.unbox-head h2{margin:0;font-size:24px;line-height:1.15}.unbox-sub{margin:4px 0 0;color:var(--tp-ink-soft, #5a5248);font-size:13px}.unbox-case{position:relative;display:grid;place-items:center;width:168px;height:116px;padding:0;border:0;background:transparent;cursor:pointer;transform-style:preserve-3d}.unbox-case:disabled{cursor:default}.unbox-case:focus-visible{outline:2px solid var(--tp-coral, #e66a4e);outline-offset:3px}.unbox-case:not(:disabled):active{transform:scale(.95)}.unbox-glow{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;background:radial-gradient(circle at 50% 38%,var(--tp-ochre, #d9a441),transparent 62%);opacity:0;pointer-events:none}.unbox-lid{position:absolute;inset:0 0 auto;height:44%;border:2px solid var(--tp-ink, #2a2520);border-radius:10px 10px 2px 2px;background:var(--tp-clay, #c4997a);box-shadow:0 2px #2a25202e;transform-origin:top center}.unbox-base{position:absolute;top:40%;right:6px;bottom:0;left:6px;display:grid;place-items:center;border:2px solid var(--tp-ink, #2a2520);border-radius:4px 4px 10px 10px;background:var(--tp-paper-warm, #f2ead8);box-shadow:0 3px #2a25202e;color:var(--tp-ink, #2a2520)}.unbox-hint{position:absolute;bottom:-26px;left:50%;color:#2a25207a;font-size:13px;font-weight:700;white-space:nowrap;transform:translate(-50%)}.unbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;width:100%;margin:8px 0 0;padding:0;list-style:none}.unbox-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.unbox-art{position:relative;display:grid;place-items:center;width:64px;height:64px;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);box-shadow:0 2px #2a25202e;color:var(--tp-ink, #2a2520);opacity:0}.unbox-caption{max-width:100%;overflow:hidden;color:var(--tp-ink-soft, #5a5248);font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0}.is-settled .unbox-art{box-shadow:0 6px #2a252014;opacity:1}.is-settled .unbox-caption{opacity:1}.unbox-rare-seal{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:26px;height:26px;border:2px dashed var(--tp-ochre, #d9a441);border-radius:4px;background:var(--tp-ochre-wash, #f7efdc);color:var(--tp-ochre, #d9a441);opacity:0;transform:rotate(-7deg)}.unbox-confetti{position:absolute;top:8px;left:50%;width:7px;height:10px;border-radius:2px;pointer-events:none}.unbox-summary{width:100%;padding:16px 18px;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius-lg, 12px);background:#fffaf0f0;box-shadow:0 12px 34px #2a25201f,0 2px 6px #2a25200f}.unbox-summary h3{margin:0;font-size:18px;line-height:1.3}.unbox-summary p{margin:6px 0 12px;color:var(--tp-ink-soft, #5a5248);font-size:13px}.unbox-actions{display:flex;gap:10px}.is-static .unbox-scene{animation:unbox-static-fade .2s ease-out}.is-static .unbox-case{display:none}.is-static .unbox-art,.is-static .unbox-caption{opacity:1}@keyframes unbox-static-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.unbox-case:not(:disabled):active{transform:none}}.paw-loader{display:flex;flex-direction:column;align-items:center;gap:10px}.paw-track{position:relative;display:flex;gap:10px}.paw-step{opacity:0}.paw-step-1{transform:translateY(2px) rotate(-10deg)}.paw-step-2{transform:translateY(-2px) rotate(8deg)}.paw-step-3{transform:translateY(1px) rotate(-8deg)}.paw-step-4{transform:translateY(-3px) rotate(10deg)}.paw-loader-copy{margin:0;color:#2a25208f;font-size:14px}.paw-track.is-static .paw-step{display:none}.paw-track.is-static .paw-step-1{display:block;opacity:1}.mid-wait-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:360px}.mid-wait-pet{display:block}.mid-wait-copy{margin:0;color:var(--tp-ink-soft, #5a5248);font-size:14px}.mid-wait-bar{display:block;width:100%;height:2px;background:#2a25201f}.mid-wait-fill{display:block;width:100%;height:2px;background:var(--tp-ink, #2a2520);transform:scaleX(0);transform-origin:left}@media(prefers-reduced-motion:reduce){.paw-track .paw-step{display:none}.paw-track .paw-step-1{display:block;opacity:1}}.letter-spread.is-sealed{display:grid;grid-template-columns:1fr;place-items:center;min-height:320px}.envelope-scene{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 24px;perspective:800px}.envelope-card{position:relative;width:min(340px,78vw);aspect-ratio:8 / 5;padding:0;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);box-shadow:0 6px #2a252014;cursor:pointer;transform-style:preserve-3d}.envelope-card:focus-visible{outline:2px solid var(--tp-coral, #e66a4e);outline-offset:3px}.envelope-card:active{transform:scale(.98)}.envelope-paper{position:absolute;inset:8% 7% auto;z-index:0;height:84%;border-radius:4px 4px 0 0;background:repeating-linear-gradient(transparent,transparent 14px,rgba(42,37,32,.055) 15px),var(--tp-paper-warm, #f2ead8);box-shadow:inset 0 0 0 1px #2a252024}.envelope-flap{position:absolute;inset:0 0 auto;z-index:2;height:52%;border-bottom:2px solid var(--tp-ink, #2a2520);background:var(--tp-paper-warm, #f2ead8);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center}.envelope-front{position:absolute;inset:auto 0 0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;height:56%;padding:0 16px 14px;border-radius:0 0 var(--tp-radius, 8px) var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);text-align:left}.envelope-to{color:var(--tp-ink, #2a2520);font-family:LXGW WenKai Screen,"Noto Serif SC",Songti SC,serif;font-size:17px;font-style:normal}.envelope-from{color:var(--tp-ink-soft, #5a5248);font-size:12px;font-style:normal}.envelope-seal{position:absolute;top:36%;left:50%;z-index:3;display:block;width:56px;height:56px;margin-left:-28px;opacity:0}.envelope-seal-svg{width:100%;height:100%;transform:rotate(-6deg)}.envelope-hint{margin:0;color:#2a25207a;font-size:13px}@media(prefers-reduced-motion:reduce){.envelope-card:active{transform:none}}.notify-primer{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--tp-hairline);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif}.notify-primer p{margin:0;color:var(--tp-ink-soft);font-size:14px;line-height:1.5}.notify-primer button{min-height:32px;padding:5px 16px;border-radius:var(--tp-radius);background:var(--tp-paper-lifted);color:var(--tp-ink);font-size:13px;font-weight:700;box-shadow:var(--tp-hairline-shadow);transition:transform var(--duration-micro) var(--ease-out-expo)}.notify-primer button:active:not(:disabled){transform:scale(.95)}.notify-primer button:disabled{color:#2a252061;cursor:default}.notify-primer-done{color:var(--tp-moss);font-size:14px}@media(prefers-reduced-motion:reduce){.notify-primer button{transition:none}.notify-primer button:active:not(:disabled){transform:none}}.reaction-row{margin-top:4px;padding-top:10px;border-top:1px solid var(--tp-hairline, #ded3c1)}.reaction-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.reaction-button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:2px solid rgba(42,37,32,.32);border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);color:var(--tp-ink, #2a2520);font-size:13px;font-weight:700}.reaction-button:disabled{border-color:#2a252029;color:#2a252061;cursor:default}.reaction-sticker{min-width:32px;padding:0 6px}.reaction-note{display:flex;align-items:center;gap:8px}.reaction-note input{flex:1;min-width:0;min-height:34px;padding:0 10px;border:none;border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);box-shadow:inset 0 0 0 1px #2a252024;color:var(--tp-ink, #2a2520);font-size:14px}.reaction-note input:focus-visible{outline:2px solid var(--tp-coral, #e66a4e);outline-offset:3px}.reaction-note button{min-height:32px;padding:0 12px;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius, 8px);background:var(--tp-paper-lifted, #fffaf0);color:var(--tp-ink, #2a2520);font-size:13px;font-weight:700}.reaction-note button:disabled{border-color:#2a252029;color:#2a252061;cursor:default}.reaction-note .reaction-cancel{border-color:transparent;color:#2a25207a}.reaction-done{display:flex;align-items:center;gap:6px;margin:4px 0 0;color:var(--tp-ink-soft, #5a5248);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:12px}.reaction-soft-note{margin:8px 0 0;color:#2a25207a;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:12px}.album-tabs{display:flex;gap:8px;margin-bottom:18px}.album-tab{min-height:34px;padding:0 14px;border:2px solid rgba(42,37,32,.24);border-radius:999px;background:#fffaf0db;color:#2a2520b3;font-size:13px;font-weight:700;box-shadow:0 2px #2a25201a;cursor:pointer;transition:transform .15s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}.album-tab:active{transform:scale(.95)}.album-tab.is-active{border-color:var(--tp-ink, #2a2520);background:var(--tp-ink, #2a2520);color:var(--tp-paper, #faf6ec)}.album-tab:focus-visible{outline:2px solid var(--tp-coral, #e66a4e);outline-offset:3px}.collection-book{display:flex;flex-direction:column;gap:22px;padding-bottom:12px}.collection-loading-copy{margin:0;color:#2a25207a;font-size:14px}.collection-totals{margin:0;color:var(--tp-ink-soft, #5a5248);font-size:13px;font-weight:700}.collection-totals strong{color:var(--tp-ink, #2a2520)}.collection-region{display:flex;flex-direction:column;gap:14px}.collection-region-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid #ded3c1}.collection-region-head h2{margin:0;font-size:24px;line-height:1.15}.region-count{color:var(--tp-ink-soft, #5a5248);font-size:13px;font-weight:700}.stamp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:14px}.stamp-slot{position:relative;display:grid;place-items:center;min-height:96px;padding:10px;border:0;border-radius:var(--tp-radius, 8px);background:transparent;box-shadow:inset 0 0 0 1px #2a252024;cursor:pointer;transition:transform .15s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}@media(hover:hover){.stamp-slot:hover{transform:translateY(-3px)}}.stamp-slot:active{transform:scale(.95)}.stamp-lit-wash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--tp-radius, 8px);background:var(--tp-ochre-wash, #f7efdc);opacity:0;pointer-events:none}.is-pending-lit .stamp-seal{opacity:0}.region-progress{display:block;width:100%;height:2px;margin-top:-6px;background:#2a25201a}.region-progress-fill{display:block;width:100%;height:2px;background:var(--tp-moss, #8aa06f);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}.stamp-slot:focus-visible{outline:2px solid var(--tp-coral, #e66a4e);outline-offset:3px}.stamp-seal{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:100%;padding:8px 10px;border:2px dashed rgba(42,37,32,.24);border-radius:4px;color:#2a252061;text-align:center;transform:rotate(-7deg)}.stamp-seal strong{font-size:13px;font-weight:800;letter-spacing:.04em;line-height:1.3}.stamp-seal small{display:block;max-width:9em;overflow:hidden;font-size:11px;font-weight:400;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.is-stamped .stamp-seal{border-color:currentColor;color:inherit}.stamp-revisit{position:absolute;right:8px;bottom:6px;color:var(--tp-ink-soft, #5a5248);font-size:12px;font-style:normal}.collection-skeleton{display:block;min-height:96px;border-radius:var(--tp-radius, 8px);background:#f2ecdd;box-shadow:inset 0 0 0 1px #2a252024}.collection-fallback{align-items:flex-start;gap:12px}.collection-fallback p{margin:0;color:var(--tp-ink-soft, #5a5248);font-size:14px}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;align-items:end;justify-items:center;padding:20px;background:#2a252057}.place-drawer{display:flex;flex-direction:column;gap:14px;width:min(520px,100%);max-height:82vh;padding:20px;overflow:auto;border:2px solid var(--tp-ink, #2a2520);border-radius:var(--tp-radius-lg, 12px);background:#fffaf0f0;box-shadow:0 12px 34px #2a25201f,0 2px 6px #2a25200f;animation:drawer-in .24s cubic-bezier(.16,1,.3,1)}@keyframes drawer-in{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.place-drawer{animation:drawer-fade .2s ease-out}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.stamp-slot:hover,.stamp-slot:active{transform:none}.region-progress-fill{transition:none}.album-tab:active{transform:none}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-head h2{margin:0;font-size:24px;line-height:1.15}.drawer-motif{margin:4px 0 0;color:var(--tp-ink-soft, #5a5248);font-size:13px}.drawer-stamp{flex:none}.drawer-stamp.is-empty{color:#2a252061}.drawer-counts{display:flex;gap:8px;margin:0}.drawer-counts>div{flex:1;padding:8px 10px;border-radius:var(--tp-radius, 8px);background:var(--tp-paper-warm, #f2ead8);box-shadow:inset 0 0 0 1px #2a252024}.drawer-counts dt{color:var(--tp-ink-soft, #5a5248);font-size:12px}.drawer-counts dd{margin:2px 0 0;font-size:14px;font-weight:700}.drawer-keepsakes{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.drawer-keepsakes li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:#fffaf0e6;box-shadow:inset 0 0 0 1px #2a252024;color:#2a252061;font-size:13px}.drawer-keepsakes li.is-got{color:var(--tp-ink, #2a2520);font-weight:700}.rare-tag{flex:none;padding:1px 8px;border:1px solid rgba(42,37,32,.24);border-radius:999px;color:var(--tp-ink-soft, #5a5248);font-size:11px;font-style:normal;font-weight:800;letter-spacing:.04em}.drawer-note{margin:0;color:#2a25207a;font-size:13px}.drawer-close{align-self:flex-end}.build-dock{padding:18px 12px 10px;background:linear-gradient(0deg,rgba(250,246,236,.98) 68%,transparent)}.build-dock-row{display:flex;align-items:center;gap:6px;padding-bottom:8px;overflow-x:auto;scrollbar-width:none}.build-chip{flex:none;min-height:30px;padding:0 12px;border:0;border-radius:999px;background:#fffaf0e6;box-shadow:var(--tp-hairline-shadow);color:#2a2520b8;font-size:13px;font-weight:700;cursor:pointer}.build-chip[data-selected]{background:var(--tp-ink);box-shadow:none;color:var(--tp-paper)}.build-tab{position:relative;display:inline-flex;flex:none;align-items:center;gap:4px;min-height:30px;padding:0 8px 4px;border:0;background:none;color:#2a25207a;font-size:12px;font-weight:700;cursor:pointer}.build-tab[data-selected]{color:var(--tp-ink)}.build-tab[data-selected]:after{content:"";position:absolute;bottom:0;left:50%;width:18px;height:3px;border-radius:2px;background:var(--tp-ink);transform:translate(-50%)}.build-item-strip{display:flex;gap:8px;margin:0;padding:6px 2px 8px;list-style:none;overflow-x:auto;scrollbar-width:none}.build-item-card{position:relative;display:grid;flex:none;justify-items:center;gap:3px;width:84px;padding:12px 6px 8px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e;color:var(--tp-ink);cursor:pointer;transition:transform .15s var(--tp-ease)}.build-item-card:active:not(:disabled){transform:scale(.95)}.build-item-card[data-selected]{background:var(--tp-ink);color:var(--tp-paper)}.build-item-card:disabled{border-color:#2a252029;box-shadow:none;color:#2a252061;cursor:default}.build-item-name{font-size:12px;font-weight:700;line-height:1.3}.build-item-meta{display:flex;align-items:center;gap:5px}.build-item-zones{display:inline-flex;gap:2px;opacity:.72}.build-item-count{font-size:11px;font-style:normal;font-weight:700}.build-stamp{display:inline-flex;flex:none;align-items:center;padding:1px 4px;border:2px dashed currentColor;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1.3;transform:rotate(-7deg)}.build-item-card .build-stamp{position:absolute;top:-7px;right:-5px;background:inherit;opacity:.85}.build-dock-empty{display:flex;align-items:center;gap:10px;padding:10px 8px 12px;color:var(--tp-ink-soft);font-size:13px}.base-picker-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;background:#2a252047;cursor:pointer}.base-picker-sheet{position:fixed;right:0;bottom:0;left:0;z-index:41;max-width:430px;max-height:72vh;margin:0 auto;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border:2px solid var(--tp-ink);border-bottom:0;border-radius:var(--tp-radius-lg) var(--tp-radius-lg) 0 0;background:#fffaf0f5;box-shadow:var(--tp-shadow);overflow-y:auto;animation:build-sheet-in .32s var(--tp-ease)}@keyframes build-sheet-in{0%{opacity:0;transform:translateY(24px)}}.base-picker-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}.base-picker-head h2{margin:0;font-family:var(--font-serif);font-size:18px;font-weight:700}.base-card-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.base-card{display:grid;gap:5px;width:100%;padding:10px 12px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e;color:var(--tp-ink);text-align:left;cursor:pointer}.base-card[data-state=selected]{border-color:transparent;box-shadow:var(--tp-hairline-shadow);cursor:default}.base-card:disabled{cursor:default}.base-card[data-state=locked],.base-card[data-state=coming-soon]{border-color:#2a252029;background:var(--tp-paper-warm);box-shadow:none;color:#2a25207a}.base-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.base-card-head h3{margin:0;font-family:var(--font-serif);font-size:16px;font-weight:700}.base-card-tag{flex:none;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.04em}.base-card-tag[data-kind=selected]{background:var(--tp-ink);color:var(--tp-paper)}.base-card-tag[data-kind=muted]{box-shadow:var(--tp-hairline-shadow)}.base-card-zones{display:flex;gap:4px;color:currentColor;opacity:.72}.base-card-hint{margin:0;font-size:12px;line-height:1.45}.base-confirm{margin-top:10px;padding:10px 12px;border-radius:var(--tp-radius);background:var(--tp-paper-warm);box-shadow:var(--tp-hairline-shadow)}.base-confirm p{margin:0 0 10px;font-size:13px;line-height:1.5}.base-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.placement-inspector{width:198px;padding:12px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:#fffaf0f0;box-shadow:var(--tp-shadow);color:var(--tp-ink);animation:panel-in .24s var(--tp-ease)}.pi-head{display:flex;align-items:center;gap:6px;padding-bottom:4px}.pi-head h3{flex:1;margin:0;font-family:var(--font-serif);font-size:15px;font-weight:700}.pi-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--tp-radius);background:none;color:var(--tp-ink-soft);cursor:pointer}.pi-meta{margin:0 0 8px;color:var(--tp-ink-soft);font-size:12px}.pi-actions{display:flex;gap:6px;padding-bottom:10px}.pi-action{display:grid;flex:1;justify-items:center;gap:2px;min-width:40px;min-height:40px;padding:6px 2px 4px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e;color:var(--tp-ink);font-size:11px;font-weight:700;cursor:pointer;transition:transform .15s var(--tp-ease)}.pi-action:active{transform:scale(.95);box-shadow:0 1px #2a25202e}.pi-zones{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pi-zones-label{color:var(--tp-ink-soft);font-size:11px;font-weight:700}.pi-zone-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 5px;border-radius:999px;background:#fffaf0e6;box-shadow:var(--tp-hairline-shadow);font-size:11px;font-weight:700}.pi-zone-chip[data-current]{background:var(--tp-ink);box-shadow:none;color:var(--tp-paper)}.pi-hint{margin:8px 0 0;color:var(--tp-ink-soft);font-size:11px;line-height:1.45}@media(prefers-reduced-motion:reduce){.base-picker-sheet,.placement-inspector{animation:build-fade-in .2s ease-out}.build-item-card,.pi-action{transition:none}@keyframes build-fade-in{0%{opacity:0}}}:root{--tp-hairline-shadow: inset 0 0 0 1px var(--tp-hairline)}.home-base-screen.city-mode{grid-template-columns:minmax(0,1fr)}.home-canvas-actions{position:absolute;top:12px;left:12px;z-index:9;display:flex;align-items:center;gap:8px}.canvas-action{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 14px;border:2px solid var(--tp-ink);border-radius:999px;background:#fffaf0f0;box-shadow:0 2px #2a25202e;color:var(--tp-ink);font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s var(--tp-ease)}.canvas-action:active{transform:scale(.95)}.canvas-action[aria-pressed=true]{background:var(--tp-ink);color:var(--tp-paper)}.storage-chip{font-weight:700}.place-hintbar{position:absolute;bottom:14px;left:50%;z-index:9;display:flex;align-items:center;gap:8px;max-width:min(92%,480px);padding:8px 8px 8px 14px;border-radius:999px;background:#fffaf0f2;box-shadow:var(--tp-hairline-shadow),0 2px 8px #2a252024;color:var(--tp-ink);font-size:13px;transform:translate(-50%);animation:hintbar-in .24s var(--tp-ease)}@keyframes hintbar-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}}.hintbar-action{flex:none;min-height:30px;padding:0 12px;border:2px solid var(--tp-ink);border-radius:999px;background:var(--tp-ink);color:var(--tp-paper);font-size:12px;font-weight:700;cursor:pointer}.hintbar-ghost{flex:none;min-height:30px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--tp-ink-soft);font-size:12px;font-weight:700;cursor:pointer}.place-hint-msg{position:absolute;bottom:64px;left:50%;z-index:9;margin:0;padding:6px 12px;border-radius:var(--tp-radius);background:var(--tp-paper-warm);box-shadow:var(--tp-hairline-shadow);color:var(--tp-ink-soft);font-size:12px;transform:translate(-50%)}.inspector-anchor{position:absolute;top:12px;right:12px;z-index:10}@media(max-width:540px){.inspector-anchor{top:auto;right:12px;bottom:14px}}@media(prefers-reduced-motion:reduce){.canvas-action{transition:none}.place-hintbar{animation:hintbar-fade .2s ease-out}@keyframes hintbar-fade{0%{opacity:0}}}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-serif:"LXGW WenKai Screen", "Noto Serif SC", "Songti SC", "STSong", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--font-weight-bold:700;--tracking-wide:.025em;--leading-snug:1.375;--radius-md:calc(var(--radius) - 2px);--radius-4xl:2rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"PingFang SC", "Noto Sans SC", system-ui, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-40{z-index:40}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mt-auto{margin-top:auto}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[3\/2\]{aspect-ratio:3/2}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing) * 1)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.h-px{height:1px}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-6{rotate:-6deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[1rem_1fr\]{grid-template-columns:1rem 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--tp-coral\)\]{border-color:var(--tp-coral)}.border-\[var\(--tp-ink\)\]{border-color:var(--tp-ink)}.border-\[var\(--tp-ink\,\#2a2520\)\]{border-color:var(--tp-ink,#2a2520)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[rgba\(42\,37\,32\,0\.12\)\]{background-color:#2a25201f}.bg-\[rgba\(255\,250\,240\,0\.94\)\]{background-color:#fffaf0f0}.bg-\[var\(--tp-ink\,\#2a2520\)\]{background-color:var(--tp-ink,#2a2520)}.bg-\[var\(--tp-moss\,\#8aa06f\)\]{background-color:var(--tp-moss,#8aa06f)}.bg-\[var\(--tp-paper-lifted\)\]{background-color:var(--tp-paper-lifted)}.bg-\[var\(--tp-paper-skeleton\,\#f2ecdd\)\]{background-color:var(--tp-paper-skeleton,#f2ecdd)}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-4{padding:calc(var(--spacing) * 4)}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\[18px\]{padding-inline:18px}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.font-sans{font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--tp-ink\,\#2a2520\)\]{color:var(--tp-ink,#2a2520)}.text-\[var\(--tp-ink-soft\,\#5a5248\)\]{color:var(--tp-ink-soft,#5a5248)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[box-shadow\:0_3px_0_rgba\(42\,37\,32\,0\.18\)\]{box-shadow:0 3px #2a25202e}.\[box-shadow\:var\(--tp-hairline-shadow\)\]{box-shadow:var(--tp-hairline-shadow)}.\[box-shadow\:var\(--tp-shadow\)\]{box-shadow:var(--tp-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--card-spacing\:--spacing\(4\)\]{--card-spacing:calc(var(--spacing) * 4)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media(hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-\[var\(--tp-coral-pressed\)\]:hover{background-color:var(--tp-coral-pressed)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:bg-\[var\(--tp-coral-active\)\]:active{background-color:var(--tp-coral-active)}.active\:\[box-shadow\:0_1px_0_rgba\(42\,37\,32\,0\.18\)\]:active{box-shadow:0 1px #2a25202e}.active\:not-aria-\[haspopup\]\:scale-95:active:not([aria-haspopup]){--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-\[rgba\(42\,37\,32\,0\.16\)\]:disabled{border-color:#2a252029}.disabled\:bg-\[var\(--tp-paper-lifted\)\]:disabled{background-color:var(--tp-paper-lifted)}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.disabled\:text-\[rgba\(42\,37\,32\,0\.38\)\]:disabled{color:#2a252061}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:\[box-shadow\:none\]:disabled{box-shadow:none}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=left\]\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=right\]\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=top\]\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media(min-width:40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y: 10% }.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x: -10% }.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x: 10% }.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y: -10% }.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y: 10% }.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x: -10% }.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x: 10% }.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y: -10% }.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media(hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#faf6ec;--foreground:#2a2520;--card:#fffaf0;--card-foreground:#2a2520;--popover:#fffaf0;--popover-foreground:#2a2520;--primary:#e66a4e;--primary-foreground:#fffaf0;--secondary:#5d7063;--secondary-foreground:#fffaf0;--muted:#f2ead8;--muted-foreground:#5a5248;--accent:#f2ead8;--accent-foreground:#2a2520;--destructive:#b3402a;--destructive-foreground:#fffaf0;--border:#ded3c1;--input:#ded3c1;--ring:#e66a4e;--radius:.5rem;--tp-coral:#e66a4e;--tp-coral-pressed:#d05538;--tp-coral-active:#b54429;--tp-pine:#5d7063;--tp-pine-deep:#3f4f44;--tp-moss:#8aa06f;--tp-moss-wash:#eef0e4;--tp-ochre:#d9a441;--tp-ochre-wash:#f7efdc;--tp-hairline-shadow:inset 0 0 0 1px #2a252024;--tp-paper-skeleton:#f2ecdd;--duration-micro:.15s;--duration-normal:.3s;--duration-enter:.4s;--duration-ceremony:.8s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{--tp-ink: #2a2520;--tp-ink-soft: #5a5248;--tp-paper: #faf6ec;--tp-paper-lifted: #fffaf0;--tp-paper-warm: #f2ead8;--tp-hairline: #ded3c1;--tp-pine: #5d7063;--tp-moss: #8aa06f;--tp-clay: #c4997a;--tp-coral: #e66a4e;--tp-ochre: #d9a441;--tp-sky: #cfe0e6;--tp-water: #a7c7d6;--tp-radius: 8px;--tp-radius-lg: 12px;--tp-shadow: 0 12px 34px rgba(42, 37, 32, .12), 0 2px 6px rgba(42, 37, 32, .06);--tp-ease: cubic-bezier(.16, 1, .3, 1);font-family:LXGW WenKai Screen,"Noto Serif SC",Songti SC,STSong,serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--tp-ink);background:var(--tp-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{border:0;color:inherit;cursor:pointer;font:inherit}button:focus-visible{outline:2px solid var(--tp-coral);outline-offset:3px}.app-shell{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 65% 12%,rgba(217,164,65,.16),transparent 28%),linear-gradient(180deg,var(--tp-paper),#f8f1e4 100%)}.grain-surface:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:"";opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.grain-surface>*{position:relative;z-index:1}.game-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.top-hud{position:absolute;top:0;right:0;left:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 14px 28px;background:linear-gradient(180deg,#faf6ecf5,#faf6ec00)}.brand-lockup,.child-badge,.resource-pill,.mail-button,.soft-chip,.secondary-button,.icon-button{border:2px solid var(--tp-ink);background:var(--tp-paper-lifted);box-shadow:0 2px #2a25202e}.brand-lockup{display:flex;align-items:center;justify-self:start;gap:8px;font-size:20px;font-weight:700}.brand-lockup em{color:#2a25206b;font-size:.78em;font-style:normal;font-weight:400}.brand-mark{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--tp-ink);transform:rotate(-6deg)}.child-badge{display:flex;align-items:center;justify-self:center;min-width:154px;min-height:48px;gap:8px;padding:4px 14px 4px 5px;border-radius:999px}.child-avatar{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border:2px solid var(--tp-ink);border-radius:50%;background:var(--tp-paper-warm)}.child-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.child-text span{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:700}.child-text i{width:7px;height:7px;border-radius:50%;background:var(--tp-moss)}.child-text small,.hand-copy{color:#2a25209e;font-family:Long Cang,LXGW WenKai Screen,cursive;font-size:18px}.hud-actions{display:flex;align-items:center;justify-self:end;gap:8px}.resource-pill,.mail-button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:40px;gap:6px;padding:0 12px;border-radius:999px;font-weight:700}.mail-button{width:40px;padding:0;border-radius:var(--tp-radius)}.mail-button i{position:absolute;top:-7px;right:-7px;display:grid;min-width:18px;height:18px;place-items:center;padding:0 5px;border:2px solid var(--tp-paper);border-radius:999px;color:var(--tp-paper);background:var(--tp-coral);font-size:11px}.bottom-nav{position:absolute;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);height:76px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#faf6ecfa 68%,#faf6ec00)}.nav-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--tp-radius);color:var(--tp-ink-soft);background:transparent;font-size:12px}.nav-button.active{color:var(--tp-ink)}.nav-button.active:after{position:absolute;bottom:2px;width:18px;height:3px;border-radius:4px;background:var(--tp-coral);content:""}.earth-screen{position:absolute;top:0;right:0;bottom:0;left:0}.earth-title{position:absolute;top:76px;left:clamp(18px,5vw,58px);z-index:5;pointer-events:none;transition:transform var(--duration-normal) var(--ease-out-expo),opacity var(--duration-normal) var(--ease-out-expo)}.journey-live .earth-title{opacity:.34;transform:translateY(12px)}.earth-title h1,.page-heading h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05}.earth-title p,.page-heading p{margin:0 0 4px}.world-globe{position:absolute;top:0;right:0;bottom:0;left:0}.world-globe canvas{display:block}.earth-controls{position:absolute;right:16px;bottom:104px;z-index:8;display:flex;flex-direction:column;gap:8px}.earth-controls button,.icon-button{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--tp-radius)}.detail-chip,.soft-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;background:#fffaf0e6;color:#2a2520b8;font-size:12px;font-weight:700}.save-warning{position:absolute;bottom:90px;left:50%;z-index:50;max-width:calc(100% - 32px);margin:0;padding:6px 14px;text-align:center;transform:translate(-50%)}.earth-hint{position:absolute;bottom:90px;left:50%;z-index:5;margin:0;color:#2a252061;font-family:Long Cang,LXGW WenKai Screen,cursive;font-size:18px;pointer-events:none;transform:translate(-50%)}.city-shortcuts{position:absolute;bottom:92px;left:clamp(18px,5vw,58px);z-index:8;display:flex;max-width:min(520px,calc(100vw - 150px));gap:8px;overflow-x:auto;padding:4px}.city-shortcuts button{flex:none;min-height:34px;padding:0 12px;border:2px solid rgba(42,37,32,.24);border-radius:999px;background:#fffaf0db;color:#2a2520b3;font-size:13px;font-weight:700;box-shadow:0 2px #2a25201a}.city-shortcuts button.active{color:var(--tp-paper);background:var(--tp-pine);border-color:var(--tp-ink)}.location-panel,.city-panel{position:absolute;top:118px;right:18px;z-index:25;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 210px);overflow:auto;padding:16px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:#fffaf0f0;box-shadow:var(--tp-shadow);animation:panel-in .24s var(--tp-ease)}.city-panel{width:min(520px,calc(100vw - 28px))}@keyframes panel-in{0%{opacity:0;transform:translate(20px) scale(.98)}}.close-panel{position:absolute;top:10px;right:10px;z-index:4}.location-head{display:flex;align-items:center;gap:12px;padding-right:40px}.city-panel-head{display:flex;align-items:center;gap:12px;padding-right:44px}.location-head h2,.city-panel h2,.spread-letter h2{margin:0;font-size:24px}.location-head p,.city-panel p,.spread-letter>p{margin:2px 0 0;color:#2a25209e;font-size:14px}.location-pin{display:grid;width:42px;height:42px;place-items:center;flex:none;border:2px solid var(--tp-ink);border-radius:12px;box-shadow:0 2px #2a25202e;transform:rotate(-6deg)}.location-pin.locked{background:var(--tp-paper-warm);border-style:dashed}.location-pin.city-pin{color:var(--tp-paper);background:var(--tp-pine);font-size:13px;font-weight:800;letter-spacing:0}.city-map-card{margin-top:14px}.city-map-frame{position:relative;height:min(360px,42vh);min-height:260px;overflow:hidden;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:linear-gradient(180deg,#faf6ec29,#faf6ec52),var(--tp-sky);box-shadow:0 6px #2a252014}.city-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.city-map-canvas.maplibregl-map{position:absolute}.city-map-canvas .maplibregl-canvas{outline:0}.city-map-canvas .maplibregl-ctrl-bottom-left,.city-map-canvas .maplibregl-ctrl-bottom-right{font-family:system-ui,sans-serif;font-size:10px}.city-map-fallback,.city-map-loading{display:grid;min-height:220px;place-items:center;padding:18px;border:2px dashed rgba(42,37,32,.22);border-radius:var(--tp-radius);color:#2a252094;background:var(--tp-paper-warm);text-align:center}.city-map-fallback{position:absolute;top:14px;right:14px;bottom:14px;left:14px;z-index:2;min-height:auto}.city-map-fallback strong{display:block;color:var(--tp-ink)}.stage-fallback{z-index:5;align-content:center;gap:10px}.city-map-fallback span{font-size:12px}.city-map-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;color:#2a25208f;font-size:12px}.trailpaw-map-marker{display:grid;width:38px;height:44px;place-items:center;border:2px solid var(--tp-ink);border-radius:16px 16px 16px 4px;color:var(--tp-paper);background:var(--tp-coral);box-shadow:0 4px #2a25202e;transform:rotate(-9deg)}.trailpaw-map-marker span{display:grid;width:25px;height:25px;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:13px;font-weight:800}.home-entry,.locked-memory,.memory-stack{display:flex;flex-direction:column;gap:14px;margin-top:16px}.home-entry-preview{position:relative;display:grid;min-height:132px;place-items:center;overflow:hidden;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:linear-gradient(180deg,var(--tp-sky),var(--tp-paper-warm))}.home-entry-preview span{position:absolute;bottom:24px;width:62%;height:16px;border-radius:50%;background:#2a25201a}.home-entry-preview p{position:absolute;bottom:8px;margin:0;color:#2a25208f;font-size:13px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;padding:0 18px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius);font-weight:700;box-shadow:0 3px #2a25202e}.primary-button.coral{color:var(--tp-paper);background:var(--tp-coral);border-color:var(--tp-coral)}.primary-button.amber{background:var(--tp-ochre)}.primary-button.ghost,.secondary-button{background:var(--tp-paper-lifted)}.postcard-sketch,.album-entry{border:2px solid var(--tp-ink);border-radius:var(--tp-radius);background:var(--tp-paper-lifted);box-shadow:0 6px #2a252014}.postcard-scene,.album-art{position:relative;height:154px;overflow:hidden;border-bottom:2px solid var(--tp-ink);background:linear-gradient(150deg,#dbe5cf,var(--tp-water))}.postcard-scene .sun,.postcard-scene span,.album-art span{position:absolute;display:block}.sun{top:26px;right:38px;width:44px;height:44px;border:2px solid var(--tp-ink);border-radius:50%;background:var(--tp-ochre);opacity:.65}.ridge{bottom:22px;left:-10%;width:70%;height:70px;border-top:4px solid var(--tp-ink);background:#5d706347;transform:rotate(-8deg)}.ridge-b{right:-8%;left:auto;transform:rotate(10deg)}.landmark{bottom:24px;left:44%;width:44px;height:80px;border:3px solid var(--tp-ink);background:var(--tp-coral)}.scene-blue{background:linear-gradient(145deg,#b7d7df,#d8e9e5)}.scene-aurora{background:linear-gradient(145deg,#a7c7d6,#465a55)}.scene-tram{background:linear-gradient(145deg,#f1d996,#d7a441)}.postcard-sketch footer{display:flex;align-items:center;justify-content:space-between;padding:9px 12px}.stamp-mark{padding:4px 8px;border:2px dashed currentColor;border-radius:4px;font-size:11px;font-weight:800;transform:rotate(-7deg)}.meta-row,.loot-list>div,.inventory-strip>div{display:flex;flex-wrap:wrap;gap:8px}.meta-row span,.loot-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid rgba(42,37,32,.14);border-radius:999px;background:var(--tp-paper-warm);font-size:13px}.letter-card{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid rgba(42,37,32,.14);border-left:4px solid var(--tp-clay);border-radius:var(--tp-radius);background:repeating-linear-gradient(transparent,transparent 30px,rgba(42,37,32,.055) 31px),var(--tp-paper-warm);font-family:Long Cang,LXGW WenKai Screen,cursive;font-size:21px;line-height:1.35}.letter-card p,.letter-card em{margin:0;color:#2a252094}.letter-card em{align-self:flex-end;font-style:normal}.page-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:94px clamp(18px,4vw,48px) 104px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.album-entry{position:relative;padding:10px;text-align:left;transform:rotate(-.6deg);transition:transform .18s var(--tp-ease)}.album-entry:nth-child(2n){transform:rotate(.7deg)}.album-entry:hover{transform:translateY(-3px) rotate(0)}.album-pin{position:absolute;top:-8px;left:50%;width:14px;height:14px;border:2px solid var(--tp-ink);border-radius:50%;background:var(--tp-coral)}.album-copy{padding:12px 2px 2px}.album-copy h3{display:flex;align-items:baseline;justify-content:space-between;margin:0;font-size:19px}.album-copy em{color:#2a252061;font-family:Long Cang,cursive;font-style:normal}.album-copy p{min-height:44px;margin:8px 0;color:#2a2520a3;font-family:Long Cang,cursive;font-size:20px}.album-copy div{display:flex;gap:8px}.album-copy span{display:inline-flex;align-items:center;gap:5px;font-size:12px}.spread-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#2a252057}.letter-spread{position:relative;display:grid;grid-template-columns:minmax(260px,.95fr) 1.05fr;width:min(900px,96vw);max-height:90vh;overflow:hidden;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:var(--tp-paper-lifted);box-shadow:var(--tp-shadow)}.spread-postcard,.spread-letter{display:flex;flex-direction:column;gap:16px;padding:24px;overflow:auto}.spread-postcard{background:var(--tp-paper-warm)}.album-art.large{height:260px;border:2px solid var(--tp-ink)}.prep-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(320px,1fr);gap:18px;max-width:860px;padding:18px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:#fffaf0eb;box-shadow:var(--tp-shadow)}.bundle-visual{display:grid;place-items:center;gap:8px;border:2px dashed rgba(42,37,32,.22);border-radius:var(--tp-radius-lg);background:var(--tp-paper-warm);transition:transform .22s var(--tp-ease)}.bundle-visual span{color:#2a252094;font-family:Long Cang,cursive;font-size:20px}.pack-list{display:flex;flex-direction:column;gap:9px}.pack-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;min-height:62px;padding:9px 12px;border:2px solid rgba(42,37,32,.16);border-radius:var(--tp-radius);background:var(--tp-paper-warm);text-align:left}.pack-row>span,.tool-item span{display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--tp-ink);border-radius:10px;background:var(--tp-paper-lifted)}.pack-row div{display:flex;flex-direction:column}.pack-row small,.tool-item small{color:#2a25208c;font-family:Long Cang,cursive;font-size:17px}.pack-row.toggle.active{border-color:var(--tp-ink)}.pack-row em{padding:5px 11px;border-radius:999px;color:var(--tp-paper);background:var(--tp-moss);font-size:13px;font-style:normal;font-weight:700}.stepper{display:flex;align-items:center;gap:8px}.stepper button{display:grid;width:30px;height:30px;place-items:center;border:2px solid var(--tp-ink);border-radius:8px;background:var(--tp-paper-lifted)}.duration-ladder{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--tp-radius);background:var(--tp-paper-warm);box-shadow:inset 0 0 0 1px #2a252024}.duration-ladder p{margin:0;color:var(--tp-ink-soft);font-size:13px}.duration-ladder p strong{color:var(--tp-ink)}.duration-rungs{display:flex;gap:6px}.duration-rung{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;color:#2a252061;font-size:12px;font-weight:700}.duration-rung.active{background:var(--tp-paper-lifted);box-shadow:inset 0 0 0 1px #2a252024;color:var(--tp-ink)}.direction-grid{grid-column:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.direction-card{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:88px;padding:10px 6px;border:2px solid rgba(42,37,32,.16);border-radius:var(--tp-radius);background:var(--tp-paper-warm)}.direction-card.active{color:var(--tp-paper);background:var(--tp-coral);border-color:var(--tp-coral)}.direction-card span{color:inherit;opacity:.8;font-family:Long Cang,cursive;font-size:17px}.prep-card>.primary-button{grid-column:2}.inventory-strip{max-width:860px;margin-top:22px}.inventory-strip h2{margin:0 0 10px;font-size:18px}.home-base-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:62px 1fr auto;background:var(--tp-paper)}.home-topbar{z-index:8;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 14px;border-bottom:2px solid rgba(42,37,32,.12);background:#faf6ecf5}.home-topbar h1{display:flex;align-items:center;gap:7px;margin:0;font-size:18px}.home-topbar .soft-chip{justify-self:end}.home-canvas{position:relative;min-height:0;background:radial-gradient(circle at 64% 16%,rgba(217,164,65,.16),transparent 32%),var(--tp-paper)}.loader{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#2a25208f;font-size:18px}.toolbox{z-index:8;display:flex;flex-direction:column;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:2px solid var(--tp-ink);background:#faf6ecf7}.tool-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tool-tabs button{display:inline-flex;align-items:center;justify-content:center;height:38px;gap:6px;border:2px solid rgba(42,37,32,.14);border-radius:999px;background:var(--tp-paper-warm);font-weight:700}.tool-tabs button.active{color:var(--tp-paper);background:var(--tp-ink);border-color:var(--tp-ink)}.tool-items{display:flex;gap:9px;overflow-x:auto;padding-bottom:3px}.tool-item{position:relative;display:grid;width:94px;flex:none;place-items:center;gap:4px;padding:9px 6px;border:2px solid rgba(42,37,32,.14);border-radius:var(--tp-radius-lg);background:var(--tp-paper-warm)}.tool-item em{position:absolute;top:6px;right:7px;color:var(--tp-clay);font-size:12px;font-style:normal;font-weight:800}.mailbox-popover{position:absolute;top:66px;right:14px;z-index:35;display:flex;width:min(330px,calc(100vw - 28px));flex-direction:column;gap:8px;padding:12px;border:2px solid var(--tp-ink);border-radius:var(--tp-radius-lg);background:var(--tp-paper-lifted);box-shadow:var(--tp-shadow)}.mailbox-popover h2{display:flex;align-items:center;gap:7px;margin:0;font-size:17px}.mailbox-popover button{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid rgba(42,37,32,.14);border-radius:var(--tp-radius);background:var(--tp-paper-warm);text-align:left}.mailbox-popover small{color:#2a25208f}@media(max-width:760px){.top-hud{grid-template-columns:1fr auto;padding-bottom:24px}.brand-lockup em,.hide-mobile{display:none}.child-badge{grid-column:1 / -1;grid-row:2;justify-self:center}.earth-title{top:108px;left:18px}.location-panel,.city-panel{top:auto;right:10px;bottom:82px;left:10px;width:auto;max-height:56vh}.city-map-frame{height:260px;min-height:220px}.city-shortcuts{right:74px;bottom:154px;left:12px;max-width:none}.page-screen{padding-top:132px}.page-heading{align-items:flex-start;flex-direction:column}.prep-card{grid-template-columns:1fr}.duration-ladder,.direction-grid,.prep-card>.primary-button{grid-column:1}.direction-grid{grid-template-columns:repeat(2,1fr)}.letter-spread{grid-template-columns:1fr;overflow:auto}.home-topbar{grid-template-columns:auto 1fr}.home-topbar .soft-chip{display:none}}.view-transition{position:absolute;top:0;right:0;bottom:0;left:0}.primary-button:active,.secondary-button:active,.icon-button:active{transform:scale(.95)}.primary-button,.secondary-button,.icon-button{transition:transform .15s var(--tp-ease)}@media(prefers-reduced-motion:reduce){.primary-button:active,.secondary-button:active,.icon-button:active{transform:none}}
