:root{color-scheme:dark;--bg:#101116;--panel:#15161b;--panel-2:#1b1d24;--stroke:#2d3039;--stroke2:#383b46;--text:#edf0f4;--muted:#8d939f;--quiet:#6e7480;--accent:#f9bd86;--mint:#b3e0d5;--lavender:#c0b4ed;--ease:cubic-bezier(.2,.8,.2,1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft Yahei",sans-serif;font-size:14px;font-synthesis:none;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f7ba82;outline-offset:2px}a{color:inherit;text-decoration:none}svg.icon{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.sm{width:14px;height:14px}.svg-sprites{width:0;height:0;position:absolute;overflow:hidden}.hidden{display:none!important}.muted{color:var(--muted)}.micro{font-size:11px;line-height:1.65}.eyebrow{color:var(--accent);font-weight:800;font-size:10px;letter-spacing:1.5px}.app-shell{display:grid;grid-template-columns:228px minmax(0,1fr) 373px;width:100%;height:100dvh;overflow:hidden}.flex{display:flex;align-items:center;gap:10px}.divider{height:1px;background:#292c34;margin:24px 0}.full{width:100%}.slash{color:#565b66}.icon-btn{width:34px;height:34px;display:inline-flex;justify-content:center;align-items:center;border:0;background:transparent;color:#9da3ae;border-radius:10px;transition:background .18s var(--ease),color .18s var(--ease)}.icon-btn:hover{background:#2a2e36;color:#f9d4b0}.soft-btn,.quiet-btn,.primary-btn{border:1px solid var(--stroke2);background:#272a32;color:#e9ebef;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-weight:600;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}.soft-btn:hover,.quiet-btn:hover{background:#343944;border-color:#4b515f;transform:translateY(-1px)}.quiet-btn{background:#202229;border-color:#30333d;color:#c8cbd4;padding:8px 11px;font-size:12px}.primary-btn{background:linear-gradient(125deg,#f5bd88,#f6d2ae);border-color:#f9c99d;color:#332215;font-weight:800;box-shadow:0 9px 22px #bd8a5633}.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 11px 26px #c68e5048}.danger{color:#f7aaa8}.plain-link{border:0;background:transparent;color:var(--accent);display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:650;padding:4px}.label{display:block;font-size:12px;color:#c9cdd5;margin-bottom:8px;font-weight:600}.field{width:100%;background:#23262e;border:1px solid #353943;color:var(--text);border-radius:10px;padding:10px 12px;min-width:0;outline:0;transition:border .18s}.field:focus{border-color:#dbad80}.field::placeholder,textarea::placeholder{color:#727885}.projects-panel{height:100dvh;background:#16171c;border-right:1px solid #292b33;padding:25px 15px 15px;display:flex;flex-direction:column;min-width:0;z-index:3}.brand-wrap{display:flex;align-items:center;gap:11px;padding:0 6px}.brand-wrap img{height:46px;width:46px;border-radius:14px;object-fit:cover}.brand-wrap strong{display:block;font-weight:830;font-size:23px;line-height:1.05;letter-spacing:-1.2px}.brand-spark{color:#f8b375;margin-left:3px}.brand-wrap small{display:block;color:#797f8b;font-size:9px;font-weight:850;letter-spacing:3px;margin:6px 0 0 1px}.projects-heading{font-size:12px;font-weight:800;color:#c7cad2;display:flex;justify-content:space-between;align-items:center;margin:0 5px 13px}.projects-heading .icon-btn{height:28px;width:28px;color:#e0c09e}.project-list{flex:1;overflow:auto;padding:2px 0}.project-entry{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;border-radius:11px;padding:12px 10px;color:#afb5c0;margin-bottom:4px;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.project-entry:hover{background:#242630;color:#fff;transform:translateX(2px)}.project-entry.active{background:#303039;color:#f9ecde;border-color:#45434a}.project-entry .proj-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#45404b;color:#ffcb95;flex-shrink:0}.project-entry:nth-child(3n+2) .proj-icon{background:#2c4444;color:#abe1d1}.project-entry:nth-child(3n+3) .proj-icon{background:#3d354d;color:#d7c1fd}.project-entry strong{display:block;font-weight:650;font-size:12.5px;max-width:132px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-entry small{display:block;color:#777e8a;font-size:10.5px;margin-top:5px}.projects-bottom{border-top:1px solid #292c35;padding-top:12px}.side-action{width:100%;display:flex;align-items:center;text-align:left;gap:12px;background:transparent;border:0;border-radius:10px;padding:11px 10px;font-size:12.5px;color:#aeb4c0;transition:background .2s,color .2s}.side-action:hover{background:#252831;color:#fff}.side-action .icon{color:#a5aab7}.side-count{margin-left:auto;font-size:11px;color:#a3a7b2;background:#282b34;min-width:24px;padding:3px 6px;border-radius:6px;text-align:center}.account-chip{border:1px solid #31343e;background:#202128;border-radius:14px;padding:10px;margin-top:15px;display:flex;gap:9px;align-items:center}.account-chip img{width:34px;height:34px;border-radius:10px}.account-chip div{flex:1;min-width:0}.account-chip b{font-size:11.5px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.account-chip small{display:block;font-size:10px;color:#8a908f;margin-top:4px}.account-chip .icon-btn{width:24px;height:24px}.workspace{min-width:0;min-height:0;display:flex;flex-direction:column}.workspace-header{height:72px;flex-shrink:0;border-bottom:1px solid #2b2d36;background:#17181e;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:14px;position:relative;z-index:2}.header-start,.header-right,.breadcrumb{display:flex;align-items:center;gap:12px;min-width:0}.header-right{gap:9px}.breadcrumb{font-size:12px}.breadcrumb>span:first-child{color:#939aa7}.breadcrumb>strong{font-size:14px;font-weight:750;max-width:310px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breadcrumb .icon-btn{width:26px;height:26px}.save-label{color:#9299a4;display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:11px;margin-right:7px}.online-dot{background:#86d1b3;height:6px;width:6px;border-radius:50%;box-shadow:0 0 0 3px #76bea518}.board-wrap{flex:1;min-height:0;position:relative}.board{position:absolute;inset:0;overflow:hidden;touch-action:none;outline:none;background-color:#1b1d23;background-image:radial-gradient(circle,#41434b 1px,transparent 1.2px);background-size:calc(28px * var(--zoom,1)) calc(28px * var(--zoom,1));background-position:var(--gridx,0px) var(--gridy,0px);cursor:grab}.board:active{cursor:grabbing}.scene{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}.link-layer{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.version-link{fill:none;stroke:#c9ab91;stroke-width:2.3;stroke-dasharray:6 8;opacity:.6;filter:drop-shadow(0 2px 2px #0006)}.version-link.straight{stroke:#7caead}.canvas-node{position:absolute;background:#21242c;border:1px solid #464957;box-shadow:0 14px 45px #0007,0 1px 3px #0004;border-radius:12px;overflow:hidden;user-select:none;cursor:grab;transition:box-shadow .17s,border-color .17s}.canvas-node:hover{border-color:#798090;box-shadow:0 20px 55px #000a}.canvas-node.selected{border:2px solid #ffce9e;box-shadow:0 0 0 5px #ebb98520,0 18px 48px #0009;z-index:20!important}.node-image-box{height:calc(100% - 49px);background:#22262b;position:relative;display:flex;align-items:center;justify-content:center}.node-image-box img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;pointer-events:none}.node-image-box:before{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at top left,#dbbd9130,transparent 45%)}.node-foot{height:49px;padding:9px 12px;display:flex;align-items:center;gap:8px;min-width:0}.node-foot .node-text{min-width:0;flex:1}.node-foot b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#e3e6ed;font-weight:660}.node-foot small{display:block;color:#979ba6;font-size:10px;margin-top:5px}.node-badge{position:absolute;left:10px;top:10px;z-index:1;background:#1b1c22cd;border:1px solid #ffffff29;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:750;color:#ffdbb9;backdrop-filter:blur(10px)}.node-badge.reference{color:#ade5d7}.canvas-node.note-node{background:#e8daba;color:#484039;box-shadow:0 14px 30px #0006;min-height:90px;overflow:visible;border-color:#f6e9c9;cursor:grab;padding:18px 17px;display:flex;flex-direction:column}.note-node h4{font-size:12px;letter-spacing:.5px;margin:0 0 11px;opacity:.55}.note-content{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow:hidden;flex:1;overflow-wrap:anywhere}.note-node:after{content:"";position:absolute;right:0;bottom:0;border:10px solid transparent;border-bottom-color:#c7ae88;border-right-color:#c7ae88}.resize-grip{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:8}.resize-grip:after{content:"";position:absolute;right:5px;bottom:5px;width:7px;height:7px;border-right:2px solid #eac49a;border-bottom:2px solid #eac49a}.empty-stage{position:absolute;top:50%;left:50%;width:min(500px,80%);transform:translate(-50%,-50%);text-align:center;pointer-events:none}.empty-mark{width:71px;height:71px;margin:0 auto 25px;background:linear-gradient(140deg,#44403e,#2c3037);border-radius:22px;border:1px solid #5a4b42;display:grid;place-items:center;box-shadow:0 10px 40px #0004}.empty-mark .icon{width:32px;height:32px;color:#ffcf9e;stroke-width:1.5}.empty-kicker{color:#e9bb92;font-size:10px;letter-spacing:2.4px;font-weight:850}.empty-stage h2{font-size:29px;font-weight:820;letter-spacing:-.7px;margin:17px 0 13px}.empty-stage p{color:#a1a6b2;font-size:13px;line-height:1.9}.empty-cta{margin:23px 0;display:flex;justify-content:center;gap:10px;pointer-events:auto}.empty-hint{color:#737985;font-size:10.5px}.tool-dock{display:flex;position:absolute;left:50%;top:20px;transform:translateX(-50%);gap:5px;background:#272930ed;border:1px solid #484b56;padding:6px;border-radius:14px;box-shadow:0 8px 26px #0007;z-index:6;backdrop-filter:blur(18px)}.tool{width:35px;height:35px;border:none;background:transparent;display:grid;place-items:center;border-radius:9px;color:#aeb4be;transition:color .15s,background .15s,transform .15s}.tool:hover{background:#414651;color:#fff;transform:translateY(-1px)}.tool.active{background:#edc4a0;color:#382a25}.tool-rule{width:1px;background:#4a4c53;margin:6px 3px}.canvas-hud{position:absolute;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.canvas-hud>span{color:#787e8a;font-size:11px}.zoom-box{pointer-events:auto;background:#282b34df;border:1px solid #424550;border-radius:10px;display:flex;align-items:center;gap:3px;box-shadow:0 6px 20px #0005}.zoom-box button{background:transparent;color:#d5d9e1;border:0;font-size:17px;width:32px;height:34px;transition:background .2s}.zoom-box button:hover{background:#414550}.zoom-box span{font-size:11px;width:45px;text-align:center;color:#d4d6e0}.selection-toolbar{position:absolute;z-index:10;background:#252730f5;border:1px solid #56545c;border-radius:12px;padding:6px;display:flex;align-items:center;gap:4px;box-shadow:0 12px 40px #000a;transition:left .12s,top .12s}.selection-toolbar button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;border-radius:8px;color:#ebe8e4;padding:8px 10px;font-size:11px;font-weight:600;white-space:nowrap}.selection-toolbar button:hover{background:#403c3c;color:#ffdbb2}.selection-toolbar .destructive{color:#f1a39d}.selection-toolbar .icon{width:15px;height:15px}.drop-overlay{z-index:25;background:#181a21dc;position:absolute;inset:14px;border:2px dashed #f0bd8a;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;color:#ffe0bd;backdrop-filter:blur(8px)}.drop-overlay .icon{width:44px;height:44px}.assistant-panel{background:#16171d;border-left:1px solid #2e3138;height:100dvh;display:flex;flex-direction:column;min-width:0;z-index:5}.assistant-header{min-height:72px;border-bottom:1px solid #2e3039;display:flex;gap:11px;align-items:center;padding:13px 21px}.assistant-badge{border-radius:13px;width:39px;height:39px;display:grid;place-items:center;background:linear-gradient(135deg,#443d43,#2b3d3d);color:#ffca9f;border:1px solid #645048}.assistant-title{flex:1}.assistant-title strong{font-size:13px;display:block;font-weight:750}.assistant-title small{font-size:10.5px;color:#898f9a;display:block;margin-top:6px}.conversation{flex:1;min-height:70px;padding:20px 18px 28px;overflow-y:auto;scrollbar-width:thin}.assistant-welcome{padding:35px 9px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}.assistant-welcome img{height:51px;width:51px;border-radius:15px;object-fit:cover;box-shadow:0 8px 22px #0004}.assistant-welcome h3{font-size:20px;line-height:1.4;margin:0;letter-spacing:-.3px}.assistant-welcome p{font-size:12.5px;line-height:1.9;color:#a4a9b5;margin:0}.welcome-chip{padding:12px;border-radius:12px;background:#272a31;border:1px solid #393c45;width:100%;display:flex;gap:10px;color:#bec3cb;align-items:center;font-size:11px}.welcome-chip .icon{color:#f1c59b}.chat-item{margin-bottom:23px}.chat-from{font-size:11px;color:#858c97;display:flex;gap:9px;align-items:center;margin-bottom:8px}.chat-avatar{width:22px;height:22px;border-radius:7px;background:#3d4346;display:grid;place-items:center;color:#c6e2db}.chat-avatar.user{background:#4b403d;color:#ffd6b1}.chat-avatar .icon{width:13px;height:13px}.chat-bubble{background:#262932;border:1px solid #393c45;border-radius:3px 13px 13px 13px;padding:12px 13px;line-height:1.7;font-size:12.5px;color:#e4e5ec;overflow-wrap:anywhere;white-space:pre-wrap}.chat-item.user .chat-bubble{background:#302c2e;border-color:#453d3b}.chat-result{width:120px;height:120px;object-fit:cover;border-radius:10px;margin:9px 0 0;border:1px solid #51545b;cursor:pointer;display:block}.chat-time{font-size:10px;color:#656c78;margin-top:5px}.composer-zone{padding:18px 18px max(16px,env(safe-area-inset-bottom));border-top:1px solid #31343d;box-shadow:0 -16px 35px #0001;background:linear-gradient(#191b21,#16171d)}.composer-intro{display:flex;align-items:center;justify-content:space-between;font-weight:670;font-size:11.5px;color:#bfc4ce;margin-bottom:11px}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:14px}.skill-grid button{background:#262930;border:1px solid #353943;border-radius:10px;padding:9px 8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#bfc4cb;transition:background .2s,border .2s,transform .2s}.skill-grid button:hover{background:#35363e;border-color:#aa8e7b;color:#ffdcbd;transform:translateY(-1px)}.skill-grid .icon{width:15px;height:15px;color:#e6b687}.composer{border:1px solid #4a4650;background:#24262e;border-radius:15px;transition:border .2s,box-shadow .2s;overflow:hidden}.composer:focus-within{border-color:#be9e86;box-shadow:0 0 0 3px #c49c7220}.composer textarea{width:100%;border:0;outline:0;resize:vertical;background:transparent;color:#eeeef2;min-height:95px;max-height:230px;padding:14px 15px;font-size:12.5px;line-height:1.7;display:block}.composer-actions{display:flex;align-items:center;padding:0 8px 8px;gap:6px}.composer-add{width:29px;height:29px;border:1px solid #454851;background:#34363e;color:#c8ccd7}.composer-instruction{font-size:10px;color:#797f8c;margin-left:auto}.send-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:0;background:linear-gradient(135deg,#f7be87,#f4d4b1);color:#382719;transition:transform .2s,box-shadow .2s}.send-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #bf885138}.context-strip,.reference-strip{display:flex;gap:8px;overflow-x:auto;margin-bottom:10px;min-width:0}.context-card{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;background:#302c2e;border:1px solid #655247;border-radius:8px;padding:6px 7px;color:#f0d5bc;font-size:11px}.context-card img{width:31px;height:31px;object-fit:cover;border-radius:6px}.context-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.context-card button,.ref-thumb button{background:#0008;color:#fff;border:0;border-radius:5px;padding:2px 5px}.ref-thumb{position:relative;width:53px;height:53px;flex-shrink:0}.ref-thumb img{width:100%;height:100%;object-fit:cover;border:1px solid #626574;border-radius:8px}.ref-thumb button{position:absolute;top:2px;right:2px;font-size:10px}.model-config{padding-top:13px}.model-row{display:flex;gap:7px;align-items:center}.model-select{display:flex;align-items:center;gap:4px;background:#292c35;border:1px solid #373a43;border-radius:10px;padding:0 8px;max-width:48%;min-width:0}.model-select .icon{width:13px;height:13px;color:#ffd09f}.model-select select{background:transparent;border:0;color:#e9e8ee;height:35px;min-width:0;max-width:160px;font-size:11px;outline:none}.model-row>input{width:52%;min-width:0;background:#292c35;border:1px solid #373a43;border-radius:10px;color:#d7dae3;height:37px;padding:0 9px;font-size:11px;outline:0}.params-row{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:11px;color:#9ba0aa}.params-row label,.advanced label{font-size:10px;white-space:nowrap}.params-row select,.advanced select{font-size:11px;background:#272a33;color:#d0d3da;border:1px solid #3a3c48;border-radius:7px;padding:5px 5px;margin-left:3px;max-width:68px}.params-row .icon-btn{width:28px;height:28px}.advanced{background:#262932;border:1px solid #353a45;border-radius:10px;margin-top:8px;padding:9px;display:flex;justify-content:space-between;gap:12px;align-items:center}.advanced span{font-size:10px;color:#89909a}.modal-back{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#06070bbd;backdrop-filter:blur(10px);padding:22px}.modal{background:#1c1e25;border:1px solid #444853;border-radius:19px;box-shadow:0 30px 110px #000d;width:min(950px,100%);max-height:93dvh;overflow:auto;animation:modalIn .2s var(--ease)}@keyframes modalIn{from{opacity:0;transform:translateY(11px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{padding:25px 28px 19px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #32353e}.modal-head h2{margin:8px 0 7px;font-size:22px;letter-spacing:-.4px}.modal-head p{font-size:12px;color:#9aa0ad;margin:0;line-height:1.6}.modal-head .icon-btn{border:1px solid #424551;flex-shrink:0}.auth-modal{max-width:410px;text-align:center;padding:35px}.auth-brand img{width:78px;height:78px;object-fit:cover;border-radius:21px;margin-bottom:26px;box-shadow:0 15px 55px #f1a36922}.auth-modal h2{font-size:23px;margin:13px 0}.auth-modal p{font-size:12px;line-height:1.8;margin:0 0 23px}.auth-modal .label{text-align:left}.auth-modal input{margin-bottom:15px}.auth-modal .micro{margin-top:18px}.settings-content{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:470px}.settings-list{border-right:1px solid #353742;padding:24px 18px}.panel-label{color:#b8bec8;text-transform:none;font-size:12px;font-weight:760;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.provider-list{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.provider-card{display:flex;flex-direction:column;gap:6px;background:#292b34;border:1px solid transparent;border-radius:11px;padding:12px;text-align:left;transition:background .2s,border .2s}.provider-card:hover{background:#363941}.provider-card.active{border-color:#d2a480;background:#393138}.provider-card strong{font-size:12px}.provider-card small{font-size:10px;color:#939aa5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-editor,.settings-form{padding:24px 26px}.input-group{margin-bottom:15px}.input-group>label{display:block;color:#c3c7d0;font-size:11.5px;font-weight:650;margin-bottom:7px}.input-group input,.input-group select{font-size:12px}.settings-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.provider-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:17px}.connection-row{display:flex;gap:9px;margin-top:17px}.connection-row .soft-btn{font-size:11px}.reverse-modal{max-width:850px}.reverse-layout{display:grid;grid-template-columns:300px 1fr;gap:23px;padding:24px}.reverse-preview{display:flex;align-items:center;justify-content:center;background:#13151b;border:1px solid #3b3f48;border-radius:13px;min-height:305px;overflow:hidden}.reverse-preview img{max-width:100%;max-height:400px;object-fit:contain}.reverse-details .field{margin-bottom:11px}.reverse-details textarea{resize:vertical;font-size:12px;line-height:1.7}.modal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}.modal-actions.end{justify-content:flex-end}.modal-actions button{font-size:12px}.compare-modal{max-width:610px}.compare-list{max-height:43vh;overflow:auto;padding:16px 24px}.compare-item{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid #363942}.compare-item input[type=checkbox]{accent-color:#edb786}.compare-item>div{flex:1;min-width:0}.compare-item strong{font-size:12px}.compare-item small{font-size:10px;color:#858c9b;display:block;margin-top:5px}.compare-item input[type=text]{width:140px;flex-shrink:0}.notice{margin:13px 24px;background:#39312b;color:#f2d0b1;border:1px solid #55483b;padding:10px 12px;border-radius:10px;font-size:11.5px;line-height:1.65}.compare-modal .modal-actions{padding:0 24px 22px}.library-modal{width:min(960px,100%);height:min(780px,94dvh);display:flex;flex-direction:column}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:15px 23px;border-bottom:1px solid #353842}.segmented{display:flex;gap:4px;background:#282b33;border-radius:10px;padding:4px}.segmented button{border:0;background:transparent;border-radius:7px;color:#a8adb7;font-size:11.5px;padding:8px 10px}.segmented button.active{background:#46424a;color:#ffdbc1}.library-toolbar .field{width:185px;font-size:11.5px}.library-toolbar .soft-btn{font-size:11px}.library-content{flex:1;overflow:auto;padding:22px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px}.library-card{background:#252832;border:1px solid #414550;border-radius:13px;overflow:hidden}.library-card img{width:100%;height:160px;object-fit:contain;background:#1d1f25;cursor:pointer}.library-meta{padding:11px}.library-meta strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-meta small{color:#9197a3;display:block;margin-top:6px;font-size:10px}.library-actions{display:flex;gap:5px;padding-top:8px}.library-actions .soft-btn{padding:6px 9px;font-size:10px;flex:1}.queue-list{display:flex;flex-direction:column;gap:9px}.queue-row{display:flex;align-items:center;gap:13px;border:1px solid #383c46;border-radius:11px;background:#262932;padding:12px}.queue-status{font-size:10px;font-weight:750;display:inline-block;border-radius:7px;padding:5px 8px;background:#42414b;color:#e5d5ec;white-space:nowrap}.queue-status.done{background:#2e4b42;color:#aae1c4}.queue-status.failed{background:#543b3d;color:#ffd0c7}.queue-row-info{min-width:0;flex:1}.queue-row-info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.queue-row-info small{display:block;font-size:10.5px;color:#9da2b1;margin-top:6px}.queue-row .soft-btn{font-size:11px;padding:7px 10px}.viewer-modal{width:min(1040px,100%)}.viewer-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr);gap:0;min-height:400px}.viewer-preview{background:#111319;display:flex;align-items:center;justify-content:center;padding:23px;min-width:0}.viewer-preview img{display:block;max-height:70dvh;max-width:100%;object-fit:contain}.viewer-detail{padding:25px;overflow:auto;max-height:74dvh}.viewer-detail p{font-size:12px;line-height:1.9;color:#d4d7dd;white-space:pre-wrap;overflow-wrap:anywhere}.metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.metadata-grid div{background:#292c35;padding:10px;border-radius:9px}.metadata-grid small{display:block;color:#848b98;font-size:10px;margin-bottom:6px}.metadata-grid span{font-size:11.5px;word-break:break-word}.action-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:18px 0 22px}.action-stack .primary-btn,.action-stack .soft-btn{font-size:11px;padding:9px 7px;text-align:center}.version-list{display:flex;gap:8px;overflow:auto;min-height:95px}.version-thumb{border:1px solid #454952;background:#282b34;border-radius:8px;overflow:hidden;flex-shrink:0;padding:3px;cursor:pointer;display:flex;flex-direction:column}.version-thumb img{width:65px;height:65px;object-fit:cover;border-radius:5px}.version-thumb small{font-size:9px;color:#9299a5;margin-top:5px}.version-thumb.active{border-color:#efba8e}.mask-modal{max-width:900px}.mask-stage{display:flex;justify-content:center;padding:20px;background:#14161c}.mask-stage #maskStage{position:relative;display:inline-block;max-width:100%;max-height:53dvh}.mask-stage img{max-width:100%;max-height:53dvh;display:block;object-fit:contain}.mask-stage canvas{position:absolute;left:0;top:0;touch-action:none;cursor:crosshair}.mask-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:17px 22px}.mask-controls label{color:#bfc4cf;font-size:11px}.mask-controls input{width:130px;accent-color:#ffc38e}.mask-controls .primary-btn{margin-left:auto}.mask-controls .soft-btn.active{color:#f5c49d;border-color:#c39b7a}.toast{position:fixed;z-index:200;right:22px;bottom:24px;background:#343843;border:1px solid #676978;color:#f9f8fb;box-shadow:0 12px 35px #0009;padding:12px 18px;border-radius:12px;max-width:min(420px,90vw);font-size:12px;line-height:1.6;animation:modalIn .2s var(--ease)}.mobile-only{display:none}
@media(max-width:1370px){.app-shell{grid-template-columns:198px minmax(0,1fr) 340px}.brand-wrap strong{font-size:20px}.projects-panel{padding-left:11px;padding-right:11px}.assistant-header,.composer-zone{padding-left:14px;padding-right:14px}.workspace-header{padding:0 15px}.header-right .quiet-btn{font-size:11px;padding:8px}}@media(max-width:1130px){.app-shell{grid-template-columns:70px minmax(0,1fr) 335px}.projects-panel{padding:17px 8px;align-items:center}.brand-wrap{padding:0}.brand-wrap img{width:44px;height:44px}.brand-wrap div,.projects-heading>span,.projects-bottom .side-action,.account-chip div,.account-chip .icon-btn,.project-entry strong,.project-entry small,.projects-heading .icon-btn{display:none}.projects-heading{margin:0}.projects-panel .divider{margin:20px 0;width:100%}.project-list{width:100%}.project-entry{padding:6px;justify-content:center}.project-entry .proj-icon{width:42px;height:42px}.account-chip{padding:6px;margin-top:10px}.account-chip img{width:37px;height:37px}.projects-bottom{width:100%;display:flex;justify-content:center}.header-right .save-label{display:none}}@media(max-width:850px){.app-shell{display:block}.projects-panel{position:fixed;left:0;top:0;width:235px;height:100dvh;align-items:stretch;transform:translateX(-101%);transition:transform .24s var(--ease);box-shadow:15px 0 55px #000a;z-index:30}.projects-panel.open{transform:translateX(0)}.projects-panel .brand-wrap div,.projects-panel .projects-heading>span,.projects-panel .projects-heading .icon-btn,.projects-panel .project-entry strong,.projects-panel .project-entry small,.projects-panel .side-action,.projects-panel .account-chip div,.projects-panel .account-chip .icon-btn{display:initial}.projects-panel .brand-wrap{display:flex}.projects-panel .projects-heading{width:100%;display:flex}.projects-panel .project-entry{justify-content:flex-start}.projects-panel .projects-bottom{display:block}.projects-panel .account-chip{display:flex}.workspace{height:100dvh}.workspace-header{height:61px}.breadcrumb>span:first-child,.breadcrumb .slash{display:none}.mobile-only{display:inline-flex}.desktop-btn{display:none}.assistant-panel{position:fixed;z-index:40;right:0;top:0;width:min(410px,100%);height:100dvh;transform:translateX(101%);transition:transform .25s var(--ease);box-shadow:-15px 0 65px #000b}.assistant-panel.open{transform:translateX(0)}.tool-dock{top:14px}.canvas-hud{left:14px;right:14px;bottom:16px}.empty-stage h2{font-size:24px}.empty-stage p{font-size:12px}.empty-cta{flex-wrap:wrap}.selection-toolbar{max-width:calc(100vw - 24px);overflow:auto;left:50%!important;top:65px!important;transform:translateX(-50%)}.settings-content,.reverse-layout,.viewer-content{grid-template-columns:1fr}.settings-list{border-right:0;border-bottom:1px solid #3e4049;padding:17px}.provider-list{flex-direction:row;overflow-x:auto}.provider-card{min-width:160px}.settings-form{padding:20px}.reverse-preview{max-height:200px;min-height:180px}.reverse-preview img{max-height:185px}.viewer-preview img{max-height:40dvh}.viewer-detail{max-height:none}.modal-back{padding:8px}.modal{max-height:96dvh;border-radius:15px}.library-toolbar{padding:10px;gap:8px}.library-toolbar .field{width:135px}.library-content{padding:12px}}@media(max-width:450px){.header-right .save-label{display:none}.workspace-header{padding:0 10px}.breadcrumb{gap:5px}.breadcrumb strong{max-width:170px;font-size:12px}.tool-dock{padding:5px;gap:1px}.tool{width:33px;height:34px}.empty-stage{width:88%}.empty-stage h2{font-size:22px}.settings-two{grid-template-columns:1fr}.modal-head{padding:19px}.reverse-layout{padding:14px}.library-toolbar .flex{width:100%;flex-wrap:wrap}.library-toolbar .field{flex:1}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-card img{height:130px}.action-stack{grid-template-columns:1fr 1fr}.queue-row{flex-wrap:wrap}.viewer-detail{padding:15px}.mask-controls .primary-btn{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Hamoki Studio V0.5 contextual editing and image roles */
.selection-toolbar{max-width:min(94vw,850px);width:max-content;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;background:rgba(21,23,31,.95);border:1px solid rgba(255,255,255,.13);box-shadow:0 16px 55px #0007;backdrop-filter:blur(20px);z-index:20;animation:studioPop .22s cubic-bezier(.22,1,.36,1)}
.selection-toolbar button{font-size:11px;white-space:nowrap;padding:8px 9px;border-radius:8px;transition:background .18s,transform .18s}
.selection-toolbar button:hover{background:#394152;transform:translateY(-1px)}
.canvas-node.multi-reference{outline:2px solid #7eb9ff;outline-offset:4px;box-shadow:0 0 0 5px #4388e023}
.role-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;background:#252a35;border:1px solid #4c5a6c;border-radius:12px;color:#e5e8f2;font-size:11px}
.role-chip img{width:29px;height:29px;object-fit:cover;border-radius:7px}.role-picker{width:64px;background:#323a4a;color:#f4f6fc;border:1px solid #576173;border-radius:7px;padding:5px 2px;font-size:11px}.role-chip .remove-role{border:0;background:transparent;color:#bbc4d7;font-size:17px;cursor:pointer}
#referenceTip{line-height:1.6;margin:5px 16px 8px;color:#95a4b9}
.capability-probes{padding-top:11px;display:grid;gap:9px}.probe-buttons{display:flex;flex-wrap:wrap;gap:7px}.probe-buttons button{font-size:11px;flex:1;min-width:85px}.probe-preview{max-width:185px;max-height:160px;object-fit:contain;border:1px solid #484c57;border-radius:12px}#checkResult{white-space:pre-line;line-height:1.8}
#advanced label:has(#transparentBg){display:flex;gap:7px;align-items:center}#advanced input[type=checkbox]{accent-color:#f0b575}
@keyframes studioPop{from{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:750px){.selection-toolbar{max-width:calc(100% - 15px);overflow:auto;justify-content:flex-start}.selection-toolbar button{font-size:10px;padding:7px}.role-chip{min-width:110px}.probe-buttons{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.selection-toolbar{animation:none!important}}

/* Hamoki Studio V0.6 — compact canvas actions, multi-select and local image editing */
.header-right{position:relative}.canvas-actions{display:flex;align-items:center;gap:3px;position:relative}.canvas-actions>.icon-btn{width:30px;height:32px}.canvas-actions>.quiet-btn{white-space:nowrap;font-size:11px;padding:7px 10px}.redo-icon svg{transform:scaleX(-1)}
.canvas-menu{position:absolute;z-index:101;top:calc(100% + 12px);right:0;width:228px;max-height:min(65dvh,580px);overflow:auto;display:flex;flex-direction:column;gap:2px;background:#252832;border:1px solid #494e59;box-shadow:0 22px 60px #000b;padding:10px;border-radius:14px;animation:studioPop .2s var(--ease)}
.canvas-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;font-size:12px;color:#d8dce5;padding:9px 10px;transition:background .18s}.canvas-menu button:hover{background:#414754;color:#fff}.canvas-menu button small{font-size:10px;color:#9da5b4}.canvas-menu-title{font-size:10px;letter-spacing:1px;color:#f9c492;font-weight:750;padding:10px 9px 5px}.canvas-menu-note{font-size:10px;color:#969eaa;line-height:1.5;padding:8px}
.marquee-rect{position:absolute;z-index:14;border:1.5px solid #eab47a;background:rgba(236,175,115,.16);border-radius:3px;pointer-events:none}.canvas-node.selected{outline:2px solid #e8af79;outline-offset:3px}
.local-edit-modal{width:min(850px,98vw);max-height:96dvh;display:flex;flex-direction:column}.local-image-stage{flex:1;min-height:160px;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:15px;background:#11151e;border-block:1px solid #333743}.local-image-stage canvas{display:block;max-width:100%;max-height:54dvh;height:auto;width:auto;cursor:crosshair;touch-action:none}.local-tools{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px 14px}.local-tools .soft-btn{font-size:11px;padding:8px 11px}.local-size-tools{border-top:1px solid #363b43}.local-size-tools label{font-size:11px;color:#a5abb8;display:flex;align-items:center;gap:6px}.local-size-tools input{width:85px;padding:6px;font-size:11px}.local-save-tools{justify-content:space-between;border-top:1px solid #353942}.local-save-tools .primary-btn{font-size:12px;padding:10px 13px}
@media(max-width:1130px){.canvas-actions>.quiet-btn{padding:7px}.canvas-actions .icon{width:15px;height:15px}}@media(max-width:450px){.canvas-actions>.quiet-btn{font-size:0;padding:7px}.canvas-actions>.icon-btn{width:28px}.canvas-menu{position:fixed;top:58px;right:9px}.local-edit-modal{max-height:98dvh}.local-image-stage canvas{max-height:39dvh}.local-tools{justify-content:flex-start;padding:8px}.local-save-tools{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.canvas-menu{animation:none!important}}

/* V0.6.1 small-VPS storage usage: informational, non-interactive. */
.storage-meter{padding:8px 12px 14px;display:grid;gap:7px;color:#9ca7b7;font-size:11px}
.storage-meter>div:first-child{display:flex;gap:8px;justify-content:space-between;align-items:center}
.storage-meter small{font-size:10px;color:#bcc6d4;white-space:nowrap}
.storage-track{height:5px;background:#353c49;border-radius:99px;overflow:hidden}
.storage-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#76a7d9,#e8bb8f);border-radius:99px;transition:width .3s ease}
@media(max-width:1130px) and (min-width:851px){.storage-meter{display:none}}
@media(max-width:450px){.storage-meter{padding:8px 10px 12px}}
@media(prefers-reduced-motion:reduce){.storage-track span{transition:none}}

/* V0.6.3 account auth */
.auth-switch{display:flex;gap:8px;margin:16px 0 14px}
.auth-switch .soft-btn{flex:1}
.auth-switch .soft-btn.active{background:#363b48;border-color:#6a7080;color:#fff}
.auth-pane{display:grid;gap:12px;text-align:left}
.auth-modal .input-group{display:grid;gap:8px;text-align:left}
.auth-modal .input-group label{font-size:12px;color:#cfd4de;font-weight:600}
.auth-modal .field{width:100%}
#accountTitle{max-width:110px}

/* V0.6.3 compact per-account diagnostics overlay */
.errorlogs-modal{width:min(700px,95vw);max-height:min(88dvh,800px);display:flex;flex-direction:column}
.errorlogs-toolbar{padding:10px 22px;border-top:1px solid #30333c;border-bottom:1px solid #30333c;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.errorlogs-tools{display:flex;gap:6px;flex-wrap:wrap}.errorlogs-tools .soft-btn{padding:7px 9px;font-size:11px}
.errorlogs-list{flex:1;overflow:auto;min-height:135px;max-height:430px;padding:12px 22px;display:grid;align-content:start;gap:8px}
.errorlog-row{background:#20232b;border:1px solid #363c46;border-radius:10px;padding:11px 13px;display:grid;gap:6px;overflow-wrap:anywhere}
.errorlog-row.warning{border-left:3px solid #ecc185}.errorlog-row.error{border-left:3px solid #e78582}.errorlog-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#aab0bd}
.errorlog-head strong{color:#f0f3fa;font-size:11px}.errorlog-row p{font-size:12px;color:#d8dde9;line-height:1.65;margin:0;white-space:pre-wrap}
.errorlogs-empty{text-align:center;padding:38px 16px;color:#8f9bac;font-size:13px}
.errorlogs-foot{padding:13px 22px;border-top:1px solid #30333c;color:#959eae;line-height:1.65;font-size:11px;margin:0}
.log-count{margin-left:auto}
@media(max-width:850px){.errorlogs-toolbar{padding:10px 13px}.errorlogs-list{padding:12px 13px}.errorlogs-foot{padding:12px 13px}.errorlogs-tools .soft-btn{padding:7px}.errorlogs-modal{max-height:94dvh}}
