:root{--pink: #ef88a3;--pink-soft: #f9d4de;--coral: #ff7e67;--coral-dark: #f2654c;--bg: #fff5f7;--card: #ffffff;--text: #4a4550;--muted: #9a909a;--border: #f0e2e7;--error: #e0556b;--radius: 18px;--shadow: 0 10px 30px rgba(232, 136, 159, .15)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:32px 16px 64px}.card{width:100%;max-width:560px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px 36px}.form-head{text-align:center;margin-bottom:28px}.logo{display:inline-block;font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--pink)}.form-head h1{margin:12px 0 4px;font-size:24px;color:var(--text)}.form-head .lead{margin:0;color:var(--muted);font-size:14px}.field{margin-bottom:20px}.field>label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:8px}.req{background:var(--pink);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;line-height:1.6}.hint{margin:0 0 8px;font-size:12px;color:var(--muted)}.field input,.field select{width:100%;padding:12px 14px;font-size:16px;color:var(--text);background:#fffafb;border:1.5px solid var(--border);border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft)}.field.has-error input,.field.has-error select{border-color:var(--error)}.err{margin:6px 0 0;font-size:12px;color:var(--error)}.file-drop{display:flex;align-items:center;justify-content:center;padding:18px;border:2px dashed var(--pink-soft);border-radius:12px;color:var(--pink);font-weight:700;cursor:pointer;background:#fffafb;transition:background .15s,border-color .15s}.file-drop:hover{background:#fff0f4;border-color:var(--pink)}.thumbs{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0}.thumbs li{position:relative;width:84px;height:84px}.thumbs img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.thumbs button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border:none;border-radius:50%;background:var(--coral);color:#fff;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 2px 6px #0003}.message{margin:4px 0 16px;padding:12px 14px;border-radius:12px;font-size:14px}.message.error{background:#fff0f2;color:var(--error)}.message.submitting{background:#fff6ee;color:var(--coral-dark)}.submit{width:100%;padding:15px;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(180deg,var(--coral),var(--coral-dark));border:none;border-radius:999px;cursor:pointer;box-shadow:0 8px 18px #ff7e6759;transition:transform .1s,box-shadow .15s,opacity .15s}.submit:hover:not(:disabled){transform:translateY(-1px)}.submit:disabled{opacity:.6;cursor:default}.success{text-align:center}.success h1{font-size:22px;margin:10px 0 20px}.thanks .big{font-size:18px;font-weight:800;color:var(--pink)}.thanks .sub{color:var(--muted);font-size:14px}.notfound{text-align:center;color:var(--muted);padding:24px 0}
