:root{--font-display:"Fraunces", "Iowan Old Style", serif;--font-body:"Inter", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", monospace;--cloud:#f7f2e8;--cloud-dim:#f7f2e8b8;--ink:#101815;--ink-soft:#101815ad;--frost-bg:#0d1310e0;--frost-border:#f7f2e829;--gold:#e9b768;--btn-color:var(--gold);--btn-fill:34%;--btn-glow:14px;--btn-glow-strength:52%;--ease-standard:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body,#root{width:100%;width:max(100%, var(--app-width,0px));height:100dvh;height:max(100%, 100dvh, var(--app-height,0px));overscroll-behavior:none;touch-action:none;min-height:100dvh;color:var(--cloud);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#0b1512;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}button{font-family:inherit}.btn{font-family:var(--font-body);background:color-mix(in srgb, var(--btn-color) var(--btn-fill), transparent);color:var(--btn-color);border:1px solid var(--btn-color);box-shadow:0 0 var(--btn-glow) color-mix(in srgb, var(--btn-color) var(--btn-glow-strength), transparent);cursor:pointer;transition:background .2s var(--ease-standard), box-shadow .2s var(--ease-standard), color .2s var(--ease-standard), border-color .2s var(--ease-standard), transform .2s var(--ease-standard), filter .2s var(--ease-standard);font-weight:500;text-decoration:none}.btn:hover,.btn:focus-visible{background:color-mix(in srgb, var(--btn-color) 32%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--btn-color) 72%, transparent)}.btn:focus-visible{outline:2px solid color-mix(in srgb, var(--btn-color) 80%, white);outline-offset:3px}a{color:inherit}.app-root{width:100%;width:max(100%, var(--app-width,0px));height:100dvh;height:max(100%, 100dvh, var(--app-height,0px));overscroll-behavior:none;touch-action:none;min-height:100dvh;position:fixed;inset:0;overflow:hidden}.scene-even-host{position:absolute;inset:0;overflow:hidden}.scene-canvas-layer{opacity:1;width:100%;height:100%;position:absolute;inset:0}.canvas-iframe-shell{pointer-events:none;opacity:0;background:0 0;overflow:hidden}.canvas-iframe-shell[data-ready=true]{opacity:1}.canvas-iframe-shell iframe{pointer-events:none;background:0 0;border:0;display:block}.letter-sheet{--letter-ink:#2a1709;--letter-rule:#5c3a1f;--letter-fiber:#80623a0a;box-sizing:border-box;color:var(--letter-ink);background: radial-gradient(ellipse 118% 116% at 50% 44%, transparent 56%, #7658301f 100%),  radial-gradient(circle 100px at 88% 10%, #a47e480e, transparent 70%), radial-gradient(circle 140px at 9% 86%, #a47e480b, transparent 72%), radial-gradient(circle 70px at 20% 14%, #a47e480a, transparent 68%),  repeating-linear-gradient(90deg, var(--letter-fiber) 0 1px, transparent 1px 8px), repeating-linear-gradient(0deg, #80623a07 0 1px, transparent 1px 36px),  radial-gradient(ellipse 88% 70% at 36% 22%, #fffdf5 0%, transparent 64%), linear-gradient(163deg, #fdfaf0 0%, #f7f1e0 44%, #efe6cf 100%);font-family:var(--font-display);font-optical-sizing:auto;font-synthesis:none;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;letter-spacing:.006em;text-shadow:0 0 .7px #2a170940;pointer-events:none;font-size:26px;line-height:1.48;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff6,inset 0 3px 22px #fffdf58c,inset 0 -40px 70px -40px #7e5c3029}.letter-frame{width:100%;height:100%;color:var(--letter-rule);opacity:.9;pointer-events:none;position:absolute;inset:0}.letter-body{z-index:1;box-sizing:border-box;flex-direction:column;width:100%;height:100%;padding:56px 52px 52px;display:flex;position:relative}.letter-sheet p{text-align:left;margin:0 0 .16em}.letter-drop{float:left;color:#3b1f0b;text-shadow:0 1px #fff9ea80,0 0 1px #2a17094d;margin:.03em .06em 0 0;padding:.02em .02em 0 0;font-size:3.05em;font-style:normal;font-weight:500;line-height:.78}.letter-leadin{text-transform:uppercase;letter-spacing:.07em;font-size:.92em}.letter-fleuron{width:28%;height:auto;color:var(--letter-rule);opacity:.72;flex:none;margin:auto auto .15em;display:block}.letter-sheet b{font-weight:900;font-style:bold}.letter-signoff{align-items:center;gap:12px;margin:.2em 0 0;display:flex}.letter-photo{object-fit:cover;object-position:50% 20%;width:56px;height:56px;box-shadow:0 0 0 2px #fffdf5bf, 0 0 0 3px var(--letter-rule), 0 2px 10px #2a17094d;border-radius:50%;flex:none}.letter-sheet .letter-close{text-align:left;-webkit-hyphens:none;hyphens:none;margin:0;line-height:1.3}.letter-name{letter-spacing:.015em;font-size:1.06em;font-weight:500}.hud-layer{z-index:20;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.hud-layer a,.hud-layer button{pointer-events:auto}.intro{text-align:center;opacity:0;transition:opacity .9s var(--ease-standard), visibility .9s;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:0 1.5rem;display:flex;position:absolute;inset:0;overflow:visible;transform:translateY(0)}.intro[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.intro-title{width:min(16ch,100%);max-width:100%;font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;color:var(--cloud);text-shadow:0 2px 28px #0006;margin:0;font-size:clamp(2.15rem,8.4vw,5.2rem);font-weight:700;line-height:1.08}.intro-by{font-family:var(--font-body);color:var(--gold);letter-spacing:.02em;font-size:clamp(1.05rem,3.4vw,1.45rem);font-style:italic;font-weight:400}.intro-cue{--btn-color:var(--gold);letter-spacing:.04em;border-radius:999px;flex-direction:row;align-items:center;gap:.55rem;margin-top:2.4rem;padding:.72rem 1.25rem;font-size:.7rem;animation:2.4s ease-in-out infinite cue-bob;display:inline-flex}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.loading-overlay{z-index:40;opacity:1;visibility:visible;transition:opacity .8s var(--ease-standard), visibility .8s;pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay[data-visible=false]{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{place-items:center;width:96px;height:96px;display:grid;position:relative}.loading-ring{width:100%;height:100%;position:absolute;inset:0}.loading-ring-track{stroke:#f7f2e82e}.loading-ring-fill{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .18s linear}.loading-pct{z-index:1;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:.02em;color:var(--cloud);font-variant-numeric:tabular-nums;pointer-events:none;font-size:1.12rem;font-style:italic;font-weight:300;line-height:1;position:relative}.work-hud{pointer-events:none}.work-hud[data-visible=true] .work-head{opacity:var(--pill-align,1);visibility:visible;transform:translate(-50%)}.work-hud[data-visible=true] .work-actions,.work-hud[data-visible=true] .message-btn{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.work-head{top:max(3.4rem, calc(env(safe-area-inset-top,0px) + 2.6rem));text-align:center;opacity:0;visibility:hidden;width:min(56rem,100vw - 2.2rem);transition:opacity .32s var(--ease-standard), transform .48s var(--ease-standard), visibility .32s;position:absolute;left:50%;transform:translate(-50%,-8px)}.work-hud-welcome .work-head{top:max(.42rem, calc(env(safe-area-inset-top,0px) + .32rem))}.work-head-welcome .work-name{justify-self:center;font-size:clamp(.92rem,2.5vw,1.28rem);line-height:1.1}.work-hud-welcome .tech-pills{gap:.16rem;width:min(34rem,100%);margin-top:.22rem}.work-hud-welcome .btn.tech-pill{padding:.16rem .48rem;font-size:.48rem}.message-btn{--btn-color:#fff;--btn-fill:18%;--btn-glow:12px;--btn-glow-strength:40%;left:50%;bottom:max(1.55rem, calc(env(safe-area-inset-bottom,0px) + 1.35rem));letter-spacing:.03em;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s var(--ease-standard), transform .48s var(--ease-standard), visibility .48s, background .2s var(--ease-standard), box-shadow .2s var(--ease-standard);z-index:13;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.58rem 1.2rem;font-size:.7rem;font-weight:500;display:inline-flex;position:absolute;transform:translate(-50%,8px)}.message-btn:hover,.message-btn:focus-visible{transform:translate(-50%,-1px)}.work-titlebar{grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:.75rem;width:100%;display:grid}.work-focus{text-align:left;font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--project-accent,var(--gold));text-shadow:0 1px 12px #0009;justify-self:start;margin:0;font-size:clamp(.56rem,1.5vw,.68rem);font-weight:600}.work-name{text-align:center;font-family:var(--font-display);letter-spacing:-.02em;color:var(--cloud);text-shadow:0 1px 18px #00000073;justify-self:center;margin:0;font-size:clamp(1.15rem,3.4vw,1.85rem);font-weight:600;line-height:1.15}.work-year{text-align:right;font-family:var(--font-body);letter-spacing:.18em;color:var(--project-accent,var(--gold));text-shadow:0 1px 12px #0009;justify-self:end;margin:0;font-size:clamp(.56rem,1.5vw,.68rem);font-weight:500}.work-sub{color:var(--cloud-dim);text-shadow:0 1px 14px #00000080;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:clamp(.62rem,1.35vw,.74rem);font-weight:300;line-height:1.45;display:-webkit-box;overflow:hidden}.work-sub strong{color:var(--cloud);font-weight:600}.tech-pills{pointer-events:none;width:min(40rem,100%);transition:opacity .32s var(--ease-standard);flex-wrap:wrap;justify-content:center;align-items:center;gap:.28rem;margin:.55rem auto 0;display:flex}.btn.tech-pill{--btn-fill:100%;--btn-glow:6px;--btn-glow-strength:28%;letter-spacing:.02em;cursor:default;color:var(--tech-ink,var(--cloud));background:color-mix(in srgb, var(--btn-color) var(--btn-fill), transparent);border-width:1px;border-radius:999px;padding:.28rem .7rem;font-size:.58rem;font-weight:400;line-height:1.35}.btn.tech-pill:hover,.btn.tech-pill:focus-visible{background:color-mix(in srgb, var(--btn-color) var(--btn-fill), transparent);box-shadow:0 0 var(--btn-glow) color-mix(in srgb, var(--btn-color) var(--btn-glow-strength), transparent);color:var(--tech-ink,var(--cloud))}.btn.tech-pill.tech-pill-node{--btn-color:#5fa04e;color:#f7f2e8;background:#000;border-color:#5fa04e}.btn.tech-pill.tech-pill-node:hover,.btn.tech-pill.tech-pill-node:focus-visible{box-shadow:0 0 var(--btn-glow) color-mix(in srgb, #5fa04e var(--btn-glow-strength), transparent);color:#f7f2e8;background:#000}.tech-pill-node-js{color:#5fa04e}.work-actions{left:50%;bottom:max(6.6rem, calc(env(safe-area-inset-bottom,0px) + 5.7rem));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s var(--ease-standard), transform .48s var(--ease-standard), visibility .48s;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;transform:translate(-50%,8px)}.work-visit{--btn-color:var(--project-accent,var(--gold));letter-spacing:.03em;transition:transform .2s var(--ease-standard), background .2s var(--ease-standard), box-shadow .2s var(--ease-standard);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.72rem 1.45rem;font-size:.78rem;display:inline-flex}.work-visit:hover,.work-visit:focus-visible{transform:translateY(-1px)}.accent-fill{--accent-deep:color-mix(in srgb, var(--btn-color) 62%, #000);--accent-mid:color-mix(in srgb, var(--btn-color) 90%, #000);background:linear-gradient(168deg, var(--accent-deep), var(--accent-mid) 50%, var(--accent-deep));color:#fff;text-shadow:0 0 10px #ffffff8c, 0 0 18px color-mix(in srgb, var(--btn-color) 30%, transparent), 0 1px 2px #0000004d;box-shadow:0 2px 10px color-mix(in srgb, var(--btn-color) 35%, transparent);background-size:400% 400%;border:none;animation:8s ease-in-out infinite accent-gradient-move;overflow:hidden}.btn.accent-fill:hover,.btn.accent-fill:focus-visible{color:#fff;background:linear-gradient(168deg, var(--accent-deep), var(--accent-mid) 50%, var(--accent-deep));box-shadow:0 4px 16px color-mix(in srgb, var(--btn-color) 50%, transparent);filter:brightness(1.08);background-size:400% 400%;border:none}.work-visit.accent-fill,.gallery-nav-step.accent-fill{color:#fff}.work-visit.accent-fill:hover,.work-visit.accent-fill:focus-visible,.gallery-nav-step.accent-fill:hover,.gallery-nav-step.accent-fill:focus-visible{transform:translateY(-1px)}.work-focus.accent-fill,.work-year.accent-fill{--btn-color:var(--project-accent,var(--gold));color:#fff;letter-spacing:.14em;border-radius:25px;padding:.28rem .72rem;display:inline-block}.progress-dot.accent-fill{text-shadow:none;border:none}.progress-dot.accent-fill:hover,.progress-dot.accent-fill:focus-visible{filter:brightness(1.08);transform:scale(1.18)}@keyframes accent-gradient-move{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.accent-fill{background-position:50%;animation:none}}.gallery-nav{left:50%;bottom:max(4.55rem, calc(env(safe-area-inset-bottom,0px) + 3.65rem));opacity:0;visibility:hidden;transition:opacity .48s var(--ease-standard), visibility .48s;z-index:12;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.gallery-nav[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.gallery-nav-step{letter-spacing:.03em;border-radius:999px;align-items:center;gap:.45rem;padding:.72rem 1.35rem;font-size:.82rem;display:inline-flex}.gallery-nav-step-icon{font-size:1.35rem;font-weight:500;line-height:1}.gallery-nav-step:hover,.gallery-nav-step:focus-visible{transform:translateY(-1px)}.progress-dots{opacity:1;visibility:visible;align-items:center;gap:.7rem;display:flex;position:static}.progress-dot{opacity:.5;width:14px;height:14px;transition:transform .22s var(--ease-standard), opacity .22s var(--ease-standard), background .22s var(--ease-standard), box-shadow .22s var(--ease-standard);border-radius:999px;padding:0}.progress-dot:hover{opacity:1;transform:scale(1.18)}.progress-dot[data-active=true]{--btn-fill:42%;--btn-glow:16px;--btn-glow-strength:78%;opacity:1;transform:scale(1.35)}.about-panel{opacity:0;visibility:hidden;transition:opacity .62s var(--ease-standard), visibility .62s;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.about-panel[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.about-card{background:var(--frost-bg);border:1px solid var(--frost-border);text-align:left;border-radius:18px;max-width:480px;padding:2.1rem 2.2rem}.about-kicker{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;font-size:.65rem}.about-title{font-family:var(--font-display);margin:0 0 .9rem;font-size:1.9rem;font-weight:500}.about-body{color:var(--cloud-dim);margin:0 0 1.3rem;font-size:.94rem;font-weight:300;line-height:1.65}.about-contact{--btn-color:var(--gold);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.82rem;display:inline-flex}.about-back{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cloud-dim);margin-top:1.4rem;font-size:.68rem}.footer-credit{left:50%;bottom:max(.18rem, calc(env(safe-area-inset-bottom,0px) + .08rem));max-width:calc(100vw - 1rem);font-family:var(--font-body);letter-spacing:.06em;text-align:center;text-transform:uppercase;color:var(--cloud-dim);opacity:.4;pointer-events:none;white-space:nowrap;font-size:.32rem;line-height:1.2;position:absolute;transform:translate(-50%)}.hud-layer .footer-credit{opacity:0;visibility:hidden;transition:opacity .9s var(--ease-standard), visibility .9s}.hud-layer .footer-credit[data-visible=true]{opacity:.4;visibility:visible}.fallback-page{background:linear-gradient(#101f1b 0%,#0b1512 60%);min-height:100vh;padding:3rem 1.5rem 5rem;overflow-y:auto}.fallback-header{text-align:center;margin-bottom:3rem}.fallback-logo{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;width:min(16ch,100%);margin-inline:auto;font-size:clamp(2rem,8vw,3rem);line-height:1.08}.fallback-welcome{color:var(--cloud-dim);max-width:40ch;margin:.8rem auto 0;font-weight:300}.fallback-stack{flex-direction:column;gap:1.6rem;max-width:640px;margin:0 auto;display:flex}.fallback-card{border:1px solid var(--frost-border);background:var(--frost-bg);border-radius:16px;overflow:hidden}.fallback-card-art{aspect-ratio:1.12/1.24;background:#0c1210;width:100%;overflow:hidden}.fallback-card-art img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.fallback-card-body{padding:1.2rem 1.4rem 1.4rem}.fallback-card-body .work-titlebar{margin-bottom:.15rem}.fallback-card-body .work-name,.fallback-card-body .work-sub{text-shadow:none}.fallback-tools{opacity:1;visibility:visible;pointer-events:auto;flex-direction:column;align-items:flex-start;gap:.7rem;width:auto;margin-top:.85rem;display:flex;position:static;transform:none}.fallback-tools .tech-pills,.fallback-tools .work-visit{opacity:1;visibility:visible;width:auto;position:static;bottom:auto;left:auto;transform:none}@media (width<=640px){.intro{gap:.85rem;padding:0 1.25rem}.intro-cue{margin-top:1.55rem}.work-head{top:max(3.1rem, calc(env(safe-area-inset-top,0px) + 2.3rem));width:calc(100vw - 1.6rem)}.work-hud-welcome .work-head{top:max(.38rem, calc(env(safe-area-inset-top,0px) + .28rem));width:calc(100vw - 6.4rem)}.tech-pills{width:100%;margin-top:.45rem}.work-hud-welcome .tech-pills{gap:.14rem;margin-top:.18rem}.work-actions{bottom:max(5.55rem, calc(env(safe-area-inset-bottom,0px) + 4.7rem));gap:.35rem}.gallery-nav{bottom:max(3.75rem, calc(env(safe-area-inset-bottom,0px) + 2.95rem))}.progress-dots{gap:.48rem}.progress-dot{width:11px;height:11px}.message-btn{bottom:max(1.2rem, calc(env(safe-area-inset-bottom,0px) + 1rem));padding:.48rem .95rem;font-size:.64rem}.gallery-nav-step{letter-spacing:.1em;padding:.62rem 1rem;font-size:.72rem}.gallery-nav-step-icon{font-size:1.1rem}}@media (width<=420px){.gallery-nav-step-label{display:none}.gallery-nav-step{padding:.62rem .75rem}.work-visit{padding:.62rem 1.1rem;font-size:.72rem}.work-actions{gap:.3rem}}.hud-layer[data-contact-open=true]>:not(.contact-modal){opacity:0!important;visibility:hidden!important;pointer-events:none!important}.contact-modal{z-index:40;padding:max(1.2rem, env(safe-area-inset-top)) 1.2rem max(1.2rem, env(safe-area-inset-bottom));pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.contact-card{text-align:left;background:#101815;border:1px solid #f7f2e829;border-radius:18px;width:min(26rem,100%);padding:1.7rem 1.75rem 1.5rem;box-shadow:0 24px 60px #0000008c}.contact-header{align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.contact-photo{object-fit:cover;object-position:50% 20%;width:72px;height:72px;box-shadow:0 0 0 2px #f7f2e833, 0 0 0 3px var(--gold);border-radius:50%;flex:none}.contact-header-copy{flex:auto;min-width:0}.contact-kicker{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;font-size:.62rem}.contact-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.65rem;font-weight:500}.contact-lead{color:var(--cloud-dim);margin:0;font-size:.88rem;font-weight:300;line-height:1.45}.contact-form{flex-direction:column;gap:.85rem;display:flex}.contact-field{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);flex-direction:column;gap:.35rem;font-size:.62rem;display:flex}.contact-field input,.contact-field textarea{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--cloud);resize:vertical;background:#f7f2e80f;border:1px solid #f7f2e829;border-radius:12px;outline:none;padding:.7rem .85rem;font-size:.92rem}.contact-field input:focus,.contact-field textarea:focus{border-color:color-mix(in srgb, var(--gold) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent)}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-error{color:#ffb4a8;margin:0;font-size:.82rem}.contact-success{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.contact-success p{font-family:var(--font-display);color:var(--cloud);margin:0;font-size:1.15rem}.contact-actions{justify-content:flex-end;gap:.55rem;margin-top:.35rem;display:flex}.contact-cancel{--btn-color:var(--cloud-dim);--btn-fill:12%;--btn-glow:0px;border-radius:999px;padding:.62rem 1.05rem;font-size:.78rem}.contact-submit{--btn-color:var(--gold);border-radius:999px;padding:.62rem 1.25rem;font-size:.78rem}.compass-widget{top:max(.28rem, env(safe-area-inset-top,0px));right:max(.35rem, env(safe-area-inset-right,0px));pointer-events:none;z-index:100;opacity:0;visibility:hidden;background:#0a1311a8;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility .9s;display:flex;position:absolute;bottom:auto;box-shadow:0 2px 10px #0000004d}.compass-widget[data-visible=true]{opacity:1;visibility:visible}.compass-glass{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.compass-dial{will-change:transform;border-radius:50%;width:100%;height:100%;position:absolute}.compass-tick{font-family:var(--font-body,sans-serif);color:#ffffffb3;transform-origin:50%;font-size:5.5px;font-weight:600;position:absolute;top:50%;left:50%}.compass-tick.n{color:#fffffff2;transform:translate(-50%,-50%)translateY(-14px)}.compass-tick.s{transform:translate(-50%,-50%)translateY(14px)rotate(180deg)}.compass-tick.e{transform:translate(-50%,-50%)translate(14px)rotate(90deg)}.compass-tick.w{transform:translate(-50%,-50%)translate(-14px)rotate(270deg)}.compass-arrow{filter:drop-shadow(0 0 3px #fce4c880);border-bottom:7px solid #fce4c8;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:-3px}.compass-widget .sound-toggle{--btn-color:var(--gold);--btn-fill:0%;--btn-glow:0px;--btn-glow-strength:0%;z-index:2;width:22px;height:22px;box-shadow:none;pointer-events:auto;opacity:0;visibility:hidden;cursor:pointer;transition:opacity .4s var(--ease-standard,ease), visibility .4s, color .2s ease;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:auto;padding:0;display:inline-flex;position:absolute;inset:0}.compass-widget .sound-toggle[data-visible=true]{opacity:.9;visibility:visible}.compass-widget .sound-toggle[data-visible=true]:hover,.compass-widget .sound-toggle[data-visible=true]:focus-visible{opacity:1}.compass-widget .sound-toggle[aria-pressed=false]{--btn-color:#f7f2e873}.clock-widget{top:max(.28rem, env(safe-area-inset-top,0px));left:max(.35rem, env(safe-area-inset-left,0px));box-sizing:border-box;pointer-events:none;z-index:100;opacity:0;visibility:hidden;touch-action:none;background:#0a1311a8;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility .9s;display:flex;position:absolute;bottom:auto;box-shadow:0 2px 10px #0000004d}.clock-widget[data-visible=true]{opacity:1;visibility:visible}.clock-glass{pointer-events:auto;cursor:grab;touch-action:none;border-radius:50%;width:100%;height:100%;position:relative}.clock-glass:active{cursor:grabbing}.clock-face{border-radius:50%;position:absolute;inset:0}.clock-tick{width:1.25px;height:3px;transform:rotate(calc(var(--i) * 30deg)) translateY(-13px);transform-origin:50%;background:#ffffff59;margin-top:-1.5px;margin-left:-.625px;position:absolute;top:50%;left:50%}.clock-tick:nth-child(3n+1){background:#fce4c8cc;height:4px;margin-top:-2px}.clock-hand{transform-origin:50% 100%;will-change:transform;pointer-events:none;background:#f7f2e8d9;border-radius:1px;width:1.5px;margin-left:-.75px;position:absolute;top:50%;left:50%}.clock-hand.hour{background:#fce4c8f2;width:2px;height:11px;margin-top:-11px;margin-left:-1px}.clock-hand.minute{opacity:.75;height:15px;margin-top:-15px}.clock-hub{pointer-events:none;background:#fce4c8;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #fce4c873}
