/* Gridcut Tools: tool styles (Bright creator look). Loaded only on pages with a tool. */
.gc-tool{
  --gc-ink:#1A0B2E; --gc-ink-2:#45365A; --gc-muted:#7A6B8C; --gc-line:#1A0B2E; --gc-bw:2px;
  --gc-surface:#FFFFFF; --gc-surface-2:#FFF8FB;
  --gc-accent:#FF3E8A; --gc-accent-ink:#FFFFFF; --gc-accent-soft:#FFE1EE; --gc-accent-hover:#F02A78;
  --gc-sun:#FFD43B; --gc-sky:#7AD7FF; --gc-lime:#B9F18C;
  --gc-canvas:#2B1150; --gc-canvas-ink:#FFFFFF; --gc-canvas-muted:rgba(255,255,255,.75); --gc-dot:rgba(255,255,255,.13);
  --gc-dim:rgba(43,17,80,.78); --gc-cut:#FFD43B;
  --gc-ph:#F6E3EE; --gc-ph-2:#FCEFF6; --gc-old:#E9D5E2;
  --gc-r-card:24px; --gc-r-btn:14px; --gc-r-chip:12px;
  --gc-shadow:5px 5px 0 #1A0B2E; --gc-btn-shadow:3px 3px 0 #1A0B2E;
  --gc-thumb:.75;
  color:var(--gc-ink);
}
.gc-tool *,.gc-tool *::before,.gc-tool *::after{box-sizing:border-box}
.gc-tool [hidden]{display:none!important}
.gc-tool button{font:inherit;color:inherit;cursor:pointer}
.gc-tool button:disabled{cursor:not-allowed}
.gc-tool :focus-visible{outline:3px solid var(--gc-accent);outline-offset:2px}
.gc-i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gc-i-s{width:16px;height:16px}
.gc-i-l{width:28px;height:28px}

/* Buttons */
.gc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--gc-r-btn);font-weight:700;font-size:15px;line-height:1.2;border:var(--gc-bw) solid transparent;text-decoration:none;transition:background-color .15s,transform .1s,box-shadow .1s}
.gc-btn-primary{background:var(--gc-accent);color:var(--gc-accent-ink);border-color:var(--gc-ink);box-shadow:var(--gc-btn-shadow)}
.gc-btn-primary:hover:not(:disabled){background:var(--gc-accent-hover)}
.gc-btn-primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--gc-ink)}
.gc-btn-primary:disabled{opacity:.4;box-shadow:none}
.gc-btn-soft{background:var(--gc-surface);color:var(--gc-ink);border-color:var(--gc-line)}
.gc-btn-soft:hover:not(:disabled){background:var(--gc-surface-2)}
.gc-btn-ghost{background:transparent;color:var(--gc-canvas-ink);border:1px solid rgba(255,255,255,.4)}
.gc-btn-ghost:hover{background:rgba(255,255,255,.08)}
.gc-btn-lg{min-height:54px;font-size:16px;width:100%}

