:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;font-weight:400;color:#374151;background-color:#fff5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button{border-radius:8px;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer}button:focus-visible{outline:2px solid #e63946;outline-offset:2px}.dress-up-game{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:500px;margin:0 auto}.game-title{font-family:Georgia,serif;font-size:2rem;color:#e63946;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.game-subtitle{color:#6b7280;margin:-.5rem 0 0;font-size:1rem}.character-container{width:140px;height:220px;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(180deg,#fff5f5,#ffe4e6);border-radius:20px;box-shadow:0 4px 20px #e6394633;border:2px solid rgba(230,57,70,.3)}.character{transition:transform .3s ease}.character-svg{width:100%;height:100%;max-height:200px}.clothing-selector{display:flex;flex-direction:column;gap:1rem;width:100%}.clothing-category h3{font-size:.9rem;color:#374151;margin:0 0 .5rem;text-align:left}.clothing-options{display:flex;gap:.5rem;flex-wrap:wrap}.clothing-btn{width:40px;height:40px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.clothing-btn:hover{transform:scale(1.1);box-shadow:0 4px 8px #00000026}.clothing-btn.selected{outline:3px solid #e63946;outline-offset:2px}.pants-btn{width:30px;height:40px;border-radius:4px}.shoes-btn{width:36px;height:24px;border-radius:50%}.mini-heart{font-size:1.2rem;color:#a33232;text-shadow:0 0 1px rgba(0,0,0,.3)}.play-btn{margin-top:1rem;padding:1rem 3rem;font-size:1.25rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#e63946,#ff6b6b);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 15px #e6394666;transition:all .3s ease}.play-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6394680}.play-btn:active{transform:translateY(0)}.valentine-card-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .4s ease}.valentine-card{position:relative;background:linear-gradient(145deg,#fff5f5,#ffe4e6,#ffd4d9);padding:3rem;border-radius:24px;box-shadow:0 25px 50px -12px #e6394640,0 0 0 3px #fffc;max-width:400px;animation:cardPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes cardPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.card-decoration{position:absolute;font-size:2rem;color:#e639464d;animation:heartPulse 2s ease-in-out infinite}.card-decoration.top-left{top:1rem;left:1rem}.card-decoration.top-right{top:1rem;right:1rem;animation-delay:.5s}.card-decoration.bottom-left{bottom:1rem;left:1rem;animation-delay:1s}.card-decoration.bottom-right{bottom:1rem;right:1rem;animation-delay:1.5s}@keyframes heartPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}.card-message{font-family:Georgia,serif;font-size:1.75rem;color:#c1121f;margin:0 0 2rem;text-align:center;line-height:1.4}.card-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.yes-btn{padding:1rem 2.5rem;font-size:1.25rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#e63946,#ff6b6b);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 15px #e6394666}.no-btn{padding:.75rem 1.5rem;font-size:1rem;color:#6b7280;background:#e5e7eb;border:1px solid #d1d5db;border-radius:50px;cursor:pointer}.no-btn:hover{background:#d1d5db}.error-500-page{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#1a1a1a;color:#e5e5e5;font-family:Monaco,Menlo,Ubuntu Mono,monospace;z-index:200}.error-500-content{text-align:center;z-index:2;margin-bottom:2rem}.error-500-header{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.5rem}.error-code{font-size:4rem;font-weight:700;color:#ef4444;line-height:1;text-shadow:0 0 20px rgba(239,68,68,.3)}.error-label{font-size:.9rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em}.error-message{font-size:1rem;color:#d1d5db;margin:0 0 2rem}.try-again-btn{padding:.75rem 2rem;font-size:.9rem;font-family:inherit;color:#1a1a1a;background:#e5e5e5;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.try-again-btn:hover{background:#fff}.error-500-character{position:absolute;bottom:2rem;right:2rem;opacity:.7;filter:sepia(.2)}.character-error-page{transition:transform .3s ease}.character-error-page:hover{transform:scale(1.1)!important}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow-x:hidden}.background{position:fixed;inset:0;z-index:-1;transition:background .8s ease}.background.dressup{background:linear-gradient(180deg,#fff5f5,#ffe4e6,#ffd4d9)}.background.playing,.background.card{background:linear-gradient(180deg,#ffe4e6,#ffd4d9,#ffb3ba)}.background.error500{background:#1a1a1a}.background.accepted{background:linear-gradient(180deg,#ffd4d9,#ff85a1,#ff6b6b)}.playing-phase{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.character-approaching{transition:transform 1s cubic-bezier(.34,1.56,.64,1)}.character-behind-card{opacity:.4;filter:blur(2px)}.card-background .character-behind-card{transform:scale(2)}.accepted-phase{display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-card{text-align:center;padding:3rem;background:#fffffff2;border-radius:24px;box-shadow:0 25px 50px -12px #e6394640;animation:successPop .6s cubic-bezier(.34,1.56,.64,1)}@keyframes successPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.success-hearts{display:block;font-size:2rem;color:#e63946;margin:.5rem 0;animation:heartPulse 1.5s ease-in-out infinite}.success-card h1{font-family:Georgia,serif;font-size:2rem;color:#c1121f;margin:1rem 0}.success-card p{color:#6b7280;font-size:1.1rem;margin:.5rem 0}.success-card .back-btn{display:block;width:100%;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:.9rem;color:#6b7280;background:transparent;border:1px solid #d1d5db;border-radius:50px;cursor:pointer;transition:all .2s ease}.success-card .back-btn:hover{background:#ffffff80;border-color:#9ca3af}
