*{box-sizing:border-box}body{margin:0;font-family:var(--brand-font);color:var(--brand-ink);background:var(--brand-bg);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;flex-direction:column}.shell{width:100%;max-width:var(--brand-maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--brand-border);background:var(--brand-surface)}.site-header .shell{display:flex;align-items:center;justify-content:space-between;height:60px}.brand-logo{height:28px;width:auto;display:block}.site-header nav a{color:var(--brand-muted);text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover{color:var(--brand-ink)}main{flex:1;padding:48px 0 64px}.hero h1{font-size:34px;line-height:1.15;margin:0 0 8px;letter-spacing:-.02em}.hero p.sub{margin:0 0 28px;color:var(--brand-muted);font-size:17px}.searchbox{position:relative}.searchbox input{width:100%;padding:16px 18px;font-size:17px;border:2px solid var(--brand-border);border-radius:var(--brand-radius);background:var(--brand-surface);color:var(--brand-ink);outline:none;transition:border-color .15s ease}.searchbox input:focus{border-color:var(--brand-primary)}.suggestions{list-style:none;margin:6px 0 0;padding:6px;position:absolute;z-index:10;width:100%;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--brand-radius);box-shadow:0 14px 40px #16284f1f}.suggestions li{padding:11px 12px;border-radius:8px;cursor:pointer;font-size:15px}.suggestions li:hover,.suggestions li[aria-selected=true]{background:#fff1ea}.suggestions .sub{color:var(--brand-muted);font-size:13px;margin-top:2px}.hint{color:var(--brand-muted);font-size:13px;margin-top:10px}.panel{margin-top:28px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--brand-radius);padding:22px}.confirm{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.slideshow{width:280px;max-width:100%}.slideshow img{width:100%;border-radius:10px;display:block;background:#eee;aspect-ratio:16/10;object-fit:cover}.slideshow .dots{display:flex;gap:6px;justify-content:center;margin-top:8px}.slideshow .dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--brand-border);cursor:pointer}.slideshow .dots button[aria-current=true]{background:var(--brand-primary)}.confirm .meta{flex:1;min-width:220px}.confirm .meta h2{margin:0 0 6px;font-size:22px}.ports{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}.port-chip{font-size:12px;font-weight:600;background:#eef1f6;color:var(--brand-ink-soft);padding:4px 9px;border-radius:999px}.confirm .ask{font-weight:700;margin-bottom:10px}.btnrow{display:flex;gap:10px;flex-wrap:wrap}button.btn{font-family:inherit;font-weight:700;font-size:14px;padding:10px 16px;border-radius:9px;cursor:pointer;border:2px solid transparent}.btn.primary{background:var(--brand-primary);color:#fff}.btn.primary:hover{background:var(--brand-primary-dark)}.btn.ghost{background:transparent;border-color:var(--brand-border);color:var(--brand-ink)}.btn.ghost:hover{border-color:var(--brand-ink-soft)}.confirmed-note{margin-top:12px;color:var(--brand-success);font-weight:600;font-size:14px}.results{margin-top:28px}.results h3{font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-muted);margin:0 0 12px}.dock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.dock-col{display:flex;flex-direction:column;gap:12px}.dock-col-head{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-ink-soft);padding-bottom:8px;border-bottom:2px solid var(--brand-border)}.dock-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--brand-radius);padding:14px;display:flex;flex-direction:column}.dock-card img{width:100%;border-radius:8px;aspect-ratio:16/10;object-fit:contain;background:#fff}.dock-card .tagrow{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.dock-card .tag{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}.dock-card .tag.best{background:#fff1ea;color:var(--brand-primary-dark)}.dock-card .tag.value{background:#eaf1ff;color:var(--brand-value)}.dock-card .tag.reason{background:#eef1f6;color:var(--brand-ink-soft)}.dock-card h4{margin:0 0 6px;font-size:15px;line-height:1.25}.dock-card .stars{font-size:13px;font-weight:700;color:var(--brand-ink-soft);margin-bottom:6px}.dock-card .stars .count{font-weight:500;color:var(--brand-muted)}.dock-card .blurb{color:var(--brand-muted);font-size:13px;flex:1}.dock-card .mac-alt{font-size:12px;color:var(--brand-muted);margin-top:4px}.dock-card .mac-alt a{color:var(--brand-primary)}.dock-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.dock-card .price{font-weight:800}.dock-card a.shop{font-size:13px;font-weight:700;color:var(--brand-primary);text-decoration:none}.dock-card a.shop:hover{text-decoration:underline}.dock-card.empty{align-items:center;justify-content:center;text-align:center;min-height:120px;color:var(--brand-muted);font-size:13px;font-weight:600;border-style:dashed;background:transparent}@media(max-width:720px){.dock-grid{grid-template-columns:1fr}.dock-col-head{padding-top:8px}}.report .ask{font-weight:700;margin:0 0 4px}.report p.lead{color:var(--brand-muted);margin:0 0 14px;font-size:14px}.report form{display:flex;gap:10px;flex-wrap:wrap}.report input[type=url]{flex:1;min-width:240px;padding:12px 14px;font-size:15px;border:2px solid var(--brand-border);border-radius:9px;outline:none}.report input[type=url]:focus{border-color:var(--brand-primary)}.banner{font-size:12px;font-weight:700;color:var(--brand-ink-soft);background:#eef1f6;display:inline-block;padding:4px 10px;border-radius:999px;margin-bottom:18px}.site-footer{border-top:1px solid var(--brand-border);background:var(--brand-surface);padding:22px 0;color:var(--brand-muted);font-size:13px}.site-footer .shell{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.need-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 4px}.need-label{font-size:13px;font-weight:700;color:var(--brand-ink-soft)}.need-chip{font-size:13px;font-weight:600;color:var(--brand-ink-soft);background:var(--brand-surface);border:2px solid var(--brand-border);border-radius:999px;padding:6px 14px;cursor:pointer}.need-chip:hover{border-color:var(--brand-primary)}.need-chip.on{color:#fff;background:var(--brand-primary);border-color:var(--brand-primary)}.dock-card .caveat{font-size:12px;color:var(--brand-ink-soft);background:#fff7e8;border:1px solid #F2DFB6;border-radius:8px;padding:6px 8px;margin-top:6px}.dock-card .caveat.known-issue a{color:var(--brand-primary);text-decoration:underline}.dock-card .caveat .workaround{margin-top:4px;font-weight:600}.dock-card .display-line{font-size:13px;font-weight:600;color:var(--brand-ink-soft);margin-top:6px}.dock-card .works-if{font-size:12px;color:var(--brand-ink-soft);background:#eef6ee;border:1px solid #CFE5CF;border-radius:8px;padding:6px 8px;margin-top:6px}.dock-card .works-if-head{font-weight:700}.dock-card .works-if ul{margin:2px 0 0;padding-left:18px}.dock-card .undetermined{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--brand-ink-soft);background:#f1f4f8;border:1px solid var(--brand-border);border-radius:8px;padding:6px 8px;margin-top:6px}.dock-card .undetermined p{margin:0 0 2px}.dock-card .undetermined-icon{flex:none;width:16px;height:16px;border-radius:50%;background:var(--brand-muted);color:#fff;font-size:11px;font-weight:700;font-style:italic;text-align:center;line-height:16px}.dock-card .per-port{list-style:none;margin:6px 0 0;padding:0;font-size:12px}.dock-card .per-port .port{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.dock-card .per-port .port.works span:last-child,.dock-card .per-port .port.works_if span:last-child{color:#2e7d32;font-weight:600}.dock-card .per-port .port.does_not_work span:last-child{color:#b3261e;font-weight:600}.dock-card .per-port .port.undetermined span:last-child{color:var(--brand-muted)}.why-not{margin-top:18px;font-size:14px}.why-not summary{cursor:pointer;font-weight:700;color:var(--brand-ink-soft)}.why-not ul{list-style:none;padding:0;margin:10px 0 0}.why-not li{padding:8px 0;border-top:1px solid var(--brand-border)}.why-not a{color:var(--brand-primary);font-weight:600;text-decoration:none}.why-not-kind{color:var(--brand-muted);font-size:13px}.why-not-reason{color:var(--brand-muted);font-size:13px;margin-top:2px}.confidence-note{font-size:13px;color:var(--brand-ink-soft);background:#fff7e8;border:1px solid #F2DFB6;border-radius:9px;padding:8px 12px;margin:14px 0 0}.dock-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.dock-card.clickable:hover{border-color:var(--brand-primary);box-shadow:0 2px 10px #0000000f}.dock-card.more{margin-top:10px}.dock-card .why-pick{font-size:12px;color:var(--brand-ink-soft);margin-top:6px}.more-in-col{display:flex;flex-direction:column}.show-more{margin-top:4px;padding:8px;font:inherit;font-size:13px;font-weight:700;color:var(--brand-primary);background:transparent;border:1px dashed var(--brand-border);border-radius:var(--brand-radius);cursor:pointer}.show-more:hover{border-color:var(--brand-primary)}.find-model{margin:10px 0 0;font-size:14px;color:var(--brand-ink-soft)}.find-model summary{cursor:pointer;color:var(--brand-primary);font-weight:600}.find-model ul{margin:8px 0 0;padding-left:18px;line-height:1.5}.no-photo-note{font-size:13px;color:var(--brand-muted);margin:-4px 0 10px}.by-ports{margin-top:18px;padding-top:14px;border-top:1px solid var(--brand-border)}.by-ports-head{font-weight:700;margin-bottom:10px}.by-ports-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.port-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;font:inherit;background:var(--brand-surface);cursor:pointer;border:1px solid var(--brand-border);border-radius:var(--brand-radius)}.port-choice:hover{border-color:var(--brand-primary)}.port-choice-label{font-weight:700;font-size:14px}.port-choice-hint{font-size:12px;color:var(--brand-muted)}.by-ports-help{font-size:13px;color:var(--brand-muted);margin:12px 0 0}.by-ports-help a{color:var(--brand-primary)}.by-ports-result h2{margin:0 0 6px;font-size:20px}.by-ports-result .lead{color:var(--brand-muted);font-size:14px;margin:0 0 12px}.suggestions .same-results{margin-left:6px;color:var(--brand-primary);font-weight:800}.suggestions .same-results-note,.suggestions .more-matches-note{cursor:default;font-size:12px;color:var(--brand-muted);background:var(--brand-bg)}.suggestions .same-results-note:hover,.suggestions .more-matches-note:hover{background:var(--brand-bg)}.brand-facet{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;color:var(--brand-ink-soft)}.brand-facet select{font:inherit;padding:6px 10px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-ink)}.tb-not-verified,.ports-caveat{font-size:13px;color:var(--brand-ink-soft);background:#fff7e8;border:1px solid #F2DFB6;border-radius:9px;padding:8px 12px;margin:10px 0 0}
