.new-rating-view{padding:70px 8vw 110px;min-height:75vh;background:radial-gradient(circle at 12% 10%,rgba(215,162,58,.18),transparent 24%),linear-gradient(120deg,#d8c7a7,#f1e5ce)}.rating-form-shell{max-width:980px;margin:0 auto;background:#eee3ca;border:2px outset #e9dfcb;box-shadow:9px 10px 0 rgba(67,43,31,.18);padding:34px}.rating-form-shell h1{font-family:'Fraunces';font-size:52px;color:var(--cardinal2);margin:0 0 8px}.rating-form-shell>.form-copy{font-family:'Fraunces';color:#665044;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label,.reviewer-form h3,.category-rating h4{font:700 9px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#6d312c}.form-field input,.form-field select,.form-field textarea,.rating-input{width:100%;border:2px inset #aaa395;background:#f4eedf;padding:11px;font:500 12px 'DM Mono',monospace;color:#2e2722;outline:none}.form-field textarea{min-height:90px;resize:vertical}.form-divider{height:1px;background:#bba98b;margin:28px 0}.reviewer-form{background:#e4d5b8;border:1px solid #ad9678;padding:20px;margin:18px 0}.reviewer-form h3{font-size:11px;margin:0 0 16px}.rating-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.category-rating label{display:block;font:600 8px 'DM Mono',monospace;color:#6d584a;margin-bottom:6px}.rating-input::placeholder{color:#9a8b7e}.submit-rating{margin-top:25px;border:2px outset #a44a50;background:var(--cardinal);color:#fff0cf;padding:13px 22px;font:700 10px 'DM Mono',monospace;letter-spacing:.12em;cursor:pointer;box-shadow:3px 3px 0 #4c211d}.submit-rating:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #4c211d}.form-status{margin-top:18px;padding:12px;border:1px dashed #9b846b;font:500 10px 'DM Mono',monospace;color:#5d4b40}.form-status.success{background:#ccd4b4}.form-status.error{background:#dfc0b2}.form-note{font:500 8px 'DM Mono',monospace;color:#7a6556;line-height:1.6;margin-top:14px}.photo-submit h3{font-family:'Fraunces';font-size:27px;color:#5d2928;margin:6px 0}.photo-input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.photo-drop{display:flex;min-height:115px;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:2px dashed #9c8063;background:#dfcfaf;cursor:pointer;font:700 10px 'DM Mono',monospace;letter-spacing:.1em;color:#673a32}.photo-drop:hover{background:#eadbbd}.photo-drop input{position:absolute;opacity:0;pointer-events:none}.photo-drop span{margin-top:8px;font-size:7px;font-weight:500;letter-spacing:.04em;color:#786253}.photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.photo-preview img{width:70px;height:70px;object-fit:cover;border:4px solid #eee1c4;box-shadow:2px 2px 0 #806b56}.photo-preview{gap:14px}.photo-thumb{position:relative;margin:0;display:flex;flex-direction:column;align-items:center}.photo-thumb figcaption{margin-top:4px;font:500 9px 'DM Mono',monospace;letter-spacing:.06em;color:#6d584a;text-transform:uppercase}.photo-remove{position:absolute;top:-9px;right:-9px;width:24px;height:24px;padding:0;border-radius:50%;border:2px solid #eee1c4;background:var(--cardinal);color:#fff0cf;font:700 14px/1 'DM Mono',monospace;cursor:pointer;display:grid;place-items:center;box-shadow:1px 1px 0 #4c211d}.photo-remove:hover,.photo-remove:focus-visible{background:#5a1520;outline:none}.photo-drop[data-count]:not([data-count=''])::after{content:attr(data-count);margin-top:6px;font:700 9px 'DM Mono',monospace;color:var(--cardinal)}@media(max-width:700px){.new-rating-view{padding:45px 5vw 80px}.rating-form-shell{padding:22px}.rating-form-shell h1{font-size:40px}.form-grid,.rating-fields,.photo-input-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}}.photo-thumb-note{width:70px;height:70px;display:grid;place-items:center;border:4px solid #eee1c4;box-shadow:2px 2px 0 #806b56;background:#c9b99b;font:700 11px 'DM Mono',monospace;color:#5d2928}.submit-rating:disabled{opacity:.6;cursor:wait}
