/* Visual v4.3: artwork and spacing only; canvas and lab geometry stay unchanged. */
.tool-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px}
.tool-filters>label:first-child{flex:1 1 260px}.tool-filters>label{min-width:0}
.tool-filters :is(input,select){width:100%;min-height:44px;border:1px solid var(--line,#d6e3f1);border-radius:10px;padding:10px 12px;background:var(--panel,#fff);color:var(--ink,#12233a)}
.tool-directory-thumb{display:grid;place-items:center;padding:20px!important;min-height:150px}
.tool-directory-thumb img{width:100%!important;height:110px!important;max-height:110px;object-fit:contain!important;transition:transform .22s ease}
.tool-icon-preview img{object-fit:contain!important;width:76px!important;height:76px!important;padding:8px}
.tool-directory-card{min-width:0;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tool-directory-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #186cbd1a}
.tool-directory-card:hover .tool-directory-thumb img{transform:scale(1.05)}
.tool-directory-copy{min-width:0}.tool-directory-copy h3{line-height:1.45}
.tool-group{scroll-margin-top:100px}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2797ef;outline-offset:3px}
.btn,.icon-btn,.catalog-card,.template-card,.cms-nav a{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.btn:hover:not(:disabled),.icon-btn:hover{box-shadow:0 4px 12px #1267b61a}
.page-ad-layout>.page-content{min-width:0}
.cms-body .cms-main :is(.panel,.table-wrap,.cms-grid,.cms-layout,.two){min-width:0;max-width:100%}
.cms-body .table-wrap{overflow-x:auto;overscroll-behavior-x:contain}
.cms-body .cms-main :is(input,select,textarea){max-width:100%;min-width:0}
.cms-body .cms-main :is(.panel-head,.cms-top,.button-wrap){gap:12px;flex-wrap:wrap}
.cms-body .cms-main :is(.panel-head,.cms-top)>div{min-width:0}
.cms-body .cms-main img{max-width:100%;object-fit:contain}
.editor-actions{gap:8px!important}.stepper{gap:6px!important}
.editor-actions .btn{min-height:36px}
@media(max-width:760px){.tool-filters>label{flex:1 1 100%}.tool-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tool-directory-card{min-width:0}.tool-directory-thumb{padding:16px!important;min-height:132px}.tool-directory-thumb img{height:90px!important}.tool-directory-copy p{font-size:12px}.tool-directory-copy h3{font-size:15px}}
@media(max-width:460px){.tool-directory-grid{grid-template-columns:minmax(0,1fr)!important}.tool-detail-meta{flex-wrap:wrap;gap:12px}.tool-filters .btn{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html[data-theme="dark"] .editor-page :is(.inspector label,.section-mini-title,.turtle-workspace-head small,.data-drawer small,.data-drawer label,.editor-status){color:#b4c9e3}
html[data-theme="dark"] .editor-page .inspector-tabs button{color:#c2d4ec}
html[data-theme="dark"] .editor-page .inspector-tabs button.active{color:#66b4ff}
/* Keep authentication readable when the shared Visual theme is dark. */
html[data-theme="dark"] .auth-shell{background:radial-gradient(ellipse at top,#173857,#09172b)}
html[data-theme="dark"] .auth-card{background:#14243c!important;border-color:#365372!important;color:#eaf3ff!important}
html[data-theme="dark"] .auth-card :is(h1,b,label){color:#eaf3ff!important}
html[data-theme="dark"] .auth-card :is(p,small,.form-help,.muted){color:#b6c9e1!important}
html[data-theme="dark"] .auth-card :is(input:not([type="checkbox"]),select){background:#0b1a30!important;border-color:#3b5977!important;color:#eaf3ff!important}
html[data-theme="dark"] .auth-card a{color:#71bbff}
