/* ==========================================================================
   ToolsCrow · Image Tools — shared design system (hard-coded dark, mobile-first)
   One stylesheet for every image tool. No light mode, no theme toggle.
   Prefix: it-   ·   Icons: Font Awesome 6 (fa-solid / fa-regular / fa-brands)
   ========================================================================== */
* {box-sizing:border-box;margin:0;padding:0}
:root{
  --it-bg:#090c12;
  --it-s1:#0f131b;
  --it-s2:#151a25;
  --it-s3:#1c2332;
  --it-ln:#232b3c;
  --it-ln2:#313b53;
  --it-tx:#e8ecf4;
  --it-tx2:#98a3b9;
  --it-tx3:#7d89a1;          /* 5:1 on --it-bg, so small helper text stays readable */
  --it-ac:#ffa629;           /* darkroom safelight */
  --it-ac2:#ff7a18;
  --it-ac-ink:#1b1000;
  --it-ac-soft:rgba(255,166,41,.12);
  --it-ok:#34d399;
  --it-er:#fb7185;
  --it-info:#60a5fa;
  --it-r1:10px; --it-r2:14px; --it-r3:20px;
  --it-ease:cubic-bezier(.2,.7,.2,1);
  --it-site-header-height:65px;
  --it-sticky-top:var(--it-site-header-height);
  color-scheme:dark;
}

/* Hard dark: the tool paints its own full-bleed dark band, whatever the surrounding site theme is */

.it,.it *,.it *::before,.it *::after{box-sizing:border-box}
.it{
  max-width:1320px;margin:0 auto;padding:14px 12px 56px;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;line-height:1.55;color:var(--it-tx);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;
  position:relative;box-shadow:0 0 0 100vmax var(--it-bg);clip-path:inset(0 -100vmax);
  background:radial-gradient(60% 100% at 50% 0,rgba(255,166,41,.06),transparent 70%) top center/100% 380px no-repeat,var(--it-bg);
  scrollbar-width:thin;scrollbar-color:var(--it-ln2) transparent;
}
.it *{scrollbar-width:thin;scrollbar-color:var(--it-ln2) transparent}
.it [hidden]{display:none!important}
.it h1,.it h2,.it h3,.it h4{margin:0;letter-spacing:-.015em;line-height:1.2;color:var(--it-tx)}
.it p{margin:0}
.it a{color:var(--it-ac);text-decoration:none}
.it a:hover{text-decoration:underline}
.it button,.it input,.it select,.it textarea{font:inherit;color:inherit}
.it button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.it :focus-visible{outline:2px solid var(--it-ac);outline-offset:2px;border-radius:6px}
.it i.fa-solid,.it i.fa-regular,.it i.fa-brands{line-height:1}

/* Keep the site header and dynamic breadcrumb together above tool content. */
.header#site-header{position:sticky;top:0;z-index:1000}
.breadcrumb{
  position:relative;top:auto;z-index:auto;
  min-height:var(--it-breadcrumb-height);margin:0;padding:7px max(12px,calc((100vw - 1320px)/2));
  background:var(--it-bg);border-bottom:1px solid var(--it-ln);color:var(--it-tx2);
  box-shadow:0 8px 18px -18px #000;
}
.breadcrumb ol{align-items:center;min-height:22px}
.breadcrumb li{color:var(--it-tx2)}
.breadcrumb li+li::before{color:var(--it-ln2)}
.breadcrumb a{color:var(--it-ac);font-weight:600}
.breadcrumb a:hover{color:var(--it-tx);background:var(--it-ac-soft)}
.breadcrumb .active{color:var(--it-tx);font-weight:700}

