:root{
  --bg:#11172e;--panel:#202946;--panel2:#283253;--line:rgba(255,255,255,.14);--line2:rgba(255,255,255,.24);
  --text:#f7f8ff;--muted:#b8c0d9;--soft:#8792b2;--gold:#f5bd55;--coral:#ff826f;--mint:#63d7b1;--blue:#78a7ff;
  --shadow:0 18px 60px rgba(3,7,22,.34);--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans","Noto Sans JP",sans-serif
}
html[data-theme=light]{--bg:#eef1f7;--panel:#fff;--panel2:#f7f8fb;--line:rgba(24,31,55,.1);--line2:rgba(24,31,55,.2);--text:#17203b;--muted:#59637d;--soft:#7d879f;--shadow:0 16px 45px rgba(27,34,66,.11)}
html[data-theme=vibrant]{--bg:#22133f;--panel:#382558;--panel2:#4b3271;--gold:#ffe066;--coral:#ff6fb7;--mint:#62f3d2}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--text);font-family:var(--font);background:radial-gradient(900px 500px at 0 -10%,rgba(133,102,255,.2),transparent 65%),var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}[data-copy]{display:none}html[data-lang=ja] [data-copy=ja],html[data-lang=zh] [data-copy=zh]{display:inline}
.topbar{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(18px)}.topbar-inner{max-width:1800px;margin:auto;min-height:66px;padding:0 22px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;white-space:nowrap}.brand-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#2b1907;font-size:12px;background:linear-gradient(135deg,var(--gold),var(--coral))}.project-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.project-dot{width:7px;height:7px;background:var(--mint);border-radius:50%}.project-title input{min-width:160px;max-width:360px;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-weight:750}.project-title>span:last-child{color:var(--soft);font-size:11px;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:8px}.back-link{font-size:12px;color:var(--muted);white-space:nowrap}.segmented{display:flex;padding:3px;gap:2px;background:rgba(0,0,0,.15);border:1px solid var(--line);border-radius:999px}.segmented button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:750;cursor:pointer}.segmented button.active{background:var(--gold);color:#35230a}.theme-toggle{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 10px;color:var(--muted);font-size:11px;cursor:pointer}.theme-dot{width:14px;height:14px;border:1px solid var(--line2);border-radius:4px;background:var(--bg)}
.app-shell{max-width:1800px;margin:auto;padding:24px 22px 56px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow,.panel-kicker{color:var(--gold);letter-spacing:.14em;font-size:10px;font-weight:900}.intro h1{margin:7px 0 0;font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.035em}.steps{display:flex;align-items:center;gap:8px;color:var(--soft);font-size:11px;white-space:nowrap}.steps span{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px}.steps span.active{color:#37250b;background:var(--gold);border-color:transparent}.steps i{font-style:normal}
.builder-layout{display:grid;grid-template-columns:270px minmax(540px,1fr) 340px;gap:12px;align-items:start}.side-panel,.studio-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.side-panel{padding:16px;position:sticky;top:78px;max-height:calc(100vh - 92px);overflow-y:auto}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-title h2{font-size:17px;margin:3px 0 0}.count-badge{font-size:10px;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:4px 7px}
.upload-zone{min-height:112px;border:1px dashed var(--line2);border-radius:13px;background:rgba(0,0,0,.09);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;cursor:pointer;transition:.2s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,transparent)}.upload-plus{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--gold),var(--coral));color:#2e1b09;font-size:21px}.upload-zone strong{font-size:12px}.upload-zone small{font-size:9px;color:var(--soft)}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.photo-card{position:relative;aspect-ratio:1;border-radius:7px;overflow:hidden;border:1px solid var(--line)}.photo-card img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.photo-card img:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.photo-card button{position:absolute;right:2px;top:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(8,12,25,.72);color:#fff;font-size:12px;cursor:pointer}.notes-field{display:grid;gap:5px;margin-top:10px;color:var(--muted);font-size:10px;font-weight:700}.notes-field textarea{resize:vertical;background:rgba(0,0,0,.12);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:8px;outline:0}.analyze-button,.render-button{width:100%;margin-top:10px;border:0;border-radius:10px;background:linear-gradient(120deg,var(--gold),var(--coral));color:#2d1b08;font-weight:850;padding:10px 12px;cursor:pointer}.analyze-button:disabled,.render-button:disabled{opacity:.55;cursor:wait}.status{min-height:28px;margin:6px 2px 0;font-size:9px;color:var(--soft);line-height:1.5}.status.error{color:#ff9b91}.status.success{color:var(--mint)}
.library-head{display:flex;align-items:end;justify-content:space-between;margin:11px 0 7px;padding-top:11px;border-top:1px solid var(--line)}.library-head strong{font-size:12px}.library-head span{font-size:9px;color:var(--soft)}.furniture-library{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.furniture-library button{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:9px;color:var(--muted);font-size:9px;cursor:pointer}.furniture-library button b{font-size:19px;font-weight:500;color:var(--text)}.furniture-library button:hover{border-color:var(--gold);transform:translateY(-1px)}
.asset-card.reference-active{outline:2px solid var(--mint);outline-offset:-2px}.asset-card.reference-active .asset-add::after{content:'✓ 材质参考';display:block;color:var(--mint);font-size:9px;margin-top:3px}
.studio-panel{min-width:0;overflow:visible}.studio-toolbar{position:relative;z-index:20;min-height:52px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0;background:var(--panel2)}.tool-group{display:flex;gap:5px;align-items:center}.tool-group button,.door-picker>summary{border:1px solid var(--line);background:transparent;border-radius:8px;padding:7px 10px;color:var(--muted);font-size:11px;cursor:pointer}.tool-group button:hover,.tool-group button.active,.door-picker>summary:hover,.door-picker[open]>summary{border-color:var(--gold);color:var(--text);background:color-mix(in srgb,var(--gold) 11%,transparent)}.tool-group.compact button{min-width:34px;padding:7px}.layout-tools{padding:3px 5px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.layout-tools-label{padding:0 4px;color:var(--muted);font-size:10px;white-space:nowrap}.layout-tools button{padding:6px 8px;white-space:nowrap}.layout-tools #layoutFitButton{color:var(--text)}.door-picker{position:relative}.door-picker>summary{list-style:none;white-space:nowrap}.door-picker>summary::-webkit-details-marker{display:none}.door-menu{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:200px;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);box-shadow:0 18px 45px rgba(4,8,20,.38)}.door-menu button{min-height:50px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(255,255,255,.04);font-size:9px}.door-menu button:last-child{grid-column:1/-1}.door-menu button b{font-size:16px;color:var(--text)}
.canvas-stage{position:relative;padding:14px;background:#d9dde5;overflow:auto}.canvas-stage canvas{display:block;width:100%;height:auto;max-height:calc(100vh - 230px);aspect-ratio:10/7;background:#f8f4ea;border-radius:8px;box-shadow:0 8px 30px rgba(20,25,40,.17);touch-action:none;cursor:default}.mode-hint{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:rgba(255,255,255,.82);color:#606878;border:1px solid rgba(30,35,50,.1);border-radius:999px;padding:5px 10px;font-size:9px;white-space:nowrap;pointer-events:none}.studio-footer{min-height:34px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;color:var(--soft);font-size:9px;border-top:1px solid var(--line)}.grid-dot{display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--mint);margin-right:5px}
.empty-inspector{display:flex;min-height:135px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--line);border-radius:12px;color:var(--soft);text-align:center}.empty-inspector>span{font-size:24px}.empty-inspector strong{font-size:12px;color:var(--muted)}.empty-inspector small{font-size:9px}.properties{display:grid;gap:9px}.properties label{display:grid;grid-template-columns:62px 1fr auto;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.properties input[type=text],.properties input[type=number]{width:100%;background:rgba(0,0,0,.12);border:1px solid var(--line);border-radius:7px;padding:7px;color:var(--text);outline:0}.properties input[type=range]{width:100%;accent-color:var(--gold)}.properties input[type=color]{width:44px;height:28px;padding:2px;border:1px solid var(--line);border-radius:6px;background:transparent}.properties output{font-size:9px;color:var(--soft);min-width:30px;text-align:right}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.property-grid label{grid-template-columns:15px 1fr}.property-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.property-actions button{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:8px;padding:8px;color:var(--muted);cursor:pointer}.property-actions button.active{border-color:var(--gold);background:rgba(255,190,74,.16);color:var(--gold)}.property-actions button.danger{color:#ff9c94}
.render-card{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.render-head{display:flex;gap:8px;align-items:center}.render-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--gold);color:#332109;font-weight:900;font-size:11px}.render-head div{display:grid}.render-head strong{font-size:12px}.render-head small{font-size:9px;color:var(--soft)}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.style-grid button{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:8px;padding:8px 5px;color:var(--muted);font-size:10px;cursor:pointer}.style-grid button:last-child:nth-child(odd){grid-column:1/-1}.style-grid button.active{border-color:var(--gold);color:var(--text);background:color-mix(in srgb,var(--gold) 10%,transparent)}.render-result{appearance:none;display:block;width:100%;padding:0;position:relative;margin-top:10px;aspect-ratio:3/2;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:zoom-in;transition:min-height .2s}.render-result:has(.render-loading:not([hidden])){aspect-ratio:auto;min-height:430px}.render-result img{display:block;width:100%;height:100%;object-fit:contain}.render-result:hover .zoom-hint,.render-result:focus-visible .zoom-hint{opacity:1;transform:translateY(0)}.zoom-hint{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(14,19,35,.82);color:#fff;font-size:9px;box-shadow:0 4px 15px rgba(0,0,0,.18);opacity:.72;transform:translateY(2px);transition:.18s}.zoom-hint>span:first-child{font-size:14px}.render-loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:9px;padding:14px;background:rgba(17,23,46,.97);color:#fff;cursor:wait;text-align:left}.render-debug-head{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px}.render-debug-head>span:nth-child(2){display:grid;gap:2px}.render-debug-head b{font-size:12px}.render-debug-head small{font-size:9px;color:#b8c0d9}.render-debug-head>strong{font-size:15px;color:var(--gold)}.render-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--gold);border-radius:50%;animation:spin .9s linear infinite}.render-debug-meter{height:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}.render-debug-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--coral));transition:width .45s ease}.render-debug-time{display:flex;justify-content:space-between;color:#9fa9c6;font-size:8px}.render-debug-list{display:grid;gap:3px;min-height:0;overflow:auto}.render-debug-row{min-height:25px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:5px;padding:4px 6px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:rgba(255,255,255,.025);font-size:9px}.render-debug-row i{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.09);color:#8993ae;font-size:8px;font-style:normal}.render-debug-row em{color:#7f8aa8;font-size:8px;font-style:normal}.render-debug-row.done{color:#c6f5e3}.render-debug-row.done i{background:rgba(99,215,177,.18);color:var(--mint)}.render-debug-row.active{border-color:rgba(245,189,85,.55);background:rgba(245,189,85,.09);color:#fff}.render-debug-row.active i{background:var(--gold);color:#302006}.render-debug-row.active em{color:var(--gold)}.render-debug-row.skipped{opacity:.48}.render-debug-row.error{border-color:rgba(255,130,111,.7);color:#ffb1a7}.render-debug-slow{min-height:25px;padding:6px 8px;border-radius:7px;background:rgba(120,167,255,.09);color:#aebde1;font-size:8px;line-height:1.45}.render-debug-slow.slow{background:rgba(245,189,85,.11);color:#ffd992}.render-debug-slow.very-slow{background:rgba(255,130,111,.12);color:#ffb1a7}@keyframes spin{to{transform:rotate(360deg)}}.result-download{display:block;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center;color:var(--muted);font-size:10px}
.image-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;background:rgba(5,8,18,.9);backdrop-filter:blur(12px)}.modal-frame{display:flex;max-width:min(94vw,1600px);max-height:92vh;flex-direction:column;align-items:center;gap:10px}.modal-frame img{display:block;max-width:100%;max-height:calc(92vh - 52px);object-fit:contain;border-radius:14px;background:#f7f3e9;box-shadow:0 30px 100px rgba(0,0,0,.48)}.modal-close{position:fixed;right:24px;top:20px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(15,20,38,.75);color:#fff;font-size:26px;line-height:1;cursor:pointer}.modal-download{padding:9px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(24,31,56,.9);color:#fff;font-size:11px}
.quality-switch{margin-left:auto;padding:3px;display:flex!important;grid-template-columns:none!important;gap:3px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.12)}.quality-switch button{min-width:62px;padding:5px 7px;display:grid;gap:1px;border:0;border-radius:6px;background:transparent;color:var(--soft);font-size:9px;cursor:pointer}.quality-switch button small{font-size:7px;color:inherit}.quality-switch button.active{background:var(--gold);color:#35230a;font-weight:850}.quality-switch button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.render-all-button{width:100%;margin-top:6px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(120,167,255,.52);border-radius:10px;background:linear-gradient(120deg,rgba(120,167,255,.18),rgba(99,215,177,.12));color:var(--text);cursor:pointer}.render-all-button>span:first-child{font-size:18px;color:var(--blue)}.render-all-button>span:last-child{display:grid;text-align:left}.render-all-button b{font-size:10px}.render-all-button small{font-size:7px;color:var(--soft)}.render-all-button.running{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(245,189,85,.15)}.batch-modal{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:18px;background:rgba(4,7,16,.92);backdrop-filter:blur(14px)}.batch-window{width:min(1500px,96vw);height:min(940px,95vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line2);border-radius:18px;background:var(--panel);box-shadow:0 35px 120px rgba(0,0,0,.58)}.batch-window-head{min-height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--panel2)}.batch-window-head>div{display:flex;align-items:center;gap:10px}.batch-window-head>div>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--mint));color:#111a33;font-size:20px;font-weight:900}.batch-window-head>div>div{display:grid;gap:2px}.batch-window-head b{font-size:14px}.batch-window-head small{font-size:9px;color:var(--soft)}.batch-window-head>button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.batch-summary{padding:10px 15px;display:grid;grid-template-columns:210px 1fr;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.batch-summary>div{display:flex;align-items:baseline;gap:9px}.batch-summary strong{font-size:18px;color:var(--gold)}.batch-summary span{font-size:9px;color:var(--muted)}.batch-meter{height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.batch-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--mint));transition:width .4s}.batch-grid{min-height:0;flex:1;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;background:#111626}.batch-card{position:relative;min-height:220px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.batch-card-head{min-height:38px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.batch-card-head b{font-size:10px}.batch-card-head span{font-size:8px;color:var(--soft)}.batch-card-preview{position:relative;min-height:0;flex:1;display:grid;place-items:center;overflow:hidden;background:#f4f2ec}.batch-card-preview img{width:100%;height:100%;object-fit:contain;cursor:pointer}.batch-card-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(16,22,43,.94);color:#fff}.batch-card-state i{width:25px;height:25px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--gold);border-radius:50%;animation:spin .85s linear infinite}.batch-card-state b{font-size:10px}.batch-card-state small{font-size:8px;color:#aeb8d2}.batch-card.error{border-color:rgba(255,130,111,.65)}.batch-card.error .batch-card-state{color:#ffb1a7}.batch-card.error .batch-card-state i{display:none}.batch-card.done{border-color:rgba(99,215,177,.45)}.batch-card-actions{padding:6px 8px;display:flex;justify-content:space-between;gap:6px;border-top:1px solid var(--line)}.batch-card-actions button,.batch-card-actions a{flex:1;padding:6px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.04);color:var(--muted);text-align:center;font-size:8px;cursor:pointer}.batch-card-actions button{border-color:rgba(99,215,177,.4);color:var(--mint)}.batch-footer{padding:9px 14px;border-top:1px solid var(--line);color:var(--soft);font-size:8px;text-align:center}.batch-card.selected{box-shadow:0 0 0 2px var(--gold)}
.refine-card{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.refine-card-head{display:flex;align-items:center;gap:8px}.refine-card-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#101a35;font-size:11px;font-weight:900}.refine-card-head>div{display:grid}.refine-card-head strong{font-size:11px}.refine-card-head small{font-size:8px;color:var(--soft)}.refine-open{width:100%;margin-top:8px;padding:9px;border:1px solid rgba(120,167,255,.5);border-radius:9px;background:rgba(120,167,255,.1);color:#dce7ff;font-weight:750;font-size:10px;cursor:pointer}.refine-open:disabled{opacity:.38;cursor:not-allowed}.refine-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(4,7,16,.9);backdrop-filter:blur(14px)}.refine-window{width:min(1500px,96vw);height:min(900px,94vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line2);border-radius:18px;background:var(--panel);box-shadow:0 35px 120px rgba(0,0,0,.55)}.refine-window-head{min-height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--panel2)}.refine-window-head>div{display:flex;align-items:center;gap:10px}.refine-window-head>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--blue);color:#111a33;font-weight:900}.refine-window-head>div>div{display:grid;gap:2px}.refine-window-head b{font-size:14px}.refine-window-head small{font-size:9px;color:var(--soft)}.refine-window-head>button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.refine-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 320px}.refine-canvas-wrap{position:relative;min-width:0;min-height:0;display:grid;place-items:center;padding:18px;overflow:auto;background:#0d1222}.refine-canvas-wrap canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;background:#f7f3e9;box-shadow:0 16px 50px rgba(0,0,0,.35);cursor:crosshair;touch-action:none}.refine-canvas-hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(13,18,34,.82);color:#fff;font-size:9px;pointer-events:none}.refine-processing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(10,15,30,.86);color:#fff}.refine-processing i{width:38px;height:38px;border:4px solid rgba(255,255,255,.16);border-top-color:var(--gold);border-radius:50%;animation:spin .85s linear infinite}.refine-processing b{font-size:15px}.refine-processing small{font-size:9px;color:#b8c0d9}.refine-controls{min-height:0;padding:16px;overflow-y:auto;border-left:1px solid var(--line);background:var(--panel)}.refine-selection-head{display:flex;align-items:center;justify-content:space-between}.refine-selection-head b{font-size:13px}.refine-selection-head span{min-width:27px;padding:4px 7px;border-radius:999px;background:rgba(120,167,255,.14);color:var(--blue);text-align:center;font-size:10px;font-weight:800}.refine-controls>p{margin:7px 0 9px;color:var(--soft);font-size:9px;line-height:1.55}.refine-clear{width:100%;padding:7px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.refine-reference-upload{margin-top:12px;min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px dashed var(--line2);border-radius:10px;background:rgba(0,0,0,.08);cursor:pointer}.refine-reference-upload input{display:none}.refine-reference-upload>span{font-size:24px;color:var(--gold)}.refine-reference-upload b{font-size:11px}.refine-reference-upload small{font-size:8px;color:var(--soft)}.refine-reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.refine-reference-item{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:7px;overflow:hidden}.refine-reference-item img{width:100%;height:100%;object-fit:cover}.refine-reference-item button{position:absolute;right:2px;top:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(7,10,20,.78);color:#fff;cursor:pointer}.refine-instruction{display:grid;gap:5px;margin-top:12px;color:var(--muted);font-size:9px;font-weight:750}.refine-instruction textarea{min-height:86px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.12);color:var(--text);font-size:10px;line-height:1.45;outline:0}.refine-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:6px;margin-top:12px}.refine-actions button{padding:9px 6px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.04);color:var(--muted);font-size:9px;cursor:pointer}.refine-actions button.primary{border:0;background:linear-gradient(120deg,var(--gold),var(--coral));color:#2d1b08;font-weight:850}.refine-actions button:disabled{opacity:.4;cursor:not-allowed}.refine-status{display:block;min-height:34px;margin-top:8px;padding:7px 8px;border-radius:8px;background:rgba(99,215,177,.08);color:var(--mint);font-size:8px;line-height:1.5}.refine-status.error{background:rgba(255,130,111,.09);color:#ff9c94}
.reference-viewer{position:fixed;z-index:90;left:24px;top:88px;width:420px;height:520px;min-width:280px;min-height:280px;max-width:80vw;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;resize:both;border:1px solid var(--line2);border-radius:15px;background:var(--panel);box-shadow:0 24px 80px rgba(3,7,22,.48)}.reference-viewer-head{min-height:46px;padding:8px 10px 8px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);border-bottom:1px solid var(--line);cursor:move;touch-action:none;user-select:none}.reference-viewer-head>div{display:flex;align-items:baseline;gap:7px}.reference-viewer-head b{font-size:12px}.reference-viewer-head small{font-size:9px;color:var(--soft)}.reference-viewer-head nav{display:flex;gap:4px}.reference-viewer-head button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.04);color:var(--muted);font-size:18px;cursor:pointer}.reference-viewport{min-height:0;flex:1;overflow:auto;display:grid;place-items:center;background:#111522}.reference-viewport img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.reference-viewer-foot{min-height:42px;padding:7px 10px;display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);background:var(--panel2);color:var(--muted)}.reference-viewer-foot input{min-width:80px;flex:1;accent-color:var(--gold)}.reference-viewer-foot output{min-width:35px;font-size:9px;color:var(--text)}.reference-viewer-foot small{font-size:8px;color:var(--soft);white-space:nowrap}
@media(max-width:1200px){.builder-layout{grid-template-columns:240px minmax(500px,1fr)}.inspector-panel{position:static;max-height:none;grid-column:1/-1;display:grid;grid-template-columns:220px 1fr 300px;gap:16px}.inspector-panel>.panel-title{align-self:start}.render-card{margin:0;padding:0 0 0 16px;border-top:0;border-left:1px solid var(--line)}}
@media(max-width:800px){.topbar-inner{padding:0 12px}.brand span:last-child,.back-link,.project-title>span:last-child,.theme-toggle #themeLabel{display:none}.intro{display:block}.steps{margin-top:12px;overflow-x:auto}.builder-layout{grid-template-columns:1fr}.side-panel{position:static;max-height:none}.studio-panel{grid-row:1}.source-panel{grid-row:2}.inspector-panel{grid-row:3;grid-column:auto;display:block}.render-card{margin-top:15px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}.app-shell{padding:18px 10px 40px}.canvas-stage{padding:7px}.mode-hint{display:none}.tool-group button span{display:none}.reference-viewer{left:10px!important;top:74px!important;width:calc(100vw - 20px);height:50vh;max-width:none;max-height:70vh}.reference-viewer-foot small{display:none}.refine-modal{padding:7px}.refine-window{width:100%;height:98vh}.refine-workspace{display:flex;flex-direction:column}.refine-canvas-wrap{min-height:48vh;padding:8px}.refine-controls{border-left:0;border-top:1px solid var(--line)}.refine-window-head small{display:none}}
@media(max-width:800px){.batch-modal{padding:7px}.batch-window{width:100%;height:98vh}.batch-grid{grid-template-columns:1fr}.batch-summary{grid-template-columns:1fr}.batch-card{min-height:260px}.batch-window-head small{display:none}}

/* Batch results stay pinned to the visible viewport; image preview sits above them. */
.batch-modal{place-items:start center;padding:8px 18px}
.batch-window{height:calc(100vh - 16px)}
.image-modal{z-index:1400;padding:18px}
.modal-frame{width:100%;height:100%;max-width:none;max-height:none;overflow:auto;justify-content:center;overscroll-behavior:contain}
.modal-frame img{max-width:min(94vw,1600px);max-height:calc(94vh - 52px);cursor:zoom-in}
.modal-frame img.zoomed{max-width:none;max-height:none;flex:none;cursor:zoom-out}
.modal-close{z-index:2}
.modal-download{position:sticky;bottom:0;flex:none}
.widget-studio-link{width:100%;margin-top:7px;padding:9px 10px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(99,215,177,.45);border-radius:10px;background:linear-gradient(120deg,rgba(99,215,177,.15),rgba(120,167,255,.12));color:var(--text);cursor:pointer}.widget-studio-link>span:first-child{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--mint),var(--blue));color:#11203a;font-size:17px}.widget-studio-link>span:last-child{display:grid;text-align:left}.widget-studio-link b{font-size:10px}.widget-studio-link small{font-size:7px;color:var(--soft)}.widget-studio-link:hover{border-color:var(--mint);transform:translateY(-1px)}
@media(max-width:800px){.batch-modal{padding:5px}.batch-window{height:calc(100vh - 10px)}}

/* Persistent ten-style gallery: results live in the document instead of a modal. */
.batch-gallery{scroll-margin-top:82px;margin-top:22px;overflow:hidden;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(150deg,var(--panel),rgba(18,25,48,.98));box-shadow:0 24px 70px rgba(3,7,22,.2)}
.batch-gallery-head{min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);background:var(--panel2)}
.batch-gallery-head>div{display:flex;align-items:center;gap:11px}.batch-gallery-head>div>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--mint));color:#111a33;font-size:20px;font-weight:900}.batch-gallery-head>div>div{display:grid;gap:3px}.batch-gallery-head b{font-size:15px}.batch-gallery-head small{font-size:9px;color:var(--soft)}
.batch-gallery-head>button{padding:9px 13px;border:1px solid rgba(245,189,85,.48);border-radius:9px;background:rgba(245,189,85,.1);color:var(--gold);font-size:9px;font-weight:800;cursor:pointer}.batch-gallery-head>button:hover{border-color:var(--gold);background:rgba(245,189,85,.16)}
.batch-gallery .batch-grid{min-height:320px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px;overflow:visible;background:rgba(8,12,26,.32)}
.batch-gallery .batch-card{min-height:340px}.batch-gallery .batch-card-preview{aspect-ratio:10/7}.batch-gallery .batch-footer{font-size:9px}
.batch-empty{grid-column:1/-1;min-height:286px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--line2);border-radius:13px;background:rgba(255,255,255,.02);color:var(--soft);text-align:center}.batch-empty>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:rgba(120,167,255,.12);color:var(--blue);font-size:26px}.batch-empty b{color:var(--text);font-size:13px}.batch-empty small{max-width:520px;font-size:9px;line-height:1.7}
@media(max-width:800px){.batch-gallery{margin-top:14px}.batch-gallery-head{align-items:flex-start;flex-direction:column}.batch-gallery-head>button{width:100%}.batch-gallery .batch-grid{grid-template-columns:1fr;padding:9px}.batch-gallery .batch-card{min-height:300px}}

