:root{color-scheme:light;--canvas-base: #f7f2e8;--canvas-band: #f1e7d7;--text-primary: #1f1a17;--text-secondary: #5c5146;--action-base: #d94f35;--action-hover: #c6462f;--action-press: #af3e2a;--action-text: #fff9f2;--accent-teal: #1f7a72;--surface-card: #fbf7f0;--surface-stroke: #d9ccb8;--shadow-button-rest: 0 8px 0 rgba(0, 0, 0, .18);--shadow-button-press: 0 3px 0 rgba(0, 0, 0, .2);--shadow-card: 0 10px 30px rgba(26, 24, 20, .14);--radius-button: 18px;--radius-card: 22px;--ease-enter: cubic-bezier(.2, .8, .2, 1);--ease-press: cubic-bezier(.3, 0, .2, 1);--ease-settle: cubic-bezier(.16, .84, .24, 1)}*{box-sizing:border-box}html{height:100%}body{height:100%;display:flex;flex-direction:column;margin:0;font-family:Instrument Sans,Segoe UI,Arial,sans-serif;background:linear-gradient(155deg,var(--canvas-base),var(--canvas-band));color:var(--text-primary);cursor:default}#root{height:100%;display:flex;flex-direction:column;margin:0}.app-shell{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;padding:32px 20px}.atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 12% 18%,rgba(229,185,61,.1),transparent 38%),radial-gradient(circle at 86% 74%,rgba(31,122,114,.12),transparent 42%);background-size:120% 120%;animation:atmosphere-drift 28s ease-in-out infinite alternate;transition:filter .42s var(--ease-enter),opacity .42s var(--ease-enter),animation-duration .42s var(--ease-enter);pointer-events:none}.app-shell[data-state=generating] .atmosphere{animation-duration:10s;filter:saturate(1.06)}.app-shell[data-state=revealed] .atmosphere{animation-duration:20s;opacity:.96}.toy-stage{position:relative;width:min(760px,100%);display:grid;justify-items:center;gap:24px;text-align:center;transition:transform .62s var(--ease-enter),filter .62s var(--ease-enter)}.toy-stage[data-state=generating]{transform:translateY(-2px);filter:saturate(1.03)}.brand-line{margin:0;font-size:.9rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.hero-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.3rem,5.2vw,3.5rem);line-height:1.05;font-weight:600;letter-spacing:-.02em;max-width:16ch;text-wrap:balance;transition:letter-spacing .36s var(--ease-enter),transform .36s var(--ease-enter),opacity .36s var(--ease-enter),filter .36s var(--ease-enter)}.toy-stage[data-state=generating] .hero-title{letter-spacing:-.012em;transform:translateY(-1px);filter:saturate(.97)}.make-day-button{border:2px solid rgba(31,26,23,.3);background:var(--action-base);color:var(--action-text);border-radius:var(--radius-button);box-shadow:var(--shadow-button-rest);font-family:Fraunces,Georgia,serif;font-size:clamp(1.1rem,2.6vw,1.25rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;min-height:112px;min-width:154px;padding:16px 26px;cursor:pointer;transform:translateY(0);touch-action:manipulation;-webkit-tap-highlight-color:transparent;will-change:transform,box-shadow,background-color,filter;transition:transform .22s var(--ease-enter),box-shadow .22s var(--ease-enter),background-color .22s var(--ease-enter),filter .22s var(--ease-enter)}.make-day-button .button-label{display:inline-block;transform:translateY(0);transition:transform .17s var(--ease-press),letter-spacing .26s var(--ease-enter),opacity .26s var(--ease-enter)}.button-label--stacked{display:grid;gap:2px;line-height:.95;justify-items:center}.button-label--stacked>span{display:block}.make-day-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px #00000036;background-color:var(--action-hover);filter:saturate(1.03);cursor:pointer}.make-day-button:hover:not(:disabled) .button-label{transform:translateY(-1px)}.make-day-button:active:not(:disabled){transform:translateY(3px);box-shadow:var(--shadow-button-press);background-color:var(--action-press);transition-duration:90ms;transition-timing-function:var(--ease-press)}.make-day-button:active:not(:disabled) .button-label{transform:translateY(1px)}.make-day-button:disabled{cursor:wait;animation:suspense-pulse 1.2s ease-in-out infinite alternate}.make-day-button:disabled .button-label{letter-spacing:.02em;animation:button-label-breathe .62s var(--ease-enter) infinite alternate}.make-day-button:focus-visible,.replay-button:focus-visible{outline:3px solid var(--accent-teal);outline-offset:4px}.micro-whisper{margin:-12px 0 2px;color:var(--text-secondary);font-size:.85rem;letter-spacing:.03em;line-height:1.2;opacity:0;animation:whisper-in .32s var(--ease-enter) forwards}.reveal-slot{width:min(680px,100%);min-height:180px;display:grid;place-items:center;margin-top:4px}.reveal-slot[data-state=generating]{animation:slot-hold-breath 1.05s var(--ease-enter) both}.placeholder-copy{color:var(--text-secondary);font-size:1.03rem;line-height:1.35;letter-spacing:.01em;transition:opacity .3s var(--ease-enter),transform .3s var(--ease-enter);animation:anticipation-fade .42s var(--ease-enter) both}.reveal-slot[data-state=generating] .placeholder-copy{opacity:.78;transform:translateY(-2px)}.prediction-card{width:100%;background:var(--surface-card);border:1.5px solid var(--surface-stroke);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:26px 24px;transform-origin:50% 0%;transition:opacity .36s var(--ease-enter),filter .36s var(--ease-enter),transform .42s var(--ease-settle);animation:card-enter .68s var(--ease-settle) both}.prediction-card.is-transitioning{opacity:.56;filter:saturate(.9);transform:translateY(1px) scale(.996)}.card-eyebrow{margin:0;font-size:.86rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-weight:600;opacity:0;animation:type-fade .42s var(--ease-enter) forwards;animation-delay:.13s}.prediction-line{margin:16px 0;font-family:Instrument Sans,Segoe UI,Arial,sans-serif;font-size:clamp(1.35rem,3.8vw,1.75rem);line-height:1.3;font-weight:500;text-wrap:balance;animation:line-enter .64s var(--ease-settle) both;animation-delay:.22s}.prediction-line.is-typing{animation-name:line-enter,typing-bounce;animation-duration:.64s,1.4s;animation-timing-function:var(--ease-settle),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both,both;animation-delay:.22s,.86s}.prediction-line.is-typing:after{content:"";display:inline-block;width:.08em;height:1em;margin-left:.08em;vertical-align:-.08em;background:currentColor;animation:caret-blink .92s steps(1,end) infinite,caret-bounce 1.4s ease-in-out infinite}.card-meta{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;font-weight:600;opacity:0;animation:type-fade .42s var(--ease-enter) forwards;animation-delay:.36s}.card-aside{margin:14px 0 0;color:var(--text-secondary);font-size:.88rem;line-height:1.35;font-style:italic;letter-spacing:.01em;opacity:0;animation:type-fade .42s var(--ease-enter) forwards;animation-delay:.5s}.glitch-word{font-style:italic;letter-spacing:.02em}.replay-button{border:0;border-radius:10px;background:transparent;color:var(--text-primary);font-family:Instrument Sans,Segoe UI,Arial,sans-serif;font-size:.98rem;font-weight:600;padding:8px 12px;cursor:pointer;opacity:0;transform:translateY(4px);animation:replay-enter .38s var(--ease-enter) forwards;animation-delay:.68s}.replay-button:hover{color:var(--accent-teal);transform:translateY(0);letter-spacing:.01em;cursor:pointer}.replay-button:active{transform:translateY(1px)}@keyframes card-enter{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes line-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes suspense-pulse{0%{filter:saturate(.97);transform:translateY(0)}to{filter:saturate(1.04);transform:translateY(-1px)}}@keyframes replay-enter{to{opacity:1;transform:translateY(0)}}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes caret-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes typing-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes whisper-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes type-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slot-hold-breath{0%{transform:translateY(0)}45%{transform:translateY(-1.5px)}to{transform:translateY(0)}}@keyframes button-label-breathe{0%{opacity:.9}to{opacity:1}}@keyframes anticipation-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes atmosphere-drift{0%{background-position:0% 0%,100% 100%}to{background-position:4% -2%,96% 102%}}.app-footer{position:relative;padding:20px 32px;text-align:center;background:linear-gradient(155deg,var(--canvas-base),var(--canvas-band));z-index:10}.footer-text{margin:0;font-size:.88rem;letter-spacing:.04em;color:var(--text-secondary);font-weight:500;opacity:.8;transition:opacity .3s var(--ease-enter),color .3s var(--ease-enter)}.app-footer:hover .footer-text{opacity:1;color:var(--text-primary)}@media (max-width: 767px){.app-shell{padding:28px 18px}.toy-stage{gap:20px}.hero-title{max-width:14ch}.make-day-button{min-height:102px;min-width:144px;padding:14px 22px}.make-day-button:active:not(:disabled){transform:translateY(2px)}.make-day-button:disabled{animation-duration:.62s}.reveal-slot{min-height:152px}.prediction-card{border-radius:18px;padding:22px 18px}.replay-button{padding:10px 12px}.replay-button:active{transform:translateY(.5px)}.app-footer{padding:16px 18px}.footer-text{font-size:.82rem}}@media (hover: none){.make-day-button:hover:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-button-rest);background-color:var(--action-base);filter:none}.replay-button:hover{color:var(--text-primary);transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.atmosphere{animation:none}.make-day-button:disabled{animation:none}}
