.shell{display:flex;min-height:100%}
.side{width:250px;padding:14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;border-radius:0 26px 26px 0}
.side button{display:flex;gap:12px;align-items:center;border:0;background:none;padding:12px;border-radius:14px;cursor:pointer;text-align:left}
.side button.on,.side button:hover{background:rgba(255,255,255,.14)}
.main{flex:1;padding:18px;min-width:0;max-width:1100px;margin:auto}
.top{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:20px;position:relative}
.mb{display:none}.dd{position:absolute;right:10px;top:62px;width:220px;padding:8px;border-radius:18px;z-index:20}.dd button{width:100%;display:flex;gap:10px;border:0;background:none;padding:10px;border-radius:10px;cursor:pointer}.dd button:hover{background:rgba(255,255,255,.14)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}
.ico{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid var(--bd);margin-bottom:10px}
.card p{color:var(--mut);font-size:13px;margin-top:4px}h2{margin-top:26px;font-weight:700}h3{font-weight:500}
.sc img{width:100%;height:130px;object-fit:cover;border-radius:14px;margin-bottom:10px}
.chips{display:flex;gap:6px;overflow:auto;margin-top:12px}.chips button{white-space:nowrap}
.ov{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px;overflow:auto}.modal{width:min(480px,100%);border-radius:24px;padding:22px;max-height:92vh;overflow:auto}
.li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}.li div{min-width:0;flex:1}.li small{color:var(--mut);display:block;overflow:hidden;text-overflow:ellipsis}
.sw{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.sw i{height:42px;border-radius:12px;border:2px solid transparent;cursor:pointer}.sw i.on{border-color:#fff}
#ts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60}#ts div{padding:10px 16px;border-radius:14px;margin-top:6px;font-size:13px}
footer{text-align:center;color:var(--mut);font-size:12px;padding:30px 0 10px}
@media(max-width:800px){.side{position:fixed;left:0;z-index:30;transform:translateX(-105%);transition:.3s;width:260px}.side.o{transform:none}.mb{display:inline-flex}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition:none!important}}