/* Reviews are rendered by the site footer; keep them legible on the tool canvas. */
.journey-content .tcr-wrap{
  --tcr-accent:#ffa629;--tcr-accent-dark:#ffc16b;--tcr-star:#ffd166;
  --tcr-bg:#0f131b;--tcr-card:#151a25;--tcr-border:#39445a;
  --tcr-text:#e8ecf4;--tcr-text-soft:#bdc6d6;
  --tcr-danger:#fb7185;--tcr-danger-bg:#3a1720;--tcr-danger-fg:#ffd6de;
  --tcr-success-bg:#12352c;--tcr-success-fg:#9af0c8;
  --tcr-shadow:0 1px 3px rgba(0,0,0,.24);--tcr-shadow-hover:0 8px 24px rgba(0,0,0,.32);
  margin:28px auto 40px;border:1px solid var(--it-ln2);border-top:3px solid var(--it-ac);border-radius:var(--it-r2);
  background:var(--it-s1);color:var(--tcr-text);
}
.journey-content .tcr-wrap .tcr-btn-primary{color:var(--it-ac-ink)}
.journey-content .tcr-wrap .tcr-avatar{color:var(--it-ac-ink)}
.journey-content .tcr-wrap .tcr-rate label{color:#71809a}
.journey-content .tcr-wrap .tcr-rate label:hover,
.journey-content .tcr-wrap .tcr-rate label:hover~label,
.journey-content .tcr-wrap .tcr-rate input:checked~label,
.journey-content .tcr-wrap .tcr-rate input:focus-visible~label{color:var(--tcr-star)}

@media (max-width:900px){
  :root{--it-site-header-height:61px}
  .breadcrumb{padding-right:16px;padding-left:16px}
}
@media (max-width:480px){
  :root{--it-site-header-height:57px}
  .breadcrumb{padding-right:12px;padding-left:12px}
}

/* ---------- Hero ---------- */
.it-hero{padding:10px 2px 16px}
.it-hero h1{font-size:clamp(1.55rem,5.4vw,2.35rem);font-weight:800;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.it-hero h1 i{
  width:2.1rem;height:2.1rem;flex:none;display:grid;place-items:center;font-size:1rem;border-radius:10px;
  color:var(--it-ac-ink);background:linear-gradient(135deg,var(--it-ac),var(--it-ac2));
  box-shadow:0 6px 18px -6px rgba(255,138,31,.55);
}
.it-hero p{margin-top:.55rem;color:var(--it-tx2);max-width:62ch;font-size:clamp(.95rem,2.6vw,1.05rem)}
.it-trust{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:.8rem;color:var(--it-tx3);font-size:.8rem}
.it-trust span{display:inline-flex;gap:.4rem;align-items:center}
.it-trust i{color:var(--it-ok)}

/* ---------- Drop zone ---------- */
.it-drop{
  position:relative;display:grid;justify-items:center;gap:.85rem;text-align:center;
  padding:clamp(28px,8vw,64px) 18px;margin:6px 0 22px;cursor:pointer;
  border:1.5px dashed var(--it-ln2);border-radius:var(--it-r3);
  background:
    radial-gradient(120% 90% at 50% 0%,rgba(255,166,41,.07),transparent 60%),
    var(--it-s1);
  transition:border-color .2s,background-color .2s,transform .2s var(--it-ease);
}
.it-drop:hover,.it-drop:focus-visible,.it-drop.is-over{border-color:var(--it-ac);transform:translateY(-1px)}
.it-drop.is-over{background:radial-gradient(120% 90% at 50% 0%,rgba(255,166,41,.16),transparent 65%),var(--it-s1)}
.it-drop-ico{
  width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;
  color:var(--it-ac);background:var(--it-ac-soft);border:1px solid rgba(255,166,41,.25);
  transition:transform .25s var(--it-ease);
}
.it-drop:hover .it-drop-ico,.it-drop.is-over .it-drop-ico{transform:translateY(-3px) scale(1.05)}
.it-drop h2{font-size:clamp(1.15rem,4vw,1.5rem);font-weight:700}
.it-drop p{color:var(--it-tx2);max-width:46ch;font-size:.95rem}
.it-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.it-chip{
  display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;
  font-size:.74rem;font-weight:600;color:var(--it-tx2);background:var(--it-s2);border:1px solid var(--it-ln);
}
.it-drop .it-hint{font-size:.78rem;color:var(--it-tx3)}

/* ---------- Buttons ---------- */
.it-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.55rem 1.05rem;
  border-radius:var(--it-r1);border:1px solid var(--it-ln2);background:var(--it-s2);color:var(--it-tx);
  font-weight:600;font-size:.92rem;line-height:1.1;white-space:nowrap;text-decoration:none;
  transition:background-color .15s,border-color .15s,transform .12s var(--it-ease),opacity .15s;
}
.it-btn:hover{background:var(--it-s3);border-color:var(--it-tx3);text-decoration:none}
.it-btn:active{transform:scale(.97)}
.it-btn[disabled],.it-btn.is-off{opacity:.45;pointer-events:none}
.it-btn--primary{
  color:var(--it-ac-ink);border-color:transparent;
  background:linear-gradient(135deg,var(--it-ac),var(--it-ac2));
  box-shadow:0 6px 20px -8px rgba(255,138,31,.7);
}
.it-btn--primary:hover{background:linear-gradient(135deg,#ffb54a,#ff8a30);border-color:transparent;transform:translateY(-1px)}
.it-btn--primary:active{transform:scale(.97)}
/* buttons inside panels may wrap their label instead of being clipped on very narrow phones */
.it-body .it-btn,.it-note .it-btn{white-space:normal;line-height:1.2;text-align:center;min-width:0}
.it-btn--ghost{background:transparent}
.it-btn--danger{color:var(--it-er);border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.08)}
.it-btn--sm{min-height:36px;padding:.35rem .75rem;font-size:.82rem;border-radius:8px}
.it-btn--block{width:100%}
.it-btn--icon{width:44px;padding:0}
.it-btn--sm.it-btn--icon{width:36px}
.it-btn.is-on{border-color:var(--it-ac);color:var(--it-ac)}

/* ---------- App shell (after upload) ---------- */
.it-app{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "side" "bar"}
.it-stage{
  grid-area:stage;min-width:0;background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r2);overflow:hidden;
  position:sticky;top:var(--it-sticky-top);z-index:20;box-shadow:0 14px 30px -18px #000;
}
/* set by it-core.js when the stage is too tall to pin without hiding the controls below it */
.it-stage.is-tall{position:static}
.it-stage-head{display:flex;align-items:center;gap:.5rem;padding:8px 10px;border-bottom:1px solid var(--it-ln);min-height:48px}
.it-stage-head .it-name{
  flex:1;min-width:0;font-size:.82rem;font-weight:600;color:var(--it-tx2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.it-stage-head .it-name small{display:block;font-weight:500;color:var(--it-tx3);font-variant-numeric:tabular-nums}
.it-view{
  position:relative;display:grid;place-items:center;padding:6px;
  background:
    conic-gradient(#12161f 25%,#0d1118 0 50%,#12161f 0 75%,#0d1118 0) 0 0/20px 20px;
}
.it-view canvas,.it-view img.it-img{
  display:block;max-width:100%;width:auto;height:auto;max-height:30vh;max-height:30dvh;
  border-radius:4px;box-shadow:0 8px 30px -10px #000;touch-action:none;
}
.it-view.it-fill canvas{max-height:none}
.it-busy{
  position:absolute;inset:0;display:none;place-items:center;background:rgba(9,12,18,.55);backdrop-filter:blur(2px);z-index:2;
}
.it-busy.is-on{display:grid}
.it-spin{
  width:30px;height:30px;border-radius:50%;border:3px solid var(--it-ln2);border-top-color:var(--it-ac);animation:it-spin .7s linear infinite;margin:0 auto;
}
@keyframes it-spin{to{transform:rotate(360deg)}}
.it-busy small{display:block;margin-top:.5rem;color:var(--it-tx2);text-align:center;font-size:.8rem}
.it-progress{height:4px;background:var(--it-ln);overflow:hidden;border-radius:4px}
.it-progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--it-ac),var(--it-ac2));transition:width .15s linear}

/* ---------- Side panels ---------- */
.it-side{grid-area:side;min-width:0;display:grid;gap:10px;align-content:start}
.it-panel{background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r2);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.it-panel>summary{
  list-style:none;display:flex;align-items:center;gap:.6rem;padding:13px 14px;cursor:pointer;
  font-weight:700;font-size:.9rem;user-select:none;min-height:48px;
}
.it-panel>summary::-webkit-details-marker{display:none}
.it-panel>summary>i:first-child{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:8px;font-size:.8rem;color:var(--it-ac);background:var(--it-ac-soft)}
.it-panel>summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:auto;font-size:.7rem;color:var(--it-tx3);
  transition:transform .2s var(--it-ease);
}
.it-panel[open]>summary::after{transform:rotate(180deg)}
.it-panel[open]>summary{border-bottom:1px solid var(--it-ln)}
.it-body{padding:14px;display:grid;gap:14px}
.it-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.it-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Form controls ---------- */
.it-field{display:grid;gap:6px;min-width:0}
.it-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--it-tx2)}
.it-label i{margin-right:.4rem;color:var(--it-tx3)}
.it-val{
  font-variant-numeric:tabular-nums;font-weight:700;font-size:.78rem;color:var(--it-ac);
  background:var(--it-ac-soft);padding:1px 8px;border-radius:6px;min-width:3.2ch;text-align:center;
}
.it-help{font-size:.74rem;color:var(--it-tx3);line-height:1.4}

