/* Shared shell: identical geometry and navigation across the lab. */
:root{--section-text:#202a35;--section-muted:#627081;--section-line:#d4dce4;--section-bg:#eef1f4;color-scheme:light}
html{scroll-padding-top:24px}body{font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}body>.wrap,body>main,body>.site-header,body>.site-footer,body>main.wrap{width:min(1280px,calc(100% - 64px));max-width:1280px;margin-left:auto;margin-right:auto}body>main{min-height:55vh;padding-bottom:50px}body>main#main{width:100%;max-width:none;padding-bottom:0}.site-header{height:auto;min-height:92px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;background:transparent;color:var(--section-text)}
.site-header .brand,.site-footer .brand{display:inline-flex;align-items:center;gap:11px;font-size:16px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;color:var(--section-text)}.site-header .brand>span,.site-footer .brand>span{color:inherit}.site-header .brand .brand-sub,.site-footer .brand .brand-sub{color:var(--section-muted);font-weight:400}.site-header .brand-icon,.site-footer .brand-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid #bac5d0;background:#dde4ea;border-radius:12px;box-shadow:inset 0 1px 0 #fff9}.site-header .brand img,.site-footer .brand img{width:36px;height:36px;object-fit:contain;background:none;border-radius:0}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{font-size:14px;font-weight:450;padding:10px 0;color:var(--section-muted)}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--section-text)}.theme-toggle{display:grid;place-items:center;min-width:40px;min-height:40px;padding:6px;border:1px solid var(--section-line);border-radius:50%;background:transparent;color:var(--section-text);cursor:pointer;font-size:19px}.site-footer{border-top:1px solid var(--section-line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 36px;font-size:13px;color:var(--section-muted);font-family:Inter,sans-serif}.site-footer>a:last-child{margin:0}.site-footer .brand{font-size:15px}.site-footer .brand-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px}.site-footer .brand img{width:30px;height:30px}.site-footer>span{order:initial;width:auto}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid var(--section-line);border-radius:24px;background:var(--section-bg);box-shadow:0 5px 20px #273d5026;color:var(--section-text);font-size:14px;cursor:pointer}.back-to-top[hidden],[hidden]{display:none!important}.page-back{display:inline-flex;align-items:center;min-height:44px;margin:12px 0 0;color:var(--section-muted);font-size:14px;font-weight:550}.page-back:hover{color:var(--section-text)}.section-intro{padding:28px 0 32px!important}.section-intro h1{font-family:Inter,sans-serif;font-size:clamp(34px,4.5vw,52px)!important;font-weight:650;line-height:1.1!important;letter-spacing:-.05em!important;white-space:normal;margin:8px 0 16px!important}.section-intro p{font:16px/1.55 Inter,sans-serif;max-width:740px;color:var(--section-muted)}.section-intro .kicker,.section-intro .eyebrow{font-size:11px;letter-spacing:.1em;color:var(--section-muted)}.section-intro br{display:none}.tool-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:20px 0;font:12px/1.5 Inter,sans-serif;color:var(--section-muted)}.tool-context>a:first-child{background:#e2eee7;color:#286047;border:1px solid #bfd6c8;border-radius:20px;padding:6px 11px}.tool-context a:last-child{text-decoration:underline;text-underline-offset:3px}
/* Consistent tool surfaces and readable actions. */
body[data-current-tool] .workspace{gap:22px;align-items:start}body[data-current-tool] .panel{border-radius:20px;padding:26px;box-shadow:0 6px 24px #24364909}body[data-current-tool] .workspace>.panel{min-width:0}body[data-current-tool] input,body[data-current-tool] textarea,body[data-current-tool] select{font-size:14px;border-radius:10px}body[data-current-tool] textarea{line-height:1.6}body[data-current-tool] .action,body[data-current-tool] .secondary,body[data-current-tool] .downloads button{min-height:42px;font-size:14px;border-radius:10px;padding:10px 16px}body[data-current-tool] .message,body[data-current-tool] #feedback{font-size:14px;line-height:1.55;overflow-wrap:anywhere}body[data-current-tool] .message[data-error=true]{color:#b1313c;padding:12px 14px;background:#fff0f1;border-radius:10px;border:1px solid #f0c2c8}body[data-current-tool] .check,body[data-current-tool] .data-preferences p{font-size:13px;line-height:1.6}body[data-current-tool] .data-preferences summary{font-size:14px;padding:8px 0}.tool-guide{margin:45px 0 20px;padding:30px 0;border-top:1px solid var(--section-line);font:15px/1.7 Inter,sans-serif;color:var(--section-muted)}.tool-guide>h2,.tool-guide h3{color:var(--section-text);letter-spacing:-.025em;line-height:1.3}.tool-guide h2{font-size:23px;margin-bottom:14px}.tool-guide h3{font-size:16px;margin-top:24px;margin-bottom:8px}.tool-guide p{max-width:900px;margin:0 0 14px}.tool-privacy{scroll-margin-top:25px}.workflow-bar{margin:24px 0;padding:18px 20px;border:1px solid var(--section-line);border-radius:14px;background:var(--panel,#fff);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.workflow-bar label{font-size:14px;font-weight:600}.workflow-bar select{width:auto;min-width:170px;flex:1;max-width:270px}.workflow-bar button,.transfer-banner button{min-height:42px;border-radius:10px;padding:9px 15px;background:#303c48;color:white;border:0;cursor:pointer;font-size:14px}.workflow-bar p{flex-basis:100%;margin:0;font-size:12px;color:var(--section-muted)}.transfer-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#e5eef7;border:1px solid #bdcfe1;border-radius:14px;margin:0 0 22px;padding:16px;font-size:14px}.transfer-banner p{margin:0;flex:1}.transfer-banner .dismiss-transfer{background:transparent;color:var(--section-text);border:1px solid var(--section-line)}
/* Tool directory, intentionally compact without making the actions tiny. */
.directory-intro{padding-top:48px!important}.directory-controls{margin:8px 0 28px}.search-field{display:flex;align-items:center;gap:14px;max-width:760px;background:var(--panel,#fff);border:1px solid var(--section-line);border-radius:16px;padding:4px 18px;box-shadow:0 3px 12px #28394a05}.search-field>span{font-size:30px;color:var(--section-muted)}.search-field input{background:none;border:0;min-width:0;width:100%;padding:15px 0;color:var(--section-text);font-size:16px;outline-offset:5px}.search-field kbd{font:13px Inter;border:1px solid var(--section-line);padding:3px 7px;border-radius:5px;color:var(--section-muted)}.tool-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.tool-filters button{padding:9px 14px;border-radius:22px;border:1px solid var(--section-line);background:transparent;color:var(--section-muted);font-size:13px;min-height:40px;cursor:pointer}.tool-filters button[aria-pressed=true]{color:var(--section-text);background:#dce5ed;border-color:#aebecb}.tool-filters button span{margin-left:5px;opacity:.65}.directory-status,.directory-local-note{font-size:13px;color:var(--section-muted);margin:14px 0}.tool-category{border-top:1px solid var(--section-line);padding:8px 0 26px}.tool-category>summary{display:flex;align-items:center;gap:12px;padding:20px 0;list-style:none;cursor:pointer;font-size:22px;font-weight:600;letter-spacing:-.04em;color:var(--section-text)}.tool-category>summary::-webkit-details-marker{display:none}.category-count{font-size:12px;font-weight:500;background:#dfe6ec;border-radius:20px;padding:3px 9px;letter-spacing:0;color:#526273}.category-chevron{margin-left:auto;font-size:22px;transition:transform .2s}.tool-category[open] .category-chevron{transform:rotate(180deg)}.tool-category .tools-grid{margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.tool-item{position:relative;min-width:0;display:flex}.tool-item .app-card,.tool-item .app-card:last-child{width:100%;min-height:255px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;aspect-ratio:auto;padding:54px 16px 19px;border-radius:18px;gap:0;grid-column:auto}.tool-item .app-icon{flex:none;margin:0 0 15px}.tool-item .app-icon svg{width:32px;height:32px}.tool-item .app-copy h3{font-size:17px;margin:0 0 10px;letter-spacing:-.5px}.tool-item .app-copy p{display:block;font-size:12px;line-height:1.45;max-width:none;min-height:72px;margin-bottom:14px}.tool-item .app-status{font-size:13px;font-weight:600}.tool-item .project-titlebar{height:31px;font-size:8px;padding:0 8px}.tool-item .traffic-lights{gap:3px;width:23px}.tool-item .traffic-lights i{width:6px;height:6px}.tool-item .chrome-spacer{width:20px}.favorite-toggle{position:absolute;right:6px;top:34px;min-width:36px;min-height:36px;border:0;background:transparent;color:inherit;font-size:25px;line-height:1;cursor:pointer;border-radius:10px}.favorite-toggle[aria-pressed=true]{color:#8c5b0d;background:#fff6dc}.tool-item .app-icon{padding-right:30px}.tool-item .tool-advanced{background:var(--tile-bg);color:var(--tile-accent)}.tool-item .tool-advanced .app-icon,.tool-item .tool-advanced .app-copy p,.tool-item .tool-advanced .app-status{color:inherit}.tool-directory{background:#dfe9f0!important;color:#304c65!important;border-color:#bccdda!important}.tool-directory .app-copy p,.tool-directory .app-icon,.tool-directory .app-status{color:inherit!important}.recent-tools{margin:28px 0 36px}.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.recent-heading h2{font-size:18px;margin:0}.recent-heading button{background:none;border:0;color:var(--section-muted);font-size:13px;text-decoration:underline;cursor:pointer;min-height:40px}#recent-list{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0}#recent-list a{border:1px solid var(--section-line);border-radius:12px;background:var(--panel,#fff);padding:11px 14px;font-size:13px}#recent-list a:hover{border-color:#899caf}.recent-tools>p{font-size:12px;color:var(--section-muted);margin:10px 0}.empty-tools{padding:40px 10px;text-align:center}.empty-tools button{border:1px solid var(--section-line);border-radius:10px;padding:10px 15px;background:var(--section-bg);color:var(--section-text);cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5684b4;outline-offset:4px}
html[data-theme=dark]{color-scheme:dark;--section-text:#edf2f7;--section-muted:#b5bfca;--section-line:#4c5866;--section-bg:#1c242e}html[data-theme=dark] .brand-icon{background:#34414f;border-color:#586879;box-shadow:inset 0 1px 0 #ffffff15}html[data-theme=dark] .tool-context>a:first-child{background:#263f37;color:#b8e0c8;border-color:#476659}html[data-theme=dark] .tool-filters button[aria-pressed=true],html[data-theme=dark] .category-count{background:#344353;color:#e4edf5}html[data-theme=dark] .search-field,html[data-theme=dark] #recent-list a{background:#252d37}html[data-theme=dark] .tool-item .tool-advanced{background:var(--tile-dark);color:#edf3fa}html[data-theme=dark] .tool-directory{background:#334d63!important;color:#e4f0fa!important;border-color:#546b7d!important}html[data-theme=dark] .favorite-toggle{color:#e5edf7}html[data-theme=dark] .favorite-toggle[aria-pressed=true]{background:#50432b;color:#f7d184}html[data-theme=dark] .transfer-banner{background:#283e54;border-color:#4b6781}html[data-theme=dark] .workflow-bar{background:#252d37}html[data-theme=dark] .message[data-error=true]{color:#ffd4da;background:#4c2c34;border-color:#804958}
@media(max-width:1100px){.tool-category .tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){body>.wrap,body>main,body>.site-header,body>.site-footer,body>main.wrap{width:calc(100% - 28px)}body>main#main{width:100%}.site-header{min-height:76px;gap:10px;padding:17px 0}.site-header .brand{font-size:14px;gap:8px}.site-header .brand-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px}.site-header .brand img{width:30px;height:30px}.site-header nav{gap:16px}.site-header nav a{font-size:13px}.site-header .nav-contact{display:none}.theme-toggle{min-width:34px;min-height:34px;font-size:17px}.site-footer{flex-wrap:wrap;padding:25px 0 80px;gap:16px}.site-footer>span{order:3;flex-basis:100%;font-size:12px}.site-footer>a:last-child{margin-left:auto}.back-to-top{right:14px;bottom:16px;min-width:46px;padding:10px 15px}.back-to-top span{display:none}.section-intro{padding:23px 0 24px!important}.section-intro h1{font-size:36px!important}.section-intro p{font-size:15px}.directory-intro{padding-top:32px!important}.tool-context{gap:9px 12px;font-size:11px}body[data-current-tool] .panel{padding:20px 17px}.tool-guide{padding-top:24px;margin-top:32px;font-size:14px}.tool-category .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-category{padding-bottom:10px}.tool-category>summary{font-size:20px;padding:19px 0}.tool-item .app-card,.tool-item .app-card:last-child{min-height:255px;padding:52px 13px 17px;border-radius:16px}.tool-item .app-copy h3{font-size:16px}.tool-item .app-copy p{min-height:88px;font-size:12px}.favorite-toggle{right:3px;min-width:40px;min-height:40px;top:32px}.search-field{padding:4px 12px;gap:9px}.search-field input{font-size:14px}.search-field kbd{display:none}.tool-filters{gap:7px}.tool-filters button{font-size:12px;padding:8px 11px}.workflow-bar{padding:16px}.workflow-bar select{max-width:none}.workflow-bar button{width:100%}.transfer-banner{padding:14px}.directory-local-note{line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.tool-item>.app-card{background:var(--tile-bg);color:var(--tile-accent);border-color:color-mix(in srgb,var(--tile-accent) 25%,transparent)}.tool-item>.app-card .app-icon,.tool-item>.app-card .app-copy p,.tool-item>.app-card .app-status{color:inherit}.tool-item>.app-card .app-copy p{opacity:.85}
.section-intro{max-width:none;color:var(--section-text)}.tool-item>.app-card{box-shadow:0 8px 24px #263d5012}.tool-item>.app-card:hover{box-shadow:0 10px 28px #263d501c}
html[data-theme=dark]{--bg:#1c242e;--panel:#252d37;--text:#edf2f7;--muted:#b5bfca;--line:#4c5866;--accent:#a8caff}html[data-theme=dark] body{background:#1c242e;color:#edf2f7}html[data-theme=dark] .tool-item>.app-card{background:var(--tile-dark);color:#edf2f7;border-color:#546474}html[data-theme=dark] body[data-current-tool] input,html[data-theme=dark] body[data-current-tool] select,html[data-theme=dark] body[data-current-tool] textarea{background:#1b2530;color:#edf2f7;border-color:#536475}html[data-theme=dark] .value,html[data-theme=dark] .contrast-card>div{background:#293744;color:#edf2f7;border-color:#536475}.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.result-actions button{border:1px solid var(--section-line);background:var(--panel,#fff);color:var(--section-text);padding:10px 15px;border-radius:10px;min-height:42px;cursor:pointer;font-size:14px}
