:root{font-family:Arial,sans-serif;color:#253044;background:#f7f9fc;font-synthesis:none;--blue:#245cce;--line:#d9e0ea;--muted:#586579}*{box-sizing:border-box;letter-spacing:0}body{margin:0;font-size:16px;line-height:1.65;overflow-wrap:anywhere}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d07a25;outline-offset:4px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:32px;line-height:1.2;font-weight:600}h2{font-size:24px;line-height:1.3;font-weight:600}h3{font-size:20px;line-height:1.35;font-weight:600}button,input{font:inherit}button,.button{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:600;display:inline-block}button:hover,.button:hover{background:#1849af;text-decoration:none}input{min-width:0;background:#fff;border:1px solid #a9b6c8;border-radius:4px;padding:12px;color:inherit}.container{max-width:1208px;margin:auto;padding-inline:24px}.reading{max-width:968px;padding-inline:24px;margin:auto}.site-header{background:#ffffffed;border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:24px;font-weight:600;color:#1b2941;line-height:1.2}.brand img{max-width:180px;height:42px;object-fit:contain;object-position:left}.site-header nav{display:flex;gap:28px}.site-header nav a{font-size:16px;color:#37475d}.directory-hero{padding-top:64px;padding-bottom:28px}.directory-hero h1{margin-top:12px}.label{font-size:13px;font-weight:600;color:var(--muted);display:block;margin-bottom:12px}.intro{max-width:820px;color:#4a5a70;font-size:16px;line-height:1.8}.search{display:flex;gap:10px;max-width:700px;margin-block:24px 32px}.search input{flex:1}.section{padding-block:32px 48px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}.category-item{display:flex;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);color:inherit}.category-item>div{flex:1;min-width:0}.category-item h3{font-size:16px;margin:0 0 4px}.category-item p{font-size:13px;color:var(--muted);margin:0}.category-item:hover{color:var(--blue);text-decoration:none}.category-count{width:40px;flex:0 0 40px;align-self:flex-start;background:#e9eff8;border-radius:4px;line-height:40px;text-align:center;font-size:16px;font-weight:600;color:var(--blue)}.category-item:nth-child(3n) .category-count{background:#eaf1ee;color:#386354}.category-item:nth-child(3n + 2) .category-count{background:#f1edf4;color:#665475}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tool-card{border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;flex-direction:column;padding:24px;color:inherit;position:relative}.tool-card:hover{border-color:#6d8cbb;text-decoration:none}.tool-card p{color:var(--muted);font-size:16px}.card-arrow{margin-top:auto;color:var(--blue);align-self:flex-end}.empty{border-block:1px solid var(--line);padding:32px 0}.empty h2{font-size:20px}.empty p{color:var(--muted);margin:0}.tool-heading{padding-block:32px 12px}.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-bottom:24px}.tool-surface{padding-bottom:40px}.tool-frame{border:1px solid var(--line);border-radius:6px;width:100%;height:560px;background:#fff;display:block}.text-section{padding-block:40px;border-top:1px solid var(--line)}.prose,.text-section p{text-align:justify;hyphens:auto;white-space:normal}.prose{white-space:pre-line}.read-more{display:flex;flex-direction:column}.read-more summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:600;width:fit-content;list-style:none;order:2;margin-top:12px}.read-more[open]{display:flex}.read-more[open] summary{order:2}.read-more::details-content{display:contents}.read-more summary::-webkit-details-marker{display:none}.read-more .less{display:none}.read-more[open] .more{display:none}.read-more[open] .less{display:inline}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}.fact-list article{border-bottom:1px solid var(--line);padding-bottom:12px}.fact-list h3{font-size:20px}.faq details{border-bottom:1px solid var(--line);padding-block:18px}.faq summary{cursor:pointer;font-weight:600;font-size:16px}.faq details p{margin:16px 0 0}.subcategories{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px}.subcategories span{color:var(--muted);font-size:13px}.pagination{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.site-footer{border-top:1px solid var(--line);background:#eef2f7;padding-block:32px;font-size:13px}.site-footer strong{font-size:20px}.site-footer p{margin-top:8px}.preview-badge{font-size:13px;background:#fff1dc;border:1px solid #dca24b;width:fit-content;padding:4px 12px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-100px;left:12px;background:#fff;padding:12px;z-index:5}.skip:focus{top:12px}@media(max-width:700px){.container,.reading{padding-inline:20px}.header-inner{min-height:76px;gap:12px}.brand{font-size:20px}.brand img{max-width:145px}.site-header nav{gap:12px}.site-header nav a{font-size:13px}.directory-hero{padding-top:36px}.category-grid,.tool-grid,.fact-list{grid-template-columns:1fr}.category-item{padding-block:18px}.text-section p,.prose{text-align:left}.section{padding-block:28px}.text-section{padding-block:28px}.search{gap:8px}.search button{padding:10px 14px}.tool-card{padding:20px}.category-item h3{font-size:16px}h1{font-size:32px}.tool-frame{height:640px}.site-footer{margin-top:16px}}@media(max-width:360px){.container,.reading{padding-inline:16px}.header-inner{flex-wrap:wrap;padding-block:16px}.brand{font-size:20px}.site-header nav{gap:16px}.search button{padding-inline:10px}}
body{position:relative;isolation:isolate;min-height:100vh}
.directory-hero > .search { margin-bottom:20px; }
.header-inner>.brand { min-width:0; margin-right:auto; }
.brand:hover { text-decoration:none; }
.site-header nav { align-items:center; flex-wrap:wrap; }
.language-current,.language-picker { flex:none; font-size:13px; font-weight:600; color:#37475d; }
.language-current,.language-picker summary { min-width:48px; min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px; }
.language-current { border-left:1px solid var(--line); }
.language-picker { position:relative; z-index:6; }
.language-picker summary { cursor:pointer; list-style:none; border:1px solid var(--line); border-radius:4px; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary:after { content:""; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.language-picker[open] summary:after { transform:translateY(2px) rotate(225deg); }
.language-picker ul { position:absolute; right:0; top:100%; min-width:88px; margin:6px 0 0; padding:4px; list-style:none; background:#fff; border:1px solid var(--line); border-radius:4px; box-shadow:0 4px 12px #25304412; }
.language-picker a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:2px; }
.language-picker a:hover,.language-picker a[aria-current] { background:#eef3ff; }
@media(max-width:700px) {
    .directory-hero > .search { margin-bottom:0; }
    .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; min-height:60px; gap:8px; padding-block:8px; }
    .site-header nav { grid-row:1; grid-column:2; gap:0; flex-wrap:nowrap; }
    .site-header nav a { min-height:44px; display:flex; align-items:center; }
    .site-header nav .nav-home { display:none; }
    .language-current,.language-picker { grid-column:3; grid-row:1; }
    .language-current,.language-picker summary { min-width:40px; padding-inline:6px; }
    .brand img { max-width:100%; width:145px; height:auto; }
}
.page-smoke { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }
.information-page { padding-block:56px 72px; }
.information-heading { max-width:850px; margin-bottom:40px; }
.information-heading h1 { font-size:36px; line-height:1.2; }
.page-prose { max-width:850px; overflow-wrap:anywhere; }
.page-prose h2 { font-size:22px; margin:32px 0 12px; }
.page-prose p { line-height:1.8; }
.contact-identity { font-style:normal; padding-block:24px; line-height:1.8; }
.contact-form { max-width:850px; }
.contact-form + .page-prose { margin-top:40px; padding-top:8px; border-top:1px solid var(--line); }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.contact-grid label { display:grid; gap:8px; font-weight:600; font-size:14px; min-width:0; }
.contact-grid input,.contact-grid select,.contact-grid textarea { width:100%; min-width:0; min-height:46px; border:1px solid #8c99a9; background:#fff; color:#202b3d; border-radius:4px; padding:12px; font:inherit; font-weight:400; }
.contact-grid textarea { resize:vertical; line-height:1.6; }
.contact-grid .wide { grid-column:1/-1; }
.contact-privacy { font-size:14px; line-height:1.6; margin-block:24px; }
.contact-submit { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.contact-submit button { flex:none; min-height:46px; padding:12px 20px; color:#fff; background:#2459d6; border:0; border-radius:4px; font:inherit; cursor:pointer; }
.contact-submit button:disabled { opacity:.65; cursor:wait; }
.contact-submit p { flex:1 1 240px; margin:0; }
.contact-honeypot { display:none; }
.tool-feedback { padding-block:24px; font-size:14px; }
.tool-response { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:4px 12px; margin-top:16px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.tool-rating-action { display:contents; }
#tool-rating-label { grid-column:1; grid-row:1; }
.tool-rating-stars { display:flex; gap:0; grid-column:2; grid-row:1; }
.tool-rating-stars button { display:grid; place-items:center; flex:0 0 32px; width:32px; height:44px; padding:0; border:0; border-radius:4px; background:transparent; color:#88717f; font-size:20px; line-height:1; cursor:pointer; }
.tool-rating-stars button.is-selected { color:var(--accent,#a32258); }
.tool-rating-stars button:hover { background:var(--accent-soft,#f8eaf1); }
.tool-rating-stars button:disabled { cursor:wait; opacity:.6; }
.tool-rating-status:empty { display:none; }
.tool-rating-status { grid-column:1/-1; grid-row:2; }
.tool-feedback-link { min-height:44px; display:flex; align-items:center; grid-column:3; grid-row:1; justify-self:end; }
@media(max-width:600px) {
    .tool-response { grid-template-columns:minmax(0,1fr) auto; }
    #tool-rating-label { grid-column:1/-1; }
    .tool-rating-stars { grid-column:1; grid-row:2; }
    .tool-feedback-link { grid-column:2; grid-row:2; }
    .tool-rating-status { grid-row:3; }
}
@media(max-width:600px) { .contact-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .information-page { padding-block:32px 48px; } .information-heading h1 { font-size:30px; } }
.page-smoke:before,.page-smoke:after {
    content:""; position:absolute; left:-64px; width:calc(100% + 128px); height:980px;
    background:center/cover no-repeat; opacity:.36;
    animation:smoke-drift 26s ease-in-out -6s infinite alternate;
}
.page-smoke:before { top:-40px; background-image:url('/assets/utilitywizard-smoke-top.png'); }
.page-smoke:after { bottom:-40px; background-image:url('/assets/utilitywizard-smoke-bottom.png'); animation-duration:38s; animation-delay:-18s; animation-direction:alternate-reverse; }
@keyframes smoke-drift {
    from { transform:translate3d(-50px,-16px,0) scale(1.03); }
    to { transform:translate3d(50px,16px,0) scale(1.08); }
}
@media(prefers-reduced-motion:reduce) {
    .page-smoke:before,.page-smoke:after { animation:none; transform:none; }
}

/* Public tools are ordinary page content, with no fixed-height scrolling frame. */
.tool-inline { display:flow-root; min-width:0; padding:16px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.tool-inline .uw-tool { margin:0; }
.read-more .prose[hidden] { display:none; }
.read-more .prose { white-space:normal; }
.text-section > .container > .intro:has(+ .read-more > .prose:not([hidden])) { margin-bottom:0; }
.intro, .label, .prose, .text-section p, .tool-card p { color:#4a5a70; }
.text-section > .container > .intro { max-width:none; }
.read-more-toggle { align-self:flex-start; margin-top:12px; padding:0; border:0; border-radius:0; background:none; color:var(--blue); font-size:16px; font-weight:400; line-height:1.65; }
.read-more-toggle:hover { background:none; color:#1849af; text-decoration:underline; }
.fact-slides { display:grid; }
.fact-slide { grid-area:1 / 1; min-width:0; }
.fact-slide[hidden] { display:block; visibility:hidden; pointer-events:none; }
.fact-slide p { margin-bottom:0; }
.fact-dots { display:flex; justify-content:flex-end; margin-top:12px; }
.fact-dot { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; background:none; }
.fact-dot:before { content:""; width:8px; height:8px; border-radius:50%; background:#a9b6c8; }
.fact-dot[aria-pressed="true"]:before { background:var(--blue); }
.fact-dot:hover { background:none; }
.fact-dot:hover:before { background:#1849af; }
.uw-copy-buffer { position:fixed; top:0; left:0; width:1px; height:1px; min-width:0; min-height:0; padding:0; border:0; opacity:0; pointer-events:none; }
