:root{--p-paper:#F3F5F8;--p-surface:#FFFFFF;--p-ink:#202735;--p-text:#465064;--p-muted:#626D80;--p-accent:#3159C9;--p-soft:#E8EDFC;--p-border:#DFE4ED;--p-hover:#B5C2E2}
/* Palette exploration. These rules are loaded only by the local preview. */
:root{--ink:var(--p-ink) !important;--muted:var(--p-muted) !important;--paper:var(--p-paper) !important;--accent:var(--p-accent) !important;--rule:var(--p-border) !important}
body{background:var(--p-paper) !important;color:var(--p-ink) !important}
.topbar,.sidebar,.card,dialog,.compare-tray{background:var(--p-surface) !important;border-color:var(--p-border) !important;color:var(--p-ink) !important}
.topbar,.sidebar{box-shadow:none !important}
.brand.toolora-brand .brand-secondary{color:var(--p-muted) !important}
.title-line h1,.group-label h2,.tool-names h3,.card h3,.detail-head h2,.lower strong,.sidebar-bottom strong{color:var(--p-ink) !important}
.page-heading p,.card-desc,.card p,.detail-desc,.comparison-table td{color:var(--p-text) !important}
.sidebar-title,.category-btn,.category-btn small,.category-btn .category-icon,.task-label,.task-options button,.tool-names .type,.tool-names .company-subtitle,.group-label small,.group-label p,.sort-wrap,.compare-note,.sidebar-bottom p,.sidebar-bottom span,.lower p,footer,.source-credit{color:var(--p-muted) !important}
.top-actions button,.top-actions a,.news-nav{color:var(--p-text) !important}
.top-actions button.active{color:var(--p-accent) !important;box-shadow:inset 0 -2px var(--p-accent) !important}
.top-actions #add,.task-options button.active,.compare-now{background:var(--p-accent) !important;color:#fff !important;box-shadow:none !important}
.category-btn.active{background:var(--p-soft) !important;color:var(--p-accent) !important;box-shadow:inset 3px 0 var(--p-accent) !important}
.category-btn.active .category-icon,.category-btn.active small{color:var(--p-accent) !important}
.category-btn:hover,.task-options button:hover,.compare-toggle:hover,.load-more:hover{background:var(--p-soft) !important;color:var(--p-accent) !important}
.task-options button.active:hover{background:var(--p-accent) !important;color:#fff !important}
.searchbar,.searchbar kbd,.sort-wrap select,.source-select,.language-select,.load-more,label input,label select{background:var(--p-surface) !important;color:var(--p-text) !important;border-color:var(--p-border) !important;box-shadow:none !important}
.searchbar input,.searchbar>span,.clear-search{color:var(--p-text) !important}
.searchbar input::placeholder{color:var(--p-muted) !important}
.searchbar:focus-within{border-color:var(--p-accent) !important;box-shadow:0 0 0 2px var(--p-soft) !important;background:var(--p-surface) !important}
.taskbar,.lower,.cardfoot,.sidebar-bottom div{border-color:var(--p-border) !important}
.title-line #count,.badge,.group-icon,.compare-chip,.compare-toggle.selected,.comparison-table thead th{background:var(--p-soft) !important;color:var(--p-accent) !important}
.group-more,.guide-entry,.profile-link,.detail-link,.visit,.cardfoot a,.lower button,.source-credit:hover,.view-switch button.active,.comparison-table a{color:var(--p-accent) !important;border-color:var(--p-border) !important}
.view-switch button,.star,.compare-toggle{color:var(--p-muted) !important}
.star.on,.star:hover{color:var(--p-accent) !important}
.card{box-shadow:0 1px 2px #00000003 !important}
.card:hover{border-color:var(--p-hover) !important;box-shadow:0 6px 20px #00000007 !important}
.lower{background:transparent !important}
.lower button{background:var(--p-surface) !important;border-color:var(--p-border) !important}
.directory-art{filter:grayscale(1) !important;opacity:.65 !important}
.comparison-table tr>th:first-child,.compare-tray-label span,.clear-compare,.close-compare{color:var(--p-muted) !important}
.comparison-table th,.comparison-table td,.comparison-table td:not(:last-child),.comparison-table thead th:not(:last-child){border-color:var(--p-border) !important}
.comparison-table tbody tr:nth-child(even),.detail-raw{background:var(--p-paper) !important;color:var(--p-text) !important}
.active-filters,.active-filter-chip{background:var(--p-soft) !important;color:var(--p-accent) !important;border-color:var(--p-border) !important}
.toast{background:var(--p-ink) !important;color:var(--p-surface) !important}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-color:var(--p-accent) !important}
.brand.toolora-brand:focus-visible{outline-color:var(--p-accent) !important}
@media(max-width:720px){.sidebar .category-btn.active{box-shadow:inset 0 -2px var(--p-accent) !important}}

/* Additional page families share the directory's neutral surfaces and text hierarchy. */
body{color:var(--p-ink) !important;background:var(--p-paper) !important}
h1,h2,h3,h4{color:var(--p-ink) !important}
p,li{color:var(--p-text) !important}
a{color:var(--p-accent) !important}
.profile-header,.section,.news-card,.guide-card,.workflow,.output-card,.source-link,.related-card,.record-form input,.record-form textarea{background:var(--p-surface) !important;border-color:var(--p-border) !important}
.breadcrumbs,.breadcrumbs .slash,.eyebrow,.hero-company,.hero-company strong,.hero-footnote,.section-index,.company-field small,.company-note,.fact dt,.fact dd,.side-note,.side-note strong,.sample-label,.profile-footer,.record-form label,.news-edition,.news-stamp,.news-meta time,.news-kind,.news-footer,.news-footer p,.news-empty,.guide-eyebrow,.guide-count small,.guide-stage,.guide-source,.guide-footer,.guide-footer p,.date{color:var(--p-muted) !important}
.profile-hero h1,.section-title h2,.facts-card h3,.news-intro h1,.news-card h2,.guide-intro h1,.guide-card-head h2,.guide-card h3,.related-card strong,.data b{color:var(--p-ink) !important}
.hero-summary,.section p,.output-card strong,.company-field strong,.fact dd,.test-task,.news-intro p,.news-summary,.guide-intro p,.guide-card p,.workflow-step strong{color:var(--p-text) !important}
.profile-header nav a,.profile-tabs a,.breadcrumbs a,.eyebrow span:first-child,.company-field a,.source-link,.news-source,.news-profile,.news-sources a,.guide-official,.guide-profile,.guide-source,.guide-footer a{color:var(--p-accent) !important}
.profile-hero,.profile-tabs,.news-intro,.news-card-foot,.news-sources,.guide-toolbar,.guide-card-actions,.guide-footer,.company-field,.fact,.profile-footer,.test-state,.workflow-step,.data,.news-footer{border-color:var(--p-border) !important}
.profile-tabs a.active,.profile-tabs a[aria-current="location"]{color:var(--p-accent) !important;border-color:var(--p-accent) !important;font-weight:600}
.profile-tabs a:not(.active):not([aria-current="location"]){color:var(--p-muted) !important;border-color:transparent !important;font-weight:400}
.facts-card,.evidence-pill,.hero-company .status,.test-task,.button.saved,.workflow-step:hover,.workflow-step.active{background:var(--p-soft) !important;border-color:var(--p-border) !important;color:var(--p-accent) !important}
.button{background:var(--p-surface) !important;border-color:var(--p-border) !important;color:var(--p-accent) !important;box-shadow:none !important}
.button.primary,.button.primary:hover,.news-filters button.active,.stage-filters button.active{background:var(--p-accent) !important;border-color:var(--p-accent) !important;color:#fff !important}
.button:hover,.news-filters button:hover:not(.active),.stage-filters button:hover{background:var(--p-soft) !important;border-color:var(--p-hover) !important}
.news-filters button,.stage-filters button,.step-number,.step-arrow,.news-sources h2,.record-form input,.record-form textarea{color:var(--p-muted) !important}
#newsSearch{background:var(--p-surface) !important;color:var(--p-ink) !important;border-color:var(--p-border) !important}
#newsCount,#guideResultCount{color:var(--p-muted) !important}
.guide-card:hover,.source-link:hover{border-color:var(--p-hover) !important;box-shadow:0 6px 20px #00000007 !important}
body>header,body>footer,.side-note{border-color:var(--p-border) !important}
.directory-art{filter:grayscale(1) !important;opacity:.65 !important}
.news-title{color:var(--p-ink) !important}
.news-title:hover{color:var(--p-accent) !important}
.news-meta strong,.news-stamp time{color:var(--p-text) !important}
.category-btn small{background:var(--p-paper) !important;color:var(--p-muted) !important}
.view-switch{background:var(--p-soft) !important;border-color:var(--p-border) !important}
.compare-toggle,.badge{border-color:var(--p-border) !important}
.capability-row,.product-news-item{border-color:var(--p-border) !important}
.main{margin-top:var(--site-topbar-height,76px) !important}
.sidebar{top:var(--site-topbar-height,76px) !important}
@media(max-width:720px){.sidebar{top:var(--site-topbar-height,150px) !important;margin-top:var(--site-topbar-height,150px) !important}.main{margin-top:0 !important}}
.page-heading{align-items:center !important;gap:14px !important;margin-bottom:21px !important}
.page-heading>div:first-child{padding:0 !important;min-height:0 !important;min-width:0 !important}
.title-line{gap:10px !important;align-items:baseline !important}
.title-line h1{font-size:26px !important;line-height:1.3 !important;letter-spacing:-.5px !important;overflow-wrap:anywhere !important}
.title-line #count{font-size:12px !important;line-height:1.4 !important;padding:0 !important;background:transparent !important;border:0 !important;color:var(--p-muted) !important;font-weight:400 !important}
.control-cluster{display:flex !important;flex-direction:row !important;align-items:center !important;flex-wrap:wrap !important;gap:16px !important}
.sort-wrap{padding:0 !important;margin:0 !important}
.sort-wrap select{font-size:11px !important;padding:6px 10px !important;min-height:32px !important;max-width:168px !important;background:var(--p-surface) !important;color:var(--p-muted) !important;border-color:var(--p-border) !important}
.category-guide{font-size:11px !important;line-height:1.5 !important;color:var(--p-accent) !important;text-decoration:none !important;white-space:nowrap !important}
.category-guide:hover{text-decoration:underline !important;text-underline-offset:4px !important}
.group-label .category-guide{margin-left:auto !important}
@media(max-width:720px){.page-heading{gap:12px !important;margin-bottom:22px !important;align-items:center !important}.title-line h1{font-size:25px !important}.title-line #count{font-size:11px !important}.control-cluster{gap:12px !important;margin-left:auto !important}.sort-wrap select{font-size:10px !important;max-width:140px !important;min-height:30px !important}.category-guide{font-size:10px !important}.group-label .category-guide{margin-left:auto !important}}

.entrypoint-details{margin-top:26px !important;padding-top:20px !important;border-top:1px solid var(--p-line,#dce2ea) !important}.entrypoint-row{display:grid !important;grid-template-columns:100px 1fr !important;gap:16px !important;margin-top:14px !important}.entrypoint-row p{margin:0 !important}.hero-actions{flex-wrap:wrap !important;gap:8px !important}.facts-card>.button{margin-top:8px !important}@media(max-width:600px){.entrypoint-row{grid-template-columns:1fr !important;gap:5px !important}}
.card .card-desc{display:block !important;-webkit-line-clamp:unset !important;line-clamp:unset !important;-webkit-box-orient:initial !important;overflow:visible !important;text-overflow:clip !important;max-height:none !important;height:auto !important;min-height:0 !important;flex:0 0 auto !important;overflow-wrap:anywhere !important}
.tool-grid .card{height:auto !important;max-height:none !important;overflow:visible !important}
.card .cardfoot{margin-top:auto !important;flex-wrap:wrap !important;row-gap:8px !important}

.theme-picker{position:relative;flex-shrink:0;z-index:30;line-height:1.4}
.theme-picker>summary{display:grid;place-items:center;width:33px;height:33px;padding:7px;border:1px solid var(--p-border);border-radius:7px;color:var(--p-accent);background:var(--p-surface);cursor:pointer;list-style:none}
.theme-picker>summary::-webkit-details-marker{display:none}.theme-picker>summary svg{width:17px;height:17px}
.theme-picker[open]>summary,.theme-picker>summary:hover{background:var(--p-soft);border-color:var(--p-hover)}
.theme-picker-panel{position:absolute;right:0;top:calc(100% + 10px);width:223px;padding:10px;border:1px solid var(--p-border);border-radius:11px;background:var(--p-surface);box-shadow:0 12px 32px #18243518;color:var(--p-ink);text-align:left}
.theme-picker-title{font-size:10px!important;color:var(--p-muted)!important;font-weight:500;margin:3px 9px 8px!important;letter-spacing:.4px;line-height:1.5!important}
.theme-choice{width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px!important;border:0;border-radius:6px;background:transparent;color:var(--p-text)!important;font-size:11px!important;line-height:1.4;box-shadow:none!important;text-align:left}
.theme-choice:hover,.theme-choice.selected{background:var(--p-soft)}.theme-choice.selected{color:var(--p-accent)!important}
.theme-choice-swatch{width:22px;height:22px;border:1px solid var(--p-border);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-choice-swatch::after{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.theme-choice-check{margin-left:auto;font-size:12px;visibility:hidden}.selected .theme-choice-check{visibility:visible}
.theme-gallery-link{display:block;font-size:10px!important;padding:11px 9px 3px;margin-top:6px;border:0!important;border-top:1px solid var(--p-border)!important;color:var(--p-accent)!important;line-height:1.5}
.theme-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.theme-picker>summary:focus-visible,.theme-choice:focus-visible{outline:2px solid var(--p-accent);outline-offset:3px}
@media(max-width:720px){.theme-picker>summary{width:31px;height:31px}.theme-picker-panel{position:fixed;top:78px;right:16px;max-width:calc(100vw - 32px)}.topbar .theme-picker-panel{top:65px}}

/* Personal links share the active palette; no hard-coded green form controls. */
#addDialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;color:var(--p-ink)}
#addDialog h2{color:var(--p-ink);margin-bottom:12px}#addDialog label{color:var(--p-text)}
#addDialog input,#addDialog select{color:var(--p-ink);background:var(--p-surface);border-color:var(--p-border);min-width:0}
#addDialog input:focus-visible,#addDialog select:focus-visible{outline:2px solid var(--p-accent);outline-offset:2px}
#addDialog button[type=submit]{background:var(--p-accent);border-color:var(--p-accent);color:#fff}
#addDialog #cancel{background:var(--p-soft);border-color:var(--p-border);color:var(--p-accent)}
#addDialog .local-add-note,#personalLinkEmpty{font-size:12px;line-height:1.8;color:var(--p-muted)}
.personal-submit{display:inline-block;margin:0 0 18px;font-size:12px;color:var(--p-accent)}
.personal-save-status{min-height:1.8em;font-size:12px;line-height:1.8;color:var(--p-accent)}
.personal-links{border-top:1px solid var(--p-border);margin-top:10px;padding-top:12px}.personal-links summary{cursor:pointer;font-size:13px;color:var(--p-ink);padding:7px 0}.personal-links summary span:last-child{margin-left:10px;font-variant-numeric:tabular-nums;color:var(--p-muted)}
.personal-links ul{list-style:none;margin:10px 0;padding:0}.personal-link-row{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid var(--p-border);overflow-wrap:anywhere}.personal-link-row a{color:var(--p-accent);font-size:13px}.personal-link-row small{color:var(--p-muted);font-size:11px}
@media(max-width:480px){#addDialog{padding:22px 18px}#addDialog button{min-height:40px}#addDialog input,#addDialog select{font-size:16px}.profile-tabs{gap:6px 18px}.profile-tabs a{padding-block:8px;min-height:42px}}
