:root{font-family:Inter,Arial,sans-serif;color:#1a2540;background:#dce6f5;--bg: #dce6f5;--surface: #e8f0fa;--surface-alt: #dfe8f8;--border: #b8ccec;--border-light: #ccdaf0;--text-primary: #1a2540;--text-secondary: #3d5278;--text-muted: #7390b8;--accent: #1d4ed8;--accent-bg: #dbeafe;--accent-text: #1e40af;--accent-ring: rgba(29, 78, 216, .25);--btn-secondary: #334e7a;--btn-danger: #b52828;--code-bg: #111c35;--code-text: #c7d8f5;--success-bg: #d2f0e4;--success-text: #155a30;--success-border: #6ecfa0;--error-bg: #fde4e4;--error-text: #8b1414;--error-border: #f8a4a4}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;max-width:100%;min-height:100vh;overflow-x:hidden}img,svg,video,canvas{max-width:100%}.app-shell{width:100%;max-width:1080px;margin:0 auto;padding:24px;display:grid;gap:16px}.card{min-width:0;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:16px}.header-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-grid{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:600}input,textarea,select,button{font:inherit}input,textarea,select{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--surface);color:var(--text-primary)}textarea{resize:vertical}.button{border:none;background:var(--accent);color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer}.button:disabled{opacity:.6;cursor:not-allowed}.button.secondary{background:var(--btn-secondary)}.button.danger{background:var(--btn-danger)}.guild-cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.guild-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;padding:10px;display:flex;align-items:center;gap:10px;cursor:pointer}.guild-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.guild-card p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.guild-avatar{width:34px;height:34px;border-radius:50%}.channel-selector-row{margin-top:14px;display:grid;gap:8px;padding:12px;border:1px solid var(--border-light);border-radius:10px;background:var(--surface-alt)}.channel-selector-row label{font-size:14px;font-weight:600;color:var(--text-primary)}.channel-selector-row select{width:100%;min-width:0;max-width:none;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);color:var(--text-primary)}.channel-selector-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.command-groups{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.command-groups>div,.command-group-column{min-width:0;align-self:start}.command-list{display:grid;gap:8px;align-content:start}.command-option{border:1px solid var(--border-light);border-radius:10px;background:var(--surface);overflow:hidden;contain:layout paint}.command-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}.command-item{border:none;border-radius:0;background:var(--surface);text-align:left;padding:10px;display:grid;gap:4px;cursor:pointer;width:100%;min-width:0;min-height:84px;transition:background-color .2s ease,color .2s ease}.command-item span{color:var(--text-secondary);font-size:13px;overflow-wrap:anywhere}.command-item.selected{border-color:transparent;background:var(--accent-bg)}.command-item-header{display:flex;align-items:center;gap:8px;min-width:0}.command-panel{display:grid;grid-template-rows:0fr;border-top:1px solid transparent;transition:grid-template-rows .28s ease,border-color .25s ease}.command-panel.expanded{grid-template-rows:1fr;border-top-color:var(--border-light)}.command-panel-inner{min-height:0;overflow:hidden}.command-panel-content{padding:12px;min-width:0;overflow-x:hidden;min-height:240px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.command-panel.expanded .command-panel-content{visibility:visible;opacity:1;transform:translateY(0)}.command-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;min-width:0;gap:8px;background:var(--surface-alt);border:1px solid var(--border-light);border-radius:8px;padding:10px}.csv-guide{border-top:1px solid var(--border-light);margin-top:6px;padding-top:12px;min-width:0;max-width:100%;overflow-x:hidden}.csv-option .command-panel-content{min-height:420px}.status-alert-slot{display:grid;grid-template-rows:0fr;min-width:0;transition:grid-template-rows .22s ease,margin-top .22s ease}.status-alert-slot.visible{grid-template-rows:1fr;margin-top:12px}.status-alert{min-height:0;margin:0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;border:1px solid transparent}.status-alert.success{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.status-alert.error{color:var(--error-text);background:var(--error-bg);border-color:var(--error-border)}.options-list{display:grid;gap:8px;margin-bottom:8px}.option-row{display:grid;grid-template-columns:1fr 130px 1fr auto;gap:8px}.output-block{background:var(--code-bg);color:var(--code-text);border-radius:8px;padding:12px;overflow-x:auto;font-size:13px;max-width:100%}.error-message{color:var(--btn-danger);margin-top:12px}.csv-info-text{margin:0 0 10px;font-size:14px;color:var(--text-primary);max-width:100%;overflow-wrap:anywhere;word-break:break-word}.csv-table-wrapper{max-width:100%;overflow-x:hidden;overflow-y:auto;max-height:320px;margin-bottom:16px;border:1px solid var(--border-light);border-radius:8px}.csv-format-table{width:100%;min-width:0;border-collapse:collapse;font-size:13px;table-layout:fixed}.csv-format-table thead{background:var(--surface-alt)}.csv-format-table th,.csv-format-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border-light);white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.csv-format-table th:nth-child(1){width:44px;text-align:center}.csv-format-table th:nth-child(2){width:190px}.csv-format-table th:nth-child(3){width:92px}.csv-format-table tbody tr:last-child td{border-bottom:none}.csv-format-table tbody tr:hover{background:var(--bg)}.csv-format-table .col-order{color:var(--text-muted);font-weight:600;text-align:center;width:44px;padding-left:6px;padding-right:6px}.csv-format-table .col-type{color:var(--text-secondary);font-size:12px;width:92px;white-space:nowrap}.col-name{background:var(--accent-bg);color:var(--accent-text);border-radius:4px;padding:2px 6px;font-size:12px}.csv-preview-block{background:var(--code-bg);color:var(--code-text);border-radius:8px;padding:12px 16px;max-width:100%;overflow-x:hidden;overflow-y:auto;max-height:240px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;font-family:Menlo,Consolas,monospace;margin-bottom:16px;line-height:1.6}.csv-upload-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.csv-upload-form label{margin:0}.csv-submit-button{width:auto;min-width:132px;min-height:38px;padding:8px 12px}.card h1,.card h2,.card h3,.card p,.card pre,.card label,.card input,.card textarea,.card select,.card button{min-width:0}.csv-download-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;max-width:100%}@media (max-width: 980px){.app-shell{max-width:100%;padding:16px}.command-groups{grid-template-columns:1fr}.header-card{flex-direction:column;align-items:flex-start}.option-row{grid-template-columns:1fr}.command-panel-content{min-height:200px}.csv-option .command-panel-content{min-height:320px}}@media (max-width: 640px){.app-shell{gap:12px;padding:12px}.card{padding:12px;border-radius:8px}.card h1{font-size:1.3rem}.card h2{font-size:1.1rem}.guild-cards{grid-template-columns:1fr}input,textarea,select,.button{min-height:42px;padding:10px 12px;font-size:.98rem}.button{width:100%}.command-item{padding:12px;min-height:72px}.command-item span{font-size:14px}.csv-info-text{font-size:15px}.csv-format-table th,.csv-format-table td{white-space:normal;vertical-align:top}.csv-table-wrapper{overflow-x:auto}.csv-format-table{min-width:720px;table-layout:auto}.csv-table-wrapper,.csv-preview-block{max-height:none}.command-panel-content,.csv-option .command-panel-content{min-height:0}.csv-preview-block,.output-block{font-size:13px}.csv-upload-form{grid-template-columns:1fr;align-items:stretch}.csv-upload-form .csv-submit-button,.button{width:100%}.csv-download-btn{width:100%;justify-content:center}}
