/* Zyqor Library index - phone build overrides (m.html). Same data, same cards; one column of rich cards,
   tier control as a full-width segmented bar, filters in a bottom sheet, 48px+ tap targets. */
:root{--bar-h:58px;--gutter:18px}
.lib-top{padding:0 var(--gutter);padding-top:env(safe-area-inset-top);height:calc(var(--bar-h) + env(safe-area-inset-top))}
.top-link{min-height:40px;padding:0 12px;font-size:.85rem}
.hero{grid-template-columns:1fr;gap:var(--s5);padding:clamp(2.5rem,12vw,3.5rem) var(--gutter) var(--s5)}
.hero h1{font-size:clamp(3rem,15.5vw,4.4rem);line-height:.88}
.hero .lead{font-size:1.06rem;margin-top:var(--s3)}
.led-row{grid-template-columns:6.2rem 1fr auto;padding:16px 0;min-height:56px}
.led-name{font-size:1.1rem}
.feat{padding:var(--s6) var(--gutter)}
.sec-head{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:var(--s4)}
.feat-grid{grid-template-columns:1fr;gap:var(--s3)}
.fcard{border-radius:20px}
.fcard-body{padding:var(--s3) var(--s3) var(--s4)}
.fcard-go{width:46px;height:46px}
.filters{top:calc(var(--bar-h) + env(safe-area-inset-top));padding:10px var(--gutter)}
.f-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.seg{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr)}
.seg button{justify-content:center;padding:0 6px;min-height:44px;font-size:.86rem;gap:5px}
.seg button small{display:none}
.search{max-width:none;flex:none}
.search input{min-height:48px;font-size:16px}
.f-btn{min-height:48px;padding:0 16px}
.f-count{grid-column:1 / -1;margin:0;padding-top:2px}
.index{padding:var(--s3) var(--gutter) var(--s7)}
.grid-i{grid-template-columns:1fr;gap:var(--s3);border-left:0}
.card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:color-mix(in oklab,var(--c1) 70%,#fff 30%);box-shadow:var(--spec);contain-intrinsic-size:auto 380px}
.card-art{aspect-ratio:16/10}
.card-body{padding:14px 16px 18px}
.more .btn{width:100%}
.lib-foot{padding:var(--s6) var(--gutter) calc(var(--s6) + env(safe-area-inset-bottom))}

/* bottom sheet */
.sheet{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:86svh;padding:0;border:0;border-radius:24px 24px 0 0;background:var(--c1);color:var(--c2);box-shadow:0 -1px 0 var(--line),var(--spec);overflow:auto;overscroll-behavior:contain}
.sheet::backdrop{background:color-mix(in oklab,var(--c2) 42%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet[open]{animation:sheet-up var(--dur) var(--ease-out)}
@keyframes sheet-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.sheet-in{display:grid;gap:var(--s4);padding:10px var(--gutter) calc(var(--s5) + env(safe-area-inset-bottom))}
.sheet-grip{justify-self:center;width:40px;height:5px;border-radius:3px;background:var(--line-strong)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.sheet-head h2{font:800 1.8rem/1 var(--f-display);letter-spacing:-.04em;margin:0}
.sheet .f-group{grid-template-columns:1fr;gap:10px}
.sheet .f-group > .mono{padding-top:0}
.sheet .chip-b{min-height:44px}
.switch{min-height:48px}
@media (prefers-reduced-motion:reduce){.sheet[open]{animation:none}}
.big-n{justify-content:flex-start}.big-n b{font-size:clamp(5rem,30vw,7.5rem)}
