@charset "UTF-8";
:root{color-scheme:dark;--bg:#111416;--panel:#191d20;--raised:#242a2e;--line:#32393e;--text:#e9edef;--muted:#a0aaaf;--accent:#d0f18b;--radius:8px;font-family:Inter,"Segoe UI",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--text);padding:9px 12px;transition:background .12s}button:hover{background:#343d42}button:disabled{opacity:.38;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#20291a;font-weight:650}button.quiet{border-color:transparent;background:transparent}button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}a{color:var(--accent)}input,select{background:#12171a;border:1px solid var(--line);border-radius:5px;color:var(--text);padding:8px;min-width:0}input:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input[type=range]{padding:0;height:20px;accent-color:var(--accent);width:100%;cursor:pointer}input[type=checkbox]{accent-color:var(--accent)}.topbar{height:78px;display:flex;align-items:center;padding:16px 24px;gap:28px;border-bottom:1px solid var(--line);background:#191d20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;font-size:20px;font-weight:650;white-space:nowrap}.brandmark{background:var(--accent);color:#20291a;border-radius:9px;font-size:24px;padding:4px 9px}.brand small{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:500}.project-title{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.project-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title span{color:var(--muted);font-size:12px}.top-actions{display:flex;gap:8px}.workspace{display:grid;grid-template-columns:260px minmax(300px,1fr) 300px;height:calc(100dvh - 78px)}.library,.develop{background:var(--panel);overflow-y:auto;scrollbar-width:thin}.library{border-right:1px solid var(--line);display:flex;flex-direction:column}.develop{border-left:1px solid var(--line);padding:0 18px 30px}.section-title{display:flex;justify-content:space-between;align-items:center;padding:20px 18px 14px}.develop .section-title{padding-left:0;padding-right:0}.section-title h1,.section-title h2{font-size:16px;font-weight:600;margin:0}.badge{color:var(--muted);font-size:12px;border:1px solid var(--line);padding:3px 7px;border-radius:4px}.search,.library-filters,.library-tools{padding:0 16px 10px;display:flex;gap:7px}.search input{width:100%}.library-filters select{width:100%}.library-tools{border-bottom:1px solid var(--line)}.library-tools button{padding:5px 6px;font-size:13px}.preset-list{padding:10px;flex:1;overflow:auto;min-height:120px}.preset-row{display:flex;gap:3px;align-items:center;margin:3px 0;border-radius:6px;border:1px solid transparent}.preset-row.active{background:#303b29;border-color:#536246}.preset-row .apply{flex:1;text-align:left;background:none;border:0;padding:10px 7px;min-width:0}.preset-row strong{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis}.preset-row small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.preset-row .star{padding:8px;border:0;background:transparent;color:var(--muted)}.preset-row .star.selected{color:var(--accent)}.library-footer{border-top:1px solid var(--line);padding:16px}.library-footer span{font-size:11px;letter-spacing:1.4px;color:var(--muted)}.library-footer p,.hint{font-size:12px;line-height:1.6;color:var(--muted)}.studio{display:flex;flex-direction:column;min-width:0;min-height:0}.toolbar{display:flex;justify-content:space-between;gap:8px;min-height:58px;align-items:center;padding:9px 15px;border-bottom:1px solid var(--line)}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar button,.toolbar select{font-size:12px;padding:7px 9px}.divider{height:20px;border-left:1px solid var(--line);margin:0 4px}.subtle{font-size:12px;color:var(--muted);white-space:nowrap}.viewport{flex:1;position:relative;overflow:auto;display:grid;place-items:center;background:#101315;min-height:180px;padding:26px}.viewport.drag-over{outline:2px solid var(--accent);outline-offset:-6px}.empty{text-align:center;max-width:360px}.empty-icon{display:inline-grid;place-items:center;border:1px solid #495448;border-radius:15px;width:60px;height:60px;font-size:30px;color:var(--accent);margin-bottom:12px}.empty h2{font-size:36px;line-height:1.18;font-weight:450;letter-spacing:-1.2px;margin:16px 0}.empty p{color:var(--muted);line-height:1.6}.empty .primary{margin:15px 0}.empty .formats{font-size:12px}.image-stage{position:relative;flex-shrink:0;box-shadow:0 15px 55px #0006;line-height:0}.image-stage canvas{display:block;width:100%;height:100%}#before{position:absolute;inset:0}#split-line{position:absolute;top:0;bottom:0;width:1px;background:white;left:50%}#view-label{position:absolute;left:12px;top:12px;background:#111a;color:white;font-size:10px;letter-spacing:2px;padding:9px;line-height:1}.split-control{position:absolute;bottom:15px;left:25%;max-width:50%;z-index:2}.statusbar{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.history{border-top:1px solid var(--line);max-height:180px;overflow:auto;background:var(--panel)}.history summary{padding:12px 16px}.history summary span{color:var(--muted);margin-left:10px}#history-list{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 12px}#history-list button{font-size:12px}#histogram{width:100%;height:85px;background:#121719;border-radius:6px;margin-bottom:18px}.preset-amount{padding:0 0 16px}.preset-amount>div{display:flex;justify-content:space-between;margin-bottom:8px;gap:8px;font-size:13px}#active-look{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.develop details{border-top:1px solid var(--line);padding-bottom:12px}summary{cursor:pointer;padding:17px 0;font-weight:550;font-size:14px}details:not([open]){padding-bottom:0}.slider-row{margin:0 0 15px}.slider-row>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.slider-row label{font-size:13px;color:#c7cfd3}.slider-row input[type=number]{width:68px;font-size:12px;text-align:right;padding:4px;background:transparent}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0}.mixer-tabs{display:flex;gap:4px;margin-bottom:18px}.mixer-tabs button{font-size:12px;flex:1;padding:7px 4px}.crop-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.crop-fields label{font-size:12px;color:var(--muted)}.crop-fields input{width:100%;margin-top:5px}.transform-buttons{display:flex;gap:5px}.transform-buttons button{flex:1;padding:8px 3px;font-size:12px}#curve-view{width:100%;height:180px;background:#121719;margin-top:12px}dialog{background:var(--panel);border:1px solid #485159;border-radius:12px;color:var(--text);padding:24px;width:min(430px,calc(100vw - 32px));box-shadow:0 30px 120px #000a}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:22px;margin:0}.dialog-heading button{background:none;border:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}progress{width:100%;accent-color:var(--accent)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#e1edcf;color:#1a2116;border-radius:8px;padding:13px 20px;max-width:min(580px,90vw);box-shadow:0 10px 35px #0007;z-index:100;font-size:14px}[hidden]{display:none!important}@media(max-width:1100px){.workspace{grid-template-columns:220px minmax(280px,1fr) 265px}.brand small{display:none}.topbar{padding:12px;gap:15px}.top-actions{gap:3px}.top-actions button{font-size:12px;padding:8px}.toolbar .subtle{display:none}}@media(max-width:800px){.topbar{height:auto;min-height:72px;flex-wrap:wrap}.project-title{min-width:120px}.top-actions{width:100%;justify-content:flex-end}.workspace{height:auto;min-height:calc(100dvh - 120px);grid-template-columns:minmax(0,1fr) 260px}.library{grid-column:1/-1;grid-row:2;max-height:360px;border-top:1px solid var(--line)}.studio{min-height:65dvh}.develop{max-height:75dvh}.brand{font-size:18px}.statusbar span:last-child{display:none}.viewport{padding:12px}.empty h2{font-size:28px}.library-footer{display:none}.toolbar{flex-wrap:wrap}}@media(max-width:520px){.workspace{display:flex;flex-direction:column}.studio{order:0;height:65dvh}.develop{order:1;max-height:none;border-top:1px solid var(--line)}.library{order:2;height:400px}.project-title{display:none}.top-actions{justify-content:space-between}.toolbar-group{gap:2px}.statusbar{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.crop-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:12px}.crop-actions>span{flex:1;color:var(--muted)}.crop-actions button{font-size:12px;padding:7px 10px}#crop-overlay{position:absolute;inset:0;z-index:5;overflow:hidden;touch-action:none;cursor:crosshair}#crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0009;cursor:move;touch-action:none;min-width:1px;min-height:1px}.crop-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33%,#ffffff70 33%,#ffffff70 33.4%,transparent 33.4%,transparent 66.6%,#ffffff70 66.6%,#ffffff70 67%,transparent 67%),linear-gradient(to bottom,transparent 33%,#ffffff70 33%,#ffffff70 33.4%,transparent 33.4%,transparent 66.6%,#ffffff70 66.6%,#ffffff70 67%,transparent 67%)}.crop-handle{position:absolute;width:20px;height:20px;z-index:2;transform:translate(-50%,-50%)}.crop-handle:after{content:'';position:absolute;inset:5px;background:var(--accent);border:1px solid #172012}.crop-nw{left:0;top:0;cursor:nwse-resize}.crop-n{left:50%;top:0;cursor:ns-resize}.crop-ne{left:100%;top:0;cursor:nesw-resize}.crop-e{left:100%;top:50%;cursor:ew-resize}.crop-se{left:100%;top:100%;cursor:nwse-resize}.crop-s{left:50%;top:100%;cursor:ns-resize}.crop-sw{left:0;top:100%;cursor:nesw-resize}.crop-w{left:0;top:50%;cursor:ew-resize}#view-label{pointer-events:none}#crop-box:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}

/* Enhanced Label Button Styles & Visually-Hidden Inputs */
label.primary, label.quiet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--raised);
  color: var(--text);
  padding: 9px 16px;
  transition: background .12s, border-color .12s, transform .08s;
  text-decoration: none;
  user-select: none;
}
label.primary:hover {
  background: #c0e377;
  border-color: #c0e377;
}
label.primary:active {
  transform: scale(0.98);
}
label.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #20291a;
  font-weight: 650;
}
label.quiet {
  border-color: transparent;
  background: transparent;
  padding: 8px 12px;
}
label.quiet:hover {
  background: rgba(255, 255, 255, 0.08);
}

.sr-only-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Layout adaptation for PicDriver suite header */
#editor {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 65px);
  min-height: 520px;
  overflow: hidden;
}
.workspace {
  height: calc(100% - 78px) !important;
  flex: 1;
}
.empty {
  cursor: pointer;
  padding: 24px 28px;
  border: 2px dashed rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  background: rgba(25, 29, 32, 0.45);
  transition: border-color .2s, background .2s, transform .15s;
}
.empty:hover, .viewport.drag-over .empty {
  border-color: var(--accent);
  background: rgba(25, 29, 32, 0.75);
}
.empty h1 {
  font-size: 28px;
  margin: 12px 0 8px;
  color: #ffffff;
  letter-spacing: -0.02em;
}
.empty p {
  margin: 6px 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.empty .primary {
  font-size: 15px;
  padding: 11px 24px;
}

/* Responsive viewport height adaptation with global header */
.workspace {
  height: calc(100dvh - 56px - 78px) !important;
  min-height: 520px;
}


