/* YS directory: legibility first, gold reserved for the brand. */
:root {
  --ambient-base:#f4f6f8; --ambient-blue:#91add422; --ambient-lilac:#ffffff00;
  --ambient-gold:#dfc48a22; --ambient-mist:#ffffff80; --ambient-noise:.065;
  --ambient-orbit-opacity:.35; --panel:#ffffffed; --text:#252e3b;
  --sub:#657183; --line:#dfe5eb; --blue:#315ec5; --soft:#eaf0fc;
  --hover:#f3f6fa; --tag:#f1f4f7; --shadow:none;
}
html[data-theme='dark'] {
  --ambient-base:#171c24; --ambient-blue:#627fa326; --ambient-lilac:#ffffff00;
  --ambient-gold:#b8986020; --ambient-mist:#ffffff00; --ambient-noise:.045;
  --ambient-orbit-opacity:.19; --panel:#222a35f5; --text:#edf1f7;
  --sub:#aab5c4; --line:#35404e; --blue:#a1bfff; --soft:#303f59;
  --hover:#2a3441; --tag:#2b3543; --shadow:none;
}
body { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; line-height:1.65; }
.sidebar { width:218px; padding:26px 16px 18px; }
.topbar,.main { margin-left:218px; }
.main { padding:0 32px 30px; --ambient-gutter:32px; }
.topbar { height:65px; padding:0 32px; }
.sidebar,.topbar { background:#fbfcfde8; }
html[data-theme='dark'] .sidebar,html[data-theme='dark'] .topbar { background:#1b222ceb; }
.brand { font-size:22px; letter-spacing:-.7px; gap:9px; }
.brand small { font-size:11px; letter-spacing:0; }
.side-label { font-size:11px; margin-top:25px; }
.side-nav { gap:3px; }
.side-nav button { font-size:13px; padding:10px 12px; border-radius:8px; }
.side-nav small { font-size:11px; opacity:1; font-variant-numeric:tabular-nums; }
.side-nav button.active { box-shadow:inset 3px 0 0 var(--blue); }
.side-foot { font-size:11px; }
.toplinks { font-size:13px; gap:26px; height:100%; }
.toplinks a { height:100%; display:flex; align-items:center; position:relative; }
.toplinks a:first-child { color:var(--sub); font-weight:400; }
.toplinks a[aria-current='location'] { color:var(--text); font-weight:600; }
.toplinks a[aria-current='location']::after { content:''; height:2px; background:var(--blue); position:absolute; bottom:0; left:0; right:0; }
.topright { gap:14px; }.theme-toggle { min-height:36px; font-size:12px; border-radius:8px; }
.ops-topbar-action { font-size:12px; min-height:36px; }
.search-zone { padding:28px 0 22px; }
.search-zone h1 { font-size:28px; font-weight:650; letter-spacing:-1px; line-height:1.3; text-shadow:none; }
.search-zone>p { font-size:13px; margin:7px 0 17px; }
.search-context { gap:28px; margin-bottom:11px; }
.search-context button { font-size:13px; padding-bottom:6px; }
.search-form { padding:5px 6px 5px 18px; border-radius:12px; gap:12px; min-height:56px; transition:border-color .15s,box-shadow .15s; }
.search-form:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent); }
.search-form input { font-size:14px; line-height:1.5; padding:10px 0; }
.search-form>button[type='submit'],.search-form>button:not([type]) { background:#315ec5; font-size:13px; padding:10px 24px; border-radius:8px; }
.search-form .refine-clear { background:none; color:var(--sub); padding:0; width:32px; height:36px; font-size:22px; flex:none; }
.refine-shortcut { font-size:11px; color:var(--sub); border:1px solid var(--line); padding:2px 6px; border-radius:5px; white-space:nowrap; }
.engine-row { font-size:11px; gap:18px; margin-top:10px; }.engine-row button { font-size:11px; padding:3px 0; }
.discovery-shortcuts { border-radius:10px; margin-bottom:24px; }
.shortcut { padding:13px 14px; font-size:13px; }.shortcut small { font-size:11px; }
.section { margin-bottom:26px; }.section-head { margin-bottom:13px; }
.section-head h2,.ops-heading h2 { font-size:17px; letter-spacing:-.3px; }
.section-head h2 small { font-size:11px; }
.section-head>a,.section-head>button,.section-head>span { font-size:12px; min-height:30px; }
.eco-grid { gap:0; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:4px; }
.eco-grid .eco-card { border:0; border-radius:6px; background:transparent; box-shadow:none; padding:13px 15px; min-height:75px; }
.eco-grid .eco-card:not(:last-child) { border-right:1px solid var(--line); }
.eco-card strong { font-size:14px; margin-bottom:2px; }.eco-card p { font-size:11px; }
.eco-icon { width:38px; height:38px; border-radius:10px; }
.resource-card:hover,.eco-card:hover,.sponsor-card:hover { transform:none; box-shadow:none; }
.eco-grid .eco-card:hover { background:var(--hover); }
.ops-topics { margin-bottom:24px; }
.ops-heading { margin-bottom:12px; }.ops-heading p { font-size:12px; margin-top:3px; }.ops-heading button { font-size:12px; }
.ops-topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 22px; }
.ops-topic { display:grid; grid-template-columns:28px 1fr auto; gap:2px 10px; align-items:center; padding:13px 4px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.ops-topic>svg { grid-row:1/3; margin:0; width:21px; height:21px; color:var(--sub)!important; }
.ops-topic strong { font-size:14px; margin:0; font-weight:600; }
.ops-topic small { grid-column:2/4; font-size:11px; line-height:1.6; }
.ops-topic-count { grid-column:3; grid-row:1; font-size:11px; color:var(--sub); margin:0; }
.ops-topic:hover,.ops-topic[aria-pressed='true'] { background:var(--hover); border-color:var(--blue); }
.ops-topic[aria-pressed='true'] strong { color:var(--blue); }
.sponsor-section { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:10px 14px; margin-bottom:22px; }
.sponsor-heading { margin-bottom:6px; }.sponsor-heading h2 { font-size:11px; font-weight:500; color:var(--sub); }
.sponsor-grid { gap:0; }.sponsor-card { background:none; border:0; border-radius:0; min-height:49px; padding:5px 14px; gap:10px; }
.sponsor-card:not(:last-child) { border-right:1px solid var(--line); }.sponsor-placeholder { background:none; }
.sponsor-symbol { width:26px; height:26px; background:var(--hover); }.sponsor-symbol svg { width:16px; height:16px; }
.sponsor-card strong { font-size:12px; font-weight:500; }.sponsor-card p { font-size:11px; margin-top:1px; }
.sponsor-card>.ad-label { position:static; align-self:flex-start; font-size:10px; white-space:nowrap; margin-left:auto; }
.sponsor-card>div { padding-right:0; }.ad-label { font-size:10px; }
.latest-box { border-radius:8px; padding:13px 16px; grid-template-columns:102px 1fr 36px; }
.latest-label strong { font-size:14px; }.latest-label small,.ticker-item small { font-size:11px; }
.ticker-item strong { font-size:13px; }.ticker-item { width:220px; }.ticker-control { width:34px; height:34px; }
.ops-maintenance-strip,.ops-maintenance-strip button { font-size:11px; }
.personal { padding:17px 18px; border-radius:10px; }.personal-head { flex-wrap:wrap; }
.tabs button { font-size:13px; padding:5px 0; position:relative; }.tabs button.active::after { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--blue); }
.personal-note { font-size:11px; }.quick-link { font-size:12px; min-height:32px; gap:8px; }.quick-grid { gap:8px 14px; }
.ops-personal-tools { gap:18px; padding-top:9px; margin-top:14px; }.ops-personal-tools button { min-height:30px; font-size:11px; }
.group-grid,.recommend-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.recommend-grid>.resource-card:nth-child(n+9) { display:none; }
.resource-card { min-height:112px; border-radius:9px; box-shadow:none!important; gap:11px; padding:17px 14px 28px; transition:background-color .15s,border-color .15s; }
.resource-card:hover { background:var(--hover); border-color:var(--line); }
.resource-card:focus-within { border-color:var(--blue); }
.resource-card>.site-icon { width:31px; height:31px; margin-top:1px; }
.resource-copy { padding-right:12px; }.resource-copy a { font-size:13px; font-weight:600; line-height:1.5; }
.resource-copy p { font-size:11px; margin-top:5px; line-height:1.6; }
.ops-card-meta { margin-top:8px; gap:8px; }.ops-card-meta span { font-size:10px; background:none; padding:0; }
.ops-card-meta span+span::before { content:''; display:inline-block; width:1px; height:8px; margin-right:8px; background:var(--line); }
.save { top:3px; right:3px; width:32px; height:32px; font-size:16px; border-radius:7px; color:var(--sub); }
.save:hover,.ops-card-detail:hover { background:var(--soft); color:var(--blue); }
.ops-card-detail { bottom:3px; right:6px; font-size:10px; padding:3px 8px; min-height:28px; border-radius:5px; }
.catalog-tabs { gap:8px; margin-bottom:14px; }.catalog-tabs button { font-size:12px; padding:7px 12px; border-radius:7px; }
.ops-toolbar { background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:0 0 13px; gap:6px; margin-bottom:12px; }
.ops-toolbar button { font-size:12px; padding:7px 10px; border-radius:6px; }.ops-toolbar label { font-size:11px; }.ops-toolbar select { padding:7px; border-radius:6px; }
.ops-active-topic,.result-line { font-size:12px; margin-bottom:16px; }
.groups { gap:28px; }.group-title h3 { font-size:16px; }.group-title small { font-size:11px; }.group-sub button,.group-sub a,.ops-more { font-size:11px; }
.ops-more { margin-top:7px; min-height:30px; }.empty { font-size:13px; padding:30px 20px; }
.ops-updates { padding:24px; border-radius:10px; gap:24px; }
.ops-update-item strong,.ops-today { font-size:13px; }.ops-update-item time,.ops-update-item small { font-size:11px; }
.ops-participate h2 { font-size:17px; }.ops-participate p { font-size:12px; }.ops-action-row button { font-size:12px; }
.footer { border:0; border-top:1px solid var(--line); border-radius:0; background:none; box-shadow:none; padding:22px 0; }
.footer p,.footer-links,.footer-bottom,.bottom-tools button,.sync-note { font-size:11px; }
.float-tools button { width:38px; height:38px; border-radius:9px; }
.ops-dialog { border-radius:16px; padding:28px; }
.ops-dialog-header h2 { font-size:22px; letter-spacing:-.4px; }.ops-dialog-close { width:36px; height:36px; padding:0; border-radius:8px; background:var(--hover); }
.ops-dialog p,.ops-field,.ops-message,.ops-detail-info,.ops-detail-actions { font-size:13px; }
.ops-field input,.ops-field textarea,.ops-field select { min-height:44px; background:var(--panel); border-radius:8px; }
.ops-field small { font-size:11px; }.ops-submit { background:#315ec5; color:#fff; font-size:13px; min-height:42px; border-radius:8px; }
.ops-detail-actions a { background:#315ec5; color:#fff; }.ops-custom-row { font-size:13px; padding:10px; }.ops-custom-row button { font-size:12px; min-height:34px; }
.ops-suggestions { border-radius:12px; padding:6px; }.ops-suggestions button { font-size:14px; min-height:44px; }.ops-suggestions button small,.ops-suggestion-note { font-size:11px; }
.refine-menu-shade { display:none; }
button:disabled { opacity:.5; cursor:default; }
button:active:not(:disabled) { filter:brightness(.95); }
:where(button,a,input,select,textarea):focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.search-form input:focus-visible { outline:none; }
[hidden] { display:none!important; }
@media(min-width:1500px) { .group-grid,.recommend-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }.recommend-grid>.resource-card:nth-child(n+9) { display:flex; } }
@media(max-width:1100px) {
  .sidebar { width:190px; padding-inline:12px; }.topbar,.main { margin-left:190px; }.main { padding-inline:24px; --ambient-gutter:24px; }.topbar { padding-inline:24px; }
  .group-grid,.recommend-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.recommend-grid>.resource-card:nth-child(n+7) { display:none; }
  .eco-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.eco-grid .eco-card:nth-child(2) { border-right:0; }.eco-grid .eco-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .ops-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.toplinks { gap:20px; }.ops-topic-count { font-size:10px; }
}
@media(max-width:760px) {
  .sidebar { display:none; }.main,.topbar { margin-left:0; }.main { padding-inline:20px; --ambient-gutter:20px; }.topbar { padding:0 16px; height:60px; }
  .mobile-logo { font-size:19px; }.toplinks { display:none; }.theme-toggle { min-height:38px; }.mobile-menu { width:40px; height:40px; }
  .search-zone { padding-top:24px; }.search-zone h1 { font-size:27px; }
  .discovery-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); }.shortcut { padding:12px 10px; gap:7px; }
  .refine-menu-shade { position:fixed; inset:60px 0 0; background:#10172280; z-index:9; }
  .side-open .refine-menu-shade { display:block; }.side-open .sidebar { display:flex; top:60px; background:var(--panel); width:260px; padding:24px 18px; }
  body.side-open { overflow:hidden; }.side-open .main { pointer-events:none; }
  .sponsor-grid { grid-template-columns:1fr; }.sponsor-card:not(:last-child) { border-right:0; border-bottom:1px solid var(--line); }.sponsor-card { min-height:54px; padding:9px 0; }
  .personal-note { width:100%; }.ops-updates { grid-template-columns:1fr; }.ops-participate { padding:20px 0 0; border-left:0; border-top:1px solid var(--line); }
}
@media(max-width:520px) {
  .main { padding:0 16px 24px; --ambient-gutter:16px; }.topright { gap:4px; }.topright>.ops-topbar-action { display:none; }.theme-toggle { font-size:11px; padding:8px; }
  .search-zone h1 { font-size:25px; }.search-zone>p { font-size:12px; }.search-context { gap:19px; }.search-context button { font-size:12px; }
  .search-form { gap:7px; padding-left:12px; }.search-form input { font-size:13px; }.search-form>button[type='submit'],.search-form>button:not([type]) { padding:10px 16px; }
  .refine-shortcut { display:none; }.search-form .refine-clear { width:24px; }.engine-row { font-size:10px; gap:13px; }.engine-row button { font-size:11px; }
  .discovery-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }.shortcut { font-size:11px; padding:12px 9px; }.shortcut small { font-size:10px; }
  .eco-card strong { font-size:13px; }.eco-card p { font-size:11px; }.eco-grid .eco-card { padding:13px 10px; gap:9px; }.eco-icon { width:32px; height:32px; }
  .ops-topic-grid { gap:0 14px; }.ops-topic { grid-template-columns:24px 1fr; padding:13px 2px; gap:2px 6px; }.ops-topic strong { font-size:13px; }.ops-topic small { grid-column:2; font-size:10px; }.ops-topic-count { grid-column:2; grid-row:3; font-size:10px; }.ops-topic>svg { grid-row:1/4; width:18px; height:18px; }
  .ops-heading p { font-size:11px; }.section-head h2,.ops-heading h2 { font-size:16px; }.latest-box { grid-template-columns:82px 1fr 34px; padding:11px; gap:7px; }.latest-label strong { font-size:12px; }.latest-label small { font-size:10px; }
  .group-grid,.recommend-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.resource-card { padding:14px 10px 34px; min-height:142px; gap:8px; flex-wrap:wrap; align-content:flex-start; }.resource-card>.site-icon { width:27px; height:27px; margin:0; }
  .resource-copy { flex-basis:100%; padding-right:0; }.resource-copy a { font-size:13px; }.resource-copy p { font-size:11px; }.ops-card-meta { margin-top:5px; gap:6px; }.ops-card-meta span { font-size:9px; }.ops-card-meta span+span::before { margin-right:6px; }
  .save { width:36px; height:36px; }.ops-card-detail { font-size:11px; min-height:32px; bottom:1px; }
  .catalog-tabs button { font-size:11px; padding:7px 10px; }.ops-toolbar { padding:0 0 13px; }.ops-toolbar button { font-size:11px; padding:7px 8px; }.ops-toolbar label { width:auto; margin-left:auto; }
  .personal { padding:15px 12px; }.personal-head .tabs { gap:15px; }.tabs button { font-size:12px; }.quick-link { font-size:11px; }.ops-personal-tools { gap:9px; }.ops-personal-tools button { font-size:11px; }
  .recommend-head .tabs { gap:17px; row-gap:3px; }.recommend-head .tabs button { font-size:12px; }.recommend-head h2 { margin-bottom:6px; }
  .ops-updates { padding:18px; }.ops-participate .ops-topbar-action { display:inline-block; }.ops-dialog { padding:22px; max-height:88dvh; }.ops-field input,.ops-field select,.ops-field textarea { font-size:16px; }
  .footer-links { font-size:12px; }.footer { padding-bottom:60px; }.group-sub a { font-size:10px; }.group-title h3 { font-size:15px; }.group-title small { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .search-form,.resource-card { transition:none; } }
