/* app.css —— 由 prompt-generator.html 内联样式外置（内容原样） */

:root{color-scheme:dark;--bg:oklch(0.14 0.012 250);--bg-glow:oklch(0.3 0.06 200);--bg-deep:oklch(0.12 0.012 250);--surface:oklch(0.185 0.015 250);--surface2:oklch(0.235 0.02 250);--line:oklch(0.3 0.02 250);--line-strong:oklch(0.4 0.03 250);--text:oklch(0.965 0.008 250);--text-dim:oklch(0.74 0.02 250);--muted:oklch(0.66 0.02 250);--accent:oklch(0.8 0.12 185);--accent2:oklch(0.7 0.15 160);--accent-soft:oklch(0.8 0.12 185/.16);--ink:oklch(0.15 0.04 185);--ink-dim:oklch(0.2 0.05 185);--danger:oklch(0.72 0.17 25);--out-bg:oklch(0.12 0.012 250);--out-text:oklch(0.9 0.01 250);--r:14px;--rs:9px;--sh:0 24px 60px -28px oklch(0 0 0/.75)}
*{box-sizing:border-box}
html{color-scheme:dark}html,body{margin:0;background:var(--bg)}
body{color:var(--text);line-height:1.65;font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB","Segoe UI",sans-serif;background:radial-gradient(1100px 520px at 12% -12%,var(--bg-glow) 0%,transparent 58%),linear-gradient(180deg,var(--surface),var(--bg));min-height:100vh}
.wrap{max-width:1140px;margin:0 auto;padding:26px 20px 70px}
header.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:6px 0 22px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:var(--ink);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;box-shadow:0 6px 18px -8px var(--accent)}
.brand h1{font-size:21px;font-weight:800;margin:0;letter-spacing:.3px}
.brand h1 .grad{background:linear-gradient(92deg,var(--accent2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .sub{font-size:12.5px;color:var(--text-dim);margin:2px 0 0}
.seg{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}
.modebtn{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 20px;border-radius:999px;cursor:pointer;font-size:14px;transition:.15s}
.modebtn:hover{color:var(--text);border-color:var(--line)}
.modebtn.on{background:var(--accent);color:var(--ink);font-weight:700;border-color:transparent;box-shadow:0 6px 16px -8px var(--accent)}
.top-right{display:flex;align-items:center;gap:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;letter-spacing:.3px}
.field .hint{font-size:11.5px;color:var(--muted);opacity:.9;margin-top:4px}
.hint.err{color:var(--danger);opacity:1}
input,select,textarea{width:100%;background:var(--surface2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:var(--rs);font-size:14px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{min-height:70px;resize:vertical}
input.invalid,textarea.invalid{border-color:var(--danger)}
input.invalid:focus,textarea.invalid:focus{box-shadow:0 0 0 3px oklch(0.72 0.17 25/.15)}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ba6b4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}
input[type="checkbox"]{accent-color:var(--accent);cursor:pointer;width:16px;height:16px;margin-right:6px}
input[type="checkbox"]+label,label input[type="checkbox"]{display:inline-flex;align-items:center}
input[type="number"]{-moz-appearance:textfield;appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.card{background:linear-gradient(180deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px;box-shadow:var(--sh)}
.card h2{margin:0 0 14px;font-size:15px;display:flex;align-items:center;gap:8px;color:var(--text)}
.card h2 .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.hidden{display:none!important}
body[data-mode="image"] #outBox,body[data-mode="image"] #outBoxPro,body[data-mode="lib"] #outBox,body[data-mode="lib"] #outBoxPro,body[data-mode="video"] #outBoxImg,body[data-mode="lib"] #outBoxImg{display:none!important}
details{border:1px solid var(--line);border-radius:var(--rs);background:var(--surface);padding:11px 13px;margin-top:10px}
details summary{cursor:pointer;font-size:13px;color:var(--accent);user-select:none;list-style:none;position:relative;padding-right:18px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"";position:absolute;right:2px;top:1px;width:8px;height:8px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:rotate(-135deg)}
details[open] summary{margin-bottom:10px}
details summary:hover{color:var(--text)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.btn{border:1px solid var(--line);background:transparent;color:var(--text-dim);padding:10px 16px;border-radius:var(--rs);cursor:pointer;font-size:14px;transition:transform .1s,border-color .15s,background .15s,color .15s,box-shadow .15s}
.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(92deg,var(--accent2),var(--accent));color:var(--ink);font-weight:700;border:none;padding:12px 22px}
.btn.primary:hover{color:var(--ink);box-shadow:0 14px 34px -14px var(--accent)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.modebtn:focus-visible,.btn:focus-visible,.tabbtn:focus-visible,details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.out{margin-top:8px}
.outbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.tabbtn{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 15px;border-radius:999px;font-size:13px;transition:.15s}
.tabbtn:hover{color:var(--text);border-color:var(--accent)}
.tabbtn.on{background:var(--accent);color:var(--ink);border-color:transparent;font-weight:600}
pre{font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB","Segoe UI",sans-serif;background:var(--out-bg);border:1px solid var(--line);border-radius:var(--r);padding:18px;white-space:pre-wrap;word-break:break-word;font-size:13.5px;max-height:440px;overflow:auto;color:var(--out-text);line-height:1.75;margin:0}
.badge{display:inline-block;background:var(--accent);color:var(--ink);border-radius:999px;padding:3px 11px;font-size:11px;margin-right:8px;font-weight:600}
.status{font-size:12.5px;color:var(--muted);margin:10px 2px;min-height:18px}
.status.err{color:var(--danger)}
.status.ok{color:var(--accent)}
.row{display:flex;align-items:center;gap:8px}
@media(max-width:820px){.grid{grid-template-columns:1fr}.wrap{padding:20px 16px 60px}.topbar{align-items:flex-start}.brand h1{font-size:19px}.seg{width:100%;justify-content:stretch}.modebtn{flex:1;text-align:center;padding:8px 8px}.btn,.modebtn,select,input,textarea{min-height:44px}.brand-top{top:12px!important;left:14px!important}.brand-top .sub{display:none!important}.top-actions{position:fixed;top:12px!important;right:12px!important;left:auto!important;width:auto!important;justify-content:flex-end!important;gap:6px!important}.top-actions .btn{flex:none!important;padding:6px 12px!important;font-size:12px!important;text-align:center!important;justify-content:center!important}}
*{scrollbar-width:thin;scrollbar-color:var(--line-strong) var(--bg-deep)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg-deep);border-radius:8px}
::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px;border:1px solid var(--bg-deep)}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}.sel{position:relative}.sel-native{display:none!important}.sel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:var(--rs);cursor:pointer;font-size:14px;transition:border-color .15s,box-shadow .15s;text-align:left}.sel-btn:hover{border-color:var(--accent)}.sel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sel-btn .txt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-btn .cv{width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;flex:none;margin-top:-4px}.sel.open .sel-btn{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sel.open .sel-btn .cv{transform:rotate(-135deg);margin-top:3px}.sel-pop{position:absolute;top:100%;left:0;right:0;z-index:80;background:var(--surface2);border:1px solid var(--line);border-radius:var(--rs);padding:6px;max-height:240px;overflow:auto;box-shadow:0 20px 50px -18px oklch(0 0 0/.82);display:none}.sel.open .sel-pop{display:block}.sel-pop li{list-style:none;padding:9px 10px;border-radius:7px;cursor:pointer;color:var(--text);font-size:14px;margin:1px 0}.sel-pop li:hover{background:var(--accent-soft);color:var(--text)}.sel-pop li.on{background:var(--accent);color:var(--ink);font-weight:600}.combobox{position:relative}.combobox input{padding-right:40px}.combobox .cb-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:transparent;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.combobox .cb-btn:hover{background:var(--accent-soft)}.combobox .cb-btn i{width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);display:inline-block;margin-top:-3px}.combobox.open .cb-btn i{transform:rotate(-135deg);margin-top:3px}.combobox .cb-pop{position:absolute;top:100%;left:0;right:0;z-index:90;background:var(--surface2);border:1px solid var(--line);border-radius:var(--rs);padding:6px;max-height:220px;overflow:auto;box-shadow:0 20px 50px -18px oklch(0 0 0/.82);display:none}.combobox.open .cb-pop{display:block}.combobox .cb-pop li{list-style:none;padding:9px 10px;border-radius:7px;cursor:pointer;color:var(--text);font-size:14px;margin:1px 0}.combobox .cb-pop li:hover{background:var(--accent-soft);color:var(--text)}.combobox .cb-pop li.on{background:var(--accent);color:var(--ink);font-weight:600}.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal.hidden{display:none}.modal-bg{position:absolute;inset:0;background:oklch(0 0 0/.62);backdrop-filter:blur(3px)}.modal-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px;width:100%;max-width:560px;max-height:90vh;overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.modal-head h2 .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.modal-x{border:1px solid var(--line);background:var(--surface2);color:var(--muted);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}.modal-x:hover{color:var(--text);border-color:var(--accent)}.fieldnote{font-size:12.5px;color:var(--text-dim);margin:0 0 12px}#outPrompt{font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB",sans-serif;background:var(--out-bg);border:1px solid var(--line);border-radius:var(--r);padding:18px;white-space:pre-wrap;font-size:13.5px;max-height:440px;overflow:auto;color:var(--out-text);line-height:1.75;width:100%;min-height:120px;resize:vertical;margin:0;box-shadow:none}header{text-align:center;padding:78px 0 26px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:5px;color:var(--muted);margin-bottom:14px;text-transform:uppercase}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}header h1{font-size:clamp(30px,5vw,46px);font-weight:800;letter-spacing:1px;margin:0;line-height:1.15}header h1 .grad{background:linear-gradient(92deg,var(--accent2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}header .sub{color:var(--text-dim);font-size:14px;margin:14px 0 0}.header-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:34px;flex-wrap:wrap}/* ===== 视觉表现力：精细渐变 / 光效 / 字体层次 ===== */body{background:radial-gradient(1200px 820px at 16% -10%,oklch(0.34 0.07 196/.55) 0%,transparent 58%),radial-gradient(1000px 720px at 92% 0%,oklch(0.3 0.05 260/.38) 0%,transparent 55%),linear-gradient(180deg,oklch(0.165 0.012 250),var(--bg))}.wrap{position:relative;z-index:1}header h1{background:linear-gradient(100deg,var(--accent2),var(--accent) 55%,oklch(0.9 0.08 190));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px oklch(0.8 0.12 185/.35))}header .sub{font-size:14.5px;letter-spacing:.4px}.eyebrow{letter-spacing:6px}.eyebrow i{box-shadow:0 0 0 3px oklch(0.8 0.12 185/.18),0 0 20px var(--accent)}.card{background:linear-gradient(180deg,var(--surface2),var(--surface)) padding-box,linear-gradient(180deg,oklch(0.45 0.035 250/.5),oklch(0.26 0.02 250)) border-box;border:1px solid transparent;box-shadow:0 24px 60px -28px oklch(0 0 0/.75),inset 0 1px 0 oklch(0.6 0.03 250/.16)}.card h2{font-size:16px;letter-spacing:.5px}.btn.primary{background:linear-gradient(120deg,var(--accent2),var(--accent) 55%,oklch(0.86 0.11 170));box-shadow:0 12px 30px -12px var(--accent)}.btn.primary:hover{box-shadow:0 18px 44px -12px var(--accent);filter:brightness(1.06)}.btn:hover{box-shadow:0 12px 28px -16px var(--accent)}.btn{box-shadow:0 6px 16px -12px oklch(0 0 0/.6)}.modebtn.on{box-shadow:0 10px 30px -12px var(--accent)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-soft),0 8px 22px -12px var(--accent)}.combobox input:focus{box-shadow:0 0 0 3px var(--accent-soft),0 8px 22px -12px var(--accent)}.field label{letter-spacing:.4px}.mark{background:linear-gradient(135deg,var(--accent2),var(--accent) 60%,oklch(0.86 0.11 170));box-shadow:0 6px 20px -8px var(--accent)}.btn.loading{pointer-events:none;opacity:.85}.btn.loading::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card.out textarea,.card.out pre,#outPrompt,#outPromptPro,#outNotes,#outNotesPro{font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB","Segoe UI",sans-serif;line-height:1.9;letter-spacing:.2px}
#outPrompt,#outPromptPro{min-height:180px}
.history-list{max-height:60vh;overflow:auto;padding:2px}
.history-list .hitem{border:1px solid var(--line);border-radius:var(--rs);padding:10px 12px;margin-bottom:8px;cursor:pointer;background:var(--surface)}
.history-list .hitem:hover{border-color:var(--accent)}
.history-list .hitem .hmeta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-bottom:5px}
.history-list .hitem .htext.expand{max-height:none;overflow:visible}.htext{font-size:13px;color:var(--text);line-height:1.6;max-height:72px;overflow:hidden;white-space:pre-wrap;font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB","Segoe UI",sans-serif}
.history-list .hitem .hdel{color:var(--danger);cursor:pointer;font-size:11px}
.history-list .hitem .hdel:hover{text-decoration:underline}.history-list .href-preview{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}
.history-list .href-body{font-size:12.5px;color:var(--text);line-height:1.75;white-space:pre-wrap;max-height:260px;overflow:auto;background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:10px}
.history-list .href-ops{display:flex;gap:8px;margin-top:8px}
.history-list .href-ops .btn{padding:6px 16px;font-size:12.5px}.ver-toggle{font-weight:500;font-size:12px;color:var(--muted);margin-left:10px;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.ver-toggle input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.ver-off .grid{opacity:.45;pointer-events:none;transition:.2s}.field-info{position:fixed;z-index:420;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:330px;box-shadow:0 20px 48px -18px oklch(0 0 0/.9);pointer-events:none}.field-info .fi-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px}.field-info .fi-svg{display:block;width:100%;height:auto;background:var(--bg-deep);border-radius:8px;padding:6px}.field-info .fi-text{font-size:12.5px;color:var(--text-dim);margin-top:8px;line-height:1.6}.fi-q{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--surface2);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;line-height:1;margin-left:6px;cursor:pointer;vertical-align:middle;user-select:none}.fi-q:hover{color:var(--accent);border-color:var(--accent)}.smarton .cf,.smarton #boxOfficial,.smarton #boxPro{display:none!important}.field.smartonly{display:none}.smarton .field.smartonly{display:block}.float-settings{position:fixed;top:18px;right:18px;z-index:320;box-shadow:0 10px 26px -14px var(--accent)}/* ===== 提示词库 ===== */.lib-count{font-size:12px;font-weight:400;color:var(--text-dim);margin-left:8px;letter-spacing:.3px}.lib-head{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.lib-head input{flex:1;min-width:220px;background:var(--surface2);border:1px solid var(--line);color:var(--text);border-radius:var(--rs);padding:11px 14px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.lib-head input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lib-body{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}.lib-side{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:8px;position:sticky;top:8px}.lib-side .side-title{font-size:11px;letter-spacing:1.5px;color:var(--muted);padding:8px 10px;text-transform:uppercase}.lib-side .side-item{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--text-dim);transition:.15s;display:flex;align-items:center;justify-content:space-between;gap:8px}.lib-side .side-item:hover{background:var(--accent-soft);color:var(--text)}.lib-side .side-item.on{background:var(--accent);color:var(--ink);font-weight:600}.lib-side .side-item .cnt{font-size:11px;background:oklch(0.3 0.02 250/.5);border-radius:20px;padding:1px 8px;font-weight:500;color:var(--text-dim)}.lib-side .side-item.on .cnt{background:rgba(255,255,255,.2);color:var(--ink)}.lib-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.lib-chips .chip{background:var(--surface2);border:1px solid var(--line);color:var(--text-dim);border-radius:30px;padding:7px 15px;font-size:13px;cursor:pointer;transition:.15s}.lib-chips .chip:hover{border-color:var(--accent);color:var(--text)}.lib-chips .chip.on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}.lib-list{display:grid;gap:12px}.lib-item{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;gap:14px;align-items:flex-start;transition:border-color .15s}.lib-item:hover{border-color:var(--accent)}.lib-item .lib-t{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.3px;margin-bottom:8px;flex:none;min-width:86px}.lib-item .lib-p{font-size:13.5px;line-height:1.8;color:var(--text);white-space:pre-wrap;flex:1}.lib-copy{flex:none;align-self:flex-start;background:var(--surface);border:1px solid var(--line);color:var(--text-dim);border-radius:8px;padding:7px 14px;font-size:12.5px;cursor:pointer;transition:.15s;font-family:inherit}.lib-copy:hover{color:var(--ink);background:var(--accent);border-color:var(--accent)}.lib-note{margin-top:18px;background:var(--surface2);border:1px dashed var(--line);border-radius:var(--r);padding:14px 16px;font-size:13px;color:var(--text-dim);line-height:1.7}.lib-note b{color:var(--accent)}.lib-empty{color:var(--muted);text-align:center;padding:40px 0;font-size:14px}.lib-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--accent);color:var(--ink);padding:10px 22px;border-radius:30px;font-size:13.5px;font-weight:600;box-shadow:0 12px 30px -10px var(--accent);opacity:0;pointer-events:none;transition:.25s;z-index:999;font-family:"Microsoft YaHei","微软雅黑",sans-serif}.lib-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:640px){.lib-body{grid-template-columns:1fr}.lib-side{position:static;display:flex;flex-wrap:wrap;gap:6px}.lib-side .side-title{display:none}.lib-item{flex-direction:column}}
/* 提示词库：卡片网格 + 摘要折叠 + 分页 + 阅读 */
.lib-body{grid-template-columns:190px 1fr}
.lib-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.lib-item{flex-direction:column;padding:14px;gap:0;cursor:pointer;background:linear-gradient(180deg,var(--surface2),var(--surface)) padding-box,linear-gradient(180deg,oklch(0.45 .035 250/.42),oklch(0.26 .02 250)) border-box;border:1px solid transparent}
.lib-item:hover{border-color:var(--accent);box-shadow:0 10px 26px -18px oklch(0 0 0/.9)}
.lib-item .lib-t{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px;min-width:0;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-item .lib-p{font-size:12.5px;line-height:1.7;color:var(--text-dim);max-height:64px;overflow:hidden;position:relative;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1}
.lib-item .lib-p::after{content:"";position:absolute;right:0;bottom:0;left:0;height:26px;background:linear-gradient(180deg,transparent,var(--surface2));pointer-events:none}
.lib-cn{margin-top:6px;color:var(--accent);opacity:.92;font-size:11.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-cn{margin-top:10px;color:var(--accent);font-size:13px;line-height:1.62;padding:8px 12px;background:var(--surface2);border-radius:8px}
.lib-actions{display:flex;gap:8px;margin-top:12px;align-items:center}
.lib-actions .lib-copy,.lib-actions .lib-more{flex:1;padding:7px 10px;font-size:12.5px;text-align:center;border-radius:8px;cursor:pointer;transition:.15s;font-family:inherit}
.lib-more{background:var(--surface);border:1px solid var(--line);color:var(--text-dim)}
.lib-more:hover{color:var(--accent);border-color:var(--accent)}
.lib-loadmore{grid-column:1/-1;margin:12px 0 0;padding:12px;background:var(--surface2);border:1px dashed var(--line);color:var(--text-dim);border-radius:10px;cursor:pointer;font-size:13px;transition:.15s;font-family:inherit}
.lib-loadmore:hover{border-color:var(--accent);color:var(--accent)}
.lib-loadend{grid-column:1/-1;text-align:center;color:var(--muted);font-size:12px;padding:14px 0 4px}
.lib-tags{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px}
.lib-tags .tag{background:var(--surface2);border:1px solid var(--line);color:var(--text-dim);border-radius:30px;padding:6px 14px;font-size:12.5px;cursor:pointer;transition:.15s}
.lib-tags .tag:hover{border-color:var(--accent);color:var(--accent)}
.lib-read{position:fixed;inset:0;z-index:460;display:none;align-items:center;justify-content:center;padding:20px}
.lib-read.show{display:flex}
.lib-read .rb{position:absolute;inset:0;background:oklch(0 0 0/.66);backdrop-filter:blur(3px)}
.lib-read .rc{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);max-width:720px;width:100%;max-height:86vh;display:flex;flex-direction:column;padding:18px;overflow-y:auto}
.lib-read .rh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.lib-read .rh h3{margin:0;font-size:15px;font-weight:700;color:var(--text);flex:1}
.lib-read .rx{background:var(--surface2);border:1px solid var(--line);color:var(--muted);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;line-height:1;flex:none}
.lib-read .rp{font-size:13.5px;line-height:1.8;color:var(--text);white-space:pre-wrap;overflow:auto;flex:1;font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Hiragino Sans GB",sans-serif}
/* ===== 热门工具弹窗：控件字体统一 ===== */
#hotModal,#hotModal *{font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB","Segoe UI",sans-serif}
#hotModal textarea,#hotModal select,#hotModal input,#hotModal button{font-family:inherit;letter-spacing:.3px}
#hotModal textarea{line-height:1.75}
#hotStyles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#hotStyles .chip{background:var(--surface2);border:1px solid var(--line);color:var(--text-dim);border-radius:30px;padding:7px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:.16s;font-family:inherit;letter-spacing:.3px;user-select:none}
#hotStyles .chip:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
#hotStyles .chip.on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;box-shadow:0 6px 18px -8px var(--accent)}
#reconPanel .chip{background:var(--surface2);border:1px solid var(--line);color:var(--text-dim);border-radius:30px;padding:7px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:.16s;font-family:inherit;letter-spacing:.3px;user-select:none}
#reconPanel .chip:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
#reconPanel .chip.on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;box-shadow:0 6px 18px -8px var(--accent)}
.rev-drop,#reconUploadWrap label{position:relative}
.rev-clear{position:absolute;top:10px;right:10px;z-index:5;width:26px;height:26px;border-radius:50%;background:var(--surface2);border:1px solid var(--line);color:var(--muted);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:16px;line-height:1;font-family:inherit}
.rev-clear.show{display:flex}
.rev-clear:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}

.lib-read .rfoot{display:flex;gap:10px;margin-top:14px;justify-content:flex-end}
@media (max-width:800px){.lib-body{grid-template-columns:1fr}.lib-list{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.lib-list{grid-template-columns:1fr}}

.lib-actions .lib-copy,.lib-actions .lib-more{white-space:nowrap;flex:0 1 auto;min-width:88px}
.lib-item .lib-actions .lib-copy,.lib-item .lib-actions .lib-more{min-width:88px}
.lib-item{height:100%}
.lib-list{align-items:stretch}
.lib-item .lib-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.lib-item .lib-t{color:var(--accent)}

.lib-item .lib-t{flex:1 1 auto;width:100%;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-item .lib-p{width:100%;min-width:0;max-width:100%}

.lib-read .rh h3{color:var(--accent)}
.lib-read .rh h3{word-break:break-word}

.top-actions{position:fixed;top:18px;right:18px;z-index:320;display:flex;gap:8px}
.top-actions .btn{box-shadow:0 10px 26px -14px var(--accent)}
.btn.ghost{background:var(--surface2);color:var(--text-dim);border:1px solid var(--line)}
.btn.ghost:hover{color:var(--accent);border-color:var(--accent)}

.vseg{justify-content:center;margin:16px auto 0;max-width:420px}
.vseg{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}
.vseg .modebtn{flex:1;text-align:center;padding:8px 10px;font-size:13px}

.mode-nav{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.mode-chip{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:14px;border:1px solid var(--line);background:var(--surface2);color:var(--text-dim);font-size:14px;cursor:pointer;transition:.18s;font-family:inherit}
.mode-chip svg{width:18px;height:18px}
.mode-chip:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}
.mode-chip.on{background:linear-gradient(120deg,var(--accent2),var(--accent));color:var(--ink);border-color:transparent;font-weight:700;box-shadow:0 10px 28px -12px var(--accent)}
.subnav{display:flex;gap:26px;justify-content:center;max-width:560px;margin:20px auto 0;border-bottom:1px solid var(--line)}
.subtab{background:none;border:none;color:var(--text-dim);font-size:13.5px;padding:9px 2px;cursor:pointer;position:relative;font-family:inherit;letter-spacing:.3px}
.subtab:hover{color:var(--accent)}
.subtab.on{color:var(--text)}
.subtab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2.5px;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:3px;box-shadow:0 0 12px var(--accent)}

.subnav{font-size:15.5px;margin-bottom:14px}
.subtab{font-size:15.5px;padding-bottom:10px}
/* ===== 图片提示词卡片 · 视觉减负（仅覆盖该卡，不改变结构/数据/文案语义） ===== */
#imageCard{padding:24px 24px 20px}
#imageCard h2{margin-bottom:8px;letter-spacing:.5px}
#imageCard .fieldnote{font-size:12.5px;color:var(--muted);opacity:.88;line-height:1.6;letter-spacing:.2px;margin:2px 0 20px;max-width:680px}
#imageCard .field{margin-bottom:16px}
#imageCard .field label{font-size:12.5px;color:var(--text-dim);font-weight:600;letter-spacing:.4px;margin-bottom:8px}
#imageCard .field .hint{font-size:11.5px;line-height:1.55;opacity:.9;margin-top:6px}
#imageCard #imgReqWrap.textarea,#imageCard imgReq textarea,#imageCard #imgReqWrap textarea{min-height:136px;font-size:15px;line-height:1.8;padding:14px 16px;border-radius:12px}
#imageCard #imgReqWrap textarea::placeholder{color:var(--muted);opacity:.8;font-size:14px}
#imageCard #imgPlatHint{font-size:11.5px;line-height:1.55;opacity:.9;color:var(--text-dim);padding:9px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;margin-top:2px}
/* ===== 输出框自定义调整高度把手（替代原生难点的 resize 手柄） ===== */
.card.out textarea,#outPrompt,#outPromptPro,#outPromptImg{resize:none;max-height:none}
#outPromptImg{min-height:150px}
#imgReq,#req{resize:none!important}

.txt-resize-wrap{position:relative}
.txt-resize-wrap textarea{display:block}
.txt-resize-grip{position:absolute;right:2px;bottom:2px;width:24px;height:24px;border-radius:7px;cursor:ns-resize;touch-action:none;background:linear-gradient(135deg,transparent 46%,var(--accent) 48%,var(--accent) 62%,transparent 64%);opacity:.5;transition:opacity .15s,background .15s}
.txt-resize-grip:hover,.txt-resize-grip.grip-active{opacity:1}
.txt-resize-grip.grip-active{background-color:var(--accent-soft)}
/* ===== 提示词库：分类封面预览图 ===== */
.lib-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:12px;background:var(--surface2);border:1px solid var(--line)}
.lib-read .rc-cover{flex:none;margin-bottom:12px}
.lib-read .rc-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--surface2)}
.lib-read .rc-cover.hidden{display:none}

.acct-menu{position:absolute;top:110%;right:0;background:var(--surface2);border:1px solid var(--line);border-radius:12px;min-width:150px;padding:6px;box-shadow:0 18px 40px -14px oklch(0 0 0/.8);z-index:350}.acct-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-size:13.5px;white-space:nowrap;cursor:pointer}.acct-menu a:hover{background:var(--accent-soft);color:var(--text)}.acct-menu.hidden{display:none}

.subject-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.subject-tag{flex:none;font-size:12px;color:var(--text-dim);width:40px}.subject-row input{flex:1}.subject-del{flex:none;background:var(--surface2);border:1px solid var(--line);color:var(--muted);width:28px;height:28px;border-radius:7px;cursor:pointer}.subject-del:hover{color:var(--text);border-color:var(--accent)}

.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 0}.opt{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface2);cursor:pointer;font-size:13.5px;color:var(--text);line-height:1.35}.opt:hover{border-color:var(--accent)}.opt input{flex:none;width:auto;accent-color:var(--accent);margin:0}@media(max-width:640px){.opt-grid{grid-template-columns:1fr}}.brand-top .mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent2),var(--accent));display:grid;place-items:center;color:var(--ink);font-weight:800;font-size:19px;flex:none;box-shadow:0 10px 26px -10px var(--accent)}

.hot-grid>.hot-card{display:flex;flex-direction:column}.hot-grid>.hot-card>.hot-prev{flex:none}.hot-grid>.hot-card .btn{margin:auto auto 0 !important;flex:none}

.cost-hint{font-size:11px;font-weight:600;color:inherit;margin-left:6px;white-space:nowrap}
