:root{--bg: #e8eef6;--ink: #1f2740;--muted: #56627f;--card: rgba(255, 255, 255, .88);--card-solid: #ffffff;--line: rgba(31, 39, 64, .1);--shadow: 0 14px 44px rgba(52, 62, 120, .2);--radius: var(--r-lg);--ease: cubic-bezier(.2, .8, .2, 1);--accent: #6f7cf0;--lav: #5f4fe0;--lav-soft: #e8e4ff;--mint: #12805f;--mint-soft: #d8f4e9;--pink: #c93a7b;--pink-soft: #ffe2ed;--sky: #1f67c2;--sky-soft: #dbeaff;--peach: #b95a22;--peach-soft: #ffe7d9;font-family:var(--f-text);color-scheme:light}:root[data-scene=night]{--bg: #0e1430;--ink: #eef2ff;--muted: #a8b4d6;--card: rgba(24, 30, 56, .88);--card-solid: #181e38;--line: rgba(255, 255, 255, .12);--shadow: 0 14px 44px rgba(0, 0, 0, .5);--lav: #b3a8ff;--lav-soft: rgba(143, 124, 255, .2);--mint: #6fe0b8;--mint-soft: rgba(80, 210, 160, .18);--pink: #ff93bd;--pink-soft: rgba(255, 120, 170, .2);--sky: #86bcff;--sky-soft: rgba(100, 170, 255, .2);--peach: #ffb28a;--peach-soft: rgba(255, 150, 100, .2);color-scheme:dark}.acc-lav{--a: var(--lav);--a-soft: var(--lav-soft)}.acc-mint{--a: var(--mint);--a-soft: var(--mint-soft)}.acc-pink{--a: var(--pink);--a-soft: var(--pink-soft)}.acc-sky{--a: var(--sky);--a-soft: var(--sky-soft)}.acc-peach{--a: var(--peach);--a-soft: var(--peach-soft)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5;overflow:hidden}#scene{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none}.hud{position:fixed;z-index:4;background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px}.title{top:16px;left:16px;display:flex;align-items:center;gap:9px;padding:8px 14px 8px 9px;font-family:var(--f-display);font-weight:var(--display-weight);font-size:15px;letter-spacing:-.03em}.brand-logo{flex:none;width:26px;height:26px;border-radius:var(--r-sm);animation:brand-hop 11s var(--ease) 3.5s infinite}.brand-word{display:inline-flex}.brand-word span{display:inline-block;animation:brand-ripple 11s ease-in-out calc(3.62s + var(--i) * 45ms) infinite}@keyframes brand-hop{0%,88%,to{transform:none}91%{transform:translateY(-5px) rotate(-14deg) scale(1.08)}94.5%{transform:translateY(0) rotate(8deg)}97%{transform:rotate(-3deg)}}@keyframes brand-ripple{0%,89%,95%,to{transform:none}92%{transform:translateY(-3px)}}.title,.mode{background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.title{text-shadow:0 0 8px var(--bg),0 0 2px var(--bg)}.brand-logo{filter:drop-shadow(0 2px 4px rgba(20,26,50,.25))}.mode{top:16px;right:16px;display:flex;align-items:center;gap:2px;padding:4px;transition:right .35s var(--ease)}.mode.menu-open{z-index:7}.hud-btn{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;color:inherit;background:transparent;border:0;border-radius:var(--r-md);cursor:pointer;transition:background-color .2s,transform .15s var(--ease)}.hud-btn svg{width:32px;height:32px;overflow:visible;filter:drop-shadow(0 2px 2px rgba(40,50,100,.18));transition:transform .35s var(--ease)}.hud-btn:hover{background:var(--lav-soft)}.hud-btn:hover svg{transform:translateY(-1px) scale(1.08)}.hud-btn:active{transform:translateY(2px)}.hud-btn:focus-visible{outline:none;box-shadow:var(--focus)}.hud-sep{width:1px;height:22px;margin:0 3px;background:var(--line-strong);opacity:.6}.mode-now[aria-expanded=true]{background:var(--lav-soft)}.mode-now:after{content:"";position:absolute;right:3px;bottom:4px;width:5px;height:5px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);rotate:45deg;transition:rotate .3s var(--ease),translate .3s var(--ease)}.mode-now[aria-expanded=true]:after{rotate:-135deg;translate:0 3px}.mode-menu{position:absolute;top:calc(100% + 8px);left:3px;display:grid;gap:2px;padding:4px;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);transform-origin:top center;transform:translateY(-6px) scaleY(.85);opacity:0;visibility:hidden;transition:transform .38s var(--ease),opacity .25s ease,visibility 0s linear .38s}.menu-open .mode-menu{transform:none;opacity:1;visibility:visible;transition:transform .38s var(--ease),opacity .25s ease,visibility 0s}.mode-item{opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .4s var(--ease),background-color .2s}.menu-open .mode-item{opacity:1;transform:none;transition-delay:calc(var(--i) * 45ms)}.mode-item[aria-checked=true]{background:var(--lav-soft)}.mode-item[aria-checked=true]:before{content:"";position:absolute;left:-1px;top:50%;width:3px;height:16px;margin-top:-8px;border-radius:2px;background:var(--lav)}.hud-btn:hover .rays{animation:spin 9s linear infinite;transform-origin:24px 24px}.hud-btn:hover .sinking{animation:sink 1.8s var(--ease) infinite alternate}.spark{transform-box:fill-box;transform-origin:center;animation:twinkle 2.6s ease-in-out infinite}.spark.s2{animation-delay:1.1s}.hud-btn:hover .cycle{animation:spin 1.2s var(--ease);transform-origin:24px 24px}@keyframes sink{to{transform:translateY(3px)}}@keyframes twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.6}}.sound .waves path{opacity:0;transition:opacity .3s}.sound .hush{transition:opacity .3s}.sound.on .hush{opacity:0}.sound.on .waves path{animation:wave 1.6s ease-in-out infinite}.sound.on .waves .w2{animation-delay:.18s}.sound.on .waves .w3{animation-delay:.36s}@keyframes wave{0%,to{opacity:.25}40%{opacity:1}}.tip{position:fixed;left:0;top:0;z-index:9;white-space:nowrap;padding:6px 10px;pointer-events:none;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2);transform:translate(var(--x),var(--y)) translateY(-4px);opacity:0;transition:opacity .2s ease,transform .3s var(--ease)}.tip[data-side=left]{transform:translate(var(--x),var(--y)) translate(6px)}.tip.on{opacity:1;transform:translate(var(--x),var(--y))}.tip.measuring{transition:none}.tip b{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:-.02em;font-size:13.5px;color:var(--ink)}.tip:before{content:"";position:absolute;width:9px;height:9px;background:inherit;border:1px solid var(--line);rotate:45deg}.tip[data-side=below]:before{top:-5.5px;left:calc(var(--arrow, 20px) - 5px);border-right:0;border-bottom:0}.tip[data-side=left]:before{right:-5.5px;top:calc(50% - 5px);border-left:0;border-bottom:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#loading{position:fixed;inset:0;z-index:9;overflow:hidden;color:var(--map-ink)}#loading.done{visibility:hidden;pointer-events:none}#loading-inner{position:absolute;inset:0}.plan-bg{position:absolute;inset:0;background:var(--bg)}.plan-plane{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.plan-plane svg{display:block;overflow:visible}.plan-caption{position:absolute;left:0;right:0;bottom:5vh;margin:0;display:flex;justify-content:center;gap:12px;align-items:baseline;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:opacity .4s}.plan-caption.gone{opacity:0}.plan-caption b{font-variant-numeric:tabular-nums;color:var(--map-ink);min-width:3.4ch;text-align:right}:root{--map-ink: #1f2740;--map-lawn: #dbe9e1;--map-grid: rgba(31, 39, 64, .07);--map-slab: #fbfcfe;--map-crown: #b9dfc0;--map-crown-in: #a3d3ac;--map-stone: #f3efe8}:root[data-scene=night]{--map-ink: #dfe5ff;--map-lawn: #16273a;--map-grid: rgba(223, 229, 255, .07);--map-slab: #1b2342;--map-crown: #264a43;--map-crown-in: #1e3d38;--map-stone: #2a3350}.plan svg,.plan-plane svg{fill:none;stroke:none}.m-ground,.pop,.solid{transform-box:fill-box;transform-origin:center}.lawn{fill:var(--map-lawn)}.grid path{stroke:var(--map-grid);stroke-width:.05}.m-stones rect{fill:var(--map-stone)}.crown{fill:var(--map-crown)}.crown-in{fill:var(--map-crown-in)}.slab{fill:var(--map-slab)}.zone{stroke:none}.zone-meeting{fill:#e6dffb;fill-opacity:.85}.zone-pantry{fill:#d6ece2;fill-opacity:.85}:root[data-scene=night] .zone-meeting{fill:#3a3568}:root[data-scene=night] .zone-pantry{fill:#1e4a49}.m-walls path{stroke:var(--map-ink);stroke-width:.3;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1;stroke-dashoffset:1}.m-walls .door{stroke-width:.08}.stake{stroke:var(--map-ink);stroke-width:.06;stroke-dasharray:.25 .18;opacity:0;fill:none}.solid{stroke:var(--map-ink);stroke-width:.06;stroke-opacity:.55;opacity:0}.solid.rug{stroke-opacity:.18;fill-opacity:.8}.m-labels{opacity:0}.m-labels text,.m-title text,.m-compass text{fill:var(--map-ink);stroke:none;font:600 .6px Sora Variable,system-ui,sans-serif;letter-spacing:.2px;text-anchor:middle;opacity:.62}.m-title text{text-anchor:start;font-size:.8px;opacity:.8}.m-title .sub{font-size:.55px;opacity:.5}.m-compass circle{stroke:var(--map-ink);stroke-width:.07;opacity:.6}.m-compass path{fill:var(--map-ink);opacity:.7}.m-compass text{font-size:.7px;text-anchor:middle}#labels{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.tagpos{position:absolute;left:0;top:0;will-change:transform;transition:opacity .2s}.tagpos.gone{opacity:0;pointer-events:none}.tag{--enter: calc(3.2s + var(--i) * .09s);position:absolute;left:0;bottom:11px;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:inherit;font-family:var(--f-display);font-size:12.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink);background:var(--card-solid);border:1px solid var(--line);border-radius:var(--r-btn);padding:7px 13px 7px 10px;cursor:pointer;pointer-events:auto;box-shadow:0 6px 20px #2832642e;opacity:0;transition:background .2s,color .2s,box-shadow .2s,border-color .2s}.tag:after{content:"";position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:inherit;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translate(-50%) rotate(45deg);border-radius:0 0 2px}.tag-icon{display:inline-flex;font-size:19px;color:var(--a);transition:color .2s}.tag-hint{max-width:0;opacity:0;overflow:hidden;color:var(--muted);font-weight:500;transition:max-width .35s var(--ease),opacity .25s,margin .35s;margin-left:-4px}.tagpos.hot .tag,.tag:focus-visible{box-shadow:0 10px 28px #2832644d;border-color:var(--a);animation-play-state:running,paused}.tagpos.hot .tag-hint,.tag:focus-visible .tag-hint{max-width:110px;opacity:1;margin-left:2px}.tagpos.open .tag{background:var(--a);color:#fff;border-color:var(--a)}.tagpos.open .tag-icon,.tagpos.open .tag-hint{color:#fff}.tagpos.open .tag:after{background:var(--a)}body.has-panel .tagpos:not(.open) .tag{opacity:.55}body.has-panel .tagpos:not(.open) .tag:hover,body.has-panel .tagpos:not(.open) .tag:focus-visible{opacity:1}body.tour-ready .tag{opacity:1;animation:pop .55s var(--ease) var(--enter) both,bob 3.2s ease-in-out calc(var(--enter) + .6s) infinite}@keyframes pop{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.6)}70%{opacity:1;transform:translate(-50%) translateY(-2px) scale(1.05)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}.panel{position:fixed;z-index:5;top:76px;right:16px;max-height:calc(100vh - 92px);width:min(420px,34vw);min-width:340px;display:flex;flex-direction:column;overflow:visible;background:var(--card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);opacity:0;transform:translate(32px) scale(.98);transform-origin:right center;transition:opacity .3s ease,transform .4s var(--ease)}.panel[hidden]{display:none}.panel.open{opacity:1;transform:none}.panel-head{display:flex;gap:14px;align-items:flex-start;padding:22px 18px 18px 22px;background:linear-gradient(180deg,var(--a-soft),transparent);border-radius:var(--radius) var(--radius) 0 0}.panel-icon{display:inline-flex;font-size:30px;color:var(--a);margin-top:2px;animation:wiggle .7s var(--ease) .25s both}.panel-titles{flex:1;min-width:0}.eyebrow{margin:0 0 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a)}.panel h2{margin:0;font-family:var(--f-display);font-size:calc(22px * var(--ds));line-height:1.2;font-weight:var(--display-weight);letter-spacing:var(--display-track);outline:none}.close{flex:none;display:inline-flex;font-size:20px;width:36px;height:36px;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:0;border-radius:var(--r-btn);cursor:pointer}.close:hover{background:var(--line);color:var(--ink)}.panel-body{flex:1;overflow-y:auto;padding:4px 22px 24px;scrollbar-width:thin}.panel-body>*{animation:rise .45s var(--ease) both}.panel-body>*:nth-child(2){animation-delay:.05s}.panel-body>*:nth-child(3){animation-delay:.1s}.panel-body>*:nth-child(4){animation-delay:.15s}.panel-body>*:nth-child(5){animation-delay:.2s}@keyframes wiggle{0%{transform:scale(.5) rotate(-12deg);opacity:0}60%{transform:scale(1.12) rotate(6deg);opacity:1}to{transform:none}}.panel p{margin:0 0 12px;color:var(--muted)}.panel .lede{font-size:16.5px;line-height:1.45;color:var(--ink);font-weight:560}.points,.rows,.facts{list-style:none;margin:4px 0 18px;padding:0;display:grid;gap:10px}.points li{display:flex;gap:10px;color:var(--muted)}.points li svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--a)}.points b{color:var(--ink)}.rows li{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;background:var(--a-soft);border-radius:var(--r-md)}.rows li>svg{flex:none;width:26px;height:26px;margin-top:2px;color:var(--a)}.rows b{display:block;color:var(--ink)}.rows span,.facts li{color:var(--muted);font-size:14px}.facts li span{display:inline-block;min-width:76px;font-weight:700;color:var(--a)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.note{margin-top:14px;font-size:14px}.letter-form+.note{margin-top:20px}.stack{display:grid;gap:14px;margin-top:8px}.field{display:grid;gap:6px}.field label,.chips legend{font-size:13px;font-weight:650;color:var(--ink);padding:0}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--card-solid);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 13px;resize:vertical;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 4px var(--a-soft)}.done{display:flex;gap:12px;padding:16px;background:var(--mint-soft);border-radius:var(--r-md);animation:rise .4s var(--ease) both}.done svg{flex:none;width:26px;height:26px;color:var(--mint)}.done b{display:block;color:var(--ink)}.done span{color:var(--muted);font-size:14px}@media(max-width:760px){.panel{inset:auto 8px 8px;width:auto;min-width:0;max-height:58vh;transform:translateY(40px);transform-origin:bottom center}.panel-head{padding:16px 14px 12px 18px}.panel h2{font-size:19px}.panel-body{padding:2px 18px 20px}.close{display:none}.grabber{display:flex;justify-content:center;padding:10px 0 4px;cursor:grab;touch-action:none;flex:none}.grabber span{width:40px;height:5px;border-radius:999px;background:var(--muted);opacity:.4}.panel-head{touch-action:none;padding-top:4px}.panel-art-wrap,.panel-art{width:104px;height:104px}.panel-art-wrap{margin:-58px -8px -26px -10px}.tag-hint{display:none}.tag{gap:4px;padding:3px 8px 3px 4px;bottom:10px}.tag-text{font-size:10.5px;font-weight:700;letter-spacing:.01em}.tag-icon{font-size:17px}.tag-art{width:24px;height:24px;margin:-2px 0 -2px -2px}.tag-art img{width:34px;height:34px}.tag:after{width:8px;height:8px;bottom:-4px}}.grabber{display:none}@media(max-width:760px){.grabber{display:flex}}@media(max-width:520px){.title{padding:6px 11px 6px 7px;top:10px;left:10px;font-size:14px}.mode{right:10px;top:10px;padding:3px}.hud-btn{width:38px;height:38px}.hud-btn svg{width:29px;height:29px}}@media(prefers-reduced-motion:reduce){.brand-logo,.brand-word span,.spark,.sound.on .waves path,.hud-btn:hover .rays,.hud-btn:hover .sinking,.hud-btn:hover .cycle{animation:none}.sound.on .waves path{opacity:1}body.tour-ready .tag{animation:none;--enter: 0s}.panel,.panel-body>*,.panel-icon,.done{animation:none;transition:opacity .15s;transform:none}}.tag-art{position:relative;flex:none;width:34px;height:34px;margin:-3px 0 -3px -5px;border-radius:calc(var(--r-btn) - 2px);background:var(--a-soft)}.tag-art img{position:absolute;left:50%;bottom:1px;width:48px;height:48px;transform:translate(-50%);object-fit:contain;filter:drop-shadow(0 3px 3px rgba(40,50,100,.2));transition:transform .3s var(--ease)}.tagpos.hot .tag-art img,.tag:focus-visible .tag-art img{transform:translate(-50%) scale(1.18) rotate(-4deg)}.tagpos.open .tag-art{background:#ffffff47}.tagpos[data-id^=team-] .tag-art img{width:38px;height:38px}.tagpos[data-id^=team-].hot .tag-art img,.tagpos[data-id^=team-] .tag:focus-visible .tag-art img{transform:translate(-50%) scale(1.06)}@media(max-width:760px),(max-height:500px)and (orientation:landscape){.tagpos[data-id^=team-] .tag-art img{width:27px;height:27px}}.panel-art-wrap{flex:none;display:inline-flex;width:136px;height:136px;margin:-78px -10px -34px -14px;perspective:500px}.panel-art{width:136px;height:136px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(40,50,100,.22));transform:rotateY(var(--ry, 0deg)) rotateX(var(--rx, 0deg));transition:transform .25s var(--ease);animation:float 4.2s ease-in-out .6s infinite,wiggle .7s var(--ease) .25s both}.panel-art.fallback{display:inline-flex;font-size:34px;color:var(--a);align-items:center;justify-content:center;filter:none}@keyframes float{0%,to{translate:0 0}50%{translate:0 -4px}}.rows li{align-items:center}.row-art{flex:none;width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(40,50,100,.2))}.row-art.fallback{display:inline-flex;font-size:26px;color:var(--a);align-items:center;justify-content:center;filter:none}.projects{display:grid;gap:12px;margin:6px 0 18px}.project{display:flex;gap:14px;align-items:center;padding:12px 14px 12px 8px;background:var(--a-soft);border-radius:var(--r-md);transition:transform .2s var(--ease)}.project:hover{transform:translateY(-2px)}.project-art{flex:none;width:76px;height:76px;display:grid;place-items:center}.project-img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(40,50,100,.22))}.project-img.fallback{display:inline-flex;font-size:30px;color:var(--a);align-items:center;justify-content:center;filter:none}.project-info{min-width:0;display:grid;gap:2px}.project-info b{color:var(--ink)}.project-info>span{color:var(--muted);font-size:14px}.tags{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tags li{font-size:12px;font-weight:650;color:var(--a);border:1.5px solid color-mix(in srgb,var(--a) 40%,transparent);border-radius:var(--r-xs);padding:2px 8px}@media(prefers-reduced-motion:reduce){.panel-art{animation:none}.tag-art img,.project{transition:none}}.tagpos.quiet .tag{gap:0;padding-right:6px;animation-name:pop;animation-iteration-count:1}.tagpos.quiet .tag-text{max-width:0;opacity:0;overflow:hidden;margin-left:0;transition:max-width .35s var(--ease),opacity .25s,margin .35s}.tagpos.quiet.hot .tag-text,.tagpos.quiet .tag:focus-visible .tag-text,.tagpos.quiet.open .tag-text{max-width:150px;opacity:1;margin-left:7px}.tagpos.quiet.hot .tag,.tagpos.quiet .tag:focus-visible,.tagpos.quiet.open .tag{padding-right:13px}.tagpos.quiet:not(.hot):not(.open) .tag{box-shadow:0 4px 12px #28326429}@media(max-width:760px){.tagpos.quiet.hot .tag-text,.tagpos.quiet.open .tag-text{margin-left:4px}.tagpos.quiet .tag,.tagpos.quiet.hot .tag,.tagpos.quiet.open .tag{padding-right:4px}.tagpos.quiet.open .tag{padding-right:8px}}@media(max-height:500px)and (orientation:landscape){.title{padding:5px 10px 5px 6px;top:8px;left:8px;font-size:13px}.brand-logo{width:22px;height:22px}.mode{top:8px;right:8px;padding:3px}.hud-btn{width:34px;height:34px}.hud-btn svg{width:26px;height:26px}body.has-panel .mode{opacity:0;pointer-events:none}.tag-hint{display:none}.tag{gap:4px;padding:3px 8px 3px 4px;bottom:10px}.tag-text{font-size:10.5px;font-weight:700}.tag-icon{font-size:17px}.tag-art{width:24px;height:24px;margin:-2px 0 -2px -2px}.tag-art img{width:34px;height:34px}.tag:after{width:8px;height:8px;bottom:-4px}.tagpos.quiet .tag,.tagpos.quiet.hot .tag,.tagpos.quiet.open .tag{padding-right:4px}.tagpos.quiet.open .tag{padding-right:8px}.panel{inset:8px 8px 8px auto;width:min(320px,44vw);min-width:0;max-height:none;transform:translate(40px);transform-origin:right center}.panel.open{transform:none}.close{display:none}.grabber{display:flex;position:absolute;left:0;top:0;bottom:0;width:18px;padding:0;align-items:center;justify-content:center;z-index:1}.grabber span{width:5px;height:40px}.panel-head{touch-action:none;padding:12px 12px 8px 22px;gap:10px}.panel-art-wrap,.panel-art{width:64px;height:64px}.panel-art-wrap{margin:-30px 0 -8px -8px}.panel h2{font-size:17px}.panel-body{padding:2px 14px 14px 22px}.panel .lede{font-size:14.5px}}.panel .tm-bio{margin:-4px 0 0;font-size:14.5px}.tm-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:46px 0 14px;padding:0;list-style:none}.tm-facts li{--wash: 70px;display:grid;gap:2px;align-content:start;padding:34px 12px 12px}.tm-facts .over{top:-30px;left:8px;width:58px;height:58px}.tm-facts small{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a)}.tm-facts b{font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}.panel .tm-reply{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:13px}.tm-reply span{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px var(--mint-soft)}.letter-form.is-short .lf-body{margin-top:18px}.letter-form.is-short .sign{gap:14px}:root{--f-display: "Sora Variable", system-ui, sans-serif;--f-text: "Albert Sans Variable", system-ui, sans-serif;--display-weight: 650;--display-track: -.035em;--ds: .9;--r-xs: 3px;--r-sm: 5px;--r-btn: 6px;--r-md: 8px;--r-lg: 12px;--bg-2: #e6ecf5;--line-strong: rgba(27, 34, 56, .18);--edge: #cdd5e3;--glass: rgba(255, 255, 255, .86);--danger: #c4314b;--sh-1: 0 1px 2px rgba(40, 50, 100, .06), 0 4px 14px rgba(40, 50, 100, .07);--sh-2: 0 2px 4px rgba(40, 50, 100, .08), 0 10px 28px rgba(40, 50, 100, .16);--sh-3: 0 4px 10px rgba(40, 50, 100, .08), 0 22px 56px rgba(52, 62, 120, .22);--art-shadow: drop-shadow(0 6px 6px rgba(40, 50, 100, .2));--focus: 0 0 0 3px var(--card-solid), 0 0 0 5px var(--a, var(--lav))}:root[data-scene=night]{--bg-2: #141b3c;--line-strong: rgba(255, 255, 255, .2);--edge: #060a1c;--glass: rgba(24, 30, 56, .86);--danger: #ff8a9e;--sh-1: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .25);--sh-2: 0 2px 4px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .4);--sh-3: 0 4px 10px rgba(0, 0, 0, .3), 0 22px 56px rgba(0, 0, 0, .5);--art-shadow: drop-shadow(0 6px 8px rgba(0, 0, 0, .45))}.display{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--display-track)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}::view-transition-group(*){animation-duration:.48s;animation-timing-function:var(--ease)}::view-transition-old(*),::view-transition-new(*){animation-duration:.36s}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}.btn{--ledge: color-mix(in srgb, var(--a, var(--lav)) 62%, #0b1030);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-text);font-size:14.5px;font-weight:650;line-height:1;text-decoration:none;white-space:nowrap;height:42px;padding:0 18px;color:var(--a, var(--lav));background:transparent;border:1.5px solid transparent;border-radius:var(--r-btn);cursor:pointer;transition:transform .12s var(--ease),box-shadow .12s var(--ease),background-color .2s,border-color .2s,color .2s}.btn svg{width:18px;height:18px;transition:translate .2s var(--ease)}.btn:hover svg{translate:3px 0}.btn.sm{height:34px;padding:0 13px;font-size:13.5px}.btn.lg{height:50px;padding:0 24px;font-size:15.5px}.btn.icon{width:42px;padding:0}.btn.icon:hover svg{translate:none}.btn.primary{color:#fff;background:var(--a, var(--lav));box-shadow:0 3px 0 var(--ledge)}:root[data-scene=night] .btn.primary{color:#12172e}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 0 var(--ledge),0 8px 18px color-mix(in srgb,var(--a, var(--lav)) 28%,transparent)}.btn.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--ledge)}.btn.secondary{background:var(--a-soft, var(--lav-soft));box-shadow:0 2px color-mix(in srgb,var(--a, var(--lav)) 25%,transparent)}.btn.secondary:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn.outline,.btn.ghost{background:var(--card-solid);border-color:color-mix(in srgb,var(--a, var(--lav)) 40%,transparent);box-shadow:0 3px 0 var(--edge)}.btn.outline:hover:not(:disabled),.btn.ghost:hover:not(:disabled){background:var(--a-soft, var(--lav-soft));border-color:var(--a, var(--lav));transform:translateY(-1px);box-shadow:0 4px 0 var(--edge)}.btn.outline:active:not(:disabled),.btn.ghost:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--edge)}.btn.text{height:auto;padding:4px 2px;border-radius:var(--r-xs)}.btn.text:hover{text-decoration:underline;text-underline-offset:4px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.link{font:inherit;font-weight:650;color:var(--a, var(--lav));background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.spin{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{rotate:1turn}}.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips legend{width:100%;margin-bottom:8px;padding:0;font-size:13px;font-weight:650}.chip{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--card-solid);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);padding:7px 13px;cursor:pointer;box-shadow:0 3px 0 var(--edge);transition:transform .12s var(--ease),box-shadow .12s var(--ease),background-color .2s,border-color .2s,color .2s}.chip:hover{border-color:var(--a, var(--lav));transform:translateY(-1px);box-shadow:0 4px 0 var(--edge)}.chip:active{transform:translateY(3px);box-shadow:0 0 0 var(--edge)}.chip[aria-pressed=true]{color:#fff;background:var(--a, var(--lav));border-color:var(--a, var(--lav));transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--a, var(--lav)) 62%,#0b1030)}:root[data-scene=night] .chip[aria-pressed=true]{color:#12172e}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--bg-2);border:1px solid var(--line);border-radius:calc(var(--r-btn) + 3px)}.seg button{font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:none;border:0;padding:5px 10px;border-radius:var(--r-btn);cursor:pointer}.seg button[aria-pressed=true]{color:var(--ink);background:var(--card-solid);box-shadow:0 2px 0 var(--edge)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.tile-pick{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;padding:10px 8px 12px;text-align:center;font:inherit;color:var(--ink);background:var(--card-solid);border:1.5px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;box-shadow:0 3px 0 var(--edge);transition:transform .12s var(--ease),box-shadow .12s var(--ease),background-color .2s,border-color .2s}.tile-pick img{width:56px;height:56px;object-fit:contain;filter:var(--art-shadow);transition:transform .3s var(--ease)}.tile-pick b{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:-.02em;font-size:14px}.tile-pick small{font-size:12.5px;color:var(--muted);line-height:1.35}.tile-pick:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--edge)}.tile-pick:hover img{transform:translateY(-3px) rotate(-3deg)}.tile-pick:active{transform:translateY(3px);box-shadow:0 0 0 var(--edge)}.tile-pick[aria-pressed=true]{border-color:var(--a);background:linear-gradient(180deg,var(--a-soft),transparent 80px) var(--card-solid);transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}.tile-pick[aria-pressed=true]:after{content:"";position:absolute;top:8px;right:8px;width:16px;height:16px;border-radius:50%;background:var(--a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat}.wash{position:relative;background:linear-gradient(180deg,var(--a-soft),transparent var(--wash, 150px)) var(--wash-base, var(--card-solid));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.over{position:absolute;z-index:1;top:-34px;left:14px;width:76px;height:76px;object-fit:contain;filter:var(--art-shadow);transition:transform .35s var(--ease)}.wash:hover>.over{transform:translateY(-4px) rotate(-3deg)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:44px 0 16px}.choice{--wash: 90px;display:grid;align-content:start;gap:4px;padding:54px 14px 14px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;border:1.5px solid var(--line-strong);box-shadow:0 3px 0 var(--edge);transition:transform .12s var(--ease),box-shadow .12s var(--ease),border-color .2s}.choice .over{top:-40px;left:6px;width:92px;height:92px}.choice b{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:-.025em;font-size:16px}.choice span{font-size:13px;color:var(--muted);line-height:1.4}.choice .go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13.5px;font-weight:650;color:var(--a)}.choice .go svg{width:16px;height:16px;transition:translate .2s var(--ease)}.choice:hover{border-color:var(--a);transform:translateY(-1px);box-shadow:0 4px 0 var(--edge)}.choice:hover .go svg{translate:3px 0}.choice:active{transform:translateY(3px);box-shadow:0 0 0 var(--edge)}.letter-to{font-size:14px;color:var(--muted)}.letter-to b{color:var(--ink);font-weight:600}.lf{position:relative;display:block}.lf:before{content:attr(data-label);position:absolute;left:0;top:-15px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--a, var(--lav));opacity:0;translate:0 4px;transition:opacity .2s,translate .25s var(--ease);pointer-events:none}.lf:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)):before,.lf.missing:before{opacity:1;translate:0 0}.lf.missing:before{color:var(--danger)}.lf input,.lf textarea{display:block;width:100%;font:inherit;color:var(--ink);background:transparent;border:0;padding:4px 0;resize:none;outline:none;caret-color:var(--a, var(--lav))}.lf :is(input,textarea):focus-visible{box-shadow:none}.lf input::placeholder,.lf textarea::placeholder{color:color-mix(in srgb,var(--muted) 62%,transparent)}.lf:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--a, var(--lav));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.lf:focus-within:after{transform:scaleX(1)}.lf.missing:after{transform:scaleX(1);background:var(--danger)}.lf-subject{margin-top:16px;padding-bottom:10px;border-bottom:1px dashed var(--line-strong)}.lf-subject input{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-size:19px;line-height:1.3}.lf-body{margin-top:24px}.lf-body textarea{min-height:112px;font-size:15.5px;line-height:1.65;background-image:repeating-linear-gradient(180deg,transparent 0 calc(1.65em - 1px),var(--line) calc(1.65em - 1px) 1.65em);background-attachment:local}.lf-line{margin-top:18px}.lf-line input{font-size:15px}.sign{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-strong)}.closing{color:var(--muted);font-size:15px;margin-bottom:-4px}.lf-name,.lf-email,.lf-extra{display:inline-block;max-width:100%}.lf-name input,.lf-email input,.lf-extra input{width:auto;min-width:8ch;max-width:100%}.lf-name input{font-size:16px;font-weight:600}.lf-email input,.lf-extra input{font-size:15px;color:var(--muted)}.lf-email input:not(:placeholder-shown),.lf-extra input:not(:placeholder-shown){color:var(--ink)}.consent{margin-top:22px}.letter-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px}.letter-note:empty{display:none}.letter-note:empty+.btn{margin-left:auto}.letter-note{margin:0;font-size:13.5px;color:var(--muted)}.letter-note.warn{color:var(--danger);font-weight:600}.sent{display:grid;justify-items:center;gap:10px;padding:24px 8px 8px;text-align:center;animation:rise .45s var(--ease) both}.sent img{width:100px;height:100px;object-fit:contain;filter:var(--art-shadow);animation:float 3.6s ease-in-out infinite}.sent h3{margin:0;font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-size:22px}.sent p{margin:0;color:var(--muted);max-width:36ch}.sent p b{color:var(--ink)}.sheet{position:fixed;inset:0;z-index:8;pointer-events:none;--card: var(--card-solid)}.sheet[hidden]{display:none}.sheet-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,#141a3214,#141a3261);opacity:0;transition:opacity .4s ease;pointer-events:auto}:root[data-scene=night] .sheet-backdrop{background:linear-gradient(180deg,#0003,#0000008c)}.sheet-panel{position:absolute;left:50%;bottom:0;width:min(1120px,calc(100% - 32px));height:min(calc(100% - 96px),780px);display:flex;flex-direction:column;pointer-events:auto;background:linear-gradient(180deg,var(--a-soft),transparent 220px) var(--card-solid);border:1px solid var(--line);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--sh-3);transform:translate(-50%,104%);transition:transform .55s cubic-bezier(.2,.9,.25,1.04)}.sheet.open .sheet-backdrop{opacity:1}.sheet.open .sheet-panel{transform:translate(-50%)}.sheet-art{position:absolute;z-index:2;top:-104px;left:18px;width:210px;height:180px;object-fit:contain;filter:var(--art-shadow);pointer-events:none;animation:float 4.2s ease-in-out .6s infinite}.sheet-close{position:absolute;z-index:3;top:-54px;right:0}.sheet-grab{display:none}body.has-sheet .hud{opacity:0;pointer-events:none;transition:opacity .25s}.sheet-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border-radius:var(--r-lg) var(--r-lg) 0 0}.sheet-scroll:focus-visible{box-shadow:none}@media(max-width:760px){.sheet-panel{width:100%;height:calc(100% - 84px)}.sheet-art{top:-74px;left:10px;width:140px;height:120px}.sheet-close{display:none}.sheet-grab{display:flex;justify-content:center;padding:10px 0 2px;cursor:grab;touch-action:none;flex:none}.sheet-grab span{width:40px;height:5px;border-radius:999px;background:var(--muted);opacity:.4}}@media(prefers-reduced-motion:reduce){.sheet-panel,.sheet-backdrop{transition:opacity .2s ease}.sheet-panel{transform:translate(-50%);opacity:0}.sheet.open .sheet-panel{opacity:1}.sheet-art,.sent img{animation:none}}.sheet-body{min-height:100%;display:flex;flex-direction:column}.sheet-body>*{flex:1 0 auto;width:100%}.sheet-body .bk-shell{display:flex;justify-content:center;align-items:stretch;padding:0}.sheet-body .bk-card{flex:1}.sheet-body .bk-result{align-self:flex-start}.sheet-body .bk-card,.sheet-body .bk-card.is-form{width:100%;background:transparent;border:0;border-radius:0;box-shadow:none}.sheet-body .bk-intro,.sheet-body .qt-intro{background:none;border-radius:0}.sheet-body .bk-intro-art{display:none}.sheet-body .bk-times{max-height:none;overflow:visible}.sheet-body .bk-times-head{background:linear-gradient(var(--card-solid) 82%,transparent)}.sheet-body .qt{background:transparent}.sheet-body .bk-result{margin:84px auto 40px}@media(max-width:900px){.sheet-body .bk-intro,.sheet-body .qt-intro{padding-top:46px}}
