*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--eclipse-green: #a1fea0;--ink: #4a6356;--paper: #ffffff;--ink-muted: rgba(74, 99, 86, .58);--green-glow: 0 0 40px 10px rgba(161, 254, 160, .45);--pink: var(--eclipse-green);--coral: var(--eclipse-green);--purple: var(--ink);--sky: var(--eclipse-green);--cream: var(--paper);--gold: var(--eclipse-green);--text: var(--ink);--text-light: var(--ink-muted);--panel-border: var(--ink);--shadow: none;--shadow-soft: none;--radius: 25px;--radius-pill: 100px;--font-display: "Cormorant Garamond", "Noto Serif SC", serif;--font-ui: "Barlow Condensed", "Noto Sans SC", sans-serif;--font-label: "Space Mono", "Noto Sans SC", monospace;--font-body: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif}html,body,#root{min-height:100vh;font-family:var(--font-body);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}.eclipse-app{position:relative;min-height:100vh;isolation:isolate;background:var(--paper)}.eclipse-content{position:relative;z-index:2}.eclipse-eyebrow{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:5;font-family:var(--font-label);font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);pointer-events:none}.eclipse-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--paper)}.eclipse-blob{position:absolute;background:var(--eclipse-green);border:1px solid var(--ink)}.eclipse-blob-1{width:120px;height:48px;bottom:12%;left:-20px;border-radius:50% 50% 40% 40%}.eclipse-blob-2{width:90px;height:36px;bottom:8%;right:5%;border-radius:40% 60% 50% 50%}.eclipse-blob-3{width:64px;height:64px;top:38%;right:-10px;border-radius:50%}.eclipse-ring{position:absolute;top:18%;left:50%;transform:translate(-50%);width:140px;height:140px;border:1px solid rgba(74,99,86,.25);border-radius:50%;clip-path:inset(0 0 50% 0)}.page{min-height:100vh;padding:56px 20px 100px;max-width:428px;margin:0 auto;display:flex;flex-direction:column}.page-eyebrow{font-family:var(--font-label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--ink-muted);margin-bottom:12px}.page-title{font-family:var(--font-display);font-size:2.4rem;font-weight:200;line-height:.95;letter-spacing:-.03em;text-align:center;color:var(--ink);margin-bottom:12px}.page-subtitle{text-align:center;color:var(--ink-muted);font-family:var(--font-ui);font-size:.95rem;font-weight:400;line-height:1.5;margin-bottom:32px}.card{background:var(--paper);border-radius:var(--radius);padding:24px 20px;margin-bottom:16px;border:1px solid var(--ink);box-shadow:none}.card-active{background:var(--eclipse-green);box-shadow:var(--green-glow)}.btn{display:block;width:100%;padding:12px 24px;border-radius:var(--radius);font-family:var(--font-ui);font-size:.95rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:border-width .15s,background .15s}.btn:active:not(:disabled){transform:scale(.99)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--eclipse-green);color:var(--ink);border:1px solid var(--ink)}.btn-primary:hover:not(:disabled){border-width:2px}.btn-secondary{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}.btn-secondary:hover:not(:disabled){border-width:2px}.btn-ghost{background:transparent;color:var(--ink-muted);border:none;font-size:.8rem;letter-spacing:.08em;padding:8px;text-transform:uppercase}.input,textarea{width:100%;padding:12px 16px;border:1px solid var(--ink);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);background:var(--paper);transition:border-width .15s}.input:focus,textarea:focus{outline:none;border-width:2px}.label{display:block;font-family:var(--font-label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}.error-msg{color:var(--ink);font-size:.85rem;text-align:center;margin-top:12px;padding:10px 12px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--eclipse-green)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a635673;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn .2s ease}.modal{background:var(--paper);border-radius:var(--radius);padding:28px 24px;width:100%;max-width:380px;border:1px solid var(--ink);box-shadow:none;animation:slideUp .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes diceRoll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-hero{text-align:center;margin-bottom:28px;position:relative;padding:24px 16px 20px;margin-left:-20px;margin-right:-20px}.home-hero-card{background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:28px 20px 24px;margin-bottom:20px;box-shadow:var(--green-glow)}.home-hero-duo{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px 0}.home-heart{font-family:var(--font-label);font-size:.65rem;letter-spacing:.2em;color:var(--eclipse-green)}.banner{padding:10px 14px;border-radius:var(--radius);font-family:var(--font-label);font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-align:center;margin-bottom:12px;border:1px solid var(--ink)}.banner-warn{background:var(--paper)}.banner-error{background:var(--eclipse-green)}.banner-info{background:var(--paper);border-style:dashed}
