:root{--night: #1a1b3a;--night-deep: #12132b;--night-card: #26284f;--night-edge: #3b3d6e;--moon: #f5e9c9;--moon-dim: #cfc3a5;--star: #ffd97a;--lavender: #b8a9e8;--peach: #f4a988;--teal: #7fd4c1;--text: #eef0ff;--text-dim: #a9acd6;--radius: 20px;--font-display: Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--night-deep);color:var(--text);font-family:var(--font-body);min-height:100%}body{background:linear-gradient(180deg,var(--night-deep) 0%,var(--night) 45%,#232457 100%);background-attachment:fixed}#root{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:max(env(safe-area-inset-top),16px) 20px max(env(safe-area-inset-bottom),24px)}h1,h2,h3{font-family:var(--font-display);color:var(--moon);font-weight:600;letter-spacing:.01em}h1{font-size:1.9rem;line-height:1.2}h2{font-size:1.35rem;line-height:1.3}p{line-height:1.6}button{font-family:inherit;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.screen{display:flex;flex-direction:column;gap:20px;flex:1;padding-top:12px;animation:fadein .35s ease}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.subtitle{color:var(--text-dim);font-size:1rem}.big-btn{min-height:72px;border-radius:var(--radius);font-size:1.15rem;font-weight:600;color:var(--night-deep);background:var(--moon);padding:16px 20px;transition:transform .1s ease,opacity .2s;width:100%}.big-btn:active{transform:scale(.97)}.big-btn:disabled{opacity:.45}.big-btn.secondary{background:var(--night-card);color:var(--text);border:1.5px solid var(--night-edge)}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pick-card{background:var(--night-card);border:1.5px solid var(--night-edge);border-radius:var(--radius);padding:0;overflow:hidden;min-height:72px;display:flex;flex-direction:column;align-items:stretch;color:var(--text);text-align:center;transition:transform .1s ease,border-color .15s}.pick-card:active{transform:scale(.96)}.pick-card.selected{border-color:var(--star);box-shadow:0 0 0 2px var(--star)}.pick-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block;background:var(--night-edge)}.pick-card .label{padding:12px 8px;font-weight:600;font-size:1rem}.pick-card .emoji-tile{width:100%;aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;font-size:3.2rem;background:radial-gradient(circle at 50% 35%,#34366a,var(--night-card))}.list-card{background:var(--night-card);border:1.5px solid var(--night-edge);border-radius:var(--radius);padding:18px 20px;min-height:72px;display:flex;align-items:center;gap:16px;color:var(--text);font-size:1.15rem;font-weight:600;text-align:left;width:100%;transition:transform .1s ease}.list-card:active{transform:scale(.97)}.list-card .avatar{font-size:2rem}.list-card .sub{display:block;font-size:.85rem;color:var(--text-dim);font-weight:400;margin-top:2px}input[type=text],input[type=number],input[type=password]{background:var(--night-card);border:1.5px solid var(--night-edge);border-radius:14px;color:var(--text);font-size:1.15rem;padding:16px;width:100%;outline:none}input:focus{border-color:var(--lavender)}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 20% 15%,#fff8,transparent),radial-gradient(1px 1px at 70% 8%,#fff6,transparent),radial-gradient(1.5px 1.5px at 85% 25%,#fff7,transparent),radial-gradient(1px 1px at 40% 30%,#fff5,transparent),radial-gradient(2px 2px at 10% 45%,#fff6,transparent),radial-gradient(1px 1px at 60% 50%,#fff4,transparent),radial-gradient(1.5px 1.5px at 90% 60%,#fff6,transparent),radial-gradient(1px 1px at 30% 70%,#fff5,transparent),radial-gradient(1.5px 1.5px at 75% 80%,#fff7,transparent),radial-gradient(1px 1px at 15% 90%,#fff5,transparent)}.shimmer{background:linear-gradient(100deg,var(--night-card) 40%,#34366a 50%,var(--night-card) 60%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.moon-float{animation:moonfloat 4s ease-in-out infinite;font-size:4rem}@keyframes moonfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.back-link{background:none;color:var(--text-dim);font-size:1rem;padding:8px 0;text-align:left;width:fit-content}
