.compass-theme{--c-ivory: #E8EFE4;--c-cream: #DAE4D4;--c-paper: #CCD8C4;--c-sand: #A9BCA5;--c-bronze: #5D7A52;--c-gold: #335C30;--c-gold-deep: #2A4D27;--c-gold-soft: #B6CBA5;--c-blush: #8FB585;--c-rose: #6B9B5E;--c-ink: #1E3A1C;--c-ink-soft: #2D4A29;--c-ink-muted: #5A7A54;--c-ink-faint: #7A9A74;--c-line: rgba(30, 58, 28, .1);--c-line-strong: rgba(30, 58, 28, .18);--c-shadow-sm: 0 1px 2px rgba(30, 58, 28, .04), 0 2px 6px rgba(30, 58, 28, .04);--c-shadow-md: 0 4px 12px rgba(30, 58, 28, .06), 0 8px 24px rgba(30, 58, 28, .04);--c-shadow-lg: 0 12px 32px rgba(30, 58, 28, .1), 0 24px 48px rgba(30, 58, 28, .05);--c-glow-gold: 0 0 32px rgba(51, 92, 48, .35);--c-glow-gold-strong: 0 0 48px rgba(51, 92, 48, .55), 0 0 12px rgba(51, 92, 48, .7);--c-font-serif: "Fraunces", "Cormorant Garamond", Georgia, serif;--c-font-sans: "Geist", "Inter", system-ui, -apple-system, sans-serif;--c-ease: cubic-bezier(.22, 1, .36, 1);--c-ease-soft: cubic-bezier(.4, 0, .2, 1);--c-ease-spring: cubic-bezier(.34, 1.56, .64, 1);background:var(--c-ivory);color:var(--c-ink);font-family:var(--c-font-sans)}.compass-theme .compass-serif{font-family:var(--c-font-serif);font-feature-settings:"liga","kern","ss01";letter-spacing:-.01em}.compass-theme .compass-eyebrow{font-family:var(--c-font-sans);text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;color:var(--c-ink-faint)}.compass-paper-bg{background-color:var(--c-ivory)}.compass-path{stroke:var(--c-gold);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.compass-path-dashed{stroke:var(--c-bronze);stroke-width:1.5;stroke-dasharray:4 6;fill:none;opacity:.5}.compass-node{background:linear-gradient(180deg,#ffffff 0%,var(--c-cream) 100%);border:1.5px solid var(--c-sand);box-shadow:var(--c-shadow-sm);transition:transform .28s var(--c-ease),box-shadow .28s var(--c-ease),border-color .28s var(--c-ease)}.compass-node:hover{transform:translateY(-3px);border-color:var(--c-gold);box-shadow:var(--c-shadow-md),var(--c-glow-gold)}.compass-node-active{background:linear-gradient(180deg,var(--c-gold-soft) 0%,#ffffff 100%);border-color:var(--c-gold);box-shadow:var(--c-shadow-md),var(--c-glow-gold-strong)}.compass-node-locked{opacity:.55;filter:saturate(.7)}.compass-float{animation:compass-drift 12s ease-in-out infinite;will-change:transform}.compass-float-2{animation:compass-drift 16s ease-in-out infinite -4s}.compass-float-3{animation:compass-drift 20s ease-in-out infinite -8s}@keyframes compass-drift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px,-6px) rotate(2deg)}50%{transform:translate(-4px,-10px) rotate(-1deg)}75%{transform:translate(-8px,4px) rotate(1.5deg)}}@keyframes compass-pulse{0%,to{box-shadow:var(--c-shadow-md),var(--c-glow-gold-strong)}50%{box-shadow:var(--c-shadow-md),0 0 60px #c9a35bb3,0 0 20px #c9a35be6}}.compass-node-active{animation:compass-pulse 3.2s ease-in-out infinite}.compass-rule{height:1px;background:linear-gradient(to right,transparent,var(--c-gold) 30%,var(--c-gold) 70%,transparent);opacity:.6}@media (prefers-reduced-motion: reduce){.compass-float,.compass-float-2,.compass-float-3,.compass-node-active{animation:none}}.compass-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0805;display:flex;align-items:center;justify-content:center;animation:compass-fs-clip-reveal .9s cubic-bezier(.22,1,.36,1) forwards;cursor:zoom-out}.compass-fullscreen-overlay video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;animation:compass-fs-video-scale 1.5s cubic-bezier(.22,1,.36,1) forwards;cursor:default}.compass-fullscreen-overlay .compass-fs-close,.compass-fullscreen-overlay .compass-fs-mute,.compass-fullscreen-overlay .compass-fs-caption{animation:compass-fs-fade-in .9s cubic-bezier(.22,1,.36,1) .6s forwards;opacity:0}@keyframes compass-fs-clip-reveal{0%{clip-path:inset(34% 34% 34% 34% round 14px);background-color:#0a080566}60%{clip-path:inset(8% 8% 8% 8% round 4px);background-color:#0a0805d9}to{clip-path:inset(0 0 0 0 round 0);background-color:#0a0805}}@keyframes compass-fs-video-scale{0%{transform:scale(1.32);filter:brightness(.85) blur(2px)}50%{transform:scale(1.1);filter:brightness(.95) blur(.5px)}to{transform:scale(1);filter:brightness(1) blur(0)}}@keyframes compass-fs-fade-in{to{opacity:1}}.compass-fullscreen-overlay.is-closing{animation:compass-fs-clip-close .5s cubic-bezier(.22,1,.36,1) forwards}.compass-fullscreen-overlay.is-closing video{animation:compass-fs-video-shrink .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes compass-fs-clip-close{to{clip-path:inset(34% 34% 34% 34% round 14px);background-color:#0a080566;opacity:0}}@keyframes compass-fs-video-shrink{to{transform:scale(1.1);filter:brightness(.9) blur(1px);opacity:.6}}.compass-word{color:#5a7a5433;display:inline-block;transition:color .8s cubic-bezier(.22,1,.36,1)}.compass-word.is-revealed{color:var(--c-ink)}.compass-tutorial{transform:scale(.7) translate(40px) translateY(0) rotate(0);opacity:.4;filter:blur(.4px);transform-origin:center center;position:relative;z-index:1;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .55s cubic-bezier(.22,1,.36,1),filter .5s cubic-bezier(.22,1,.36,1);will-change:transform,opacity,filter}.compass-tutorial-image{transform-origin:right center;position:relative;z-index:2;transition:transform .9s cubic-bezier(.22,1,.36,1),box-shadow .9s cubic-bezier(.22,1,.36,1);will-change:transform;box-shadow:0 0 #2a201a00}.compass-tutorial-text{transform-origin:left center;transition:transform .85s cubic-bezier(.22,1,.36,1);will-change:transform}.compass-tutorial.is-above{transform:scale(.7) translate(60px) translateY(-4px) rotate(-7deg)}.compass-tutorial.is-below{transform:scale(.7) translate(60px) translateY(4px) rotate(7deg)}.compass-tutorial.is-active{transform:scale(1) translate(-60px) translateY(0) rotate(0);opacity:1;filter:blur(0);z-index:20}.compass-tutorial.is-active .compass-tutorial-image{transform:scale(1.65) translate(-40px) translateY(-10px);z-index:30;box-shadow:0 32px 72px #2a201a38,0 14px 32px #2a201a1f,0 0 0 1px #2a201a0d}.compass-tutorial.is-active .compass-tutorial-text{transform:scale(1.06) translate(28px)}
