:root{--color-obsidian: #0A0A0F;--color-surface-border: #1A1D2E;--color-blood-moon-crimson: #B22222;--color-ember-orange: #CC4E1A;--color-corona-amber: #E8A020;--color-corona-amber-hover: #F0AD30;--color-corona-amber-10: rgba(232, 160, 32, .1);--color-corona-amber-20: rgba(232, 160, 32, .2);--color-first-light-gold: #C8960C;--color-lunar-white: #FDF6E3;--color-cool-lavender: #C8B8D0;--color-dim: #6B6580;--color-success: #4CAF50;--color-error: #E84040;--color-warning: #E8A020;--color-phase-new-moon: #4A4A5A;--color-phase-crescent: #E8A020;--color-phase-gibbous: #C8960C;--color-phase-full-moon: #FDF6E3;--color-moment-super-moon: #E8A020;--color-moment-blue-moon: #4A6FA5;--color-moment-super-blue-moon: #C8960C;--color-moment-eclipse: #B22222;--font-display: "Righteous", cursive;--font-body: "Outfit", sans-serif;--font-mono: "Geist Mono", monospace;--text-hero-size: 3rem;--text-hero-weight: 400;--text-hero-line-height: 1.1;--text-hero-letter-spacing: .02em;--text-h1-size: 2.25rem;--text-h1-weight: 400;--text-h1-line-height: 1.2;--text-h1-letter-spacing: .01em;--text-h2-size: 1.5rem;--text-h2-weight: 600;--text-h2-line-height: 1.3;--text-h2-letter-spacing: 0;--text-h3-size: 1.25rem;--text-h3-weight: 600;--text-h3-line-height: 1.3;--text-h3-letter-spacing: 0;--text-body-size: 1rem;--text-body-weight: 400;--text-body-line-height: 1.6;--text-body-letter-spacing: 0;--text-small-size: .875rem;--text-small-weight: 400;--text-small-line-height: 1.5;--text-micro-size: .75rem;--text-micro-weight: 500;--text-micro-line-height: 1.4;--text-micro-letter-spacing: .05em;--text-micro-transform: uppercase;--text-mono-size: .875rem;--text-mono-weight: 400;--text-mono-line-height: 1.4;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--page-margin: var(--space-6);--page-margin-desktop: var(--space-16);--card-padding: var(--space-6);--card-gap: var(--space-4);--section-gap: var(--space-16);--input-padding-x: var(--space-4);--input-padding-y: var(--space-3);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--border-subtle: 1px solid var(--color-surface-border);--border-accent: 1px solid var(--color-corona-amber);--border-phase: 2px solid;--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(232, 160, 32, .15);--shadow-mint: 0 0 40px rgba(232, 160, 32, .3);--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-reveal: .8s;--ease-default: cubic-bezier(.25, .1, .25, 1);--ease-reveal: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: var(--duration-fast) var(--ease-default);--transition-normal: var(--duration-normal) var(--ease-default);--transition-slow: var(--duration-slow) var(--ease-default);--first-light-center: #FFFFFF;--first-light-mid: var(--color-corona-amber);--first-light-edge: var(--color-first-light-gold);--first-light-eclipse: var(--color-blood-moon-crimson);--first-light-blue: #6B9FD0;--first-light-gradient: radial-gradient( circle, var(--first-light-center) 0%, var(--first-light-mid) 30%, var(--first-light-edge) 60%, transparent 100% );--first-light-duration-subtle: .6s;--first-light-duration-medium: 1s;--first-light-duration-max: 1.5s;--first-light-duration-eclipse: 1.2s;--first-light-ease-expand: var(--ease-reveal);--first-light-ease-card: var(--ease-bounce);--first-light-scale-subtle: 1.2;--first-light-scale-medium: 1.8;--first-light-scale-max: 2.5;--first-light-glow-subtle: 0 0 40px rgba(232, 160, 32, .3);--first-light-glow-medium: 0 0 80px rgba(232, 160, 32, .4), 0 0 160px rgba(200, 150, 12, .2);--first-light-glow-max: 0 0 120px rgba(255, 255, 255, .3), 0 0 200px rgba(232, 160, 32, .4), 0 0 300px rgba(200, 150, 12, .2);--max-width-content: 1200px;--max-width-narrow: 800px;--max-width-card: 400px;--nav-height: 64px;--nav-height-mobile: 56px;--z-nav: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400;--icon-logo: url(/icons/hekkova-logo.png);--icon-phase-new-moon: url(/icons/new_moon.png);--icon-phase-crescent: url(/icons/crescent.png);--icon-phase-gibbous: url(/icons/gibbous.png);--icon-phase-full-moon: url(/icons/full_moon.png);--icon-moment-super-moon: url(/icons/super_moon.png);--icon-moment-blue-moon: url(/icons/blue_moon.png);--icon-moment-super-blue-moon: url(/icons/super_blue_moon.png);--icon-moment-eclipse: url(/icons/eclipse.png);--icon-size-inline: 24px;--icon-size-card: 32px;--icon-size-selector: 48px;--icon-size-hero: 64px}:root{--btn-primary-bg: var(--color-corona-amber);--btn-primary-text: var(--color-obsidian);--btn-primary-hover-bg: var(--color-corona-amber-hover);--btn-primary-radius: var(--radius-md);--btn-primary-padding: var(--space-3) var(--space-6);--btn-primary-font: var(--font-body);--btn-primary-weight: 600;--btn-primary-size: 1rem;--btn-secondary-bg: transparent;--btn-secondary-text: var(--color-lunar-white);--btn-secondary-border: var(--border-subtle);--btn-secondary-hover-bg: var(--color-corona-amber-10);--btn-ghost-text: var(--color-cool-lavender);--btn-ghost-hover-text: var(--color-lunar-white)}:root{--input-bg: var(--color-obsidian);--input-border: var(--border-subtle);--input-border-focus: var(--border-accent);--input-text: var(--color-lunar-white);--input-placeholder: var(--color-dim);--input-radius: var(--radius-md);--input-padding: var(--input-padding-y) var(--input-padding-x)}:root{--card-bg: var(--color-obsidian);--card-border: var(--border-subtle);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-card);--card-padding: var(--space-6)}:root{--tag-radius: var(--radius-sm);--tag-padding: var(--space-1) var(--space-2);--tag-font-size: var(--text-micro-size);--tag-font-weight: var(--text-micro-weight);--tag-letter-spacing: var(--text-micro-letter-spacing);--badge-radius: var(--radius-full);--badge-padding: var(--space-1) var(--space-3)}:root{--block-id-font: var(--font-mono);--block-id-size: var(--text-mono-size);--block-id-color: var(--color-corona-amber);--block-id-bg: var(--color-obsidian);--block-id-border: var(--border-subtle);--block-id-radius: var(--radius-md);--block-id-padding: var(--space-2) var(--space-3)}:root{--nav-bg: var(--color-obsidian);--nav-border-bottom: 1px solid var(--color-surface-border);--nav-item-color: var(--color-cool-lavender);--nav-item-active-color: var(--color-corona-amber);--nav-item-hover-color: var(--color-lunar-white)}.text-display{font-family:var(--font-display)}.text-body{font-family:var(--font-body)}.text-mono{font-family:var(--font-mono)}.text-amber{color:var(--color-corona-amber)}.text-gold{color:var(--color-first-light-gold)}.text-primary{color:var(--color-lunar-white)}.text-secondary{color:var(--color-cool-lavender)}.text-dim{color:var(--color-dim)}.bg-obsidian{background-color:var(--color-obsidian)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:#0a0a0f;color:#fdf6e3;overflow-x:hidden}.app-root{display:flex;min-height:100vh}.sidebar{width:240px;padding:24px;border-right:1px solid #1A1D2E;display:flex;flex-direction:column}.sidebar .logo{margin-bottom:16px}.sidebar .logo img{width:140px;max-width:100%;height:auto;display:block;margin:0 auto}.sidebar nav{display:flex;flex-direction:column;gap:8px;margin:24px 0}.sidebar nav a{color:#fdf6e3;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:14px}.sidebar nav a.active{background:#e8a0201a;color:#e8a020}.content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;max-width:100%}.app-root:has(.sidebar) .content{margin-left:0}.app-root:not(:has(.sidebar)) .content{width:100%}.card{background:transparent;border:1px solid #1A1D2E;padding:16px;border-radius:8px}.btn.primary{background:#e8a020;color:#0a0a0f;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.btn.secondary{background:transparent;border:1px solid #1A1D2E;color:#fdf6e3;padding:6px 10px;cursor:pointer}.title{font-family:Righteous,cursive;font-size:24px;color:#fdf6e3}.balance-badge{background:#e8a02014;color:#fdf6e3;padding:8px 12px;border-radius:6px;font-size:12px}@media (max-width: 767px){.sidebar{display:none}.sidebar-mobile-open{display:flex!important;position:fixed;top:0;left:0;width:240px;height:100vh;z-index:2000;background:#0a0a0f;border-right:1px solid #1A1D2E}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;z-index:1999;opacity:1}.sidebar-content{height:100%;display:flex;flex-direction:column}.mobile-header{position:fixed;top:0;left:0;right:0;height:56px;background:#0a0a0f;border-bottom:1px solid #1A1D2E;display:flex;align-items:center;padding:0 16px;z-index:1000}.login-page .mobile-header,.signup-page .mobile-header{display:none}.hamburger-menu{background:none;border:none;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:4px}.hamburger-line{width:24px;height:2px;background:#fdf6e3;transition:all .3s ease;transform-origin:center}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.content-mobile{margin-top:56px;padding:16px;width:100%;box-sizing:border-box;min-height:calc(100vh - 56px);overflow-x:hidden}.sidebar-content{position:relative;z-index:2001}}.login-page,.signup-page{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.login-page .form-card,.signup-page .form-card{max-width:400px;width:100%}.auth-logo{text-align:center;margin-bottom:1.25rem;width:100%;max-width:800px}.auth-logo img{width:100%;max-width:400px;height:auto}.login-page .title,.signup-page .title{margin-bottom:2rem;text-align:center}.form-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#c8b8d0;margin-bottom:18px}.form-card input[type=text],.form-card input[type=email],.form-card input[type=password]{background:#0a0a0f;border:1px solid #1A1D2E;border-radius:6px;color:#fdf6e3;font-size:14px;padding:10px 12px;outline:none;font-family:inherit}.form-card input[type=text]:focus,.form-card input[type=email]:focus,.form-card input[type=password]:focus{border-color:#e8a020}
