:root{--color-bg-base:#1f2421;--color-bg-surface:#262d29;--color-bg-elevated:#2e3632;--color-text-primary:#e7e4dd;--color-text-secondary:#c5c0b7;--color-text-tertiary:#a29e96;--color-text-inverse:#1f2421;--color-accent-gold:#c7a86b;--color-accent-amber:#b98a54;--color-accent-ivory-glow:#e5d9be;--color-border-soft:#e7e4dd14;--color-border-medium:#e7e4dd24;--color-state-error:#c4665a;--color-state-success:#7baf6e;--color-state-info:#6b8fc7;--color-ore-bg:#252a27;--color-ore-border:#e7e4dd0d;--color-alloy-bg:#2a2f2b;--color-alloy-border:#b98a5440;--color-alloy-glow:#b98a5414;--color-crystal-bg:#2c322e;--color-crystal-border:#c7a86b59;--color-crystal-glow:#c7a86b1f;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-title:24px;--font-size-h2:20px;--font-size-body:17px;--font-size-caption:13px;--font-size-small:11px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-body:1.68;--line-height-title:1.3;--letter-spacing-body:.1px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-card:16px;--radius-button:12px;--radius-sheet:20px;--radius-full:9999px;--shadow-card:0 8px 24px #080c0a47;--shadow-float:0 12px 32px #080c0a5c;--shadow-subtle:0 2px 8px #080c0a2e;--blur-sheet:18px;--blur-card:12px;--motion-fast:.22s;--motion-normal:.36s;--motion-slow:.52s;--motion-breath-min:14s;--motion-breath-max:22s;--easing-standard:cubic-bezier(.2,.8,.2,1);--easing-emphasis:cubic-bezier(.25,.1,.25,1);--z-base:0;--z-card:10;--z-header:100;--z-modal:500;--z-toast:600;--z-overlay:400;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--content-max-width:480px;--bottom-nav-height:64px;--header-height:56px}
@keyframes breathe{0%,to{opacity:.98}50%{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.008)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 var(--color-alloy-glow)}50%{box-shadow:0 0 20px 4px var(--color-alloy-glow)}}@keyframes crystalShimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes warmGlow{0%,to{border-color:var(--color-crystal-border)}50%{border-color:var(--color-accent-gold)}}@keyframes rippleExpand{0%{opacity:.4;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
body{font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--color-text-primary);font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.text-title{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);letter-spacing:-.2px;color:var(--color-text-primary)}.text-h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);letter-spacing:-.1px;color:var(--color-text-primary)}.text-body{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-text-primary)}.text-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:1.4}.text-small{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);line-height:1.3}.text-refined{font-weight:calc(var(--font-weight-regular)*1.03);text-shadow:0 0 .5px #e7e4dd1a}.text-accent{color:var(--color-accent-gold)}.text-muted{color:var(--color-text-tertiary)}
:root{--patina-edge-clarity:0;--patina-surface-depth:0;--patina-warmth:0;--patina-transition:2s;--curiosity-contrast:1;--curiosity-sharpness:0;--curiosity-edge-glow:0;--curiosity-transition:1.2s;--dynamic-bg-tint:#e7e4dd05;--dynamic-contrast:1;--dynamic-warmth:.01;--dynamic-gold-opacity:.6;--dynamic-transition:.9s}
:root{--dynamic-bg-tint:#e7e4dd05;--dynamic-contrast:1;--dynamic-warmth:.01;--dynamic-gold-opacity:.6;--dynamic-transition:.9s;--curiosity-contrast:1;--curiosity-sharpness:0;--curiosity-edge-glow:0;--curiosity-transition:1.2s;--patina-edge-clarity:0;--patina-surface-depth:0;--patina-warmth:0;--patina-transition:2s}[data-life-feel]:before{content:"";background:var(--dynamic-bg-tint);transition:background var(--dynamic-transition)ease;pointer-events:none;z-index:0;position:fixed;inset:0}[data-life-feel]>*{transition:filter var(--dynamic-transition)ease;filter:contrast(var(--dynamic-contrast))contrast(var(--curiosity-contrast))}.lf-curiosity-glow{transition:box-shadow var(--curiosity-transition)ease;box-shadow:0 0 calc(var(--curiosity-edge-glow)*8px)calc(var(--curiosity-edge-glow)*2px)rgba(199,168,107,calc(var(--curiosity-edge-glow)*.08))}.lf-curiosity-sharp{transition:text-shadow var(--curiosity-transition)ease;text-shadow:0 0 var(--curiosity-sharpness)#e7e4dd26}.lf-patina{transition:background-color var(--patina-transition)ease,border-color var(--patina-transition)ease;background-color:rgba(199,168,107,var(--patina-warmth));border-color:rgba(199,168,107,calc(var(--patina-edge-clarity)*.1))}.lf-patina-surface{transition:box-shadow var(--patina-transition)ease;box-shadow:inset 0 1px 3px rgba(0,0,0,var(--patina-surface-depth))}@keyframes lf-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.008)}}.lf-pulse{animation:2.5s ease-in-out 2 lf-pulse}@keyframes lf-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lf-fade-in{animation:.5s both lf-fade-in}.lf-fade-in-stagger>*{opacity:0;animation:.4s both lf-fade-in}.lf-fade-in-stagger>:first-child{animation-delay:0s}.lf-fade-in-stagger>:nth-child(2){animation-delay:80ms}.lf-fade-in-stagger>:nth-child(3){animation-delay:.16s}.lf-fade-in-stagger>:nth-child(4){animation-delay:.24s}.lf-fade-in-stagger>:nth-child(5){animation-delay:.32s}.lf-fade-in-stagger>:nth-child(6){animation-delay:.4s}.lf-fade-in-stagger>:nth-child(7){animation-delay:.48s}.lf-fade-in-stagger>:nth-child(8){animation-delay:.56s}.lf-fade-in-stagger>:nth-child(n+9){animation-delay:.64s}@keyframes lf-warm-glow{0%,to{border-color:#0000}50%{border-color:#c7a86b33}}.lf-warm-glow{border:1px solid #0000;animation:4s ease-in-out infinite lf-warm-glow}@media (prefers-reduced-motion:reduce){.lf-pulse,.lf-warm-glow{animation:none}.lf-fade-in,.lf-fade-in-stagger>*{opacity:1;animation:none;transform:none}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{background-color:var(--color-bg-base);color:var(--color-text-primary);overscroll-behavior:none;min-height:100dvh;overflow-x:hidden}a{color:var(--color-accent-gold);transition:opacity var(--motion-fast)var(--easing-standard);text-decoration:none}a:active{opacity:.7}button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-full)}::selection{color:var(--color-text-primary);background:#c7a86b40}:focus-visible{outline:2px solid var(--color-accent-gold);outline-offset:2px;border-radius:var(--radius-sm)}.safe-area-padding{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}.content-container{width:100%;max-width:var(--content-max-width);padding-left:var(--space-4);padding-right:var(--space-4);margin:0 auto}.screen-with-nav{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-4))}
