/* The Creative Core: free tools panel */
.tp-back{font-weight:650;font-size:15px;text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap}
.tp-back:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.tp{max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:118px var(--pad) 40px}
.tp-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:34px}
.tp-title{margin:0;font-size:clamp(46px,8vw,124px);line-height:.9;font-weight:880;font-stretch:var(--disp-w);text-transform:uppercase;letter-spacing:-.012em}
.tp-lede{margin:0;max-width:46ch;color:var(--stone);font-size:18px}

/* the panel: dark tool rail + paper workspace */
.tp-panel{display:grid;grid-template-columns:252px minmax(0,1fr);border-radius:26px;overflow:hidden;background:var(--paper);border:1px solid var(--line);min-height:660px;box-shadow:0 40px 90px -60px rgba(28,27,24,.55)}
.tp-side{background:var(--ink);color:var(--cream);padding:22px 14px 18px;display:flex;flex-direction:column;gap:2px}
.tp-group{margin:18px 12px 6px;font-size:13px;font-weight:700;color:var(--ash)}
.tp-group:first-child{margin-top:2px}
.tp-tool{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:12px;text-decoration:none;font-weight:650;font-size:15.5px;line-height:1.2;color:rgba(244,235,221,.84);transition:background-color .2s,color .2s}
.tp-tool:hover{background:var(--night-3);color:var(--cream)}
.tp-tool.is-on{background:var(--accent);color:var(--on-accent)}
.tp-count{min-width:22px;padding:2px 7px;border-radius:999px;background:rgba(244,235,221,.14);font-size:12px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}
.tp-count:empty{display:none}
.tp-tool.is-on .tp-count{background:rgba(28,27,24,.18)}
.tp-free{margin:auto 12px 0;padding-top:24px;font-size:13.5px;line-height:1.45;color:var(--ash)}
.tp-work{position:relative;min-width:0;padding:28px 30px 32px;outline:none;scroll-margin-top:84px}
.tp-work.is-over::after{content:"";position:absolute;inset:10px;border:2px dashed var(--accent);border-radius:20px;background:color-mix(in srgb,var(--accent) 9%,transparent);pointer-events:none}
.tw-head{margin-bottom:20px}
.tw-title{margin:0;font-size:clamp(26px,3vw,40px);line-height:1;font-weight:860;font-stretch:112%;text-transform:uppercase}
.tw-desc{margin:6px 0 0;color:var(--stone)}
.tw-body{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:26px;align-items:start}
.tw-main{min-width:0}
.tw-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:18px;background:var(--cream)}

