.review-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px 40px;box-shadow:0 2px 16px #0000000f;display:flex;flex-direction:column;gap:0}.review-title{font-size:1.3rem;font-weight:700;line-height:1.4;letter-spacing:-.02em;margin-bottom:28px;color:var(--text)}form{display:flex;flex-direction:column;gap:0}.rating-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}.rating-item{padding:24px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.rating-label{font-size:1rem;font-weight:600;color:var(--text)}.rating-hint{font-size:.875rem;color:var(--text-muted)}.rating-subhint{font-size:.8rem;color:var(--text-muted);font-style:italic;margin-bottom:4px}.emoji-row{display:flex;gap:10px;margin-top:4px}.emoji-btn{background:none;border:2px solid transparent;border-radius:50%;cursor:pointer;font-size:2rem;line-height:1;padding:6px;transition:transform .15s,background .15s,border-color .15s;display:flex;align-items:center;justify-content:center}.emoji-btn:hover{transform:scale(1.2);background:var(--accent-light)}.emoji-btn.selected{transform:scale(1.25);background:var(--accent-light);border-color:var(--accent)}.emoji-btn.dimmed{opacity:.35}.emoji-btn.dimmed:hover{opacity:1}.comment-wrap{display:flex;flex-direction:column;gap:8px;margin-top:28px}.comment-wrap label{font-size:.9rem;font-weight:600;color:var(--text)}.comment-wrap label span{color:var(--text-muted);font-weight:400}textarea{background:#fafaf9;border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--font);font-size:.9rem;padding:12px 14px;resize:vertical;transition:border-color .15s;outline:none;width:100%}textarea:focus{border-color:var(--accent)}textarea::placeholder{color:#c0bdb8}.submit-btn{margin-top:28px;background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:14px;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 12px #b8351e4d;width:100%;letter-spacing:.01em}.submit-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #b8351e59}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}@media(max-width:520px){.review-card{padding:24px 16px 32px;border-radius:0;border-left:none;border-right:none;box-shadow:none;width:100%}.review-title{font-size:1.15rem}.rating-label{font-size:.95rem}.rating-hint,.rating-subhint{font-size:.8rem}.emoji-btn{font-size:2rem;padding:6px 4px;min-width:44px;min-height:44px}.emoji-row{gap:4px}.submit-btn{padding:16px;font-size:1rem}}.status-screen{text-align:center;color:var(--text-muted);font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:64px}.status-screen p{max-width:320px}.status-screen.done{color:var(--text)}.done-icon{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 20px #b8351e4d}.done h2{font-size:1.5rem;font-weight:700;color:var(--text)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px 48px}@media(max-width:520px){.app-main{padding:0 0 40px;align-items:flex-start}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f3ef;--surface: #ffffff;--border: rgba(0,0,0,.09);--text: #1a1a1a;--text-muted: #6b6b6b;--accent: #b8351e;--accent-light: #faeae7;--radius: 16px;--font: "Inter", system-ui, sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}@media(max-width:520px){body{background:var(--surface)}}#root{min-height:100dvh;display:flex;flex-direction:column}
