.sampling-launcher{position:fixed;right:25.5px;bottom:350px;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:9999;transition:transform .3s}
.sampling-launcher:hover{transform:scale(1.16)}
.sampling-launcher img{width:100%;height:100%;display:block}
.sampling-launcher:before{content:'取样助手';display:none;position:absolute;right:calc(100% + 15px);top:50%;transform:translateY(-50%);padding:12px;border-radius:4px;background:#f5f5f5;color:#999;font-size:20px;white-space:nowrap;writing-mode:vertical-lr;pointer-events:none}
.sampling-launcher:hover:before{display:block}
.sampling-panel{position:fixed;top:20px;right:8px;bottom:20px;width:550px;height:auto;max-height:none;box-sizing:border-box;max-width:calc(100vw - 40px);background:#fff;border:1px solid #e5e6eb;border-radius:8px;box-shadow:0 6px 8px #0002;z-index:10000;display:flex;flex-direction:column;overflow:hidden;font:14px 'Microsoft YaHei',sans-serif;color:#1d2129;text-align:left}
.sampling-panel[hidden],.sampling-launcher[hidden]{display:none}
.sampling-heading{flex-shrink:0;height:56px;min-height:56px;padding:0 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #eaebef;box-sizing:border-box}
.sampling-heading img{width:24px;height:24px}.sampling-heading strong{flex:1;font-size:14px}.sampling-close{border:0;background:transparent;color:#555;cursor:pointer;font-size:22px}
.sampling-messages{flex:1;overflow:auto;min-height:0;padding:24px 32px}
.sampling-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px}.sampling-avatar{width:32px;height:32px;flex-shrink:0;border-radius:50%}.sampling-content{min-width:0;max-width:calc(100% - 44px)}.sampling-name{font-size:12px;margin-bottom:4px;line-height:18px}.sampling-message{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f3f8;border-radius:8px;padding:12px 16px;line-height:1.7;font-size:14px}.sampling-user .sampling-message{background:#d4d1ff}
.sampling-form{margin:0 24px 24px;position:relative;background:#f5f6fa;border-radius:28px;padding:14px 52px 14px 20px;flex-shrink:0}.sampling-form textarea{display:block;box-sizing:border-box;width:100%;height:24px;max-height:120px;resize:none;border:0;outline:none;background:transparent;font:14px/24px 'Microsoft YaHei',sans-serif;color:#1d2129}.sampling-form textarea::placeholder{color:#a5a9b8}.sampling-form button{position:absolute;right:16px;bottom:12px;border:0;padding:0;background:transparent;color:#7f78e8;cursor:pointer}.sampling-form button:disabled{opacity:.4;cursor:wait}.sampling-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.sampling-panel{top:0;right:0;bottom:0;width:100%;max-width:100%;height:auto;max-height:none;border-radius:0}.sampling-messages{padding:20px 16px}}
/* Match AIHub SamplingAssistantPanel chat-mode presentation. */
.sampling-heading{height:auto;min-height:76px;padding:14px 18px;gap:12px;background:linear-gradient(135deg,rgba(20,184,166,.08),rgba(99,102,241,.06))}
.sampling-brand{flex:1;min-width:0}.sampling-brand strong{font-size:16px;font-weight:800;line-height:1.35}.sampling-brand p{font-size:12px;line-height:1.5;margin:3px 0 0;color:#64748b}
.sampling-heading img{width:38px;height:38px;border-radius:12px}.sampling-clear{border:1px solid #dce1e8;background:#fff;border-radius:6px;padding:6px 9px;white-space:nowrap;cursor:pointer;font-size:12px;color:#334155}.sampling-clear:disabled{opacity:.5;cursor:wait}
.sampling-messages{padding:20px 22px}.sampling-row{margin-bottom:16px;gap:12px}.sampling-content{max-width:88%;width:calc(100% - 44px)}.sampling-name{font-size:14px;font-weight:800;margin-bottom:8px}.sampling-message{background:#f1f5f9;border-radius:12px;padding:16px;font-size:14px;line-height:1.8;color:#0f172a}
.sampling-user{justify-content:flex-end}.sampling-user .sampling-avatar,.sampling-user .sampling-name{display:none}.sampling-user .sampling-content{width:auto;max-width:76%}.sampling-user .sampling-message{background:linear-gradient(135deg,#3b82f6,rgba(99,102,241,.86));color:#fff;border-radius:14px 14px 4px 14px;padding:10px 13px;font-size:13px;line-height:1.65}
.sampling-markdown{white-space:normal}.sampling-markdown h1,.sampling-markdown h2,.sampling-markdown h3{font-size:18px;line-height:1.45;font-weight:800;margin:0 0 16px;color:inherit}.sampling-markdown h4{font-size:16px;line-height:1.5;font-weight:800;margin:4px 0 12px}.sampling-markdown p{margin:0 0 18px}.sampling-markdown ul{list-style:disc;margin:0 0 18px;padding-left:22px}.sampling-markdown ol{list-style:decimal;margin:0 0 18px;padding-left:24px}.sampling-markdown li{margin-bottom:8px}.sampling-markdown strong{font-weight:800}.sampling-markdown hr{margin:22px 0;border:0;border-top:1px solid rgba(100,116,139,.24)}.sampling-markdown a{color:#2563eb}.sampling-markdown img{max-width:100%;height:auto;border-radius:10px}.sampling-markdown table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin-bottom:18px}.sampling-markdown th,.sampling-markdown td{border:1px solid #cbd5e1;padding:6px 10px}.sampling-markdown pre{overflow:auto;white-space:pre;padding:12px;background:#e2e8f0;border-radius:8px}.sampling-markdown>:last-child{margin-bottom:0}
.sampling-image{display:block;width:min(100%,520px);border-radius:10px;border:1px solid #e2e8f0;overflow:hidden;margin:8px 0 18px;color:#64748b}.sampling-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}.sampling-sources{margin-top:18px;border-top:1px solid #dce3ec;padding-top:12px;font-size:12px}.sampling-sources summary{cursor:pointer;color:#64748b}.sampling-sources p{white-space:pre-wrap;color:#475569;line-height:1.55;margin:5px 0 12px}.sampling-suggestion{display:block;text-align:left;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;padding:7px 10px;margin-top:8px;cursor:pointer}
.sampling-form{margin:12px 16px 0;background:#f8fafc;border:1px solid #dce1e8;border-radius:12px;padding:12px 44px 12px 12px}.sampling-form textarea{font-size:12px;min-height:28px;height:44px;line-height:22px}.sampling-form button{color:#c7cbd1;right:14px;bottom:18px}.sampling-footer{flex-shrink:0;font-size:10px;text-align:center;color:#94a3b8;margin:6px 10px 10px}
/* Supplied artwork stays fixed within the panel while messages scroll. */
.sampling-panel{background-color:#f7faff;background-image:url('/public/image/ai/sampling-background.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.sampling-heading{background:rgba(255,255,255,.82);backdrop-filter:blur(8px)}
.sampling-messages{background:transparent}
.sampling-message{background:rgba(255,255,255,.92)}
.sampling-user .sampling-message{background:linear-gradient(135deg,rgba(59,130,246,.94),rgba(99,102,241,.94))}
.sampling-name{color:#0f172a;text-shadow:0 1px 3px rgba(255,255,255,.9)}
.sampling-form{background:rgba(255,255,255,.94)}
.sampling-footer{color:#334155;text-shadow:0 1px 3px #fff}

.sampling-launcher{width:80px;height:80px;border-radius:0}
.sampling-launcher img,.sampling-heading img,.sampling-avatar{object-fit:contain;border-radius:0}
/* 12px thumb with proportional height; native scrolling remains available for wheel/keyboard. */
.sampling-scroll-area{position:relative;flex:1;min-height:0;overflow:hidden}
.sampling-scroll-area .sampling-messages{height:100%;box-sizing:border-box;overflow-y:auto;scrollbar-width:none}
.sampling-scroll-area .sampling-messages::-webkit-scrollbar{display:none;width:0;height:0}
.sampling-scrollbar{position:absolute;top:0;right:4px;bottom:0;width:12px;opacity:0;pointer-events:none;transition:opacity .15s}
.sampling-scrollbar[hidden]{display:none}
.sampling-panel:hover .sampling-scrollbar{opacity:1}
.sampling-scrollbar-thumb{position:absolute;top:0;left:0;width:12px;height:28px;border-radius:6px;background:rgba(0,0,0,.15);pointer-events:auto;touch-action:none;cursor:pointer}
@media(min-width:601px){.sampling-panel{width:calc(100% / 3)}}

/* Numbered precautions remain readable in the narrow chat panel. */
.sampling-markdown ol{list-style:none;counter-reset:sampling-item;padding-left:0}.sampling-markdown ol>li{counter-increment:sampling-item;position:relative;padding-left:32px;margin-bottom:12px}.sampling-markdown ol>li:before{content:counter(sampling-item);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:#e8f1ff;color:#2563eb;text-align:center;font-size:12px;line-height:22px}.sampling-markdown ol>li>p{margin-bottom:0}

/* Square thumbnails keep a two-column layout, including a single image. */
.sampling-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 18px}.sampling-gallery .sampling-image{width:100%;aspect-ratio:1;box-sizing:border-box;margin:0}.sampling-gallery .sampling-image img{width:100%;height:100%;max-height:none;object-fit:cover}

.sampling-parameters{margin-bottom:18px}.sampling-parameters>p{margin-bottom:8px}.sampling-parameters-default{padding-left:20px}.sampling-parameters-default>strong{display:block;margin-bottom:6px;font-size:13px}.sampling-parameters-default>div{padding-left:12px;overflow-wrap:anywhere}

.sampling-parameters-default+.sampling-parameters-default{margin-top:12px}

.sampling-status{margin:12px 0 0;color:#64748b;font-size:12px}

.sampling-form button[data-ready='true']{color:#93bfff}.sampling-form button:disabled{color:#c7cbd1;opacity:1;cursor:default}

/* Assistant cards align with the avatar's left edge below the identity row. */
.sampling-row:not(.sampling-user){position:relative;display:block}.sampling-row:not(.sampling-user)>.sampling-avatar{position:absolute;left:0;top:0}.sampling-row:not(.sampling-user)>.sampling-content{width:100%;max-width:100%}.sampling-row:not(.sampling-user) .sampling-name{box-sizing:border-box;min-height:32px;padding-left:44px;display:flex;align-items:center;margin-bottom:8px}

/* Match the main site's font, including native form controls. */
.sampling-panel,.sampling-panel button,.sampling-panel textarea,.sampling-launcher{font-family:'Microsoft YaHei',sans-serif}
