/* Connection handbook, exact image frames and shared drag-and-drop feedback. */
.connection-only{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:30px;align-items:start;max-width:none}
.connection-form{min-width:0}.connection-form>h2{font-weight:800}
.connection-guide{position:sticky;top:104px;max-height:calc(100dvh - 128px);overflow:auto;scrollbar-gutter:stable;padding:26px;scroll-padding-top:170px}
.connection-guide-heading h2{font-size:27px;font-weight:800;margin:13px 0 7px}.connection-guide-heading p{margin:0 0 23px}
.parameter-search{display:block;color:#d5dec8;font-size:12px}.parameter-search input{margin-top:9px;width:100%;min-width:0}
.connection-guide .parameter-focus{font-size:11px;color:#c8e580;border-left:2px solid #a5c75b;padding-left:11px;margin:17px 0}
.connection-first-steps{padding:17px;background:#292e22;border:1px solid #424c32;border-radius:5px;margin:0 0 19px}
.connection-first-steps strong{color:#d6e3bb;font-size:13px}.connection-first-steps ol{font-size:12px;line-height:1.9;color:#aebc9c;margin:10px 0;padding-left:20px}.connection-first-steps p{font-size:11px;margin:10px 0 0}
.parameter-help{border-top:1px solid #3a4230;padding:15px 0;min-width:0}.parameter-help summary{cursor:pointer;color:#d6e0c8;font-size:13px;font-weight:700;line-height:1.7;list-style:none;display:flex;justify-content:space-between;gap:12px}
.parameter-help summary:after{content:'+';color:#bfdb80;font-size:17px}.parameter-help[open] summary:after{content:'−'}.parameter-help summary small{font-size:10px;color:#8e9e77;font-weight:400;margin-left:auto;white-space:nowrap;align-self:center}
.parameter-help.is-current{border-color:#bad37b;background:#2a3222;margin:0 -12px;padding:15px 12px;border-radius:5px}
.parameter-help p{font-size:12px;line-height:1.95;margin:13px 0 0;overflow-wrap:anywhere}.parameter-help p strong{display:block;color:#d4debc;font-size:11px;margin-bottom:4px}
.parameter-advice{padding:12px;background:#252c1d;border-left:2px solid #879f50}
.connection-sources{display:flex;flex-wrap:wrap;gap:9px 14px;border-top:1px solid #3c4530;margin-top:19px;padding-top:18px;font-size:10px;line-height:1.8}.connection-sources span{flex-basis:100%;color:#8e9b7c}.connection-sources a{color:#c3dc87;text-decoration:underline}
.connection-manual{max-width:980px;margin:auto}.manual-intro{padding:0 0 25px;border-bottom:1px solid #455037}.manual-intro h2{font-size:29px;margin:12px 0 18px;color:#e1e8d6}.connection-manual p{font-size:14px;line-height:2;color:#b8c4a8}.connection-manual>section{margin-top:30px}.connection-manual h3{font-size:21px;color:#d3e4ad;margin:0 0 15px}.connection-manual .parameter-help summary{font-size:15px}.connection-manual .parameter-help p{font-size:13px}
.connection-guide [hidden]{display:none!important}
.deepseek-guide{margin:0 0 26px;padding:20px 24px;border:1px solid #8eaa6155;border-radius:16px;background:linear-gradient(120deg,#7e9a401a,#171e23)}
.deepseek-guide>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:17px;font-weight:700;list-style:revert}
.deepseek-guide>summary small{font-size:12px;font-weight:400;color:#aeb7ac}.deepseek-guide-body{padding-top:16px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.deepseek-guide-body a{color:#c8e580;text-decoration:underline;text-underline-offset:3px}.deepseek-guide-body code{white-space:normal;overflow-wrap:anywhere;padding:2px 5px;background:#0003;border-radius:4px;color:#e1e8d9}
.deepseek-steps{padding-left:24px;margin:18px 0}.deepseek-steps>li{padding-left:6px;margin-bottom:25px}.deepseek-steps h3{margin:0 0 8px;font-size:16px}.deepseek-steps p{margin:8px 0}.deepseek-fields,.deepseek-advanced{padding:15px 18px;background:#0002;border-radius:10px;margin-top:14px}.deepseek-guide dl{display:grid;grid-template-columns:minmax(135px,1fr) minmax(0,3fr);margin:0}.deepseek-guide dt,.deepseek-guide dd{padding:10px 0;margin:0;border-bottom:1px solid #ffffff10}.deepseek-guide dt{font-weight:600;padding-right:16px}.deepseek-guide dd span{display:block;color:#aeb7ac;font-size:12px;margin-top:3px}.deepseek-advanced>summary{cursor:pointer}.deepseek-advanced dl{margin-top:12px}.deepseek-official{color:#aeb7ac;font-size:12px}
@media(max-width:600px){.deepseek-guide{padding:17px}.deepseek-guide>summary{font-size:15px}.deepseek-steps{padding-left:18px}.deepseek-fields,.deepseek-advanced{padding:12px}.deepseek-guide dl{grid-template-columns:minmax(0,1fr)}.deepseek-guide dt{border-bottom:0;padding-bottom:0}.deepseek-guide dd{padding-top:3px}.deepseek-guide-body{font-size:13px}}
.image-drop-target{position:relative;border:1px dashed #59684a;padding:16px;border-radius:6px;background:#24291f;transition:border-color .15s,background .15s}
.image-drop-feedback{display:block!important;margin:11px 0 0;font-size:11px;color:#b3c88f!important;line-height:1.8;overflow-wrap:anywhere}
.identity-upload.image-drop-target{padding:25px}.image-drop-target.is-dragging,[data-art-drop].is-dragging{outline:2px solid #c1ea67;outline-offset:3px;border-color:#c1ea67;background:#344325;box-shadow:0 0 0 6px #bde47b12}
[data-art-drop][aria-disabled=true]{opacity:.65}.character-image-grid{align-items:start}
.character-image-grid figure>img,.detail-character-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.character-image-grid .asset-add{width:100%;height:auto;min-height:0;aspect-ratio:3/4;align-self:start;padding:15px}
.character-placeholder{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#303729;color:#b5cd8d;padding:20px;text-align:center}
.character-placeholder strong{font-size:13px}.character-placeholder span{font-size:11px;line-height:1.8}
.crop-preview.portrait-crop{width:min(100%,300px,39vh);max-height:none;aspect-ratio:3/4}.crop-preview.portrait-crop canvas{width:100%;height:100%}
.guide-index{max-height:calc(100dvh - 128px);overflow:auto}.guide-document{min-width:0;max-width:960px}.guide-document .guide-notice{padding:22px 24px;background:#29301f;border:1px solid #59673b;border-left:3px solid #c0df78;margin:0 0 35px;border-radius:5px}
.guide-document .guide-notice p{font-size:14px;margin:0}.guide-document ul,.guide-document ol{padding-left:23px;font-size:14px;color:#bbc5ad;line-height:2}.guide-document li+li{margin-top:9px}
.guide-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}.guide-example{padding:20px;background:#23291d;border:1px solid #465437;border-radius:6px;min-width:0}.guide-example h3{font-size:13px;color:#d2e8a7;margin:0 0 10px}.guide-example p{font-size:13px;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.guide-example.revise{border-color:#665c3a;background:#2b291f}.guide-example.revise h3{color:#dfcc8e}
.guide-table-wrap{overflow:auto;margin:20px 0}.guide-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.8;color:#b9c5a8}.guide-table th,.guide-table td{border:1px solid #424d32;padding:13px;text-align:left;vertical-align:top}.guide-table th{background:#2d3524;color:#d7e6bb;font-weight:700}.guide-table td:first-child{min-width:110px;color:#d1dfbc}
.guide-checklist{list-style:none;padding:20px!important;background:#262f20;border:1px solid #455c30;border-radius:6px}.guide-checklist li{position:relative;padding-left:20px}.guide-checklist li:before{content:'✓';color:#bbda75;position:absolute;left:0}
@media(max-width:1100px){.connection-only{grid-template-columns:minmax(0,1fr);gap:24px}.connection-guide{position:static;max-height:none}.parameter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;align-items:start}.parameter-help.is-current{margin:0;padding:15px 12px}.connection-guide-heading h2{font-size:25px}}
@media(max-width:760px){.connection-guide{padding:22px}.parameter-list{display:block}.guide-index{max-height:none}.guide-examples{grid-template-columns:1fr}.guide-document .guide-notice{padding:18px}.guide-table th,.guide-table td{padding:10px;font-size:12px}.image-drop-target{padding:13px}.crop-preview.portrait-crop{width:min(100%,240px,33vh)}.character-image-grid .asset-add{min-height:0;padding:12px;gap:10px}.character-image-grid .asset-add span{font-size:10px}.manual-intro h2{font-size:24px}}
@media(max-width:400px){#main:has(.connection-only)>.page-heading{flex-wrap:wrap;gap:18px}#main:has(.connection-only)>.page-heading>.actions{width:100%;flex-wrap:wrap}}
