/* Tolvix visual system — UI refinement guided by unslop by Damir Sokolovsky (CC BY 4.0): https://github.com/heydamir/unslop */
:root{
  color-scheme:dark;
  --bg:#08090b;
  --surface:#14161a;
  --surface-raised:#1d2025;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --text:#f5f7fa;
  --muted:#c0c6d0;
  --quiet:#929ba8;
  --accent:#79a7ff;
  --accent-hover:#a3c1ff;
  --positive:#4cc38a;
  --negative:#f07878;
  --radius-control:10px;
  --radius-card:14px;
  --radius-panel:18px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:linear-gradient(145deg,#070809 0%,#101216 48%,#08090b 100%);color:var(--text);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(121,167,255,.32);outline-offset:3px}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
header{position:relative;z-index:2;border-bottom:1px solid var(--line);background:rgba(9,10,12,.94);backdrop-filter:blur(12px)}
nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:18px;font-weight:600;line-height:1}
.brand:hover{color:var(--text)}
.brand img{display:block;width:34px;height:34px;object-fit:contain}
.brand span{letter-spacing:-.02em}
.links{display:flex;align-items:center;gap:24px}
.links a{color:var(--muted);font-size:14px}
.links a:hover{color:var(--text)}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:64px;padding:72px 0 56px;text-align:left}
.hero-copy{min-width:0}
.hero-kicker,.pill{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--accent);font-size:14px;font-weight:500;line-height:1.4}
.hero-kicker:before{content:"";width:18px;height:2px;background:var(--accent)}
h1{font-size:clamp(2.5rem,5.2vw,4.25rem);line-height:1.06;letter-spacing:-.035em;font-weight:500;margin:0 0 20px}
h1 span{color:var(--accent)}
.lead{color:var(--muted);max-width:570px;margin:0 0 24px;font-size:18px;line-height:1.6}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px}
.hero-actions .primary-action,.hero-actions .secondary-action{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:10px;font-size:14px;font-weight:500}
.primary-action{background:var(--accent);color:#080b12;border:1px solid var(--accent)}
.primary-action:hover{background:var(--accent-hover);color:#080b12}
.secondary-action{background:linear-gradient(160deg,#1b1e23,#121417);color:var(--text);border:1px solid var(--line-strong)}
.secondary-action:hover{background:#242830;color:var(--text)}
.searchbox{position:relative;width:min(540px,100%);margin:0}
.searchbox .search{display:block;width:100%;min-height:48px;padding:12px 16px 12px 44px;border:1px solid var(--line-strong);border-radius:10px;background:#0c0e11;color:var(--text);font:inherit;box-shadow:inset 0 1px 3px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.035)}
.searchbox .search::placeholder{color:var(--quiet)}
.searchbox .search:focus-visible{outline:3px solid rgba(121,167,255,.24);outline-offset:2px;border-color:var(--accent)}
.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;color:var(--muted);pointer-events:none}
.hero-visual{min-width:0}
.tool-preview{background:linear-gradient(155deg,#1a1d22 0%,#111316 72%);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 48px rgba(0,0,0,.38)}
.preview-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.preview-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
.preview-mark{width:9px;height:9px;border-radius:2px;background:var(--accent)}
.preview-count{color:var(--quiet);font-size:12px;font-variant-numeric:tabular-nums}
.tool-preview h2{margin:20px 0 4px;font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.02em}
.preview-description{margin:0 0 16px;color:var(--muted);font-size:14px}
.preview-list{display:grid;gap:8px}
.preview-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#1b1e23,#131518);color:var(--text);transition:background .16s var(--ease),border-color .16s var(--ease)}
.preview-link:hover{background:#242830;border-color:var(--line-strong);color:var(--text)}
.preview-link strong{display:block;font-size:14px;font-weight:500}
.preview-link small{display:block;color:var(--quiet);font-size:12px}
.preview-arrow{color:var(--accent);font-size:18px}
.preview-foot{margin:16px 0 0;color:var(--quiet);font-size:12px;line-height:1.5}
.tools-section{padding-top:32px}
.tools-section>h2{text-align:left;margin:0 0 4px;font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.search-status{min-height:1.5em;margin:8px 0 0;color:var(--muted);font-size:13px}
.tool-category{margin-top:32px}
.category-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.category-heading h3{position:relative;margin:0;font-size:18px;font-weight:500;line-height:1.4}
.category-heading h3:before{content:"";display:inline-block;width:3px;height:16px;margin:0 10px 0 0;border-radius:2px;background:var(--accent);vertical-align:-2px}
.category-heading p{margin:0;color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:12px 0 28px}
.grid>.card,.card,.panel,.content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}
.grid>.card{display:flex;flex-direction:column;min-height:188px;height:100%;padding:20px}
.card h3{margin:0 0 8px;font-size:16px;line-height:1.4;font-weight:500}
.card p,.muted,.small{color:var(--muted)}
.grid>.card p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
.grid>.card .btn{align-self:flex-start;margin-top:auto}
.btn{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer}
.btn:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}
button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:#080b12;font:inherit;font-size:14px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}
button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button:active{transform:scale(.98)}
.secondary{background:var(--surface-raised);border-color:var(--line-strong);color:var(--text)}
.secondary:hover{background:#303640;border-color:var(--line-strong);color:var(--text)}
.toolhead{padding:56px 0 24px;text-align:left}
.toolhead .pill{margin-bottom:12px}
.toolhead h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 12px}
.toolhead .lead{max-width:760px;margin:0 0 14px;font-size:16px}
.toolhead>p:last-child{margin:12px 0 0;font-size:14px}
.panel{max-width:880px;margin:0 auto 40px;padding:24px;border-radius:var(--radius-panel)}
.field{margin:16px 0}
.field:first-child{margin-top:0}
.field label{display:block;margin-bottom:7px;color:var(--text);font-size:14px;font-weight:500}
.field input,.field textarea,.field select{display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:#0c0e11;color:var(--text);font:inherit}
.field textarea{min-height:160px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--quiet)}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}
.result{min-height:50px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#1b1e23;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.content{width:min(880px,calc(100% - 40px));max-width:880px;margin:24px auto 40px;padding:28px 32px;line-height:1.75}
.content h2{margin:26px 0 10px;font-size:21px;line-height:1.35;font-weight:500;letter-spacing:-.015em}
.content h2:first-child{margin-top:0}
.content h3{margin:20px 0 6px;font-size:16px;font-weight:500}
.content p,.content li{color:var(--muted)}
.content p{margin:10px 0}
.content ul,.content ol{padding-left:22px}
.content li{margin:6px 0}
.content strong{color:var(--text);font-weight:500}
.related-tools{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.related-tools h2{margin-top:0}
.footer{margin-top:48px;border-top:1px solid var(--line);padding:24px 0 calc(24px + env(safe-area-inset-bottom));color:var(--quiet);font-size:13px}
.footerinner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--text)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:32px;padding-top:56px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .wrap{width:min(100% - 32px,1180px)}
  nav{min-height:64px;gap:12px;padding:12px 0}
  .links{gap:14px;flex-wrap:wrap}
  .links a{font-size:13px}
  .hero{grid-template-columns:1fr;gap:28px;padding:44px 0 36px}
  h1{font-size:clamp(2.4rem,10vw,3.3rem)}
  .lead{font-size:16px}
  .tool-preview{padding:20px}
  .tools-section{padding-top:24px}
  .tools-section>h2{font-size:24px}
  .tool-category{margin-top:28px}
  .category-heading{display:block}
  .category-heading p{margin:4px 0 0 13px}
  .toolhead{padding:40px 0 20px}
  .toolhead h1{font-size:clamp(2rem,8vw,2.6rem)}
  .panel{padding:18px;margin-bottom:28px}
  .content{width:calc(100% - 32px);padding:22px 20px}
  .footerinner{align-items:flex-start}
}
@media(max-width:440px){
  .grid{grid-template-columns:1fr;gap:12px}
  .grid>.card{min-height:0;padding:18px}
  .links{column-gap:12px;row-gap:6px}
  .hero-actions{align-items:stretch}
  .hero-actions a{flex:1}
  .preview-link{padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* Homepage polish — premium directory and clearer browsing */
.hero{position:relative;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;inset:8% -8% 4% 18%;pointer-events:none;background:radial-gradient(ellipse at 72% 42%,rgba(76,126,222,.13),transparent 58%);filter:blur(18px)}
.hero-copy h1{max-width:690px}
.hero-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.primary-action,.secondary-action,.preview-link,.grid>.card{transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
.primary-action,.secondary-action{box-shadow:0 5px 18px rgba(0,0,0,.18)}
.primary-action:hover,.secondary-action:hover{transform:translateY(-2px)}
.tool-preview{position:relative;overflow:hidden}
.tool-preview:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);pointer-events:none}
.preview-count{padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035)}
.preview-link{min-height:66px}
.preview-link:hover{transform:translateX(3px)}
.trust-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-strip>div{display:flex;align-items:baseline;gap:8px;justify-content:center;flex-wrap:wrap}
.trust-strip strong{font-size:17px;font-weight:600;color:var(--text);letter-spacing:-.02em}
.trust-strip span{font-size:12px;color:var(--quiet)}
.category-nav{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding-top:26px}
.category-nav a{display:inline-flex;align-items:center;min-height:36px;padding:6px 13px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);font-size:13px;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
.category-nav a:hover{background:rgba(121,167,255,.1);border-color:rgba(121,167,255,.42);color:var(--text)}
.directory-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.search-hint{margin:8px 0 0;color:var(--quiet);font-size:13px}
.search-status{margin:8px 0 0}
.grid>.card{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.045),transparent 58%),var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.grid>.card:before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(121,167,255,.35),transparent);opacity:0;transition:opacity .2s var(--ease)}
.grid>.card:hover{transform:translateY(-4px);border-color:rgba(121,167,255,.38);background:linear-gradient(155deg,rgba(121,167,255,.07),transparent 62%),var(--surface);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.grid>.card:hover:before{opacity:1}
.grid>.card h3{letter-spacing:-.01em}
.grid>.card .btn{padding:5px 0}
.empty-search{margin:12px 0;padding:22px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);text-align:center;background:rgba(255,255,255,.02)}
.content a{text-decoration:underline;text-decoration-color:rgba(121,167,255,.4);text-underline-offset:3px}
@media(max-width:680px){
 .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px;padding:16px 0 20px}
 .trust-strip>div{justify-content:flex-start}
 .category-nav{justify-content:flex-start;gap:7px;padding-top:20px}
 .category-nav a{min-height:34px;padding:5px 11px}
 .directory-tools{display:block}
 .search-hint{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
 .hero:before{display:none}
 .primary-action:hover,.secondary-action:hover,.preview-link:hover,.grid>.card:hover{transform:none}
}

/* Shared finishing layer for consistent tool-page controls and content */
.panel{
  background:linear-gradient(155deg,rgba(255,255,255,.035),transparent 42%),var(--surface);
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}
.toolhead .pill{padding:6px 11px;border:1px solid rgba(121,167,255,.22);border-radius:999px;background:rgba(121,167,255,.075)}
.field input[type="file"]{min-height:48px;padding:8px;background:#0c0e11;color:var(--muted)}
.field input[type="file"]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer}
.field input[type="file"]::file-selector-button:hover{border-color:var(--accent);background:#252b35}
.field input:disabled,.field textarea:disabled,.field select:disabled,button:disabled{opacity:.58;cursor:not-allowed}
.result:empty{display:none}
pre{max-width:100%;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:10px;background:#0b0d10;color:#e5eaf2;line-height:1.55}
code{overflow-wrap:anywhere}
.related-tools{border-top-color:var(--line-strong)}
.related-tools a{display:inline-block;margin:4px 10px 4px 0}
@media(max-width:680px){
  .panel{padding:18px}
  .toolhead{padding-top:38px}
  .actions button,.actions .btn{min-height:42px}
}


/* Tolvix premium finish — restrained depth, clearer hierarchy, no tool logic changes */
:root{
  --surface-glass:rgba(17,19,23,.88);
  --accent-soft:rgba(121,167,255,.12);
}
body{background-color:var(--bg);background-image:radial-gradient(ellipse at 50% -22%,rgba(121,167,255,.095),transparent 42%),linear-gradient(145deg,#070809 0%,#101216 48%,#08090b 100%);background-attachment:fixed}
header{position:sticky;top:0;background:rgba(8,9,11,.86);box-shadow:0 8px 28px rgba(0,0,0,.2);border-bottom-color:rgba(255,255,255,.075)}
.brand{gap:11px;font-size:19px;letter-spacing:-.035em}
.brand img{width:36px;height:36px;filter:drop-shadow(0 3px 10px rgba(121,167,255,.16))}
.links a{position:relative;padding:9px 0;transition:color .18s var(--ease)}
.links a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--accent);transition:right .2s var(--ease)}
.links a:hover:after,.links a:focus-visible:after{right:0}
.hero{padding-top:82px;padding-bottom:66px}
.hero-copy h1{letter-spacing:-.052em}
.hero-copy h1 span{text-shadow:0 0 28px rgba(121,167,255,.16)}
.hero-kicker{padding:7px 11px;border:1px solid rgba(121,167,255,.2);border-radius:999px;background:rgba(121,167,255,.055)}
.hero-kicker:before{width:7px;height:7px;border-radius:50%;box-shadow:0 0 12px rgba(121,167,255,.6)}
.searchbox .search{min-height:52px;border-radius:12px;border-color:rgba(255,255,255,.13);background:rgba(8,10,13,.82);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.searchbox .search:focus-visible{box-shadow:0 0 0 4px rgba(121,167,255,.09),inset 0 1px 3px rgba(0,0,0,.55)}
.tool-preview{border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(34,39,48,.92),rgba(14,16,20,.97) 68%);box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.075)}
.preview-link{border-color:rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.preview-link:focus-visible,.grid>.card:focus-within{outline:2px solid rgba(121,167,255,.65);outline-offset:3px}
.trust-strip{border-color:rgba(255,255,255,.085);background:linear-gradient(90deg,transparent,rgba(255,255,255,.018),transparent)}
.trust-strip>div{min-height:42px}
.trust-strip strong{font-size:19px;letter-spacing:-.04em}
.category-nav a{background:rgba(255,255,255,.018);border-color:rgba(255,255,255,.105);padding-inline:15px}
.category-nav a:focus-visible{outline-offset:3px}
.tools-section>h2{font-size:clamp(25px,3vw,31px);letter-spacing:-.04em}
.tool-category{margin-top:38px}
.category-heading{gap:12px;margin-bottom:15px}
.category-heading h3{font-size:19px;letter-spacing:-.025em}
.category-heading h3:before{height:18px;margin-right:11px}
.grid{gap:17px}
.grid>.card{min-height:194px;padding:22px;border-color:rgba(255,255,255,.085);background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 58%),#121418;box-shadow:0 10px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)}
.grid>.card:after{content:"";position:absolute;top:0;right:0;width:76px;height:76px;background:radial-gradient(circle at top right,rgba(121,167,255,.09),transparent 72%);pointer-events:none;opacity:0;transition:opacity .2s var(--ease)}
.grid>.card:hover:after{opacity:1}
.grid>.card h3{font-size:16px;letter-spacing:-.025em}
.grid>.card p{line-height:1.65}
.grid>.card .btn{font-weight:600}
.content{border-color:rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 50%),rgba(17,19,23,.92);box-shadow:0 14px 38px rgba(0,0,0,.2)}
.panel{border-color:rgba(255,255,255,.12)}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{border-color:rgba(121,167,255,.72);box-shadow:0 0 0 4px rgba(121,167,255,.085)}
button,.primary-action{box-shadow:0 5px 18px rgba(55,103,190,.16)}
button:hover,.primary-action:hover{box-shadow:0 8px 24px rgba(55,103,190,.22)}
.result{border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 65%),#101216}
.footer{border-top-color:rgba(255,255,255,.09)}
@media(max-width:900px){.hero{padding-top:64px;padding-bottom:52px}}
@media(max-width:680px){
  header{backdrop-filter:blur(16px)}
  .hero{padding-top:48px;padding-bottom:38px}
  .hero-kicker{font-size:11px}
  .trust-strip strong{font-size:17px}
  .grid{gap:13px}
  .grid>.card{padding:19px}
  .tool-category{margin-top:31px}
}
@media(prefers-reduced-motion:reduce){
  .links a:after,.grid>.card:after{transition:none}
}


/* Signature detail pass — subtle editorial grid and sharper interaction states */
body{position:relative;isolation:isolate}
body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 76%)}
header{border-bottom-color:rgba(255,255,255,.09)}
header .wrap{position:relative}
header .wrap:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(121,167,255,.28),transparent);pointer-events:none}
.brand img{filter:drop-shadow(0 0 12px rgba(121,167,255,.2))}
.hero{min-height:510px}
.hero-copy h1{max-width:700px;font-size:clamp(2.75rem,5.6vw,4.65rem);line-height:1.015}
.hero-copy h1 span{background:linear-gradient(100deg,#8bb4ff,#d2e1ff 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-kicker{font-size:11px;font-weight:650;letter-spacing:.11em}
.hero-actions a{transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.hero-actions a:focus-visible{outline-offset:4px}
.searchbox .search{padding-right:48px}
.searchbox .search::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1) brightness(1.8)}
.preview-link{position:relative}
.preview-link strong{transition:color .18s var(--ease)}
.preview-link:hover strong{color:#fff}
.preview-arrow{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.09);border-radius:50%;background:rgba(255,255,255,.025);transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}
.preview-link:hover .preview-arrow{transform:translate(2px,-2px);border-color:rgba(121,167,255,.35);background:var(--accent-soft)}
.trust-strip>div{position:relative}
.trust-strip>div+div:before{content:"";position:absolute;left:-7px;top:20%;height:60%;width:1px;background:rgba(255,255,255,.075)}
.category-nav a{font-weight:550}
.category-nav a:active{transform:scale(.97)}
.tools-section{padding-top:56px}
.tools-section>h2{position:relative;display:inline-block;margin-bottom:8px}
.tools-section>h2:after{content:"";display:block;width:42%;height:2px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.category-heading{align-items:center}
.category-heading h3{font-weight:600}
.grid>.card{border-radius:16px}
.grid>.card .btn{display:inline-flex;align-items:center;gap:7px}
.grid>.card .btn:hover{gap:11px}
.grid>.card:focus-within{border-color:rgba(121,167,255,.5);box-shadow:0 0 0 1px rgba(121,167,255,.12),0 14px 34px rgba(0,0,0,.28)}
.footerinner{padding-top:4px}
@media(max-width:900px){.hero{min-height:0}}
@media(max-width:680px){
 body:before{background-size:36px 36px;opacity:.1}
 .hero-copy h1{font-size:clamp(2.55rem,10.5vw,3.6rem)}
 .tools-section{padding-top:38px}
 .trust-strip>div+div:before{display:none}
 .preview-arrow{width:27px;height:27px}
}
@media(prefers-reduced-motion:reduce){
 .preview-arrow,.preview-link strong,.hero-actions a{transition:none}
}


/* Ultra-premium tool directory cards — clear identity, consistent rhythm, accessible states */
.grid>.card{
  position:relative;
  isolation:isolate;
  min-height:218px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.095);
  border-radius:18px;
  background:
    radial-gradient(ellipse at 100% 0%,rgba(121,167,255,.085),transparent 43%),
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.012) 58%),
    #111317;
  box-shadow:0 12px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .24s var(--ease),border-color .24s var(--ease),box-shadow .24s var(--ease),background .24s var(--ease);
}
.grid>.card:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;left:22px;right:22px;
  height:1px;
  opacity:.7;
  background:linear-gradient(90deg,transparent,rgba(121,167,255,.55),transparent);
}
.grid>.card:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-34px;top:-42px;
  width:118px;height:118px;
  border:1px solid rgba(255,255,255,.035);
  border-radius:32px;
  transform:rotate(28deg);
  box-shadow:0 0 0 16px rgba(255,255,255,.012),0 0 0 32px rgba(255,255,255,.008);
  opacity:.7;
  pointer-events:none;
}
.grid>.card h3{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:42px;
  margin:0 0 13px;
  font-size:16px;
  line-height:1.35;
  font-weight:620;
  letter-spacing:-.025em;
}
.grid>.card h3:before{
  content:"✦";
  flex:0 0 40px;
  display:inline-grid;
  place-items:center;
  width:40px;height:40px;
  border:1px solid rgba(121,167,255,.22);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(121,167,255,.16),rgba(121,167,255,.045));
  color:#a9c6ff;
  font-size:17px;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 14px rgba(0,0,0,.15);
}
.grid>.card[data-search*="word"] h3:before,
.grid>.card[data-search*="text"] h3:before,
.grid>.card[data-search*="duplicate"] h3:before,
.grid>.card[data-search*="spaces"] h3:before,
.grid>.card[data-search*="slug"] h3:before,
.grid>.card[data-search*="reverse"] h3:before,
.grid>.card[data-search*="replace"] h3:before{content:"Aa"}
.grid>.card[data-search*="calculator"] h3:before,
.grid>.card[data-search*="percentage"] h3:before,
.grid>.card[data-search*="discount"] h3:before,
.grid>.card[data-search*="gst"] h3:before,
.grid>.card[data-search*="bmi"] h3:before,
.grid>.card[data-search*="emi"] h3:before{content:"∑"}
.grid>.card[data-search*="image"] h3:before,
.grid>.card[data-search*="jpg"] h3:before,
.grid>.card[data-search*="png"] h3:before{content:"▧"}
.grid>.card[data-search*="pdf"] h3:before{content:"▤"}
.grid>.card[data-search*="json"] h3:before,
.grid>.card[data-search*="html"] h3:before,
.grid>.card[data-search*="css"] h3:before,
.grid>.card[data-search*="javascript"] h3:before,
.grid>.card[data-search*="base64"] h3:before,
.grid>.card[data-search*="csv"] h3:before,
.grid>.card[data-search*="binary"] h3:before,
.grid>.card[data-search*="url encoder"] h3:before{content:"{ }";font-size:13px}
.grid>.card[data-search*="qr"] h3:before{content:"▦"}
.grid>.card p{
  max-width:34ch;
  min-height:44px;
  margin:0 0 20px;
  color:#aeb7c5;
  font-size:13.5px;
  line-height:1.62;
}
.grid>.card .btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  margin-top:auto;
  padding:0 2px;
  color:#9dbdff;
  font-size:13px;
  font-weight:650;
  letter-spacing:.005em;
  text-decoration:none;
  transition:gap .2s var(--ease),color .2s var(--ease);
}
.grid>.card .btn:hover{gap:13px;color:#d5e4ff;text-decoration:none}
.grid>.card:hover{
  transform:translateY(-5px);
  border-color:rgba(121,167,255,.34);
  background:
    radial-gradient(ellipse at 100% 0%,rgba(121,167,255,.14),transparent 46%),
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.016) 58%),
    #14171c;
  box-shadow:0 20px 42px rgba(0,0,0,.34),0 0 0 1px rgba(121,167,255,.055),inset 0 1px 0 rgba(255,255,255,.06);
}
.grid>.card:hover:before{opacity:1}
.grid>.card:focus-within{
  outline:2px solid rgba(121,167,255,.72);
  outline-offset:3px;
  border-color:rgba(121,167,255,.45);
}
.grid>.card:focus-within .btn{color:#d5e4ff}
.grid>.card[hidden]{display:none!important}
@media(min-width:1100px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
}
@media(max-width:680px){
  .grid{gap:12px}
  .grid>.card{min-height:198px;padding:18px;border-radius:15px}
  .grid>.card h3{gap:10px;font-size:15px}
  .grid>.card h3:before{flex-basis:36px;width:36px;height:36px;border-radius:10px}
  .grid>.card p{min-height:0;margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .grid>.card,.grid>.card .btn{transition:none}
  .grid>.card:hover{transform:none}
}


/* Product-grade tool workspace — shared treatment for every tool page */
.toolhead{
  position:relative;
  padding-top:62px;
  padding-bottom:30px;
}
.toolhead:after{
  content:"";
  display:block;
  width:min(100%,880px);
  height:1px;
  margin-top:26px;
  background:linear-gradient(90deg,rgba(121,167,255,.38),rgba(255,255,255,.08),transparent);
}
.toolhead .pill{
  padding:7px 12px;
  border:1px solid rgba(121,167,255,.22);
  border-radius:999px;
  background:rgba(121,167,255,.075);
  color:#a9c6ff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.toolhead h1{max-width:850px;letter-spacing:-.045em}
.toolhead .lead{color:#b9c2d0;line-height:1.72}
.panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.105);
  border-radius:20px;
  padding:clamp(20px,3vw,30px);
  background:
    radial-gradient(ellipse at 100% 0%,rgba(121,167,255,.075),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 55%),
    #111317;
  box-shadow:0 22px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.045);
}
.field{margin:20px 0}
.field label{margin-bottom:9px;font-size:13px;font-weight:650;letter-spacing:.01em}
.field input:not([type="checkbox"]):not([type="radio"]),
.field textarea,.field select{
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:#0a0c0f;
  color:#f5f7fa;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.24);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.field textarea{min-height:170px;line-height:1.65}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:rgba(121,167,255,.72);
  background:#0d1015;
  box-shadow:0 0 0 4px rgba(121,167,255,.09),inset 0 2px 5px rgba(0,0,0,.2);
  outline:none;
}
.field input[type="file"]{padding:9px;background:rgba(0,0,0,.22)}
.field input[type="file"]::file-selector-button{
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(121,167,255,.25);
  border-radius:8px;
  background:rgba(121,167,255,.1);
  color:#c8d9ff;
  font:600 12px/1.2 inherit;
}
.actions{gap:11px;margin:22px 0}
.actions button,.actions .btn{
  min-height:44px;
  padding:10px 16px;
  border-radius:10px;
  font-weight:650;
}
.actions .secondary{border-color:rgba(255,255,255,.14);background:#20242b;color:#e7ebf2}
.result{
  min-height:54px;
  padding:16px;
  border:1px solid rgba(121,167,255,.17);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(121,167,255,.055),transparent 65%),#0d1014;
  line-height:1.65;
}
.result:empty{display:none}
.panel .muted,.panel small{color:#9da8b8}
.panel hr{border:0;border-top:1px solid rgba(255,255,255,.09);margin:24px 0}
.related-tools{
  max-width:880px;
  margin:30px auto 48px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;
  background:rgba(255,255,255,.018);
}
.related-tools h2{margin:0 0 12px;font-size:15px;letter-spacing:-.01em}
.related-tools a{display:inline-flex;align-items:center;min-height:34px;margin:4px 7px 4px 0;padding:5px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.025);font-size:12px;text-decoration:none}
.related-tools a:hover{border-color:rgba(121,167,255,.35);background:rgba(121,167,255,.08)}
@media(max-width:680px){
 .toolhead{padding-top:42px;padding-bottom:20px}
 .toolhead:after{margin-top:20px}
 .panel{border-radius:16px;padding:18px}
 .field{margin:17px 0}
 .field textarea{min-height:145px}
 .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .actions button,.actions .btn{width:100%;padding-inline:10px}
 .related-tools{margin:24px auto 36px;padding:18px}
}
@media(prefers-reduced-motion:reduce){
 .field input,.field textarea,.field select{transition:none}
}


/* Tolvix card quality pass — clearer scanning, stronger affordance, quieter detail */
.tool-category{scroll-margin-top:100px}
.category-heading{position:relative;align-items:center;gap:13px;margin-bottom:17px}
.category-heading h3{display:flex;align-items:center;min-height:34px;font-size:20px;font-weight:650;letter-spacing:-.035em}
.category-heading h3:before{width:4px;height:22px;margin-right:12px;border-radius:99px;background:linear-gradient(180deg,#b9d0ff,#628fe9);box-shadow:0 0 16px rgba(121,167,255,.2)}
.category-heading p{font-size:13px;color:#9da8b8}
.grid{align-items:stretch;gap:18px}
.grid>.card{min-height:216px;padding:21px 21px 18px;border-color:rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 48%),radial-gradient(ellipse at 100% 0%,rgba(121,167,255,.07),transparent 48%),#111419;box-shadow:0 9px 26px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035)}
.grid>.card:before{left:18px;right:18px;height:2px;opacity:.45;background:linear-gradient(90deg,rgba(121,167,255,0),rgba(121,167,255,.7),rgba(121,167,255,0))}
.grid>.card h3{position:relative;z-index:1;min-height:44px;gap:12px;margin-bottom:13px;font-size:15.5px;line-height:1.38;font-weight:650;letter-spacing:-.02em}
.grid>.card h3:before{flex-basis:42px;width:42px;height:42px;border-radius:13px;border-color:rgba(153,185,255,.24);background:linear-gradient(145deg,rgba(121,167,255,.19),rgba(121,167,255,.055));color:#c0d5ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 7px 16px rgba(0,0,0,.18);font-size:16px}
.grid>.card p{position:relative;z-index:1;max-width:38ch;min-height:45px;margin-bottom:17px;color:#b2bdcc;font-size:13px;line-height:1.65}
.grid>.card .btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:7px 11px;border:1px solid rgba(121,167,255,.16);border-radius:9px;background:rgba(121,167,255,.055);color:#b6ceff;font-size:12px;font-weight:700;letter-spacing:.015em}
.grid>.card .btn:after{content:"↗";font-size:15px;line-height:1;transition:transform .2s var(--ease)}
.grid>.card .btn:hover{gap:9px;border-color:rgba(121,167,255,.36);background:rgba(121,167,255,.11);color:#e0eaff}
.grid>.card .btn:hover:after{transform:translate(2px,-2px)}
.grid>.card:hover{transform:translateY(-4px);border-color:rgba(142,178,255,.42);background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 48%),radial-gradient(ellipse at 100% 0%,rgba(121,167,255,.13),transparent 50%),#151922;box-shadow:0 18px 38px rgba(0,0,0,.3),0 0 0 1px rgba(121,167,255,.045),inset 0 1px 0 rgba(255,255,255,.06)}
.grid>.card:focus-within .btn{border-color:rgba(121,167,255,.45);background:rgba(121,167,255,.12)}
@media(min-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}}
@media(max-width:680px){.category-heading{align-items:flex-start;gap:8px}.category-heading h3{font-size:18px}.category-heading p{margin:3px 0 0 16px}.grid{gap:12px}.grid>.card{min-height:190px;padding:17px;border-radius:15px}.grid>.card h3{gap:10px;font-size:14px}.grid>.card h3:before{flex-basis:37px;width:37px;height:37px;border-radius:11px}.grid>.card p{min-height:0;margin-bottom:14px;font-size:12.5px}.grid>.card .btn{min-height:36px}}
@media(prefers-reduced-motion:reduce){.grid>.card .btn:after{transition:none}}


/* Accessibility and navigation finish — 7 November 2026 */
header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(8,9,11,.92);
  border-bottom-color:rgba(255,255,255,.1);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.skip-link{
  position:fixed;
  z-index:1000;
  top:10px;
  left:10px;
  transform:translateY(-160%);
  padding:11px 15px;
  border:1px solid rgba(121,167,255,.55);
  border-radius:9px;
  background:#111722;
  color:#f5f7fa;
  font-size:14px;
  font-weight:650;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.skip-link:focus{
  transform:translateY(0);
  color:#fff;
  outline:3px solid rgba(121,167,255,.45);
  outline-offset:3px;
}
#main-content{scroll-margin-top:96px}
.homepage-faq{
  margin-top:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 60%),#111419;
}
.homepage-faq h2{margin-bottom:18px}
.homepage-faq details{
  border-top:1px solid rgba(255,255,255,.09);
  padding:15px 0;
}
.homepage-faq details:last-child{padding-bottom:2px}
.homepage-faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#f1f4f9;
  font-size:14px;
  font-weight:650;
  line-height:1.5;
  cursor:pointer;
  list-style:none;
}
.homepage-faq summary::-webkit-details-marker{display:none}
.homepage-faq summary:after{
  content:"+";
  flex:0 0 auto;
  color:#9dbdff;
  font-size:20px;
  font-weight:400;
}
.homepage-faq details[open] summary:after{content:"−"}
.homepage-faq details p{
  max-width:72ch;
  margin:11px 0 2px;
  color:#aeb8c7;
  font-size:13.5px;
  line-height:1.7;
}
@media(max-width:680px){
  header{backdrop-filter:blur(14px)}
  #main-content{scroll-margin-top:112px}
  .homepage-faq{margin-top:20px}
  .homepage-faq summary{font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){
  .skip-link{transition:none}
}


/* Personal workspace and theme controls — November 2026 */
.theme-toggle,.quiet-button{min-height:36px;padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#171a20;color:#dbe4f4;font:600 12px/1.2 inherit;cursor:pointer}
.theme-toggle:hover,.quiet-button:hover{border-color:rgba(121,167,255,.5);color:#fff}
.personal-tools{margin:0 auto 24px;padding:18px 20px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 65%),#101216}
.personal-tools[hidden]{display:none}
.personal-tools-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.personal-tools-head h2{margin:0;font-size:16px;letter-spacing:-.02em}
.personal-note{color:var(--quiet);font-size:12px}
.personal-tool-list{display:flex;flex-wrap:wrap;gap:8px}
.personal-tool-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.025);font-size:12px}
.favorite-toggle{position:absolute;top:12px;right:13px;z-index:3;width:32px;height:32px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#191d24;color:#aebbd0;font-size:18px;line-height:1;cursor:pointer}
.favorite-toggle.is-favorite{color:#ffd77a;border-color:rgba(255,215,122,.3);background:rgba(255,215,122,.08)}
.grid>.card{position:relative;padding-right:58px}
.grid>.card .btn{margin-right:-37px;width:calc(100% + 37px)}
#grid .card[hidden],.tool-category[hidden]{display:none!important}
@media(max-width:680px){.theme-toggle{margin-left:auto}.personal-tools{padding:15px}.personal-tools-head h2{font-size:15px}.favorite-toggle{top:9px;right:9px}.grid>.card{padding-right:48px}.grid>.card .btn{margin-right:-31px;width:calc(100% + 31px)}}
@media(prefers-reduced-motion:reduce){.personal-tool-link,.favorite-toggle{transition:none}}
:root[data-theme="light"]{color-scheme:light;--bg:#f4f6fa;--surface:#fff;--surface-raised:#edf1f7;--line:rgba(20,30,50,.12);--line-strong:rgba(20,30,50,.2);--text:#172033;--muted:#48566b;--quiet:#657187}
:root[data-theme="light"] body{background:#f4f6fa;color:#172033}
:root[data-theme="light"] header{background:rgba(248,250,253,.94);border-color:rgba(20,30,50,.12)}
:root[data-theme="light"] .links a,:root[data-theme="light"] .brand{color:#253149}
:root[data-theme="light"] .panel,:root[data-theme="light"] .personal-tools,:root[data-theme="light"] .grid>.card{background:#fff;border-color:rgba(20,30,50,.13);box-shadow:0 8px 24px rgba(30,45,70,.07)}
:root[data-theme="light"] .grid>.card p,:root[data-theme="light"] .lead,:root[data-theme="light"] .category-heading p{color:#526078}
:root[data-theme="light"] .favorite-toggle,:root[data-theme="light"] .theme-toggle,:root[data-theme="light"] .quiet-button{background:#f0f3f8;color:#243149;border-color:rgba(20,30,50,.15)}
:root[data-theme="light"] .content{color:#253149}
:root[data-theme="light"] .content h2,:root[data-theme="light"] .content h3{color:#172033}
:root[data-theme="light"] .homepage-faq{background:#fff;border-color:rgba(20,30,50,.12)}
:root[data-theme="light"] .homepage-faq summary{color:#172033}
:root[data-theme="light"] .homepage-faq details p{color:#526078}

.file-drop-zone{display:block;border:1px dashed rgba(121,167,255,.48);border-radius:12px;padding:18px;background:rgba(121,167,255,.045);cursor:pointer}.file-drop-zone:focus-visible,.file-drop-zone.is-dragover{outline:3px solid rgba(121,167,255,.28);outline-offset:3px;border-color:var(--accent);background:rgba(121,167,255,.1)}.file-drop-zone input[type=file]{display:block;width:100%;margin-top:9px}.tool-progress{height:5px;margin:12px 0 4px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.tool-progress[hidden]{display:none}.tool-progress span{display:block;width:35%;height:100%;background:var(--accent);border-radius:99px;animation:tolvix-progress 1.2s ease-in-out infinite alternate}@keyframes tolvix-progress{from{transform:translateX(-25%)}to{transform:translateX(210%)}}.tool-output-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.breadcrumbs{font-size:13px;color:var(--quiet);margin:0 0 16px}.breadcrumbs ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumbs li+li:before{content:'/';margin-right:8px;color:var(--quiet)}.breadcrumbs a{color:var(--muted)}.diff-added{background:rgba(76,195,138,.12);color:#8ce0b6}.diff-removed{background:rgba(240,120,120,.12);color:#ffaaaa}.diff-line{display:block;padding:2px 8px;white-space:pre-wrap;overflow-wrap:anywhere}.csv-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}.csv-table{border-collapse:collapse;min-width:100%;font-size:13px}.csv-table th,.csv-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:pre-wrap}.csv-table th{background:var(--surface-raised)}.markdown-preview{min-height:180px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow-wrap:anywhere}.markdown-preview pre{overflow:auto;padding:12px;border-radius:8px;background:#090b0f}@media(prefers-reduced-motion:reduce){.tool-progress span{animation:none;width:100%}}

/* Shared accessibility affordances */
.skip-link{position:absolute;left:12px;top:-60px;z-index:9999;padding:10px 14px;border-radius:8px;background:var(--accent);color:#08101e;font-weight:700}.skip-link:focus{top:12px}.new-drop{display:block;padding:16px;border:1px dashed rgba(121,167,255,.5);border-radius:12px;background:rgba(121,167,255,.05);cursor:pointer}.new-drop input{display:block;margin:10px 0;width:100%}.new-drop:focus-within,.new-drop.is-dragover{outline:3px solid rgba(121,167,255,.25);outline-offset:3px;border-color:var(--accent)}


/* Mobile layout safeguards and accessible compact navigation */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%}
pre,code,.table-wrap,.csv-table-wrap{max-width:100%;overflow-x:auto}
input,textarea,select,button{max-width:100%}
.wrap,.content,.panel,.toolhead,.card,.tool-category,.grid{min-width:0}
p,li,h1,h2,h3,a,small,strong{overflow-wrap:anywhere}
@media(max-width:720px){
 .wrap{width:min(100% - 28px,1180px)}
 header{position:relative}
 header nav{min-height:64px;gap:12px;flex-wrap:wrap;padding-block:10px}
 .brand{flex:1 1 auto}
 .links{gap:10px 16px;flex-wrap:wrap;justify-content:flex-start;width:100%;padding:8px 0 4px}
 .links a{font-size:13px}
 .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:42px 0 32px}
 .hero-visual{min-width:0}
 .tool-preview{padding:18px}
 .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
 .footerinner{gap:12px;flex-wrap:wrap}
 .content{padding-inline:14px}
}
@media(max-width:420px){
 h1{font-size:clamp(2rem,10vw,2.7rem)}
 .hero-actions>*{width:100%}
 .tool-preview{padding:15px}
 .panel{padding:14px}
}

.mobile-menu-toggle{display:none;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}
@media(max-width:720px){
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
 header nav:has(.mobile-menu-toggle) .links{display:none}
 header nav:has(.mobile-menu-toggle) .links.is-open{display:flex}
}


/* Complete light-theme surfaces: keep controls and generated content readable. */
:root[data-theme="light"] body{background:#f4f6fa!important;color:var(--text)}
:root[data-theme="light"] .hero-kicker,
:root[data-theme="light"] .category-nav a,
:root[data-theme="light"] .preview-count,
:root[data-theme="light"] .personal-tool-link,
:root[data-theme="light"] .related-tools a{background:#fff;color:#344158;border-color:rgba(20,30,50,.14)}
:root[data-theme="light"] .tool-preview,
:root[data-theme="light"] .preview-link,
:root[data-theme="light"] .secondary-action,
:root[data-theme="light"] .personal-tools{background:#fff;color:#253149;border-color:rgba(20,30,50,.14);box-shadow:0 8px 24px rgba(30,45,70,.07)}
:root[data-theme="light"] .preview-description,
:root[data-theme="light"] .preview-link small,
:root[data-theme="light"] .personal-note,
:root[data-theme="light"] .category-heading p,
:root[data-theme="light"] .toolhead .lead,
:root[data-theme="light"] .panel .muted,
:root[data-theme="light"] .panel small{color:#526078}
:root[data-theme="light"] .searchbox .search,
:root[data-theme="light"] .field input,
:root[data-theme="light"] .field textarea,
:root[data-theme="light"] .field select,
:root[data-theme="light"] .field input[type="file"]{background:#fff!important;color:#172033!important;border-color:rgba(20,30,50,.2)}
:root[data-theme="light"] .field input::placeholder,
:root[data-theme="light"] .field textarea::placeholder,
:root[data-theme="light"] .searchbox .search::placeholder{color:#69778c}
:root[data-theme="light"] .result,
:root[data-theme="light"] pre,
:root[data-theme="light"] .markdown-preview pre{background:#eef2f8!important;color:#172033!important;border-color:rgba(20,30,50,.14)}
:root[data-theme="light"] .actions .secondary,
:root[data-theme="light"] .secondary,
:root[data-theme="light"] .theme-toggle,
:root[data-theme="light"] .quiet-button,
:root[data-theme="light"] .favorite-toggle{background:#edf1f7!important;color:#243149!important;border-color:rgba(20,30,50,.17)}
:root[data-theme="light"] .field input[type="file"]::file-selector-button{background:#edf1f7;color:#243149;border-color:rgba(20,30,50,.18)}
:root[data-theme="light"] .file-drop-zone,
:root[data-theme="light"] .new-drop{background:#edf4ff;color:#253149;border-color:rgba(45,100,190,.35)}
:root[data-theme="light"] .tool-progress{background:#dfe6f0}
:root[data-theme="light"] .toolhead .pill{background:#eaf1ff;color:#31558d;border-color:rgba(45,100,190,.2)}
:root[data-theme="light"] .content,
:root[data-theme="light"] .content p,
:root[data-theme="light"] .content li{color:#344158}
:root[data-theme="light"] .preview-link:hover strong{color:#172033}
:root[data-theme="light"] .grid>.card h3{color:#172033}
:root[data-theme="light"] .grid>.card .btn{background:#edf4ff;color:#31558d;border-color:rgba(45,100,190,.2)}
:root[data-theme="light"] .grid>.card:hover{background:#f8faff;border-color:rgba(45,100,190,.3)}
:root[data-theme="light"] .csv-table th{background:#edf1f7;color:#172033}
:root[data-theme="light"] .csv-table td{color:#253149}
:root[data-theme="light"] .diff-added{color:#17633e}
:root[data-theme="light"] .diff-removed{color:#9b3030}


/* Homepage long-form content cards must also switch to the light palette. */
:root[data-theme="light"] main>.content,
:root[data-theme="light"] main>.content#guides{
  background:#fff!important;
  color:#253149!important;
  border:1px solid rgba(20,30,50,.12)!important;
  box-shadow:0 8px 24px rgba(30,45,70,.07)!important;
}
:root[data-theme="light"] main>.content h2,
:root[data-theme="light"] main>.content h3,
:root[data-theme="light"] main>.content strong{color:#172033!important}
:root[data-theme="light"] main>.content p,
:root[data-theme="light"] main>.content li{color:#526078!important}
:root[data-theme="light"] main>.content a{color:#315fba!important}
