
/* Duck directory: square portraits, quiet labels, one category at a time. */
html:has(body.butler-body):has(.butler-view[data-view="hub"].is-active),
body.butler-body:has(.butler-view[data-view="hub"].is-active) {height:auto;overflow-y:auto;}
.butler-view[data-view="hub"].is-active {height:auto;min-height:100dvh;overflow:visible;display:block;max-width:1500px;margin:auto;padding-top:42px;}
.butler-view[data-view="hub"] .butler-topbar {margin-bottom:24px;}
.butler-view[data-view="hub"] .hub-filter-row {margin-bottom:20px;}
.duck-global-entry {margin:0 0 26px;}
.duck-global-entry a {display:flex;align-items:center;gap:18px;padding:12px 20px 12px 12px;border:1px solid var(--butler-line);border-radius:12px;color:var(--butler-text);text-decoration:none;background:var(--butler-panel);}
.duck-global-entry img {width:70px;height:70px;object-fit:cover;border-radius:6px;}
.duck-global-entry strong {display:block;font-size:21px;margin-bottom:7px;}
.duck-global-entry small {font-size:13px;color:var(--butler-muted);}
.duck-global-entry a>span:last-child {margin-left:auto;font-size:22px;}
.duck-tabs {display:flex;gap:30px;margin:0 0 24px;border-bottom:1px solid var(--butler-line);}
.duck-tabs button {border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;color:var(--butler-muted);cursor:pointer;}
.duck-tabs button.is-active {border-bottom-color:var(--butler-text);color:var(--butler-text);}
.butler-view[data-view="hub"] .butler-card-grid {height:auto;overflow:visible;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:24px;padding:0;align-items:start;}
.butler-view[data-view="hub"] .butler-card {display:flex;flex-direction:column;min-height:0;height:auto;border:0;border-bottom:1px solid var(--butler-line);border-radius:0;background:transparent;box-shadow:none;padding-bottom:14px;}
.butler-view[data-view="hub"] .butler-card:hover {background:transparent;box-shadow:none;}
.butler-view[data-view="hub"] .butler-mascot,
.butler-view[data-view="hub"] .custom-card-stage {aspect-ratio:1;min-height:0;height:auto;flex:none;background:#eae7df;border-radius:3px;}
.butler-view[data-view="hub"] .butler-mascot img {width:100%;height:100%;object-fit:cover;display:block;transition:transform 220ms ease;}
.butler-view[data-view="hub"] .butler-card:hover .butler-mascot img {transform:scale(1.025);}
.butler-view[data-view="hub"] .butler-mascot::after {display:none;}
.butler-view[data-view="hub"] .card-head {min-height:0;padding:18px 0 8px;}
.butler-view[data-view="hub"] .card-head h2 {font-size:20px;line-height:1.4;margin:7px 0 0;}
.butler-view[data-view="hub"] .butler-card-summary {padding:0 24px 8px 0;min-height:50px;}
.butler-view[data-view="hub"] .butler-card-summary span {white-space:normal;line-height:1.7;font-size:12px;}
.butler-view[data-view="hub"] .icon-more {opacity:1;transform:none;}
#duckEmpty {padding:40px 0;color:var(--butler-muted);}
@media(max-width:1100px) {.butler-view[data-view="hub"] .butler-card-grid {gap:16px;}.butler-view[data-view="hub"] .card-head h2{font-size:17px;}}
@media(max-width:820px) {.butler-view[data-view="hub"] .butler-card-grid {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:540px) {.butler-view[data-view="hub"] .butler-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.duck-tabs{gap:22px;}.duck-global-entry small{font-size:12px;}.butler-view[data-view="hub"].is-active{padding-top:24px;}}

.duck-global-entry{position:relative;padding-right:40px;}.duck-global-entry>button{position:absolute;right:0;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--butler-text);cursor:pointer;width:32px;height:36px;}

/* Theme follow-up: roles and readable states. */
html:has(body.butler-body):has(.butler-view[data-view="hub"].is-active),body.butler-body:has(.butler-view[data-view="hub"].is-active) { height:auto; overflow-y:auto; }
.butler-view[data-view="hub"].is-active { display:block; height:auto; min-height:100dvh; overflow:visible; padding-bottom:40px; }
.butler-view[data-view="hub"] .hub-layout { height:auto; overflow:visible; }
.butler-view[data-view="hub"] .butler-card-grid { height:auto; overflow:visible; grid-auto-rows:auto; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
.butler-view[data-view="hub"] .butler-card { display:grid; grid-template-rows:minmax(0,1fr) auto auto; aspect-ratio:1 / 1; height:auto; min-height:0; padding:12px; border:1px solid var(--sv-color-border); border-radius:14px; background:var(--sv-color-surface); box-shadow:var(--sv-shadow-card); }
.butler-view[data-view="hub"] .butler-mascot,.butler-view[data-view="hub"] .custom-card-stage { min-height:0; height:100%; aspect-ratio:auto; width:100%; background:var(--sv-color-surface-subtle); border-radius:8px; }
.butler-view[data-view="hub"] .butler-mascot img { height:100%; width:100%; object-fit:contain; }
.butler-view[data-view="hub"] .card-head { min-height:0; padding:10px 2px 4px; }
.butler-view[data-view="hub"] .card-head h2 { font-size:17px; line-height:1.4; margin:0; white-space:normal; }
.butler-view[data-view="hub"] .butler-card-summary { min-height:0; padding:2px 2px 0; }
.butler-view[data-view="hub"] .butler-card-summary span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.5; }
@media(max-width:620px) { .butler-view[data-view="hub"] .butler-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .butler-view[data-view="hub"] .butler-card { padding:8px; } .butler-view[data-view="hub"] .card-head h2 { font-size:14px; } }


.butler-view[data-view="hub"] .butler-mascot img { position:absolute; inset:0; min-height:0; max-height:100%; object-fit:contain; }

html[data-theme="light"] .butler-view[data-view="hub"] .icon-more { background:var(--sv-color-surface); color:var(--sv-color-text-muted); border-color:var(--sv-color-border); }
