:root{--bg: #efe9da;--bg-2: #e2d9c3;--paper: #f7f1e1;--ink: #161310;--ink-2: #2a2520;--muted: #7d756a;--muted-2: #b3a995;--line: #d6cdb6;--line-2: #bfb497;--accent: #5d2230;--accent-soft: #955062;--gold: #a48345;--font-display: "Fraunces", "Times New Roman", serif;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";overflow:hidden}#root{height:100vh;width:100vw;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,rgba(160,131,88,.025) 0%,transparent 60%),radial-gradient(circle at 80% 70%,rgba(122,42,42,.02) 0%,transparent 60%);mix-blend-mode:multiply}svg{display:block}input[type=text],textarea,select{font-family:inherit;color:inherit;background:transparent;border:0;outline:0}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em}.label-eyebrow{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.field{border:.5px solid var(--line);border-radius:4px;padding:12px 14px;background:var(--paper);font-size:14px;width:100%;transition:border-color .16s ease,background .16s ease}.field:focus{border-color:var(--ink-2);background:#fff}.field::placeholder{color:var(--muted-2)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.stack-tight>*+*{margin-top:4px}.scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.scroll::-webkit-scrollbar{width:6px}.scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.icon-btn{background:transparent;border:.5px solid var(--line);padding:6px 10px;border-radius:3px;color:var(--ink-2);font-size:11px;letter-spacing:.04em;transition:background .16s ease,border-color .16s ease}.icon-btn:hover{background:var(--paper);border-color:var(--line-2)}.icon-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.star-btn{background:transparent;border:0;padding:2px;line-height:0}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);display:grid;place-items:center;transition:opacity .7s ease}.loader.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}.loader-stack{display:flex;flex-direction:column;align-items:center;gap:28px}.loader-tagline{font-family:var(--font-display);font-style:italic;font-size:18px;font-weight:300;color:var(--muted);letter-spacing:.01em;opacity:0;animation:fadeInUp 1.4s .6s ease forwards}.loader-mark{font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);opacity:0;animation:fadeIn .8s .2s ease forwards}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#f4f1eadb;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);display:grid;place-items:center;transition:opacity .6s ease}.welcome.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:.9;transform:translateY(0)}}@keyframes pulseRing{0%{r:3;opacity:.7}to{r:14;opacity:0}}.pin-pulse{animation:pulseRing 2.4s ease-out infinite;transform-origin:center}@keyframes ctaPulse{0%,to{box-shadow:0 0 #7a2a2a59,0 8px 24px -8px #1a181440}50%{box-shadow:0 0 0 8px #7a2a2a00,0 8px 24px -8px #1a181440}}.cta-pulse{animation:ctaPulse 2.6s ease-in-out infinite}@keyframes entrySlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.entry-anim{animation:entrySlide .36s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.pin-pulse,.cta-pulse{animation:none!important}}
