:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--tg-theme-bg-color, #0d1520);color:var(--tg-theme-text-color, #f1f5f9)}body,html{margin:0;padding:0;height:100%}body{display:flex;align-items:stretch;justify-content:center}#root{width:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;box-sizing:border-box}.card{background:#0f172a99;border-radius:16px;padding:1.25rem;box-shadow:0 14px 30px #02081440;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(148,163,184,.2)}.card h2{margin-top:0;margin-bottom:.5rem;font-size:1.25rem}.card p{margin:0;line-height:1.4}.button-grid{display:grid;gap:.75rem}.primary-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.9rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;background:linear-gradient(120deg,#22d3ee,#0ea5e9);color:#fff;transition:transform .1s ease-in-out}.primary-button:active{transform:scale(.96)}.secondary-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(148,163,184,.5);border-radius:12px;padding:.8rem 1.2rem;background:#0f172a40;color:inherit;font-weight:500}.stats-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.stats-list li{display:flex;justify-content:space-between;font-weight:500}.page-tabs{display:flex;gap:.5rem;background:#0f172a66;border-radius:999px;padding:.25rem;box-shadow:inset 0 0 0 1px #94a3b833;align-self:center}.page-tab{flex:1;border:none;border-radius:999px;padding:.5rem 1.25rem;background:transparent;color:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease}.page-tab.is-active{background:linear-gradient(120deg,#22d3ee,#0ea5e9);color:#0f172a}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.summary-item{background:#0f172a59;border-radius:12px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem;border:1px solid rgba(148,163,184,.1)}.summary-label{font-size:.85rem;color:#e2e8f0bf}.summary-value{font-size:1.25rem;font-weight:700}.bar-chart{display:flex;flex-direction:column;gap:.75rem}.bar-chart-row{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.75rem}.bar-chart-label{font-weight:600;color:#e2e8f0b3}.bar-chart-bar{position:relative;width:100%;height:12px;border-radius:999px;background:#94a3b833;overflow:hidden}.bar-chart-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(120deg,#6366f1,#22d3ee)}.bar-chart-value{font-variant-numeric:tabular-nums;font-weight:600}.quality-breakdown{display:flex;flex-direction:column;gap:1rem}.quality-item{display:flex;flex-direction:column;gap:.5rem}.quality-header{display:flex;justify-content:space-between;font-weight:600}.quality-description{margin:0;font-size:.85rem;color:#e2e8f0b3}.quality-bar{position:relative;width:100%;height:14px;border-radius:999px;background:#94a3b833;overflow:hidden}.quality-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.stats-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem 1rem;text-align:center;color:#e2e8f0cc}.stats-placeholder p{margin:0}.sessions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.session-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;background:#0f172a59;border-radius:14px;border:1px solid rgba(148,163,184,.12)}.session-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.session-date{font-weight:600;text-transform:capitalize}.session-time{margin-top:.35rem;color:#e2e8f0b3}.session-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.session-duration{font-weight:600}.session-quality{font-size:.85rem;color:#e2e8f0b3}.session-flags{display:flex;flex-wrap:wrap;gap:.5rem}.session-flag{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;background:#94a3b82e;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#e2e8f0d9}.sessions-pagination{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.pagination-info{font-size:.85rem;color:#e2e8f0a6}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between}.pagination-actions{display:flex;gap:.5rem}.pagination-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:.55rem 1rem;background:#0f172a33;color:inherit;font-weight:500;font-size:.9rem;cursor:pointer;transition:opacity .15s ease-in-out}.pagination-button:disabled{opacity:.45;cursor:not-allowed}.page-size-control{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:#e2e8f0bf}.page-size-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(148,163,184,.4);border-radius:12px;background:#0f172a33;color:inherit;padding:.4rem 1.5rem .4rem .75rem;font-size:.9rem}.page-size-select:focus{outline:2px solid rgba(14,165,233,.65);outline-offset:1px}
