/* Shared design system: logical properties, accessible states, responsive motion, and RTL-friendly layout. */
:root{color-scheme:light;--page:#f6f7fb;--surface:#fff;--surface-soft:#f0f3fa;--text:#182033;--muted:#667085;--border:#e1e5ee;--primary:#5b4bdb;--primary-hover:#4434bd;--primary-button-text:#fff;--primary-soft:#eeebff;--accent:#d9f7e8;--success:#138653;--danger:#bd3333;--radius:18px;--shadow:0 12px 32px rgba(28,35,72,.07);--shadow-hover:0 18px 44px rgba(28,35,72,.13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
:root[data-theme="dark"]{color-scheme:dark;--page:#11131b;--surface:#1a1d29;--surface-soft:#232638;--text:#f2f3fb;--muted:#a7aec3;--border:#34394d;--primary:#a99dff;--primary-hover:#c0b8ff;--primary-button-text:#17152a;--primary-soft:#302b50;--accent:#173d32;--success:#71e0ac;--danger:#ff9292;--shadow:0 12px 32px rgba(0,0,0,.18);--shadow-hover:0 18px 44px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--page);color:var(--text);line-height:1.65;transition:background-color .25s ease,color .25s ease}a{color:var(--primary);text-underline-offset:.18em}a:hover{color:var(--primary-hover)}button,input,textarea,select{font:inherit;max-width:100%}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f3b43f;outline-offset:3px}.container{width:min(100% - 2rem,1120px);margin-inline:auto}.skip-link{position:absolute;inset-inline-start:1rem;inset-block-start:-100px;z-index:50;padding:.75rem 1rem;background:var(--surface);color:var(--text);border-radius:8px}.skip-link:focus{inset-block-start:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;inset-block-start:0;z-index:20;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(16px);border-block-end:1px solid var(--border)}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);font-size:1.2rem;font-weight:850;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--primary);color:white;font-size:1.25rem}.main-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem}.main-nav a{padding:.48rem .68rem;color:var(--muted);text-decoration:none;font-size:.91rem;font-weight:650;border-radius:9px;transition:background .18s,color .18s}.main-nav a:hover{background:var(--primary-soft);color:var(--primary)}.theme-toggle{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.5rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-weight:700;font-size:.85rem;transition:transform .18s,border-color .18s}.theme-toggle:hover{transform:translateY(-2px);border-color:var(--primary)}
.hero{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;overflow:hidden;margin-block:1.5rem 3.7rem;padding:clamp(2rem,6vw,4.5rem);min-height:410px;border:1px solid color-mix(in srgb,var(--primary) 13%,var(--border));border-radius:30px;background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--primary-soft) 75%,transparent),transparent 50%),linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface-soft) 72%,var(--surface)));isolation:isolate}.hero-content{position:relative;z-index:2;max-width:610px;animation:fade-up .7s both}.eyebrow{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;color:var(--primary);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}.eyebrow-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 15%,transparent)}.hero h1{margin:.3rem 0 .85rem;font-size:clamp(3rem,7vw,5.4rem);font-weight:850;line-height:.99;letter-spacing:-.075em}.hero h1 span{color:var(--primary)}.hero-description{max-width:520px;margin:0;color:var(--muted);font-size:1.08rem}.hero-cta{display:inline-flex;align-items:center;gap:.85rem;margin-block:1.5rem 1.1rem;padding:.8rem 1.15rem;border-radius:12px;background:var(--primary);color:var(--primary-button-text);font-weight:750;text-decoration:none;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 25%,transparent);transition:transform .2s,box-shadow .2s}.hero-cta:hover{color:var(--primary-button-text);transform:translateY(-3px);box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 35%,transparent)}.hero-cta span{font-size:1.15rem}.hero-proof{display:flex;flex-wrap:wrap;gap:.9rem;color:var(--muted);font-size:.82rem;font-weight:650}.hero-proof span::first-letter{color:var(--success)}.hero-art{position:relative;display:grid;place-items:center;min-height:270px;animation:fade-in .9s .1s both}.hero-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-orb-one{width:260px;height:260px;inset-block-start:-120px;inset-inline-end:22%;background:color-mix(in srgb,var(--primary) 9%,transparent)}.hero-orb-two{width:180px;height:180px;inset-block-end:-95px;inset-inline-start:30%;background:color-mix(in srgb,#49c99a 12%,transparent)}.floating-tile{position:absolute;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border));border-radius:20px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.tile-main{display:flex;flex-direction:column;justify-content:center;gap:.6rem;width:220px;height:230px;padding:1.4rem;transform:rotate(5deg);animation:float 6s ease-in-out infinite}.tile-symbol{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:1.8rem}.tile-main strong{font-size:1.65rem;line-height:1.15;letter-spacing:-.05em}.tile-main small{color:var(--muted);font-size:.68rem;letter-spacing:.13em;font-weight:800}.tile-small{display:flex;align-items:center;gap:.45rem;padding:.65rem .85rem;font-size:1.1rem;font-weight:800;animation:float 5s ease-in-out infinite}.tile-small span{font-size:.8rem}.tile-one{inset-block-start:9%;inset-inline-end:1%;color:#149b69;animation-delay:-1s}.tile-two{inset-block-end:15%;inset-inline-start:0;color:var(--primary);animation-delay:-2.5s}.tile-three{inset-block-end:3%;inset-inline-end:7%;color:#cf8a18;animation-delay:-3.5s}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-block-end:1.2rem}.section-heading h2,.category-section h2,.home-note h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:-.05em}.section-heading>p{max-width:380px;margin:0;color:var(--muted);font-size:.95rem}.category-section,.all-tools-section{margin-block:3rem}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.category-card{display:flex;align-items:center;gap:.75rem;min-width:0;padding:1rem;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.category-card:hover{color:var(--text);transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:var(--shadow-hover)}.category-card-icon{display:grid;place-items:center;flex-shrink:0;width:2.65rem;height:2.65rem;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:1.5rem}.category-card>span:nth-child(2){display:grid;min-width:0;gap:.15rem}.category-card strong{overflow-wrap:anywhere}.category-card small{color:var(--muted)}.category-card>span:last-child{margin-inline-start:auto;color:var(--muted)}.count-pill{display:inline-grid;place-items:center;min-width:1.7rem;height:1.7rem;padding-inline:.4rem;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:.8rem;vertical-align:middle;letter-spacing:0}.search-box{display:flex;align-items:center;gap:.5rem;min-width:min(100%,280px);padding-inline:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted)}.search-box>span:first-child{font-size:1.45rem}.search-box input{width:100%;min-width:0;padding:.7rem 0;border:0;outline:0!important;background:transparent;color:var(--text)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.tool-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.tool-card-link,.related-card{display:flex;align-items:center;gap:1rem;min-width:0;padding:1.05rem;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:0 3px 12px rgba(20,25,50,.02);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;animation:fade-up .45s both}.tool-card-link:hover,.related-card:hover{color:var(--text);transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:var(--shadow-hover)}.card-icon{display:grid;place-items:center;flex-shrink:0;width:3rem;height:3rem;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:1.45rem}.card-copy{display:grid;gap:.2rem;min-width:0}.card-copy strong,.related-card strong{font-size:1rem;line-height:1.35}.card-copy>span,.related-card .card-copy>span{color:var(--muted);font-size:.87rem;line-height:1.5}.card-arrow{margin-inline-start:auto;color:var(--muted);transition:transform .2s,color .2s}.tool-card-link:hover .card-arrow,.related-card:hover .card-arrow{transform:translate(3px,-3px);color:var(--primary)}.empty-search{padding:2rem;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:14px}.home-note{display:flex;align-items:flex-start;gap:1rem;margin-block:3rem;padding:1.5rem;border:1px solid color-mix(in srgb,var(--success) 18%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--accent) 35%,var(--surface))}.note-icon{display:grid;place-items:center;flex-shrink:0;width:2.8rem;height:2.8rem;border-radius:12px;background:var(--accent);color:var(--success);font-size:1.4rem}.home-note p{max-width:750px;margin:.5rem 0 0;color:var(--muted)}
.tool-main{max-width:920px}.tool-page-heading{padding-block:2rem 1.25rem}.tool-page-heading h1,.category-hero h1{margin:.2rem 0 .5rem;font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.12;letter-spacing:-.06em;overflow-wrap:anywhere}.page-description{margin:.6rem 0 0;color:var(--muted);font-size:1.08rem}.breadcrumbs{padding-block-start:1.25rem;color:var(--muted);font-size:.88rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child)::after{content:"/";margin-inline-start:.4rem;color:var(--muted)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--primary)}.tool-card,.content-section,.faq-section,.related-section{padding:clamp(1.1rem,3vw,1.65rem);margin-block:1rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.tool-card{animation:fade-up .5s both}.tool-card h2,.content-section h2,.faq-section h2,.related-section h2{margin-block-start:0;letter-spacing:-.035em}.field{display:grid;gap:.4rem;margin-block:.9rem}label{font-weight:650}input[type=text],input[type=number],input[type=datetime-local],input[type=search],textarea,select{width:100%;padding:.75rem .85rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px}textarea{min-height:150px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:10px;padding:.7rem 1rem;background:var(--primary);color:var(--primary-button-text);font-weight:750;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}button:hover,.button:hover{background:var(--primary-hover);color:var(--primary-button-text);transform:translateY(-1px);box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 20%,transparent)}button:active,.button:active{transform:translateY(0) scale(.98)}button.secondary{color:var(--text);background:var(--surface-soft);border-color:var(--border);box-shadow:none}button.secondary:hover{border-color:var(--primary);color:var(--primary)}.actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-block:.9rem}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.result{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:1rem;overflow-wrap:anywhere}.result output,.result pre{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:.3rem 0 0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.stat{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:.8rem;transition:transform .18s}.stat:hover{transform:translateY(-2px)}.stat strong{display:block;font-size:1.4rem;line-height:1.3}.stat span,.muted{color:var(--muted)}.stat span{font-size:.9rem}.status{margin-block:.75rem;min-height:1.5em;color:var(--muted);font-size:.92rem}.status.error{color:var(--danger)}.status.success{color:var(--success)}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.related-card{align-items:flex-start}.related-card .card-copy strong{display:block;margin-block-end:.25rem}.related-card .card-copy>span{display:block}.faq-item+.faq-item{border-block-start:1px solid var(--border);padding-block-start:.8rem;margin-block-start:.8rem}.faq-item h3{font-size:1rem;margin-block-end:.25rem}.text-link{font-weight:750;text-decoration:none;white-space:nowrap}.category-main{max-width:1120px}.category-hero{padding-block:2.5rem 1.4rem}.category-section{margin-block:1.5rem 2rem}.category-section>h2{margin-block-end:1rem}.category-hero .page-description{max-width:650px}.category-main .all-tools-section{margin-block:1.5rem 3rem}
.toast-region{position:fixed;z-index:100;inset-block-end:1.25rem;inset-inline-end:1.25rem;display:grid;gap:.65rem;width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 15px 45px rgba(0,0,0,.17);pointer-events:auto;animation:toast-in .32s cubic-bezier(.2,.8,.2,1) both}.toast.toast-leaving{animation:toast-out .22s ease-in both}.toast-icon{display:grid;place-items:center;flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--accent);color:var(--success);font-weight:900}.toast[data-type="error"] .toast-icon{background:color-mix(in srgb,var(--danger) 13%,var(--surface));color:var(--danger)}.toast-message{flex:1;font-size:.9rem;font-weight:650}.toast-close{padding:.1rem .35rem;background:transparent;color:var(--muted);box-shadow:none}.toast-close:hover{background:var(--surface-soft);color:var(--text);box-shadow:none;transform:none}.copy-pop{animation:copy-pop .32s ease}.site-footer{margin-block-start:3rem;border-block-start:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.9rem}.site-footer p{margin-block:.4rem}.site-footer a{color:var(--muted)}
@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes toast-in{from{opacity:0;transform:translate(18px,10px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out{to{opacity:0;transform:translate(16px,8px) scale(.97)}}@keyframes copy-pop{50%{transform:scale(1.06)}}
@media(max-width:900px){.header-inner{flex-wrap:wrap}.main-nav{order:3;flex-basis:100%;justify-content:flex-start}.hero{grid-template-columns:1fr .7fr;padding:2.5rem;gap:1rem}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-main{width:190px;height:205px}.tile-small{font-size:.95rem}.tile-small span{font-size:.72rem}}
@media(max-width:640px){.container{width:min(100% - 1.25rem,1120px)}.header-inner,.footer-inner{align-items:flex-start}.header-inner{display:grid;grid-template-columns:1fr auto;gap:.6rem}.main-nav{grid-column:1/-1;order:initial;gap:.15rem}.main-nav a{padding:.4rem .5rem;font-size:.84rem}.theme-toggle{grid-column:2;grid-row:1}.hero{grid-template-columns:1fr;min-height:auto;padding:2rem 1.4rem;margin-block:1rem 2.5rem;border-radius:23px}.hero h1{font-size:clamp(3rem,15vw,4.4rem)}.hero-art{min-height:245px;margin-block-start:.2rem}.tile-main{width:185px;height:200px}.tile-one{inset-inline-end:4%}.tile-two{inset-inline-start:3%}.section-heading{align-items:flex-start;flex-direction:column}.search-box{width:100%}.category-grid{grid-template-columns:1fr 1fr;gap:.55rem}.category-card{gap:.5rem;padding:.75rem}.category-card-icon{width:2.2rem;height:2.2rem}.category-card strong{font-size:.9rem}.tool-list-grid,.related-grid,.tool-grid{grid-template-columns:1fr}.tool-card-link,.related-card{gap:.75rem;padding:.85rem}.card-icon{width:2.55rem;height:2.55rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-note{padding:1rem}.toast-region{inset-inline: .65rem;inset-block-end:.65rem;width:auto}.tool-page-heading{padding-block:1.5rem 1rem}.category-hero{padding-block:1.8rem 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Reusable form primitives: select/dropdown, dropzone, preview, range slider, results. */
.field select, .tool-card select, .tool-card input:not([type="checkbox"]):not([type="radio"]), .tool-card textarea { width:100%; min-width:0; border:1px solid var(--border, #d9deea); border-radius:12px; background:var(--surface, #fff); color:var(--text, #182033); padding:.78rem .9rem; font:inherit; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.tool-card select { appearance:none; padding-right:2.7rem; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23717b90' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .9rem center; }
.tool-card input:focus-visible,.tool-card textarea:focus-visible,.tool-card select:focus-visible { outline:none; border-color:var(--accent,#6558e8); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#6558e8) 18%,transparent); }
.tool-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.tool-form-grid .field { min-width:0; }
.tool-card .field label { display:block; font-weight:600; margin-bottom:.45rem; }
.result-panel { margin:1.1rem 0; padding:1.1rem 1.2rem; border:1px solid var(--border,#d9deea); border-radius:16px; background:var(--surface-muted,#f7f8fc); display:grid; gap:.45rem; }
.result-panel>span { font-size:.85rem; color:var(--muted,#697386); }
.result-panel output { font-size:clamp(1.35rem,3vw,2rem); font-weight:750; overflow-wrap:anywhere; }
.formula { margin:0; font-size:.88rem; color:var(--muted,#697386); line-height:1.55; }
.tool-card button { border:0; border-radius:10px; padding:.72rem 1rem; background:var(--accent,#6558e8); color:white; font:inherit; font-weight:650; cursor:pointer; transition:transform .16s ease,filter .16s ease,opacity .16s ease; }
.tool-card button:hover { filter:brightness(1.06); transform:translateY(-1px); }
.tool-card button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.tool-card button.secondary { background:var(--surface-muted,#eef0f6); color:var(--text,#182033); border:1px solid var(--border,#d9deea); }
.tool-card input[type="checkbox"],.tool-card input[type="radio"] { accent-color:var(--accent,#6558e8); width:1rem; height:1rem; vertical-align:middle; }
.tool-card input[type="range"] { appearance:none; width:100%; height:6px; border-radius:999px; background:var(--border,#d9deea); padding:0; cursor:pointer; }
.tool-card input[type="range"]::-webkit-slider-thumb { appearance:none; width:19px; height:19px; border-radius:50%; background:var(--accent,#6558e8); border:3px solid var(--surface,#fff); box-shadow:0 1px 5px #0002; }
.tool-card input[type="range"]::-moz-range-thumb { width:15px; height:15px; border-radius:50%; background:var(--accent,#6558e8); border:3px solid var(--surface,#fff); box-shadow:0 1px 5px #0002; }
.dropzone { display:grid; place-items:center; text-align:center; gap:.55rem; padding:2rem 1rem; border:1.5px dashed var(--border,#b8bfd0); border-radius:16px; background:var(--surface-muted,#f8f9fc); transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.dropzone:focus-within,.dropzone.is-dragover { border-color:var(--accent,#6558e8); background:color-mix(in srgb,var(--accent,#6558e8) 7%,var(--surface,#fff)); transform:scale(1.005); }
.dropzone input[type="file"] { max-width:100%; }
.preview-panel { overflow:hidden; border:1px solid var(--border,#d9deea); border-radius:14px; background:var(--surface-muted,#f7f8fc); min-height:150px; display:grid; place-items:center; }
.preview-panel img,.preview-panel canvas { display:block; max-width:100%; height:auto; object-fit:contain; }
.preview-placeholder { padding:2rem; text-align:center; color:var(--muted,#697386); }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:.8rem; margin:1rem 0; }
.stat { min-width:0; border:1px solid var(--border,#d9deea); background:var(--surface,#fff); border-radius:13px; padding:1rem; }
.stat strong { display:block; font-size:1.25rem; overflow-wrap:anywhere; }
.stat span { display:block; color:var(--muted,#697386); font-size:.85rem; margin-top:.25rem; }
.color-preview { border:1px solid var(--border,#d9deea); margin:.75rem 0; }
@media(max-width:640px){.tool-form-grid{grid-template-columns:1fr}.result-panel{padding:1rem}.tool-card button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.tool-card button,.dropzone,.tool-card input{transition:none!important}}
.pdf-file-list { display:grid; gap:.75rem; margin:1rem 0; }
.pdf-file-row { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:.9rem; border:1px solid var(--border,#d9deea); border-radius:14px; padding:.65rem; background:var(--surface,#fff); animation:tool-row-in .2s ease both; }
.pdf-thumb { min-height:100px; height:100px; }
.pdf-thumb canvas { max-height:96px; }
.pdf-file-info { min-width:0; display:grid; gap:.3rem; }
.pdf-file-info strong { overflow-wrap:anywhere; }
.pdf-file-info small { color:var(--muted,#697386); }
.pdf-row-actions { display:flex; gap:.35rem; }
.pdf-row-actions button { padding:.45rem .6rem; min-width:34px; }
.progress-track { width:100%; height:8px; background:var(--border,#d9deea); border-radius:999px; overflow:hidden; }
.progress-fill { height:100%; width:0; background:var(--accent,#6558e8); border-radius:inherit; transition:width .22s ease; }
.pdf-main-preview { margin:1rem 0; max-height:440px; padding:.75rem; }
.pdf-main-preview canvas { max-height:410px; }
@keyframes tool-row-in { from { opacity:0; transform:translateY(5px) } to { opacity:1; transform:translateY(0) } }
@media(max-width:540px) { .pdf-file-row { grid-template-columns:68px minmax(0,1fr); } .pdf-thumb { height:86px; min-height:86px; } .pdf-row-actions { grid-column:1/-1; justify-content:flex-end; } }

/* Polished PDF workspace: clear hierarchy, file selection, and page-range controls. */
.tool-card input[type="range"]{width:100%;height:8px;margin:.9rem 0 .35rem;padding:0;border:0;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 22%,var(--border)),var(--border));accent-color:var(--primary);cursor:pointer;box-shadow:none}
.tool-card input[type="range"]::-webkit-slider-thumb{width:22px;height:22px;border:4px solid var(--surface);background:var(--primary);box-shadow:0 2px 9px color-mix(in srgb,var(--primary) 35%,transparent)}
.tool-card input[type="range"]::-moz-range-thumb{width:16px;height:16px;border:4px solid var(--surface);background:var(--primary);box-shadow:0 2px 9px color-mix(in srgb,var(--primary) 35%,transparent)}
.tool-card input[type="range"]:disabled{opacity:.4;cursor:not-allowed}
.pdf-tool-card{display:grid;gap:1rem}
.pdf-tool-heading{display:flex;align-items:flex-start;gap:.9rem}
.pdf-tool-heading h2{margin:0 0 .25rem;letter-spacing:-.035em}
.pdf-tool-heading p{margin:0}
.pdf-tool-icon{display:grid;place-items:center;flex:0 0 3rem;height:3rem;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:1.5rem}
.pdf-dropzone{position:relative;overflow:hidden;gap:.65rem;min-height:220px;padding:2rem 1rem;border:2px dashed color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:22px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--primary-soft) 68%,transparent),transparent 75%),var(--surface);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.pdf-dropzone:hover,.pdf-dropzone:focus-visible,.pdf-dropzone.is-dragover{border-color:var(--primary);box-shadow:0 12px 32px color-mix(in srgb,var(--primary) 12%,transparent);transform:translateY(-2px)}
.pdf-dropzone strong{font-size:1.1rem;letter-spacing:-.02em}
.pdf-dropzone small{color:var(--muted);font-size:.78rem}
.pdf-drop-icon{display:grid;place-items:center;width:3.1rem;height:3.1rem;border-radius:17px;background:var(--primary);color:var(--primary-button-text);font-size:1.75rem;font-weight:800;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 24%,transparent);transition:transform .2s ease}
.pdf-dropzone:hover .pdf-drop-icon{transform:translateY(-3px)}
.pdf-dropzone input[type="file"]{width:min(100%,330px);padding:.55rem;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-size:.82rem;cursor:pointer}
.pdf-file-summary{padding:.75rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}
.pdf-main-preview{min-height:190px;margin:0;max-height:480px;padding:1rem;background:repeating-linear-gradient(135deg,var(--surface-soft),var(--surface-soft) 10px,var(--surface) 10px,var(--surface) 20px)}
.pdf-main-preview canvas{max-height:430px;filter:drop-shadow(0 5px 12px #0002)}
.pdf-range-card{display:grid;gap:1rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}
.pdf-range-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pdf-range-header .eyebrow{margin:0 0 .2rem;font-size:.68rem}
.pdf-range-header h3{margin:0;font-size:1.1rem;letter-spacing:-.025em}
.pdf-range-count{flex-shrink:0;padding:.5rem .75rem;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:.82rem;font-weight:750}
.pdf-range-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.pdf-range-values label{display:grid;gap:.15rem;color:var(--muted);font-size:.88rem;font-weight:650}
.pdf-range-values output{display:inline-block;color:var(--text);font-size:1.35rem;font-weight:800;line-height:1.2}
.pdf-range-help{margin:0;font-size:.82rem}
.pdf-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.pdf-actions button{min-height:46px;padding-inline:1.2rem}
@media(max-width:540px){.pdf-dropzone{min-height:190px;padding:1.3rem .8rem}.pdf-range-values{grid-template-columns:1fr;gap:.8rem}.pdf-range-header{align-items:flex-start;flex-direction:column}.pdf-range-count{align-self:flex-start}.pdf-actions button{flex:1}.pdf-tool-heading{gap:.7rem}}

/* Accessibility, consistent controls, and a calmer navigation system */
:root{--surface-muted:#f2f4f9;--accent:#5b4bdb;--accent-contrast:#fff}
:root[data-theme="dark"]{--surface-muted:#252a3a;--accent:#a99dff;--accent-contrast:#17152a}
.result-panel,.preview-panel,.dropzone{background:var(--surface-muted,var(--surface));color:var(--text)}
.result-panel>span,.result-panel .formula,.result-panel p,.result-panel small{color:var(--muted)}
.result-panel output{color:var(--text)}
.tool-card button{background:var(--primary);color:var(--primary-button-text)}
.tool-card button:hover{background:var(--primary-hover);color:var(--primary-button-text)}
.tool-card button.secondary{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}
.site-header{box-shadow:0 4px 20px rgba(20,25,50,.035)}
.header-inner{min-height:76px;gap:1.25rem}
.main-nav{gap:.3rem;flex-wrap:nowrap}
.main-nav a{padding:.58rem .8rem;border:1px solid transparent;border-radius:999px;font-size:.88rem;white-space:nowrap}
.main-nav a:hover,.main-nav a:focus-visible{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 20%,var(--border));color:var(--primary)}
.main-nav a:focus-visible,.theme-toggle:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:2px}
@media(max-width:900px){.main-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;padding-block:.2rem;max-width:100%}.header-inner{gap:.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Contrast and component fixes (including forced dark-mode surfaces). */
:root{--surface-muted:#f3f5fa;--accent:#5143c7;--accent-contrast:#fff}
:root[data-theme="dark"]{--surface-muted:#222637;--accent:#a99dff;--accent-contrast:#17152a}
.result-panel,.preview-panel,.dropzone{background:var(--surface-muted);color:var(--text)}
.result-panel>span,.formula,.result-panel .muted{color:var(--muted)}
.result-panel output,.result-panel strong,.result-panel p{color:var(--text)}
.tool-card button{background:var(--primary);color:var(--primary-button-text);border:1px solid color-mix(in srgb,var(--primary) 78%,var(--border));}
.tool-card button:hover{background:var(--primary-hover);color:var(--primary-button-text);filter:none}
.tool-card button.secondary{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}
.tool-card button.secondary:hover{background:var(--surface-muted);border-color:var(--primary);color:var(--text)}
.tool-card .result-panel a,.tool-card .result-panel button{color:var(--primary-button-text)}
.site-header{box-shadow:0 4px 22px rgba(20,25,50,.045)}
.header-inner{min-height:76px;gap:1.25rem}
.brand{gap:.7rem;font-size:1.24rem}
.brand-mark{width:2.25rem;height:2.25rem;border-radius:12px;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 22%,transparent)}
.main-nav{gap:.25rem;padding:.3rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.main-nav a{padding:.55rem .8rem;border-radius:10px;font-size:.88rem;white-space:nowrap}
.main-nav a:hover,.main-nav a:focus-visible{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px rgba(20,25,50,.06)}
.theme-toggle{padding:.62rem .85rem;border-radius:12px;background:var(--surface);}
@media(max-width:900px){.header-inner{flex-wrap:wrap}.main-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.main-nav a{flex:0 0 auto}}
@media(max-width:640px){.header-inner{display:flex;align-items:center;gap:.55rem;padding-block:.65rem}.brand{font-size:1.08rem}.brand-mark{width:2rem;height:2rem}.theme-toggle{margin-inline-start:auto;padding:.5rem .65rem}.theme-toggle span{display:none}.main-nav{order:3;width:calc(100% + 1.25rem);margin-inline:-.625rem;padding:.35rem .625rem;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}.main-nav a{font-size:.82rem;padding:.48rem .7rem}}

/* Extended-suite accessibility and visual consistency fixes. */
:root{--surface-muted:var(--surface-soft)}
:root[data-theme="dark"]{--surface-muted:#252a3b}
.result-panel,.result-panel output,.result-panel .formula,.result-panel>span{color:var(--text)}
.result-panel>span,.result-panel .formula{color:var(--muted)}
.tool-card button{background:var(--primary);color:var(--primary-button-text);border:1px solid color-mix(in srgb,var(--primary) 65%,var(--border));}
.tool-card button:hover{background:var(--primary-hover);color:var(--primary-button-text);filter:none}
.tool-card button.secondary{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}
.tool-card button.secondary:hover{background:var(--primary-soft);color:var(--text);border-color:var(--primary)}
.main-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;max-width:100%;padding:.15rem 0}
.main-nav a{white-space:nowrap;flex:0 0 auto}
.site-header .container{gap:1rem}
.result-panel{background:var(--surface-muted);color:var(--text);border-color:var(--border)}
.result-panel output{color:var(--text);font-variant-numeric:tabular-nums}
.tool-card .result{color:var(--text);background:var(--surface-soft)}
.tool-card .result .muted{color:var(--muted)}
@media(max-width:900px){.main-nav{flex-basis:100%;justify-content:flex-start;overflow-x:auto}}
.main-nav{overflow:visible;flex-wrap:nowrap;gap:.3rem}.main-nav>a,.nav-dropdown>summary{padding:.48rem .68rem;color:var(--muted);text-decoration:none;font-size:.91rem;font-weight:650;border-radius:9px;white-space:nowrap;cursor:pointer;list-style:none}.main-nav>a:hover,.nav-dropdown>summary:hover{background:var(--primary-soft);color:var(--primary)}.nav-dropdown{position:relative}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown-menu{position:absolute;z-index:30;top:calc(100% + .55rem);left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;width:min(440px,calc(100vw - 2rem));padding:.65rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 50px #0002}.nav-dropdown-menu a{padding:.55rem .65rem;border-radius:8px;color:var(--text);text-decoration:none;font-size:.9rem}.nav-dropdown-menu a:hover{background:var(--primary-soft);color:var(--primary)}
@media(max-width:900px){.main-nav{overflow:visible;flex-basis:100%;justify-content:flex-start}}
