/* Nexus Portal v4 uses migrated creator component styles,
   NOT the old stylesheet cascade. Auth/layout base remains labs.css. */
#app .dv-home{
 width:100%;
 color:var(--dv-text);
}
#app .dv-hero{
 max-width:100%;
 text-align:center;
 padding:clamp(36px,5.5vw,87px) 0 clamp(24px,3vw,46px);
 background:transparent;
}
#app .dv-hero-kicker{
 display:none;
}
#app .dv-hero-title{
 font-size:clamp(28px,3vw,44px);
 font-weight:720;
 line-height:1.16;
 letter-spacing:-.047em;
 margin:0 0 11px;
}
#app .dv-hero-subtitle{
 color:#87878e;
 font-size:12px;
 margin:0 auto;
 max-width:520px;
 line-height:1.65;
}
#app .dv-prompt-box{
 margin:28px auto 0;
 width:min(640px,100%);
 border:1px solid #35353a;
 background:#1d1d21;
 border-radius:21px;
 box-shadow:0 20px 50px #00000026;
 text-align:left;
 padding:14px 13px 12px;
 transition:border-color .15s,box-shadow .15s;
}
#app .dv-prompt-box:focus-within{
 border-color:#697a91;
 box-shadow:0 18px 42px #0000003e;
}
#app .dv-sr-only{
 position:absolute!important;width:1px;height:1px;
 padding:0;margin:-1px;overflow:hidden;
 clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
#app .dv-prompt{
 display:block;
 width:100%;
 min-height:79px;
 max-height:210px;
 resize:vertical;
 padding:1px 3px 4px;
 box-sizing:border-box;
 border:0!important;
 outline:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:#f5f5f7;
 font-size:12px;
 line-height:1.6;
 font-family:inherit;
}
#app .dv-prompt::placeholder{color:#888890}
#app .dv-prompt-footer{
 display:flex;
 gap:12px;
 align-items:center;
 justify-content:space-between;
}
#app .dv-mode-group{display:flex;gap:6px;align-items:center}
#app .dv-mode{
 border:1px solid #37373c;
 padding:7px 11px;
 border-radius:22px;
 color:#9c9ca3;
 background:#19191c;
 font-size:11px;
 font-weight:560;
 cursor:pointer;
}
#app .dv-mode.active{
 background:#303035;
 border-color:#484850;
 color:#fff;
}
#app .dv-prompt-controls{display:flex;gap:10px;align-items:center}
#app .dv-model-chip{
 color:#91919a;
 font-size:10px;
 max-width:160px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#app .dv-open-composer{
 background:#3279ec;
 border:1px solid #3279ec;
 color:#fff;
 border-radius:22px;
 padding:9px 14px;
 font-size:11px;
 font-weight:660;
 white-space:nowrap;
 cursor:pointer;
}
#app .dv-open-composer:hover:not(:disabled){background:#4c8cfa}
#app .dv-open-composer:disabled{opacity:.5;cursor:not-allowed}
#app .dv-hero-disclaimer{
 color:#73737b;
 font-size:10px;
 margin:12px auto 0;
}
#app .dv-section{
 margin-top:24px;
}
#app .dv-section-head{
 display:flex;
 gap:16px;
 align-items:flex-end;
 justify-content:space-between;
 margin-bottom:16px;
}
#app .dv-section-copy h2{
 margin:0 0 4px;
 color:#ededf0;
 font-size:17px;
 font-weight:690;
 letter-spacing:-.035em;
}
#app .dv-section-copy p{
 font-size:11px;
 line-height:1.5;
 color:#8e8e96;
 margin:0;
}
#app .dv-tool-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:11px;
}
#app .dv-tool{
 display:flex;
 min-width:0;
 flex-direction:column;
 text-align:left;
 padding:0;
 overflow:hidden;
 border:1px solid #29292e;
 border-radius:14px;
 background:#17171a;
 color:#eee;
 cursor:pointer;
 transition:transform .18s,border-color .18s;
}
#app .dv-tool:hover{border-color:#63636b;transform:translateY(-2px)}
#app .dv-tool-art{
 height:clamp(100px,12vw,174px);
 position:relative;
 overflow:hidden;
 display:block;
 background:#292931;
}
#app .dv-tool-art:before,
#app .dv-tool-art:after,
#app .dv-tool-art-detail:before,
#app .dv-tool-art-detail:after{
 content:"";position:absolute;display:block;
}
#app .dv-tool--photo .dv-tool-art{
 background:radial-gradient(ellipse at 59% 27%,#f2c8ad 0%,#a47b81 22%,transparent 52%),
 linear-gradient(128deg,#172b35 3%,#795b5c 49%,#171b21);
}
#app .dv-tool--photo .dv-tool-art:after{
 width:47%;height:98%;left:28%;bottom:-44%;
 background:linear-gradient(110deg,#2c3239,#a68e85 36%,#231d26);
 border-radius:48% 47% 0 0;
 transform:rotate(-9deg);
 filter:blur(.4px);
}
#app .dv-tool--audio .dv-tool-art{
 background:radial-gradient(ellipse at 51% 52%,#485a8d,#181e36 53%,#11131a 86%);
}
#app .dv-tool--audio .dv-tool-art:before{
 top:29%;left:16%;width:68%;height:43%;
 background:repeating-linear-gradient(90deg,transparent 0 7px,#b2c7f8 7px 10px,transparent 10px 15px);
 clip-path:polygon(0% 39%,5% 15%,11% 64%,17% 32%,23% 81%,29% 14%,35% 77%,43% 4%,51% 87%,60% 20%,69% 88%,77% 28%,84% 71%,91% 13%,100% 44%,100% 60%,0% 60%);
 opacity:.86;
}
#app .dv-tool--preset .dv-tool-art{
 background:linear-gradient(130deg,#81736a 3%,#c8ae99 31%,#4c403b 60%,#292c2e);
}
#app .dv-tool--preset .dv-tool-art:before{
 width:47%;height:62%;background:#f4d0ae;transform:rotate(-11deg);
 left:31%;top:21%;border-radius:4px;box-shadow:-27px 12px 0 #2d3a42,18px -12px 0 #896a62;
}
#app .dv-tool--editor .dv-tool-art{
 background:linear-gradient(135deg,#c49b4b 0 16%,#ded9c4 16% 42%,#505c71 42% 70%,#17304c 70%);
}
#app .dv-tool--editor .dv-tool-art:after{
 width:48%;height:55%;border:7px solid #faf5dc88;
 left:26%;top:25%;border-radius:13px;transform:rotate(14deg);
 box-shadow:0 12px 30px #15222e50;
}
#app .dv-tool-description{
 display:flex;
 flex-direction:column;
 gap:4px;
 padding:11px 12px 13px;
}
#app .dv-tool-description strong{font-size:12px;font-weight:620}
#app .dv-tool-description small{font-size:10px;color:#92929a;line-height:1.4}
#app .dv-explore{margin-top:32px}
#app .dv-gallery-badge{
 border:1px solid #39393e;
 padding:5px 9px;
 border-radius:18px;
 color:#85858e;
 font-size:9px;
 white-space:nowrap;
 letter-spacing:.04em;
}
#app .dv-inspiration-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 grid-auto-flow:dense;
 grid-auto-rows:clamp(88px,8vw,145px);
 gap:9px;
}
#app .dv-mosaic-tile{
 position:relative;
 min-width:0;
 overflow:hidden;
 display:block;
 border:0;
 padding:0;
 border-radius:14px;
 color:#fff;
 background:#27272b;
 cursor:pointer;
 transition:transform .16s,filter .16s;
}
#app .dv-mosaic-tile--tall{grid-row:span 2}
#app .dv-mosaic-tile:hover{transform:translateY(-2px);filter:brightness(1.12)}
#app .dv-art-scene{
 position:absolute;
 inset:0;
 overflow:hidden;
 background:var(--art-bg,linear-gradient(130deg,#3b3740,#91837c));
}
#app .dv-art-scene:before{
 content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 55%,#0009 100%);
 z-index:3;
}
#app .dv-art--portrait{--art-bg:radial-gradient(ellipse at 43% 30%,#f5c9b2,#af7e7a 25%,#623b45 44%,#211b23 87%)}
#app .dv-art--studio{--art-bg:radial-gradient(ellipse at 61% 36%,#f1d7ba,#ac9891 30%,#32435c 67%,#1d2635)}
#app .dv-art--texture{--art-bg:radial-gradient(ellipse at 33% 28%,#dac9a8,#a79a83 26%,#5a736a 55%,#1a3030)}
#app .dv-art--sound{--art-bg:radial-gradient(ellipse at 55% 50%,#6173a1,#273b65 48%,#15172c)}
#app .dv-art--cinema{--art-bg:linear-gradient(145deg,#ecd6b8,#89685e 41%,#36434a 76%,#111922)}
#app .dv-art--shapes{--art-bg:radial-gradient(ellipse at 40% 20%,#dcada2,#ad7175 37%,#2a2837 78%)}
#app .dv-art--sound2{--art-bg:radial-gradient(ellipse at 50% 47%,#deae75,#936a55 35%,#35243b 76%)}
#app .dv-art--graphic{--art-bg:linear-gradient(125deg,#cfc3ad 0 35%,#424d5c 35% 65%,#a7614f 65%)}
#app .dv-art-shape{
 position:absolute;display:block;z-index:1;
 filter:drop-shadow(0 16px 27px #0005);
}
#app .dv-art-shape.a{
 top:17%;left:30%;width:42%;height:67%;
 border-radius:45% 52% 38% 44%;
 background:linear-gradient(150deg,#ffffff45,#0006);
 transform:rotate(-14deg);
}
#app .dv-art-shape.b{
 top:28%;left:8%;width:33%;height:45%;
 background:#fff3;border-radius:46% 35% 68% 20%;transform:rotate(22deg);
}
#app .dv-art-shape.c{
 bottom:-19%;right:-9%;width:62%;height:61%;
 border-radius:50%;background:#10151c70;
}
#app .dv-art--sound .dv-art-shape.a,#app .dv-art--sound2 .dv-art-shape.a{
 width:79%;height:25%;top:40%;left:10%;border-radius:0;
 background:repeating-linear-gradient(90deg,#ffffff06 0 4px,#a6c7ffb9 4px 6px,transparent 6px 12px);
}
#app .dv-gallery-kind,
#app .dv-gallery-name,#app .dv-gallery-demo{position:absolute;z-index:4}
#app .dv-gallery-kind{
 top:11px;left:11px;font-size:9px;font-weight:700;letter-spacing:.09em;
 background:#17171aa6;border:1px solid #ffffff23;
 border-radius:8px;padding:3px 7px;
}
#app .dv-gallery-name{
 left:13px;bottom:13px;
 font-weight:620;font-size:13px;letter-spacing:-.02em;text-shadow:0 1px 5px #0008;
}
#app .dv-gallery-demo{
 right:9px;bottom:11px;
 background:#15151abb;font-size:9px;
 padding:3px 6px;border-radius:5px;
}
#app .dv-my-work{margin-top:31px}
#app .dv-model-row{display:grid;grid-template-columns:minmax(0,360px);gap:12px}
#app .dv-model-card{
 display:flex;align-items:center;gap:12px;
 background:#17171b;border:1px solid #333339;border-radius:14px;
 color:#f3f3f4;padding:12px 14px;text-align:left;cursor:pointer;
 min-height:80px;
}
#app .dv-model-card:hover{border-color:#787881;background:#202025}
#app .dv-model-symbol{
 width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;
 border-radius:12px;
 background:radial-gradient(ellipse at 44% 28%,#8bacc9,#34495a 55%,#1b2430);
 color:#d4e9fa;font-size:24px;
}
#app .dv-model-info{display:flex;flex-direction:column;min-width:0;gap:4px}
#app .dv-model-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .dv-model-info small{font-size:10px;color:#95959c;line-height:1.4}
#app .dv-model-arrow{margin-left:auto;color:#a9a9b0;font-size:16px}