.library-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:7px;padding:3px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.1)}.library-tabs button{position:relative;padding:6px 3px;border:0;border-radius:6px;background:transparent;color:var(--soft);font-size:8px;cursor:pointer}.library-tabs button.active{background:var(--gold);color:#35230a;font-weight:850}.library-tabs i{position:absolute;right:3px;top:2px;min-width:14px;padding:1px 3px;border-radius:999px;background:rgba(120,167,255,.18);color:inherit;font-size:7px;font-style:normal}.asset-library{display:grid;grid-template-columns:1fr;gap:6px}.asset-card{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025)}.asset-card .asset-add{min-height:72px;padding:6px 8px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:2px 8px;text-align:left;border:0;border-radius:0;background:transparent}.asset-card .asset-add:hover{transform:none;background:rgba(255,255,255,.035)}.asset-thumb{grid-row:1/3;width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--asset-color) 68%,#fff);color:#182033}.asset-thumb img{width:100%;height:100%;object-fit:cover}.asset-thumb b{font-size:24px}.asset-card strong{align-self:end;overflow:hidden;color:var(--text);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.asset-card small{align-self:start;display:-webkit-box;overflow:hidden;color:var(--soft);font-size:8px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.asset-actions{min-height:25px;padding:3px 5px;display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid var(--line)}.asset-actions button{min-height:0;padding:4px 7px;display:block;flex:1;border:1px solid rgba(99,215,177,.35);border-radius:6px;background:rgba(99,215,177,.08);color:var(--mint);font-size:8px;cursor:pointer}.asset-actions button:disabled{opacity:.55}.asset-actions span{color:var(--soft);font-size:7px}.asset-actions button.asset-delete{flex:0 0 24px;padding:3px;border-color:rgba(255,130,111,.3);color:#ff9c94}.library-empty{grid-column:1/-1;margin:0;padding:18px 8px;border:1px dashed var(--line);border-radius:9px;color:var(--soft);text-align:center;font-size:9px;line-height:1.5}
.company-type-filters{display:flex;gap:4px;overflow-x:auto;margin:0 0 7px;padding:1px 0 4px;scrollbar-width:thin}.company-type-filters[hidden]{display:none}.company-type-filters button{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--soft);font-size:8px;cursor:pointer}.company-type-filters button.active{border-color:var(--gold);background:rgba(245,189,85,.12);color:var(--gold)}.company-type-filters i{min-width:14px;padding:1px 3px;border-radius:999px;background:rgba(120,167,255,.16);font-size:7px;font-style:normal;text-align:center}
.asset-identity{padding:8px 9px;display:grid;gap:2px;border:1px solid rgba(99,215,177,.28);border-radius:8px;background:rgba(99,215,177,.07)}.asset-identity b{color:var(--mint);font-size:8px}.asset-identity strong{font-size:10px}.asset-identity small{color:var(--soft);font-size:8px;line-height:1.45}
.asset-actions .preview-retry{color:#ffb16f;text-decoration:underline;cursor:pointer}
.floor-plan-channel{margin-top:10px;padding:10px;border:1px solid rgba(120,167,255,.3);border-radius:12px;background:linear-gradient(145deg,rgba(120,167,255,.08),rgba(99,215,177,.035))}.floor-plan-head{display:flex;align-items:center;gap:8px}.floor-plan-head>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#15203a;font-size:18px;font-weight:900}.floor-plan-head>div{display:grid;gap:1px}.floor-plan-head strong{font-size:11px}.floor-plan-head small{color:var(--soft);font-size:8px}.floor-plan-upload{min-height:52px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--line2);border-radius:9px;background:rgba(0,0,0,.08);cursor:pointer}.floor-plan-upload:hover{border-color:var(--blue)}.floor-plan-upload>span{color:var(--blue);font-size:20px}.floor-plan-upload b{font-size:9px}.floor-plan-preview{position:relative;margin-top:7px}.floor-plan-preview>button:first-child{width:100%;height:86px;padding:0;position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#f4f3ee;cursor:zoom-in}.floor-plan-preview img{width:100%;height:100%;display:block;object-fit:contain}.floor-plan-preview>button:first-child span{position:absolute;left:5px;right:5px;bottom:4px;padding:3px 5px;overflow:hidden;border-radius:5px;background:rgba(15,20,36,.76);color:#fff;font-size:7px;white-space:nowrap;text-overflow:ellipsis}.floor-plan-preview>#floorPlanRemove{position:absolute;right:4px;top:4px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:rgba(10,14,26,.76);color:#fff;cursor:pointer}.floor-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.floor-plan-actions>button{min-height:58px;padding:6px;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--muted);text-align:left;cursor:pointer}.floor-plan-actions>button>b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:rgba(120,167,255,.16);color:var(--blue);font-size:8px}.floor-plan-actions>button>span{display:grid;gap:2px}.floor-plan-actions strong{font-size:8px;line-height:1.25}.floor-plan-actions small{color:var(--soft);font-size:7px;line-height:1.25}.floor-plan-actions>button:last-child{border-color:rgba(245,189,85,.35)}.floor-plan-actions>button:last-child>b{background:rgba(245,189,85,.16);color:var(--gold)}.floor-plan-actions>button:disabled{opacity:.38;cursor:not-allowed}.floor-plan-actions>button.busy{opacity:.65;cursor:wait}.floor-plan-note{margin:6px 1px 0;color:var(--soft);font-size:7px;line-height:1.45}
.floor-plan-units{margin-top:7px;padding:7px;border:1px solid rgba(99,215,177,.3);border-radius:9px;background:rgba(5,12,24,.16)}.floor-plan-units>div:first-child{display:grid;gap:1px}.floor-plan-units>div:first-child strong{font-size:9px}.floor-plan-units>div:first-child small{color:var(--soft);font-size:7px}.floor-plan-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px}.floor-plan-unit{padding:3px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer}.floor-plan-unit:hover{border-color:var(--blue)}.floor-plan-unit.active{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint);color:var(--text)}.floor-plan-unit canvas{width:100%;height:56px;display:block;border-radius:5px;background:#fff;object-fit:contain}.floor-plan-unit span{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:4px 2px 1px;font-size:7px}.floor-plan-unit span b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.floor-plan-unit span i{font-style:normal;color:var(--mint)}
.underlay-picker{position:relative}.underlay-picker>summary{list-style:none;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px;white-space:nowrap;cursor:pointer}.underlay-picker>summary::-webkit-details-marker{display:none}.underlay-picker>summary:hover,.underlay-picker[open]>summary,.underlay-picker.has-underlay>summary{border-color:var(--blue);background:rgba(120,167,255,.1);color:var(--text)}.underlay-picker.has-underlay>summary{box-shadow:inset 0 -2px var(--mint)}.underlay-menu{position:absolute;z-index:80;right:0;top:calc(100% + 9px);width:300px;padding:12px;display:grid;gap:8px;border:1px solid var(--line2);border-radius:13px;background:var(--panel);box-shadow:0 22px 60px rgba(4,8,20,.48)}.underlay-menu-head{display:grid;gap:2px;padding-bottom:5px;border-bottom:1px solid var(--line)}.underlay-menu-head b{font-size:11px}.underlay-menu-head small{color:var(--soft);font-size:8px}.underlay-upload{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--line2);border-radius:9px;background:rgba(120,167,255,.05);cursor:pointer}.underlay-upload>span{color:var(--blue);font-size:20px}.underlay-upload b{font-size:9px}.underlay-menu>button{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--muted);font-size:9px;cursor:pointer}.underlay-menu>button:hover{border-color:var(--blue);color:var(--text)}.underlay-menu>button:disabled,.underlay-menu input:disabled,.underlay-menu select:disabled{opacity:.42;cursor:not-allowed}.underlay-opacity,.underlay-fit{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:7px;color:var(--muted);font-size:9px}.underlay-opacity input{min-width:0;accent-color:var(--gold)}.underlay-opacity output{min-width:28px;color:var(--gold);font-size:8px}.underlay-fit{grid-template-columns:68px 1fr}.underlay-fit select{padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);font-size:9px}.underlay-visible{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.underlay-visible input{accent-color:var(--mint)}.underlay-menu>button.underlay-remove{border-color:rgba(255,130,111,.28);color:#ff9c94}.underlay-status{min-height:24px;padding:6px 7px;border-radius:7px;background:rgba(99,215,177,.07);color:var(--mint);font-size:8px;line-height:1.45}.underlay-status.error{background:rgba(255,130,111,.08);color:#ff9c94}
.tool-group .wall-snap-button,.tool-group .furniture-snap-button{white-space:nowrap}.tool-group .wall-snap-button i,.tool-group .furniture-snap-button i{margin-left:4px;padding:1px 4px;border-radius:999px;background:rgba(255,130,111,.12);color:#ff9c94;font-size:7px;font-style:normal}.tool-group .wall-snap-button.active i,.tool-group .furniture-snap-button.active i{background:rgba(99,215,177,.16);color:var(--mint)}.studio-footer b{color:var(--mint);font-size:inherit}.studio-footer em{color:var(--soft);font-style:normal}
.plan-library-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:18px;background:rgba(4,7,16,.88);backdrop-filter:blur(14px)}.plan-library-modal[hidden]{display:none}.plan-library-window{width:min(1080px,94vw);max-height:min(780px,92vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line2);border-radius:18px;background:var(--panel);box-shadow:0 35px 120px rgba(0,0,0,.55)}.plan-library-head{min-height:68px;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--panel2)}.plan-library-head>div{display:flex;align-items:center;gap:11px}.plan-library-head>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--gold),var(--coral));color:#2e1d09;font-size:21px;font-weight:900}.plan-library-head>div>div{display:grid;gap:2px}.plan-library-head b{font-size:15px}.plan-library-head small{color:var(--soft);font-size:9px}.plan-library-head>button{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.plan-library-savebar{padding:12px 15px;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}.plan-library-savebar input{min-width:0;padding:10px 12px;border:1px solid var(--line2);border-radius:9px;background:rgba(0,0,0,.14);color:var(--text);font-size:11px;outline:0}.plan-library-savebar input:focus{border-color:var(--gold)}.plan-library-savebar button{padding:10px 14px;border:0;border-radius:9px;background:linear-gradient(120deg,var(--gold),var(--coral));color:#2d1b08;font-size:10px;font-weight:850;cursor:pointer}.plan-library-savebar button:disabled{opacity:.5;cursor:wait}.plan-library-grid{min-height:260px;padding:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow-y:auto}.plan-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}.plan-card-preview{aspect-ratio:10/7;display:grid;place-items:center;overflow:hidden;background:#f8f4ea}.plan-card-preview img{width:100%;height:100%;display:block;object-fit:contain}.plan-card-fallback{color:#63708a;font-size:42px}.plan-card-copy{padding:9px 10px 7px;display:grid;gap:3px}.plan-card-copy b{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.plan-card-copy small{color:var(--soft);font-size:8px}.plan-card-actions{padding:0 8px 8px;display:grid;grid-template-columns:1fr 30px;gap:5px}.plan-card-actions button{min-height:30px;border:1px solid rgba(99,215,177,.4);border-radius:8px;background:rgba(99,215,177,.09);color:var(--mint);font-size:9px;font-weight:750;cursor:pointer}.plan-card-actions button.danger{border-color:rgba(255,130,111,.35);background:rgba(255,130,111,.07);color:#ff9c94;font-size:17px}.plan-library-empty{grid-column:1/-1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--line2);border-radius:12px;color:var(--soft);text-align:center}.plan-library-empty>span{font-size:42px;color:var(--blue)}.plan-library-empty b{color:var(--text);font-size:13px}.plan-library-empty small{font-size:9px}.plan-library-status{min-height:32px;margin:0;padding:8px 15px;border-top:1px solid var(--line);color:var(--mint);font-size:9px}.tool-group.compact #savePlanButton,.tool-group.compact #planLibraryButton{width:auto;padding-inline:9px;color:var(--gold)}
@media(max-width:800px){.plan-library-modal{padding:6px}.plan-library-window{width:100%;max-height:96vh}.plan-library-savebar{grid-template-columns:1fr}.plan-library-grid{grid-template-columns:1fr;padding:9px}.plan-library-head small{display:none}.tool-group.compact #savePlanButton,.tool-group.compact #planLibraryButton{padding-inline:6px}.underlay-menu{position:fixed;right:10px;top:124px;width:calc(100vw - 20px)}}
.precise-note{margin-top:10px;padding:8px 10px;display:grid;gap:2px;border:1px solid rgba(99,215,177,.45);border-radius:9px;background:rgba(99,215,177,.09)}.precise-note b{font-size:10px;color:var(--mint)}.precise-note small{font-size:8px;color:var(--muted)}.creative-render-button{width:100%;margin-top:6px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--line2);border-radius:10px;background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer}.creative-render-button>span:first-child{font-size:16px;color:var(--coral)}.creative-render-button>span:last-child{display:grid;text-align:left}.creative-render-button b{font-size:9px}.creative-render-button small{font-size:7px;color:var(--soft)}.creative-render-button:disabled{opacity:.5;cursor:wait}