/* drop zone */
.dz{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:380px;padding:30px 20px;border:2px dashed color-mix(in srgb,var(--ink) 26%,transparent);border-radius:20px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}
.dz:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.dz:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.dz-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.dz svg{width:54px;height:54px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dz-big{font-size:clamp(22px,2.4vw,30px);line-height:1.1;font-weight:850;font-stretch:110%}
.dz-btn{pointer-events:none;margin:4px 0}
.dz-small{font-size:14.5px;color:var(--stone);max-width:42ch}

/* file bar, grid, list */
.tw-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tw-n{font-weight:750;font-variant-numeric:tabular-nums;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-bar-btns{display:flex;gap:6px;flex-wrap:wrap}
.tw-link{padding:8px 13px;border-radius:999px;border:1.5px solid var(--line);background:transparent;font-weight:650;font-size:14.5px;line-height:1.2;cursor:pointer;color:inherit;text-align:center}
.tw-link:hover{border-color:var(--ink)}
.tw-hint{margin:0 0 10px;color:var(--stone);font-size:14.5px}
.tw-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px}
.tw-grid.is-strip{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:10px}
.fc{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0}
.fc-thumb{display:grid;place-items:center;aspect-ratio:1;width:100%;padding:8px;border:0;border-radius:14px;background:repeating-conic-gradient(#ebe2d3 0 25%,#f7f1e7 0 50%) 0 0/16px 16px;overflow:hidden;cursor:default;color:inherit}
.fc-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .3s var(--ease)}
.is-strip .fc-thumb{cursor:pointer;padding:5px;border-radius:10px}
.fc.is-sel .fc-thumb{outline:3px solid var(--accent);outline-offset:2px}
.fc-name{font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-meta{font-size:12.5px;color:var(--stone);font-variant-numeric:tabular-nums}
.is-strip .fc-name,.is-strip .fc-meta{font-size:12px}
.fc-x{position:absolute;top:6px;right:6px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:0;background:rgba(28,27,24,.8);color:var(--cream);cursor:pointer}
.fc-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.fc-x:hover{background:var(--rec)}
.is-strip .fc-x{width:26px;height:26px;top:4px;right:4px}
.fc-spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--accent);animation:tp-spin .8s linear infinite}
@keyframes tp-spin{to{transform:rotate(360deg)}}
.tw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tw-list .fc{display:grid;grid-template-columns:28px 56px minmax(0,1fr) auto 34px;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.tw-list .fc-i{grid-row:1 / 3;font-weight:800;font-variant-numeric:tabular-nums;text-align:center;color:var(--stone)}
.tw-list .fc-thumb{grid-row:1 / 3;grid-column:2;width:56px;padding:3px;border-radius:8px}
.tw-list .fc-name{grid-column:3;align-self:end}
.tw-list .fc-meta{grid-column:3;align-self:start}
.tw-list .fc-move{grid-row:1 / 3;grid-column:4;display:flex;gap:4px}
.tw-list .fc-x{position:static;grid-row:1 / 3;grid-column:5}
.tw-list .fc[draggable]{cursor:grab}
.fc.is-drag{opacity:.45}
.fc-b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);background:transparent;cursor:pointer;color:inherit}
.fc-b svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fc-b:hover:not(:disabled){border-color:var(--ink)}
.fc-b:disabled{opacity:.3;cursor:default}