/* Creator dialogs — compact DaVinci-style image choices and split clone */
#app .dv-composer{
 position:relative;
 display:block;
 width:min(1050px,100%);
 max-width:100%;
 padding:clamp(15px,2vw,27px);
 border-radius:20px;
 background:#19191d;
 border:1px solid #34343a;
}
#app .dv-composer form{display:flex;flex-direction:column;gap:14px}
#app .dv-composer .composer-top{
 display:flex;align-items:center;justify-content:space-between;
 margin:0 0 4px;
}
#app .dv-composer .composer-demo{color:#bbb3a6}
#app .dv-composer .dv-kind-section{
 display:flex;align-items:center;gap:15px;
 margin:0;
}
#app .dv-control-title{
 color:#d1d1d5;
 font-size:11px;
 font-weight:650;
 margin:0 0 9px;
}
#app .dv-composer .dv-kind-section>.dv-control-title{margin:0;min-width:48px}
#app .dv-composer .photo-mode-switch,
#app .dv-composer .dv-format-section,
#app .dv-composer .dv-prompt-side,
#app .dv-composer .photo-studio-options,
#app .dv-composer .photo-clone-panel{
 background:transparent;
 border:0;
 box-shadow:none;
 padding:0;
 margin:0;
}
#app .dv-composer .photo-mode-switch>label,
#app .dv-composer .photo-mode-switch>select,
#app .dv-composer #photoPresetRow>label,
#app .dv-composer #photoPresetRow>select{display:none!important}
#app .dv-composer .photo-studio-options #photoPresetRow{display:contents}
#app .dv-composer .photo-studio-options #photoPresetRow.hidden{display:none!important}
#app .dv-composer :is(.nx-select:has(#generationKind),.nx-select:has(#generationFormat),.nx-select:has(#generationVariants)){
 display:none!important;
}
#app .dv-composer .dv-choice-group{
 display:flex;flex-wrap:wrap;gap:8px;
}
#app .dv-composer .dv-choice{
 appearance:none;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:7px;
 min-width:76px;
 padding:8px 12px;
 color:#aaaab2;
 background:#202024;
 border:1px solid #35353b;
 border-radius:12px;
 cursor:pointer;
 text-align:center;
 transition:border-color .16s,background .16s;
}
#app .dv-composer .dv-choice:hover{background:#2c2c32;border-color:#707079;color:#fff}
#app .dv-composer .dv-choice.selected{
 background:#222b3b;
 border-color:#5e9cfb;
 box-shadow:inset 0 0 0 1px #5e9cfb24;
 color:#fff;
}
#app .dv-composer .dv-choice:focus-visible,
#app .dv-composer .dv-open-composer:focus-visible{
 outline:2px solid #aacbff;outline-offset:2px;
}
#app .dv-composer .dv-choice__thumb{
 width:100%;
 display:block;
 position:relative;
 overflow:hidden;
 height:36px;
 flex:none;
 background:#363740;
 border-radius:7px;
}
#app .dv-composer .dv-choice__copy{display:flex;flex-direction:column;gap:2px;align-items:center}
#app .dv-composer .dv-choice__copy strong{font-size:11px;font-weight:650;white-space:nowrap}
#app .dv-composer .dv-choice__copy small{font-size:9px;color:#92929d;line-height:1.3}
#app .dv-composer .dv-choice-group--modes .dv-choice{
 width:min(31%,170px);min-height:92px;flex:1 1 112px;
}
#app .dv-composer .dv-choice-group--modes .dv-choice__thumb{height:43px}
#app .dv-composer .dv-choice-group--format .dv-choice{
 width:96px;min-width:84px;
}
#app .dv-composer .dv-choice-group--format .dv-choice__thumb{
 background:#131418;height:44px;
 display:grid;place-items:center;
}
#app .dv-composer .dv-choice-group--format .dv-choice__thumb:before{
 content:"";
 display:block;
 width:var(--w,30px);height:var(--h,30px);
 background:linear-gradient(130deg,#667d9b,#363f58);
 border:1px solid #b3c6ef55;
 border-radius:3px;
}
#app .dv-composer .dv-thumb--square{--w:29px;--h:29px}
#app .dv-composer .dv-thumb--portrait{--w:26px;--h:35px}
#app .dv-composer .dv-thumb--wide{--w:54px;--h:29px}
#app .dv-composer .dv-thumb--free{
 background:radial-gradient(ellipse at 56% 40%,#a8b1cb,#4f607d 35%,#1d2735 73%);
}
#app .dv-composer .dv-thumb--preset{
 background:linear-gradient(130deg,#b1a289 0 32%,#63748a 32% 67%,#4a3f48 67%);
}
#app .dv-composer .dv-thumb--clone{
 background:linear-gradient(115deg,#765852 0 48%,#b7a590 48% 53%,#304a63 53%);
}
#app .dv-composer .dv-thumb--clone:after{
 content:"";position:absolute;width:26px;height:26px;left:calc(50% - 13px);top:8px;
 border:2px solid #ffffffaa;border-radius:5px;transform:rotate(-8deg);
}
#app .dv-composer .dv-thumb--image{
 background:linear-gradient(140deg,#ccaba0,#6c697e 45%,#28384f);
}
#app .dv-composer .dv-thumb--audio{
 background:repeating-linear-gradient(90deg,#39415a 0 6px,#b3bce0 7px 9px,#2d3651 10px 14px);
}
#app .dv-composer .dv-choice-group--kind .dv-choice{
 flex-direction:row;min-height:41px;padding:6px 13px;
}
#app .dv-composer .dv-choice-group--kind .dv-choice__thumb{width:24px;height:24px}
#app .dv-composer .dv-composer-content{
 display:grid;grid-template-columns:minmax(0,1fr);
 gap:18px;
}
#app .dv-composer .dv-composer-content--clone{
 grid-template-columns:minmax(0,40%) minmax(0,1fr);
 gap:18px;align-items:stretch;
 padding-top:9px;
 border-top:1px solid #2e2e34;
}
#app .dv-composer .dv-reference-panel{
 position:relative;
 display:flex;
 flex-direction:column;
 gap:9px;
 padding:11px;
 background:#222228;
 border:1px solid #36363d;
 border-radius:14px;
 min-height:240px;
}
#app .dv-composer .dv-reference-panel.hidden{display:none!important}
#app .dv-composer .dv-reference-panel>label{
 color:#d1d1d8;font-size:11px;font-weight:670;
}
#app .dv-composer .dv-reference-panel>p{
 color:#96969f;font-size:10px;line-height:1.5;order:10;
 margin:0;
}
#app .dv-composer #photoCloneFile{
 display:block;
 width:100%;
 height:auto;
 font-size:10px;
 color:#d4d4d9;
 border:1px dashed #64646e;
 background:#292930;
 border-radius:10px;
 padding:9px;
}
#app .dv-composer #photoCloneFile::file-selector-button{
 border:1px solid #565662;
 padding:7px 9px;
 background:#34343e;
 color:#f2f2f5;
 border-radius:8px;
 cursor:pointer;
 margin-right:9px;
}
#app .dv-composer .photo-clone-preview{
 width:100%;
 min-height:140px;
 max-height:310px;
 overflow:hidden;
 background:#18181d;
 border:1px solid #383840;
 border-radius:11px;
 display:grid;place-items:center;
}
#app .dv-composer .photo-clone-preview img{
 max-width:100%;max-height:270px;
 height:auto;width:auto;object-fit:contain;
 border-radius:8px;
}
#app .dv-composer .dv-reference-empty{
 display:flex;flex-direction:column;gap:8px;
 color:#aaaab2;text-align:center;align-items:center;padding:23px 8px;
}
#app .dv-composer .dv-reference-icon{
 display:grid;place-items:center;
 width:39px;height:39px;
 border:1px dashed #777782;border-radius:11px;
 font-size:20px;
}
#app .dv-composer .dv-reference-empty strong{font-size:12px}
#app .dv-composer .dv-reference-empty small{font-size:9px;color:#777782}
#app .dv-composer .dv-prompt-side{
 display:flex;flex-direction:column;gap:7px;
 min-width:0;
}
#app .dv-composer .dv-prompt-heading{font-size:12px;font-weight:680;color:#eeeef2}
#app .dv-composer .dv-prompt-note{font-size:10px;color:#9898a3;line-height:1.5;margin:0 0 5px}
#app .dv-composer #generationPrompt{
 display:block;
 width:100%;
 flex:1 1 auto;
 min-height:112px;
 max-height:260px;
 font:13px/1.55 inherit;
 border:1px solid #45454c;
 border-radius:12px;
 background:#25252a;
 color:#fff;
 padding:12px 13px;
 resize:vertical;
}
#app .dv-composer .dv-clone-wish{display:flex;flex-direction:column;gap:6px}
#app .dv-composer .dv-clone-wish[hidden]{display:none!important}
#app .dv-composer .dv-clone-wish label{font-size:10px;color:#a9a9b2}
#app .dv-composer #photoCloneWish{
 min-height:56px;max-height:110px;resize:vertical;
 padding:9px 12px;border-radius:11px;
 font:12px/1.5 inherit;
 border:1px solid #414149;background:#25252a;color:#fff;
}
#app .dv-composer .dv-choice-group--presets{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 margin:0 0 9px;
}
#app .dv-composer .dv-choice-group--presets .dv-choice{padding:7px;min-width:0}
#app .dv-composer .dv-choice-group--presets .dv-choice__thumb{height:53px}
#app .dv-composer .dv-thumb--none{background:#27272c}
#app .dv-composer .dv-thumb--natural{background:linear-gradient(130deg,#acc1b2,#f6d9a7 60%,#86685b)}
#app .dv-composer .dv-thumb--studio{background:radial-gradient(ellipse at 45% 40%,#b3a6ac,#68586a 45%,#212b3c)}
#app .dv-composer .dv-thumb--golden{background:linear-gradient(135deg,#f0bd78,#ba7b4e 56%,#483746)}
#app .dv-composer .dv-advanced{
 border-top:1px solid #323239;
 padding:12px 0 3px;
 font-size:11px;
}
#app .dv-composer .dv-advanced summary{
 color:#bebec8;cursor:pointer;list-style:revert;
}
#app .dv-composer .dv-choice-group--variants{padding:11px 0}
#app .dv-composer .dv-choice-group--variants .dv-choice{
 padding:8px 12px;min-width:45px;min-height:39px;
}
#app .dv-composer .dv-choice-group--variants .dv-choice__thumb{display:none}
#app .dv-composer .dv-composer-content[hidden],
#app .dv-composer .dv-format-section[hidden],
#app .dv-composer .photo-mode-switch[hidden],
#app .dv-composer .dv-advanced[hidden]{
 display:none!important;
}
#app .dv-composer .photo-studio-options{
 width:100%;
 display:flex;
 flex-direction:column;
 gap:9px;
}
#app .dv-composer .composer-bottom{
 display:flex;align-items:center;justify-content:space-between;
 border-top:1px solid #34343a;
 padding-top:11px;gap:13px;
}
#app .dv-composer .generation-launch{
 background:#337bef;color:#fff;border-radius:22px;
 font-size:12px;padding:10px 18px;
}
#app .dv-composer .generation-disclaimer{
 font-size:10px;color:#96969f;margin:0;
}
@media(max-width:750px){
 #app .dv-composer .dv-composer-content--clone{grid-template-columns:1fr}
 #app .dv-composer .photo-clone-preview{max-height:190px}
 #app .dv-composer .photo-clone-preview img{max-height:170px}
 #app .dv-composer .dv-choice-group--presets{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .dv-composer .dv-choice-group--modes .dv-choice{min-width:90px}
}

