:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--tg-theme-bg-color,#f8fafb);color:var(--tg-theme-text-color,#17293b);font-size:14px}
button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,input:focus-visible{outline:3px solid var(--tg-theme-button-color,#478c97);outline-offset:2px}
.app{width:100%;max-width:680px;margin:0 auto;min-height:100%;background:var(--tg-theme-secondary-bg-color,#fff)}
.header{display:flex;align-items:center;padding:16px 15px 12px;gap:11px;border-bottom:1px solid #77889924}
.brand-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:white;background:#263e4e;font-size:18px;flex:none}
.brand-title{min-width:0;flex:1}.brand-title strong{display:block;font-size:16px}.brand-title small{font-size:12px;color:var(--tg-theme-hint-color,#87959d);display:block;margin-top:3px}
.connection{font-size:11px;border-radius:12px;background:#daeae1;color:#236344;padding:5px 7px;white-space:nowrap}
.connection.error{background:#f5dfdf;color:#883535}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:10px 13px;border-bottom:1px solid #77889924}
.tabs button{border:0;border-radius:12px;background:none;color:var(--tg-theme-hint-color,#748395);font-size:13px;padding:12px 3px;font-weight:600}
.tabs button.active{background:var(--tg-theme-section-bg-color,#e5eff1);color:var(--tg-theme-text-color,#233c4d)}
.main{padding:17px 14px 25px}.screen{display:none}.screen.active{display:block}
.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.heading h1{font-size:24px;line-height:1.3;margin:0;font-weight:780}.heading h1 span{color:var(--tg-theme-hint-color,#87959d);font-weight:500}
.heading p{font-size:12px;color:var(--tg-theme-hint-color,#82909f);margin:4px 0 0}.total{white-space:nowrap;font-size:12px;color:var(--tg-theme-hint-color,#82909f);border:1px solid #899aa53b;border-radius:50px;padding:6px 9px}
.categories{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;margin:0 -14px 21px;padding:2px 14px 5px}.categories::-webkit-scrollbar,.carousel::-webkit-scrollbar{display:none}
.categories button{background:none;border:1px solid #899aa549;border-radius:22px;padding:10px 14px;white-space:nowrap;font-weight:600;font-size:12px;color:inherit}
.categories button.selected{border-color:var(--tg-theme-button-color,#478c97);background:var(--tg-theme-section-bg-color,#e7f0f1)}
.sectiontitle{display:flex;justify-content:space-between;align-items:baseline;gap:5px;margin:6px 0 11px}.sectiontitle h2{font-size:16px;margin:0;font-weight:740}.sectiontitle small{font-size:11px;color:var(--tg-theme-hint-color,#7f919e)}
.carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 14px 10px;margin:0 -14px 17px}
.cover-card{background:none;border:0;padding:0;flex:0 0 151px;min-width:0;scroll-snap-align:start;text-align:left;color:inherit}
.cover-art{display:flex;width:100%;aspect-ratio:2/3;border-radius:11px;overflow:hidden;align-items:center;justify-content:center;background:linear-gradient(145deg,#394d5e,#94a99c 80%);color:white;font-weight:700;text-align:center;line-height:1.35;padding:12px}
.cover-art img{width:100%;height:100%;object-fit:cover;display:block}
.cover-card strong,.cover-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cover-card strong{font-size:13px;margin-top:8px}.cover-card small{font-size:11px;margin-top:4px;color:var(--tg-theme-hint-color,#83919d)}
.vertical-list{display:grid;gap:8px;margin-bottom:15px}
.result{display:flex;align-items:center;gap:12px;border:1px solid #8797a43d;border-radius:13px;background:var(--tg-theme-bg-color,#fff);padding:9px;width:100%;text-align:left;color:inherit;min-height:100px}
.result .cover-art{width:60px;min-width:60px;aspect-ratio:2/3;border-radius:8px;font-size:11px;padding:5px}
.resulttext{min-width:0;flex:1}.resulttext strong{display:block;font-size:13px;line-height:1.36}.resulttext small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px;margin:5px 0;color:var(--tg-theme-hint-color,#83919d)}
.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;border-radius:5px;font-weight:550;padding:4px 6px;font-size:10px;background:#dfeaec;color:#2b5760}
.chevron{font-size:21px;color:var(--tg-theme-hint-color,#99a4af)}
.searchbox{border:1px solid #8196a651;border-radius:12px;display:flex;align-items:center;padding:10px 13px;gap:10px}.searchbox span{font-size:25px;color:#718491}
.searchbox input{outline:none;border:0;background:transparent;color:inherit;min-width:0;width:100%;font-size:16px;padding:3px 0}
.hint{font-size:12px;line-height:1.6;color:var(--tg-theme-hint-color,#86939d);margin:12px 2px 18px}
.back{background:none;border:0;padding:9px 0 18px;color:var(--tg-theme-link-color,#4190a9);font-weight:650;font-size:13px}
.detailhead{display:flex;gap:14px}.detailhead .cover-art{width:112px;min-width:112px}.detailtitle{min-width:0;flex:1}
.detailtitle h2{font-size:20px;line-height:1.35;margin:0 0 5px}.detailtitle p{margin:3px 0 12px;color:var(--tg-theme-hint-color,#8195a0);font-size:13px}
.overview{font-size:13px;line-height:1.6;margin:18px 0 22px}
.release{display:flex;width:100%;gap:10px;align-items:center;text-align:left;border:1px solid #8797a43d;border-radius:11px;padding:13px 12px;background:var(--tg-theme-bg-color,#fff);color:inherit}
.release.selected{border:2px solid var(--tg-theme-button-color,#3a8f99);background:var(--tg-theme-section-bg-color,#e7f2f4)}
.release-text{flex:1;min-width:0}.release-text strong{display:block;font-size:13px;line-height:1.4}
.release-text small{display:block;margin-top:5px;font-size:11px;color:var(--tg-theme-hint-color,#8897a1);line-height:1.4}.release-check{font-size:20px}
.primary,.secondary{border-radius:11px;padding:13px 18px;font-size:14px;font-weight:680;min-height:46px}
.primary{background:var(--tg-theme-button-color,#398f9a);color:var(--tg-theme-button-text-color,#fff);border:0}
.secondary{color:inherit;background:transparent;border:1px solid #8397a855}.full{width:100%;margin-top:12px}
.disk{padding:13px;border-radius:12px;background:var(--tg-theme-section-bg-color,#edf3f5);margin-bottom:18px;font-size:12px}
.order{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #8797a43d}
.order-main{min-width:0;flex:1}.order-main strong{font-size:13px;line-height:1.35;display:block}.order-main small{display:block;margin-top:5px;font-size:11px;color:var(--tg-theme-hint-color,#82909d)}
.order-state{padding:5px 7px;border-radius:6px;font-size:10px;background:#dceee3;color:#27563c;white-space:nowrap}.order-state.cancelled{background:#f4e5e4;color:#904a40}
.alert{display:none;padding:12px 14px;font-size:12px;color:var(--tg-theme-text-color,#253d50);background:var(--tg-theme-section-bg-color,#e5eff2);border-top:1px solid #89a3b44d;line-height:1.5}
.alert.visible{display:block}.alert.error{background:#f9e6e2;color:#893d35}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#15232a85;padding:12px}
.modal-backdrop[hidden]{display:none!important}.modal{background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#182a3b);border-radius:19px 19px 15px 15px;padding:20px;width:100%;max-width:680px;box-shadow:0 8px 30px #0003}
.modal h2{font-size:19px;margin:0 0 12px}.modal p{font-size:13px;line-height:1.6}.warning{font-weight:650}
.modal-actions{display:flex;gap:9px}.modal-actions button{flex:1}
.footer{border-top:1px solid #8397a83a;padding:14px;text-align:center;font-size:11px;color:var(--tg-theme-hint-color,#81909f)}
.empty{font-size:12px;line-height:1.6;color:var(--tg-theme-hint-color,#8998a1);padding:14px 5px}
@media(min-width:540px){.main{padding:22px}.header{padding:20px 22px}.categories{margin-left:-22px;margin-right:-22px;padding-left:22px}.carousel{margin-left:-22px;margin-right:-22px;padding-left:22px}}
