.gacha-editor-main { width: 100%; max-width: 900px; margin: 0 auto; }
.gacha-editor-title { margin-bottom: 24px; }
.gacha-editor-title p { margin: 0 0 6px; color: var(--color-text-muted); font-size: 0.76rem; }
.gacha-editor-title p:last-child { margin-top: 6px; }
.gacha-editor-title a { color: inherit; text-decoration: none; }
.gacha-editor-title a:hover { color: var(--color-primary); }
.gacha-editor-title h2 { margin: 0; font-size: 1.25rem; }
.gacha-editor-section { border-top: 1px solid var(--color-border); padding: 20px 0 24px; }
.gacha-editor-section:last-child { border-bottom: 1px solid var(--color-border); }
.gacha-editor-section h3 { margin: 0 0 14px; font-size: 0.98rem; }
.gacha-editor-field { display: grid; gap: 6px; color: var(--color-text-muted); font-size: 0.72rem; font-weight: 700; }
.gacha-editor-field textarea, .gacha-editor-field input, .gacha-output { width: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-control); color: var(--color-text); font-family: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace; padding: 9px 10px; }
.gacha-editor-field textarea { min-height: 132px; resize: vertical; }
.gacha-editor-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.gacha-button { min-height: 38px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-control); color: var(--color-text); cursor: pointer; font-weight: 700; }
.gacha-button:hover { border-color: var(--color-primary); background: var(--color-primary); color: #ffffff; }
.gacha-button.is-primary { border-color: var(--color-primary); background: var(--color-primary); color: #ffffff; }
.gacha-status { min-height: 1.6em; margin: 10px 0 0; color: var(--color-text-muted); font-size: 0.76rem; }
.gacha-status.is-error { color: #fca5a5; }
.gacha-tab-list { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }
.gacha-tab { min-width: 70px; min-height: 34px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-control); color: var(--color-text-muted); cursor: pointer; font-size: 0.72rem; font-weight: 700; }
.gacha-tab.is-active { border-color: var(--color-primary); background: var(--color-primary); color: #ffffff; }
.gacha-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; margin-top: 16px; }
.gacha-entry-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.gacha-entry { display: grid; grid-template-columns: 28px minmax(0, 1fr) repeat(3, 32px); align-items: center; gap: 6px; }
.gacha-entry > span { color: var(--color-text-muted); font-family: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace; font-size: 0.7rem; text-align: right; }
.gacha-entry input { min-width: 0; min-height: 34px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-control); color: var(--color-text); padding: 5px 8px; }
.gacha-entry button { width: 32px; height: 32px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-control); color: var(--color-text); cursor: pointer; }
.gacha-entry button:hover:not(:disabled) { border-color: var(--color-primary); color: var(--color-primary); }
.gacha-entry button:disabled { cursor: not-allowed; opacity: 0.35; }
.gacha-entry button.is-danger:hover:not(:disabled) { color: #fca5a5; }
.gacha-rate-panel { display: grid; align-content: start; gap: 10px; padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.gacha-rate-panel h4 { margin: 0; font-size: 0.84rem; }
.gacha-rate-panel label { color: var(--color-text-muted); font-size: 0.7rem; font-weight: 700; }
.gacha-rate-panel input { width: 100%; min-height: 38px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-control); color: var(--color-text); padding: 6px 8px; }
.gacha-rate-detail { margin: 0; color: var(--color-text-muted); font-size: 0.7rem; }
.gacha-rate-detail strong { color: var(--color-accent-light); font-family: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace; }
.gacha-rate-total { min-height: 1.6em; margin: 0; color: var(--color-text-muted); font-size: 0.7rem; }
.gacha-rate-total.is-warning { color: #facc15; }
.gacha-output-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gacha-output-group { display: grid; gap: 10px; }
.gacha-output-group h3 { margin-bottom: 0; }
.gacha-output { min-height: 220px; resize: vertical; }
.gacha-output-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 640px) { .gacha-editor-grid, .gacha-output-grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .gacha-editor-actions, .gacha-output-actions { grid-template-columns: 1fr; } }
