@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica');size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}
*{font-family:'Inter','Inter Fallback',-apple-system,BlinkMacSystemFont,sans-serif}
:root{--bg:#f8fafc;--surface:#ffffff;--surface2:#f1f5f9;--text:#1e293b;--muted:#556274;--border:#e2e8f0}
html.dark{--bg:#0b1220;--surface:#111c33;--surface2:#0f1a2e;--text:#e2e8f0;--muted:#94a3b8;--border:#243350}
body{background:var(--bg);color:var(--text)}
.surface{background:var(--surface)}
.surface2{background:var(--surface2)}
.muted{color:var(--muted)}
.bd{border-color:var(--border)!important}
.inp{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.inp:focus{outline:none;box-shadow:0 0 0 2px #6366f1}
.grad-text{background:linear-gradient(90deg,#6366f1,#7c3aed,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-bg{background:linear-gradient(135deg,#4f46e5,#7c3aed)}
.glass{backdrop-filter:blur(10px)}
.fade-in{animation:fade .35s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:5px}
.gc-mobile-only{display:none}
/* header: the brand word never splits ("Grab Cast"), Sign in never wraps */
.gc-brand{display:inline-flex;white-space:nowrap}
#signinBtn{white-space:nowrap}
@media (max-width:420px){
nav .h-16{padding-left:12px!important;padding-right:12px!important;gap:4px!important}
nav .h-16>div{gap:2px!important}
nav .h-16>div>a[href="/app.html"]{display:none!important}
.gc-mobile-only{display:flex}
#gc-acct button,#gc-acct a{padding-left:10px!important;padding-right:10px!important}
nav .h-16>a:first-child{font-size:1.125rem;gap:6px}
#langBtn{padding-left:8px!important;padding-right:8px!important}
}
/* phones/tablets: header links hidden at this width (Dashboard, Guides, search) stay one tap away in the Tools menu */
.gc-mnav{display:none}
@media (max-width:899px){
.gc-mnav{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.gc-mnav a,.gc-mnav button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 8px;border-radius:12px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.gc-mnav a:hover,.gc-mnav button:hover{border-color:#818cf8}
.gc-mnav svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
}
/* Reserve space for JS-mounted chrome/tool (scripts are deferred) → no layout shift */
#gc-header{min-height:64px}
#tool-root{min-height:var(--th-d,260px)}
@media (max-width:640px){#tool-root{min-height:var(--th-m,260px)}}
/* A11y (WCAG AA 4.5:1): accent text darker on light, lighter on dark */
.text-indigo-500,.text-indigo-600{color:#4338ca}
html.dark .text-indigo-500,html.dark .text-indigo-600{color:#a5b4fc}
/* A11y: comfortable tap targets for small icon buttons */
button.fav{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}

/* JSON tree syntax colors (AA contrast on light + dark) */
.jt-k{color:#9d174d}.jt-s{color:#166534}.jt-n{color:#1d4ed8}.jt-b{color:#92400e}.jt-l{color:#6b21a8}
html.dark .jt-k{color:#f9a8d4}html.dark .jt-s{color:#86efac}html.dark .jt-n{color:#93c5fd}html.dark .jt-b{color:#fcd34d}html.dark .jt-l{color:#d8b4fe}
.rxm0{background:#fde68a;color:#111;border-radius:3px}.rxm1{background:#bfdbfe;color:#111;border-radius:3px}.rxz{color:#dc2626;font-weight:700}
.fpf{background:rgba(99,102,241,.12);border:1px solid rgba(79,70,229,.55);color:#111;font-family:Helvetica,Arial,sans-serif;padding:0 2px;border-radius:2px;resize:none;outline:none;box-sizing:border-box}.fpf:focus{background:rgba(255,255,255,.95);border-color:#4f46e5;box-shadow:0 0 0 2px rgba(79,70,229,.35)}.fpreq{border-color:#dc2626}.fpcb{accent-color:#4f46e5;margin:0}
:root{--gc-ink-accent:#4338ca}html.dark{--gc-ink-accent:#a5b4fc}

/* link-in-text-block (a11y): links inside running text are underlined, not colour-only */
main p a:not([class*="rounded"]):not(.no-underline),main li a:not([class*="rounded"]):not(.no-underline){text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
/* badge-contrast (a11y): saturated 500 text on dark / tinted badges */
html.dark .text-blue-500{color:#93c5fd}html.dark .text-red-500{color:#fca5a5}html.dark .text-green-500{color:#86efac}html.dark .text-emerald-500{color:#6ee7b7}html.dark .text-amber-500{color:#fcd34d}html.dark .text-orange-500{color:#fdba74}html.dark .text-purple-500{color:#d8b4fe}html.dark .text-pink-500{color:#f9a8d4}
html:not(.dark) [class*="bg-blue-500/"].text-blue-500{color:#1d4ed8}html:not(.dark) [class*="bg-red-500/"].text-red-500{color:#b91c1c}html:not(.dark) [class*="bg-green-500/"].text-green-500{color:#15803d}html:not(.dark) [class*="bg-amber-500/"].text-amber-500{color:#b45309}

.tzg{cursor:pointer;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px}.tzc{height:26px;border-radius:4px;color:#fff;font-size:9px;font-weight:600;line-height:26px;padding:0;min-width:0;overflow:hidden}@media (max-width:640px){.tzc{font-size:0}}

@media (min-width:1024px){.lg\:hidden{display:none}.lg\:sticky{position:sticky}}

.text-amber-700{color:#b45309}

/* === social scheduler promos (nav, tools menu, related cross-link, home) === */
.gc-nav-sched{display:none;align-items:center;gap:4px;white-space:nowrap}
@media(min-width:900px){.gc-nav-sched{display:inline-flex}}
.gc-new{font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#4f46e5,#9333ea);border-radius:99px;padding:1px 5px}
.gc-feat-link{display:flex;align-items:center;gap:10px;margin:4px 8px 6px;padding:9px 10px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(168,85,247,.10));font-size:18px;text-decoration:none;color:var(--text)}
.gc-feat-link span{display:flex;flex-direction:column;font-size:13px;line-height:1.3}.gc-feat-link small{color:var(--muted);font-size:11.5px}
.gc-feat-link:hover{border-color:#818cf8}
.gc-xsched{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 28px;padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(168,85,247,.10));color:var(--text);text-decoration:none}
.gc-xsched:hover{border-color:#818cf8;box-shadow:0 8px 24px rgba(79,70,229,.12)}
.gc-xsched-ic{font-size:28px;line-height:1}.gc-xsched-tx{flex:1 1 220px;display:flex;flex-direction:column;gap:2px;min-width:0}
.gc-xsched-tx b{font-size:16px}.gc-xsched-tx small{color:var(--muted);font-size:13.5px;line-height:1.45}
.gc-xsched-go{font-weight:700;font-size:14px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;padding:9px 14px;white-space:nowrap}

/* === home tool cards (gc-tc) === */
.gc-tg{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}
@media(min-width:560px){.gc-tg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.gc-tg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.gc-tg{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gc-tc{position:relative;min-width:0;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px rgba(15,23,42,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.gc-tc:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tc) 45%,var(--border));box-shadow:0 10px 24px -10px color-mix(in srgb,var(--tc) 40%,transparent),0 2px 6px rgba(15,23,42,.06)}
.gc-tc-a{display:flex;align-items:flex-start;gap:12px;height:100%;padding:14px;border-radius:inherit;color:inherit;text-decoration:none!important}
.gc-tc-a:focus-visible{outline:2px solid var(--tc);outline-offset:2px}
.gc-ti{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--tc);background:linear-gradient(145deg,var(--tb1),var(--tb2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tc) 14%,transparent);font-size:22px;line-height:1}
.gc-ti svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-tt{min-width:0;flex:1}
.gc-tn{display:block;font-weight:700;font-size:15px;line-height:1.3;letter-spacing:-.005em;color:var(--text);overflow-wrap:anywhere;padding-inline-end:24px}
.gc-td{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin-top:3px;font-size:13px;line-height:1.45;color:var(--muted)}
.gc-tl{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:auto;min-width:44px}
.gc-bdg{display:block;padding:0 6px;border-radius:99px;font-size:11px;font-weight:700;line-height:16px;letter-spacing:0;white-space:nowrap}
.gc-bdg-ai{background:#ede9fe;color:#5b21b6}.gc-bdg-pop{background:#fef3c7;color:#92400e}.gc-bdg-new{background:#dcfce7;color:#166534}
html.dark .gc-bdg-ai{background:rgba(139,92,246,.2);color:#c4b5fd}html.dark .gc-bdg-pop{background:rgba(245,158,11,.16);color:#fcd34d}html.dark .gc-bdg-new{background:rgba(34,197,94,.16);color:#86efac}
.gc-fav{position:absolute;top:8px;inset-inline-end:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:var(--muted);cursor:pointer;opacity:.85;transition:opacity .15s,color .15s,background-color .15s,transform .15s}
.gc-fav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.gc-tc:hover .gc-fav,.gc-fav:focus-visible{opacity:1}
.gc-fav:hover{color:#d97706;background:var(--surface2)}
.gc-fav:focus-visible{outline:2px solid #d97706;outline-offset:1px}
.gc-fav[aria-pressed=true]{opacity:1;color:#f59e0b}.gc-fav[aria-pressed=true] svg{fill:currentColor}
.gc-fav:active{transform:scale(.88)}
@media(hover:none){.gc-fav{opacity:.8}}
.gc-sh{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:18px;font-weight:800;letter-spacing:-.01em}
.gc-sh .gc-ti{width:30px;height:30px;border-radius:9px;font-size:15px}.gc-sh .gc-ti svg{width:16px;height:16px}
.gc-sh small{font-size:12px;font-weight:700;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:99px;padding:1px 8px}
[data-tcat]{--tc:#4f46e5;--tb1:#eef2ff;--tb2:#e0e7ff}
[data-tcat=ai]{--tc:#7c3aed;--tb1:#f5f3ff;--tb2:#fae8ff}
[data-tcat=social]{--tc:#db2777;--tb1:#fdf2f8;--tb2:#fce7f3}
[data-tcat=pdf]{--tc:#dc2626;--tb1:#fef2f2;--tb2:#ffe4e6}
[data-tcat=media]{--tc:#ea580c;--tb1:#fff7ed;--tb2:#ffedd5}
[data-tcat=image]{--tc:#0284c7;--tb1:#f0f9ff;--tb2:#e0f2fe}
[data-tcat=text]{--tc:#0891b2;--tb1:#ecfeff;--tb2:#cffafe}
[data-tcat=dev]{--tc:#475569;--tb1:#f8fafc;--tb2:#e2e8f0}
[data-tcat=business]{--tc:#4f46e5;--tb1:#eef2ff;--tb2:#e0e7ff}
[data-tcat=finance]{--tc:#059669;--tb1:#ecfdf5;--tb2:#d1fae5}
[data-tcat=calc]{--tc:#0d9488;--tb1:#f0fdfa;--tb2:#ccfbf1}
[data-tcat=handy]{--tc:#a16207;--tb1:#fefce8;--tb2:#fef3c7}
html.dark [data-tcat]{--tc:#a5b4fc;--tb1:rgba(99,102,241,.30);--tb2:rgba(99,102,241,.12)}
html.dark [data-tcat=ai]{--tc:#c4b5fd;--tb1:rgba(139,92,246,.34);--tb2:rgba(217,70,239,.14)}
html.dark [data-tcat=social]{--tc:#f9a8d4;--tb1:rgba(236,72,153,.30);--tb2:rgba(236,72,153,.12)}
html.dark [data-tcat=pdf]{--tc:#fca5a5;--tb1:rgba(239,68,68,.30);--tb2:rgba(244,63,94,.12)}
html.dark [data-tcat=media]{--tc:#fdba74;--tb1:rgba(249,115,22,.30);--tb2:rgba(249,115,22,.12)}
html.dark [data-tcat=image]{--tc:#7dd3fc;--tb1:rgba(14,165,233,.30);--tb2:rgba(14,165,233,.12)}
html.dark [data-tcat=text]{--tc:#67e8f9;--tb1:rgba(6,182,212,.30);--tb2:rgba(6,182,212,.12)}
html.dark [data-tcat=dev]{--tc:#cbd5e1;--tb1:rgba(148,163,184,.30);--tb2:rgba(148,163,184,.12)}
html.dark [data-tcat=finance]{--tc:#6ee7b7;--tb1:rgba(16,185,129,.30);--tb2:rgba(16,185,129,.12)}
html.dark [data-tcat=calc]{--tc:#5eead4;--tb1:rgba(20,184,166,.30);--tb2:rgba(20,184,166,.12)}
html.dark [data-tcat=handy]{--tc:#fde047;--tb1:rgba(234,179,8,.28);--tb2:rgba(234,179,8,.11)}
html.dark .gc-tc{box-shadow:none}
html.dark .gc-tc:hover{background:color-mix(in srgb,var(--surface) 92%,var(--tc))}
@media(prefers-reduced-motion:reduce){.gc-tc,.gc-fav{transition:none}.gc-tc:hover{transform:none}.gc-fav:active{transform:none}}
[data-tcat=fav]{--tc:#d97706;--tb1:#fffbeb;--tb2:#fef3c7}html.dark [data-tcat=fav]{--tc:#fcd34d;--tb1:rgba(245,158,11,.30);--tb2:rgba(245,158,11,.12)}
[data-tcat=fav] .gc-ti svg{fill:currentColor}
@media(min-width:900px){.gc-tc-a{min-height:110px}}
/* === home tool cards END === */

/* skip link (a11y): hidden until focused with the keyboard */
.gc-skip{position:absolute;left:8px;top:-60px;z-index:200;padding:10px 16px;border-radius:10px;background:#4338ca;color:#fff;font-weight:600;font-size:.875rem;text-decoration:none;transition:top .15s}.gc-skip:focus{top:8px;outline:3px solid #a5b4fc;outline-offset:2px}
main:focus{outline:none}

/* === tw-extra START === */
/* utilities used by tool renderers but absent from the prebuilt tailwind.css (generated) */
.-ms-4{margin-inline-start:-1rem}.-mt-2{margin-top:-0.5rem}.-top-5{top:-1.25rem}.\[\&_a\]\:text-indigo-500 a{color:#4338ca}html.dark .\[\&_a\]\:text-indigo-500 a{color:#a5b4fc}.accent-indigo-500{accent-color:#6366f1}.aspect-\[3\/4\]{aspect-ratio:3 / 4}.bg-black\/10{background-color:rgba(0,0,0,0.1)}.bg-indigo-600{background-color:#4f46e5}.bg-red-600{background-color:#dc2626}.bg-yellow-100\/70{background-color:rgba(254,249,195,0.7)}.border-s-2{border-inline-start-width:2px;border-inline-start-style:solid}.bottom-0{bottom:0px}.bottom-1{bottom:0.25rem}.bottom-2{bottom:0.5rem}.bottom-4{bottom:1rem}.col-span-12{grid-column:span 12/span 12}.col-span-4{grid-column:span 4/span 4}.content-start{align-content:flex-start}.cursor-crosshair{cursor:crosshair}.disabled\:opacity-50:disabled{opacity:0.5}.disabled\:opacity-60:disabled{opacity:0.6}.gap-0\.5{gap:0.125rem}.gap-x-2{column-gap:0.5rem}.gap-x-3{column-gap:0.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-y-0\.5{row-gap:0.125rem}.gap-y-1{row-gap:0.25rem}.gap-y-3{row-gap:0.75rem}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_3\.5rem_5rem_auto_auto\]{grid-template-columns:1fr 3.5rem 5rem auto auto}.grid-cols-\[1fr_5\.5rem_4\.5rem\]{grid-template-columns:1fr 5.5rem 4.5rem}.grid-cols-\[1fr_5\.5rem_4\.5rem_9\.5rem_auto\]{grid-template-columns:1fr 5.5rem 4.5rem 9.5rem auto}.h-1\.5{height:0.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-36{height:9rem}.h-44{height:11rem}.h-80{height:20rem}.h-px{height:1px}.hover\:border-indigo-400:hover{border-color:#818cf8}.hover\:opacity-100:hover{opacity:1.0}.justify-end{justify-content:flex-end}.leading-6{line-height:1.5rem}.left-0{left:0px}.max-h-14{max-height:3.5rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.max-w-\[210px\]{max-width:210px}.max-w-\[240px\]{max-width:240px}.max-w-\[6\.5rem\]{max-width:6.5rem}.mb-0\.5{margin-bottom:0.125rem}.me-1{margin-inline-end:0.25rem}.me-3{margin-inline-end:0.75rem}.min-h-11{min-height:2.75rem}.min-h-\[1\.25rem\]{min-height:1.25rem}.min-h-\[1rem\]{min-height:1rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.ml-auto{margin-left:auto}.mr-1{margin-right:0.25rem}.mr-auto{margin-right:auto}.ms-1{margin-inline-start:0.25rem}.ms-2{margin-inline-start:0.5rem}.ms-auto{margin-inline-start:auto}.mx-1{margin-left:0.25rem;margin-right:0.25rem}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.opacity-30{opacity:0.3}.opacity-50{opacity:0.5}.opacity-70{opacity:0.7}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.p-0{padding:0px}.p-1\.5{padding:0.375rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pe-2{padding-inline-end:0.5rem}.pe-3{padding-inline-end:0.75rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pointer-events-none{pointer-events:none}.pr-1{padding-right:0.25rem}.pr-2{padding-right:0.5rem}.ps-1{padding-inline-start:0.25rem}.ps-3{padding-inline-start:0.75rem}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.pt-16{padding-top:4rem}.pt-5{padding-top:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.right-0{right:0px}.right-1{right:0.25rem}.right-4{right:1rem}.ring-2{box-shadow:0 0 0 2px var(--tw-ring-color,#6366f1)}.rounded-md{border-radius:0.375rem}.rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.select-none{user-select:none;-webkit-user-select:none}.space-y-1\.5>:not([hidden])~:not([hidden]){margin-top:0.375rem}.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-6xl{font-size:3.75rem;line-height:1}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-amber-600{color:#d97706}html.dark .text-amber-600{color:#fbbf24}.text-green-600{color:#16a34a}html.dark .text-green-600{color:#4ade80}.text-red-600{color:#dc2626}html.dark .text-red-600{color:#f87171}.tracking-\[0\.3em\]{letter-spacing:0.3em}.underline{text-decoration-line:underline}.w-11{width:2.75rem}.w-36{width:9rem}.w-44{width:11rem}.w-48{width:12rem}.w-px{width:1px}.whitespace-nowrap{white-space:nowrap}.z-10{z-index:10}.z-\[120\]{z-index:120}
@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[1fr_5\.5rem_4\.5rem_9\.5rem_auto\]{grid-template-columns:1fr 5.5rem 4.5rem 9.5rem auto}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.sm\:grid-cols-\[1fr_auto_auto_auto\]{grid-template-columns:1fr auto auto auto}.sm\:px-3{padding-left:0.75rem;padding-right:0.75rem}.sm\:w-28{width:7rem}}
@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.md\:min-h-\[3\.5rem\]{min-height:3.5rem}.md\:p-5{padding:1.25rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}
@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.lg\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}.lg\:top-4{top:1rem}}
/* === tw-extra END === */

/* === IA mega-menu (header "Tools": 8 task groups, docs/IA-PLAN.md) === */
.gc-mega{position:fixed;left:50%;transform:translateX(-50%);top:64px;width:min(calc(100vw - 16px),60rem);max-height:calc(100vh - 80px);overflow:auto;padding:12px 14px 16px}
.gc-mega-top{display:grid;gap:6px;grid-template-columns:1fr}
@media(min-width:720px){.gc-mega-top{grid-template-columns:1fr 1fr}}
.gc-mega-top .gc-feat-link{margin:0}
.gc-mega-grid{display:grid;gap:16px 20px;grid-template-columns:1fr;margin-top:12px}
@media(min-width:560px){.gc-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.gc-mega-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gc-mg ul{list-style:none;margin:2px 0 0;padding:0}
.gc-mg-h{display:flex;align-items:center;gap:6px;padding:4px 6px;font-weight:800;font-size:13px;text-transform:none;color:var(--text);text-decoration:none;border-bottom:2px solid var(--tc);margin-bottom:4px}
.gc-mg-h small{margin-inline-start:auto;font-size:11px;font-weight:700;color:var(--muted)}
.gc-mg li a{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px;font-size:13px;color:var(--text);text-decoration:none}
.gc-mg li a:hover,.gc-mg-h:hover{background:var(--surface2)}
.gc-mg-all{display:block;margin-top:2px;padding:5px 6px;font-size:12px;font-weight:700;color:var(--gc-ink-accent,#4338ca);text-decoration:none}
.gc-mg-all:hover{text-decoration:underline}

/* === Tool page shape: "Continue with…" strip lives inside space reserved under the tool card (no layout shift) === */
main .surface:has(> #tool-root[style*="--th-m"]){margin-bottom:76px}
main .surface.gc-flow-off:has(> #tool-root[style*="--th-m"]){margin-bottom:0}
#gc-flow{display:flex;align-items:center;gap:8px;margin:-60px 0 0;height:44px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap}
#gc-flow::-webkit-scrollbar{display:none}
#gc-flow + *{margin-top:16px!important}
.gc-flow-l{flex:none;font-size:13px;font-weight:700;color:var(--muted)}
#gc-flow a{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;text-decoration:none}
#gc-flow a:hover{border-color:#818cf8}
.gc-crumb{margin-bottom:4px}
main:has(#tool-root[style*="--th-m"]) #related{min-height:16rem}
@media(max-width:1023px){main:has(#tool-root[style*="--th-m"]) #related{min-height:23.5rem}}

/* === Report-a-problem button (GC.mountReport): small icon pill, theme tokens, steps aside on scroll / phone keyboard === */
#gc-report-fab{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom) + var(--gc-fab-lift,0px));z-index:90;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 9px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.10);transition:opacity .2s ease,transform .2s ease,color .15s,border-color .15s}
#gc-report-fab svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#gc-report-fab:hover,#gc-report-fab:focus-visible{opacity:1;color:var(--gc-ink-accent);border-color:#818cf8}
#gc-report-fab:focus-visible{outline:2px solid #6366f1;outline-offset:2px}
#gc-report-fab.gc-fab-hide{opacity:0;transform:translateY(calc(100% + 20px));pointer-events:none}
html.dark #gc-report-fab{box-shadow:0 2px 10px rgba(0,0,0,.45)}
@media (max-width:640px){
#gc-report-fab{width:40px;height:40px;padding:0;justify-content:center}
#gc-report-fab svg{width:17px;height:17px}
#gc-report-fab .gc-fab-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){#gc-report-fab{transition:none}}
@media print{#gc-report-fab{display:none}}

/* === Footer (GC.footer, footer.gc-sitefoot): full-width sections on phones list their links in two columns === */
.gc-fw{grid-column:span 2/span 2}
.gc-fw .gc-fl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
@media (min-width:768px){.gc-fw{grid-column:auto}.gc-fw .gc-fl{display:block}}

/* === Touch targets (WCAG 2.5.8 / audit 2026-10-05 #5): >= 40px tap area on touch screens and phones.
   Hit areas grow through padding / min-height or an invisible ::before, so dense chips keep their look. === */
@media (pointer:coarse),(max-width:640px){
nav[aria-label=Main] .h-16 button,nav[aria-label=Main] .h-16>div>a,#gc-acct button{min-height:40px}
#themeBtn{min-width:40px}
.gc-mg li a{padding-top:10px;padding-bottom:10px}
.gc-mg-h,.gc-mg-all{display:flex;align-items:center;min-height:40px}
.gc-sitefoot .gc-fl a{display:flex;align-items:center;min-height:40px;padding-top:4px!important;padding-bottom:4px!important;line-height:1.3}
.gc-sitefoot .font-semibold>a{display:inline-flex;align-items:center;min-height:40px}
.gc-foot-cats{row-gap:0!important}
.gc-foot-cats a,.gc-foot-legal a,.gc-sitefoot a[href^="mailto:"]{display:inline-block;padding:12px 2px}
.kbp{position:relative;min-height:32px}
.kbp::before{content:"";position:absolute;inset:-4px 0}
.gc-fav::before{content:"";position:absolute;inset:-6px}
#gc-flow a{height:40px}
#gc-next a{min-height:40px}
.gc-gd-all{display:inline-flex;align-items:center;min-height:40px}
}
/* "Continue with" strip scrolls sideways on phones: fade the right edge so the cut-off chip reads as "more" (audit #13) */
@media (max-width:640px){#gc-flow{padding-inline-end:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}}
body:has(#toolsMenu:not(.hidden)) #gc-report-fab{opacity:0;pointer-events:none}