/* options */
.tw-opts{display:flex;flex-direction:column;gap:16px}
.of{display:flex;flex-direction:column;gap:8px}
.of-l{margin:0;font-weight:750;font-size:14.5px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.of-l output{font-variant-numeric:tabular-nums;color:var(--stone);font-weight:700}
.sg{display:flex;padding:4px;border-radius:14px;background:var(--cream-2);gap:4px}
.sg button{flex:1;padding:9px 10px;border:0;border-radius:10px;background:transparent;font-weight:700;font-size:14px;line-height:1.2;cursor:pointer;color:inherit}
.sg button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.sg button[aria-checked=true]{background:var(--ink);color:var(--cream)}
.sg-wrap{flex-wrap:wrap}
.sg-wrap button{flex:1 1 auto}
.sg button small{display:block;font-weight:500;font-size:12px;opacity:.78;margin-top:3px}
.lv .sg{flex-direction:column}
.lv .sg button{text-align:start;padding:10px 12px}
.of-row{flex-direction:row;align-items:flex-end;gap:8px}
.of-n{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.of-n span{font-weight:750;font-size:14.5px}
.of-n input,.of-t input{width:100%;padding:11px 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink)}
.of-n input:focus,.of-t input:focus{outline:none;border-color:var(--accent)}
.of-x{padding-bottom:12px;color:var(--stone);font-weight:700}
.of-c{display:flex;align-items:center;gap:10px;font-weight:650;font-size:15px;cursor:pointer}
.of-c input{width:20px;height:20px;accent-color:var(--ink);flex:none}
.of-r{display:flex;flex-direction:column;gap:8px}
.of-r input{width:100%;accent-color:var(--accent)}
.of-scale{display:flex;justify-content:space-between;margin:-10px 0 0;font-size:12.5px;color:var(--stone)}
.of-note{margin:0;font-size:13.5px;line-height:1.45;color:var(--stone)}
.of-btn{align-self:stretch;white-space:normal}
.of-two{display:flex;gap:6px}
.pr{display:flex;flex-wrap:wrap;gap:6px}
.pr-b{display:flex;flex-direction:column;align-items:flex-start;padding:8px 11px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:700;font-size:13.5px;line-height:1.2;text-align:start;color:inherit}
.pr-b small{font-weight:550;font-size:12px;color:var(--stone);font-variant-numeric:tabular-nums;margin-top:2px}
.pr-b:hover{border-color:var(--ink)}
.pr-sm .pr-b{padding:6px 10px;font-variant-numeric:tabular-nums}
.rt{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rt-b{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:650;font-size:13.5px;line-height:1.2;cursor:pointer;color:inherit;text-align:center}
.rt-b:hover{border-color:var(--ink)}
.rt-b svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rt-b[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ps{display:grid;grid-template-columns:repeat(3,46px);gap:6px}
.ps button{width:46px;height:46px;border-radius:10px;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}
.ps button i{width:11px;height:11px;border-radius:3px;background:var(--line)}
.ps button[aria-checked=true]{border-color:var(--ink)}
.ps button[aria-checked=true] i{background:var(--accent)}
.ps-tile{align-self:flex-start}
.ps-tile[aria-checked=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.tw-go{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.tw-run{width:100%;white-space:normal}
.tw-run:disabled{opacity:.42;cursor:not-allowed}
.tw-run:disabled:hover{transform:none}
.tw-run-n{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:rgba(28,27,24,.16);font-size:14px;font-variant-numeric:tabular-nums}
.tw-prog{height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.tw-prog span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}
.tw-status{margin:0;font-size:13.5px;line-height:1.4;color:var(--stone);min-height:1.2em;overflow-wrap:anywhere}
.tw-status:empty{display:none}
.is-busy .tw-main,.is-busy .tw-opts{opacity:.55;pointer-events:none}

/* crop editor */
.cr{margin-bottom:16px}
.cr-stage{display:flex;justify-content:center;padding:16px;border-radius:18px;background:var(--night-2);overflow:hidden}
.cr-wrap{position:relative;display:inline-block;max-width:100%;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.cr-img{display:block;max-width:100%;max-height:min(60vh,620px);width:auto;height:auto;pointer-events:none}
.cr-box{position:absolute;box-shadow:0 0 0 9999px rgba(16,15,13,.62);outline:1.5px solid #fff;cursor:move;touch-action:none}
.cr-box:focus-visible{outline:2px solid var(--accent);outline-offset:0}
.cr-g{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s;
  background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) 33.33% 0/1px 100% no-repeat,linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) 66.66% 0/1px 100% no-repeat,
  linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) 0 33.33%/100% 1px no-repeat,linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) 0 66.66%/100% 1px no-repeat}
.cr-box.is-drag .cr-g,.cr-box:hover .cr-g{opacity:1}
.cr-h{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;touch-action:none;z-index:1}
.cr-h::after{content:"";position:absolute;inset:8px;background:#fff;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.cr-nw{left:0;top:0;cursor:nwse-resize}.cr-ne{left:100%;top:0;cursor:nesw-resize}.cr-sw{left:0;top:100%;cursor:nesw-resize}.cr-se{left:100%;top:100%;cursor:nwse-resize}
.cr-n{left:50%;top:0;cursor:ns-resize}.cr-s{left:50%;top:100%;cursor:ns-resize}.cr-e{left:100%;top:50%;cursor:ew-resize}.cr-w{left:0;top:50%;cursor:ew-resize}
.cr-n::after,.cr-s::after{inset:10px 4px}.cr-e::after,.cr-w::after{inset:4px 10px}
@media (pointer:coarse){.cr-h{width:40px;height:40px;margin:-20px 0 0 -20px}.cr-h::after{inset:13px}.cr-n::after,.cr-s::after{inset:16px 8px}.cr-e::after,.cr-w::after{inset:8px 16px}}
.cr-info{margin:10px 0 0;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.cr-wait{display:grid;place-items:center;min-height:300px;border-radius:18px;background:var(--night-2)}

/* watermark preview */
.wm{display:flex;justify-content:center;padding:16px;border-radius:18px;background:var(--night-2);margin-bottom:16px}
.wm-cv{display:block;max-width:100%;max-height:min(60vh,620px);width:auto;height:auto;border-radius:4px}

/* split page picker */
.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}
.pg-grid .tw-hint{grid-column:1 / -1;margin:0}
.pg{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:14px;border:2px solid var(--line);background:#fff;cursor:pointer;color:inherit}
.pg-img{display:grid;place-items:center;width:100%;aspect-ratio:1 / 1.3;background:var(--cream);border-radius:6px;overflow:hidden}
.pg-img img{max-width:100%;max-height:100%;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.pg-n{font-weight:750;font-size:13.5px;font-variant-numeric:tabular-nums}
.pg[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,#fff)}
.pg[aria-pressed=true]::after{content:"";position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%231C1B18' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}

/* results */
.tw-results{margin-top:30px;padding-top:24px;border-top:2px solid var(--ink);scroll-margin-top:90px}
.rs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 20px;flex-wrap:wrap;margin-bottom:12px}
.rs-title{margin:0;font-size:30px;line-height:1;font-weight:860;font-stretch:112%;text-transform:uppercase}
.rs-sub{margin:6px 0 0;color:var(--stone)}
.rs-btns{display:flex;gap:8px;flex-wrap:wrap}
.rs-list{list-style:none;margin:0;padding:0}
.rs{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line)}
.rs-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs-meta{grid-column:1;font-size:13.5px;color:var(--stone);font-variant-numeric:tabular-nums}
.rs-meta em{display:block;font-style:normal;color:var(--ink);margin-top:2px}
.rs-dl{grid-row:1 / 3;grid-column:2;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1.5px solid var(--ink);text-decoration:none;font-weight:700;font-size:14px}
.rs-dl:hover{background:var(--ink);color:var(--cream)}
.rs-dl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rs.is-err .rs-meta{color:#C2271C}

/* bottom */
.tp-cta{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:28px;padding:26px 30px;border-radius:24px;background:var(--ink);color:var(--cream)}
.tp-cta p{margin:0;font-size:clamp(19px,2vw,25px);line-height:1.2;font-weight:780;font-stretch:108%;max-width:36ch}
.tp-foot{display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:6px var(--pad) calc(32px + env(safe-area-inset-bottom,0px));color:var(--stone);font-size:14px}
.tp-foot p{margin:0}
.tp-foot a{font-weight:650}

@media (max-width:1180px){.tw-body{grid-template-columns:1fr}.tw-side{position:static}}
@media (max-width:900px){
  .tp-panel{grid-template-columns:1fr;border-radius:22px;min-height:0}
  .tp-side{flex-direction:row;overflow-x:auto;gap:6px;padding:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tp-side::-webkit-scrollbar{display:none}
  .tp-group,.tp-free{display:none}
  .tp-tool{flex:none;padding:10px 14px;border-radius:999px;background:var(--night-3);font-size:14.5px}
  .tp-work{padding:22px 18px 26px}
}
@media (max-width:600px){
  .tp{padding:94px 14px 30px}
  .tp-intro{margin-bottom:22px}
  .tp-lede{font-size:16px}
  .tp-back{display:none}
  .tp-panel{margin:0 -4px;border-radius:20px}
  .tp-work{padding:20px 14px 24px}
  .dz{min-height:250px;padding:24px 14px}
  .tw-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}
  .tw-grid.is-strip{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}
  .is-strip .fc-name,.is-strip .fc-meta{display:none}
  .tw-side{padding:14px}
  .cr-stage,.wm{padding:12px;margin-left:-4px;margin-right:-4px}
  .tw-list .fc{grid-template-columns:22px 44px minmax(0,1fr) auto 30px;column-gap:8px;padding:8px}
  .tw-list .fc-thumb{width:44px}
  .tw-list .fc-x{width:28px;height:28px}
  .fc-b{width:32px;height:32px}
  .pg-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
  .rs-dl span{display:none}
  .rs-dl{padding:10px}
  .rs-btns{width:100%}
  .rs-btns .btn{flex:1}
  .tp-cta{padding:22px 20px}
}
