.desktop-shell {
  --paper:#fff; --ink:#191c1a; --secondary:#5e6661; --rule:#dedfdf; --soft:#f4f6f4;
  --green:#254d3c; --red:#a23f3f;
  color:var(--ink); background:var(--paper); color-scheme:light;
  font-family:"Noto Sans",-apple-system,BlinkMacSystemFont,"Noto Sans CJK SC",sans-serif;
  letter-spacing:0; line-height:1.5;
}
.desktop-shell * { box-sizing:border-box; min-width:0; }
.desktop-shell [hidden] { display:none !important; }
.desktop-shell a { color:inherit; text-decoration:none; }
.desktop-shell img { display:block; max-width:100%; }
.desktop-shell a:focus-visible,.desktop-shell button:focus-visible,.desktop-shell input:focus-visible,.desktop-shell select:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.dc-header { border-bottom:1px solid var(--rule); }
.dc-brand { display:flex; align-items:center; gap:14px; }
.dc-brand .ornith-logo,.dc-brand .ornith-logo img { display:block; width:48px; height:48px; flex:none; object-fit:contain; }
.dc-header-inner { max-width:1440px; margin:auto; padding:24px 40px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.dc-nav { display:flex; gap:32px; font-size:14px; }
.dc-nav a { padding:10px 0; border-bottom:2px solid transparent; }
.dc-nav a[aria-current=page] { border-color:var(--green); }
.dc-main { max-width:1440px; margin:auto; padding:32px 40px 64px; }
.dc-path { font-size:12px; color:var(--secondary); margin-bottom:24px; }
.dc-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; }
.dc-heading h1 { margin:0; font-size:30px; line-height:1.3; font-weight:600; }
.dc-heading p { margin:8px 0 0; color:var(--secondary); font-size:13px; }
.dc-search { display:flex; width:440px; max-width:100%; border:1px solid var(--ink); }
.desktop-shell input,.desktop-shell select,.desktop-shell button { font:inherit; color:var(--ink); border-radius:0; box-shadow:none; }
.dc-search input[type=search] { width:100%; border:0; background:white; padding:12px 16px; font-size:14px; border-radius:0; }
.dc-search button { width:48px; height:46px; flex:none; display:grid; place-items:center; border:0; border-left:1px solid var(--rule); background:var(--soft); cursor:pointer; padding:0; }
.dc-search button img { width:20px; height:20px; }
.dc-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:40px; }
.dc-filters { padding-right:24px; border-right:1px solid var(--rule); }
.dc-filters h2 { margin:0 0 20px; font-size:14px; font-weight:600; }
.dc-field { display:block; margin-bottom:24px; }
.dc-field > span,.dc-field legend { display:block; font-size:12px; font-weight:600; margin-bottom:10px; }
.dc-field select { background:#fff; border:1px solid var(--rule); padding:9px 7px; width:100%; font-size:12px; }
.dc-field label { display:flex; gap:8px; align-items:center; font-size:13px; margin:10px 0; cursor:pointer; }
.dc-field input { accent-color:var(--green); width:16px; height:16px; }
.dc-field fieldset,fieldset.dc-field { border:0; margin:0 0 24px; padding:0; }
.dc-apply { width:100%; border:1px solid var(--green); background:var(--green); color:#fff !important; padding:10px; cursor:pointer; font-size:13px !important; }
.dc-clear { display:block; margin-top:12px; font-size:12px; color:var(--secondary) !important; text-decoration:underline !important; text-underline-offset:3px; }
.dc-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 18px; border-bottom:1px solid var(--rule); margin-bottom:24px; font-size:12px; color:var(--secondary); }
.dc-toolbar select { background:white; border:0; padding:4px; font-size:12px; width:auto; }
.dc-active { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; font-size:12px; color:var(--secondary); }
.dc-active span { padding:4px 8px; border:1px solid var(--rule); }
.dc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 20px; }
.dc-record { display:flex; flex-direction:column; }
.dc-cover { aspect-ratio:1; background:var(--soft); overflow:hidden; position:relative; }
.dc-cover img { width:100%; height:100%; object-fit:contain; transition:transform .2s ease; }
.dc-record:hover .dc-cover img { transform:scale(1.025); }
.dc-placeholder { display:grid; place-items:center; height:100%; color:var(--secondary); font-size:12px; }
.dc-record h2 { font-size:13px; font-weight:600; line-height:1.5; margin:12px 0 3px; overflow-wrap:anywhere; }
.dc-artist { color:var(--secondary); font-size:12px; margin:0; overflow-wrap:anywhere; }
.dc-meta { font-size:11px; color:var(--secondary); margin:7px 0 0; overflow-wrap:anywhere; }
.dc-stock { display:inline-block; color:var(--green); font-size:10px; margin-top:8px; font-weight:600; }
.dc-stock::before { content:""; display:inline-block; width:5px; height:5px; background:var(--green); border-radius:50%; margin-right:5px; vertical-align:2px; }
.dc-paging { display:flex; justify-content:center; align-items:center; gap:24px; border-top:1px solid var(--rule); margin-top:36px; padding-top:24px; font-size:12px; }
.dc-paging a { text-decoration:underline; text-underline-offset:4px; }
.dc-empty { padding:60px 0; }
.dc-empty h2 { font-size:20px; font-weight:500; margin:0 0 8px; }
.dc-empty p { color:var(--secondary); font-size:13px; }
.dc-footer { border-top:1px solid var(--rule); }
.dc-footer-inner { max-width:1440px; padding:32px 40px; margin:auto; display:flex; justify-content:space-between; gap:32px; color:var(--secondary); font-size:12px; }
.dc-footer h2 { color:var(--ink); font-size:14px; margin:0 0 8px; }
.dc-footer p { margin:4px 0; max-width:540px; }
.dc-footer a { text-decoration:underline; text-underline-offset:3px; }
.dc-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.dc-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dc-gallery a { display:block; aspect-ratio:1; background:var(--soft); overflow:hidden; }
.dc-gallery a:first-child { grid-column:1/-1; }
.dc-gallery img { width:100%; aspect-ratio:1; object-fit:contain; background:var(--soft); }
.dc-detail h1 { font-size:28px; line-height:1.35; margin:0 0 12px; overflow-wrap:anywhere; }
.dc-detail h2 { font-size:15px; margin:28px 0 12px; }
.dc-detail table { border-collapse:collapse; width:100%; font-size:13px; }
.dc-detail th,.dc-detail td { padding:10px 0; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.dc-detail th { font-weight:400; color:var(--secondary); width:100px; }
.dc-detail p { font-size:13px; white-space:pre-wrap; line-height:1.8; }
.dc-detail a.dc-link { display:inline-block; font-size:13px; color:var(--green); text-decoration:underline; text-underline-offset:4px; margin-top:16px; }
.dc-about { max-width:720px; padding:20px 0 60px; }
.dc-about h1 { font-size:32px; margin:0 0 8px; }
.dc-about h2 { font-size:16px; margin-top:32px; }
.dc-about p { font-size:14px; line-height:1.9; }
.dc-about .dc-link { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.desktop-home { display:none; }
@media (min-width:960px) {
  body.home-adaptive { background:#fff; color:#191c1a; padding-bottom:0; }
  .home-adaptive > header.top,.home-adaptive > nav.tabs,.home-adaptive > #fb-btn,.home-adaptive > #a2hs { display:none !important; }
  .home-adaptive > main { max-width:none; padding:0; display:block; }
  .home-adaptive .mobile-home { display:none; }
  .home-adaptive .desktop-home { display:block; }
}
@media (max-width:1199px) {
  .dc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dc-layout { gap:24px; grid-template-columns:180px minmax(0,1fr); }
}
@media (max-width:959px) {
  .dc-header-inner,.dc-main,.dc-footer-inner { padding-left:24px; padding-right:24px; }
  .dc-heading { flex-direction:column; align-items:stretch; }
  .dc-search { width:100%; }
  .dc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dc-detail { gap:32px; }
}
@media (max-width:599px) {
  .dc-header-inner { padding:18px 16px; gap:16px; flex-wrap:wrap; }
  .dc-nav { gap:24px; font-size:12px; }
  .dc-main { padding:24px 16px 40px; }
  .dc-heading h1 { font-size:26px; }
  .dc-layout { display:block; }
  .dc-filters { padding:0 0 20px; border:0; }
  .dc-filters h2 { margin-bottom:12px; }
  .dc-filters form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .dc-field,fieldset.dc-field { margin-bottom:16px; }
  .dc-grid { gap:24px 14px; }
  .dc-footer-inner { flex-direction:column; padding:24px 16px; gap:16px; }
  .dc-detail { grid-template-columns:1fr; }
  .dc-detail h1 { font-size:24px; }
  .dc-about h1 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) { .dc-cover img { transition:none; } }
