:root{color-scheme:dark;--bg:#0c0d0f;--panel:#141619;--line:#2b2e33;--text:#f2f1ed;--muted:#8d929a;--accent:#c7ff4a;--danger:#ff7b72}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Microsoft YaHei,sans-serif;letter-spacing:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.lock-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(120deg,#0c0d0f 65%,#151912)}.lock-panel{width:min(420px,100%);border-top:1px solid var(--line);padding:42px 0}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--accent);color:#10120c;border-radius:6px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;margin:24px 0 8px}h1{font-size:42px;margin:0 0 12px}.muted,.section-heading p{color:var(--muted)}label{display:block;font-size:13px;font-weight:700;margin:22px 0 8px}.password-field{height:50px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.password-field input{flex:1;color:var(--text);border:0;outline:0;background:transparent}.primary{width:100%;min-height:50px;margin-top:18px;display:flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:6px;background:var(--accent);color:#11140b;font-weight:800;cursor:pointer}.primary:disabled{opacity:.4;cursor:not-allowed}.app-shell{min-height:100vh}header{height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand .brand-mark{width:36px;height:36px}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:11px;margin-top:3px}.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.status i{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent)}.settings-button{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer}.workspace{display:grid;grid-template-columns:minmax(320px,440px) 1fr;min-height:calc(100vh - 72px)}.controls{padding:36px clamp(20px,3.5vw,52px);border-right:1px solid var(--line)}.gallery{padding:36px clamp(20px,4vw,60px)}.section-heading{display:flex;gap:14px;align-items:flex-start}.section-heading>span{color:var(--accent);font:700 11px monospace;padding-top:5px}.section-heading h2{font-size:20px;margin:0}.section-heading p{font-size:12px;margin:5px 0 0}textarea,select{width:100%;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;outline:0}textarea:focus,select:focus{border-color:#687146}textarea{min-height:132px;padding:14px;resize:vertical;line-height:1.6}.counter{color:var(--muted);text-align:right;font-size:10px;margin-top:5px}.prompt-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.prompt-label-row label{margin:0}.polish-button{min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;color:var(--accent);background:#1a1e15;border:1px solid #3b4428;border-radius:5px;font-size:12px;font-weight:700;cursor:pointer}.polish-button:disabled{opacity:.45;cursor:not-allowed}.optional{display:inline;color:var(--muted);font-weight:400}.reference-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.reference-label-row label{margin-right:auto}.reference-label-row button{padding:0;color:var(--muted);background:transparent;border:0;font-size:11px;cursor:pointer}.reference-label-row button:hover{color:var(--text)}.upload{min-height:112px;margin-top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #3b3f45;border-radius:6px;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.upload.dragging{color:var(--accent);background:#1a1e15;border-color:var(--accent)}.upload strong{color:var(--text);font-size:12px}.upload span{font-size:10px}.upload input{display:none}.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.reference-preview{position:relative;aspect-ratio:1;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:5px;overflow:hidden}.reference-preview img{width:100%;height:100%;object-fit:contain}.reference-preview>span{position:absolute;left:5px;bottom:5px;min-width:20px;height:20px;display:grid;place-items:center;color:#fff;background:#090a0ccc;border-radius:3px;font-size:10px}.reference-preview button{position:absolute;top:5px;right:5px;width:28px;height:28px;display:grid;place-items:center;color:#fff;background:#090a0ccc;border:0;border-radius:4px;cursor:pointer}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}select{height:44px;padding:0 12px}.field-help{min-height:30px;margin:7px 2px 0;color:var(--muted);font-size:10px;line-height:1.45}.segments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segments button{height:40px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:5px;cursor:pointer}.segments button.active{color:#11140b;background:var(--accent);border-color:var(--accent);font-weight:800}.error{color:var(--danger);font-size:12px;line-height:1.5}.generate{margin-top:26px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery-head{display:flex;justify-content:space-between;align-items:flex-start}.icon-button{width:38px;height:38px;display:grid;place-items:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer}.empty{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.empty>div{width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px}.empty h3{color:var(--text);font-size:15px;margin:18px 0 5px}.empty p{font-size:12px;margin:0}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.image-grid article{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:6px}.image-preview-button{position:relative;display:block;width:100%;padding:0;color:var(--text);background:#0d0f11;border:0;cursor:zoom-in}.image-preview-button img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.image-preview-button span{position:absolute;right:9px;bottom:9px;display:flex;align-items:center;gap:6px;padding:7px 9px;color:#fff;background:#090a0ccc;border-radius:4px;font-size:11px;opacity:0;transition:opacity .15s}.image-preview-button:hover span,.image-preview-button:focus-visible span{opacity:1}.image-meta{min-height:54px;display:flex;gap:10px;align-items:center;padding:10px 12px}.image-meta p{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:11px;margin:0}.image-meta a{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#050607d9}.settings-modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:28px;background:#141619;border:1px solid #353940;border-radius:7px;box-shadow:0 24px 80px #000a}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-head .eyebrow{margin:0 0 7px}.modal-head h2{margin:0;font-size:24px}.settings-modal>.muted{margin:14px 0 4px;font-size:12px}.config-heading{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:14px}.config-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr);gap:12px}.text-input,.secret-input{width:100%;height:46px;color:var(--text);background:#0f1113;border:1px solid var(--line);border-radius:5px;outline:0}.text-input{padding:0 13px}.secret-input{display:flex;align-items:center}.secret-input input{flex:1;min-width:0;height:100%;padding:0 13px;color:var(--text);background:transparent;border:0;outline:0}.secret-input button{width:44px;height:44px;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;cursor:pointer}.text-input:focus,.secret-input:focus-within{border-color:#687146}.remember-row{display:flex;align-items:flex-start;gap:10px;margin:18px 0 2px;padding:12px;background:#0f1113;border:1px solid var(--line);border-radius:5px;cursor:pointer}.remember-row input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--accent)}.remember-row span,.remember-row strong,.remember-row small{display:block}.remember-row small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}.preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:14px;padding:42px 24px 24px;background:#050607f2}.preview-backdrop>img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.preview-close{position:absolute;top:18px;right:20px;width:40px;height:40px;display:grid;place-items:center;color:#fff;background:#151719;border:1px solid #3b3e43;border-radius:5px;cursor:pointer}.preview-actions{width:min(760px,100%);display:flex;align-items:center;gap:18px}.preview-actions p{flex:1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#b7babf;font-size:12px}.preview-actions a{min-height:38px;display:flex;align-items:center;gap:7px;padding:0 12px;color:#11140b;background:var(--accent);border-radius:5px;text-decoration:none;font-size:12px;font-weight:800}.assistant-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;justify-content:flex-end;background:#050607b8}.assistant-panel{width:min(560px,100%);height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#111315;border-left:1px solid #353940;box-shadow:-24px 0 80px #0008}.assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.assistant-head .eyebrow{margin:0 0 7px}.assistant-head h2{margin:0;font-size:22px}.idea-context{margin:16px 26px 0;padding:12px 14px;background:#191c1f;border-left:3px solid var(--accent)}.idea-context span,.chat-message span{color:var(--muted);font-size:10px;font-weight:700}.idea-context p{max-height:72px;overflow:auto;margin:6px 0 0;color:#c8c9c6;font-size:12px;line-height:1.55}.chat-list{min-height:0;overflow-y:auto;padding:18px 26px}.chat-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.chat-empty p{max-width:280px;font-size:12px;line-height:1.6}.chat-message{max-width:90%;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:6px}.chat-message.user{margin-left:auto;background:#1b1f17;border-color:#394426}.chat-message.assistant{background:#181a1d}.chat-message p{margin:6px 0 0;white-space:pre-wrap;color:#dedfdb;font-size:12px;line-height:1.65}.chat-message button{min-height:32px;margin-top:10px;display:flex;align-items:center;gap:6px;padding:0 10px;color:#11140b;background:var(--accent);border:0;border-radius:4px;font-size:11px;font-weight:800;cursor:pointer}.chat-loading{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.assistant-compose{padding:16px 26px 22px;border-top:1px solid var(--line)}.assistant-compose textarea{min-height:84px;max-height:150px}.assistant-compose>div{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.reset-chat,.send-button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:5px;font-size:12px;font-weight:700;cursor:pointer}.reset-chat{color:var(--muted);background:transparent;border:1px solid var(--line)}.send-button{color:#11140b;background:var(--accent);border:1px solid var(--accent)}.reset-chat:disabled,.send-button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:820px){header{height:64px}.workspace{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid var(--line)}.gallery{min-height:500px}}@media(max-width:480px){.settings-button span{display:none}.field-row,.config-grid{grid-template-columns:1fr;gap:0}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-grid{grid-template-columns:1fr}.image-preview-button span{opacity:1}.preview-actions{align-items:stretch;flex-direction:column}.preview-actions p{width:100%}h1{font-size:36px}.settings-modal{padding:22px}}