.it input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:28px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y;
  --p:50%;
}
.it input[type=range]::-webkit-slider-runnable-track{
  height:6px;border-radius:6px;background:linear-gradient(90deg,var(--it-ac) var(--p),var(--it-ln2) var(--p));
}
.it input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:var(--it-ln2)}
.it input[type=range]::-moz-range-progress{height:6px;border-radius:6px;background:var(--it-ac)}
.it input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;margin-top:-8px;background:#fff;
  border:3px solid var(--it-ac);box-shadow:0 2px 8px rgba(0,0,0,.6);transition:transform .12s;
}
.it input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--it-ac)}
.it input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.it input[type=range]:disabled{opacity:.4;cursor:not-allowed}

.it-in,.it-sel,.it textarea.it-in{
  width:100%;min-height:42px;padding:.5rem .7rem;border-radius:var(--it-r1);
  background:var(--it-bg);border:1px solid var(--it-ln2);color:var(--it-tx);font-size:.9rem;
  transition:border-color .15s,box-shadow .15s;
}
.it textarea.it-in{min-height:84px;resize:vertical}
.it-in:focus,.it-sel:focus{outline:none;border-color:var(--it-ac);box-shadow:0 0 0 3px var(--it-ac-soft)}
.it-sel{
  -webkit-appearance:none;appearance:none;padding-right:2rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2398a3b9' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .75rem center;
}
.it-sel option{background:var(--it-s2);color:var(--it-tx)}
.it-color{display:flex;align-items:center;gap:.5rem}
.it-color input[type=color]{
  -webkit-appearance:none;appearance:none;width:42px;height:42px;flex:none;padding:3px;cursor:pointer;
  background:var(--it-bg);border:1px solid var(--it-ln2);border-radius:var(--it-r1);
}
.it-color input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.it-color input[type=color]::-webkit-color-swatch{border:0;border-radius:6px}
.it-color input[type=color]::-moz-color-swatch{border:0;border-radius:6px}
.it-color code{font-size:.8rem;color:var(--it-tx2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* switch: <label class="it-switch"><input type="checkbox"><span>Label</span></label> */
.it-switch{display:flex;align-items:center;gap:.65rem;min-height:36px;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--it-tx2)}
.it-switch input{position:absolute;opacity:0;pointer-events:none}
.it-switch::before{
  content:"";flex:none;width:40px;height:24px;border-radius:99px;background:var(--it-ln2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:background-color .18s;
}
.it-switch::after{
  content:"";position:absolute;margin-left:3px;width:18px;height:18px;border-radius:50%;background:#fff;
  transition:transform .2s var(--it-ease);box-shadow:0 1px 4px rgba(0,0,0,.5);
}
.it-switch{position:relative}
.it-switch:has(input:checked)::before{background:var(--it-ac)}
.it-switch:has(input:checked)::after{transform:translateX(16px)}
.it-switch:has(input:checked){color:var(--it-tx)}
.it-switch:has(input:focus-visible)::before{outline:2px solid var(--it-ac);outline-offset:2px}

/* segmented control + option tiles (JS toggles .is-on) */
.it-seg{display:flex;gap:3px;padding:3px;background:var(--it-bg);border:1px solid var(--it-ln);border-radius:12px;overflow-x:auto;scrollbar-width:none}
.it-seg::-webkit-scrollbar{display:none}
.it-seg>button{
  flex:1 0 auto;min-height:36px;padding:.3rem .8rem;border:0;border-radius:9px;background:transparent;
  color:var(--it-tx2);font-weight:600;font-size:.82rem;white-space:nowrap;transition:background-color .15s,color .15s;
}
.it-seg>button:hover{color:var(--it-tx)}
.it-seg>button.is-on{background:var(--it-s3);color:var(--it-ac);box-shadow:0 0 0 1px var(--it-ln2)}
.it-tiles{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.it-tiles>button{
  display:grid;justify-items:center;align-content:center;gap:.35rem;padding:.7rem .4rem;border-radius:12px;min-height:60px;
  background:var(--it-bg);border:1px solid var(--it-ln);color:var(--it-tx2);font-weight:600;font-size:.78rem;line-height:1.2;text-align:center;
  transition:border-color .15s,background-color .15s,color .15s,transform .12s var(--it-ease);
}
.it-tiles>button i{font-size:1.15rem;color:var(--it-tx3);transition:color .15s}
.it-tiles>button small{font-weight:500;color:var(--it-tx3);font-size:.7rem}
.it-tiles>button:hover{border-color:var(--it-ln2);color:var(--it-tx)}
.it-tiles>button:active{transform:scale(.97)}
.it-tiles>button.is-on{border-color:var(--it-ac);background:var(--it-ac-soft);color:var(--it-tx)}
.it-tiles>button.is-on i{color:var(--it-ac)}
.it-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.it-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.it-swatches{display:flex;flex-wrap:wrap;gap:8px}
.it-swatches>button{
  width:36px;height:36px;border-radius:50%;border:2px solid var(--it-ln2);padding:0;
  transition:transform .12s var(--it-ease),border-color .15s;
}
.it-swatches>button:hover{transform:scale(1.1)}
.it-swatches>button.is-on{border-color:var(--it-ac);box-shadow:0 0 0 3px var(--it-ac-soft)}

/* very narrow phones (320px): tighter panels so two-up rows never clip */
@media (max-width:360px){
  .it{padding-left:10px;padding-right:10px}
  .it-body{padding:12px}
  .it-row{gap:8px}
  .it-row .it-btn{padding-left:.5rem;padding-right:.5rem;font-size:.84rem;gap:.35rem}
  .it-body .it-btn--sm{padding-left:.4rem;padding-right:.4rem;font-size:.8rem;gap:.3rem}
  .it-tiles>button{padding-left:.25rem;padding-right:.25rem}
}
/* ---------- Compact stage header on small phones: icon-only, names stay for screen readers ---------- */
@media (max-width:420px){
  .it-stage-head{gap:.35rem;padding:6px 8px}
  .it-stage-head .it-btn>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .it-stage-head .it-btn{min-width:40px;min-height:40px;padding:0 .6rem}
}
/* ---------- Stats / notes ---------- */
.it-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr));gap:8px}
.it-stat{min-width:0}
.it-stat{padding:.6rem .75rem;background:var(--it-bg);border:1px solid var(--it-ln);border-radius:var(--it-r1)}
.it-stat b{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it-stat span{font-size:.72rem;color:var(--it-tx3)}
.it-note{display:flex;gap:.65rem;padding:.7rem .8rem;border-radius:var(--it-r1);background:var(--it-s2);border:1px solid var(--it-ln);font-size:.8rem;color:var(--it-tx2)}
.it-note>i{color:var(--it-info);margin-top:.2rem}
.it-note--ok>i{color:var(--it-ok)}
.it-note--warn>i{color:var(--it-ac)}

/* ---------- Action bar: sits in normal flow after the tools (not sticky) ---------- */
.it-bar{grid-area:bar;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.it-bar .it-btn--primary{flex:1 1 180px}
.it-bar .it-btn[disabled]{opacity:.45;cursor:not-allowed}

/* ---------- Preview-before-download dialog ---------- */
.it-modal{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--it-tx);position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:12px;background:rgba(3,5,9,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:it-fade .18s ease}
.it-modal button{font-family:inherit}
.it-modal-box{width:min(100%,780px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:var(--it-s1);border:1px solid var(--it-ln2);border-radius:var(--it-r2);box-shadow:0 30px 80px -20px #000;overflow:hidden}
.it-modal-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--it-ln)}
.it-modal-head h2{flex:1;margin:0;font-size:1.02rem}
.it-modal-view{flex:1;min-height:140px;overflow:auto;display:grid;place-items:center;padding:12px;background:conic-gradient(#12161f 25%,#0d1118 0 50%,#12161f 0 75%,#0d1118 0) 0 0/20px 20px}
.it-modal-view img{display:block;max-width:100%;max-height:min(58dvh,640px);width:auto;height:auto;object-fit:contain;border-radius:6px}
.it-modal-meta{padding:10px 16px;font-size:.8rem;color:var(--it-tx2);font-variant-numeric:tabular-nums;border-top:1px solid var(--it-ln);display:flex;flex-wrap:wrap;gap:4px 14px}
.it-modal-meta b{color:var(--it-tx)}
.it-modal-act{display:flex;gap:8px;padding:12px;border-top:1px solid var(--it-ln);padding-bottom:max(12px,env(safe-area-inset-bottom))}
.it-modal-act .it-btn--primary{flex:1}
@keyframes it-fade{from{opacity:0}to{opacity:1}}

/* ---------- Toasts ---------- */
.it-toasts{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:9999;display:grid;gap:8px;justify-items:center;pointer-events:none}
.it-toast{
  display:flex;gap:.55rem;align-items:center;max-width:min(92vw,420px);padding:.55rem .85rem;border-radius:12px;
  background:var(--it-s3);border:1px solid var(--it-ln2);color:var(--it-tx);font-size:.82rem;font-weight:600;line-height:1.35;
  box-shadow:0 14px 30px -10px #000;animation:it-toast-in .25s var(--it-ease);pointer-events:none;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.it-toast.ok i{color:var(--it-ok)} .it-toast.er i{color:var(--it-er)} .it-toast.info i{color:var(--it-info)}
.it-toast.out{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
@keyframes it-toast-in{from{opacity:0;transform:translateY(10px) scale(.97)}}

/* ---------- Content sections ---------- */
.it-sec{margin-top:clamp(28px,6vw,52px)}
.it-sec>h2{font-size:clamp(1.25rem,3.6vw,1.7rem);font-weight:800;margin-bottom:.9rem}
.it-prose{max-width:78ch;color:var(--it-tx2);display:grid;gap:.85rem;font-size:.97rem}
.it-prose strong{color:var(--it-tx)}
.it-cards{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.it-card{display:grid;gap:.4rem;align-content:start;padding:1rem;background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r2)}
.it-card>i{font-size:1.2rem;color:var(--it-ac);margin-bottom:.15rem}
.it-card h3{font-size:.98rem}
.it-card p{font-size:.86rem;color:var(--it-tx2)}
.it-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.it-steps li{
  counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:.2rem .85rem;align-items:start;padding:1rem;
  background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r2);
}
.it-steps li::before{
  content:counter(s);grid-row:span 2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:.9rem;color:var(--it-ac-ink);background:linear-gradient(135deg,var(--it-ac),var(--it-ac2));
}
.it-steps h3{font-size:.98rem}
.it-steps p{font-size:.86rem;color:var(--it-tx2)}
.it-faq{display:grid;gap:8px;max-width:860px}
.it-faq details{background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r1);overflow:hidden}
.it-faq summary{
  list-style:none;display:flex;gap:.8rem;justify-content:space-between;align-items:center;padding:.95rem 1rem;
  font-weight:700;font-size:.95rem;cursor:pointer;min-height:48px;
}
.it-faq summary::-webkit-details-marker{display:none}
.it-faq summary::after{content:"\2b";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.75rem;color:var(--it-ac);flex:none;transition:transform .2s var(--it-ease)}
.it-faq details[open] summary::after{transform:rotate(45deg)}
.it-faq details>div{padding:0 1rem 1rem;color:var(--it-tx2);font-size:.9rem}
.it-faq details>div p+p{margin-top:.6rem}
.it-faq strong{color:var(--it-tx)}
.it-related{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.it-related a{
  display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;align-items:center;padding:.8rem;color:var(--it-tx);
  background:var(--it-s1);border:1px solid var(--it-ln);border-radius:var(--it-r2);transition:border-color .15s,transform .15s var(--it-ease);
}
.it-related a:hover{border-color:var(--it-ac);text-decoration:none;transform:translateY(-2px)}
.it-related a>i{grid-row:span 2;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--it-ac);background:var(--it-ac-soft)}
.it-related b{font-size:.88rem;line-height:1.2}
.it-related span{font-size:.74rem;color:var(--it-tx3);line-height:1.3}
.it-foot{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--it-ln);font-size:.8rem;color:var(--it-tx3);max-width:78ch}

/* ---------- Tablet ---------- */
@media (min-width:640px){
  .it{padding:18px 18px 64px}
  .it-view canvas,.it-view img.it-img{max-height:46vh}
  .it-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .it-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .it-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .it-related{grid-template-columns:repeat(4,minmax(0,1fr))}
  .it-faq{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}

/* ---------- Desktop ---------- */
@media (min-width:1024px){
  .it{padding:26px 24px 80px}
  .it-app{
    gap:16px;grid-template-columns:minmax(0,1fr) 392px;grid-template-areas:"stage side" "stage bar";grid-template-rows:auto 1fr;align-items:start;
  }
  .it-stage{top:calc(var(--it-sticky-top) + 12px)}
  .it-view{padding:16px;min-height:380px}
  .it-view canvas,.it-view img.it-img{max-height:min(60vh,680px)}
  .it-toasts{left:auto;right:20px;bottom:20px;justify-items:end}
  .it-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .it-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .it-hero{padding-bottom:20px}
}
@media (min-width:1400px){ .it-app{grid-template-columns:minmax(0,1fr) 420px} }

@media (prefers-reduced-motion:reduce){
  .it *,.it *::before,.it *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