/* Nexus Labs — Creative Portal v4
   A SINGLE neutral-dark design layer, after structural labs.css.
   No legacy Obsidian, Studio System or Davinci Shell stylesheets.
   All existing authenticated handlers continue to own their controls. */
:root{color-scheme:dark;--bg:#09090a;--surface:#171719;--panel:#202023;
 --panel2:#29292c;--text:#f5f5f6;--muted:#94949b;--line:#303035;
 --accent:#9dc4ff;--dv-blue:#2788f5;--nx-border:#303035;--nx-text:#f5f5f6;
 --nx-panel:#19191b;--nx-muted:#88888f}
html,body,#app,#app.app,#app .main-area,#app main{
 background:#09090a;color:#f4f4f6;background-image:none}
#app.app{--dv-rail:190px;min-height:100vh}
#app .sidebar{
 width:var(--dv-rail);min-width:var(--dv-rail);flex:0 0 var(--dv-rail);
 padding:15px 9px 13px;background:#101012;border-right:1px solid #262629;
 background-image:none;box-shadow:none;overflow-y:auto;overflow-x:hidden;
 scrollbar-width:thin;scrollbar-color:#323237 transparent}
#app .nx-sidebar-head{
 padding:8px 10px 24px;min-height:49px;display:flex;align-items:center;
 justify-content:space-between;gap:7px;background:transparent;border:0}
#app .nx-sidebar-brand{
 font:800 16px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
 white-space:nowrap;letter-spacing:.025em;color:#fafafa}
#app .dv-brand-light{font-weight:450;color:#aaaaaf}
#app .dv-sidebar-collapse{
 cursor:pointer;border:0;background:transparent;color:#929299;
 font-size:16px;border-radius:8px;padding:5px 8px}
#app .dv-sidebar-collapse:hover{color:#fff;background:#28282c}
#app .nx-sidebar-content{display:flex;flex-direction:column;gap:2px;padding:0}
#app .studio-nav-group{display:flex;flex-direction:column;gap:3px}
#app .nx-section-title{
 font-size:11px;font-weight:500;color:#78787f;letter-spacing:0;
 text-transform:none;padding:21px 10px 9px;margin:0}
#app .nav-item{
 display:flex;gap:11px;align-items:center;min-height:39px;padding:8px 11px;
 background:transparent;border:1px solid transparent;box-shadow:none;
 border-radius:11px;color:#b7b7bc;font:520 12px/1.3 Inter,system-ui,sans-serif}
#app .nav-item .nav-ic{
 min-width:20px;width:20px;font-size:16px;line-height:18px;
 text-align:center;color:inherit;opacity:.88}
#app .nav-item .studio-nav-text{flex:1;text-align:left}
#app .nav-item.active{background:#2e2e31;color:#fff;box-shadow:none;border-color:transparent}
#app .nav-item:not(:disabled):hover{background:#252529;color:#fff;box-shadow:none;transform:none}
#app .nav-item:disabled{opacity:.48}
#app .dv-soon-badge{font:500 9px Inter,system-ui,sans-serif;color:#94949b}
#app .sidebar-bottom{border:0;background:transparent;padding:12px 2px 0;gap:8px}
#app .connection{display:none}
#app .nx-profile{
 padding:8px;background:#1c1c1f;border:1px solid #323236;border-radius:12px;
 display:flex;align-items:center;gap:8px;box-shadow:none}
#app .nx-profile-avatar{
 display:grid;place-items:center;background:#36313b;color:#f5e7ff;
 border-radius:50%;font-size:11px;width:29px;height:29px;flex:0 0 29px;box-shadow:none}
#app .nx-profile-info{min-width:0}
#app .nx-profile-info strong{font-size:11px;color:#f5f5f6}
#app .nx-profile-info small{font-size:9px;color:#919198}
#app .labs-language-picker select{
 color:#b9b9c0;background:#27272b;border:1px solid #39393d;
 border-radius:8px;font-size:10px;padding:3px;max-width:48px}
#app #logout{
 display:flex;gap:9px;align-items:center;min-height:36px;
 border:0;background:transparent;color:#aaaab1;font-size:11px;padding:6px 10px;
 text-align:left;border-radius:9px}
#app #logout:hover{background:#262629;color:#fff}
#app .main-area{flex:1;min-width:0;background:#09090a}
#app .topbar{
 position:sticky;top:0;z-index:40;height:53px;min-height:53px;
 padding:0 clamp(13px,2vw,31px);border-bottom:1px solid #242427;
 box-shadow:none;background:#101012;backdrop-filter:none}
#app .topbar-crumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#a5a5ac}
#app .topbar-crumb strong{color:#f2f2f5;font-size:12px;font-weight:620}
#app .topbar-crumb .slash{color:#77777f}
#app .topbar-right{display:flex;align-items:center;gap:11px}
#app .header-search{
 border:1px solid #323237;background:#1e1e21;min-height:32px;
 border-radius:10px;width:clamp(120px,18vw,222px)}
#app .header-search:focus-within{border-color:#7890b3;box-shadow:none}
#app .header-search input{color:#ededf0;font-size:11px;background:transparent}
#app .demo-label,#app .ui-build{
 font-size:9px;letter-spacing:0;font-weight:450;
 color:#85858d;border-color:#37373b;background:transparent;
 border-radius:6px;padding:4px 6px}
#app .topbar-stats{font-size:10px;color:#8a8a92}
#app .avatar{
 width:30px;height:30px;color:#f3f3f5;background:#34343a;
 border:1px solid #42424a;box-shadow:none;font-size:11px}
#app main{
 min-height:calc(100vh - 53px);max-width:none;margin:0;
 padding:11px clamp(13px,1.7vw,27px) 120px;color:#f4f4f6}
#app #workspaceTools{
 margin:3px 0 12px;min-height:36px;display:flex;align-items:center;
 justify-content:flex-end;position:relative}
#app #workspaceTools[data-home="true"]{display:none}
#app .gallery-controls{display:flex;align-items:center;gap:7px}
#app .gallery-control,#app .folder-create,#app .filter-option{
 border:1px solid #39393e;background:#222225;color:#d7d7dc;
 font:500 11px Inter,system-ui,sans-serif;border-radius:10px;
 box-shadow:none;min-height:34px}
#app .gallery-control:hover,#app .folder-create:hover,
#app .filter-option:hover{background:#303034;border-color:#47474c}
#app .filter-panel{
 background:#202023;border:1px solid #3a3a40;border-radius:12px;
 box-shadow:0 15px 35px #0009;min-width:185px;right:0;
 padding:7px;z-index:95}
#app .filter-option{background:transparent;border:0;text-align:left;width:100%}
#app .filter-option.active{background:#35353a;color:#fff}
#app .size-control{
 border:1px solid #38383e;background:#242426;height:34px;color:#a5a5ad;
 border-radius:10px}
#app .size-control input{accent-color:#b1b1b8}
#app .dv-layout-toggle{
 display:flex;gap:3px;align-items:center;border:1px solid #35353a;
 border-radius:10px;background:#1d1d1f;padding:3px}