/* Workspace */
.gc-workspace{background:var(--gc-surface);border:var(--gc-bw) solid var(--gc-line);border-radius:var(--gc-r-card);box-shadow:var(--gc-shadow);overflow:hidden}
.gc-ws-grid{display:grid}
@media(min-width:1000px){.gc-ws-grid{grid-template-columns:minmax(0,1fr) 340px}}
.gc-ws-main{padding:10px;min-width:0}
.gc-canvas{position:relative;height:min(64vh,500px);min-height:360px;border-radius:calc(var(--gc-r-card) - 8px);overflow:hidden;background-color:var(--gc-canvas);background-image:radial-gradient(var(--gc-dot) 1.2px,transparent 1.2px);background-size:18px 18px;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}
.gc-canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--gc-accent)}
.gc-canvas.gc-has-img{cursor:grab}
.gc-canvas.gc-grabbing{cursor:grabbing}
.gc-canvas.gc-dragging::after{content:"";position:absolute;inset:12px;border:2px dashed var(--gc-sun);border-radius:14px;z-index:9;pointer-events:none;background:rgba(255,212,59,.08)}
@media(min-width:1000px){.gc-canvas{height:600px}}
.gc-empty{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gc-canvas-ink);padding:24px;cursor:pointer}
.gc-drop{width:min(100%,460px);padding:36px 24px;border:2px dashed rgba(255,255,255,.3);border-radius:20px;display:flex;flex-direction:column;align-items:center}
.gc-drop-icon{width:64px;height:64px;border-radius:18px;background:var(--gc-accent);color:var(--gc-accent-ink);border:2px solid var(--gc-ink);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:var(--gc-btn-shadow)}
.gc-tool .gc-drop-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
.gc-tool .gc-drop-sub{margin:6px 0 20px;color:var(--gc-canvas-muted);font-size:15px}
.gc-drop-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.gc-tool .gc-drop-fine{margin:16px 0 0;font-size:13px;color:var(--gc-canvas-muted);display:flex;align-items:center;gap:6px}
.gc-frame{position:absolute;z-index:2}
.gc-tool .gc-photo{position:absolute;left:0;top:0;max-width:none;max-height:none;height:auto;transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-drag:none;z-index:1;border-radius:0;box-shadow:none}
.gc-mask{position:absolute;z-index:2;box-shadow:0 0 0 4000px var(--gc-dim);pointer-events:none}
.gc-strip{position:absolute;z-index:3;pointer-events:none;background:repeating-linear-gradient(45deg,var(--gc-dim) 0 4px,transparent 4px 8px)}
.gc-cuts{position:absolute;inset:0;z-index:4;pointer-events:none;outline:2px solid var(--gc-cut)}
.gc-cut{position:absolute;background:var(--gc-cut);box-shadow:0 0 0 1px rgba(26,11,46,.5)}
.gc-cut.gc-v{top:0;bottom:0;width:2px;margin-left:-1px;transform-origin:top}
.gc-cut.gc-h{left:0;right:0;height:2px;margin-top:-1px;transform-origin:left}
.gc-cuts.gc-anim .gc-v{animation:gcCutY .55s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--i) * 90ms)}
.gc-cuts.gc-anim .gc-h{animation:gcCutX .55s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--i) * 90ms)}
@keyframes gcCutY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes gcCutX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.gc-cuts.gc-anim .gc-cut{animation:none}}
.gc-toolbar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:4px;padding:5px;background:var(--gc-surface);border:var(--gc-bw) solid var(--gc-line);border-radius:999px;box-shadow:3px 3px 0 var(--gc-ink);color:var(--gc-ink);max-width:calc(100% - 16px)}
.gc-tb-btn{width:38px;height:38px;border-radius:50%;border:0;background:none;display:flex;align-items:center;justify-content:center;color:var(--gc-ink-2);flex:none}
.gc-tb-btn:hover{background:var(--gc-surface-2);color:var(--gc-ink)}
.gc-toolbar input{width:92px;min-width:0;accent-color:var(--gc-accent);margin:0}
.gc-tb-pct{min-width:44px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.gc-tb-sep{width:1px;height:22px;background:var(--gc-line);margin:0 2px;flex:none}
@media(min-width:600px){.gc-toolbar input{width:130px}}
@media(max-width:360px){.gc-tb-pct{display:none}}
.gc-ws-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 6px 2px;font-size:13.5px;color:var(--gc-muted)}
.gc-ws-foot b{color:var(--gc-ink);font-weight:700}
.gc-hint{display:flex;align-items:center;gap:6px}
.gc-tool .gc-note{margin:8px 6px 4px;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.5;background:#FFF6D6;border:1px solid #F0D98A;color:#5A4500;display:flex;gap:8px;align-items:flex-start}
.gc-tool .gc-note.gc-err{background:#FDECEA;border-color:#F3C2BA;color:#A3361F}
.gc-note .gc-i{margin-top:2px}

/* Settings */
.gc-ws-side{padding:20px;border-top:var(--gc-bw) solid var(--gc-line)}
@media(min-width:1000px){.gc-ws-side{border-top:0;border-left:var(--gc-bw) solid var(--gc-line)}}
.gc-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--gc-surface-2);border:var(--gc-bw) solid var(--gc-line);border-radius:calc(var(--gc-r-btn) + 2px);padding:4px;gap:4px}
.gc-seg button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:var(--gc-r-btn);background:none;font-weight:700;font-size:14.5px;color:var(--gc-muted)}
.gc-seg button[aria-selected="true"]{background:var(--gc-accent);color:var(--gc-accent-ink)}
.gc-field{margin-top:22px}
.gc-field-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.gc-label{font-size:14.5px;font-weight:700}
.gc-val{font-size:13px;color:var(--gc-muted)}
.gc-chips{display:flex;flex-wrap:wrap;gap:6px}
.gc-chip{min-width:42px;min-height:40px;padding:0 12px;border:var(--gc-bw) solid var(--gc-line);border-radius:var(--gc-r-chip);background:var(--gc-surface);font-weight:700;font-size:14.5px;color:var(--gc-ink-2)}
.gc-chip:hover{border-color:var(--gc-accent);color:var(--gc-ink)}
.gc-chip[aria-pressed="true"]{background:var(--gc-accent);border-color:var(--gc-ink);color:var(--gc-accent-ink)}
.gc-stepper{display:flex;align-items:center;margin-top:8px;border:var(--gc-bw) solid var(--gc-line);border-radius:var(--gc-r-chip);width:max-content;overflow:hidden;background:var(--gc-surface)}
.gc-stepper button{width:44px;height:40px;border:0;background:none;font-size:20px;line-height:1;color:var(--gc-ink)}
.gc-stepper button:hover{background:var(--gc-accent-soft)}
.gc-stepper output{min-width:56px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;line-height:40px}
.gc-opts{display:grid;gap:8px}
.gc-opt{position:relative;display:block;cursor:pointer;margin:0}
.gc-opt input{position:absolute;opacity:0;pointer-events:none}
.gc-opt span{display:block;padding:12px 12px 12px 42px;border:var(--gc-bw) solid var(--gc-line);border-radius:calc(var(--gc-r-chip) + 2px);font-size:13.5px;color:var(--gc-muted);line-height:1.45;background:var(--gc-surface)}
.gc-opt span::before{content:"";position:absolute;left:14px;top:15px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--gc-muted)}
.gc-opt b{display:block;font-size:14.5px;color:var(--gc-ink);margin-bottom:1px}
.gc-opt input:checked + span{background:var(--gc-accent-soft);box-shadow:3px 3px 0 var(--gc-ink)}
.gc-opt input:checked + span::before{border-color:var(--gc-accent);background:radial-gradient(circle,var(--gc-accent) 0 4px,transparent 4.5px)}
.gc-opt input:focus-visible + span{outline:3px solid var(--gc-accent);outline-offset:2px}
.gc-dl{margin-top:24px;padding-top:20px;border-top:var(--gc-bw) dashed var(--gc-line);display:grid;gap:10px}
.gc-tool .gc-fine{margin:0;font-size:13px;color:var(--gc-muted);line-height:1.5}

