*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;background:linear-gradient(165deg,#fdf6fb,#f0eef9 45%,#e8f4fc);color:#3d3550;line-height:1.45}#root{min-height:100vh}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 20px 40px;position:relative}.intro-screen{width:100%;max-width:480px;text-align:center;padding:8px 4px 0;opacity:1;transform:scale(1);position:relative;z-index:2;transition:opacity .52s ease,transform .52s ease}.intro-content{position:relative;z-index:3}.intro-screen--leaving{opacity:0;transform:scale(.98);pointer-events:none}.intro-title{margin:0 0 20px;font-size:clamp(1.75rem,6vw,2.35rem);font-weight:700;line-height:1.25;color:#5a4d72;text-shadow:0 1px 0 rgba(255,255,255,.85);opacity:0;animation:introFadeIn 1s ease-out forwards}.intro-question{margin:0 0 28px;font-size:clamp(1.1rem,4.2vw,1.35rem);font-weight:600;color:#7a6f8f;opacity:0;transform:translateY(28px);animation:introRise .85s ease-out .55s forwards}@keyframes introFadeIn{to{opacity:1}}@keyframes introRise{to{opacity:1;transform:translateY(0)}}.intro-actions{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;min-height:120px;opacity:0;animation:introFadeIn .6s ease-out .9s forwards}.intro-flee-zone{position:relative;display:flex;justify-content:center;align-items:flex-start;width:100%;min-height:200px;margin-top:4px;padding:12px 16px 24px}.btn--yes{color:#fff;background:linear-gradient(135deg,#c9a8e8,#a8c8f0);box-shadow:0 6px 20px #a082c859}.btn--yes:hover{transform:translateY(-2px);box-shadow:0 10px 26px #a082c866}.btn--flee{position:relative;margin:0;padding:12px 18px;font-size:clamp(.82rem,3.2vw,.98rem);line-height:1.3;white-space:nowrap;color:#5a4d72;background:linear-gradient(135deg,#fce8ee,#f0e4f4);box-shadow:0 6px 18px #826e9638;cursor:default;transition:transform .2s ease-out;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform}.wheel-screen{width:100%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .55s ease-out}.wheel-screen--visible{opacity:1;pointer-events:auto}.wheel-screen--hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{width:100%;max-width:420px;text-align:center;animation:fadeUp .55s ease-out}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.title{margin:0 0 28px;font-size:clamp(1.65rem,5vw,2.15rem);font-weight:700;letter-spacing:-.02em;color:#5a4d72;text-shadow:0 1px 0 rgba(255,255,255,.8)}.title--sub{font-size:clamp(1.45rem,4.5vw,1.85rem);margin-bottom:8px}.title--celebrate{font-size:clamp(1.35rem,4.2vw,1.75rem);line-height:1.35;margin-bottom:16px}.lead{margin:0 0 24px;font-size:1rem;color:#7a6f8f}.wheel-wrap{position:relative;margin:0 auto 28px;width:min(92vw,340px);aspect-ratio:1;filter:drop-shadow(0 14px 28px rgba(120,100,150,.18))}.wheel-pointer{position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid #c9a8e8;z-index:3;filter:drop-shadow(0 2px 4px rgba(90,70,120,.25))}.wheel-spinner{width:100%;height:100%;border-radius:50%;background:#fff9fc;box-shadow:inset 0 0 0 6px #fffffff2,0 8px 24px #9682b426;will-change:transform}.wheel-spinner--active{transition:transform 4.2s cubic-bezier(.17,.67,.12,.99)}.wheel-svg{display:block;border-radius:50%}.wheel-label{font-size:11px;font-weight:600;fill:#4a4060;text-anchor:middle;dominant-baseline:middle;pointer-events:none}@media (min-width: 380px){.wheel-label{font-size:12px}}.actions{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:52px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:1.05rem;padding:14px 40px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.btn:disabled{opacity:.65;cursor:not-allowed}.btn--primary{color:#fff;background:linear-gradient(135deg,#c9a8e8,#a8c8f0);box-shadow:0 6px 20px #a082c859}.btn--primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 26px #a082c866}.btn--accent{color:#fff;background:linear-gradient(135deg,#f5c6a8,#e8b8d8);box-shadow:0 6px 20px #dca0aa66;animation:pulseIn .45s ease-out}.btn--accent:hover{transform:translateY(-2px);box-shadow:0 10px 26px #dca0aa73}.btn--pity{max-width:100%;padding:14px 22px;font-size:clamp(.88rem,3.4vw,1rem);line-height:1.35;color:#4a4060;background:linear-gradient(135deg,#e8f0fc,#f5e4f8);box-shadow:0 6px 20px #8c82aa47;animation:pulseIn .45s ease-out}.btn--pity:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 26px #8c82aa57}@keyframes pulseIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.choice-grid{display:grid;gap:16px}.choice-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:24px 20px;border:none;border-radius:20px;cursor:pointer;font:inherit;text-align:center;transition:transform .22s ease,box-shadow .22s ease;box-shadow:0 8px 24px #7864961f}.choice-card--computer{background:linear-gradient(145deg,#e8f4fc,#dce8f8);color:#3d4a62}.choice-card--gift{background:linear-gradient(145deg,#fde8f0,#f8e0e8);color:#523d48}.choice-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #7864962e}.choice-icon{font-size:2.25rem;line-height:1}.choice-title{font-size:1.05rem;font-weight:600;line-height:1.35;max-width:280px}.shell--result{animation:celebrateIn .6s ease-out}@keyframes celebrateIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.result-pick{margin:0 0 20px;font-size:1.05rem;color:#6b6080}.footnote{margin:0 0 22px;font-size:.9rem;color:#8a7f9a}.btn--conditions{margin-top:4px}.screen-stage{width:100%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .52s ease,transform .52s ease}.screen-stage--visible{opacity:1;pointer-events:auto;transform:scale(1)}.screen-stage--hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.screen-stage--leaving{opacity:0;transform:scale(.98);pointer-events:none}.shell--conditions{max-width:520px;animation:fadeUp .55s ease-out}.conditions-text{margin:0 0 32px;font-size:clamp(1.05rem,4vw,1.35rem);font-weight:600;line-height:1.45;color:#5a4d72;text-align:center;padding:0 8px}.conditions-heart{display:block;font-size:2.5rem;line-height:1;text-align:center;animation:heartPulse 1.4s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(220,140,160,.35))}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}
