:root{--bg: #05060a;--ink: #eef0fa;--dim: #8b90a6;--line: #1b1e2b;--accent: #cfd6ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom));text-align:center}.screen{width:100%;max-width:30rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:rise .9s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.screen{animation:none}}h1{font-size:1.05rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0}p{margin:0;line-height:1.65;color:var(--ink);font-size:1.08rem}p.dim{color:var(--dim);font-size:.98rem}p.fact{color:var(--accent);font-size:1.05rem;margin-top:1.5rem;max-width:24rem;text-wrap:balance}.reveal p{font-size:1.22rem;line-height:1.7;opacity:0;animation:rise 1.1s ease forwards}.reveal p:nth-child(1){animation-delay:.2s}.reveal p:nth-child(2){animation-delay:1.5s}.reveal p:nth-child(3){animation-delay:3.2s}@media (prefers-reduced-motion: reduce){.reveal p{opacity:1;animation:none}}.day-number{font-size:clamp(3rem,18vw,5.5rem);font-weight:300;letter-spacing:-.02em;line-height:1}.day-label{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:#eef0facc}label{display:block;font-size:.95rem;color:var(--dim);margin-bottom:.5rem}input[type=date]{width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:.6rem;padding:.85rem 1rem;font-size:1.05rem;color-scheme:dark}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ink);color:var(--bg);border:none;border-radius:999px;padding:.85rem 1.8rem;font-size:1rem;font-weight:500;letter-spacing:.02em;cursor:pointer}button.ghost{background:transparent;color:var(--dim);border:1px solid var(--line)}button:disabled{opacity:.4;cursor:default}.note{font-size:.85rem;color:var(--dim);max-width:26rem}.stack{display:flex;flex-direction:column;gap:.9rem;width:100%}.date-row{display:flex;gap:.6rem;width:100%}.date-sel{flex:1 1 0;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:.6rem;padding:.85rem .7rem;font-size:1.05rem;color-scheme:dark}.date-sel.month{flex:1.5 1 0}.ritual{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg)}.globe-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:2rem 1.6rem calc(2rem + env(safe-area-inset-bottom));text-align:center;pointer-events:none;background:radial-gradient(72% 46% at 50% 50%,#05060a8c,#05060a00 78%)}.day-number,.day-label,.od-hint,.od-close,.od-fact{text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.7)}.overlay>*{opacity:0;transition:opacity 1.2s ease}.overlay button{pointer-events:auto}.od-hint{color:#eef0fad1;letter-spacing:.16em;text-transform:uppercase;font-size:.82rem}.od-fact{color:var(--accent);font-size:1.2rem;line-height:1.6;max-width:24rem;text-wrap:balance}.od-close{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--dim);font-size:.95rem;letter-spacing:.04em}button.tiny{margin-top:1.6rem;font-size:.8rem;padding:.5rem 1.1rem}@media (prefers-reduced-motion: reduce){.overlay>*{transition:opacity .2s ease}}.cascade-stack{position:absolute;left:0;right:0;bottom:calc(2.2rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:1.6rem;padding:0 1.5rem;pointer-events:none}.cascade-line{width:min(82vw,32rem);text-align:center;line-height:1.55;font-size:1.1rem;color:#eef1ff;opacity:0;transition:opacity .7s ease;text-shadow:0 0 18px rgba(0,0,0,.85),0 0 40px rgba(0,0,0,.7)}.cascade-line.show{opacity:1}.cascade-controls{display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;pointer-events:none;transition:opacity .7s ease}.cascade-controls.show{opacity:1;pointer-events:auto}.cascade-aff{font-size:.9rem;padding:.55rem 1.3rem;letter-spacing:.04em}