/* Results */
.gc-results{display:grid;gap:40px;margin-top:56px}
@media(min-width:900px){.gc-results{grid-template-columns:360px minmax(0,1fr);gap:56px;align-items:start}}
.gc-res-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.gc-tool .gc-h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
#gc-order-title{margin-bottom:8px}
.gc-switch{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--gc-ink-2);cursor:pointer;margin:0}
.gc-switch input{position:absolute;opacity:0}
.gc-switch i{width:38px;height:22px;border-radius:11px;background:#E9D5E2;position:relative;transition:background .15s;flex:none}
.gc-switch i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.gc-switch input:checked + i{background:var(--gc-accent)}
.gc-switch input:checked + i::after{transform:translateX(16px)}
.gc-switch input:focus-visible + i{outline:3px solid var(--gc-accent);outline-offset:2px}
.gc-phone{max-width:360px;background:var(--gc-surface);border:var(--gc-bw) solid var(--gc-line);border-radius:34px;padding:18px 0 20px;overflow:hidden;box-shadow:var(--gc-shadow)}
.gc-p-top{display:flex;justify-content:space-between;align-items:center;padding:0 16px 12px;font-weight:700;font-size:16px}
.gc-p-top span{display:flex;align-items:center;gap:6px}
.gc-p-head{display:flex;align-items:center;gap:18px;padding:0 16px}
.gc-p-avatar{width:74px;height:74px;border-radius:50%;background:var(--gc-accent);color:var(--gc-accent-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;flex:none;box-shadow:0 0 0 3px var(--gc-surface),0 0 0 5px var(--gc-ink)}
.gc-p-stats{display:flex;justify-content:space-around;flex:1;text-align:center;font-size:12.5px;color:var(--gc-muted);line-height:1.25}
.gc-p-stats b{display:block;font-size:16px;color:var(--gc-ink);font-variant-numeric:tabular-nums}
.gc-p-bio{padding:12px 16px 14px;display:grid;gap:7px}
.gc-p-bio b{font-size:14px}
.gc-bar{display:block;height:8px;border-radius:4px;background:var(--gc-ph)}
.gc-p-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gc-ph)}
.gc-p-tabs span{display:flex;justify-content:center;padding:10px 0;color:var(--gc-muted)}
.gc-p-tabs span.gc-on{color:var(--gc-ink);box-shadow:inset 0 -1.5px 0 var(--gc-ink)}
.gc-p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.gc-pt{position:relative;aspect-ratio:var(--gc-thumb);background-color:var(--gc-ph);background-repeat:no-repeat}
.gc-pt.gc-ph,.gc-c-slide.gc-ph,.gc-o-thumb.gc-ph{background:repeating-linear-gradient(135deg,var(--gc-ph) 0 6px,var(--gc-ph-2) 6px 12px)}
.gc-pt.gc-old{background:var(--gc-old)}
.gc-pt.gc-old:nth-child(3n+2){opacity:.75}
.gc-num{position:absolute;top:6px;left:6px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--gc-accent);color:var(--gc-accent-ink);font-size:12px;font-weight:800;display:none;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.gc-show-order .gc-num{display:flex}
.gc-c-head{display:flex;align-items:center;gap:10px;padding:0 14px 12px;font-weight:700;font-size:14.5px}
.gc-c-head i{width:30px;height:30px;border-radius:50%;background:var(--gc-accent);flex:none}
.gc-c-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gc-c-track::-webkit-scrollbar{display:none}
.gc-c-slide{flex:0 0 100%;scroll-snap-align:start;background-color:var(--gc-ph);background-repeat:no-repeat;position:relative}
.gc-c-count{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:12px}
.gc-c-dots{display:flex;justify-content:center;gap:5px;padding:12px 0 6px;flex-wrap:wrap}
.gc-c-dots i{width:6px;height:6px;border-radius:50%;background:var(--gc-ph)}
.gc-c-dots i.gc-on{background:var(--gc-accent)}
.gc-c-cap{padding:4px 14px 0;display:grid;gap:7px}
.gc-tool .gc-order-intro{margin:0 0 18px;color:var(--gc-ink-2);max-width:60ch;font-size:16px;line-height:1.6}
.gc-tool .gc-order-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.gc-tool .gc-order-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px;margin:0;background:var(--gc-surface);border:var(--gc-bw) solid var(--gc-line);border-radius:calc(var(--gc-r-chip) + 4px)}
.gc-tool .gc-order-list li:first-child{box-shadow:3px 3px 0 var(--gc-ink);background:#FFF3B8}
.gc-o-thumb{width:40px;aspect-ratio:var(--gc-thumb);border-radius:6px;background-color:var(--gc-ph);background-repeat:no-repeat}
.gc-o-text{line-height:1.25;min-width:0}
.gc-o-text b{display:block;font-size:14.5px}
.gc-o-text span{font-size:12.5px;color:var(--gc-muted)}
.gc-icon-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:var(--gc-bw) solid var(--gc-line);border-radius:var(--gc-r-chip);background:var(--gc-surface);color:var(--gc-ink-2);padding:0}
.gc-icon-btn:hover:not(:disabled){border-color:var(--gc-accent);color:var(--gc-accent)}
.gc-icon-btn:disabled{opacity:.4}

