/**
 * 公開フォーム（掲載申請・削除依頼）
 */
.form-page { padding-top: var(--space-5); }
.form-page h1 { font-size: var(--fs-2xl); margin-bottom: var(--space-2); }
.form-intro { color: var(--text-sub); font-size: var(--fs-sm); margin-bottom: var(--space-5); }
.form-intro li { list-style: disc; margin-left: 1.2em; }
.form { display: grid; gap: var(--space-5); }
.form fieldset { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-4); margin: 0; display: grid; gap: var(--space-4); }
.form legend { padding: 0 var(--space-2); color: var(--text-sub); font-size: var(--fs-sm); }
.form-field { display: grid; gap: var(--space-1); }
.form-field > label, .form-field > .form-label { font-size: var(--fs-sm); font-weight: 500; }
.form-required { color: var(--primary-hover); font-size: var(--fs-xs); margin-left: var(--space-1); }
.form input[type="text"], .form input[type="email"], .form input[type="url"], .form input[type="number"], .form select, .form textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--surface-1);
    color: var(--text);
    font: inherit;
}
.form textarea { min-height: 120px; }
.form [aria-invalid="true"] { border-color: var(--lineage-ro); }
.form-hint { font-size: var(--fs-xs); color: var(--text-sub); }
.form-error { font-size: var(--fs-sm); color: var(--lineage-ro); }
.form-checks { display: grid; gap: var(--space-2); }
.form-checks label { display: flex; gap: var(--space-2); align-items: flex-start; font-size: var(--fs-sm); }
.form-checks input { margin-top: 0.35em; accent-color: var(--primary); }
.form-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-alert { padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: #2B1022; color: var(--lineage-ro); font-size: var(--fs-sm); }
.form-done { text-align: center; }
.form-done h1 { margin-bottom: var(--space-3); }