#app .dv-layout-toggle button{
 border:0;background:transparent;color:#9b9ba3;
 padding:5px 9px;border-radius:8px;font-size:11px;min-height:26px}
#app .dv-layout-toggle button[aria-pressed=true]{background:#39393d;color:#fff}
#app .dv-home{width:100%;color:#fff}
#app .dv-hero{
 text-align:center;max-width:none;background:transparent;
 padding:clamp(54px,6vw,103px) 0 clamp(25px,3vw,43px)}
#app .dv-hero-title{
 font-size:clamp(28px,3.2vw,47px);font-weight:740;
 letter-spacing:-.055em;line-height:1.15;margin:0 0 12px}
#app .dv-hero-subtitle{font-size:12px;color:#a0a0a8}
#app .dv-hero-kicker{display:none}
#app .dv-prompt-box{
 width:min(665px,100%);margin:27px auto 0;
 background:#1e1e21;border:1px solid #38383d;
 border-radius:19px;box-shadow:0 15px 46px #0005;padding:14px}
#app .dv-prompt{color:#f5f5f6;font-size:13px;min-height:87px}
#app .dv-mode{background:#252529;color:#c2c2c8;border-color:#3e3e43;border-radius:999px}
#app .dv-mode.active{color:#fff;background:#39393f;border-color:#54545d}
#app .dv-open-composer,#app .generation-launch{
 background:#2584f1;color:#fff;border:0;border-radius:999px;
 font-weight:650;padding:10px 17px}
#app .dv-open-composer:hover,#app .generation-launch:hover{background:#4e9cfa}
#app .dv-section{margin-top:29px}
#app .dv-section-copy h2{font-size:18px;color:#f1f1f3}
#app .dv-section-copy p{color:#99999f;font-size:11px}
#app .dv-tool-grid{gap:11px}
#app .dv-tool{
 background:#1a1a1c;border:1px solid #353539;
 border-radius:13px;box-shadow:none}
#app .dv-inspiration-grid{gap:6px;grid-auto-rows:clamp(105px,11vw,165px)}
#app .dv-mosaic-tile{border-radius:10px}
#app .dv-model-card{background:#1c1c1f;border-color:#38383e}
#app .dv-model-symbol{background:radial-gradient(circle at 38% 30%,#9bacc1,#4b586c 49%,#25272e)}
#app .dv-workspace-header{
 display:flex;align-items:center;justify-content:space-between;
 gap:12px;flex-wrap:wrap;min-height:52px;margin:2px 0 8px}
#app .dv-workspace-header h1{font-size:16px;font-weight:650;color:#f3f3f5;letter-spacing:-.03em;margin:0 0 3px}
#app .dv-workspace-header p{font-size:10px;color:#8c8c94;margin:0}
#app .dv-workspace-tabs{display:flex;gap:5px;align-items:center}
#app .dv-workspace-tabs button{
 border:1px solid transparent;padding:6px 12px;
 background:#1f1f22;color:#a3a3ab;border-radius:999px;font-size:11px}
#app .dv-workspace-tabs button[aria-pressed=true]{
 background:#36363a;color:#fff;border-color:#45454d}
#app .admin-cabinet-entry{margin:0 0 10px}
#app .folder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 6px}
#app .folder-bar{display:flex;gap:7px}
#app .folder-chip{
 padding:8px 12px;font-size:11px;
 background:#1d1d20;color:#bfbfc5;border:1px solid #38383c;
 border-radius:9px}
#app .folder-chip.active{color:#fff;background:#36363b;border-color:#4b4b52}
#app .folder-note{color:#818187;font-size:10px;margin-bottom:11px}
#app #assetGrid.asset-grid{
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
 gap:6px;margin:0}
#app #assetGrid.dv-layout-row{
 grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
#app #assetGrid .asset-card{
 background:#18181a;border:0;border-radius:10px;
 box-shadow:none;transition:filter .16s;transform:none;overflow:hidden}
#app #assetGrid .asset-card:hover{filter:brightness(1.13);transform:none}
#app #assetGrid .asset-art{
 background-color:#25252a;height:auto;aspect-ratio:3/4;
 border-radius:10px;overflow:hidden}
#app #assetGrid.dv-layout-row .asset-art{aspect-ratio:16/10}
#app #assetGrid .asset-info{padding:8px 4px;background:transparent}
#app #assetGrid .asset-info strong{font-size:11px;color:#f3f3f6;font-weight:560}
#app #assetGrid .asset-info small{font-size:9px;color:#86868e}
#app #assetGrid .asset-art.audio{background:linear-gradient(140deg,#303445,#1e2534)}
#app .asset-action-overlay button,#app .asset-action-menu{background:#161619dc;border-color:#ffffff35}
#app .model-capability-icon{
 width:19px;height:19px;min-width:19px;padding:2px;
 border:1px solid #ffffff25;border-radius:6px;
 background:#1d1d22b0;box-shadow:none}
#app .model-capability-icon svg{width:12px;height:12px}
#app #openGeneration.generation-fab{
 position:fixed;z-index:64;
 right:25px;bottom:20px;left:auto;top:auto;
 width:auto;min-width:102px;height:43px;border-radius:999px;
 display:flex;align-items:center;justify-content:center;
 padding:0 16px;border:1px solid #55555a;
 background:#28282c;color:#fff;box-shadow:0 16px 45px #0009;
 font-size:16px}
#app #openGeneration.generation-fab::after{content:"Создать";font-size:11px;font-weight:650;margin-left:9px}
#app #workspaceView #generationComposer.dv-composer{
 position:fixed;top:auto;bottom:14px;
 left:calc(50% + 95px);right:auto;transform:translateX(-50%);
 width:min(790px,calc(100vw - 220px));max-width:none;
 max-height:min(82vh,820px);overflow:auto;overscroll-behavior:contain;
 z-index:85;border-radius:17px;padding:13px 16px;
 background:#202023;border:1px solid #38383e;
 box-shadow:0 18px 80px #000b}
#app #generationComposer.dv-composer form{gap:10px;max-width:none}
#app #generationComposer.dv-composer .composer-top{margin:0}
#app #generationComposer.dv-composer .composer-top .eyebrow{
 letter-spacing:.07em;font-size:10px;color:#d0d0d7}
#app #generationComposer.dv-composer .dv-kind-section{gap:10px}
#app #generationComposer.dv-composer .dv-choice-group{gap:7px}
#app #generationComposer.dv-composer .dv-choice{
 border:1px solid #3f3f43;background:#28282c;border-radius:11px;
 box-shadow:none;color:#c4c4cb;padding:7px 9px}
#app #generationComposer.dv-composer .dv-choice.selected{
 background:#303842;border-color:#7297c9;color:#fff}
#app #generationComposer.dv-composer .dv-choice__thumb{height:32px}
#app #generationComposer.dv-composer .dv-choice-group--modes .dv-choice{min-height:76px}
#app #generationComposer.dv-composer .dv-choice-group--modes .dv-choice__thumb{height:32px}
#app #generationComposer.dv-composer .dv-choice-group--format .dv-choice{width:83px;min-width:83px}
#app #generationComposer.dv-composer .dv-choice-group--format .dv-choice__thumb{height:32px}
#app #generationComposer.dv-composer .dv-composer-content--clone{grid-template-columns:minmax(0,42%) minmax(0,1fr)}
#app #generationComposer.dv-composer #generationPrompt{
 min-height:88px;max-height:240px;background:#29292d;
 border:1px solid #44444b;border-radius:12px;color:#fff;font-size:12px}
#app #generationComposer.dv-composer .dv-reference-panel{
 background:#29292d;border:1px solid #424247;
 border-radius:12px;min-height:205px}
#app #generationComposer.dv-composer .photo-clone-preview{min-height:130px;max-height:235px}
#app #generationComposer.dv-composer .dv-prompt-side{gap:6px}
#app #generationComposer.dv-composer .dv-prompt-note{font-size:10px;color:#9b9ba4}
#app #generationComposer.dv-composer .photo-series-toggle{font-size:10px}
#app #generationComposer.dv-composer .composer-bottom{
 border-top:1px solid #35353a;padding-top:8px}
#app #generationComposer.dv-composer .composer-controls{display:none}
#app #generationComposer.dv-composer .generation-disclaimer{font-size:9px;color:#797980}
#app #generationComposer.dv-composer .composer-close{
 background:#35353b;color:#dedee3;border:0;border-radius:8px}
#app :is(.settings-page,.preset-studio-page,.settings-studio-page){
 background:transparent;color:#f3f3f5;border:0;max-width:1130px}
#app :is(.settings-page,.preset-studio-page,.settings-studio-page) h1{
 color:#f1f1f3;font-size:25px;font-weight:660;letter-spacing:-.035em}
#app :is(.settings-page,.preset-studio-page,.settings-studio-page) p{color:#a3a3ab}
#app .preset-studio-heading{margin:14px 0 21px}
#app .preset-studio-tabs{border:0;gap:6px}
#app .preset-studio-tabs button{border:0;background:#242427;border-radius:999px;color:#bdbdc2}
#app .preset-studio-tabs button.active{background:#3a3a3e;color:#fff}
#app :is(.preset-studio-card,.text-scenarios article,.nx-admin-access,
 .nx-password-settings,.nx-gateway-pairing,.preset-editor,.settings-page section){
 background:#1c1c1f;border:1px solid #35353b;border-radius:13px;box-shadow:none}
#app :is(.settings-page,.preset-editor,.generation-composer) :is(input,textarea,select){
 background:#27272b;border:1px solid #44444a;color:#f7f7f8;border-radius:9px}
#app :is(.settings-page,.preset-editor,.generation-composer) :is(input,textarea,select):focus-visible{
 outline:2px solid #8ba9df;outline-offset:2px}
#app .preview-warning{color:#baaa8a;background:#25221d;border-color:#4d4237}
#app .nx-admin-access button,#app .nx-password-settings button{background:#343438;color:#eee}
#app .main-area>.inspector{
 top:53px;width:min(360px,calc(100vw - 190px));
 background:#1b1b1f;border-left:1px solid #34343a;
 box-shadow:-19px 0 50px #0008}
#app .labs-dialog-panel{background:#1f1f22;border:1px solid #3f3f45;box-shadow:0 25px 80px #000b}
#app .labs-dialog-backdrop{background:#050507c9}
#app .toast{background:#28282c;border-color:#404046;color:#f3f3f5}
#app .login-screen{background:#0c0c0e}
#app .login-card{background:#1b1b1e;border:1px solid #39393d;box-shadow:0 28px 100px #0008}
#app .login-orb{opacity:.10}
#app .dv-audio-workspace-note{color:#9a9aa2;font-size:11px;margin:7px 0}
#app .sidebar.dv-collapsed{
 width:60px;min-width:60px;flex-basis:60px;padding-left:6px;padding-right:6px}
