:root{color-scheme:dark;font-family:Inter,Segoe UI,Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;background:#0b0f16;color:#edf2f7}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh;background:linear-gradient(180deg,rgba(45,70,100,.22),transparent 320px),#0b0f16}button,input,textarea{font:inherit}button{border:0}.appShell{display:grid;grid-template-columns:290px minmax(540px,1fr) 350px;min-height:100vh}.leftPanel,.rightPanel{display:flex;flex-direction:column;gap:18px;padding:20px;border-color:#ffffff14;background:#090d13db}.leftPanel{border-right:1px solid rgba(255,255,255,.08)}.rightPanel{border-left:1px solid rgba(255,255,255,.08)}.brandBlock{display:flex;align-items:center;gap:12px}.brandMark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(121,164,255,.35);border-radius:8px;background:linear-gradient(145deg,#17253a,#121820);color:#9ec6ff}h1,h2,h3,p{margin:0}h1{font-size:18px;font-weight:720}h2{margin-top:4px;overflow:hidden;max-width:520px;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:720}h3{margin-top:4px;font-size:20px;font-weight:760}.brandBlock p,.eyebrow,.emptyText,small{color:#8f9aaa;font-size:12px}.dropZone{display:grid;place-items:center;gap:7px;min-height:122px;padding:18px;cursor:pointer;border:1px dashed rgba(148,170,197,.42);border-radius:8px;background:#ffffff0a;color:#dbe7f6;text-align:center}.dropZone input{display:none}.ghostButton,.secondaryButton,.toolButton,.downloadButton,.primaryButton{min-height:38px;cursor:pointer;border-radius:8px;color:#edf2f7;transition:transform .14s ease,border-color .14s ease,background .14s ease}.secondaryButton:hover,.ghostButton:hover,.toolButton:hover,.downloadButton:hover{border-color:#8bb3eb6b;background:#ffffff14}.panelSection{display:grid;gap:12px}.sectionTitle{display:flex;align-items:center;gap:7px;color:#c7d2df;font-size:13px;font-weight:700}.jobList,.checkList{display:grid;gap:7px}.jobItem{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff09;color:#d9e5f0;text-align:left}.jobItem.isActive{border-color:#8bb3eba8;background:#4a70a438}.jobIndex{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:#ffffff14;color:#a9c6ef;font-size:12px}.jobName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.jobStatus{color:#8f9aaa;font-size:11px}.jobStatus.done{color:#87ddb8}.jobStatus.processing{color:#ffd583}.jobStatus.error{color:#ff9f9f}.checkItem{display:grid;grid-template-columns:16px 44px 1fr;align-items:center;gap:5px;min-height:25px;color:#adbac8;font-size:11px}.checkItem svg{color:#74d7ad}.checkItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8e1ec;font-weight:650}.workspace{display:grid;grid-template-rows:auto 1fr auto;min-width:0;padding:20px 22px}.topBar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px}.topActions,.buttonRow,.toolDock,.toolGroup{display:flex;align-items:center;gap:9px}.primaryButton,.secondaryButton,.ghostButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(255,255,255,.08)}.primaryButton{border-color:#ffca748f;background:linear-gradient(180deg,#d89d48,#9b6532);color:#14100a;font-weight:760}.secondaryButton,.ghostButton{background:#ffffff0e;color:#d9e4ef}.ghostButton{width:38px;padding:0}button:disabled{cursor:not-allowed;opacity:.45}.canvasWrap{display:grid;min-height:0;place-items:center;padding:16px 0}.stage,.blankStage{position:relative;width:min(100%,1180px);max-height:calc(100vh - 184px);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#05070a;box-shadow:0 22px 70px #00000061}.blankStage{display:grid;min-height:430px;place-items:center;gap:8px;cursor:pointer;color:#8d9daf;text-align:center}.dropZone.isDragActive,.blankStage.isDragActive{border-color:#ff4fd8b8;background:#ff4fd814;color:#ffeafa}.blankStage input{display:none}.baseImage,.resultImage,.maskOverlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.resultImage{z-index:2}.maskOverlay{z-index:3;touch-action:none;cursor:crosshair}.maskOverlay.isErasing{cursor:cell}.maskOverlay.isHidden{opacity:0}.processingVeil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;gap:8px;background:#05070a94;color:#ffd583;font-weight:720}.toolDock{justify-content:space-between;min-height:58px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.toolGroup{flex-wrap:wrap}.toolButton{display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:#c3d0de;font-size:12px}.toolButton.isActive{border-color:#ffcb7799;background:#b47a3538;color:#ffe0a5}.ghostButton.isActive{border-color:#ff4fd89e;background:#ff4fd829;color:#ffd7f6}.sliderRow{display:grid;grid-template-columns:78px minmax(92px,1fr) 34px;align-items:center;gap:9px;min-height:30px;color:#b9c5d3;font-size:12px}.toolDock .sliderRow{width:210px}input[type=range]{width:100%;accent-color:#d89d48}output{color:#e8eff8;text-align:right;font-variant-numeric:tabular-nums}.promptPanel{min-height:320px}.guideRules{display:grid;gap:10px;color:#b9c5d3;font-size:12px;line-height:1.45}.guideRules div{display:grid;grid-template-columns:18px 72px 1fr;align-items:center;gap:8px;min-height:28px}.guideRules strong{color:#edf2f7}.swatch{display:inline-block;width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 1px #ffffff47}.swatch.building{background:#ff3e3e}.swatch.exterior{background:#b8ff4d}.swatch.line{background:#ff4fd8}.swatch.sky{background:#2b8eff}.swatch.protect{background:#9aa3ad}textarea{min-height:292px;resize:vertical;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;background:#ffffff0b;color:#d7e0ec;font-size:12px;line-height:1.58}.downloadButton{width:100%;border:1px solid rgba(116,215,173,.34);background:#328b6533;color:#d7ffec;font-weight:720}.errorText{color:#ffabab;font-size:12px}.statusText{color:#a8e5c8;font-size:12px}.wideButton{width:100%}.segmentedControl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.segmentedControl button,.modeCards button{cursor:pointer;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b;color:#d9e4ef}.segmentedControl button{min-height:38px;font-weight:760}.segmentedControl button.isActive,.modeCards button.isActive{border-color:#ffcb77a3;background:#b47a3538;color:#ffe0a5}.usageBox{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;min-height:54px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff09;color:#b9c5d3;font-size:12px}.usageBox strong{color:#f2d293;font-size:18px;line-height:1}.usageBox small{grid-column:1 / -1}.modeCards{display:grid;gap:9px}.modeCards button{display:grid;grid-template-columns:22px 1fr;gap:4px 9px;min-height:82px;padding:12px;text-align:left}.modeCards svg{grid-row:1 / 3}.modeCards strong{font-size:13px}.modeCards span{color:#9aa8b8;font-size:12px;line-height:1.45}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#020509b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modeDialog{display:grid;gap:18px;width:min(560px,100%);padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#101720;box-shadow:0 24px 90px #0000007a}.modeHint{display:inline-flex;align-items:center;gap:8px;color:#c3d0de;font-size:12px}.versionList{display:grid;gap:8px}.versionList button{display:grid;gap:3px;min-height:44px;cursor:pointer;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;background:#ffffff0a;color:#d9e4ef;text-align:left}.versionList button.isActive{border-color:#74d7ad75;background:#328b652e}.versionList small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkList.compact .checkItem{min-height:23px}.downloadButton.danger{border-color:#ff7d7d4d;background:#9635352e;color:#ffd2d2}@media(max-width:1180px){body{min-width:0}.appShell{grid-template-columns:1fr}.leftPanel,.rightPanel{border:0}.workspace{min-height:720px}.topBar,.toolDock{align-items:stretch;flex-direction:column}}
