.ql-paper-library{margin:0 0 24px;padding:20px;background:var(--surface-card,#fff);border:1px solid #e2e8f0;border-radius:16px;color:#0f172a}
.ql-paper-library-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ql-paper-library h2{margin:0;font-size:20px;font-weight:700}
.ql-paper-library p{margin:5px 0;color:#64748b;font-size:13px}
.ql-paper-library-actions{display:flex;gap:10px;flex-wrap:wrap}
.ql-paper-library-actions a{padding:9px 13px;border:1px solid #e2e8f0;border-radius:9px;text-decoration:none;font-size:12px;font-weight:600}
.ql-paper-library-actions a:last-child{background:#33558b;color:#fff}
.ql-paper-library-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.ql-paper-library-item{min-width:0;display:block;padding:14px;border:1px solid #e2e8f0;border-radius:11px;text-decoration:none;color:inherit}
.ql-paper-library-item strong{display:block;font-size:14px;overflow-wrap:anywhere}
.ql-paper-library-item span{display:block;color:#64748b;font-size:12px;margin-top:6px;overflow-wrap:anywhere}
.ql-paper-library-item:focus-visible,.ql-paper-library a:focus-visible{outline:3px solid #33558b;outline-offset:3px}
.ql-paper-library-empty{grid-column:1/-1}
.ql-storefront-manager-link{display:block;margin:0 0 16px;color:#33558b;font-size:14px;font-weight:600}
@media(max-width:900px){.ql-paper-library-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ql-paper-library{padding:16px}.ql-paper-library-items{grid-template-columns:minmax(0,1fr)}.ql-paper-library-actions{width:100%}.ql-paper-library-actions a{flex:1;text-align:center}}

/* ---- Student dashboard: colour and motion (hooks are set by app-enhancements.js) ---- */
[data-ql-dash]{--ql-green:#33558b;--ql-amber:#f59e0b;--ql-blue:#3b82f6;--ql-violet:#8b5cf6;--ql-rose:#f43f5e}
[data-ql-hello]{background:linear-gradient(100deg,#0f172a 0%,#0f172a 40%,#33558b 78%,#6d93cf 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.08em}

/* Stat cards: one accent colour each */
[data-ql-stat]{--c:var(--ql-green);position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--c) 22%,transparent)!important;background-image:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--c) 13%,transparent),transparent 62%);transition:transform .2s ease,box-shadow .2s ease}
[data-ql-stat=streak]{--c:var(--ql-amber)}[data-ql-stat=accuracy]{--c:var(--ql-green)}[data-ql-stat=week]{--c:var(--ql-blue)}[data-ql-stat=rank]{--c:var(--ql-violet)}
[data-ql-stat]::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 35%,transparent))}
[data-ql-stat]>div:first-child>div:first-child{color:color-mix(in srgb,var(--c) 72%,#0f172a)}
[data-ql-stat] svg path[fill="none"]{stroke:var(--c)}[data-ql-stat] svg circle{fill:var(--c)}[data-ql-stat] svg path[fill^="url"]{fill:var(--c);opacity:.12}
[data-ql-stat]:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px color-mix(in srgb,var(--c) 70%,transparent)}

/* Up next cards */
[data-ql-next]{--c:var(--ql-green);border-color:color-mix(in srgb,var(--c) 24%,transparent)!important;background-image:linear-gradient(135deg,color-mix(in srgb,var(--c) 8%,transparent),transparent 55%);transition:transform .2s ease,box-shadow .2s ease!important}
[data-ql-next=daily]{--c:var(--ql-amber)}[data-ql-next=review]{--c:var(--ql-violet)}
[data-ql-next]>div:first-child>div:first-child,[data-ql-next]>div:first-child>span{background:color-mix(in srgb,var(--c) 14%,#fff)!important;color:color-mix(in srgb,var(--c) 78%,#0f172a)!important}
[data-ql-next]>div:first-child>div:first-child{transition:transform .35s ease}
[data-ql-next]:hover{transform:translateY(-3px);box-shadow:0 14px 28px -16px color-mix(in srgb,var(--c) 75%,transparent)}
[data-ql-next]:hover>div:first-child>div:first-child{transform:rotate(-8deg) scale(1.08)}
[data-ql-next] .text-brand svg{transition:transform .2s ease}[data-ql-next]:hover .text-brand svg{transform:translateX(4px)}

/* Performance and weekly goal */
[data-ql-card]{transition:box-shadow .2s ease}[data-ql-card]:hover{box-shadow:0 14px 30px -20px rgba(15,23,42,.35)}
[data-ql-card=perf]{background-image:radial-gradient(90% 70% at 0% 0%,rgba(51,85,139,.07),transparent 60%)}
[data-ql-card=goal]{background-image:radial-gradient(90% 70% at 100% 0%,rgba(59,130,246,.08),transparent 60%)}
[data-ql-card=goal] svg circle:first-child{stroke:#dfe8f5}

/* Entrance: cards rise in one after another, chart lines draw themselves */
@keyframes ql-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ql-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ql-pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
[data-ql-hello]{animation:ql-rise .5s ease backwards}
[data-ql-next],[data-ql-stat],[data-ql-card]{animation:ql-rise .5s cubic-bezier(.2,.7,.2,1) backwards}
[data-ql-next]:nth-child(1){animation-delay:.05s}[data-ql-next]:nth-child(2){animation-delay:.12s}[data-ql-next]:nth-child(3){animation-delay:.19s}
[data-ql-stat]:nth-child(1){animation-delay:.2s}[data-ql-stat]:nth-child(2){animation-delay:.27s}[data-ql-stat]:nth-child(3){animation-delay:.34s}[data-ql-stat]:nth-child(4){animation-delay:.41s}
[data-ql-card=perf]{animation-delay:.45s}[data-ql-card=goal]{animation-delay:.52s}
[data-ql-draw]{stroke-dasharray:1;animation:ql-draw 1.1s ease-out .55s backwards}
[data-ql-card=goal] svg{animation:ql-pop .6s ease .6s backwards}
@media(prefers-reduced-motion:reduce){[data-ql-hello],[data-ql-next],[data-ql-stat],[data-ql-card],[data-ql-draw],[data-ql-card=goal] svg{animation:none}[data-ql-stat],[data-ql-next],[data-ql-next] *{transition:none!important}[data-ql-stat]:hover,[data-ql-next]:hover{transform:none}}

/* ---- Manager console: Quizzes and Subjects pages (hooks are set by app-enhancements.js) ---- */
[data-ql-console-head]{align-items:flex-end!important;padding-bottom:4px}
[data-ql-console-title]{display:flex;align-items:center;gap:10px;font-size:26px!important;font-weight:700!important;letter-spacing:-.02em;color:#0f172a!important}
[data-ql-console-title][data-count]::after{content:attr(data-count);font-size:12px;font-weight:600;letter-spacing:0;color:#29467a;background:#eef3fa;border-radius:999px;padding:3px 10px}
[data-ql-console] button,[data-ql-console-head] button{border-radius:10px!important}
[data-ql-console-head] button{padding:9px 14px!important;font-size:13px!important}

/* Filters */
[data-ql-filters]{padding:14px 16px!important;border-radius:14px!important;align-items:end}
[data-ql-filters] label{font-size:11px!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b!important}
[data-ql-filters] select,.ql-console-search input{width:100%;height:40px;border:1px solid #e2e8f0!important;border-radius:10px!important;background-color:#f8fafc!important;color:#0f172a;font-size:14px;padding:0 12px!important;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
[data-ql-filters] select:focus,.ql-console-search input:focus{border-color:#33558b!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(51,85,139,.14)}
.ql-console-search label{display:block;margin-bottom:4px}
.ql-console-search input{padding-left:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}

/* Quiz table */
[data-ql-tablecard]{border-radius:14px!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important;background:#fff}
[data-ql-tablecard] table{min-width:860px;border-collapse:separate;border-spacing:0}
[data-ql-tablecard] thead{background:#f8fafc!important}
[data-ql-tablecard] th{padding:11px 16px!important;font-size:11px;font-weight:600!important;letter-spacing:.07em;text-transform:uppercase;color:#64748b;white-space:nowrap;border-bottom:1px solid #e2e8f0}
[data-ql-tablecard] td{padding:12px 16px!important;vertical-align:middle;color:#334155;border-top:1px solid #f1f5f9}
[data-ql-tablecard] tbody tr{border:0!important;transition:background-color .12s ease}
[data-ql-tablecard] tbody tr:first-child td{border-top:0}
[data-ql-tablecard] tbody tr:hover{background:#f6fbf7!important}
[data-ql-tablecard] td span{white-space:nowrap}
[data-ql-cell=title]{color:#0f172a!important;font-weight:600!important;min-width:260px;line-height:1.35;overflow-wrap:anywhere}
[data-ql-cell=course]{white-space:nowrap}
[data-ql-cell=empty]{color:#cbd5e1!important}
[data-ql-cell=week]{white-space:nowrap}
[data-ql-cell=count]{font-variant-numeric:tabular-nums;font-weight:600;color:#0f172a!important}
[data-ql-cell=actions]{width:1%;white-space:nowrap}
[data-ql-cell=actions]>div{flex-wrap:nowrap!important;justify-content:flex-end;gap:6px!important}
[data-ql-tablecard] table[data-ql-empty=true]::after{content:"No quizzes match your search.";display:block;padding:28px 16px;color:#64748b;font-size:14px}

/* Row and card actions */
[data-ql-act]{height:32px;padding:0 12px!important;font-size:12.5px!important;font-weight:600!important;border-radius:8px!important;box-shadow:none!important;transition:background-color .15s ease,border-color .15s ease,color .15s ease!important}
[data-ql-act=manage]{background:#33558b!important;color:#fff!important}
[data-ql-act=manage]:hover{background:#29467a!important}
[data-ql-act=edit]{background:#fff!important;color:#334155!important;border:1px solid #e2e8f0!important}
[data-ql-act=edit]:hover{border-color:#94a3b8!important;background:#f8fafc!important}
[data-ql-act=delete]{background:transparent!important;color:#dc2626!important;border:1px solid transparent!important}
[data-ql-act=delete]:hover{background:#fef2f2!important;border-color:#fecaca!important}

/* Active switches */
[data-ql-tablecard] input[type=checkbox],[data-ql-console=courses] input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;flex-shrink:0;width:36px;height:20px;margin:0;border:0;border-radius:999px;background:#cbd5e1;cursor:pointer;vertical-align:middle;transition:background-color .18s ease}
[data-ql-tablecard] input[type=checkbox]::after,[data-ql-console=courses] input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.25);transition:transform .18s ease}
[data-ql-tablecard] input[type=checkbox]:checked,[data-ql-console=courses] input[type=checkbox]:checked{background:#33558b}
[data-ql-tablecard] input[type=checkbox]:checked::after,[data-ql-console=courses] input[type=checkbox]:checked::after{transform:translateX(16px)}
[data-ql-tablecard] input[type=checkbox]:focus-visible,[data-ql-console=courses] input[type=checkbox]:focus-visible{outline:3px solid rgba(51,85,139,.35);outline-offset:2px}

/* Subject cards */
[data-ql-console=courses]{gap:14px!important}
[data-ql-console=courses]>div{display:flex;flex-direction:column;padding:18px!important;border-radius:14px!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
[data-ql-console=courses]>div:hover{transform:translateY(-2px);border-color:#c7d4e8!important;box-shadow:0 12px 24px -16px rgba(51,85,139,.45)!important}
[data-ql-console=courses]>div>div:first-child>div>div:first-child{background:#eef3fa!important;border-color:#c7d4e8!important;color:#33558b!important}
[data-ql-console=courses] h3{font-size:17px!important;letter-spacing:-.01em;color:#0f172a;overflow-wrap:anywhere}
[data-ql-console=courses]>div>p{flex:1;margin-top:10px!important;font-size:13px!important;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-ql-console=courses]>div>div:last-child{margin-top:14px!important;padding-top:12px;border-top:1px solid #f1f5f9}
[data-ql-console=courses] label{gap:8px!important;font-size:12.5px!important;font-weight:500;color:#475569!important;cursor:pointer}
@media(max-width:640px){[data-ql-console-title]{font-size:22px!important}[data-ql-console-head]{align-items:stretch!important}}
@media(prefers-reduced-motion:reduce){[data-ql-console=courses]>div,[data-ql-tablecard] input[type=checkbox],[data-ql-tablecard] input[type=checkbox]::after,[data-ql-console=courses] input[type=checkbox]::after{transition:none!important}[data-ql-console=courses]>div:hover{transform:none}}

/* ---- My Papers tab in the student app (filled by app-enhancements.js) ---- */
.ql-mp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ql-mp-eyebrow{margin-bottom:8px;font-size:10.5px;font-weight:600;letter-spacing:.18em;color:#94a3b8}
.ql-mp-head h1{margin:0;font-size:34px;font-weight:700;line-height:1;letter-spacing:-.025em;color:#0f172a}
.ql-mp-head p{margin:10px 0 0;font-size:14px;color:#64748b}
.ql-mp-browse{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s ease}
.ql-mp-browse:hover{border-color:#94a3b8}
.ql-mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ql-mp-note{grid-column:1/-1;margin:0;padding:36px 20px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;color:#64748b;font-size:14px;text-align:center}
.ql-mp-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:16px;border:1px solid rgba(15,23,42,.06);border-radius:16px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.ql-mp-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(51,85,139,.45)}
.ql-mp-badge{border-radius:999px;padding:3px 9px;background:#eef3fa;color:#1e3355;font-size:10.5px;font-weight:700}
.ql-mp-badge.paid{background:#33558b;color:#fff}.ql-mp-badge.lock{background:#fef3c7;color:#92400e}.ql-mp-badge.off{background:#f1f5f9;color:#64748b}
.ql-mp-card h3{margin:10px 0 4px;font-size:15.5px;font-weight:600;line-height:1.3;color:#0f172a;overflow-wrap:anywhere}
.ql-mp-sub,.ql-mp-meta{margin:0;font-size:12px;color:#64748b;overflow-wrap:anywhere}
.ql-mp-meta{margin-top:6px;color:#94a3b8;flex:1}
.ql-mp-action{display:flex;align-items:center;justify-content:center;width:100%;height:38px;margin-top:14px;border-radius:10px;background:#33558b;color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s ease}
.ql-mp-action:hover{background:#29467a}
.ql-mp-action.renew{background:#fff;border:1px solid #e2e8f0;color:#334155}.ql-mp-action.renew:hover{background:#f8fafc}
.ql-mp-browse:focus-visible,.ql-mp-action:focus-visible{outline:3px solid rgba(51,85,139,.4);outline-offset:2px}
@media(max-width:1024px){.ql-mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ql-mp-grid{grid-template-columns:minmax(0,1fr)}.ql-mp-head h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.ql-mp-card{transition:none}.ql-mp-card:hover{transform:none}}

/* Manager sidebar: current page when the console is opened at an /admin address. */
.ql-nav-current{background:rgba(147,180,230,.1)!important;color:#93b4e6!important;box-shadow:inset 3px 0 0 #93b4e6}
.ql-console-back{display:inline-flex;align-items:center;height:34px;margin:0 0 14px;padding:0 12px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#334155;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s ease,color .15s ease}
.ql-console-back:hover{border-color:#33558b;color:#29467a}.ql-console-back:focus-visible{outline:3px solid rgba(51,85,139,.4);outline-offset:2px}

/* Discussions: search, sort, subject and course filters on a single row. */
[data-ql-disc-filters]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
[data-ql-disc-filters]>div:first-child{display:contents}
[data-ql-disc-filters] form{flex:1 1 260px;min-width:220px}
[data-ql-disc-filters]>div:not(:first-child){margin-top:0!important;flex:0 0 auto}
[data-ql-disc-filters]>div:not(:first-child)>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[data-ql-disc-filters] .ql-filter-select{min-width:0;max-width:210px}
[data-ql-disc-filters] .ql-discussion-sort-row{flex-wrap:nowrap}
@media(max-width:640px){[data-ql-disc-filters] .ql-discussion-sort-row{flex-wrap:wrap;flex:1 1 100%}[data-ql-disc-filters] form{flex-basis:100%;min-width:0}[data-ql-disc-filters] .ql-filter-select{max-width:none;min-width:0;flex:1 1 120px}[data-ql-disc-filters]>div:not(:first-child){flex:1 1 140px}[data-ql-disc-filters]>div:not(:first-child) .ql-filter-select{width:100%}}

/* Student sidebar: link to the public home page, above the account block. */
.ql-home-link{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:0 12px 10px;padding:9px 12px;border:1px solid #1f2937;border-radius:10px;color:#cbd5e1;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.ql-home-link:hover{background:#1c2533;border-color:#334155;color:#fff}
.ql-home-link:focus-visible{outline:3px solid rgba(147,180,230,.5);outline-offset:2px}

/* ---- Practice course page: header and paper-type tiles ---- */
[data-ql-course-head]{padding:20px 22px!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}
[data-ql-course-head]>div{align-items:center!important}
[data-ql-course-head]>div>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:12px;align-items:center}
[data-ql-course-head]>div>div:first-child>a{grid-column:1/-1;justify-self:start}
[data-ql-course-head]>div>div:first-child>div{margin-top:0!important;background:#eef3fa!important;border-color:#c7d4e8!important;color:#33558b!important}
[data-ql-course-head] h1{margin-top:0!important;font-size:26px!important;font-weight:700!important;line-height:1.15;letter-spacing:-.02em;color:#0f172a;overflow-wrap:anywhere}
[data-ql-course-head]>div>div:first-child>p{grid-column:1/-1;margin-top:0!important}

[data-ql-course-tabrow]{gap:10px!important}
[data-ql-course-tabs]{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
[data-ql-course-tabs] button{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:84px;padding:13px 14px!important;border:1px solid #e2e8f0;border-radius:14px!important;background:#fff!important;color:#334155!important;font-size:13.5px!important;font-weight:600!important;line-height:1.3;text-align:left;white-space:normal!important;box-shadow:none!important;transition:border-color .15s ease,background-color .15s ease,transform .15s ease,box-shadow .15s ease!important}
[data-ql-course-tabs] button:hover{border-color:#c7d4e8;transform:translateY(-1px)}
[data-ql-course-tabs] button>span:last-child{margin-left:0!important;padding:2px 9px!important;border-radius:999px;background:#f1f5f9!important;color:#64748b!important;font-size:11px!important;font-weight:600;font-variant-numeric:tabular-nums}
[data-ql-course-tabs] button>span:last-child::after{content:"done";margin-left:4px}
[data-ql-course-tabs] button[data-empty=true]{background:#f8fafc!important;color:#94a3b8!important}
[data-ql-course-tabs] button[data-empty=true]>span:last-child{color:#94a3b8!important}
[data-ql-course-tabs] button[data-empty=true]>span:last-child::after{content:"· none yet"}
[data-ql-course-tabs] button.bg-brand{border-color:#33558b;background:#eef3fa!important;color:#1e3355!important;box-shadow:inset 0 -3px 0 #33558b,0 10px 22px -16px rgba(51,85,139,.6)!important}
[data-ql-course-tabs] button.bg-brand>span:last-child{background:#eef3fa!important;color:#1e3355!important}
[data-ql-course-tabs] button:focus-visible{outline:3px solid rgba(51,85,139,.4);outline-offset:2px}
[data-ql-course-tabrow]>p{margin-left:0!important;width:100%}
@media(max-width:1180px){[data-ql-course-tabs]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){[data-ql-course-tabs]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}[data-ql-course-tabs] button{min-height:76px;padding:11px 12px!important}[data-ql-course-head] h1{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){[data-ql-course-tabs] button{transition:none!important}[data-ql-course-tabs] button:hover{transform:none}}

/* My Papers progress line and purchased cards; paid-paper chips on Practice cards. */
.ql-mp-card.owned{border-color:rgba(51,85,139,.45)}
.ql-mp-progress{margin:8px 0 0;font-size:12px;font-weight:600;color:#94a3b8}
.ql-mp-progress.done{color:#15803d}.ql-mp-progress.live{color:#b45309}
.ql-mp-meta{flex:0 0 auto}.ql-mp-progress{flex:1}
.ql-paid-chip{display:inline-flex;align-items:center;margin-left:6px;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;white-space:nowrap}
.ql-paid-chip[data-state=owned]{background:#33558b;color:#fff}
.ql-paid-chip[data-state=locked]{background:#fef3c7;color:#92400e}
[data-ql-paid]>div>div:first-child{flex-wrap:wrap;gap:4px}
[data-ql-hidden]{display:none!important}

/* Weekly goal: change button and editor (dashboard card and Settings) */
.ql-goal-change{margin-top:12px;padding:6px 14px;border-radius:999px;border:1px solid rgba(51,85,139,.35);background:rgba(51,85,139,.08);color:#15803d;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer;transition:background .15s ease}
.ql-goal-change:hover{background:rgba(51,85,139,.16)}
.ql-goal-edit{display:flex;flex-direction:column;align-items:center;gap:10px}
.ql-goal-step{display:flex;align-items:center;gap:8px}
.ql-goal-step button{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;font-size:18px;font-weight:600;line-height:1;cursor:pointer}
.ql-goal-step button:hover{background:#f1f5f9}
.ql-goal-step input{width:72px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#ffffff;color:#0f172a;text-align:center;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.ql-goal-step input:focus{outline:2px solid rgba(51,85,139,.45);outline-offset:1px}
.ql-goal-unit{font-size:11.5px;color:#64748b}
.ql-goal-presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.ql-goal-chip{min-width:40px;padding:5px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#ffffff;color:#475569;font-size:12px;font-weight:600;cursor:pointer}
.ql-goal-chip:hover{background:#f1f5f9}
.ql-goal-chip.is-on{border-color:#33558b;background:rgba(51,85,139,.12);color:#1e3355}
.ql-goal-actions{display:flex;gap:8px;margin-top:2px}
.ql-goal-cancel,.ql-goal-save{padding:7px 16px;border-radius:10px;font-size:12.5px;font-weight:600;cursor:pointer}
.ql-goal-cancel{border:1px solid #e2e8f0;background:#ffffff;color:#475569}
.ql-goal-save{border:1px solid #33558b;background:#33558b;color:#ffffff}
.ql-goal-save:disabled{opacity:.5;cursor:not-allowed}
.ql-goal-change:focus-visible,.ql-goal-step button:focus-visible,.ql-goal-chip:focus-visible,.ql-goal-cancel:focus-visible,.ql-goal-save:focus-visible{outline:2px solid rgba(51,85,139,.6);outline-offset:2px}
.ql-goal-settings{margin-top:16px;display:flex}
.ql-goal-settings .ql-goal-edit{align-items:flex-start}
.ql-goal-settings .ql-goal-presets{justify-content:flex-start}

/* ---- Course cards (Practice, Exam): tinted so they stand off the page background ---- */
a.block>.group.rounded-2xl.p-4{border-color:rgba(51,85,139,.24)!important;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 22px -16px rgba(41,70,122,.4)}
:root:not([data-theme=dark]) a.block>.group.rounded-2xl.bg-white.p-4{background-image:linear-gradient(160deg,#fff 35%,#eef3fa 100%)}
:root:not([data-theme=dark]) a.block>.group.rounded-2xl.p-4>div:first-child>div:first-child{background:#eef3fa!important;color:#24406b!important}
:root:not([data-theme=dark]) a.block>.group.rounded-2xl.p-4 .h-1\.5.bg-slate-100{background-color:#dfe8f5}
:root[data-theme=dark] a.block>.group.rounded-2xl.p-4{border-color:rgba(109,147,207,.28)!important}
/* Practice list on phones: full-width search, count and filter on one line. */
@media(max-width:640px){
.flex.flex-wrap>.relative.flex-1.max-w-xs.min-w-\[180px\]{flex:1 1 100%;max-width:none}
.flex.flex-wrap>.relative.flex-1.max-w-xs.min-w-\[180px\]+.ml-auto{width:100%;margin-left:0;justify-content:space-between}
.mb-7>h1.text-\[34px\]{font-size:27px;line-height:1.12}
}
/* ---- Bottom bar: lightning on the centre Practice button ---- */
button[aria-label=Practice]>span{position:relative;animation:ql-fab-glow 2.6s ease-in-out infinite}
button[aria-label=Practice]>span::before,button[aria-label=Practice]>span::after{content:"";position:absolute;inset:-3px;border-radius:999px;border:2px solid #6d93cf;opacity:0;pointer-events:none;animation:ql-fab-ring 2.6s ease-out infinite}
button[aria-label=Practice]>span::after{animation-delay:.45s}
button[aria-label=Practice]>span>svg{position:relative;z-index:1;transform-origin:50% 50%;animation:ql-fab-bolt 2.6s ease-in-out infinite}
@keyframes ql-fab-glow{0%,100%{box-shadow:0 8px 18px -4px rgba(51,85,139,.55)}8%{box-shadow:0 0 0 2px rgba(254,240,138,.9),0 0 26px 6px rgba(250,204,21,.75)}14%{box-shadow:0 8px 18px -4px rgba(51,85,139,.55)}20%{box-shadow:0 0 0 2px rgba(254,240,138,.7),0 0 20px 4px rgba(250,204,21,.6)}34%{box-shadow:0 8px 18px -4px rgba(51,85,139,.55)}}
@keyframes ql-fab-bolt{0%,100%{transform:none;color:#fff;filter:none}8%{transform:scale(1.22) rotate(-8deg);color:#fef08a;filter:drop-shadow(0 0 6px #fde047)}14%{transform:scale(.96);color:#fff;filter:none}20%{transform:scale(1.14) rotate(5deg);color:#fef9c3;filter:drop-shadow(0 0 5px #fde047)}34%{transform:none;color:#fff;filter:none}}
@keyframes ql-fab-ring{0%,6%{transform:scale(1);opacity:0}10%{opacity:.75}45%,100%{transform:scale(1.55);opacity:0}}
@media(prefers-reduced-motion:reduce){button[aria-label=Practice]>span,button[aria-label=Practice]>span::before,button[aria-label=Practice]>span::after,button[aria-label=Practice]>span>svg{animation:none}}
/* Phone top bar: brand line under the name. */
header.lg\:hidden>a[href="/dashboard"] .whitespace-nowrap.text-\[15px\]{line-height:1.15}
header.lg\:hidden>a[href="/dashboard"] .whitespace-nowrap.text-\[15px\]::after{content:"by GenZ IITian";display:block;margin-top:1px;font-size:10.5px;font-weight:500;letter-spacing:0;color:#64748b}
:root[data-theme=dark] header.lg\:hidden>a[href="/dashboard"] .whitespace-nowrap.text-\[15px\]::after{color:#94a3b8}

/* Phone top bar: no level chip; the streak pill sits there instead (moved by app-enhancements.js). */
header.lg\:hidden [data-ql-lvl]{display:none!important}
.ql-top-streak{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid rgba(245,158,11,.2);background:rgba(245,158,11,.10);color:#b45309;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2}
.ql-top-streak>span{display:inline-flex;color:#f59e0b}
:root[data-theme=dark] .ql-top-streak{color:#fbbf24;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.14)}
@media(max-width:1023px){[data-ql-streak-src]{display:none!important}}

/* Phones and tablets: the page never scrolls sideways. Wide tables and formulas scroll inside their own box. */
@media (max-width: 900px) {
  html { overflow-x: hidden; }
  html, body { max-width: 100%; overscroll-behavior-x: none; }
  @supports (overflow: clip) {
    html, body { overflow-x: clip; }
  }
}
/* My Papers: one headline with Browse practice beside it; View details next to the main action. */
.ql-mp-head{display:block}
.ql-mp-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ql-mp-title-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ql-mp-title h1{min-width:0}
.ql-mp-browse{flex-shrink:0;white-space:nowrap}
.ql-mp-actions{display:flex;gap:8px;width:100%;margin-top:14px}
.ql-mp-actions .ql-mp-action{flex:1 1 0;width:auto;min-width:0;margin-top:0;white-space:nowrap}
/* ---- Profile: name form right after the title, no subtitle, phone layout ---- */
div.space-y-6:has(>div>form.space-y-6>.h-px){display:flex;flex-direction:column;gap:1.5rem}
div.space-y-6:has(>div>form.space-y-6>.h-px)>*{margin-top:0!important;margin-bottom:0!important;order:2}
div.space-y-6:has(>div>form.space-y-6>.h-px)>:first-child{order:0}
div.space-y-6:has(>div>form.space-y-6>.h-px)>div:has(>form.space-y-6){order:1}
div.space-y-6:has(>div>form.space-y-6>.h-px) h1.text-2xl+p.mt-1.text-sm{display:none}
div.space-y-6:has(>div>form.space-y-6>.h-px) .rounded-full.tracking-wide{white-space:nowrap;flex-shrink:0}
@media(max-width:640px){
div.space-y-6:has(>div>form.space-y-6>.h-px){gap:14px}
div.space-y-6:has(>div>form.space-y-6>.h-px)>.rounded-2xl.p-5{padding:16px}
div.space-y-6:has(>div>form.space-y-6>.h-px)>:first-child>.flex{gap:6px}
div.space-y-6:has(>div>form.space-y-6>.h-px)>:first-child>.flex>div{flex:1 1 100%;min-width:0;overflow-wrap:anywhere}
div.space-y-6:has(>div>form.space-y-6>.h-px) form.space-y-6>:not([hidden])~:not([hidden]){margin-top:16px}
div.space-y-6:has(>div>form.space-y-6>.h-px) form .flex.justify-end>button{width:100%}
div.space-y-6:has(>div>form.space-y-6>.h-px) form .flex.items-center.gap-5{gap:14px;min-width:0}
div.space-y-6:has(>div>form.space-y-6>.h-px) form .flex.items-center.gap-5>div:last-child{min-width:0;overflow-wrap:anywhere}
div.space-y-6:has(>div>form.space-y-6>.h-px) .flex.flex-wrap.items-start.gap-6{gap:16px}
div.space-y-6:has(>div>form.space-y-6>.h-px) .flex.flex-wrap.items-start.gap-6>div{flex:1 1 100%;max-width:none}
div.space-y-6:has(>div>form.space-y-6>.h-px) .flex.flex-wrap.items-start.gap-6 .max-w-md{max-width:none}
div.space-y-6:has(>div>form.space-y-6>.h-px)>.grid.gap-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
div.space-y-6:has(>div>form.space-y-6>.h-px)>.grid.gap-4>.rounded-2xl.p-5{padding:14px}
div.space-y-6:has(>div>form.space-y-6>.h-px)>.grid.gap-4 .text-3xl{font-size:24px;line-height:1.2}
}
/* ---- Practice list: phone title and a livelier search box ---- */
[data-ql-practice-search]>input{height:46px!important;padding-left:44px!important;padding-right:14px!important;border-radius:14px!important;border-width:1.5px!important;border-color:#c7d4e8!important;font-size:14.5px!important;font-weight:500;box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 22px -16px rgba(41,70,122,.55);transition:border-color .15s ease,box-shadow .15s ease}
[data-ql-practice-search]>input::placeholder{color:#64748b;opacity:1}
[data-ql-practice-search]>input:focus{border-color:#33558b!important;box-shadow:0 0 0 4px rgba(51,85,139,.16),0 10px 22px -16px rgba(41,70,122,.55)}
[data-ql-practice-search]>svg{left:15px!important;width:18px!important;height:18px!important;color:#33558b!important;stroke-width:2.4}
:root[data-theme=dark] [data-ql-practice-search]>input{border-color:#3a5078!important}
:root[data-theme=dark] [data-ql-practice-search]>input::placeholder{color:#94a3b8}
@media(min-width:641px){[data-ql-practice-search]{max-width:24rem!important}}
@media(max-width:640px){
[data-ql-practice-search]>input{font-size:16px!important}
[data-ql-practice-head]{margin-bottom:14px!important}
[data-ql-practice-head]>h1{display:none}
[data-ql-practice-head]>div:first-child{margin:0;font-size:0;letter-spacing:0}
[data-ql-practice-head]>div:first-child::after{content:"Practice questions";font-size:25px;font-weight:700;line-height:1.15;letter-spacing:-.02em;text-transform:none;color:#0f172a}
:root[data-theme=dark] [data-ql-practice-head]>div:first-child::after{color:#d6dae5}
}
/* ---- Course page: hide paper types with no papers; phone header ---- */
[data-ql-course-tabs][data-all-empty=false] button[data-empty=true]{display:none!important}
@media(min-width:561px){[data-ql-course-tabs][data-all-empty=false]{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
[data-ql-course-head] h1{overflow-wrap:break-word;word-break:normal}
@media(max-width:560px){
[data-ql-course-head]{padding:16px!important}
[data-ql-course-head]>div{gap:12px!important}
[data-ql-course-head]>div>div:first-child{flex:1 1 100%;min-width:0;column-gap:12px;row-gap:10px}
[data-ql-course-head]>div>div:last-child:not(:first-child){flex:1 1 100%;flex-wrap:nowrap}
[data-ql-course-head]>div>div:last-child:not(:first-child)>*{flex:1 1 0;min-width:0}
[data-ql-course-head]>div>div:last-child:not(:first-child) button{width:100%;justify-content:center}
}
/* Course page on phones: one paper card per row. */
@media(max-width:560px){[data-ql-course-tabrow]~.grid.grid-cols-2{grid-template-columns:minmax(0,1fr)}}
/* My Papers on phones: the intro line stays on one row. */
@media(max-width:600px){.ql-mp-head p{margin-top:8px;font-size:clamp(11.5px,3.4vw,13.5px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-mp-head{margin-bottom:16px}}
@media(max-width:560px){.ql-mp-title-actions{width:100%}.ql-mp-title-actions>*{flex:1;text-align:center;justify-content:center}}
/* ---- My Papers cards: tinted card, detail chips, score row with the tag, score bar ---- */
.ql-mp-card{position:relative;overflow:hidden;padding:16px 16px 14px;border-radius:18px;border-color:rgba(51,85,139,.2);box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 24px -18px rgba(41,70,122,.45)}
.ql-mp-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#33558b,#c7d4e8 60%,transparent)}
:root:not([data-theme=dark]) .ql-mp-card{background-image:linear-gradient(165deg,#fff 40%,#eef3fa 100%)}
.ql-mp-card.owned::before{background:linear-gradient(90deg,#33558b,#6d93cf)}
.ql-mp-card h3{margin:2px 0 4px;font-size:16px;line-height:1.28;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ql-mp-sub{font-size:12.5px}
.ql-mp-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;flex:0 0 auto}
.ql-mp-meta span{padding:3px 9px;border:1px solid #dfe8f5;border-radius:999px;background:rgba(255,255,255,.7);color:#475569;font-size:11.5px;font-weight:500}
.ql-mp-status{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:12px;flex:0 0 auto}
.ql-mp-status .ql-mp-progress{margin:0;flex:1 1 auto;min-width:0;font-size:12.5px}
.ql-mp-status .ql-mp-badge{flex-shrink:0;white-space:nowrap}
.ql-mp-bar{width:100%;height:5px;margin-top:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.ql-mp-bar i{display:block;height:100%;min-width:5px;border-radius:999px;background:linear-gradient(90deg,#33558b,#6d93cf)}
.ql-mp-actions{margin-top:auto;padding-top:12px}
.ql-mp-action{height:42px;border-radius:12px}
.ql-mp-actions .ql-mp-action:not(.renew){box-shadow:0 8px 16px -10px rgba(51,85,139,.8)}
:root[data-theme=dark] .ql-mp-card{border-color:rgba(109,147,207,.22)}
:root[data-theme=dark] .ql-mp-meta span{border-color:#2e3b4c;background:transparent;color:#9ea9b9}
:root[data-theme=dark] .ql-mp-bar{background:#243042}
/* ---- Dashboard: extra motion ---- */
[data-ql-stat]::before{transform-origin:0 50%;animation:ql-grow .7s cubic-bezier(.2,.7,.2,1) .35s backwards}
[data-ql-stat]::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);animation:ql-sheen 1.1s ease-out .6s 1 both}
:root[data-theme=dark] [data-ql-stat]::after{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.08) 50%,transparent 65%)}
[data-ql-stat] svg path[fill="none"]{stroke-dasharray:600;stroke-dashoffset:600;animation:ql-spark 1.3s ease-out .45s forwards}
[data-ql-stat] svg circle{animation:ql-dot 2.2s ease-in-out 1.6s infinite}
[data-ql-card=perf] svg circle:last-of-type{animation:ql-dot 2s ease-in-out 1.4s infinite}
[data-ql-card=perf] .relative>div.absolute{animation:ql-rise .45s ease 1.1s backwards}
@keyframes ql-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ql-sheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes ql-spark{to{stroke-dashoffset:0}}
@keyframes ql-dot{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){[data-ql-stat]::before,[data-ql-stat]::after,[data-ql-stat] svg path[fill="none"],[data-ql-stat] svg circle,[data-ql-card=perf] svg circle:last-of-type,[data-ql-card=perf] .relative>div.absolute{animation:none}[data-ql-stat] svg path[fill="none"]{stroke-dashoffset:0}[data-ql-stat]::after{display:none}}
/* ---- Dashboard on phones: tighter cards and smaller type ---- */
@media(max-width:640px){
[data-ql-hello]{font-size:25px!important;line-height:1.15!important}
[data-ql-dash] .grid:has(>[data-ql-stat]){gap:10px!important;margin-bottom:16px!important}
[data-ql-stat]{padding:11px 12px 10px!important;border-radius:16px!important}
[data-ql-stat]>div:first-child{gap:6px}
[data-ql-stat]>div:first-child>div:first-child{font-size:8.5px!important;letter-spacing:.12em!important;white-space:nowrap}
[data-ql-stat]>div:first-child>div:last-child:not(:first-child){padding:1px 5px!important;font-size:9.5px!important;white-space:nowrap}
[data-ql-stat]>div:last-child{margin-top:6px!important;gap:6px}
[data-ql-stat]>div:last-child>div:first-child{white-space:nowrap;flex-shrink:0}
[data-ql-stat] .leading-none{font-size:23px!important}
[data-ql-stat]>div:last-child>div:first-child>div:last-child:not(:first-child){font-size:10.5px!important}
[data-ql-stat]>div:last-child>div:last-child{flex:0 1 54px;min-width:0;overflow:hidden}
[data-ql-stat]>div:last-child>div:last-child svg{display:block;width:100%!important;height:22px!important}
[data-ql-card=perf]{padding:14px!important;border-radius:16px!important}
[data-ql-card=perf]>div:first-child{flex-wrap:wrap;gap:10px!important;margin-bottom:6px!important}
[data-ql-card=perf]>div:first-child>div:first-child{flex:1 1 100%;min-width:0}
[data-ql-card=perf]>div:first-child>div:first-child>div:first-child{font-size:9px!important;letter-spacing:.12em!important;white-space:nowrap}
[data-ql-card=perf]>div:first-child>div:first-child>div:last-child{margin-top:6px!important;flex-wrap:wrap}
[data-ql-card=perf] .leading-none{font-size:26px!important}
[data-ql-card=perf]>div:first-child>div:last-child:not(:first-child){width:100%;font-size:11.5px!important}
[data-ql-card=perf]>div:first-child>div:last-child:not(:first-child)>button{flex:1 1 0;padding:6px 4px!important}
[data-ql-card=perf] .relative.h-\[220px\]{height:150px!important;margin-top:8px!important}
[data-ql-card=perf] .relative>div.absolute{left:auto!important;right:20px}
[data-ql-card=perf] .relative>div.absolute>div{min-width:0!important;padding:6px 9px!important;font-size:10px!important}
[data-ql-card=perf] .relative>div.absolute .text-\[18px\]{font-size:15px!important}
[data-ql-card=perf] .ff-mono{font-size:9px!important}
}
/* ---- Discussions: one New discussion button; phone layout ---- */
div.space-y-5:has([data-ql-disc-filters])>.border-dashed button{display:none}
@media(max-width:640px){
div.space-y-5:has([data-ql-disc-filters])>:not([hidden])~:not([hidden]){margin-top:14px}
div.space-y-5:has([data-ql-disc-filters])>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px}
div.space-y-5:has([data-ql-disc-filters])>div:first-child>div:first-child{display:contents}
div.space-y-5:has([data-ql-disc-filters])>div:first-child h1{grid-column:1;grid-row:1;font-size:23px;line-height:1.15}
div.space-y-5:has([data-ql-disc-filters])>div:first-child>button{grid-column:2;grid-row:1;height:38px;min-height:0;padding:0 13px;font-size:13px;white-space:nowrap}
div.space-y-5:has([data-ql-disc-filters])>div:first-child p{grid-column:1/-1;grid-row:2;margin-top:0;font-size:13px}
[data-ql-disc-filters]{padding:12px!important;gap:8px}
[data-ql-disc-filters] form{gap:8px}
[data-ql-disc-filters] .ql-filter-select{padding:10px 28px 10px 11px;background-position:right 9px center;text-overflow:ellipsis}
div.space-y-5:has([data-ql-disc-filters])>.border-dashed{padding:28px 18px}
div.space-y-5:has([data-ql-disc-filters])>.border-dashed>div:first-child{width:46px;height:46px;margin-bottom:12px}
div.space-y-5:has([data-ql-disc-filters])>.border-dashed h3{font-size:16px}
div.space-y-5:has([data-ql-disc-filters])>.border-dashed p{margin-top:6px;font-size:13px}
}

/* ---- Phones: compact paper rows on the Practice course page (tagged by app-enhancements.js) ---- */
.ql-paper-filter{display:none}
@media(max-width:640px){
.ql-paper-filter{display:flex;justify-content:flex-end;margin:10px 0 2px}
.ql-paper-filter>div{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#e9eef3}
.ql-paper-filter button{border:0;background:transparent;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.2;color:#64748b}
.ql-paper-filter button[aria-pressed=true]{background:#fff;color:#0f172a;font-weight:700;box-shadow:0 1px 2px rgba(15,23,42,.08)}
main[data-ql-paper-filter=todo] a[data-ql-paper=done],main[data-ql-paper-filter=done] a[data-ql-paper=todo]{display:none!important}
[data-ql-paper-card]{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto;column-gap:11px;row-gap:3px;align-items:center;padding:11px 10px 11px 12px!important;border-radius:14px!important;transform:none!important}
[data-ql-paper-card=done]{border-color:#bbf7d0!important}
[data-ql-paper-card]::before{content:"\25B6";grid-column:1;grid-row:1/span 2;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#f1f5f9;color:#94a3b8;font-size:10px;padding-left:2px}
[data-ql-paper-card=done]::before{content:"\2713";background:#dcfce7;color:#33558b;font-size:15px;font-weight:700;padding-left:0}
[data-ql-paper-card]>div:first-child{display:none!important}
[data-ql-paper-card]>p{grid-column:2;grid-row:1;margin:0!important;font-size:14px!important}
[data-ql-paper-card]>.mt-auto{display:contents}
[data-ql-paper-card]>.mt-auto>div:first-child{grid-column:2;grid-row:2;margin:0!important;font-size:11.5px!important;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
[data-ql-paper-card]>.mt-auto>div[data-ql-attempts]:not([data-ql-attempts=""])::after{content:"\00B7  " attr(data-ql-attempts);color:#64748b}
[data-ql-paper-go]{grid-column:3;grid-row:1/span 2;padding:7px 12px;border-radius:9px;border:1.2px solid #33558b;background:#33558b;color:#fff!important;font-size:12.5px!important;font-weight:700}
[data-ql-paper-card=done] [data-ql-paper-go]{background:#fff;color:#33558b!important}
[data-ql-paper-go]>svg{display:none}
:root[data-theme=dark] .ql-paper-filter>div{background:#1f2937}
:root[data-theme=dark] .ql-paper-filter button[aria-pressed=true]{background:#374151;color:#f8fafc}
:root[data-theme=dark] [data-ql-paper-card]::before{background:rgba(148,163,184,.16)}
:root[data-theme=dark] [data-ql-paper-card=done]::before{background:rgba(34,197,94,.18);color:#6d93cf}
:root[data-theme=dark] [data-ql-paper-card=done] [data-ql-paper-go]{background:transparent;color:#6d93cf!important}
}

/* ---- Phones: leaderboard like the mobile app (podium, shine, pinned "you" row) ---- */
.ql-confetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:90}
.ql-lb-pin,.ql-lb-tail{display:none}
@media(max-width:640px){
[data-ql-podium]{align-items:end!important;gap:8px!important;padding-top:12px}
[data-ql-podium]>[data-place]{position:relative;justify-content:flex-start;padding:22px 6px 12px!important;border-radius:22px!important;transform-origin:50% 100%;animation:ql-pod-pop .75s cubic-bezier(.34,1.56,.64,1) both}
[data-ql-podium]>[data-place]>span.text-2xl{margin-top:auto;animation:ql-pod-bob 2.4s ease-in-out infinite}
[data-ql-podium]>[data-place]>p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
[data-ql-podium]>[data-place="2"]{min-height:244px;animation-delay:0s}
[data-ql-podium]>[data-place="1"]{min-height:262px;animation-delay:.12s;overflow:visible}
[data-ql-podium]>[data-place="3"]{min-height:228px;animation-delay:.24s}
[data-ql-podium]>[data-place="2"]>span.text-2xl{animation-delay:-.5s}
[data-ql-podium]>[data-place="3"]>span.text-2xl{animation-delay:-1s}
[data-ql-podium]>[data-place="2"]::before,[data-ql-podium]>[data-place="3"]::before{content:"2ND";position:absolute;top:-10px;left:50%;transform:translateX(-50%);border-radius:999px;padding:2px 9px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#fff;background:#94a3b8}
[data-ql-podium]>[data-place="3"]::before{content:"3RD";background:#c2773a}
:root:not([data-theme=dark]) [data-ql-podium]>[data-place="2"]{background:linear-gradient(180deg,#fff,#e2e8f0)!important;border:1.5px solid #94a3b8!important;box-shadow:0 10px 16px -8px rgba(148,163,184,.5)}
:root:not([data-theme=dark]) [data-ql-podium]>[data-place="3"]{background:linear-gradient(180deg,#fff7ed,#fcd9b6)!important;border:1.5px solid #c2773a!important;box-shadow:0 10px 16px -8px rgba(194,119,58,.45)}
:root:not([data-theme=dark]) [data-ql-podium]>[data-place="1"]{background:linear-gradient(180deg,#fff4b8,#fcd34d 55%,#f5b92e)!important;border:2.5px solid #f59e0b!important}
[data-ql-podium]>[data-place="1"]{animation:ql-pod-pop .75s cubic-bezier(.34,1.56,.64,1) .12s both,ql-gold-glow 2.4s ease-in-out 1s infinite}
:root[data-theme=dark] [data-ql-podium]>[data-place="1"]{border:2.5px solid #f59e0b!important}
:root[data-theme=dark] [data-ql-podium]>[data-place="2"]{border:1.5px solid #94a3b8!important}
:root[data-theme=dark] [data-ql-podium]>[data-place="3"]{border:1.5px solid #c2773a!important}
[data-ql-podium]>[data-place="1"]>.absolute{background:#f59e0b!important;z-index:2}
:root:not([data-theme=dark]) [data-ql-podium]>[data-place="1"] .text-brand{color:#92400e!important}
/* A band of light sweeping across the gold card. */
[data-ql-podium]>[data-place="1"]>*:not(.absolute){position:relative;z-index:1}
[data-ql-podium]>[data-place="1"]::after{content:"";position:absolute;inset:0;z-index:0;border-radius:20px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 70px) no-repeat,linear-gradient(108deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.38) 47%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.38) 53%,rgba(255,255,255,0) 58%) no-repeat;background-size:100% 100%,320% 100%;background-position:0 0,150% 0;animation:ql-gold-shine 2.4s ease-in-out infinite}
[data-ql-lb] tbody tr{animation:ql-row-in .45s ease-out both}
[data-ql-lb] tbody tr:nth-child(1){animation-delay:.35s}[data-ql-lb] tbody tr:nth-child(2){animation-delay:.41s}[data-ql-lb] tbody tr:nth-child(3){animation-delay:.47s}[data-ql-lb] tbody tr:nth-child(4){animation-delay:.53s}[data-ql-lb] tbody tr:nth-child(5){animation-delay:.59s}[data-ql-lb] tbody tr:nth-child(6){animation-delay:.65s}[data-ql-lb] tbody tr:nth-child(7){animation-delay:.71s}[data-ql-lb] tbody tr:nth-child(8){animation-delay:.77s}[data-ql-lb] tbody tr:nth-child(n+9){animation-delay:.83s}
.ql-lb-dots{display:flex;justify-content:center;gap:6px;padding:6px 0 5px}
.ql-lb-dots>i{width:5px;height:5px;border-radius:999px;background:#cbd5e1}
.ql-lb-row{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 16px;background:#eef3fa}
.ql-lb-row>b{width:48px;font-size:14px;font-weight:700;color:#24406b}
.ql-lb-av{width:34px;height:34px;flex:none;border-radius:999px;display:grid;place-items:center;background:#eef3fa;border:1.5px solid rgba(51,85,139,.35);color:#33558b;font-size:11.5px;font-weight:800}
.ql-lb-name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:500;color:#0f172a}
.ql-lb-name>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ql-lb-name>em{flex:none;font-style:normal;border-radius:6px;background:#33558b;color:#fff;font-size:9px;font-weight:800;padding:1px 6px}
.ql-lb-xp{font-size:15px;font-weight:800;color:#0f172a}
.ql-lb-tail{display:block;margin-top:10px!important;border:1px solid #c7d4e8;border-radius:16px;overflow:hidden;background:#fff}
.ql-lb-pin{display:block;position:fixed;left:16px;right:16px;bottom:calc(98px + env(safe-area-inset-bottom));z-index:35;border:1.5px solid #c7d4e8;border-radius:16px;overflow:hidden;background:#eef3fa;box-shadow:0 10px 24px -6px rgba(15,23,42,.28);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s ease,transform .22s ease}
.ql-lb-pin.on{opacity:1;transform:none}
:root[data-theme=dark] .ql-lb-row,:root[data-theme=dark] .ql-lb-pin{background:#1d2c45}
:root[data-theme=dark] .ql-lb-tail{background:#1d2c45;border-color:rgba(109,147,207,.35)}
:root[data-theme=dark] .ql-lb-name,:root[data-theme=dark] .ql-lb-xp{color:#f1f5f9}
:root[data-theme=dark] .ql-lb-row>b{color:#6d93cf}
@keyframes ql-pod-pop{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:none}}
@keyframes ql-pod-bob{0%,100%{transform:translateY(2px) rotate(-5deg)}50%{transform:translateY(-3px) rotate(5deg)}}
@keyframes ql-gold-glow{0%,100%{box-shadow:0 10px 22px -8px rgba(245,158,11,.5)}50%{box-shadow:0 0 0 3px rgba(253,224,71,.35),0 12px 36px -4px rgba(251,191,36,.85)}}
@keyframes ql-gold-shine{0%,8%{background-position:0 0,150% 0}46%,100%{background-position:0 0,-50% 0}}
@keyframes ql-row-in{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){[data-ql-podium]>[data-place],[data-ql-podium]>[data-place]>span.text-2xl,[data-ql-podium]>[data-place="1"]::after,[data-ql-lb] tbody tr{animation:none!important}.ql-lb-pin{transition:none}}
