body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;background-color:#fff}:root{--bg-primary: #FFFFFF;--color-stars: #FFD700;--color-success: #A8E6CF;--color-warning: #FFD3A5;--color-error: #FFAAA5;--color-info: #A8D8EA;--text-primary: #2C3E50;--text-secondary: #7F8C8D;--border-color: #E0E0E0}@supports (padding: max(0px)){body{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.container{max-width:100%;padding:16px;margin:0 auto}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}button,a,input,select,textarea{min-height:44px;min-width:44px}.child-interface button{min-height:56px;font-size:1.1rem;padding:16px 24px}img{max-width:100%;height:auto}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.btn{padding:12px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--color-stars);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-info);color:#fff}.btn-success{background-color:var(--color-success);color:#fff}.btn-danger{background-color:var(--color-error);color:#fff}.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.input{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;min-height:44px}.input:focus{outline:none;border-color:var(--color-info)}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--color-info);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