#app.app.dv-rail-collapsed{--dv-rail:60px}
#app .sidebar.dv-collapsed .studio-nav-text,#app .sidebar.dv-collapsed .nx-section-title,
#app .sidebar.dv-collapsed .dv-brand-light,
#app .sidebar.dv-collapsed .nx-profile-info,#app .sidebar.dv-collapsed .labs-language-picker,
#app .sidebar.dv-collapsed .dv-soon-badge,#app .sidebar.dv-collapsed #logout span:last-child{
 display:none}
#app .sidebar.dv-collapsed .nx-sidebar-brand{font-size:0}
#app .sidebar.dv-collapsed .nx-sidebar-brand::after{content:"N";font-size:16px;color:#fff}
#app .sidebar.dv-collapsed .nx-sidebar-head{padding:8px 2px 21px}
#app .sidebar.dv-collapsed .nav-item{justify-content:center;padding:8px 3px}
#app .sidebar.dv-collapsed .nav-item .nav-ic{width:22px}
#app .sidebar.dv-collapsed .nx-profile{justify-content:center;padding:6px 2px}
#app.app.dv-rail-collapsed #workspaceView #generationComposer.dv-composer{
 left:calc(50% + 30px);width:min(790px,calc(100vw - 90px))}
@media(max-width:1270px){
 #app #assetGrid.asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1060px){
 #app #assetGrid.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .topbar-stats{display:none}
}
@media(max-width:760px){
 #app .sidebar{position:fixed;left:-260px;top:0;bottom:0;
   height:100dvh;width:220px;min-width:220px;flex-basis:220px;z-index:70}
 #app .sidebar.open{left:0}
 #app.app{--dv-rail:0px}
 #app .menu-toggle{display:block}
 #app .topbar{height:53px;min-height:53px}
 #app .header-search{width:115px}
 #app main{padding:10px 11px 115px}
 #app .dv-hero{padding:34px 0 24px}
 #app .dv-hero-title{font-size:30px}
 #app .dv-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .dv-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:120px}
 #app #assetGrid.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app #assetGrid.dv-layout-row{grid-template-columns:1fr}
 #app #workspaceView #generationComposer.dv-composer{
  left:50%;width:min(100vw - 22px,650px);bottom:8px;padding:12px}
 #app #generationComposer.dv-composer .dv-composer-content--clone{grid-template-columns:1fr}
 #app .topbar .ui-build,#app .topbar .demo-label{display:none}
 #app .main-area>.inspector{top:53px;width:min(100vw,420px)}
}
@media(max-width:420px){
 #app #assetGrid.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .dv-prompt-footer{flex-wrap:wrap}
 #app #generationComposer.dv-composer .dv-choice-group--presets{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* Rail density and responsive collapsed state */
#app.app.dv-rail-collapsed{--dv-rail:60px}
#app .sidebar.dv-collapsed .studio-nav-text,
#app .sidebar.dv-collapsed .nx-section-title,
#app .sidebar.dv-collapsed .dv-brand-light,
#app .sidebar.dv-collapsed .nx-profile-info,
#app .sidebar.dv-collapsed .labs-language-picker,
#app .sidebar.dv-collapsed .dv-soon-badge,
#app .sidebar.dv-collapsed #logout span:last-child{display:none}
#app .sidebar.dv-collapsed .nx-sidebar-brand{font-size:0}
#app .sidebar.dv-collapsed .nx-sidebar-brand:after{content:"N";font-size:16px}
#app .sidebar.dv-collapsed .nav-item{justify-content:center;padding-inline:4px}
#app .sidebar.dv-collapsed .nx-sidebar-head{padding-inline:1px}
#app .sidebar.dv-collapsed .nx-profile{justify-content:center;padding:6px 2px}
#app .sidebar.dv-collapsed .nx-sidebar-logout{justify-content:center}
#app.app.dv-rail-collapsed #workspaceView #generationComposer.dv-composer{
 left:calc(50% + 30px);width:min(790px,calc(100vw - 94px))}
@media(max-width:760px){
 #app.app.dv-rail-collapsed{--dv-rail:0px}
 #app .sidebar.dv-collapsed{width:220px;min-width:220px;flex:0 0 220px}
 #app #workspaceView #generationComposer.dv-composer{
 left:50%;width:calc(100vw - 22px);bottom:8px}
 #app .dv-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

#app .dv-sidebar-actions{display:flex;align-items:center;gap:2px}
#app .dv-sidebar-actions #sideSearch{
 border:0;background:transparent;color:#94949b;font-size:18px;
 border-radius:8px;padding:3px 5px;min-width:25px;min-height:29px}
#app .dv-sidebar-actions #sideSearch:hover{background:#28282c;color:#fff}
#app .sidebar.dv-collapsed .dv-sidebar-actions{flex-direction:column-reverse}