/* Busy state, progress and info boxes */
.gc-busy .gc-ws-side .gc-chip,.gc-busy .gc-ws-side .gc-opt,.gc-busy .gc-seg button,.gc-busy .gc-toolbar,.gc-busy .gc-canvas{pointer-events:none}
.gc-busy .gc-ws-side .gc-chip,.gc-busy .gc-seg,.gc-busy .gc-toolbar{opacity:.55}
.gc-progress{height:10px;border:var(--gc-bw) solid var(--gc-line);border-radius:999px;background:var(--gc-surface-2);overflow:hidden}
.gc-progress i{display:block;height:100%;width:0;background:var(--gc-accent);transition:width .2s}
.gc-info{margin-top:22px;padding:14px 14px 12px;border:var(--gc-bw) solid var(--gc-line);border-radius:calc(var(--gc-r-chip) + 2px);background:var(--gc-sun);color:var(--gc-ink)}
.gc-tool .gc-info p{margin:0;font-size:13.5px;line-height:1.5}
.gc-tool .gc-info .gc-info-title{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14.5px;margin-bottom:4px}
.gc-ws-side>.gc-info:first-child{margin-top:0}

/* Profile preview extras */
.gc-pin{position:absolute;left:6px;bottom:6px;background:#FE2C55;color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:4px;line-height:1.3}
.gc-reel{position:absolute;top:7px;right:7px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.gc-tt-head{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 16px 16px;text-align:center}
.gc-tt-head>b{font-size:15px}
.gc-tt-head .gc-p-stats{width:100%;max-width:260px}
.gc-tt-btn{margin-top:4px;padding:6px 18px;border-radius:6px;background:var(--gc-ph);font-size:13px;font-weight:700}

/* ---------- Blur face tool ---------- */
.gc-blur .gc-bstage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px 20px 84px}
.gc-blur .gc-bwrap{position:relative;max-width:100%;max-height:100%;line-height:0;box-shadow:0 0 0 2px var(--gc-sun)}
.gc-blur canvas.gc-bview{display:block;max-width:100%;touch-action:none}
.gc-blur .gc-faces{position:absolute;inset:0;pointer-events:none}
.gc-face{position:absolute;pointer-events:auto;border:2px dashed var(--gc-sun);border-radius:40%;background:transparent;padding:0;cursor:pointer}
.gc-face.gc-off{border-style:solid;border-color:rgba(255,255,255,.85);background:rgba(255,62,138,.12)}
.gc-face span{position:absolute;left:50%;top:100%;transform:translate(-50%,6px);background:var(--gc-ink);color:#fff;font-size:11px;font-weight:700;line-height:1.4;padding:2px 7px;border-radius:999px;white-space:nowrap}
.gc-blur.gc-painting .gc-face{pointer-events:none;opacity:.35}
.gc-blur.gc-painting canvas.gc-bview{cursor:crosshair}
.gc-brush-ring{position:absolute;pointer-events:none;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.5);transform:translate(-50%,-50%);display:none}
.gc-tb-btn[aria-pressed="true"]{background:var(--gc-accent);color:#fff}
.gc-tb-label{font-size:13px;font-weight:700;padding:0 6px 0 2px}
.gc-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border:var(--gc-bw) solid var(--gc-line);border-radius:calc(var(--gc-r-chip) + 2px);background:var(--gc-surface-2);font-size:14px;line-height:1.4}
.gc-status b{display:block;font-size:15px}
.gc-status .gc-dot{width:12px;height:12px;border-radius:50%;background:var(--gc-lime);border:2px solid var(--gc-ink);flex:none}
.gc-status.gc-wait .gc-dot{background:var(--gc-sun);animation:gcPulse 1s ease-in-out infinite}
@keyframes gcPulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.gc-status.gc-wait .gc-dot{animation:none}}
.gc-range{display:flex;align-items:center;gap:10px}
.gc-range input{flex:1;accent-color:var(--gc-accent);margin:0}
.gc-range output{min-width:34px;text-align:right;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.gc-row-btns{display:flex;gap:8px;flex-wrap:wrap}
.gc-row-btns .gc-btn{min-height:40px;padding:0 14px;font-size:14px}
.gc-ba{display:grid;gap:14px;margin-top:40px}
