: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,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}.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}@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}}
