@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-thai-400-normal-Bt1rR4gi.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-400-normal-DKc8V4lk.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-latin-400-normal-CwmoKdEh.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-latin-400-normal-YXrLwNa7.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-thai-600-normal-DvfsyWAn.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-600-normal-BOwfviun.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-latin-600-normal-BR-dhaTH.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-latin-600-normal-P_JjY83V.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-thai-700-normal-0moayseG.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-thai-700-normal-Bo0ALcDh.woff) format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-latin-700-normal-Ct-BCS9V.woff2) format("woff2"),url(/assets/ibm-plex-sans-thai-latin-700-normal-SmVfMUPf.woff) format("woff")}:root{--bg:#F5F5F3;--panel:#ffffff;--panel2:#ECECEA;--border:#E0DFDC;--border-strong:#C7C6C2;--text:#17171A;--muted:#6E6E71;--accent:#e2242c;--accent2:#a8151c;--danger:#D8394A;--danger-text:#9A2530;--ok:#1FA35C;--accent-wash-weak:rgba(226,36,44,.08);--accent-wash:rgba(226,36,44,.12);--accent-wash-strong:rgba(226,36,44,.14);--accent-border:rgba(226,36,44,.25);--danger-wash:rgba(216,57,74,.08);--overlay-subtle:rgba(23,23,26,.04);--shadow-sm:0 2px 10px rgba(23,23,26,.06);--shadow-md:0 12px 32px rgba(23,23,26,.1);--shadow-lg:0 20px 60px rgba(23,23,26,.14);--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--radius-2xs:6px;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-lg:14px;--radius-xl:16px;--radius-2xl:18px;--radius-full:999px;--opacity-disabled:.4;--transition:.15s ease;--mode-image:var(--accent);--mode-creative:#8b5cf6;--mode-agent:#0d9488;--mode-coding:#d97706}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#121214;--panel:#1C1C20;--panel2:#28282C;--border:#38383D;--border-strong:#4A4A50;--text:#EDEDEF;--muted:#9B9BA3;--accent:#ff3b44;--accent2:#c2222b;--danger:#ff5c5c;--danger-text:#ffb0b0;--ok:#34d399;--accent-wash-weak:rgba(255,59,68,.14);--accent-wash:rgba(255,59,68,.18);--accent-wash-strong:rgba(255,59,68,.22);--accent-border:rgba(255,59,68,.35);--danger-wash:rgba(255,92,92,.12);--overlay-subtle:rgba(255,255,255,.06);--shadow-sm:0 2px 10px rgba(0,0,0,.3);--shadow-md:0 12px 32px rgba(0,0,0,.4);--shadow-lg:0 20px 60px rgba(0,0,0,.5);--mode-creative:#a78bfa;--mode-agent:#2dd4bf;--mode-coding:#fbbf24}}:root[data-theme=dark]{--bg:#121214;--panel:#1C1C20;--panel2:#28282C;--border:#38383D;--border-strong:#4A4A50;--text:#EDEDEF;--muted:#9B9BA3;--accent:#ff3b44;--accent2:#c2222b;--danger:#ff5c5c;--danger-text:#ffb0b0;--ok:#34d399;--accent-wash-weak:rgba(255,59,68,.14);--accent-wash:rgba(255,59,68,.18);--accent-wash-strong:rgba(255,59,68,.22);--accent-border:rgba(255,59,68,.35);--danger-wash:rgba(255,92,92,.12);--overlay-subtle:rgba(255,255,255,.06);--shadow-sm:0 2px 10px rgba(0,0,0,.3);--shadow-md:0 12px 32px rgba(0,0,0,.4);--shadow-lg:0 20px 60px rgba(0,0,0,.5);--mode-creative:#a78bfa;--mode-agent:#2dd4bf;--mode-coding:#fbbf24}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit}html,body,#root{height:100%}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{margin:0;font-family:IBM Plex Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.65;background:var(--bg);color:var(--text)}button,a,.conv-item{transition:background-color var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition),transform var(--transition),filter var(--transition)}button:not(:disabled):active,a:active,.conv-item:active{opacity:.75}.new-chat-btn:active,button.primary:not(:disabled):active,.send-btn:not(:disabled):active,.login-btn:active{transform:scale(.96)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.send-btn:focus-visible,.icon-btn:focus-visible,.stop-btn:focus-visible,.msg-avatar:focus-visible,.picker-thumb:focus-visible{border-radius:var(--radius-full)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--border-strong)}*::-webkit-scrollbar-corner{background:transparent}.app-shell{display:flex;height:100%}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text);cursor:pointer;padding:6px;margin-right:6px;flex-shrink:0}.sidebar-backdrop,.settings-backdrop{display:none}.sidebar{width:260px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px;gap:14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 2px}.sidebar-brand img{width:28px;height:28px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px}.sidebar-brand span{font-size:var(--text-lg);font-weight:600}.sidebar-brand b{color:var(--accent);font-weight:700}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:var(--radius-full);padding:11px 14px;font-size:var(--text-md);font-weight:600;cursor:pointer}.new-chat-btn:hover{filter:brightness(1.08)}.conv-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.conv-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:var(--radius-md);cursor:pointer;color:var(--muted);font-size:var(--text-sm)}.conv-item:hover{background:var(--panel2);color:var(--text)}.conv-item.active{background:var(--accent-wash-weak);color:var(--text);border:1px solid var(--accent-border)}.sidebar-footer{display:none;flex-direction:column;align-items:flex-start;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.sidebar-footer .gear-btn{width:100%}.conv-item-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.conv-item-icon{flex-shrink:0}.conv-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.conv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-time{font-size:var(--text-2xs);color:var(--muted);opacity:.75}.mode-icon-image{color:var(--mode-image)}.mode-icon-creative{color:var(--mode-creative)}.mode-icon-agent{color:var(--mode-agent)}.mode-icon-coding{color:var(--mode-coding)}.conv-delete{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;flex-shrink:0}@media (hover:hover){.conv-delete{opacity:0}.conv-item:hover .conv-delete,.conv-delete:focus-visible{opacity:1}}.conv-delete:hover{color:var(--danger)}.chat-area{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;height:100%}.network-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.6}@media (prefers-reduced-motion: reduce){.network-bg{opacity:.4}}header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:34px;height:34px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}header h1{font-size:var(--text-lg);margin:0;font-weight:600}header h1 span{color:var(--accent)}header .sub{color:var(--muted);font-size:var(--text-xs);margin-top:2px}header h1 .version-badge{font-family:inherit;font-size:var(--text-2xs);font-weight:600;color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 7px;vertical-align:middle;cursor:pointer}header h1 .version-badge:hover{color:var(--text);border-color:var(--accent)}.gear-btn{display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-full);padding:8px 14px;cursor:pointer;font-size:var(--text-sm);flex-shrink:0}.gear-btn:hover{background:var(--panel2)}.settings-panel{margin:16px 24px 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}label{font-size:var(--text-sm);color:var(--muted);display:block;margin-bottom:6px}input[type=text],textarea,select{width:100%;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);padding:10px 12px;font-size:var(--text-md);font-family:inherit}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.hint{font-size:var(--text-xs);color:var(--muted);margin-top:6px;line-height:1.5}.model-readout{display:flex;flex-direction:column;gap:6px;margin-top:8px}.model-readout-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 12px;font-size:var(--text-sm)}.model-readout-row span{color:var(--muted);flex-shrink:0}.model-readout-row code{color:var(--text);font-size:var(--text-xs);text-align:right;word-break:break-all}button.primary{display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:var(--radius-full);padding:11px 18px;font-size:var(--text-md);font-weight:600;cursor:pointer}button.primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}button.primary:not(:disabled):hover{filter:brightness(1.08)}.status{display:flex;align-items:center;gap:10px;font-size:var(--text-md);color:var(--muted)}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.image-skeleton{margin-top:10px;width:220px;max-width:100%;aspect-ratio:1;border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--panel2) 30%,var(--border) 50%,var(--panel2) 70%);background-size:200% 100%;animation:skeleton-sweep 1.6s ease-in-out infinite}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.image-skeleton{animation:none}}.checkerboard{background-image:linear-gradient(45deg,var(--panel2) 25%,transparent 25%),linear-gradient(-45deg,var(--panel2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--panel2) 75%),linear-gradient(-45deg,transparent 75%,var(--panel2) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:var(--panel)}.collapse-toggle{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--muted);font-size:var(--text-2xs);cursor:pointer;padding:0}.collapse-toggle:hover{color:var(--text)}.collapse-toggle svg{transition:transform var(--transition);flex-shrink:0}.collapse-toggle .chevron-open{transform:rotate(180deg)}.thinking-live{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:var(--text-xs);margin-top:8px}.thinking-live svg{flex-shrink:0;margin-top:2px}.thinking-live-text{max-height:80px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-style:italic;line-height:1.5}.thinking-collapsible{margin-bottom:6px}.thinking-text{margin-top:6px;padding:10px 12px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--muted);font-style:italic;white-space:pre-wrap;word-break:break-word;line-height:1.6;max-height:240px;overflow:auto}.error-box{background:var(--danger-wash);border:1px solid var(--danger);color:var(--danger-text);border-radius:var(--radius-sm);padding:12px 14px;font-size:var(--text-sm)}.error-box-headline{display:flex;align-items:center;gap:8px;font-weight:600}.error-box-toggle{color:var(--danger-text);opacity:.75;padding:6px 0 0}.error-box-toggle:hover{opacity:1;color:var(--danger-text)}.error-box-detail{margin:8px 0 0;padding:10px;background:var(--overlay-subtle);border-radius:var(--radius-xs);font-size:var(--text-2xs);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto;font-family:ui-monospace,monospace}.link-btn{background:none;border:none;color:var(--accent);font-size:var(--text-xs);cursor:pointer;padding:6px 0 0}.link-btn:hover{text-decoration:underline}.advanced-toggle{font-size:var(--text-xs);padding:10px 0 0;margin-top:6px;border-top:1px solid var(--border)}.empty-state{color:var(--muted);font-size:var(--text-sm);text-align:center;padding:30px 0}.dl-btn{display:inline-block;margin-top:6px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-full);padding:6px 12px;font-size:var(--text-xs);cursor:pointer;text-decoration:none}.dl-btn:hover{background:var(--accent);border-color:var(--accent)}.thumbs{display:flex;flex-wrap:wrap;gap:10px}.thumb{position:relative;width:72px;height:72px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .rm{position:absolute;top:2px;right:2px;background:#000000a6;color:#fff;border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.thumb .rm:hover{background:var(--danger)}.idx-badge{position:absolute;top:4px;left:4px;background:#000000b3;color:#fff;font-size:var(--text-2xs);font-weight:600;border-radius:var(--radius-full);width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:1;line-height:1}.messages{flex:1;overflow-y:auto;padding:32px 24px;display:flex;flex-direction:column;gap:28px;max-width:760px;width:100%;margin:0 auto}.chat-empty{margin:auto;padding:0}.empty-onboard,.mode-picker{position:relative;margin:auto;text-align:center;max-width:480px;padding:20px}.mode-picker{max-width:640px}.empty-onboard-logo{width:56px;height:56px;object-fit:contain;margin-bottom:16px;opacity:.9;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:8px;box-shadow:var(--shadow-sm);position:relative;z-index:1}.empty-onboard h2,.mode-picker h2{font-size:var(--text-xl);margin:0 0 8px;font-weight:600}.empty-onboard p,.mode-picker p{color:var(--muted);font-size:var(--text-sm);margin:0 0 20px}.mode-picker p{margin-bottom:24px}.empty-onboard-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.example-chip{background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:var(--text-xs);padding:9px 14px;border-radius:var(--radius-full);cursor:pointer;text-align:left}.example-chip:hover{border-color:var(--accent);background:var(--panel2)}.msg{display:flex;gap:12px;align-items:flex-start}@media (prefers-reduced-motion: no-preference){.msg{animation:msg-in .25s ease both}}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-user{flex-direction:row-reverse}.msg-avatar{width:30px;height:30px;border-radius:9px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:4px;flex-shrink:0}.msg-bubble{font-size:var(--text-md);line-height:1.7;min-width:0}.msg-sender{font-size:var(--text-2xs);font-weight:700;color:var(--accent);margin-bottom:6px}.msg-user .msg-bubble{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:12px 16px;max-width:min(600px,80%)}.msg-assistant .msg-bubble{background:none;border:none;padding:2px 0 0;max-width:100%}.msg-text{white-space:pre-wrap;word-break:break-word}.msg-images{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.msg-thumb-wrap{position:relative;display:flex;flex-direction:column;gap:5px;max-width:260px}.msg-thumb{position:relative;display:inline-block;max-width:260px;max-height:260px;border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in;border:1px solid var(--border);background:none;padding:0}.msg-thumb img{display:block;max-width:260px;max-height:260px;width:auto;height:auto;object-fit:contain}.thumb-hover-actions{position:absolute;top:8px;right:8px;display:flex;gap:5px;z-index:1}.thumb-action-btn{display:flex;align-items:center;justify-content:center;background:#17171a99;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-full);width:26px;height:26px;cursor:pointer;text-decoration:none}.thumb-action-btn:hover{background:#17171acc}@media (hover:hover){.thumb-hover-actions{opacity:0;transition:opacity var(--transition)}.msg-thumb-wrap:hover .thumb-hover-actions,.thumb-hover-actions:focus-within{opacity:1}}.img-caption-text{padding:8px 10px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--muted);white-space:pre-wrap;word-break:break-word;line-height:1.6;max-height:200px;overflow:auto}.msg-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.msg-action-btn{display:flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--border);color:var(--muted);font-size:var(--text-2xs);cursor:pointer;padding:4px 9px;border-radius:var(--radius-full)}.msg-action-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.msg-action-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.idea-proposal{display:flex;flex-direction:column;gap:8px;margin-top:10px}.idea-proposal-done{font-size:var(--text-xs);color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 10px;margin-top:10px}.idea-card{display:flex;gap:8px;align-items:flex-start;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.idea-toggle{background:none;border:none;color:var(--accent);cursor:pointer;padding:2px;margin-top:1px;flex-shrink:0}.idea-toggle:disabled{color:var(--muted);cursor:not-allowed}.idea-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.idea-label{font-size:var(--text-xs);font-weight:600}.idea-prompt{width:100%;resize:vertical;font:inherit;font-size:var(--text-xs);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-2xs);padding:6px 8px}.idea-prompt:disabled{opacity:var(--opacity-disabled)}.idea-confirm-btn{width:auto;align-self:flex-start;display:flex;align-items:center;gap:7px}.chat-input{border-top:1px solid var(--border);padding:14px 24px 20px;flex-shrink:0;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}.pending-thumbs{margin-bottom:10px}.input-row{display:flex;align-items:flex-end;gap:8px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px}.icon-btn{background:none;border:none;color:var(--muted);font-size:var(--text-lg);cursor:pointer;line-height:1;padding:8px;border-radius:var(--radius-full);flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--panel);color:var(--text)}.icon-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.input-row textarea{flex:1;background:none;border:none;resize:none;padding:8px 4px;max-height:200px;min-height:24px}.input-row textarea:focus{outline:none}.send-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:var(--radius-full);width:38px;height:38px;font-size:var(--text-lg);cursor:pointer;flex-shrink:0}.send-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.send-btn:not(:disabled):hover{filter:brightness(1.08)}.stop-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-full);width:38px;height:38px;font-size:var(--text-md);cursor:pointer;flex-shrink:0}.stop-btn:hover{border-color:var(--accent);color:var(--accent)}.mode-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);cursor:pointer;padding:8px 12px;border-radius:var(--radius-full);flex-shrink:0;white-space:nowrap}.mode-toggle:hover:not(:disabled){color:var(--text)}.mode-toggle.active{background:var(--accent-wash-strong);border-color:var(--accent);color:var(--text)}.mode-toggle:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.mode-badge{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);padding:6px 12px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.mode-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left}.mode-picker-card{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);padding:16px;cursor:pointer;text-align:left}.mode-picker-card:hover{border-color:var(--accent);background:var(--panel2)}.mode-picker-card-title{font-size:var(--text-md);font-weight:600}.mode-picker-card-desc{font-size:var(--text-xs);color:var(--muted);line-height:1.5}@media (max-width:640px){.mode-picker-grid{grid-template-columns:1fr}}.code-block{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin:8px 0}.code-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:var(--text-2xs);color:var(--muted);border-bottom:1px solid var(--border)}.code-block-actions{display:flex;align-items:center;gap:12px}.code-copy-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--text-2xs)}.code-copy-btn:hover:not(:disabled){color:var(--text)}.code-copy-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.code-block pre{margin:0;padding:12px;overflow:auto;font-family:ui-monospace,monospace;font-size:var(--text-xs);line-height:1.5}.code-block .mermaid-block{padding:14px;overflow:auto;text-align:center}.code-block .mermaid-loading{color:var(--muted);font-size:var(--text-xs);padding:14px;text-align:center}.editor-block{background:#1e1e1e;border-color:#3c3c3c}.editor-block .code-block-head{background:#252526;color:#9d9d9d;border-bottom-color:#3c3c3c}.editor-block .code-copy-btn{color:#9d9d9d}.editor-block .code-copy-btn:hover:not(:disabled){color:#e8e8e8}.editor-block pre{color:#d4d4d4}.terminal-block{background:#1e1e1e;border-color:#3c3c3c}.terminal-block .code-block-head{background:#2b2b2b;border-bottom-color:#3c3c3c}.terminal-block .code-copy-btn{color:#8a8a8a}.terminal-block .code-copy-btn:hover:not(:disabled){color:#e8e8e8}.terminal-block pre{color:#d4d4d4}.terminal-dots{display:flex;gap:6px}.terminal-dots i{width:10px;height:10px;border-radius:50%;display:block}.terminal-dots i:nth-child(1){background:#ff5f56}.terminal-dots i:nth-child(2){background:#ffbd2e}.terminal-dots i:nth-child(3){background:#27c93f}.shiki-wrap{overflow:auto}.shiki-wrap .shiki{margin:0;padding:12px;font-family:ui-monospace,monospace;font-size:var(--text-xs);line-height:1.6}.shiki-lines .shiki code{counter-reset:line}.shiki-lines .shiki .line:before{counter-increment:line;content:counter(line);display:inline-block;width:2em;margin-right:1em;text-align:right;color:#ffffff47;-webkit-user-select:none;user-select:none}.mermaid-modal{width:min(94vw,1200px);position:relative}.mermaid-modal-body{padding:24px;overflow:auto;text-align:center}.mermaid-modal-body svg{max-width:none}.queue-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.queue-item{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:7px 10px;font-size:var(--text-xs)}.queue-item-idx{background:var(--panel);color:var(--muted);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);flex-shrink:0}.queue-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-imgs{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:var(--text-2xs);flex-shrink:0}.queue-item .rm{position:static;background:none;color:var(--muted);border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.queue-item .rm:hover{color:var(--danger);background:none}.batch-progress{font-size:var(--text-xs);color:var(--muted);margin-bottom:8px;text-align:center}.batch-start-btn{width:100%;margin-top:10px}.edit-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--accent-wash);border:1px solid var(--accent);color:var(--text);font-size:var(--text-xs);padding:9px 16px;border-radius:var(--radius-sm) 10px 0 0;border-bottom:none;max-width:760px;width:calc(100% - 48px);margin:0 auto}.edit-banner button{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--accent);cursor:pointer;font-size:var(--text-xs);flex-shrink:0}.context-meter-title{font-size:var(--text-xs);font-weight:600;margin-bottom:10px}.context-meter-bar{height:6px;background:var(--panel2);border-radius:var(--radius-full);overflow:hidden}.context-meter-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s}.context-meter-label{font-size:var(--text-2xs);color:var(--muted);margin-top:8px}.context-meter-hint{font-size:var(--text-2xs);color:var(--muted);margin-top:4px;line-height:1.5}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.context-trigger-wrap{position:relative}.context-popover{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;box-shadow:var(--shadow-md);z-index:40}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);max-width:min(680px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}@media (prefers-reduced-motion: no-preference){.modal-backdrop{animation:backdrop-in .15s ease both}.modal{animation:modal-in .18s ease both}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:var(--text-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border)}.modal-footer button.primary{width:auto}.image-modal-backdrop{background:rgba(23,23,26,calc(.45 * var(--backdrop-opacity, 1)))}.image-modal{align-items:center;padding:20px;gap:14px;position:relative;background:var(--panel);width:min(900px,100%)}.image-modal-viewport{width:100%;height:min(70vh,640px);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.image-modal-viewport:active{cursor:grabbing}.image-modal-viewport img{max-width:100%;max-height:100%;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform}.image-modal-counter{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#17171a99;color:#fff;font-size:var(--text-2xs);padding:4px 10px;border-radius:var(--radius-full)}.image-modal-actions{display:flex;gap:10px}.image-modal-actions .dl-btn{display:inline-flex;align-items:center;gap:6px}.image-modal-toast{position:absolute;bottom:64px;left:50%;transform:translate(-50%);background:#17171abf;color:#fff;font-size:var(--text-xs);padding:6px 14px;border-radius:var(--radius-full);animation:toast-fade 1.2s ease forwards}@keyframes toast-fade{0%,70%{opacity:1}to{opacity:0}}.modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#17171a8c;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius-full);width:38px;height:38px;display:flex;align-items:center;justify-content:center}.modal-nav-btn:hover{background:#17171abf}.modal-nav-prev{left:10px}.modal-nav-next{right:10px}.confirm-modal{width:min(420px,100%)}.confirm-modal-body{padding:16px 18px;font-size:var(--text-sm);color:var(--text);line-height:1.6}.changelog-modal{width:min(520px,100%)}.changelog-body{overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:20px}.changelog-entry:not(:last-child){padding-bottom:20px;border-bottom:1px solid var(--border)}.changelog-version{font-size:var(--text-md);font-weight:700;color:var(--accent);margin-bottom:8px}.changelog-entry ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.changelog-entry li{font-size:var(--text-sm);color:var(--text);line-height:1.5}.login-screen{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;max-width:420px;margin:0 auto;gap:4px}.ambient-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:-1;background:conic-gradient(from 180deg,var(--accent),#ff8a3d,#ffd166,var(--accent2),#ff5f6d,var(--accent));filter:blur(70px);opacity:.5}@media (prefers-reduced-motion: no-preference){.ambient-orb{animation:orb-drift 14s ease-in-out infinite}}@keyframes orb-drift{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}.login-logo{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--radius-2xl);padding:9px;margin-bottom:12px;box-shadow:var(--shadow-sm);position:relative;z-index:1}.login-screen h1{font-size:var(--text-xl);margin:0 0 4px;font-weight:700}.login-sub{color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin:0 0 20px}.login-error{background:var(--danger-wash);border:1px solid var(--danger);color:var(--danger-text);border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--text-xs);margin-bottom:16px;max-width:340px}.login-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:var(--radius-full);padding:11px 20px;font-size:var(--text-md);font-weight:600;cursor:pointer;text-decoration:none}.login-btn:hover{filter:brightness(1.08)}.user-badge{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--muted)}.user-email{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-picker-empty{color:var(--muted);font-size:var(--text-sm)}.admin-settings-modal{width:min(640px,100%)}.admin-users-body{overflow-y:auto;padding:16px 18px}.admin-users-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-users-table th{text-align:left;color:var(--muted);font-weight:600;font-size:var(--text-2xs);padding:0 10px 8px;border-bottom:1px solid var(--border)}.admin-users-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-users-table select{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:5px 8px;font-size:var(--text-xs)}.you-badge{margin-left:8px;font-size:var(--text-2xs);font-weight:700;color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-full);padding:1px 7px}.admin-expand-cell{width:28px;padding-right:0!important}.admin-advanced-panel{display:flex;flex-direction:column;gap:16px;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin:4px 0}.admin-advanced-row label{display:block;font-size:var(--text-xs);font-weight:600;margin-bottom:8px}.admin-advanced-inline{display:flex;gap:8px;align-items:center}.admin-advanced-inline input{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:7px 10px;font-size:var(--text-xs)}.admin-advanced-inline .gear-btn{flex-shrink:0;padding:7px 12px;font-size:var(--text-xs)}.admin-model-overrides{display:flex;flex-direction:column;gap:8px}.admin-model-override-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-model-override-item span{font-size:var(--text-xs);color:var(--muted);flex-shrink:0}.admin-model-override-item select{flex:1;min-width:0}.admin-tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--border)}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--text-sm);font-weight:600;padding:10px 12px;cursor:pointer}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--text);border-bottom-color:var(--accent)}.admin-roles{display:flex;flex-direction:column;gap:12px}.admin-role-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:10px}.admin-role-head{display:flex;align-items:center;gap:8px}.admin-role-head strong{font-size:var(--text-sm)}.admin-role-head .hint{margin-left:auto}.admin-role-delete{color:var(--muted)}.admin-role-delete:hover{color:#e5484d}.admin-role-modes{display:flex;flex-wrap:wrap;gap:6px 16px}.admin-role-mode-check{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text);cursor:pointer}.admin-role-mode-check input{accent-color:var(--accent)}.admin-allowlist{margin-top:8px}.admin-allowlist summary{font-size:var(--text-xs);color:var(--muted);cursor:pointer}.admin-allowlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px;margin-top:8px}.admin-role-create{margin-top:4px}.admin-role-create .gear-btn{display:inline-flex;align-items:center;gap:5px}.admin-usage h4{font-size:var(--text-sm);margin:0 0 8px}.admin-audit-model{font-size:var(--text-2xs);word-break:break-all}.my-usage{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.my-usage-row{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);color:var(--muted);padding:2px 0}.project-group{margin-bottom:6px}.project-header{display:flex;align-items:center;gap:6px;padding:8px 10px 4px;font-size:var(--text-2xs);font-weight:700;color:var(--muted);text-transform:none}.project-header svg{flex-shrink:0}.project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-assets-btn{margin-left:auto;padding:2px;color:var(--muted)}.project-empty{font-size:var(--text-2xs);color:var(--muted);padding:2px 10px 6px 29px}.project-create{padding:8px 12px;border-top:1px solid var(--border)}.project-create-btn{display:flex;align-items:center;gap:7px;width:100%;background:none;border:1px dashed var(--border);border-radius:var(--radius-xs);color:var(--muted);font-size:var(--text-xs);padding:7px 10px;cursor:pointer}.project-create-btn:hover{color:var(--text);border-color:var(--muted)}.project-create-form{display:flex;gap:6px}.project-create-form input{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:6px 8px;font-size:var(--text-xs)}.project-create-form .gear-btn{flex-shrink:0;padding:6px 10px;font-size:var(--text-xs)}.project-select{max-width:160px;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:5px 8px;font-size:var(--text-xs)}.tpl-wrap{position:relative}.tpl-popover{position:absolute;bottom:calc(100% + 10px);left:-8px;z-index:30;width:min(340px,82vw);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg, 0 8px 30px rgba(0,0,0,.35));padding:12px;display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto}.tpl-popover-title{font-size:var(--text-xs);font-weight:700}.tpl-error{font-size:var(--text-2xs);color:#e5484d}.tpl-item{display:flex;align-items:center;gap:4px}.tpl-item-use{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:7px 9px;cursor:pointer;color:var(--text)}.tpl-item-use:hover{border-color:var(--accent)}.tpl-item-name{font-size:var(--text-xs);font-weight:600}.tpl-item-preview{font-size:var(--text-2xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tpl-item-delete{color:var(--muted);flex-shrink:0}.tpl-item-delete:hover{color:#e5484d}.tpl-save-row{display:flex;gap:6px;border-top:1px solid var(--border);padding-top:10px}.tpl-save-row input{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:6px 8px;font-size:var(--text-2xs)}.tpl-save-row .gear-btn{flex-shrink:0;padding:6px 10px;font-size:var(--text-xs)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);font-size:var(--text-sm);padding:10px 20px;box-shadow:0 8px 30px #00000059;animation:toast-in .25s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.admin-users-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.admin-search,.admin-invite input{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:7px 10px;font-size:var(--text-xs)}.admin-search{width:100%}.admin-invite{display:flex;gap:6px}.admin-invite input{flex:1;min-width:0}.admin-invite select{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-2xs);padding:5px 8px;font-size:var(--text-xs);flex-shrink:0}.admin-invite .gear-btn{flex-shrink:0;padding:7px 12px;font-size:var(--text-xs)}.project-settings-modal{width:min(560px,100%)}.project-settings-body{overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:16px}.project-brand-guide{width:100%;resize:vertical;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);padding:9px 11px;font-size:var(--text-sm);font-family:inherit;line-height:1.5}.project-ref-images{display:flex;flex-wrap:wrap;gap:8px}.project-ref-thumb{position:relative;width:64px;height:64px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border)}.project-ref-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-ref-thumb .rm{position:absolute;top:2px;right:2px;background:#0009;color:#fff;border:none;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.project-ref-add{width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--panel2);border:1px dashed var(--border);border-radius:var(--radius-xs);color:var(--muted);font-size:9px;cursor:pointer}.project-ref-add:hover{color:var(--text);border-color:var(--muted)}.project-settings-btn{padding:2px;color:var(--muted)}.modal-close{position:absolute;top:10px;right:10px;z-index:2;background:#17171a8c;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:32px;height:32px}button.icon-btn.modal-close:hover{background:#17171abf;color:#fff}.picker-grid{padding:16px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;overflow-y:auto}.picker-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid var(--border);background:none;padding:0;display:block;width:100%}.picker-thumb img{width:100%;height:100%;object-fit:cover;display:block}.picker-thumb.selected{border-color:var(--accent)}.picker-thumb .check{position:absolute;top:4px;right:4px;background:var(--accent);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs)}@media (pointer:coarse){.icon-btn{padding:13px}.send-btn,.stop-btn{width:44px;height:44px}.mobile-menu-btn{padding:12px}.modal-close{width:44px;height:44px}.conv-delete,.thumb .rm,.queue-item .rm,header h1 .version-badge{position:relative}.conv-delete:after,.thumb .rm:after,.queue-item .rm:after,header h1 .version-badge:after{content:"";position:absolute;top:-13px;right:-13px;bottom:-13px;left:-13px}}@media (max-width: 768px){.mobile-menu-btn{display:flex}.sidebar{position:fixed;top:0;left:0;height:100%;z-index:70;width:80vw;max-width:300px;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#17171a73;z-index:65}header{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.brand img{width:28px;height:28px}header h1{font-size:var(--text-lg)}header .sub{display:none}.gear-btn span,.header-actions .gear-btn,.header-actions .admin-btn,.header-actions .user-badge,.header-actions .gallery-btn,.header-actions .theme-btn{display:none}.sidebar-footer{display:flex}.sidebar-footer .gear-btn span{display:inline}.sidebar{padding-left:max(16px,env(safe-area-inset-left))}@media (max-width:380px){.mode-badge span{display:none}}.messages{padding:16px}.chat-input{padding-top:10px;padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.edit-banner{margin-left:16px;margin-right:16px}.input-row{gap:2px;padding:6px}.mode-toggle span{display:none}.input-row textarea{min-height:36px;padding:10px 4px}.settings-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#17171a73;z-index:50}.settings-panel{position:fixed;left:0;right:0;bottom:0;z-index:51;margin:0;border-radius:var(--radius-xl) 16px 0 0;max-height:75vh;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg)}.settings-panel:before{content:"";display:block;width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:0 auto 14px}.context-popover{width:min(260px,calc(100vw - 32px));right:-8px}.msg-user .msg-bubble{max-width:88%}.msg-thumb-wrap{max-width:180px}.msg-thumb,.msg-thumb img{max-width:180px;max-height:180px}.thumb-action-btn{width:24px;height:24px}.image-modal-backdrop{padding:0}.image-modal{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));justify-content:center}.image-modal-viewport{height:auto;flex:1}}@media (min-width:769px) and (max-width:1200px){header .sub{display:none}.gear-btn span{display:none}.header-actions{gap:6px}}@media (max-width:900px) and (max-height:500px){.sidebar{position:fixed;top:0;left:0;height:100%;z-index:70;width:80vw;max-width:300px;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#17171a73;z-index:65}header .sub{display:none}.header-actions .gear-btn,.header-actions .admin-btn,.header-actions .user-badge,.header-actions .gallery-btn,.header-actions .theme-btn{display:none}.sidebar-footer{display:flex}.settings-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#17171a73;z-index:50}.settings-panel{position:fixed;left:0;right:0;bottom:0;z-index:51;margin:0;border-radius:var(--radius-xl) 16px 0 0;max-height:75vh;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg)}.settings-panel:before{content:"";display:block;width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:0 auto 14px}}
