/* Machine finder: scoped styles, no assumptions about calculator components. */
.directory-page { --directory-mint:#a4ebc6; --directory-amber:#edc47d; }
.directory-page .directory-intro { padding-bottom:30px; }
.directory-page .directory-intro h1 { max-width:760px; }
.directory-page .directory-intro .directory-number { white-space:nowrap; }
.explorer-ui { min-width:0; }
.explorer-ui [hidden], #machine-explorer [hidden] { display:none !important; }
.explorer-controls { padding:26px; border:1px solid #33483c; border-radius:16px; background:linear-gradient(130deg,#15251d,#101914 70%); box-shadow:0 20px 60px #0002; }
.explorer-controls label, .explorer-share-fallback label { display:block; margin:0 0 8px; color:#d4e4da; font-size:13px; font-weight:750; }
.explorer-search-input { display:flex; align-items:center; min-height:60px; background:#090f0b; border:1px solid #486655; border-radius:9px; padding:0 8px 0 16px; gap:12px; }
.explorer-search-input > span { color:var(--directory-mint); font-size:31px; line-height:1; }
.explorer-search-input input { min-width:0; width:100%; min-height:58px; padding:10px 0; border:0; color:#f2f8f4; background:transparent; outline:none; font-size:17px; }
.explorer-search-input:focus-within { outline:2px solid var(--directory-mint); outline-offset:3px; }
.explorer-search-input input::placeholder { color:#92a99b; opacity:1; }
.explorer-search-input button { flex:none; min-height:44px; min-width:48px; border:0; border-radius:6px; color:#bed2c5; background:#1c2b22; font-size:12px; cursor:pointer; }
.explorer-search-field > p { margin:9px 0 0; color:#a4bbae; font-size:11px; line-height:1.8; }
.explorer-filter-fields { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:16px; margin-top:23px; }
.explorer-filter-fields > div { min-width:0; }
.explorer-filter-fields select { width:100%; min-width:0; min-height:48px; padding:10px 28px 10px 12px; border:1px solid #3c5144; border-radius:7px; background:#101b14; color:#e7f0e9; font-size:13px; color-scheme:dark; }
.explorer-control-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding-top:17px; border-top:1px solid #2d4135; }
.explorer-control-bottom .explorer-saved-filter { display:flex; align-items:center; min-height:44px; gap:9px; margin:0; cursor:pointer; font-size:12px; }
.explorer-saved-filter input { accent-color:#a4ebc6; width:19px; height:19px; margin:0; }
.explorer-saved-count { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:4px; border-radius:50%; background:#293d30; color:var(--directory-mint); font-size:11px; font-variant-numeric:tabular-nums; }
.explorer-text-button { min-height:44px; border:0; padding:7px 0; color:#b2d8c0; background:transparent; text-decoration:underline; text-underline-offset:4px; cursor:pointer; font-size:12px; }
.explorer-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 15px; border:1px solid #4c6d59; border-radius:7px; background:#1a3022; color:#c9f7dd; font-size:12px; font-weight:750; cursor:pointer; }
.explorer-button:hover { background:#25402f; border-color:#85b198; }
.explorer-ui button:focus-visible, .explorer-ui a:focus-visible, .explorer-ui select:focus-visible, .explorer-ui input:focus-visible, .explorer-table-scroll:focus-visible, .explorer-loading button:focus-visible { outline:2px solid var(--directory-mint); outline-offset:4px; }
.explorer-ui .explorer-search-input input:focus-visible { outline:none; }
.explorer-method-note { color:#a3b5a9; font-size:11px; line-height:1.95; margin:14px 3px 24px; }
.explorer-method-note strong { color:#cfb888; font-weight:600; }
.explorer-results-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; padding-top:10px; }
.explorer-results-heading h2 { font-size:18px; margin:0; font-weight:750; }
.explorer-result-count { display:inline-block; margin-left:12px; font-size:13px; color:#9cb5a5; font-weight:500; font-variant-numeric:tabular-nums; }
.explorer-action-status { min-height:24px; color:var(--directory-amber); font-size:12px; line-height:1.8; margin:12px 0; }
.explorer-share-fallback { margin-top:16px; padding:16px; border:1px solid #405347; border-radius:8px; }
.explorer-share-fallback input { width:100%; min-height:44px; padding:10px; border:1px solid #536657; border-radius:5px; color:#d4efdf; background:#0a100c; font-size:14px; }
.explorer-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; list-style:none; padding:0; margin:0; }
.explorer-card { min-width:0; display:flex; flex-direction:column; padding:18px; border:1px solid #2e4336; border-radius:11px; background:#101b14; transition:border-color .15s ease,background .15s ease; }
.explorer-card:hover { border-color:#50775e; background:#142019; }
.explorer-card.is-compared { border-color:#8fd6ac; box-shadow:inset 0 3px #8fd6ac; }
.explorer-card-top { display:flex; justify-content:space-between; align-items:center; gap:6px; min-height:38px; }
.explorer-card-top > span { font-size:10px; color:#a8bfb0; line-height:1.6; overflow-wrap:anywhere; }
.explorer-save { flex:none; display:flex; align-items:center; gap:5px; min-height:44px; margin:-7px -6px -7px 0; padding:6px; border:0; border-radius:5px; background:transparent; color:#b9cbbf; font-size:11px; cursor:pointer; }
.explorer-save > span { font-size:20px; line-height:1; }
.explorer-save[aria-pressed=true] { color:var(--directory-amber); }
.explorer-save:hover { background:#223429; }
.explorer-card h3 { margin:11px 0 18px; font-size:15px; line-height:1.8; font-weight:750; }
.explorer-card>.yutime-status{margin:2px 0 0}
.explorer-table-scroll .yutime-status{font-size:12px;padding:6px 10px}
.explorer-card h3 a { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-height:44px; }
.explorer-card h3 a > span { flex:none; color:#87bc9b; font-size:18px; }
.explorer-card h3 a:hover { color:var(--directory-mint); text-decoration:underline; text-underline-offset:4px; }
.explorer-facts { margin:auto 0 0; padding:13px 0 7px; border-top:1px solid #2b3e31; }
.explorer-facts > div { display:grid; grid-template-columns:54px minmax(0,1fr); gap:8px; padding:5px 0; align-items:baseline; }
.explorer-facts dt { color:#99afa1; font-size:10px; }
.explorer-facts dd { margin:0; color:#deece3; font-size:12px; line-height:1.8; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.explorer-facts > div:nth-child(2) dd { color:var(--directory-mint); font-weight:750; }
.explorer-evidence { min-height:38px; display:flex; align-items:center; gap:8px; color:#b7c5ba; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.explorer-evidence:hover { color:#e0f1e5; }
.explorer-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #2c4032; margin-top:8px; padding-top:12px; }
.explorer-card-bottom > a { display:flex; align-items:center; min-height:44px; font-size:11px; font-weight:700; color:#c1e8d0; gap:10px; }
.explorer-compare { flex:none; min-height:44px; padding:8px 12px; color:#b7e6ca; background:#1b3023; border:1px solid #52715d; border-radius:6px; font-size:11px; cursor:pointer; font-weight:700; }
.explorer-compare[aria-pressed=true] { color:#0a2414; background:#a4ebc6; border-color:#a4ebc6; }
.explorer-compare:hover { border-color:#a4ebc6; }
.explorer-empty { padding:45px 22px; text-align:center; border:1px dashed #4f6557; border-radius:10px; background:#101a14; }
.explorer-empty > span { display:block; color:var(--directory-mint); font-size:34px; }
.explorer-empty h3 { margin:5px 0 10px; font-size:18px; }
.explorer-empty p { color:#b5c8bd; font-size:13px; line-height:1.8; }
.explorer-comparison { scroll-margin-top:95px; margin-top:45px; padding:26px; border:1px solid #476c55; border-radius:12px; background:#102017; }
.explorer-comparison:focus { outline:2px solid var(--directory-mint); outline-offset:4px; }
.explorer-comparison-heading { display:flex; gap:15px; justify-content:space-between; align-items:center; }
.explorer-comparison h2 { font-size:clamp(20px,4.5vw,27px); line-height:1.45; margin:8px 0; }
.explorer-comparison > p { color:#b5cbbd; font-size:12px; line-height:1.9; }
.explorer-scroll-hint { margin:18px 0 9px; color:#a4bfae; font-size:10px; }
.explorer-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; border:1px solid #3b5846; border-radius:8px; scrollbar-color:#709880 #122018; }
.explorer-table-scroll table { width:100%; min-width:660px; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:12px; }
.explorer-table-scroll th, .explorer-table-scroll td { vertical-align:top; text-align:left; padding:17px 15px; border-right:1px solid #324c3b; border-bottom:1px solid #324c3b; overflow-wrap:anywhere; line-height:1.85; }
.explorer-table-scroll tr > :last-child { border-right:0; }
.explorer-table-scroll tbody tr:last-child > * { border-bottom:0; }
.explorer-table-scroll thead th { color:#eff7f2; background:#1e3527; font-size:13px; }
.explorer-table-scroll tr > :first-child { position:sticky; left:0; width:138px; background:#162c1f; color:#bbd6c5; font-size:11px; z-index:1; }
.explorer-table-scroll td { background:#0e1c13; color:#cfe7d8; }
.explorer-table-scroll td a { color:#ace3c3; text-decoration:underline; text-underline-offset:4px; display:inline-flex; align-items:center; min-height:44px; }
.explorer-table-scroll thead button { display:block; min-height:44px; margin-top:10px; border:0; padding:4px 0; background:transparent; color:#b4c7bb; font-size:10px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.explorer-return { display:inline-flex; align-items:center; min-height:44px; color:#b1e6c8; font-size:12px; text-decoration:underline; text-underline-offset:5px; }
.explorer-save-note { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin:27px 0 10px; padding-top:16px; border-top:1px solid #2b4032; }
.explorer-save-note p { flex:1 1 500px; margin:0; color:#a5baad; font-size:11px; line-height:1.9; }
.explorer-save-note a { color:#b7dec8; text-decoration:underline; text-underline-offset:3px; }
.explorer-tray { position:fixed; left:50%; bottom:22px; transform:translateX(-50%); z-index:45; display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(450px,calc(100% - 30px)); padding:14px 18px; color:#e9f8ee; background:#183022f2; border:1px solid #83bd96; border-radius:12px; box-shadow:0 9px 40px #0008; backdrop-filter:blur(14px); }
.explorer-tray > div { display:flex; align-items:center; gap:14px; }
.explorer-tray strong { white-space:nowrap; font-size:25px; color:var(--directory-mint); line-height:1.2; font-variant-numeric:tabular-nums; }
.explorer-tray small { color:#c0d0c5; font-size:11px; font-weight:500; }
.explorer-tray-label { font-size:11px; color:#bfd8c8; }
.explorer-tray > a { display:flex; align-items:center; gap:13px; min-height:44px; padding:8px 15px; border-radius:6px; background:#a4ebc6; color:#0a2917; font-weight:750; font-size:12px; }
.explorer-loading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:15px; margin:0 0 24px; padding:18px; border:1px solid #645232; border-radius:8px; color:#dfcfad; font-size:12px; }
.explorer-loading p { margin:0; }
#directory-search { scroll-margin-top:90px; }
.directory-page .directory-browser-section { padding-bottom:60px; }
@media (max-width:950px) { .explorer-results { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1023px) { .explorer-tray { bottom:calc(76px + env(safe-area-inset-bottom)); } }
@media (max-width:680px) {
  .explorer-controls { padding:18px; border-radius:11px; }
  .explorer-filter-fields { grid-template-columns:1fr 1fr; gap:15px 12px; }
  .explorer-filter-fields > div:last-child { grid-column:1 / -1; }
  .explorer-filter-fields select { font-size:14px; }
  .explorer-results { grid-template-columns:minmax(0,1fr); gap:13px; }
  .explorer-results-heading { align-items:flex-start; }
  .explorer-results-heading h2 { font-size:16px; padding-top:3px; }
  .explorer-result-count { display:block; margin:3px 0 0; font-size:12px; }
  .explorer-share { padding-inline:11px; font-size:11px; }
  .explorer-card { padding:18px 20px; }
  .explorer-card h3 { font-size:16px; margin-top:8px; margin-bottom:13px; }
  .explorer-facts > div { grid-template-columns:67px minmax(0,1fr); }
  .explorer-facts dt { font-size:11px; }
  .explorer-facts dd { font-size:13px; }
  .explorer-card-bottom > a { font-size:12px; }
  .explorer-comparison { padding:18px 14px; margin-top:30px; }
  .explorer-comparison-heading { align-items:flex-start; }
  .explorer-comparison-heading > button { flex:none; }
  .explorer-table-scroll table { min-width:620px; }
  .explorer-table-scroll tr > :first-child { width:111px; }
  .explorer-table-scroll th, .explorer-table-scroll td { padding:14px 11px; }
  .explorer-tray { bottom:calc(76px + env(safe-area-inset-bottom)); padding:10px 12px; gap:10px; }
  .explorer-tray-label { display:none; }
  .explorer-save-note { margin-bottom:35px; }
}
@media (prefers-reduced-motion:reduce) { .explorer-card { transition:none; } }
@media print { .explorer-controls, .explorer-tray, .explorer-card-bottom button, .explorer-save, .explorer-share { display:none; } .explorer-table-scroll { overflow:visible; } .explorer-results { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Verified model visuals. No generated substitutes: links survive without dialogs. */
.explorer-card h3{margin-bottom:5px}
.explorer-release{margin:2px 0 8px;font-size:13px;line-height:1.7;color:#b9dbc8;font-weight:650}
.explorer-release a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.explorer-release-unknown{color:#a0b4a7;font-weight:400}
.explorer-identification{margin:0 0 15px;font-size:12px;font-weight:400;line-height:1.85;color:#bfd2c6}
.explorer-identification p{margin:0 0 5px;overflow-wrap:anywhere}
.explorer-identification .explorer-shared-frame-note{color:#92ac9c;font-size:10px}
.explorer-visual{margin:10px 0 12px;min-width:0}
.explorer-image-open{display:block;position:relative;height:278px;padding:13px 13px 35px;background:#f0f2ed;border:1px solid #d3dcd2;border-radius:8px;overflow:hidden}
.explorer-image-open:hover{background:#fff;box-shadow:0 0 0 2px #a4ebc677}
.explorer-image-open img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal}
.explorer-image-expand{display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;bottom:0;left:0;right:0;min-height:29px;background:#e2e9e0;color:#274533;font-size:10px;font-weight:700;border-top:1px solid #c9d6c9}
.explorer-image-expand>span{font-size:15px}
.explorer-visual figcaption{font-size:9px;line-height:1.75;padding:7px 1px 0;color:#94ad9e}
.explorer-visual-credit{display:block;overflow-wrap:anywhere}
.explorer-visual-source{display:inline-flex;align-items:center;min-height:30px;gap:4px;color:#b7d4c1;text-decoration:underline;text-underline-offset:3px;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.explorer-visual-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:24px 18px;border:1px dashed #45604d;border-radius:8px;background:#17271c;text-align:center;color:#b4cabc}
.explorer-visual-placeholder p{font-size:11px;line-height:1.8;margin:0}
.explorer-visual-placeholder a{justify-content:center}
.explorer-table-scroll .explorer-release{font-size:10px;margin:8px 0}
.explorer-table-scroll .explorer-release a{display:inline;min-height:0}
.explorer-table-scroll .explorer-identification{font-size:10px;margin-bottom:4px;color:#bcd3c5}
.explorer-table-scroll .explorer-visual{margin:0}
.explorer-table-scroll .explorer-image-open{display:block;min-height:0;height:245px;padding:10px 8px 33px;text-decoration:none}
.explorer-table-scroll .explorer-visual-source{display:inline-flex;min-height:30px;font-size:9px}
.explorer-table-scroll .explorer-visual-placeholder{min-height:245px;padding:15px 10px}
.explorer-image-dialog{position:fixed;inset:0;width:min(880px,calc(100% - 28px));max-height:calc(100dvh - 30px);padding:0;border:1px solid #607b68;border-radius:14px;background:#122018;color:#e8f4ed;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 110px #0009}
.explorer-image-dialog:not([open]){display:none}
.explorer-image-dialog::backdrop{background:#000c;backdrop-filter:blur(3px)}
.explorer-image-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 21px;position:sticky;top:0;background:#122018f7;border-bottom:1px solid #38533f;z-index:1}
.explorer-image-dialog-header h2{margin:0;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.explorer-image-dialog-close{flex:none;border:1px solid #637f6a;border-radius:7px;min-height:44px;padding:8px 12px;background:#233c2c;color:#e4f3e9;font-size:12px;cursor:pointer}
.explorer-image-dialog-close span{margin-left:8px;font-size:21px;vertical-align:-1px}
.explorer-dialog-image-region{display:flex;align-items:center;justify-content:center;min-height:200px;background:#f5f6f1;padding:22px}
.explorer-dialog-image-region>img{display:block;width:100%;max-width:730px;height:auto;max-height:70dvh;object-fit:contain}
.explorer-dialog-image-details{padding:18px 23px 22px;color:#b6ccbf;font-size:12px;line-height:1.9}
.explorer-dialog-image-details p{margin:4px 0 8px}
.explorer-dialog-image-details .explorer-identification{font-size:12px}
.explorer-dialog-image-details>a{color:#b2eac9;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.explorer-dialog-image-details .explorer-dialog-keyboard{font-size:10px;color:#8daa98;margin-top:10px}
.explorer-dialog-image-error{max-width:560px;color:#4d5d51;font-size:14px;line-height:1.9;padding:25px}
@media(max-width:680px){.explorer-card h3{margin-bottom:5px}.explorer-image-open{height:330px}.explorer-release{font-size:12px}.explorer-identification{font-size:12px}.explorer-image-dialog-header{padding:14px 15px;align-items:flex-start}.explorer-image-dialog-header h2{font-size:14px}.explorer-image-dialog-close{font-size:11px;padding:8px 10px}.explorer-dialog-image-region{padding:14px}.explorer-dialog-image-details{padding:16px}.explorer-table-scroll .explorer-image-open{height:235px}.explorer-table-scroll .explorer-visual-placeholder{min-height:235px}}
@media print{.explorer-image-dialog,.explorer-image-expand{display:none}.explorer-image-open{height:210px;padding-bottom:10px}.explorer-visual-source{color:#153924}}
/* Catalog filters and actions remain usable on narrow screens. */
.explorer-yutime-filter{min-width:0;margin:22px 0 0;padding:0;border:0}
.explorer-yutime-filter legend{padding:0;margin-bottom:9px;color:#d4e4da;font-size:13px;font-weight:750}
.explorer-yutime-filter>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.explorer-yutime-filter label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:0;padding:10px;border:1px solid #405b49;border-radius:7px;background:#0e1b13;color:#b9cfc1;cursor:pointer;line-height:1.6;text-align:center}
.explorer-yutime-filter label:has(input:checked){border-color:#a4ebc6;background:#244531;color:#dcf9e8}
.explorer-yutime-filter label:focus-within{outline:2px solid #a4ebc6;outline-offset:3px}
.explorer-yutime-filter input{flex:none;width:17px;height:17px;margin:0;accent-color:#a4ebc6}
.explorer-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.explorer-quick-links a{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #375440;border-radius:6px;color:#b9dcc6;background:#14271b;font-size:11px;font-weight:650;line-height:1.7;text-decoration:none}
.explorer-quick-links a:hover{border-color:#8fc5a2;background:#1d3526}
.explorer-quick-links a span{flex:none}
.explorer-table-scroll .explorer-quick-links{grid-template-columns:minmax(0,1fr);margin-top:0}
.explorer-table-scroll .explorer-quick-links a{display:flex;font-size:11px;text-decoration:none}
.explorer-facts>div{grid-template-columns:62px minmax(0,1fr)}
.static-catalog-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px 16px;min-width:0;min-height:110px;padding:21px;border:1px solid #2b3b30;border-radius:9px;background:#101713}
.static-catalog-card:hover{border-color:#67937a;background:#15231a}
.static-catalog-card .directory-name{grid-column:1/-1;font-size:14px;line-height:1.7;font-weight:700;color:#dfebe3}
.static-catalog-card small{align-self:center;color:#9ab0a0;font-size:11px}
.static-catalog-card .directory-tool{display:inline-flex;align-items:center;justify-content:end;min-height:44px;color:#9bdcb3;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.static-catalog-card .catalog-identity,.static-catalog-card .catalog-flow,.static-catalog-card .explorer-quick-links,.static-directory-card .explorer-quick-links{grid-column:1/-1}
.static-catalog-card .catalog-flow{font-size:12px;line-height:1.9;color:#bcd0c3;margin:0}
.static-catalog-card .catalog-flow strong{display:block;color:#a4ebc6;margin-bottom:4px}
.static-catalog-card .catalog-identity{min-width:0}
.directory-page .directory-feature-links{gap:10px 22px}
@media(max-width:680px){.explorer-yutime-filter>div{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-yutime-filter label:first-child{grid-column:1/-1}.explorer-yutime-filter label{padding:9px 8px;font-size:12px;gap:6px}.explorer-quick-links a{font-size:12px}.explorer-facts>div{grid-template-columns:67px minmax(0,1fr)}.static-catalog-card{padding:18px}.directory-page .directory-feature-links{display:grid;grid-template-columns:minmax(0,1fr)}}
@media print{.explorer-quick-links{display:none}}