/* The owner sign-in is outside #app; style the actual login surface too. */
body .login-screen{
 background:#09090b!important;background-image:none!important;
 min-height:100vh;color:#ededf0}
body .login-orb{opacity:.09!important}
body .login-card{
 color:#f7f7f8!important;background:#1a1a1d!important;
 background-image:none!important;border:1px solid #37373c!important;
 border-radius:20px!important;box-shadow:0 25px 80px #000a!important}
body .login-card input{
 background:#252528!important;border:1px solid #424249!important;
 color:#f7f7f9!important;border-radius:11px!important}
body .login-card .primary{
 background:#2689f4!important;color:#fff!important;border-radius:12px!important}
body .login-card .brand-mark{color:#c4c4cc}
body .login-card .brand-dim{color:#ababaf}
body .labs-dialog-panel{
 background:#1e1e22!important;border:1px solid #3c3c43!important;
 box-shadow:0 24px 100px #000b!important;color:#eeeef1!important}
body .toast{background:#252529!important;color:#eeeef1!important;border-color:#404049!important}

/* v4.1 final details — unified nav, user settings and translucent AI ambience */
#app .dv-nav-svg{display:block;width:18px;height:18px;stroke-width:1.7;flex:none}
#app .nav-item .nav-ic{display:grid;place-items:center;width:21px;min-width:21px;height:21px;font-size:0}
#app .dv-sidebar-actions .dv-nav-svg{width:17px;height:17px}
#app .dv-sidebar-collapse .dv-nav-svg{transition:transform .16s ease}
#app .dv-sidebar-collapse.is-collapsed .dv-nav-svg{transform:rotate(180deg)}
#app :is(.nav-item,.dv-sidebar-collapse,.dv-settings-menu a,.dv-card-size-options button):focus-visible{outline:2px solid #accaff;outline-offset:2px}
#app .dv-my-work{margin:17px 0 28px}
#app .dv-my-work .dv-section-head{margin-bottom:12px}
#app .dv-my-work .dv-model-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),330px));gap:11px}
#app .dv-my-work .dv-model-card{min-height:78px;border-radius:13px;padding:12px}
#app .dv-section.dv-tools{margin-top:18px}
#app .dv-section.dv-explore{margin-top:30px}
/* Hero lighting is deliberately behind the text and prompt, never blocking input. */
#app .dv-hero{
 position:relative;isolation:isolate;overflow:hidden;
 border-radius:0;min-height:355px;
 padding:clamp(55px,6vw,102px) 12px clamp(31px,3.5vw,56px);
}
#app .dv-hero:before{
 content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
 background:radial-gradient(ellipse 65% 68% at 50% 34%,#14203975 0%,#11121a36 38%,transparent 81%);
}
#app .dv-hero-ambient{
 position:absolute;inset:-3% 0 0;overflow:hidden;z-index:-1;
 pointer-events:none;contain:paint;isolation:isolate;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 76%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 76%,transparent 100%);
}
#app .dv-ambient-light{
 position:absolute;display:block;width:50%;height:110%;
 border-radius:50%;will-change:transform,opacity;
 opacity:.6;transform:translate3d(0,0,0);
 filter:blur(49px);
}
#app .dv-ambient-light--a{
 left:5%;top:-46%;
 background:radial-gradient(ellipse at 50% 55%,#5279c35f,#283c8252 38%,transparent 73%);
 animation:dv-aura-a 20s ease-in-out infinite alternate;
}
#app .dv-ambient-light--b{
 right:5%;top:-44%;
 background:radial-gradient(ellipse at 55% 50%,#735baf7d,#534a9c40 40%,transparent 73%);
 animation:dv-aura-b 24s ease-in-out infinite alternate;
}
#app .dv-ambient-light--c{
 width:60%;height:100%;top:-24%;left:23%;opacity:.43;
 background:radial-gradient(ellipse at center,#398b9970,#497e9650 37%,transparent 70%);
 animation:dv-aura-c 27s ease-in-out infinite alternate;
}
#app .dv-ambient-orbit{
 position:absolute;display:block;width:min(83vw,720px);height:240px;
 border-radius:50%;left:50%;top:12%;transform:translateX(-50%) rotate(-7deg);
 border:1px solid #99afe323;box-shadow:0 0 42px #6e81c313,inset 0 0 30px #8da4f00d;
 opacity:.7;animation:dv-aura-orbit 13s ease-in-out infinite alternate;
}
#app .dv-hero-title,#app .dv-hero-subtitle,#app .dv-prompt-box,#app .dv-hero-disclaimer{
 position:relative;z-index:1;
}
#app .dv-hero-title{text-shadow:0 4px 22px #0008;letter-spacing:-.055em}
#app .dv-prompt-box{
 background:#1e1e23e8;
 border:1px solid #5b5d6966;
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 box-shadow:0 16px 54px #0009,0 0 33px #7184ba0a;
}
#app .dv-prompt-box:focus-within{border-color:#91a7d2;box-shadow:0 0 0 2px #a8beff16,0 20px 54px #000a}
@keyframes dv-aura-a{
 0%{transform:translate3d(-10%,0,0) scale(.93);opacity:.43}
 50%{opacity:.65}100%{transform:translate3d(27%,8%,0) scale(1.15);opacity:.56}
}
@keyframes dv-aura-b{
 0%{transform:translate3d(9%,-3%,0) scale(1.04);opacity:.54}
 100%{transform:translate3d(-24%,11%,0) scale(.89);opacity:.68}
}
@keyframes dv-aura-c{
 0%{transform:translate3d(5%,5%,0) scale(1);opacity:.35}
 100%{transform:translate3d(-6%,-9%,0) scale(1.22);opacity:.57}
}
@keyframes dv-aura-orbit{
 0%{transform:translateX(-50%) rotate(-9deg) scale(.94);opacity:.2}
 100%{transform:translateX(-50%) rotate(8deg) scale(1.1);opacity:.45}
}
/* Shared page layout: account controls on the left, content cards on right. */
#app .dv-settings-shell{width:min(1110px,100%);margin:0 auto;padding:clamp(15px,2.5vw,38px) 0 50px}
#app .dv-settings-top{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}
#app .dv-settings-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:650;color:#9da1ac}
#app .dv-settings-top h1{margin:9px 0 8px;font-size:clamp(25px,2.7vw,35px);font-weight:730;letter-spacing:-.045em}
#app .dv-settings-top p{margin:0;color:#9c9ca5;font-size:12px;line-height:1.6}
#app .dv-settings-version{white-space:nowrap;background:#222226;border:1px solid #37373e;padding:8px 11px;border-radius:999px;color:#a3a3ad;font-size:10px}
#app .dv-settings-columns{display:grid;grid-template-columns:minmax(145px,203px) minmax(0,1fr);gap:24px;align-items:start}
#app .dv-settings-menu{display:flex;flex-direction:column;gap:3px;position:sticky;top:83px}
#app .dv-settings-menu a{display:block;color:#a7a7b0;text-decoration:none;font-size:12px;padding:12px 14px;border-radius:10px;background:transparent;border:1px solid transparent}
#app .dv-settings-menu a:hover{background:#252528;color:#fff}
#app .dv-settings-menu a[aria-current=true]{background:#303034;color:#fff;border-color:#404046;font-weight:600}
#app .dv-settings-content{display:flex;flex-direction:column;gap:14px;min-width:0}
#app .dv-settings-panel{
 padding:clamp(17px,2.5vw,26px);border:1px solid #35353a;background:#1a1a1d;
 border-radius:17px;box-shadow:none;min-width:0;scroll-margin-top:83px;
}
#app .dv-settings-panel>header{margin:0 0 10px}
#app .dv-settings-panel>header h2{font-size:17px;color:#f4f4f5;letter-spacing:-.03em;margin:0 0 5px;font-weight:680}
#app .dv-settings-panel>header p{font-size:11px;color:#9d9da6;line-height:1.5;margin:0}
#app .dv-profile-panel{display:flex;align-items:center;gap:16px}
#app .dv-settings-profile-icon{
 display:grid;place-items:center;width:61px;height:61px;flex:0 0 61px;
 border-radius:50%;background:linear-gradient(135deg,#7b80a5,#ddbdd2);
 font-size:25px;color:#fff;font-weight:710;
}
#app .dv-settings-profile-copy h2{font-size:17px;font-weight:680;margin:0 0 5px;color:#f5f5f7}
#app .dv-settings-profile-copy p{font-size:11px;color:#a0a0aa;line-height:1.5;margin:0 0 9px}
#app .dv-settings-status{color:#b2b2b9;font-size:10px;letter-spacing:.04em}
#app .dv-settings-status span{display:inline-block;background:#89b18f;width:6px;height:6px;border-radius:50%;margin:0 4px 1px 0}
#app .dv-settings-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0;border-top:1px solid #303036}
#app .dv-settings-row>div:first-child{min-width:0;max-width:65%}
#app .dv-settings-row h3{font-size:12px;font-weight:640;color:#e8e8eb;margin:0 0 6px}
#app .dv-settings-row p{font-size:11px;line-height:1.5;color:#9898a2;margin:0}
#app .dv-settings-row select,#app #settingsLanguage{
 font-size:11px;color:#efeff2;min-width:125px;min-height:37px;
 background:#27272b;border:1px solid #45454d;border-radius:10px;padding:9px 12px;
}
#app .dv-settings-fixed-theme{
 display:inline-flex;gap:7px;align-items:center;white-space:nowrap;
 color:#dcdce1;font-size:11px;background:#29292e;border:1px solid #404047;
 padding:9px 12px;border-radius:10px;
}
#app .dv-settings-row--stacked{display:flex;align-items:stretch;flex-direction:column;gap:14px}
#app .dv-settings-row--stacked>div:first-child{max-width:100%}
#app .dv-settings-row--stacked .dv-accessible-select{
 position:absolute;opacity:0;pointer-events:none;clip-path:inset(50%);
 width:1px;height:1px;min-width:1px;padding:0;border:0;
}
#app .dv-card-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#app .dv-card-size-options button{
 display:flex;flex-direction:column;align-items:center;gap:8px;
 min-width:0;min-height:136px;padding:15px 8px;border:1px solid #404047;
 background:#242428;color:#dcdce2;border-radius:13px;
}
#app .dv-card-size-options button:hover{background:#2c2c31}
#app .dv-card-size-options button.selected{background:#283241;border-color:#80aef2;box-shadow:inset 0 0 0 1px #80aef222}
#app .dv-card-size-options strong{font-size:11px;font-weight:670}
#app .dv-card-size-options small{font-size:9px;color:#9c9ca7;text-align:center;line-height:1.4}
#app .dv-size-visual{position:relative;display:block;width:71px;height:49px;background:#15151a;border:1px solid #46464d;border-radius:7px}
#app .dv-size-visual:before,#app .dv-size-visual:after{
 content:"";position:absolute;display:block;top:9px;width:19px;height:29px;
 border-radius:4px;background:linear-gradient(140deg,#91a9c5,#4c5a75);
}
#app .dv-size-visual:before{left:10px}
#app .dv-size-visual:after{left:36px}
#app .dv-size-visual--l:before{left:8px;top:6px;width:25px;height:35px}
#app .dv-size-visual--l:after{left:38px;top:6px;width:24px;height:35px}
#app .dv-size-visual--xl:before{left:8px;top:6px;width:54px;height:35px}
#app .dv-size-visual--xl:after{display:none}
#app .dv-settings-action{cursor:pointer;border:1px solid #45454b;border-radius:11px;background:#303036;color:#f6f6f8;min-height:37px;padding:9px 13px;font-size:11px;white-space:nowrap}
#app .dv-settings-action:hover{background:#3a3a40}
#app .dv-settings-footnote{font-size:10px;color:#93939a;line-height:1.55;margin:13px 0 0}
#app #generationShowcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 0}
#app #generationShowcase>div{min-width:0}
#app #generationShowcase .nx-preview{background:#252529;border:1px solid #393941;border-radius:13px;overflow:hidden;margin:0}
#app #generationShowcase .nx-loading{min-height:135px;overflow:hidden;border-radius:11px}
#app #generationShowcase .nx-preview__title{color:#efeff2;font-size:12px}
#app #generationShowcase .nx-preview__detail{font-size:10px;color:#9898a3}
#app #presetsView .preset-studio-page,#app #textView .settings-page,#app #systemAdminView .settings-page{max-width:1140px;margin:0 auto;padding:clamp(17px,2.4vw,36px) 0 50px}
#app #presetsView .preset-studio-heading,#app #systemAdminView .preset-studio-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px}
#app #presetsView .preset-studio-heading h1,#app #systemAdminView .preset-studio-heading h1,#app #textView h1{font-size:clamp(25px,2.5vw,32px);color:#f5f5f7;font-weight:710;letter-spacing:-.04em;margin:0 0 9px}
#app #presetsView .preset-studio-heading p,#app #systemAdminView .preset-studio-heading p,#app #textView .settings-page>p{font-size:12px;color:#a1a1a9;line-height:1.5;margin:0}
#app .preset-studio-label{padding:8px 12px;background:#252529;border:1px solid #38383e;border-radius:999px;color:#aaaab2;font-size:10px}
#app #presetsView .preset-studio-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 17px}
#app #presetsView .preset-studio-tabs button{border-radius:999px;background:#28282c;color:#b8b8c0;border:1px solid transparent;padding:8px 14px;font-size:11px}
#app #presetsView .preset-studio-tabs button[aria-pressed=true]{background:#45454a;color:#fff;border-color:#55555e}
#app #presetsView #presetStudioNotice{font-size:11px;line-height:1.5;color:#b9ad90;background:#25231f;border:1px solid #3b342d;border-radius:10px;padding:11px 13px;margin:5px 0 14px}
#app #presetsView #presetNewDraft{background:#343439;color:#fff;border:1px solid #44444c;border-radius:10px;padding:10px 14px;font-size:11px;margin:0 0 15px}
#app #presetsView #presetStudioList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
#app #presetsView .preset-studio-card{display:flex;flex-direction:column;min-width:0;min-height:197px;gap:9px;padding:18px;background:#1e1e22;border:1px solid #37373f;border-radius:15px}
#app #presetsView .preset-studio-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
#app #presetsView .preset-studio-card-head h2{font-size:16px;letter-spacing:-.025em;color:#f2f2f5;margin:0}
#app #presetsView .preset-studio-revision{font-size:10px;color:#b3b3bd;border:1px solid #424249;background:#303035;border-radius:7px;padding:4px 7px}
#app #presetsView .preset-studio-card>span{font-size:11px;color:#c3c3cb}
#app #presetsView .preset-studio-card>p{font-size:11px;color:#a1a1aa;line-height:1.5;margin:0}
#app #presetsView .preset-studio-meta{font-size:10px;color:#9696a0;line-height:1.5}
#app #presetsView .preset-studio-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}
#app #presetsView .preset-studio-actions button{border-radius:9px;background:#343438;border:1px solid #45454b;color:#f3f3f6;padding:8px 11px;font-size:11px}
#app #textView .text-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:24px 0 17px}
#app #textView .text-scenarios article{min-height:135px;padding:22px 23px;border:1px solid #393940;background:#1d1d21;border-radius:15px}
#app #textView .text-scenarios article h2{color:#f6f6f7;font-size:16px;margin:0 0 12px}
#app #textView .text-scenarios article p{font-size:11px;color:#a4a4ad;line-height:1.5}
#app #textView .preview-warning,#app #presetsView .preview-warning{padding:10px 12px;margin:14px 0;color:#b5a88b;border:1px solid #3f3830;background:#28241f;border-radius:10px;font-size:11px}
#app #systemAdminView .nx-admin-access,#app #systemAdminView .nx-password-settings,
#app #systemAdminView .nx-gateway-pairing,#app #systemAdminView .nx-admin-card{
 background:#1d1d20;border:1px solid #39393f;border-radius:16px;
 padding:clamp(15px,2vw,24px);margin:0 0 14px;box-shadow:none
}
#app #systemAdminView :is(h2,h3){color:#f6f6f7;font-size:16px;letter-spacing:-.02em;margin:0 0 11px}
#app #systemAdminView p{color:#a7a7b0;font-size:11px;line-height:1.65;margin:0 0 12px}
#app #systemAdminView label{display:flex;flex-direction:column;gap:7px;margin:12px 0;color:#d4d4da;font-size:11px}
#app #systemAdminView :is(input,select,textarea){
 color:#f6f6f7;background:#2a2a2f;border:1px solid #47474f;border-radius:10px;
 font:12px/1.4 inherit;padding:10px 12px;min-height:37px;max-width:100%;
}
#app #systemAdminView button:not(.nav-item){
 min-height:36px;padding:9px 12px;border-radius:9px;border:1px solid #484850;
 color:#f5f5f7;background:#313137;font-size:11px;margin:4px 5px 4px 0;
}
#app #systemAdminView button:hover:not(:disabled){background:#3d3d43}
#app #systemAdminView button:disabled{opacity:.43;cursor:not-allowed}
#app #systemAdminView .nx-admin-login{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
#app #systemAdminView .nx-admin-login label{flex:1 1 250px;min-width:0}
#app #systemAdminView .nx-admin-login button{flex:none}
@media(max-width:860px){
 #app .dv-settings-columns{grid-template-columns:1fr;gap:15px}
 #app .dv-settings-menu{display:flex;flex-direction:row;flex-wrap:wrap;position:static}
 #app .dv-settings-menu a{padding:9px 12px;background:#242428}
 #app #presetsView #presetStudioList{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 #app .dv-settings-version{display:none}
 #app .dv-settings-row{align-items:flex-start;flex-wrap:wrap}
 #app .dv-settings-row>div:first-child{max-width:none;width:100%}
 #app .dv-card-size-options{grid-template-columns:1fr}
 #app .dv-card-size-options button{min-height:95px}
 #app #generationShowcase{grid-template-columns:1fr}
 #app #presetsView #presetStudioList{grid-template-columns:1fr}
 #app #textView .text-scenarios{grid-template-columns:1fr}
 #app .dv-hero{min-height:300px}
 #app .dv-ambient-light{filter:blur(34px)}
}
@media(prefers-reduced-motion:reduce){
 #app .dv-ambient-light,#app .dv-ambient-orbit{animation:none!important;will-change:auto}
 #app .dv-ambient-light--a{transform:translate3d(6%,0,0)}
 #app .dv-ambient-light--b{transform:translate3d(-6%,0,0)}
 #app .dv-ambient-light--c{transform:translate3d(0,0,0)}
 #app .dv-ambient-orbit{transform:translateX(-50%)}
}


/* Catalog: restored first-class, scalable model roster. No invented photos. */
#app .dv-catalog-shell{width:100%;max-width:1450px;margin:0 auto;padding:clamp(22px,3vw,43px) 0 65px}
#app .dv-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}
#app .dv-catalog-heading h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.048em;font-weight:720;line-height:1.15;margin:10px 0;color:#f6f6f8}
#app .dv-catalog-eyebrow{font:620 10px/1.4 Inter,system-ui,sans-serif;letter-spacing:.13em;color:#aab1be}
#app .dv-catalog-heading p{font-size:12px;color:#9999a2;max-width:590px;line-height:1.55;margin:0}
#app .dv-catalog-total{white-space:nowrap;background:#202024;border:1px solid #3a3a40;border-radius:999px;padding:9px 12px;font-size:11px;color:#c7c7ce}
#app .dv-catalog-controls{display:flex;align-items:center;gap:13px;justify-content:space-between;margin-bottom:20px}
#app .dv-catalog-search{display:flex;align-items:center;gap:9px;width:min(380px,100%);min-height:42px;padding:0 14px;background:#202024;border:1px solid #414149;border-radius:12px;color:#a4a4ae}
#app .dv-catalog-search:focus-within{border-color:#779cd3;box-shadow:0 0 0 2px #8aade51e}
#app .dv-catalog-search input{width:100%;height:40px;outline:0;background:transparent;border:0;color:#f0f0f4;font-size:12px}
#app .dv-catalog-search input::placeholder{color:#888893}
#app .dv-catalog-access{font-size:11px;color:#a1a1ab;white-space:nowrap}
#app .dv-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
#app .dv-catalog-card{display:flex;flex-direction:column;gap:0;overflow:hidden;min-width:0;min-height:300px;padding:0;border-radius:15px;border:1px solid #34343a;background:#1d1d20;text-align:left;color:#f4f4f7;cursor:pointer;transition:transform .16s,border-color .16s,background .16s}
#app .dv-catalog-card:hover{border-color:#7a8190;background:#252529;transform:translateY(-2px)}
#app .dv-catalog-card:focus-visible{outline:2px solid #9fc8fb;outline-offset:3px}
#app .dv-catalog-cover{position:relative;isolation:isolate;aspect-ratio:5/4;min-height:165px;width:100%;display:grid;place-items:center;overflow:hidden;
 background:radial-gradient(circle at 52% 35%,#8cabc1 0%,#5a6a81 24%,#2d3546 61%,#161b29 100%)}
#app .dv-catalog-cover:before{content:"";position:absolute;z-index:-1;width:73%;aspect-ratio:1;border-radius:50%;left:13%;top:6%;background:linear-gradient(155deg,#ffffff25,#3d536431 53%,#050a1670 95%);filter:blur(1px)}
#app .dv-catalog-cover:after{content:"";position:absolute;z-index:-1;inset:auto -10% -60% -10%;height:85%;border-radius:50% 50% 0 0;background:#1a2236aa;filter:blur(7px)}
#app .dv-catalog-symbol{font-size:60px;line-height:1;color:#d8e5f7cc;text-shadow:0 9px 29px #0007;user-select:none}
#app .dv-catalog-capabilities{position:absolute;display:flex;gap:5px;right:9px;top:9px}
#app .dv-catalog-capabilities .model-capability-icon{display:grid;place-items:center;position:static;width:22px;height:22px;min-width:22px;min-height:22px;padding:3px;background:#1b222bba;border:1px solid #ffffff2c;border-radius:7px;color:#d2e3f9}
#app .dv-catalog-capabilities .model-capability-icon svg{height:13px;width:13px}
#app .dv-catalog-capabilities .model-capability-icon.denied{opacity:.56}
#app .dv-catalog-capabilities .model-capability-icon.unknown{opacity:.78}
#app .dv-catalog-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px 15px 18px;flex:1}
#app .dv-catalog-card-body strong{font-size:14px;font-weight:680;color:#f4f4f7;line-height:1.4}
#app .dv-catalog-card-body small{font-size:10px;color:#a3a3af;line-height:1.4}
#app .dv-catalog-open{margin-top:auto;padding-top:14px;font-size:11px;color:#afcfff;font-weight:630}
#app .dv-catalog-empty{padding:45px 15px;text-align:center;border:1px dashed #45454c;border-radius:14px;color:#adaeb7;font-size:13px;background:#19191d}
#app .dv-catalog-empty.hidden{display:none}
#app .dv-catalog-footnote{margin:21px 0 0;color:#888891;font-size:11px;line-height:1.5}
#app .dv-my-work .dv-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#app .dv-catalog-link{display:inline-flex;align-items:center;gap:5px;border:1px solid #404047;border-radius:999px;padding:9px 13px;background:#27272b;color:#e9e9ed;font-size:11px;font-weight:630;cursor:pointer}
#app .dv-catalog-link:hover{background:#39393f;color:#fff}
@media(max-width:1200px){#app .dv-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){#app .dv-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){#app .dv-catalog-grid{grid-template-columns:1fr 1fr;gap:8px}#app .dv-catalog-heading{align-items:flex-start;flex-direction:column}#app .dv-catalog-controls{align-items:stretch;flex-direction:column}#app .dv-catalog-card{min-height:240px}#app .dv-catalog-cover{min-height:125px}#app .dv-catalog-card-body{padding:11px}#app .dv-catalog-symbol{font-size:40px}#app .dv-catalog-access{display:none}}

/* Portal V4.2 FULL WIDTH: the working canvas belongs to the whole app. */
#app .main-area{width:100%;min-width:0}
#app .main-area>main{width:100%;max-width:none;min-width:0;margin:0;padding-top:0}
#app main>.view{box-sizing:border-box;min-width:0;width:100%;max-width:none;margin:0}
#app #workspaceTools:not([data-gallery="true"]){display:none!important}
#app #workspaceTools[data-gallery="true"]{margin:0 0 10px;min-height:34px}
#app :is(#catalogView,#settingsView,#presetsView,#textView,#systemAdminView,#adminWorkspaceView)
  :is(.dv-catalog-shell,.dv-settings-shell,.settings-page,.settings-studio-page,.preset-studio-page,.admin-cabinet-head){
  width:100%!important;max-width:none!important;margin-inline:0!important;
}
#app .dv-catalog-shell{padding-top:16px}
#app .dv-settings-shell{padding-top:16px}
#app :is(#presetsView,#textView,#systemAdminView) .settings-page{padding-top:16px}
#app .dv-settings-columns{grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:20px}
#app .dv-settings-content{width:100%;max-width:none}
#app #presetsView #presetStudioList{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
#app #textView .text-scenarios{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}
#app .dv-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr))}
#app .dv-inspiration-grid{width:100%;max-width:none;grid-template-columns:repeat(5,minmax(0,1fr))}
#app .dv-tool-grid{width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
#app #assetGrid.asset-grid{width:100%;max-width:none}
#app #workspaceView .workspace-heading,#app #workspaceView .folder-toolbar{width:100%;max-width:none}
#app :is(.dv-settings-panel,.nx-admin-access,.nx-password-settings,.nx-admin-card,.nx-gateway-pairing,.preset-editor){min-width:0}
#app :is(.dv-settings-panel,.settings-page,.preset-editor,.generation-composer,.nx-admin-access,.nx-password-settings,.nx-admin-card)
 :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea){
 appearance:none;box-sizing:border-box;max-width:100%;min-height:40px;
 background:#27272c;color:#f4f4f7;border:1px solid #474750;
 border-radius:11px;padding:10px 13px;font:500 12px/1.5 Inter,system-ui,sans-serif;
 transition:border-color .16s,box-shadow .16s,background .16s;
}
#app :is(.dv-settings-panel,.settings-page,.preset-editor,.generation-composer,.nx-admin-access,.nx-password-settings,.nx-admin-card)
 :is(input,select,textarea):focus-visible{border-color:#82aff4;outline:2px solid #83aeed55;outline-offset:1px}
#app :is(.dv-settings-panel,.settings-page,.preset-editor,.generation-composer,.nx-admin-access,.nx-password-settings,.nx-admin-card)
 :is(input,select,textarea):disabled{opacity:.5;cursor:not-allowed;background:#1f1f23}
#app :is(input,textarea)::placeholder{color:#92929c}
#app :is(.settings-page,.preset-editor,.nx-admin-access,.nx-password-settings,.nx-admin-card) label{margin:0 0 7px}
#app :is(.nx-admin-access,.nx-password-settings,.nx-admin-card) form{display:grid;gap:12px;align-items:start}
#app #systemAdminView :is(input,select,textarea){width:100%;min-width:0}
#app .dv-settings-row select{width:auto;min-width:144px}
#app .dv-prompt-box .dv-prompt{appearance:none!important;border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
@media(max-width:1200px){
  #app .dv-inspiration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:850px){
 #app .dv-settings-columns{grid-template-columns:1fr}
 #app .dv-inspiration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .dv-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:590px){
 #app .dv-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .dv-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* One photo and one audio animated splash. Restored as owned V4 modules.
   The obsolete studio-system.css is NOT loaded. */
.nx-settings-preview {
  padding:20px 0 0;
  border-top:1px solid #34465b;
  margin-top:27px;
}
.nx-settings-preview__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:17px;
}
.nx-preview {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:10px;
  border:1px solid #36485e;
  background:#172331;
  border-radius:17px;
}
.nx-preview__title {
  font-size:13px;
  color:#eff6ff;
  font-weight:650;
  padding:12px 6px 0;
}
.nx-preview__detail {
  margin:2px 6px 7px;
  font-size:11px;
  color:#9daec3;
}
.nx-settings-preview__note {
  color:#94a8bd;
  font-size:11px;
  line-height:1.55;
}
.nx-loading {
  height:225px;
  min-height:135px;
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse at center,#28405d 0%,#15243a 52%,#0e1724 100%);
  border:1px solid #ffffff10;
  border-radius:12px;
  overflow:hidden;
}
.nx-loading--photo {background:radial-gradient(ellipse at center,#24344b 0%,#102132 57%,#0d1724 100%)}
.nx-loading__grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,#94bfff0c 1px,transparent 1px),
                   linear-gradient(0deg,#94bfff0c 1px,transparent 1px);
  background-size:16px 16px;
  transform:perspective(400px) rotateX(8deg) scale(1.08);
}
.nx-loading__light {
  position:absolute;
  width:90%;
  height:90%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,#91bdff62,#5e92d12f 40%,transparent 72%);
  filter:blur(11px);
  animation:nx-soft-reveal 3.5s ease-in-out infinite alternate;
}
.nx-loading__frame {
  position:relative;
  width:49%;
  aspect-ratio:3/4;
  border-radius:14px;
  border:1px solid #a9d4ff8c;
  background:linear-gradient(145deg,#b5d0e840,#6d98c655,#192f4988);
  box-shadow:0 0 37px #79b6fb36, inset 0 0 26px #bcdeff18;
  transform:scale(.94);
  animation:nx-photo-reveal 4s ease-in-out infinite alternate;
}
.nx-loading__wave {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:82%;
  height:46%;
  z-index:1;
}
.nx-loading__bar {
  display:block;
  width:3px;
  max-width:4px;
  flex:1 1 3px;
  height:var(--height,40%);
  background:linear-gradient(180deg,#c7deff,#638fe0 80%,#35629d);
  border-radius:9px;
  transform-origin:center center;
  box-shadow:0 0 15px #7bafff46;
  animation:nx-wave 1.9s ease-in-out var(--delay,0s) infinite alternate;
}
.nx-loading__mark {
  position:absolute;
  left:13px;
  bottom:11px;
  z-index:2;
  letter-spacing:.18em;
  font-size:9px;
  font-weight:700;
  color:#bdd4f6;
}
@keyframes nx-photo-reveal {
  from {opacity:.32;transform:scale(.93);filter:blur(3px)}
  to {opacity:1;transform:scale(1.03);filter:blur(0)}
}
@keyframes nx-soft-reveal {from{opacity:.3;transform:scale(.9)}to{opacity:.9;transform:scale(1.1)}}
@keyframes nx-wave {from{transform:scaleY(.36);opacity:.58}to{transform:scaleY(1.09);opacity:1}}

#app .nx-loading{width:100%;height:clamp(180px,25vw,285px);background-color:#131822}
#app .nx-loading--photo{background:radial-gradient(ellipse at center,#2c4765,#101b2b 63%,#0a111e)}
#app .nx-loading--audio{background:radial-gradient(ellipse at center,#263b56,#142132 60%,#0b131f)}
#app #generationShowcase .nx-settings-preview{margin:0;border:0;padding:0}
#app #generationShowcase .nx-settings-preview__grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app #generationShowcase .nx-preview{min-width:0}
#app #generationShowcase .nx-loading{min-height:190px}
#app .dv-motion-dialog{position:fixed;inset:0;display:grid;place-items:center;z-index:130;padding:16px;background:#05070bc9;backdrop-filter:blur(8px)}
#app .dv-motion-dialog[hidden]{display:none!important}
#app .dv-motion-panel{width:min(700px,100%);padding:16px;border:1px solid #464954;border-radius:19px;background:#191b21;box-shadow:0 30px 95px #000c}
#app .dv-motion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
#app .dv-motion-heading h2{font-size:15px;font-weight:650;color:#f0f1f5;margin:0}
#app .dv-motion-close{border:1px solid #4a4c57;background:#2a2c35;color:#fff;border-radius:9px;min-width:33px;min-height:33px;cursor:pointer}
#app .dv-motion-caption{font-size:11px;color:#b5b7c3;line-height:1.55;margin:12px 2px 1px}
#app .dv-motion-preview{margin-left:auto;border:1px solid #4b4e58;border-radius:999px;background:#282a33;color:#f1f2f6;padding:8px 13px;font:600 11px Inter,system-ui,sans-serif;cursor:pointer}
#app .dv-motion-preview:hover{background:#363a48}
@media(max-width:650px){#app #generationShowcase .nx-settings-preview__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 #app .nx-loading__light,#app .nx-loading__frame,#app .nx-loading__bar{animation:none!important;opacity:1!important}
}


/* Keep retired GW diagnostics in DOM for older handlers but never display. */
#app .nx-gateway-pairing[hidden],
#app .admin-cabinet-panel[hidden],
#app [hidden]{display:none!important}
#app .dv-admin-providers{
 width:100%;max-width:none;display:flex;flex-direction:column;gap:16px;
 border:1px solid #373840;background:#1b1c21;border-radius:16px;
 padding:clamp(17px,2vw,26px);margin:0 0 16px;
}
#app .dv-providers-intro h2{margin:0 0 8px;font-size:19px;letter-spacing:-.035em;color:#f4f4f8}
#app .dv-providers-intro p{margin:0;color:#a3a5b2;font-size:12px;line-height:1.6}
#app .dv-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
#app .dv-provider-card{min-width:0;padding:17px;background:#24252b;border:1px solid #3a3b44;border-radius:14px}
#app .dv-provider-logo{display:grid;place-items:center;width:37px;height:37px;margin-bottom:12px;border-radius:11px;background:#343d50;color:#c2d8fa;font-size:19px;font-weight:700}
#app .dv-provider-card h3{color:#f3f3f8;font-size:13px;margin:0 0 8px;line-height:1.4}
#app .dv-provider-card p{font-size:11px;color:#abaeba;line-height:1.5;margin:0}
#app .dv-provider-owner-rule{border:1px solid #5d5441;background:#29251e;color:#dbcaa3;border-radius:10px;font-size:11px;line-height:1.6;padding:13px;margin:0}
#app .dv-composer-header-actions{display:flex;gap:8px;align-items:center}
#app .dv-page-loader{display:none}
#app .dv-page-loader:not([hidden]){
 position:absolute;z-index:32;inset:0;min-height:180px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
 background:#09090cef;backdrop-filter:blur(5px)
}
#app .dv-page-spinner{display:block;border:2px solid #31384b;border-top-color:#89baff;border-radius:50%;width:33px;height:33px;animation:dv-page-spin .8s linear infinite}
#app .dv-page-loader p{font:500 12px/1.5 Inter,system-ui,sans-serif;color:#a9b3c4;margin:0}
#app .view:not(.hidden){animation:dv-page-reveal .23s ease-out both}
@keyframes dv-page-spin{to{transform:rotate(360deg)}}
@keyframes dv-page-reveal{from{opacity:.12;transform:translate3d(0,7px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:770px){#app .dv-provider-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#app .view:not(.hidden),#app .dv-page-spinner{animation:none!important}}
