*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-inter),Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.\!collapse{visibility:collapse!important}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-16{bottom:4rem}.bottom-20{bottom:5rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-full{right:100%}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[9999\]{z-index:9999}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-\[0\.12em\]{margin-left:.12em;margin-right:.12em}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mr-2{margin-right:-.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[2px\]{height:2px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-\[170px\]{max-height:170px}.max-h-\[220px\]{max-height:220px}.max-h-\[320px\]{max-height:320px}.max-h-\[560px\]{max-height:560px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0}.min-h-\[60vh\]{min-height:60vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[13px\]{width:13px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[320px\]{width:320px}.w-\[72px\]{width:72px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[1240px\]{max-width:1240px}.max-w-\[140px\]{max-width:140px}.max-w-\[1600px\]{max-width:1600px}.max-w-\[200px\]{max-width:200px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[380px\]{max-width:380px}.max-w-\[min\(320px\2c 50vw\)\]{max-width:min(320px,50vw)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-move{cursor:move}.cursor-ne-resize{cursor:ne-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-accent\/20>:not([hidden])~:not([hidden]){border-color:rgba(16,185,129,.2)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border{border-width:1px}.border-\[5px\]{border-width:5px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-b-\[0\.09em\]{border-bottom-width:.09em}.border-l-0{border-left-width:0}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-accent\/30{border-color:rgba(16,185,129,.3)}.border-accent\/40{border-color:rgba(16,185,129,.4)}.border-amber-500\/40{border-color:rgba(245,158,11,.4)}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-current{border-color:currentColor}.border-error\/20{border-color:rgba(239,68,68,.2)}.border-error\/40{border-color:rgba(239,68,68,.4)}.border-error\/50{border-color:rgba(239,68,68,.5)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-orange-500\/30{border-color:rgba(249,115,22,.3)}.border-success{--tw-border-opacity:1;border-color:rgb(var(--color-success)/var(--tw-border-opacity,1))}.border-success\/50{border-color:rgb(var(--color-success)/.5)}.border-transparent{border-color:transparent}.border-warning\/20{border-color:rgba(245,158,11,.2)}.border-warning\/25{border-color:rgba(245,158,11,.25)}.border-warning\/30{border-color:rgba(245,158,11,.3)}.bg-\[\#f0fdf4\]{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-accent\/10{background-color:rgba(16,185,129,.1)}.bg-accent\/15{background-color:rgba(16,185,129,.15)}.bg-accent\/5{background-color:rgba(16,185,129,.05)}.bg-accent\/\[0\.06\]{background-color:rgba(16,185,129,.06)}.bg-amber-500\/10{background-color:rgba(245,158,11,.1)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-background{background-color:var(--color-background)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/35{background-color:rgba(0,0,0,.35)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/\[0\.02\]{background-color:rgba(0,0,0,.02)}.bg-black\/\[0\.03\]{background-color:rgba(0,0,0,.03)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:rgba(59,130,246,.1)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-error{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-error\/10{background-color:rgba(239,68,68,.1)}.bg-error\/15{background-color:rgba(239,68,68,.15)}.bg-error\/5{background-color:rgba(239,68,68,.05)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:rgba(249,115,22,.1)}.bg-orange-500\/15{background-color:rgba(249,115,22,.15)}.bg-success{--tw-bg-opacity:1;background-color:rgb(var(--color-success)/var(--tw-bg-opacity,1))}.bg-success\/10{background-color:rgb(var(--color-success)/.1)}.bg-surface{background-color:var(--color-surface)}.bg-surface-alt{background-color:var(--color-surface-alt)}.bg-warning\/10{background-color:rgba(245,158,11,.1)}.bg-warning\/15{background-color:rgba(245,158,11,.15)}.bg-warning\/5{background-color:rgba(245,158,11,.05)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.fill-accent{fill:#10b981}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-24{padding-left:6rem;padding-right:6rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[18px\]{padding-left:18px;padding-right:18px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-\[2\.5em\]{padding-left:2.5em}.pr-1{padding-right:.25rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.indent-\[-0\.6em\]{text-indent:-.6em}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-inter),Inter,system-ui,sans-serif}.font-mono{font-family:ui-monospace,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-accent\/70{color:rgba(16,185,129,.7)}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(var(--color-success)/var(--tw-text-opacity,1))}.text-text-body{color:var(--color-text-body)}.text-text-label{color:var(--color-text-label)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.placeholder-text-muted::-moz-placeholder{color:var(--color-text-muted)}.placeholder-text-muted::placeholder{color:var(--color-text-muted)}.placeholder-text-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder-text-tertiary::placeholder{color:var(--color-text-tertiary)}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-accent\/20{--tw-shadow-color:rgba(16,185,129,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-accent\/25{--tw-shadow-color:rgba(16,185,129,.25);--tw-shadow:var(--tw-shadow-colored)}.shadow-accent\/30{--tw-shadow-color:rgba(16,185,129,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-accent{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.ring-black\/10{--tw-ring-color:rgba(0,0,0,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.dark .text-gradient-stat{background:linear-gradient(135deg,#fff,#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.input-inset{box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}.dark .input-inset{box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.progress-gradient-green{background:linear-gradient(90deg,#10b981,#34d399);box-shadow:0 0 8px rgba(16,185,129,.4)}@keyframes bounce-twice{0%,to{transform:translateY(0)}50%{transform:translateY(-25%)}}.animate-bounce-twice{animation:bounce-twice .6s ease-in-out 8}@keyframes bounce-tooltip{0%,to{transform:translateY(0)}50%{transform:translateY(-15%)}}.animate-bounce-tooltip{animation:bounce-tooltip 1.2s ease-in-out infinite}html{font-size:85%}@media (max-width:767px){html{font-size:100%}}@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Space+Mono:wght@400;700&display=swap");:root{--navy-900:#0a1628;--navy-800:#0f1f3d;--navy-700:#142952;--navy-600:#1a3568;--navy-500:#1e4080;--green-500:#10b981;--green-400:#34d399;--green-300:#6ee7b7;--green-600:#059669;--green-glow:rgba(16,185,129,.15);--danger:#ef4444;--warning:#f59e0b;--purple:#10b981;--color-background:#f0fdf4;--color-card:hsla(0,0%,100%,.75);--color-card-alt:rgba(241,245,249,.7);--color-text-primary:#0a1628;--color-text-secondary:rgba(15,23,42,.5);--color-text-tertiary:rgba(15,23,42,.35);--color-text-muted:rgba(15,23,42,.4);--color-text-label:rgba(15,23,42,.7);--color-border:rgba(16,185,129,.1);--color-border-subtle:rgba(16,185,129,.06);--color-border-strong:rgba(15,23,42,.15);--color-surface:rgba(15,23,42,.04);--color-surface-hover:rgba(16,185,129,.08);--color-surface-alt:rgba(15,23,42,.08);--color-text-body:rgba(15,23,42,.65);--card-shadow:0 1px 3px rgba(16,185,129,.04),0 4px 12px rgba(16,185,129,.03);--card-shadow-hover:0 2px 8px rgba(16,185,129,.08),0 8px 24px rgba(16,185,129,.06);--noise-opacity:0.03}.dark{--color-background:#0a1628;--color-card:rgba(16,185,129,.06);--color-card-alt:rgba(15,31,61,.6);--color-text-primary:#fafafa;--color-text-secondary:#9ca3af;--color-text-tertiary:hsla(0,0%,100%,.55);--color-text-muted:hsla(0,0%,100%,.5);--color-text-label:hsla(0,0%,100%,.85);--color-border:rgba(16,185,129,.2);--color-border-subtle:rgba(16,185,129,.1);--color-border-strong:hsla(0,0%,100%,.15);--color-surface:hsla(0,0%,100%,.04);--color-surface-hover:rgba(16,185,129,.08);--color-surface-alt:hsla(0,0%,100%,.08);--color-text-body:hsla(0,0%,100%,.8);--card-shadow:0 1px 3px rgba(0,0,0,.2),0 4px 16px rgba(16,185,129,.04);--card-shadow-hover:0 2px 8px rgba(0,0,0,.3),0 8px 32px rgba(16,185,129,.08);--noise-opacity:0.02}*{box-sizing:border-box;padding:0;margin:0}html{height:-webkit-fill-available}body,html{max-width:100vw;background-color:var(--color-background);color:var(--color-text-primary)}body,html{overflow-x:hidden}body{font-family:DM Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:-webkit-fill-available}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area-top{padding-top:env(safe-area-inset-top,0)}@supports (padding-bottom:env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-top{padding-top:env(safe-area-inset-top)}}@media (max-width:767px){body,html,main{overflow-x:hidden}.flex-1,.grid>*{min-width:0}.rounded-2xl.border.border-border.bg-card{overflow-x:hidden;min-width:0;max-width:100%}main>div{overflow-x:hidden;max-width:100%}.grid.grid-cols-7{width:100%}.grid.grid-cols-7>*{width:auto!important;height:auto!important;aspect-ratio:1}.flex.shrink-0.items-center.gap-2>span[class*="w-[100px]"],.flex.shrink-0.items-center.gap-2>span[class*="w-[110px]"]{width:auto!important;padding-left:.5rem;padding-right:.5rem}.flex.gap-3:has(button){flex-wrap:wrap}.flex.gap-2:has(input[type=email]){flex-direction:column}.flex.gap-2:has(input[type=email]) button{width:100%}.flex.flex-col.flex-1.min-h-0.p-3{min-width:0;max-width:100%}.mx-auto.max-w-4xl.w-full{max-width:100%}.border-t.border-border.px-4.py-4{max-width:100%;overflow-x:auto}.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}:root body:before{background:radial-gradient(ellipse 60% 50% at 10% 10%,rgba(16,185,129,.07) 0,transparent 70%),radial-gradient(ellipse 50% 60% at 90% 90%,rgba(241,245,249,.5) 0,transparent 70%)}.dark body:before{background:radial-gradient(ellipse 60% 50% at 10% 10%,rgba(16,185,129,.08) 0,transparent 70%),radial-gradient(ellipse 50% 60% at 90% 90%,rgba(15,31,61,.4) 0,transparent 70%)}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:var(--color-background)}.dark ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.15)}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-transition:background-color 9999999s ease-in-out 0s;transition:background-color 9999999s ease-in-out 0s;-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:rgba(15,23,42,.15);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.25)}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:rgba(15,23,42,.08);border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.15)}.dark .scrollbar-thin::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.06)}.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.12)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.bg-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);transition:box-shadow .2s ease,border-color .2s ease}.bg-card:hover{box-shadow:var(--card-shadow-hover)}.dark img[src$=".png"],.dark img[src*="/figures/"]{filter:invert(1)!important}.font-question svg{display:block;margin-left:auto;margin-right:auto}.font-question .passage-figure svg{width:100%;max-height:400px}.font-question .passage-figure .q-graph-table{margin:.75rem 0 1.5rem}.font-question .passage-figure .q-graph-table .tbl-title{margin-bottom:.4rem}.font-question .passage-figure .q-graph-table .q-table{width:100%;margin:0!important;border-collapse:collapse}.font-question .passage-figure .q-graph-table .q-table td,.font-question .passage-figure .q-graph-table .q-table th{border:1px solid var(--table-border);padding:8px 16px;text-align:center}.font-question .passage-figure .q-graph-table .q-table th{font-weight:600}.fig-zoom{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card)}.fig-zoom-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:5px 10px;background:color-mix(in srgb,var(--text-muted) 9%,var(--bg-card));border-bottom:1px solid var(--border);font:600 13px/1 system-ui,-apple-system,sans-serif;color:var(--text-muted)}.fig-zoom-bar button{display:inline-flex;align-items:center;background:none;border:0;padding:4px;border-radius:6px;color:var(--text);cursor:pointer;font:inherit}.fig-zoom-bar button:hover:not(:disabled){background:color-mix(in srgb,var(--text) 9%,transparent)}.fig-zoom-bar button:disabled{opacity:.35;cursor:default}.fig-zoom-bar svg{display:inline;margin:0}.fig-zoom-text{padding:4px 6px!important}.fig-zoom-pct{min-width:3.2em;text-align:center;font-variant-numeric:tabular-nums}.fig-zoom-sep{width:1px;height:18px;background:var(--border)}.fig-zoom-body{overflow:auto;padding:12px 8px}.font-question .passage-figure.fig-zoom-body[data-zoom]>figure{display:block;margin:0}.font-question .passage-figure.fig-zoom-body[data-zoom] svg{width:calc(100% * var(--fig-zoom, 1));max-width:none;height:auto;max-height:calc(400px * var(--fig-zoom, 1));margin:0 auto}.font-question .passage-figure.fig-zoom-body[data-zoomed] svg{width:auto;height:calc(var(--fig-h) * var(--fig-zoom));max-height:none;max-width:none}.fig-pop{position:fixed;inset:0;z-index:1000;background:rgba(12,12,24,.55);display:flex;align-items:center;justify-content:center;padding:24px}.fig-pop-panel{background:var(--bg-card);border-radius:12px;width:min(1100px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}.fig-pop-body{flex:1;min-height:0}.font-question .passage-figure.fig-pop-body[data-zoom] svg{max-height:calc(80vh * var(--fig-zoom, 1))}@media print{.fig-zoom-bar{display:none}.fig-zoom{border:0}}.katex svg{margin:0!important}.dark .font-question svg:not([stroke=currentColor]):not(:has([stroke=currentColor])):not(:has([fill=currentColor])){filter:invert(1)}.dark .katex svg{filter:none!important}.dark .font-question svg line[stroke="#e0e0e0"],.dark .font-question svg line[stroke="#e8e8e8"]{stroke:#888!important}.dark .font-question svg rect[fill="#fff"][stroke="#ccc"]{fill:none!important;stroke:#888!important}.dark .font-question svg [style*="#ffffff"]{fill:none!important}.dark .font-question svg circle[fill="#1565c0"],.dark .font-question svg circle[fill="#333"]{fill:#000!important;stroke:#000!important}.dark .font-question svg line[stroke="#333"][stroke-width="2"],.dark .font-question svg line[stroke="#d32f2f"],.dark .font-question svg path[stroke="#333"][stroke-width="2"]{stroke:#078e8e!important}.font-question{font-family:var(--font-question),Georgia,serif}.bg-card table,.font-question table{margin:1.25rem auto!important}.choice-text table{margin-left:0!important;margin-right:0!important}.bb-stem figure.table{margin-left:auto!important;margin-right:auto!important;width:-moz-fit-content;width:fit-content}
/* !important because the choice container is also .font-question, and
   `.font-question table { margin: 1.25rem auto !important }` above would
   otherwise win and add stem-sized spacing inside a choice row. */.bb-choice table{border-collapse:collapse;margin:.35rem 0!important}.bb-choice td,.bb-choice th{border:1px solid var(--table-border)!important;padding:.3rem .75rem;text-align:center}.bb-stem td,.bb-stem th{border-color:var(--table-border)!important}.bb-choice figure.table{margin-left:0!important;margin-right:0!important;width:-moz-fit-content;width:fit-content}.bb-choice math,.bb-stem math{line-height:normal}.bb-stem p{margin:.45rem 0}.bb-stem p:first-child{margin-top:0}.bb-stem p:last-child{margin-bottom:0}.bb-overbar{text-decoration:overline;text-underline-offset:.1em}.choice-text .katex{font-size:1em;font-family:var(--font-question),Georgia,KaTeX_Main,serif}.katex{white-space:nowrap;font-size:1.3em}.dark .katex svg path{fill:currentColor!important}@media (max-width:767px){main:has(.quiz-content-area){padding-bottom:0!important;height:100vh!important;height:100dvh!important;overflow:hidden!important}main:has(.quiz-content-area)>.flex.h-full.flex-col{height:100%!important}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area{padding:8px!important;min-height:0}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .rounded-2xl.border{padding:16px!important;border-radius:12px}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .mb-4{margin-bottom:8px!important}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .mb-6{margin-bottom:12px!important}.quiz-content-area:has(.mobile-calc-panel) .choice-text button{padding:10px!important}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .mt-6{margin-top:12px!important}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .border-t.border-border{padding:6px 8px!important}.quiz-content-area:has(.mobile-calc-panel) .quiz-question-area .border-t.border-border button{width:auto!important;padding:4px 10px!important;font-size:12px!important}.mobile-calc-panel{display:flex!important;flex-direction:column;flex-shrink:0}.mobile-calc-panel>.px-3.pb-3{padding-bottom:4px!important;padding-left:8px!important;padding-right:8px!important}.mobile-calc-panel>.px-3.pb-3,.mobile-calc-panel>.px-3.pb-3>.relative.overflow-hidden.rounded-2xl{flex:1;display:flex;flex-direction:column}.mobile-calc-panel .desmos-custom{flex:1;min-height:0}.mobile-calc-panel>.cursor-row-resize{padding-top:4px!important;padding-bottom:4px!important}.mobile-calc-panel .dcg-container .dcg-powered-by,.mobile-calc-panel [class*=powered-by]{display:none!important}.mobile-calc-panel:has(.dcg-keys-container){flex:3 1 0%;min-height:0}.quiz-content-area:has(.mobile-calc-panel .dcg-keys-container) .quiz-question-area{flex:1 1 0%;max-height:none;overflow-y:auto}.quiz-content-area{min-height:0}.mobile-calc-panel .dcg-grapher{min-height:80px}}:root,[data-theme=light]{--bg:#fcfffd;--bg-warm:#f6fdf9;--bg-section:#f0fdf4;--surface:#fff;--surface-hover:#d1fae5;--text:#0a1628;--text-secondary:#374151;--text-muted:#6b7280;--border:#d1fae5;--border-light:#ecfdf5;--table-border:#a6afbb;--nav-bg:rgba(252,255,253,.65);--card-shadow:rgba(16,185,129,.06);--card-shadow-hover:rgba(16,185,129,.1);--bg-card:#fff;--bg-alt:#f0fdf4;--bg-subtle:#ecfdf5;--text-2:#374151;--accent:#10b981;--accent-text:#059669;--border-strong:#a7f3d0;--shadow-card:0 4px 24px rgba(16,185,129,.08);--shadow-lg:0 20px 60px rgba(16,185,129,.14);--shadow-xl:0 30px 80px rgba(16,185,129,.22);--sigma-text:rgba(16,185,129,.1);--sigma-text-end:rgba(16,185,129,.02);--sigma-blur-opacity:0.2;--orbit-border:rgba(16,185,129,.08);--stat-gradient-start:#0a1628;--stat-gradient-end:#059669;--feature-top-bar:linear-gradient(90deg,var(--accent),var(--gold-soft));--guarantee-bg:linear-gradient(135deg,#fef9ec,#f0fdf4);--guarantee-border:rgba(200,148,10,.2);--guarantee-title:var(--gold);--price-btn-bg:#f0fdf4;--price-btn-color:#10b981;--price-btn-hover-bg:#ecfdf5;--glow-1:rgba(16,185,129,.06);--glow-2:rgba(200,148,10,.04);--noise-opacity:0.025;--badge-bg:var(--surface);--bg-rgb:253,252,255;--playground-banner-bg-start:#ecfdf5;--playground-banner-bg-end:#f0fdf4;--playground-banner-border:#a7f3d0;--tw-background:#f0fdf4;--tw-card:hsla(0,0%,100%,.75);--tw-border:rgba(16,185,129,.1);--tw-text-primary:#0a1628;--tw-text-secondary:#6b7280;--tw-accent:#10b981;--tw-accent-hover:#6ee7b7;--color-accent:16 185 129;--color-success:34 197 94;--color-error:239 68 68;--color-warning:245 158 11}[data-theme=dark]{--bg:#0a1628;--bg-warm:#0c1a2e;--bg-section:#091525;--surface:rgba(16,185,129,.06);--surface-hover:rgba(16,185,129,.12);--text:#fafafa;--text-secondary:#d1fae5;--text-muted:#d1fae5;--border:rgba(16,185,129,.28);--border-light:rgba(16,185,129,.16);--table-border:rgba(226,232,240,.32);--nav-bg:rgba(10,22,40,.7);--card-shadow:rgba(0,0,0,.3);--card-shadow-hover:rgba(16,185,129,.15);--bg-card:#0f2744;--bg-alt:#0d1f3a;--bg-subtle:rgba(16,185,129,.14);--text-2:#a7f3d0;--accent:#6ee7b7;--accent-text:#6ee7b7;--border-strong:rgba(52,211,153,.32);--shadow-card:0 4px 24px rgba(0,0,0,.4);--shadow-lg:0 20px 60px rgba(0,0,0,.55);--shadow-xl:0 30px 80px rgba(0,0,0,.7);--cq-track:rgba(52,211,153,.15);--sigma-text:rgba(16,185,129,.2);--sigma-text-end:rgba(16,185,129,.03);--sigma-blur-opacity:0.4;--orbit-border:rgba(16,185,129,.12);--stat-gradient-start:#fff;--stat-gradient-end:#6ee7b7;--feature-top-bar:linear-gradient(90deg,transparent,var(--accent),var(--gold-soft),transparent);--guarantee-bg:linear-gradient(135deg,hsla(40,81%,70%,.08),rgba(16,185,129,.08));--guarantee-border:hsla(40,81%,70%,.2);--guarantee-title:var(--gold-soft);--price-btn-bg:rgba(16,185,129,.15);--price-btn-color:#34d399;--price-btn-hover-bg:rgba(16,185,129,.25);--glow-1:rgba(16,185,129,.18);--glow-2:rgba(16,185,129,.12);--noise-opacity:0.04;--badge-bg:rgba(16,185,129,.15);--playground-banner-bg-start:rgba(16,185,129,.2);--playground-banner-bg-end:rgba(16,185,129,.1);--playground-banner-border:rgba(52,211,153,.35);--playground-card-bg:#0f2744;--playground-chrome-bg:#0d1f3a;--playground-border:rgba(52,211,153,.25);--playground-option-bg:rgba(52,211,153,.06);--playground-letter-bg:rgba(52,211,153,.12);--playground-dot-1:rgba(52,211,153,.3);--playground-dot-2:rgba(52,211,153,.3);--playground-dot-3:rgba(52,211,153,.3);--playground-wrong-bg:rgba(239,68,68,.15);--playground-wrong-border:rgba(239,68,68,.5);--playground-wrong-text:#f87171;--playground-correct-bg:rgba(34,197,94,.15);--playground-correct-border:rgba(34,197,94,.5);--playground-correct-text:#4ade80;--gold:#f0c674;--gold-light:#f0c674;--bg-rgb:10,22,40;--tw-background:#0a1628;--tw-card:rgba(16,185,129,.12);--tw-border:rgba(16,185,129,.2);--tw-text-primary:#fafafa;--tw-text-secondary:#9ca3af;--tw-accent:#10b981;--tw-accent-hover:#6ee7b7;--color-accent:16 185 129;--color-success:52 211 153;--color-error:248 113 113;--color-warning:251 191 36}.pp-section{max-width:1120px;margin:0 auto;padding:0 40px}@media (max-width:768px){.pp-section{padding:0 16px}}.pp-page-header{padding:32px 0 12px;position:relative;overflow:hidden}.pp-page-header:before{display:none}.pp-page-header .wrap{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.pp-page-header .titles{display:flex;flex-direction:column;align-items:flex-start}.pp-page-header .title-icon{width:48px;height:48px;min-width:48px;min-height:48px;flex-shrink:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);display:flex;align-items:center;justify-content:center;color:var(--accent-text);aspect-ratio:1}.pp-page-header h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1}.pp-page-header .sub{margin:6px 0 0;color:var(--text-2);font-size:15px}.pp-page-header .stats{display:flex;gap:10px;flex-wrap:wrap}.pp-mini-stat{display:inline-flex;flex-direction:column;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);min-width:90px}.pp-mini-stat .val{font-size:18px;font-weight:800;font-family:Georgia,serif;letter-spacing:-.5px;color:var(--text);line-height:1}.pp-mini-stat .lbl{font-size:10.5px;text-transform:uppercase;font-weight:700;letter-spacing:1px;color:var(--text-muted);margin-top:5px}@media (max-width:640px){.pp-mini-stat{min-width:0;flex:1}}.pp-filter-bar{display:flex;gap:8px;margin:14px 0 20px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.pp-filter-bar::-webkit-scrollbar{display:none}.pp-filter-bar button{padding:9px 16px;border-radius:99px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit}@media (min-width:769px){.pp-filter-bar button{flex:1}}.pp-filter-bar button:hover{border-color:var(--accent);color:var(--text)}.pp-filter-bar button.active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=dark] .pp-filter-bar button.active{background:#10b981;color:#fff;border-color:#10b981}.pp-filter-bar button .count{padding:2px 7px;border-radius:99px;background:var(--bg-subtle,#d1fae5);color:var(--text-muted);font-size:11px;font-weight:700;min-width:18px;text-align:center;font-variant-numeric:tabular-nums}[data-theme=dark] .pp-filter-bar button .count{background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.7)}.pp-filter-bar button.active .count{background:color-mix(in srgb,#fff 22%,transparent);color:#fff}[data-theme=dark] .pp-filter-bar button.active .count{background:rgba(0,0,0,.25);color:#fff}.pp-domain-grid{gap:20px}.pp-domain-card,.pp-domain-grid{display:flex;flex-direction:column}.pp-domain-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-card)}.pp-domain-header{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pp-domain-header .left{display:flex;align-items:center;gap:12px;min-width:0}.pp-domain-header .icon-pill{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-domain-header .icon-pill.advanced,.pp-domain-header .icon-pill.algebra,.pp-domain-header .icon-pill.data,.pp-domain-header .icon-pill.geometry{background:color-mix(in srgb,#6ee7b7 22%,transparent);color:#10b981}[data-theme=dark] .pp-domain-header .icon-pill.advanced,[data-theme=dark] .pp-domain-header .icon-pill.algebra,[data-theme=dark] .pp-domain-header .icon-pill.data,[data-theme=dark] .pp-domain-header .icon-pill.geometry{color:#6ee7b7}.pp-domain-header h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.3px}.pp-domain-header .domain-meta{display:flex;align-items:center;gap:8px;margin-top:3px}.pp-domain-header .domain-meta .count{font-size:12px;color:var(--text-muted);font-weight:600}.pp-domain-header .progress-circle{width:48px;height:48px;position:relative;flex-shrink:0}.pp-domain-header .progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.pp-domain-header .progress-circle .track{fill:none;stroke:var(--cq-track,#d1fae5);stroke-width:5}.pp-domain-header .progress-circle .arc{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.pp-domain-header .progress-circle .arc.green{stroke:var(--green,#22c55e)}.pp-domain-header .progress-circle .arc.amber{stroke:var(--orange,#f59e0b)}.pp-domain-header .progress-circle .arc.purple{stroke:var(--accent)}.pp-domain-header .progress-circle .pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.2px}.pp-topic-list{padding:4px 0}.pp-topic-row{padding:14px 22px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:start;transition:background .15s;position:relative}.pp-topic-row:last-child{border-bottom:none}.pp-topic-row:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.pp-topic-row .name-block{min-width:0;grid-column:1;grid-row:1}.pp-topic-row .name{font-size:14.5px;font-weight:600;color:var(--text);letter-spacing:-.1px;line-height:1.35;display:flex;align-items:center;gap:8px;min-width:0}.pp-topic-row .name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.pp-topic-row .status-slot{grid-column:2;grid-row:1;justify-self:end;padding-top:2px;flex-shrink:0}.pp-status-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.3px;white-space:nowrap;min-width:116px}.pp-status-chip .dot{width:6px;height:6px;border-radius:3px}.pp-status-chip.mastered{background:color-mix(in srgb,var(--green,#22c55e) 16%,transparent);color:var(--green,#22c55e)}.pp-status-chip.mastered .dot{background:var(--green,#22c55e)}.pp-status-chip.in-progress{background:color-mix(in srgb,var(--orange,#f59e0b) 18%,transparent);color:var(--orange,#f59e0b)}.pp-status-chip.in-progress .dot{background:var(--orange,#f59e0b)}.pp-status-chip.completed{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#3b82f6}.pp-status-chip.completed .dot{background:#3b82f6}[data-theme=dark] .pp-status-chip.completed{background:color-mix(in srgb,#3b82f6 20%,transparent);color:#60a5fa}[data-theme=dark] .pp-status-chip.completed .dot{background:#60a5fa}.pp-status-chip.ready{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}.pp-status-chip.ready .dot{background:var(--accent)}.pp-diff-row{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap;grid-column:1/-1;grid-row:2;margin-top:2px}.pp-diff-btn{position:relative;padding:7px 0;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-size:12.5px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:7px;transition:all .15s;width:110px;justify-content:center;text-decoration:none;font-family:inherit}.pp-diff-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.pp-diff-btn .score{font-size:11.5px;font-weight:700;opacity:.88;font-variant-numeric:tabular-nums}.pp-diff-btn.score-high{background:color-mix(in srgb,var(--green,#22c55e) 14%,var(--bg-card));border-color:color-mix(in srgb,var(--green,#22c55e) 34%,var(--border));color:var(--green,#22c55e)}.pp-diff-btn.score-mid{background:color-mix(in srgb,var(--orange,#f59e0b) 14%,var(--bg-card));border-color:color-mix(in srgb,var(--orange,#f59e0b) 34%,var(--border));color:var(--orange,#f59e0b)}.pp-diff-btn.score-low{background:color-mix(in srgb,var(--red,#ef4444) 12%,var(--bg-card));border-color:color-mix(in srgb,var(--red,#ef4444) 32%,var(--border));color:var(--red,#ef4444)}.pp-diff-btn.locked{background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 15%,var(--border));color:var(--text-muted);cursor:pointer}.pp-diff-btn.locked:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));border-color:var(--accent);color:var(--accent-text)}.pp-diff-btn .lock-icon{display:flex;align-items:center;color:var(--text-muted)}.pp-diff-btn .next-pill{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--accent,#10b981);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.8px;padding:2px 8px;border-radius:99px;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:1}.pp-diff-btn .next-pill.resume{background:var(--orange,#f59e0b)}.pp-diff-btn.in-session{background:color-mix(in srgb,var(--accent) 9%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--accent-text)}.pp-diff-btn .session-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:0 0 8px 8px;overflow:hidden}.pp-diff-btn .session-bar-fill{display:block;height:100%;background:var(--accent);transition:width .2s ease-out}@media (max-width:640px){.pp-diff-row:has(.next-pill){margin-top:12px}}.pp-topic-row.unlocked-free{background:color-mix(in srgb,var(--accent) 5%,transparent)}.pp-topic-row.unlocked-free:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.pp-free-tag{font-size:9.5px;font-weight:800;letter-spacing:.8px;padding:2px 7px;background:var(--accent);color:#fff;border-radius:99px;text-transform:uppercase;display:inline-block;flex-shrink:0}.pp-tip-wrap{position:relative;display:inline-flex;flex:0 0 auto}.pp-tip-pop{bottom:calc(100% + 8px);background:var(--text);color:var(--bg-card);padding:7px 11px;border-radius:8px;font-size:11.5px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20;box-shadow:0 8px 20px rgba(0,0,0,.25);letter-spacing:-.1px}.pp-tip-pop,.pp-tip-pop:after{position:absolute;left:50%;transform:translateX(-50%)}.pp-tip-pop:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--text)}.pp-tip-wrap:hover .pp-tip-pop{opacity:1}[data-theme=dark] .pp-tip-pop{background:var(--accent);color:#fff}[data-theme=dark] .pp-tip-pop:after{border-top-color:var(--accent)}.pp-status-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;background:#fff;color:var(--text-2,#374151);border:1px solid var(--border);padding:8px 12px;border-radius:10px;font-size:12px;font-weight:400;line-height:1.45;width:220px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20;box-shadow:0 4px 16px rgba(0,0,0,.1)}.pp-status-tooltip:after{content:"";position:absolute;top:100%;right:20px;border:5px solid transparent;border-top-color:#fff}.pp-tip-wrap:hover .pp-status-tooltip{opacity:1}[data-theme=dark] .pp-status-tooltip{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .pp-status-tooltip:after{border-top-color:var(--accent)}@media (max-width:640px){.pp-topic-row{padding:14px 16px}.pp-diff-btn{width:100%}.pp-tip-wrap{flex:1;min-width:0}.pp-domain-header{padding:16px 16px 14px}}.pp-topic-sub{font-size:11.5px;color:var(--text-muted);font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}.pp-diff-check{display:flex;align-items:center;justify-content:center;color:var(--green,#22c55e);flex:0 0 auto}.pp-diff-btn.diff-partial{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 26%,var(--border));color:var(--accent-text)}.pp-diff-btn .part-progress{position:absolute;left:6px;right:6px;bottom:3px;height:2px;background:color-mix(in srgb,var(--accent) 15%,transparent);overflow:hidden;border-radius:2px}.pp-diff-btn .part-progress-fill{display:block;height:100%;background:var(--accent)}.pp-diff-label{flex:0 0 auto;font-size:12.5px;font-weight:700}.vp-top-bar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:12px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.vp-top-bar .back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 10px;border-radius:99px;background:transparent;border:1px solid transparent;color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;justify-self:start;text-decoration:none}.vp-top-bar .back:hover{background:var(--bg-subtle,#ecfdf5);color:var(--text)}.vp-top-bar .crumb{text-align:center;line-height:1.25;min-width:0}.vp-top-bar .crumb .t{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}.vp-top-bar .crumb .t .diff{color:var(--accent-text)}.vp-top-bar .crumb .d{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-top:2px}.vp-top-bar .cta{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:99px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13px;border:none;cursor:pointer;box-shadow:0 6px 16px rgba(16,185,129,.3);text-decoration:none;transition:all .15s}.vp-top-bar .cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,185,129,.4)}@media (max-width:640px){.vp-top-bar{padding:10px 14px;grid-template-columns:auto 1fr auto;gap:8px}.vp-top-bar .crumb .t{font-size:13px;max-width:none}.vp-top-bar .cta{padding:8px 12px;font-size:12px}.vp-top-bar .back span{display:none}}.vp-stage{min-height:calc(100vh - 63px);padding:24px;display:flex;flex-direction:column;max-width:1280px;margin:0 auto;width:100%;gap:14px}@media (max-width:640px){.vp-stage{padding:14px}}.vp-video-frame{position:relative;background:#05010f;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.3);aspect-ratio:16/9;width:100%;display:flex;align-items:center;justify-content:center;max-height:calc(100vh - 180px)}@media (max-width:640px){.vp-video-frame{max-height:none;border-radius:12px}}.vp-strip{align-items:center;padding:2px 2px 0}.vp-pills,.vp-strip{display:flex;justify-content:center}.vp-pills{gap:8px;flex-wrap:wrap}.vp-pill{position:relative;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:99px;background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-2);font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s;min-width:100px;justify-content:center;white-space:nowrap;font-family:inherit}.vp-pill:not(.is-locked):hover{border-color:var(--accent);transform:translateY(-1px)}.vp-pill.done{background:color-mix(in srgb,var(--green,#22c55e) 12%,var(--bg-card));border-color:color-mix(in srgb,var(--green,#22c55e) 32%,var(--border));color:var(--green,#22c55e)}.vp-pill.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));border-color:var(--accent);color:var(--accent-text);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 25%,transparent)}.vp-pill.is-locked{cursor:not-allowed;color:var(--text-muted);background:var(--bg-subtle,#ecfdf5);border-color:var(--border);opacity:.75}.vp-pill.is-locked:hover{transform:none;border-color:var(--border)}.vp-pill-progress{position:absolute;left:8px;right:8px;bottom:3px;height:2px;background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:2px;overflow:hidden}.vp-pill-progress span{display:block;height:100%;background:var(--accent);border-radius:2px}.db-main{padding:32px 40px 56px;max-width:1120px;width:100%;margin:0 auto}@media (max-width:900px){.db-main{padding:22px 18px 40px}}.db-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.db-page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1}.db-page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.db-chip-btn{padding:8px 14px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-2);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;font-family:inherit;text-decoration:none;transition:all .15s}.db-chip-btn:hover{border-color:var(--border-strong,#a7f3d0);color:var(--text)}.db-trial-banner{position:relative;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(52,211,153,.1));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:16px;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.db-trial-banner.is-urgent{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(251,191,36,.12));border-color:rgba(245,158,11,.45)}.db-trial-banner-left{display:flex;align-items:center;gap:12px;min-width:0}.db-trial-banner-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 14px rgba(16,185,129,.25)}.db-trial-banner.is-urgent .db-trial-banner-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 6px 14px rgba(245,158,11,.3)}.db-trial-banner-title{font-size:14.5px;font-weight:700;color:var(--text);letter-spacing:-.005em}.db-trial-banner-sub{font-size:12.5px;color:var(--text-muted);font-weight:500;margin-top:2px}.db-trial-banner-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:99px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13px;box-shadow:0 6px 14px rgba(16,185,129,.25);white-space:nowrap;text-decoration:none;transition:all .15s}.db-trial-banner-cta:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(16,185,129,.35)}@media (max-width:640px){.db-trial-banner{flex-direction:column;align-items:stretch}.db-trial-banner-cta{justify-content:center}}.db-hero{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px 28px;box-shadow:var(--shadow-card);margin-bottom:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;overflow:hidden}.db-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%);pointer-events:none}.db-hero>*{position:relative}.db-hero .hero-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.db-hero .hero-copy{min-width:0}.db-hero .eyebrow{font-size:11px;font-weight:700;color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.db-hero h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.3}.db-hero .reason{margin-top:4px;font-size:13.5px;color:var(--text-muted);line-height:1.5;font-weight:500}.db-hero .reason b{color:var(--text-2);font-weight:700}.db-hero .hero-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:99px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:14px;box-shadow:0 10px 24px rgba(16,185,129,.28);white-space:nowrap;text-decoration:none;transition:all .15s}.db-hero .hero-cta:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(16,185,129,.38)}.db-hero .hero-secondary{display:block;margin-top:10px;font-size:12px;color:var(--text-muted);font-weight:600;text-align:center}.db-hero .hero-secondary a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.db-hero.is-spotlight{background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--accent) 14%,transparent),transparent 55%),var(--bg-card);border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.db-hero.is-spotlight .hero-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 10px 24px rgba(16,185,129,.32)}@media (max-width:900px){.db-hero{grid-template-columns:auto 1fr;padding:20px}.db-hero .hero-cta-wrap{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-end}}@media (max-width:560px){.db-hero{grid-template-columns:1fr}.db-hero .hero-icon{width:44px;height:44px}.db-hero .hero-cta-wrap{align-items:stretch}.db-hero .hero-cta{width:100%;justify-content:center}}.db-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}@media (max-width:900px){.db-stats{grid-template-columns:repeat(2,1fr)}}.db-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px 18px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.db-stat .stat-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.db-stat .stat-label{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.db-stat .stat-icon{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.db-stat .stat-value{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.db-stat .stat-value .of{color:var(--text-muted);font-weight:600;font-size:18px}.db-stat .stat-sub{margin-top:2px;font-size:12px;color:var(--text-muted);font-weight:500}.db-stat .bar{margin-top:12px;height:6px;background:var(--cq-track,#d1fae5);border-radius:3px;overflow:hidden}.db-stat .bar>span{display:block;height:100%;background:var(--accent);border-radius:3px}.db-stat.streak-zero .stat-value{color:var(--text-2)}.db-stat .stat-cta{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none;transition:all .15s}.db-stat .stat-cta:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.db-section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 14px}.db-section-head h3{margin:0;font-size:15px;font-weight:700;letter-spacing:-.005em}.db-section-head a{font-size:12.5px;color:var(--accent-text);font-weight:600;text-decoration:none}.db-section-head a:hover{text-decoration:underline}.db-two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:20px;align-items:start}@media (max-width:900px){.db-two-col{grid-template-columns:1fr}}.db-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-card)}.db-domain-list{display:flex;flex-direction:column;gap:12px}.db-domain-row{display:block;padding:4px 0}.db-domain-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;gap:12px}.db-domain-left{display:flex;align-items:center;gap:10px;min-width:0}.db-domain-icon{width:28px;height:28px;border-radius:8px;background:var(--cq-track,#d1fae5);color:var(--text-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.db-domain-row.is-active .db-domain-icon{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text)}.db-domain-name{font-size:14px;font-weight:700;letter-spacing:-.005em}.db-domain-meta{font-weight:500}.db-domain-meta,.db-domain-status{font-size:12px;color:var(--text-muted)}.db-domain-status{font-weight:700}.db-domain-row.is-active .db-domain-status{color:var(--orange,#f59e0b)}.db-domain-bar{height:7px;background:var(--cq-track,#d1fae5);border-radius:4px;overflow:hidden;margin-top:2px}.db-domain-bar>span{display:block;height:100%;background:linear-gradient(90deg,#10b981,var(--accent));border-radius:4px}.db-domain-row.is-muted{opacity:.65}.db-domain-extra{font-size:11.5px;color:var(--text-muted);margin-top:5px;display:flex;justify-content:space-between;gap:12px}.db-domain-extra .lock{display:inline-flex;align-items:center;gap:4px}.db-continue-list{display:flex;flex-direction:column;gap:8px}.db-continue-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);transition:all .15s;text-decoration:none;color:inherit}.db-continue-row:hover{border-color:var(--border-strong,#a7f3d0);background:color-mix(in srgb,var(--accent) 4%,var(--bg-card));transform:translateY(-1px)}.db-continue-thumb{width:56px;height:40px;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 50%,#0a0218),color-mix(in srgb,var(--accent) 22%,#0a0218));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.db-continue-thumb .progress-fill{position:absolute;left:0;bottom:0;height:3px;background:#fff;border-radius:0 0 8px 8px}.db-continue-body{min-width:0}.db-continue-title{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-continue-sub{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:1px}.db-continue-action{padding:7px 14px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.db-continue-empty{padding:18px;text-align:center;color:var(--text-muted);font-size:13px}.db-recent-list{display:flex;flex-direction:column;gap:2px}.db-recent-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--border)}.db-recent-row:last-child{border-bottom:none}.db-recent-icon{width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.db-recent-body{min-width:0}.db-recent-title{font-size:13.5px;font-weight:700}.db-recent-sub{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:1px}.db-recent-score{font-weight:800;font-size:13.5px;font-variant-numeric:tabular-nums}.db-recent-score.red{color:var(--red,#ef4444)}.db-recent-score.orange{color:var(--orange,#f59e0b)}.db-recent-score.green{color:var(--green,#22c55e)}.db-recent-date{font-size:12px;color:var(--text-muted);font-weight:600;font-variant-numeric:tabular-nums;min-width:40px;text-align:right}.db-heatmap-card{display:flex;flex-direction:column}.db-heatmap-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:14px;flex-wrap:wrap}.db-heatmap-head h3{margin:0;font-size:15px;font-weight:700}.db-heatmap-head .sub{font-size:12.5px;color:var(--text-muted);font-weight:500}.db-heatmap-wrap{position:relative}.db-heatmap-grid{display:grid;grid-template-columns:30px repeat(4,1fr);gap:4px;align-items:center;max-width:280px}.db-heatmap-grid .dow{font-size:10.5px;color:var(--text-muted);font-weight:600;text-align:right;padding-right:4px}.db-heatmap-cell{aspect-ratio:1/1;border-radius:3px;background:var(--cq-track,#d1fae5);border:1px solid var(--border)}.db-heatmap-cell.l1{background:color-mix(in srgb,var(--accent) 22%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.db-heatmap-cell.l2{background:color-mix(in srgb,var(--accent) 42%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.db-heatmap-cell.l3{background:color-mix(in srgb,var(--accent) 65%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}.db-heatmap-cell.l4{background:var(--accent);border-color:var(--accent)}.db-heatmap-wrap.is-empty .db-heatmap-grid{opacity:.45;filter:saturate(.6)}.db-heatmap-empty-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg-card) 80%,transparent) 50%,var(--bg-card) 100%);border-radius:12px;text-align:center;padding:16px}.db-heatmap-empty-overlay .em-title{font-size:14px;font-weight:700;color:var(--text)}.db-heatmap-empty-overlay .em-sub{font-size:12px;color:var(--text-muted);font-weight:500;max-width:360px}.db-heatmap-empty-overlay .em-cta{margin-top:4px;padding:10px 18px;border-radius:99px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 8px 20px rgba(16,185,129,.3);text-decoration:none}.db-heatmap-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:11.5px;color:var(--text-muted);font-weight:600}.db-heatmap-legend{display:inline-flex;gap:6px}.db-heatmap-legend .sq{width:10px;height:10px;border-radius:2px;border:1px solid var(--border);background:var(--cq-track,#d1fae5)}.db-heatmap-legend .sq.l1{background:color-mix(in srgb,var(--accent) 22%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.db-heatmap-legend .sq.l2{background:color-mix(in srgb,var(--accent) 42%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.db-heatmap-legend .sq.l3{background:color-mix(in srgb,var(--accent) 65%,var(--cq-track,#d1fae5));border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}.db-heatmap-legend .sq.l4{border-color:var(--accent)}.db-bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}@media (max-width:640px){.db-bottom-nav{grid-template-columns:1fr}}.db-bottom-link{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:all .15s}.db-bottom-link:hover{border-color:var(--accent);transform:translateY(-1px)}.db-bottom-link .label{font-size:15px;font-weight:700;margin-bottom:4px}.db-bottom-link .sub{font-size:12.5px;color:var(--text-muted);font-weight:500}.db-bottom-link .icon{width:36px;height:36px;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.focus-areas-trigger{background:none;border:none;color:var(--accent-text);font-weight:600;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0;font-family:inherit}.focus-areas-trigger:hover{color:var(--accent)}.fp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fpFadeIn .15s ease}.fp-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 50px color-mix(in srgb,var(--accent) 18%,transparent),0 6px 18px hsla(0,0%,7%,.08);width:100%;max-width:560px;display:flex;flex-direction:column;animation:fpSlideUp .2s ease}[data-theme=dark] .fp-modal{box-shadow:0 20px 50px rgba(0,0,0,.55)}.fp-head{padding:20px 24px 16px;border-bottom:1px solid var(--border);position:relative;display:flex;align-items:flex-start;gap:14px}.fp-head-icon{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.fp-head-text{flex:1}.fp-head h3{margin:0;font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em;text-align:left}.fp-head-sub{margin:2px 0 0;font-size:13px;font-weight:500;text-align:left}.fp-close,.fp-head-sub{color:var(--text-muted)}.fp-close{position:absolute;top:16px;right:16px;background:transparent;border:1px solid var(--border);cursor:pointer;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.fp-close:hover{background:var(--bg-subtle);color:var(--text)}.fp-body{padding:8px;display:flex;flex-direction:column;gap:6px}.fp-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:11px;background:transparent;border:1px solid transparent;color:inherit;transition:background .15s,border-color .15s}.fp-row,.fp-row *{text-decoration:none!important}.fp-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.fp-row:active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.fp-row.top{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),var(--bg-card));border-color:color-mix(in srgb,var(--accent) 25%,transparent);position:relative}.fp-row.top:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#10b981,#059669)}.fp-reason{width:104px;flex-shrink:0;position:relative}.fp-tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:6px 8px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1;white-space:nowrap;cursor:help}.fp-tag.resume{background:color-mix(in srgb,var(--accent) 12%,transparent);color:#059669}[data-theme=dark] .fp-tag.resume{background:rgba(16,185,129,.14);color:#6ee7b7}.fp-tag.weak{background:#fff7ed;color:#ea580c}[data-theme=dark] .fp-tag.weak{background:rgba(234,88,12,.14);color:#fb923c}.fp-tag.challenge{background:#fef3dc;color:#c8940a}[data-theme=dark] .fp-tag.challenge{background:rgba(200,148,10,.14);color:#fbbf24}.fp-tag.near{background:#ecfdf5;color:#059669}[data-theme=dark] .fp-tag.near{background:rgba(5,150,105,.14);color:#6ee7b7}.fp-tooltip{top:calc(100% + 6px);left:0;color:#fff;font-size:11.5px;font-weight:500;line-height:1.4;padding:7px 10px;border-radius:6px;width:220px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10;letter-spacing:0;text-transform:none;box-shadow:0 6px 20px rgba(0,0,0,.2)}.fp-tooltip,.fp-tooltip:before{position:absolute;background:#111}.fp-tooltip:before{content:"";top:-4px;left:18px;width:8px;height:8px;transform:rotate(45deg)}.fp-reason:hover .fp-tooltip{opacity:1}.fp-main{min-width:0}.fp-title{font-size:14.5px;font-weight:700;color:var(--text);line-height:1.3;letter-spacing:-.005em;display:flex;align-items:baseline;gap:8px}.fp-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fp-diff{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}.fp-diff.diff-easy{background:#ecfdf5;color:#059669}.fp-diff.diff-med{background:#fef3dc;color:#c8940a}.fp-diff.diff-hard{background:#fef2f2;color:#dc2626}[data-theme=dark] .fp-diff.diff-easy{background:rgba(5,150,105,.14)}[data-theme=dark] .fp-diff.diff-med{background:rgba(200,148,10,.14)}[data-theme=dark] .fp-diff.diff-hard{background:rgba(220,38,38,.14)}.fp-score{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto;white-space:nowrap}.fp-score.low{color:var(--red,#dc2626)}.fp-score.mid{color:var(--orange,#ea580c)}.fp-score.high{color:var(--green,#059669)}.fp-score.none{color:var(--text-muted);font-weight:500}.fp-ctx{margin-top:5px;font-size:12px;color:#9ca3af;font-weight:500;text-align:left}[data-theme=dark] .fp-ctx{color:#6b7280}.fp-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:8px;font-size:12.5px;font-weight:700;background:var(--bg-card);color:var(--text);border:1px solid var(--border);white-space:nowrap;width:104px;flex-shrink:0;transition:all .15s}.fp-cta:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.fp-cta.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 4px 10px rgba(16,185,129,.3)}.fp-cta.primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(16,185,129,.36)}.fp-foot{padding:12px 20px 16px;border-top:1px solid var(--border);justify-content:center}.fp-foot,.fp-note{display:flex;align-items:center}.fp-note{font-size:12px;color:var(--text-muted);gap:6px}.fp-note svg{color:var(--accent)}@media (max-width:560px){.fp-modal{max-width:100%;border-radius:18px 18px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:90vh;overflow-y:auto;animation:fpSlideSheet .25s ease}.fp-body{padding:6px}.fp-row{gap:10px;padding:12px 10px}.fp-reason{width:82px}.fp-tag{font-size:9px;padding:5px 6px;gap:4px}.fp-cta{width:78px;padding:8px 10px;font-size:11px}.fp-title{font-size:13px}.fp-score{display:none}.fp-ctx{font-size:11px}}@keyframes fpSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fpSlideSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.q-topbar{display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--bg-card);position:relative;flex-shrink:0;container-type:inline-size;container-name:topbar}.q-topbar .exit{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:transparent;border:1px solid var(--border);border-radius:9px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.q-topbar .exit:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:var(--accent);color:var(--accent-text,#059669)}.q-topbar .title{min-width:0;max-width:100%;text-align:center;position:relative}.q-topbar .title .t{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-topbar .title .sub{font-size:11px;color:var(--text-muted);font-weight:500;letter-spacing:.02em;margin-top:1px}.q-topbar .title .diff-suffix{white-space:nowrap}@container topbar (max-width: 720px){.q-topbar .title .diff-suffix{display:none}}.q-topbar .tools{display:flex;gap:8px;justify-self:end}.q-topbar .tool{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-weight:600;color:var(--accent-text,#059669);cursor:pointer;transition:all .15s}.q-topbar .tool:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:var(--accent)}.q-topbar .tool.active{border-color:var(--accent);background:var(--accent);color:#fff}[data-theme=dark] .q-topbar .tool{background:transparent;border-color:#10b981;color:#10b981}[data-theme=dark] .q-topbar .tool.active,[data-theme=dark] .q-topbar .tool:hover{background:#10b981;color:#fff;border-color:#10b981}[data-theme=dark] .q-topbar .exit{background:transparent;border-color:#10b981;color:#10b981}[data-theme=dark] .q-topbar .exit:hover{background:#10b981;color:#fff;border-color:#10b981}.q-progress{height:2.5px;background:var(--bg-subtle);position:relative;flex-shrink:0}.q-progress .fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:0 2px 2px 0;transition:width .3s ease}.q-card{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:26px 30px;box-shadow:var(--shadow-card);max-width:680px;width:100%}.q-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.q-num{color:var(--accent-text,#059669);letter-spacing:.02em}.q-num,.q-score{font-size:13px;font-weight:700}.q-score{display:flex;gap:10px}.q-score .right{color:var(--green,#059669)}.q-score .wrong{color:var(--red,#dc2626)}.q-choices{display:flex;flex-direction:column;gap:10px}.q-choice{display:grid;grid-template-columns:30px 1fr 28px;align-items:center;gap:14px;padding:13px 16px 13px 14px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s;text-align:left;font-family:inherit;color:var(--text)}.q-choice:hover{border-color:var(--border);background:var(--bg-subtle)}.q-choice.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))}.q-choice .letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-card);font-size:12.5px;font-weight:700;color:var(--text-muted)}.q-choice.selected .letter{background:var(--accent);color:#fff;border-color:var(--accent)}.q-choice .text{font-size:15px}.q-choice .bm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--text-muted);transition:color .15s}.q-choice .bm:hover{color:var(--accent)}.q-submit{margin-top:18px;width:100%;padding:13px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(16,185,129,.25);transition:transform .12s,box-shadow .15s;letter-spacing:.01em;font-family:inherit}.q-submit:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(16,185,129,.32)}.q-submit:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.q-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:0 6px;max-width:680px;width:100%}.q-pagination .pg-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit}.q-pagination .pg-btn:hover{border-color:var(--accent);color:var(--accent-text,#059669);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}[data-theme=dark] .q-pagination .pg-btn:hover{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.12)}.q-pagination .pg-btn:disabled{opacity:.3;cursor:not-allowed}.q-pagination .pg-btn:disabled:hover{border-color:transparent;background:transparent}.q-pagination .pg-dots{display:flex;gap:5px;align-items:center}.q-pagination .pg-dot{min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:12.5px;font-weight:700;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s}.q-pagination .pg-dot:hover{border-color:var(--border);color:var(--text)}.q-pagination .pg-dot.current{background:#6ee7b7;color:#fff;box-shadow:0 2px 8px rgba(52,211,153,.35)}[data-theme=dark] .q-pagination .pg-dot.current{background:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.4)}.q-pagination .pg-dot.answered{color:var(--green,#059669);background:color-mix(in srgb,var(--green,#059669) 10%,transparent)}.q-pagination .pg-dot.wrong{color:var(--red,#dc2626);background:color-mix(in srgb,var(--red,#dc2626) 10%,transparent)}@media (max-width:768px){.q-topbar{padding:11px 12px}.q-topbar .exit{padding:6px 10px;font-size:12px}.q-topbar .title .t{font-size:12.5px}.q-topbar .title .sub{display:none}.q-topbar .tools{gap:6px}.q-topbar .tool{padding:0;width:38px;height:38px;justify-content:center;font-size:0;border-radius:10px}.q-topbar .tool svg{width:16px;height:16px}.q-topbar .tool span{display:none}.q-card{padding:18px 18px 16px;border-radius:16px}.q-meta{margin-bottom:8px}.q-num,.q-score{font-size:11.5px}.q-choice{padding:11px 12px;grid-template-columns:26px 1fr 24px;gap:10px;border-radius:10px}.q-choice .letter{width:24px;height:24px;font-size:11.5px}.q-choice .text{font-size:14px}.q-choice .bm{width:24px;height:24px}.q-submit{padding:11px;font-size:14px;margin-top:14px;border-radius:10px}.q-pagination{padding:0 2px;margin-top:14px}.q-pagination .pg-dots{gap:4px}.q-pagination .pg-dot{min-width:24px;height:24px;font-size:11px;padding:0 6px}.q-pagination .pg-btn{font-size:12px;padding:6px 9px}}.results{display:flex;flex-direction:column;height:100%;background:var(--bg)}.results-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-card);position:relative;justify-content:center}.results-head .topic{font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding-right:40px}.results-head .close{position:absolute;right:20px;top:50%;transform:translateY(-50%)}.results-head .topic .diff{font-weight:500;color:var(--text-muted);margin-left:6px}.results-head .close{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-decoration:none;transition:all .15s}.results-head .close:hover{background:var(--bg-subtle);color:var(--text)}.results-body{flex:1;overflow:auto;padding:32px 24px;gap:22px}.results-body,.score-ring-wrap{display:flex;flex-direction:column;align-items:center}.score-ring-wrap{gap:12px}.score-ring{width:140px;height:140px;position:relative}.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.score-ring .ring-bg{fill:none;stroke:var(--border);stroke-width:10}.score-ring .ring-fg{fill:none;stroke-width:10;stroke-linecap:round}.score-ring .pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;letter-spacing:-.02em}.headline-block{text-align:center}.headline-block h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.015em;color:var(--text)}.headline-block .sub{margin:4px 0 0;font-size:13.5px;color:var(--text-muted)}.headline-block .sub b{color:var(--text);font-weight:700}.cta-stack{display:flex;flex-direction:column;gap:10px;width:100%;max-width:360px}.cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(16,185,129,.28);letter-spacing:.01em;transition:transform .12s,box-shadow .15s;text-decoration:none;font-family:inherit}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(16,185,129,.34)}.cta-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--bg-card);color:var(--text);border:1.5px solid var(--border);border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}.cta-secondary:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:var(--accent)}[data-theme=dark] .cta-secondary:hover{background:rgba(16,185,129,.18);border-color:var(--accent)}.tutor-nudge{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fef3dc;border:1px solid color-mix(in srgb,#c8940a 30%,transparent);border-radius:11px;width:100%;max-width:360px;text-decoration:none;color:inherit}[data-theme=dark] .tutor-nudge{background:rgba(200,148,10,.14)}.tutor-nudge .icon{width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,#c8940a 18%,transparent);color:#c8940a;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tutor-nudge .copy{flex:1;font-size:12.5px;color:var(--text);line-height:1.45}.tutor-nudge .copy b{display:block;font-weight:700;margin-bottom:1px;font-size:13px}.tutor-nudge .go{font-size:12px;font-weight:700;color:#c8940a;display:inline-flex;align-items:center;gap:3px}.session-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;width:100%;max-width:380px;box-shadow:var(--shadow-card)}.session-card .title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:12px}.session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.stat-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.stat-cell .stat-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.stat-cell.correct .stat-icon{background:#ecfdf5;color:#059669}.stat-cell.wrong .stat-icon{background:#fef2f2;color:#dc2626}.stat-cell.retry .stat-icon{background:var(--bg-subtle);color:var(--text-muted)}[data-theme=dark] .stat-cell.correct .stat-icon{background:rgba(5,150,105,.12)}[data-theme=dark] .stat-cell.wrong .stat-icon{background:rgba(220,38,38,.12)}.stat-cell .n{font-size:20px;font-weight:800;color:var(--text);line-height:1}.stat-cell .lbl{font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.02em}.bookmark-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11.5px;color:var(--text-muted);padding-top:4px}.bookmark-note svg{color:var(--accent)}@media (max-width:640px){.results-head{padding:10px 14px}.results-head .topic{font-size:12.5px}.results-body{padding:24px 18px;gap:18px}.score-ring{width:120px;height:120px}.score-ring .pct{font-size:28px}.headline-block h2{font-size:18px}.headline-block .sub{font-size:13px}.cta-stack,.session-card,.tutor-nudge{max-width:none}.session-card{padding:14px}.stat-cell .n{font-size:18px}}.bm-page{padding:32px 40px 140px;max-width:1120px;width:100%;margin:0 auto}.bm-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.bm-page-head .head-left{display:flex;flex-direction:column;align-items:flex-start}.bm-page-head .head-icon{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.bm-page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1;display:inline-flex;align-items:center;gap:12px}.bm-page-head .count-pill{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;font-variant-numeric:tabular-nums}.bm-page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.bm-review-all{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 6px 18px rgba(16,185,129,.28);border:none;cursor:pointer;font-family:inherit;transition:transform .12s,box-shadow .15s;text-decoration:none}.bm-review-all:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,185,129,.34)}.bm-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:14px;box-shadow:var(--shadow-card)}[data-theme=dark] .bm-filters{border-color:rgba(16,185,129,.25)}.bm-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bm-filter-row .label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;width:96px;flex-shrink:0}.bm-chip-group{display:inline-flex;gap:4px;flex-wrap:wrap}.bm-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:transparent;color:var(--text-2,var(--text-muted));font-size:12.5px;font-weight:600;border:1px solid var(--border);cursor:pointer;font-family:inherit;transition:all .15s}.bm-chip:hover{background:var(--bg-subtle);color:var(--text)}.bm-chip.active{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text)}[data-theme=dark] .bm-chip.active{background:#10b981;color:#fff;border-color:#10b981}.bm-chip .n{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.bm-filter-grow{flex:1}.bm-mobile-only{display:none}.bm-filter-right{margin-left:auto}.bm-filter-right,.bm-search-field{display:inline-flex;align-items:center;gap:8px}.bm-search-field{padding:7px 12px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));border-radius:8px;min-width:280px;border:1px solid var(--border);transition:border-color .15s}.bm-search-field:focus-within{border-color:var(--accent)}.bm-search-field input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--text);min-width:0;font-family:inherit}.bm-search-field input::-moz-placeholder{color:var(--text-muted)}.bm-search-field input::placeholder{color:var(--text-muted)}.bm-sort-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));color:var(--text-muted);font-size:12.5px;font-weight:600;border:1px solid var(--border);cursor:pointer;font-family:inherit}.bm-sort-btn:hover{border-color:var(--border-strong,var(--border))}.bm-sort-btn strong{color:var(--text)}.bm-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 8px 32px color-mix(in srgb,var(--accent) 16%,transparent),0 2px 6px hsla(0,0%,7%,.08);z-index:40}[data-theme=dark] .bm-dropdown{box-shadow:0 8px 32px rgba(0,0,0,.6)}.bm-dropdown button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:600;color:var(--text-muted);text-align:left;cursor:pointer;border:none;background:transparent;font-family:inherit}.bm-dropdown button:hover{background:var(--bg-subtle);color:var(--text)}.bm-dropdown button.active{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text)}.bm-page{--bm-diff-easy-bg:#ecfdf5;--bm-diff-easy-fg:#16a34a;--bm-diff-med-bg:#fff7ed;--bm-diff-med-fg:#d97706;--bm-diff-hard-bg:#fef2f2;--bm-diff-hard-fg:#dc2626;--bm-missed-bg:#fef2f2;--bm-missed-fg:#dc2626;--bm-got-bg:#ecfdf5;--bm-got-fg:#15803d}.dark .bm-page,[data-theme=dark] .bm-page{--bm-diff-easy-bg:rgba(34,197,94,.14);--bm-diff-easy-fg:#4ade80;--bm-diff-med-bg:rgba(245,158,11,.16);--bm-diff-med-fg:#fbbf24;--bm-diff-hard-bg:rgba(239,68,68,.14);--bm-diff-hard-fg:#f87171;--bm-missed-bg:rgba(239,68,68,.14);--bm-missed-fg:#f87171;--bm-got-bg:rgba(34,197,94,.14);--bm-got-fg:#4ade80}.bm-sec-toggle .pp-sec-btn{border:0;background:transparent;cursor:pointer;font-family:inherit;padding:6px 14px;font-size:13px}.bm-sec-toggle .pp-sec-btn.is-active{background:var(--bg-card)}.bm-sec-toggle .pp-sec-btn .n{font-size:11.5px;opacity:.75;font-variant-numeric:tabular-nums}.bm-domains{gap:20px}.bm-domain,.bm-domains{display:flex;flex-direction:column}.bm-domain{gap:10px}.bm-domain-head{display:flex;align-items:baseline;gap:10px;padding:6px 4px 0}.bm-domain-head h2{margin:0;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}.bm-domain-head span{font-size:12.5px;color:var(--text-muted)}.bm-group{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card)}.bm-group.is-open{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.bm-group-head{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 18px;cursor:pointer}.bm-group-head:hover{background:var(--bg-alt)}.bm-group-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bm-group-head .chev{width:16px;height:16px;color:var(--text-muted);transition:transform .15s}.bm-group.is-open .bm-group-head .chev{transform:rotate(90deg)}.bm-group-head .name-block{display:flex;flex-direction:column;gap:4px;min-width:0}.bm-group-head .skill{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-group-head .sub{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);min-width:0}.bm-group-head .sub .src{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-group-head .sub .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.6;flex-shrink:0}.bm-group-head .diff{font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;flex-shrink:0}.bm-group-head .diff.easy{background:var(--bm-diff-easy-bg);color:var(--bm-diff-easy-fg)}.bm-group-head .diff.medium{background:var(--bm-diff-med-bg);color:var(--bm-diff-med-fg)}.bm-group-head .diff.hard{background:var(--bm-diff-hard-bg);color:var(--bm-diff-hard-fg)}.bm-group-head .counts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bm-page .pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}.bm-page .pill.missed{background:var(--bm-missed-bg);color:var(--bm-missed-fg)}.bm-page .pill.saved{background:color-mix(in srgb,var(--text) 7%,var(--bg-card));color:color-mix(in srgb,var(--text) 70%,transparent)}.bm-page .pill.got{background:var(--bm-got-bg);color:var(--bm-got-fg)}.bm-group-head .actions,.bm-review-group{display:inline-flex;align-items:center;gap:6px}.bm-review-group{width:128px;justify-content:center;padding:7px 0;border-radius:99px;font-size:13px;font-weight:700;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));cursor:pointer;font-family:inherit;transition:background .15s}.bm-review-group:hover{background:color-mix(in srgb,var(--accent) 18%,var(--bg-card))}.bm-delete-group,.bm-line-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.bm-delete-group:hover,.bm-line-delete:hover{background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444}.bm-lines{border-top:1px solid var(--border);padding:4px 0}.bm-line{display:grid;grid-template-columns:28px minmax(0,1fr) auto 56px 14px;gap:14px;align-items:center;padding:10px 18px 10px 50px;cursor:pointer;color:var(--text)}.bm-line.has-delete{grid-template-columns:28px minmax(0,1fr) auto 56px 30px 14px}.bm-line:hover{background:var(--bg-alt)}.bm-line:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bm-line.is-missing{cursor:default;opacity:.6}.bm-line .qn{font-size:12px;font-weight:700;color:var(--text-muted)}.bm-line .stem{font-size:14px;color:color-mix(in srgb,var(--text) 80%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bm-line .stem .katex{font-size:1em}.bm-line .tags{display:flex;gap:6px;justify-content:flex-end}.bm-line .tags .pill{font-size:11.5px;padding:2px 8px}.bm-line .date{font-size:12px;color:var(--text-muted);text-align:right;white-space:nowrap}.bm-line .go{width:14px;height:14px;color:var(--text-muted)}@media (max-width:760px){.bm-group-head{grid-template-columns:18px minmax(0,1fr) auto}.bm-group-head .counts{display:none}.bm-review-group{width:auto;padding:7px 12px}.bm-line,.bm-line.has-delete{grid-template-columns:28px minmax(0,1fr) auto 14px;padding-left:18px}.bm-line .bm-line-delete,.bm-line .date{display:none}}.bm-list{display:flex;flex-direction:column;gap:10px}.bm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;transition:border-color .15s,box-shadow .15s}[data-theme=dark] .bm-card{border-color:rgba(16,185,129,.25)}.bm-card:hover{border-color:var(--border);box-shadow:var(--shadow-card)}.bm-card.open{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.bm-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;cursor:pointer}.bm-head .chev{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--bg-subtle);transition:transform .2s,background .15s,color .15s}.bm-card.open .bm-head .chev{transform:rotate(90deg);background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text)}.bm-title-block{min-width:0}.bm-title{font-size:15px;color:var(--text);letter-spacing:-.005em;line-height:1.3;display:flex;gap:8px;flex-wrap:wrap}.bm-diff-pill,.bm-title{font-weight:700;align-items:center}.bm-diff-pill{display:inline-flex;padding:2px 9px;border-radius:99px;font-size:11px;letter-spacing:.02em;white-space:nowrap}.bm-diff-pill.easy{color:#059669;background:#d1fae5}.bm-diff-pill.medium{color:#a16207;background:#fef3c7}.bm-diff-pill.hard{color:var(--red,#ef4444);background:#fef2f2}[data-theme=dark] .bm-diff-pill.easy{background:rgba(34,197,94,.22);color:#6ee7b7}[data-theme=dark] .bm-diff-pill.medium{background:rgba(251,191,36,.2);color:#fbbf24}[data-theme=dark] .bm-diff-pill.hard{background:rgba(239,68,68,.14)}.bm-sub{margin-top:3px;font-size:12px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:8px}.bm-diff-text{display:none}.bm-head-actions{display:inline-flex;align-items:center;gap:6px}.bm-head-actions .icon-btn{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:1px solid transparent;cursor:pointer}.bm-head-actions .icon-btn:hover{background:var(--bg-subtle);color:var(--text)}.bm-head-actions .icon-btn.danger:hover{background:#fef2f2;color:var(--red,#ef4444)}[data-theme=dark] .bm-head-actions .icon-btn.danger:hover{background:rgba(239,68,68,.14)}.bm-topic-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);font-size:13px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:background .15s;min-width:130px}.bm-topic-review-btn:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg-card))}.bm-body{display:none;padding:0 16px 16px;border-top:1px solid var(--border)}.bm-card.open .bm-body{display:block}.bm-body-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0 8px;font-size:12px;color:var(--text-muted);font-weight:600}.bm-q-list{display:flex;flex-direction:column;gap:8px}.bm-q-item{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:12px;align-items:flex-start;padding:12px 14px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border-radius:10px;border:1px solid var(--border);transition:background .15s,border-color .15s}[data-theme=dark] .bm-q-item{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.18)}.bm-q-item:hover{border-color:var(--border)}.bm-q-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.bm-q-tag.missed{background:#fef2f2;color:var(--red,#ef4444)}.bm-q-tag.manual{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text)}[data-theme=dark] .bm-q-tag.missed{background:rgba(239,68,68,.14)}.bm-q-text{font-size:13.5px;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.bm-q-meta{margin-top:6px;font-size:11.5px;color:var(--text-muted);font-weight:500}.bm-q-answer-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:11.5px;font-weight:600;color:var(--accent-text);background:transparent;cursor:pointer;border:none;font-family:inherit;white-space:nowrap}.bm-q-answer-btn:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg-card))}.bm-q-del{width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border:none;background:transparent;font-family:inherit}.bm-q-del:hover{background:#fef2f2;color:var(--red,#ef4444)}[data-theme=dark] .bm-q-del:hover{background:rgba(239,68,68,.14)}.bm-q-answer-panel{grid-column:1/-1;margin-top:8px;padding:12px 14px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border)}.bm-q-answer-panel .row{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-muted);line-height:1.5}.bm-q-answer-panel .row+.row{margin-top:8px}.bm-q-answer-panel .pill-mini{padding:2px 7px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.bm-q-answer-panel .pill-mini.correct{background:#ecfdf5;color:#059669}[data-theme=dark] .bm-q-answer-panel .pill-mini.correct{background:rgba(5,150,105,.14)}.bm-empty{text-align:center;padding:60px 24px;color:var(--text-muted)}.bm-empty .em-icon{width:56px;height:56px;border-radius:16px;background:var(--bg-subtle);color:var(--text-muted);margin:0 auto 14px;display:inline-flex;align-items:center;justify-content:center}.bm-empty .em-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px}.bm-empty .em-sub{font-size:13px}@media (max-width:900px){.bm-page{padding:18px}.bm-page-head{flex-direction:column;align-items:stretch;gap:14px}.bm-review-all{align-self:stretch;text-align:center}.bm-head{gap:10px;padding:12px 14px;grid-template-columns:auto 1fr auto}.bm-head-actions{gap:4px}.bm-head-actions .icon-btn{width:28px;height:28px}.bm-topic-review-btn{padding:6px 10px;font-size:12px;min-width:auto}.bm-review-label{display:none}.bm-review-count{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}.bm-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.bm-title .bm-diff-pill{display:none}.bm-sub{font-size:11px}.bm-sub .bm-domain-name{display:none}.bm-diff-text{display:inline}.bm-filter-row{gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.bm-filter-row::-webkit-scrollbar{display:none}.bm-filter-row .label{display:none}.bm-desktop-only{display:none!important}.bm-mobile-only{display:flex!important}.bm-chip-group{flex:1}.bm-chip{flex:1;justify-content:center;white-space:nowrap;min-width:0;font-size:12px;padding:6px 8px}.bm-chip-group .bm-chip:first-child{flex:0 0 auto;padding:6px 16px}.bm-search-field{min-width:0;flex:1}.bm-body-counts,.bm-body-head,.bm-q-check,.bm-select-all{display:none!important}.bm-q-item{display:flex!important;flex-direction:column;gap:6px;padding:14px;position:relative}.bm-q-item .bm-q-tag{align-self:flex-start}.bm-q-text{-webkit-line-clamp:unset;display:block;font-size:14px}.bm-q-del{position:absolute;top:14px;right:14px}.bm-q-answer-btn{align-self:flex-start;padding:0}.bm-q-answer-panel{margin-top:4px}.bm-bulk-bar{display:none!important}.bm-q-item.selected{background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border-color:var(--border)}}.bm-select-all{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted)}.bm-select-all input{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.bm-body-counts{font-size:11.5px;font-weight:600;color:var(--text-muted)}.bm-q-check{display:flex;align-items:flex-start;padding-top:2px}.bm-q-check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.bm-q-item.selected{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.bm-bulk-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120%);display:flex;align-items:center;gap:10px;background:#111;color:#fff;padding:10px 10px 10px 18px;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.4);transition:transform .24s cubic-bezier(.2,.8,.2,1);z-index:60}.bm-bulk-bar.open{transform:translate(-50%)}.bm-bulk-count{font-size:13px;font-weight:700;padding-right:12px;border-right:1px solid hsla(0,0%,100%,.15);margin-right:2px}.bm-bulk-count .n{color:#6ee7b7}.bm-bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;font-size:12.5px;font-weight:700;background:transparent;color:#fff;border:none;cursor:pointer;font-family:inherit}.bm-bulk-btn:hover{background:hsla(0,0%,100%,.1)}.bm-bulk-btn.primary{color:#fff}.bm-bulk-btn.primary,.bm-bulk-btn.primary:hover{background:linear-gradient(135deg,#10b981,#059669)}.bm-bulk-btn.danger{color:#ff8a80}.bm-bulk-btn.danger:hover{background:rgba(239,68,68,.16);color:#ffb4ad}.bm-bulk-btn.close{color:#ccc;padding:8px}.settings-page{padding:32px 40px 120px;max-width:960px;width:100%;margin:0 auto}.settings-page .page-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.settings-page .page-head .head-icon{width:48px;height:48px;min-width:48px;min-height:48px;flex-shrink:0;aspect-ratio:1;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center}.settings-page .page-head .head-icon svg{width:24px;height:24px}.settings-page .page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--text)}.settings-page .page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.settings-page .sec-nav{display:flex;flex-direction:row;gap:4px;justify-content:space-between;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;margin:0 -2px 20px;scrollbar-width:none;border-bottom:1px solid var(--border);scroll-snap-type:x proximity}.settings-page .sec-nav::-webkit-scrollbar{display:none}.settings-page .sec-nav a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:600;color:var(--text-2);transition:background .12s,color .12s;white-space:nowrap;scroll-snap-align:start;cursor:pointer;flex-shrink:0}.settings-page .sec-nav a:hover{background:var(--bg-subtle);color:var(--text)}.settings-page .sec-nav a.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);font-weight:700}.settings-page .sec-nav a svg{width:15px;height:15px;flex-shrink:0}.settings-page .card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);padding:22px 24px;margin-bottom:18px;scroll-margin-top:24px}.settings-page .card.danger{border-color:color-mix(in srgb,#ef4444 36%,var(--border));background:color-mix(in srgb,#ef4444 4%,var(--bg-card))}[data-theme=dark] .settings-page .card.danger{background:color-mix(in srgb,#ef4444 10%,var(--bg-card))}.settings-page .card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.settings-page .card-head .c-icon{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-page .card-head .c-icon svg{width:15px;height:15px}.settings-page .card.danger .card-head .c-icon{background:color-mix(in srgb,#ef4444 14%,var(--bg-card));color:#ef4444}.settings-page .card-head h2{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--text)}.settings-page .card.danger .card-head h2{color:#ef4444}.settings-page .card-head .c-sub{margin-left:auto;font-size:12px;color:var(--text-muted);font-weight:600}.settings-page .row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.settings-page .row:first-of-type{border-top:none;padding-top:2px}.settings-page .row:last-of-type{padding-bottom:2px}.settings-page .row .row-main .row-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}.settings-page .row .row-main .row-val{font-size:14px;color:var(--text);font-weight:600}.settings-page .row .row-main .row-hint{font-size:12.5px;color:var(--text-muted);font-weight:500;margin-top:3px;line-height:1.5}.settings-page .row .row-main .row-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.005em}.settings-page .row-action{display:inline-flex;align-items:center;gap:6px}.settings-page .edit-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--border);font-size:12.5px;font-weight:700;color:var(--accent-text);background:var(--bg-card);transition:border-color .12s,background .12s;cursor:pointer}.settings-page .edit-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))}.settings-page .edit-btn:disabled{opacity:.5;cursor:not-allowed}.settings-page .badge-managed{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;background:var(--bg-subtle);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.02em;margin-left:8px;vertical-align:middle}.settings-page .badge-managed svg{width:10px;height:10px}.settings-page .badge-active{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,#22c55e 14%,var(--bg-card));color:#22c55e;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-page .badge-active:before{content:"";width:6px;height:6px;border-radius:50%;background:#22c55e}.settings-page .badge-trial{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,#f59e0b 14%,var(--bg-card));color:#f59e0b;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-page .plan-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:4px 0}.settings-page .plan-left .plan-name{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.settings-page .plan-left .plan-name em{font-family:Georgia,serif;font-style:italic;color:var(--accent-text);font-weight:700}.settings-page .plan-left .plan-price{font-size:13px;color:var(--text-2);font-weight:600;margin-top:5px}.settings-page .plan-left .plan-price strong{color:var(--text);font-weight:800}.settings-page .plan-left .plan-next{font-size:12px;color:var(--text-muted);margin-top:2px}.settings-page .plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-page .btn-primary{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13px;box-shadow:0 6px 18px rgba(16,185,129,.28);transition:transform .12s,box-shadow .12s;border:none;cursor:pointer}.settings-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,185,129,.36)}.settings-page .btn-primary:disabled{opacity:.6;transform:none;cursor:not-allowed}.settings-page .btn-primary svg{width:13px;height:13px}.settings-page .btn-ghost{padding:10px 14px;border-radius:10px;border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-2);background:var(--bg-card);cursor:pointer;transition:border-color .12s,color .12s}.settings-page .btn-ghost:hover{border-color:var(--accent);color:var(--accent-text)}.settings-page .btn-ghost:disabled{opacity:.6;cursor:not-allowed}.settings-page .plan-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}.settings-page .plan-opt{position:relative;border:1.5px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--bg-card);text-align:left;cursor:pointer;transition:border-color .12s,transform .1s,box-shadow .12s}.settings-page .plan-opt:hover{border-color:var(--border-strong,var(--accent));transform:translateY(-1px)}.settings-page .plan-opt.is-featured{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.settings-page .plan-opt .po-name{font-size:14px;font-weight:800;color:var(--text)}.settings-page .plan-opt .po-price{font-size:12.5px;color:var(--text-muted);margin-top:2px}.settings-page .inline-input{font:inherit;color:var(--text);background:var(--bg-card);border:1.5px solid var(--accent);border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600;outline:none;min-width:240px;max-width:100%}.settings-page .inline-form{display:flex;flex-direction:column;gap:8px}.settings-page .inline-form .inline-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.settings-page .inline-form .inline-msg{font-size:12.5px;font-weight:600}.settings-page .inline-form .inline-msg.error{color:#ef4444}.settings-page .inline-form .inline-msg.success{color:#22c55e}.settings-page .inline-actions{display:flex;gap:6px;align-items:center}.settings-page .inline-actions .save-btn{padding:7px 14px;border-radius:8px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-size:12.5px;font-weight:700}.settings-page .inline-actions .save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-page .inline-actions .cancel-btn{padding:7px 12px;border-radius:8px;background:var(--bg-card);color:var(--text-2);border:1px solid var(--border);cursor:pointer;font-size:12.5px;font-weight:700}.settings-page .theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.settings-page .theme-opt{position:relative;display:flex;flex-direction:column;align-items:stretch;border:1.5px solid var(--border);border-radius:12px;padding:0;background:var(--bg-card);overflow:hidden;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .1s}.settings-page .theme-opt:hover{border-color:var(--border-strong,var(--accent));transform:translateY(-1px)}.settings-page .theme-opt.is-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.settings-page .theme-opt .preview{height:68px;display:flex;position:relative;overflow:hidden}.settings-page .theme-opt .preview .side-mini{width:28%;background:#fff;border-right:1px solid #d1fae5;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding-top:8px;gap:4px}.settings-page .theme-opt .preview .side-mini:before{content:"";display:block;width:14px;height:14px;background:linear-gradient(135deg,#10b981,#059669);border-radius:4px}.settings-page .theme-opt .preview .side-mini:after{content:"";display:block;width:18px;height:3px;background:#d1fae5;border-radius:2px;box-shadow:0 6px 0 #d1fae5,0 12px 0 #d1fae5}.settings-page .theme-opt .preview .main-mini{flex:1;background:#fcfffd;position:relative;z-index:1;padding:8px}.settings-page .theme-opt .preview .main-mini:before{content:"";display:block;width:60%;height:6px;background:#a7f3d0;border-radius:3px;margin-bottom:5px}.settings-page .theme-opt .preview .main-mini:after{content:"";display:block;height:20px;background:#fff;border:1px solid #d1fae5;border-radius:4px}.settings-page .theme-opt.dark .preview .side-mini{background:#0f2744;border-right-color:rgba(52,211,153,.18)}.settings-page .theme-opt.dark .preview .side-mini:after{background:rgba(52,211,153,.22);box-shadow:0 6px 0 rgba(52,211,153,.22),0 12px 0 rgba(52,211,153,.22)}.settings-page .theme-opt.dark .preview .main-mini{background:#0a0614}.settings-page .theme-opt.dark .preview .main-mini:before{background:rgba(52,211,153,.35)}.settings-page .theme-opt.dark .preview .main-mini:after{background:#0f2744;border-color:rgba(52,211,153,.18)}.settings-page .theme-opt.system .preview .side-mini{background:linear-gradient(135deg,#fff,#fff 50%,#0f2744 50.1%,#0f2744)}.settings-page .theme-opt.system .preview .main-mini{background:linear-gradient(135deg,#fcfffd,#fcfffd 50%,#0a0614 50.1%,#0a0614)}.settings-page .theme-opt .opt-meta{padding:9px 12px;display:flex;align-items:center;gap:7px;border-top:1px solid var(--border);background:var(--bg-card)}.settings-page .theme-opt .opt-meta svg{width:14px;height:14px;color:var(--text-muted)}.settings-page .theme-opt.is-active .opt-meta svg{color:var(--accent-text)}.settings-page .theme-opt .opt-name{font-size:13px;font-weight:700;color:var(--text)}.settings-page .theme-opt .opt-check{margin-left:auto;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-page .theme-opt.is-active .opt-check{border-color:var(--accent);background:var(--accent)}.settings-page .theme-opt.is-active .opt-check svg{width:10px;height:10px;color:#fff;display:block}.settings-page .theme-opt:not(.is-active) .opt-check svg{display:none}.settings-page .parent-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 16px;background:var(--bg-alt,var(--bg-subtle));border:1px solid var(--border);border-radius:12px;margin-top:14px}[data-theme=dark] .settings-page .parent-row{background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))}.settings-page .parent-row .p-left{display:flex;align-items:center;gap:12px;min-width:0}.settings-page .parent-row .p-avatar{width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}.settings-page .parent-row .p-info{min-width:0}.settings-page .parent-row .p-email{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-page .parent-row .p-meta{font-size:11.5px;color:var(--text-muted);margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}.settings-page .parent-row .p-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);align-self:center;opacity:.6}.settings-page .parent-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settings-page .mini-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-2);padding:6px 2px;background:transparent;border:none;cursor:pointer}.settings-page .mini-link:hover{color:var(--accent-text)}.settings-page .mini-link:disabled{opacity:.6;cursor:not-allowed}.settings-page .mini-link svg{width:13px;height:13px}.settings-page .card.is-gated{position:relative}.settings-page .card.is-gated .gate-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-card) 80%,transparent);backdrop-filter:blur(2px);border-radius:16px;cursor:pointer}.settings-page .card.is-gated .gate-overlay .gate-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:99px;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);font-size:13px;font-weight:600;color:var(--text-2);transition:border-color .12s,color .12s}.settings-page .card.is-gated .gate-overlay:hover .gate-pill{border-color:var(--accent);color:var(--accent-text)}.settings-page .card.is-gated .gate-overlay .gate-pill svg{width:14px;height:14px;color:var(--accent)}.settings-page .toggle{position:relative;width:42px;height:24px;border-radius:99px;background:var(--border-strong,var(--border));transition:background .2s;cursor:pointer;flex-shrink:0;border:none;padding:0}.settings-page .toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:transform .2s}.settings-page .toggle.is-on{background:var(--accent)}.settings-page .toggle.is-on:after{transform:translateX(18px)}.settings-page .toggle:disabled{opacity:.6;cursor:not-allowed}.settings-page .notif-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.settings-page .notif-row:first-of-type{border-top:none;padding-top:2px}.settings-page .notif-row .n-title{font-size:13.5px;font-weight:700;color:var(--text)}.settings-page .notif-row .n-hint{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.5}.settings-page .danger-btn{padding:8px 14px;border-radius:10px;border:1px solid color-mix(in srgb,#ef4444 36%,var(--border));font-size:13px;font-weight:700;color:#ef4444;background:var(--bg-card);transition:background .12s,border-color .12s;cursor:pointer}.settings-page .danger-btn:hover{background:color-mix(in srgb,#ef4444 8%,var(--bg-card));border-color:#ef4444}.settings-page .danger-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .settings-page .danger-btn{background:transparent}.settings-page .delete-confirm{margin-top:14px;padding:14px 16px;border-radius:12px;border:1px solid color-mix(in srgb,#ef4444 30%,var(--border));background:color-mix(in srgb,#ef4444 4%,var(--bg-card))}[data-theme=dark] .settings-page .delete-confirm{background:color-mix(in srgb,#ef4444 10%,var(--bg-card))}.settings-page .delete-confirm h4{margin:0 0 6px;font-size:14px;font-weight:800;color:#ef4444}.settings-page .delete-confirm p{margin:0 0 10px;font-size:12.5px;color:var(--text-2);line-height:1.5}.settings-page .delete-confirm input{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:13px;outline:none;margin-top:4px}.settings-page .delete-confirm input:focus{border-color:#ef4444}.settings-page .delete-confirm .confirm-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.settings-page .delete-confirm .danger-solid{padding:8px 14px;border-radius:8px;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:12.5px;font-weight:700}.settings-page .delete-confirm .danger-solid:disabled{opacity:.4;cursor:not-allowed}.settings-page .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);padding:10px 18px;background:var(--text);color:var(--bg);border-radius:999px;font-size:13px;font-weight:700;box-shadow:var(--shadow-float,0 8px 32px rgba(0,0,0,.25));opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;display:inline-flex;align-items:center;gap:8px}.settings-page .toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}.settings-page .toast svg{width:14px;height:14px}@media (max-width:900px){.settings-page{padding:18px 16px 80px}.settings-page .plan-card,.settings-page .plan-picker,.settings-page .theme-picker{grid-template-columns:1fr}.settings-page .plan-actions{justify-content:flex-start}.settings-page .parent-row{grid-template-columns:1fr}.settings-page .parent-actions{justify-content:flex-start}.settings-page .sec-nav{margin:0 -16px 16px;padding:4px 16px 8px}.settings-page .page-head h1{font-size:22px}.settings-page .card{padding:18px}.settings-page .inline-input{min-width:100%}}.rv-page{--rv-purple:#10b981;--rv-purple-mid:#10b981;--rv-purple-deep:#059669;--rv-purple-light:#6ee7b7;--rv-gold:#c8940a;--rv-gold-light:#f0c674;--rv-bg:#fcfffd;--rv-bg-alt:#f0fdf4;--rv-bg-card:#fff;--rv-bg-subtle:#ecfdf5;--rv-text:#0a1628;--rv-text-2:#374151;--rv-text-muted:#6b7280;--rv-border:#d1fae5;--rv-border-strong:#a7f3d0;--rv-accent:#10b981;--rv-accent-text:#059669;--rv-green:#22c55e;--rv-red:#ef4444;--rv-orange:#f59e0b;--rv-shadow-card:0 4px 24px rgba(16,185,129,.08);--rv-shadow-lg:0 20px 60px rgba(16,185,129,.14)}[data-theme=dark] .rv-page{--rv-bg:#0a0614;--rv-bg-alt:#0d1f3a;--rv-bg-card:#0f2744;--rv-bg-subtle:#0d1f3a;--rv-text:#f0fdf4;--rv-text-2:#a7f3d0;--rv-text-muted:#6b7280;--rv-border:rgba(52,211,153,.28);--rv-border-strong:rgba(52,211,153,.42);--rv-accent:#6ee7b7;--rv-accent-text:#6ee7b7;--rv-gold:#fbbf24;--rv-gold-light:#fcd34d;--rv-shadow-card:0 4px 24px rgba(0,0,0,.4);--rv-shadow-lg:0 20px 60px rgba(0,0,0,.55)}.rv-section{max-width:1120px;margin:0 auto;padding:0 40px}@media (max-width:768px){.rv-section{padding:0 16px}}.rv-header{padding:32px 0 28px;position:relative;overflow:hidden}.rv-header:before{display:none}.rv-header .wrap{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.rv-header .titles{display:flex;flex-direction:column;align-items:flex-start}.rv-header .title-icon{width:48px;height:48px;min-width:48px;min-height:48px;flex-shrink:0;border-radius:14px;background:color-mix(in srgb,var(--rv-accent) 14%,transparent);display:flex;align-items:center;justify-content:center;color:var(--rv-accent-text);aspect-ratio:1}.rv-header h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--rv-text)}.rv-header .sub{margin:6px 0 0;color:var(--rv-text-2);font-size:15px;max-width:560px}.rv-header .stats{display:flex;gap:10px;flex-wrap:wrap}.rv-mini-stat{display:inline-flex;flex-direction:column;padding:10px 14px;background:var(--rv-bg-card);border:1px solid var(--rv-border);border-radius:12px;box-shadow:var(--rv-shadow-card);min-width:100px}.rv-mini-stat .val{font-size:18px;font-weight:800;font-family:Georgia,serif;letter-spacing:-.5px;color:var(--rv-text);line-height:1}.rv-mini-stat .val.gold{color:var(--rv-gold)}.rv-mini-stat .val.green{color:var(--rv-green)}.rv-mini-stat .lbl{font-size:10.5px;text-transform:uppercase;font-weight:700;letter-spacing:1px;color:var(--rv-text-muted);margin-top:5px}@media (max-width:640px){.rv-mini-stat{min-width:0;flex:1}}.rv-how-strip{margin:4px 0 22px;background:var(--rv-bg-card);border:1px solid var(--rv-border);border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:var(--rv-shadow-card)}.rv-how-strip .hw-step{display:flex;align-items:center;gap:10px;flex:1 1 220px;min-width:0}.rv-how-strip .hw-num{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--rv-accent) 14%,transparent);color:var(--rv-accent-text);font-weight:800;font-size:12.5px;font-variant-numeric:tabular-nums}.rv-how-strip .hw-text{min-width:0}.rv-how-strip .hw-text .hw-t{font-size:13px;font-weight:700;color:var(--rv-text);letter-spacing:-.1px}.rv-how-strip .hw-text .hw-s{font-size:11.5px;color:var(--rv-text-muted);font-weight:500;margin-top:1px}.rv-how-strip .hw-sep{width:1px;height:28px;background:var(--rv-border);flex-shrink:0}@media (max-width:860px){.rv-how-strip .hw-sep{display:none}}.rv-filters{display:flex;gap:8px;margin:24px 0 20px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.rv-filters::-webkit-scrollbar{display:none}.rv-filters button{padding:9px 16px;border-radius:99px;border:1px solid var(--rv-border);background:var(--rv-bg-card);color:var(--rv-text-2);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:7px;font-family:inherit}.rv-filters button:hover{border-color:var(--rv-accent);color:var(--rv-text)}.rv-filters button.active{background:var(--rv-accent);color:#fff;border-color:var(--rv-accent)}[data-theme=dark] .rv-filters button.active{background:#10b981;color:#fff;border-color:#10b981}.rv-filters .dot{width:6px;height:6px;border-radius:3px;background:var(--rv-text-muted)}.rv-filters .dot.ready{background:var(--rv-accent)}.rv-filters .dot.passed{background:var(--rv-green)}.rv-filters .dot.locked{background:var(--rv-text-muted);opacity:.6}.rv-free-notice{background:linear-gradient(135deg,color-mix(in srgb,var(--rv-accent) 16%,var(--rv-bg-card)),color-mix(in srgb,var(--rv-accent) 8%,var(--rv-bg-card)));border:1px solid color-mix(in srgb,var(--rv-accent) 30%,transparent);border-radius:18px;padding:20px 24px;display:flex;align-items:center;gap:16px;box-shadow:var(--rv-shadow-card);margin-bottom:20px}.rv-free-notice .fn-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--rv-purple-mid),var(--rv-purple-deep));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rv-free-notice .fn-body{flex:1;min-width:0}.rv-free-notice .fn-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--rv-accent-text);margin-bottom:2px}.rv-free-notice .fn-title{font-size:15.5px;font-weight:700;letter-spacing:-.2px;margin:0;color:var(--rv-text)}.rv-free-notice .fn-cta{padding:10px 18px;border-radius:99px;background:linear-gradient(135deg,var(--rv-purple-mid),var(--rv-purple-deep));color:#fff;font-weight:700;font-size:13px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;box-shadow:0 4px 14px rgba(16,185,129,.3);transition:transform .15s,box-shadow .15s;font-family:inherit}.rv-free-notice .fn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(16,185,129,.4)}@media (max-width:640px){.rv-free-notice{flex-wrap:wrap}.rv-free-notice .fn-cta{order:3;width:100%;justify-content:center}}.rv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width:860px){.rv-grid{grid-template-columns:1fr}}.rv-card{background:var(--rv-bg-card);border:1px solid var(--rv-border);border-radius:20px;box-shadow:var(--rv-shadow-card);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:box-shadow .2s,border-color .2s,transform .2s}.rv-card.is-unlocked{border-color:color-mix(in srgb,var(--rv-accent) 30%,var(--rv-border))}.rv-card.is-mastered{background:linear-gradient(180deg,color-mix(in srgb,var(--rv-gold) 7%,var(--rv-bg-card)),var(--rv-bg-card) 40%)}[data-theme=dark] .rv-card.is-mastered{background:linear-gradient(180deg,color-mix(in srgb,var(--rv-gold) 10%,var(--rv-bg-card)),var(--rv-bg-card) 40%)}.rv-ribbon{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;font-variant-numeric:tabular-nums}.rv-ribbon.locked{background:var(--rv-bg-subtle)}.rv-ribbon.ready{background:color-mix(in srgb,var(--rv-accent) 16%,transparent)}.rv-ribbon.passed{background:color-mix(in srgb,var(--rv-green) 18%,transparent);color:var(--rv-green)}.rv-ribbon.mastered{background:color-mix(in srgb,var(--rv-gold) 20%,transparent);color:var(--rv-gold)}.rv-ribbon svg{width:11px;height:11px}.rv-card-header{padding:20px 22px 14px;display:flex;align-items:flex-start;gap:14px}.rv-card-header .icon-pill{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.rv-card-header .icon-pill.advanced,.rv-card-header .icon-pill.algebra,.rv-card-header .icon-pill.data,.rv-card-header .icon-pill.geometry{background:color-mix(in srgb,#6ee7b7 22%,transparent);color:#10b981}[data-theme=dark] .rv-card-header .icon-pill.advanced,[data-theme=dark] .rv-card-header .icon-pill.algebra,[data-theme=dark] .rv-card-header .icon-pill.data,[data-theme=dark] .rv-card-header .icon-pill.geometry{color:#6ee7b7}.rv-card-header .titles{min-width:0;padding-right:80px}.rv-card-header h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px;line-height:1.25;color:var(--rv-text)}.rv-card-header .dsub{margin-top:3px;font-size:12.5px;color:var(--rv-text-muted);font-weight:600;font-variant-numeric:tabular-nums}.rv-card-body{padding:6px 22px 20px;flex:1;display:flex;flex-direction:column;gap:14px}.rv-pbar{height:10px;border-radius:99px;background:var(--rv-bg-subtle);overflow:hidden;position:relative}.rv-pbar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--rv-purple-mid),var(--rv-purple-deep));transition:width .8s cubic-bezier(.2,.8,.2,1)}.rv-pbar .fill.green{background:linear-gradient(90deg,#22c55e,#16a34a)}.rv-pbar .fill.gold{background:linear-gradient(90deg,var(--rv-gold-light),var(--rv-gold))}.rv-prow{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--rv-text-muted);font-weight:600;font-variant-numeric:tabular-nums}.rv-prow .label{color:var(--rv-text-2);font-weight:700}.rv-prow .sep{opacity:.4}.rv-req-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:4px}.rv-req-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:10.5px;font-weight:700;background:var(--rv-bg-subtle);color:var(--rv-text-muted)}.rv-req-pill svg{width:10px;height:10px}.rv-req-pill.met{background:color-mix(in srgb,var(--rv-green) 14%,transparent);color:var(--rv-green)}.rv-best{padding:10px 12px;background:color-mix(in srgb,var(--rv-accent) 6%,var(--rv-bg-card));border:1px solid color-mix(in srgb,var(--rv-accent) 18%,var(--rv-border));border-radius:12px}.rv-best.gold{background:linear-gradient(135deg,color-mix(in srgb,var(--rv-gold) 14%,var(--rv-bg-card)),color-mix(in srgb,var(--rv-gold) 6%,var(--rv-bg-card)));border-color:color-mix(in srgb,var(--rv-gold) 34%,var(--rv-border))}.rv-best .best-left,.rv-best .trophy{align-items:center}.rv-best .trophy{width:28px;height:28px;border-radius:8px;display:flex;justify-content:center;background:color-mix(in srgb,var(--rv-accent) 18%,transparent);color:var(--rv-accent-text);flex-shrink:0}.rv-best.gold .trophy{background:color-mix(in srgb,var(--rv-gold) 28%,transparent);color:var(--rv-gold)}.rv-best .best-score{font-family:Georgia,serif;font-size:20px;letter-spacing:-.5px;color:var(--rv-text);line-height:1;font-variant-numeric:tabular-nums}.rv-best.gold .best-score{color:var(--rv-gold)}.rv-best .best-lbl{font-size:10.5px;letter-spacing:1px;color:var(--rv-text-muted);margin-top:3px}.rv-best .best-meta{text-align:right;font-size:11.5px;color:var(--rv-text-muted);font-weight:600;font-variant-numeric:tabular-nums}.rv-best .best-meta .n{color:var(--rv-text-2);font-weight:700}.rv-best .best-meta .trend{display:inline-flex;align-items:center;gap:3px;color:var(--rv-green);font-weight:800}.rv-cta{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 16px;border-radius:12px;width:100%;font-size:14px;font-weight:800;letter-spacing:-.1px;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,background .15s;font-family:inherit}.rv-cta.primary{background:linear-gradient(135deg,var(--rv-purple-mid),var(--rv-purple-deep));color:#fff;box-shadow:0 8px 24px rgba(16,185,129,.32)}.rv-cta.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(16,185,129,.42)}.rv-cta.gold{background:linear-gradient(135deg,var(--rv-gold-light),var(--rv-gold));color:#fff;box-shadow:0 8px 24px rgba(200,148,10,.32)}.rv-cta.gold:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(200,148,10,.42)}.rv-cta.locked{background:var(--rv-bg-subtle);color:var(--rv-text-muted);cursor:not-allowed;box-shadow:none}.rv-cta.locked:hover{transform:none;box-shadow:none}.rv-cta svg{width:15px;height:15px}.rv-secondary{text-align:center;margin-top:-2px}.rv-secondary a{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--rv-text-muted);padding:4px 8px;border-radius:6px}.rv-secondary a:hover{color:var(--rv-accent-text);background:color-mix(in srgb,var(--rv-accent) 6%,transparent)}.rv-secondary svg{width:12px;height:12px}.rv-card.is-locked .rv-card-header .icon-pill{opacity:.7}.rv-card.is-locked h2{color:var(--rv-text-2)}.rv-completion{margin-top:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--rv-gold) 10%,var(--rv-bg-card)),var(--rv-bg-card));border:1px solid color-mix(in srgb,var(--rv-gold) 30%,var(--rv-border));border-radius:20px;padding:24px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:var(--rv-shadow-card)}.rv-completion .c-icon{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--rv-gold) 22%,transparent);color:var(--rv-gold);flex-shrink:0;display:flex;align-items:center;justify-content:center}.rv-completion h3{margin:0 0 4px;font-size:18px;font-weight:900;letter-spacing:-.3px;color:var(--rv-text)}.rv-completion p{margin:0;color:var(--rv-text-2);font-size:13.5px}.rv-completion .spacer{flex:1;min-width:10px}.rv-completion .cta{padding:11px 20px;border-radius:99px;background:var(--rv-text);color:var(--rv-bg-card);font-weight:700;font-size:13px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:inherit;transition:transform .15s}[data-theme=dark] .rv-completion .cta{background:var(--rv-gold);color:#0a1628}.rv-completion .cta:hover{transform:translateY(-1px)}.rv-completion .cta svg{width:13px;height:13px}.rv-footer-space{height:80px}@media (max-width:640px){.rv-card-header .titles{padding-right:70px}.rv-card-header h2{font-size:16.5px}.rv-card-body{padding:6px 18px 18px}.rv-card-header{padding:16px 18px 12px}}.db-two-col{align-items:stretch!important}.db-col,.db-two-col>.db-card{display:flex;flex-direction:column;min-width:0}.db-col{gap:14px}.db-col>.db-card{display:flex;flex-direction:column;min-width:0}.db-col>.db-card.db-grow{flex:1 1 auto;min-height:0}.db-col>.db-card.db-grow>.db-domain-list{flex:1;justify-content:space-between}.db-continue-strip{margin-bottom:14px}.db-continue-strip .db-continue-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.db-continue-strip .db-continue-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:900px){.db-continue-strip .db-continue-list{grid-template-columns:1fr}}.db-heatmap-simple{width:100%}.db-heatmap-simple .dow-row{display:grid;grid-template-columns:repeat(7,40px);justify-content:space-between;margin-bottom:6px}.db-heatmap-simple .dow-cell{text-align:center;font-size:10.5px;font-weight:600;color:var(--text-muted);letter-spacing:.02em;width:40px}.db-heatmap-simple .cell-grid{display:grid;grid-template-columns:repeat(7,40px);justify-content:space-between;row-gap:6px}.db-heatmap-simple .db-heatmap-cell{width:40px;height:40px;border-radius:5px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--accent) 8%,var(--border))}@media (max-width:640px){.db-heatmap-simple{width:100%}.db-heatmap-simple .cell-grid,.db-heatmap-simple .dow-row{grid-template-columns:repeat(7,1fr)}.db-heatmap-simple .dow-cell{width:auto}.db-heatmap-simple .db-heatmap-cell{width:100%;height:auto;aspect-ratio:1/1}}.db-heatmap-simple .db-heatmap-cell.l1{background:color-mix(in srgb,var(--accent) 22%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.db-heatmap-simple .db-heatmap-cell.l2{background:color-mix(in srgb,var(--accent) 42%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.db-heatmap-simple .db-heatmap-cell.l3{background:color-mix(in srgb,var(--accent) 65%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}.db-heatmap-simple .db-heatmap-cell.l4{background:var(--accent);border-color:var(--accent)}.db-heatmap-legend{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);font-weight:600}.db-heatmap-legend .legend-scale{display:inline-flex;align-items:center;gap:5px;font-size:11px}.db-heatmap-legend .sq{width:11px;height:11px;border-radius:3px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--accent) 8%,var(--border))}.db-heatmap-legend .sq.l1{background:color-mix(in srgb,var(--accent) 22%,var(--bg-card))}.db-heatmap-legend .sq.l2{background:color-mix(in srgb,var(--accent) 42%,var(--bg-card))}.db-heatmap-legend .sq.l3{background:color-mix(in srgb,var(--accent) 65%,var(--bg-card))}.db-heatmap-legend .sq.l4{background:var(--accent)}.prog-page{--prog-green-deep:#16a34a;--prog-green-bg:#ecfdf5;--prog-red-bg:#fef2f2;--prog-orange-bg:#fff7ed;--prog-teal:#0ea5b5}.dark .prog-page,[data-theme=dark] .prog-page{--prog-green-deep:#22c55e;--prog-green-bg:rgba(34,197,94,.14);--prog-red-bg:rgba(239,68,68,.14);--prog-orange-bg:rgba(245,158,11,.16);--prog-teal:#38bdf8}.prog-page{padding:32px 40px 80px;max-width:1296px;width:100%;margin:0 auto}@media (max-width:900px){.prog-page{padding:22px 18px 60px}}.prog-page .page-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.prog-page .page-head .head-icon{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:14px;aspect-ratio:1;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.prog-page .page-head .head-icon svg{width:24px;height:24px}.prog-page .page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1}.prog-page .page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.prog-page{--pg-line:rgba(16,185,129,.1);--pg-row-line:rgba(16,185,129,.08);--tone-good-bg:#d6f0e0;--tone-good-fg:#0f7a4d;--tone-ok-bg:#fdefd2;--tone-ok-fg:#94600a;--tone-low-bg:#fde3e3;--tone-low-fg:#c03a3a;--tone-untried-fg:rgba(15,23,42,.3);--tone-untried-bd:rgba(15,23,42,.2);--pg-tag-hw-bg:#e0f2fb;--pg-tag-hw-fg:#1b7fb8}.dark .prog-page,[data-theme=dark] .prog-page{--tone-good-bg:rgba(16,185,129,.2);--tone-good-fg:#6ee7a8;--tone-ok-bg:rgba(245,158,11,.18);--tone-ok-fg:#fbbf24;--tone-low-bg:rgba(239,68,68,.18);--tone-low-fg:#f87171;--tone-untried-fg:hsla(0,0%,100%,.3);--tone-untried-bd:hsla(0,0%,100%,.2);--pg-tag-hw-bg:rgba(56,189,248,.16);--pg-tag-hw-fg:#7dd3fc}.prog-page .pg-stack{display:flex;flex-direction:column;gap:24px}.prog-page .pg-card{background:var(--bg-card);border:1px solid var(--pg-line);border-radius:16px;box-shadow:var(--shadow-card)}.prog-page .pg-card h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em}.prog-page .pg-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr)}.prog-page .pg-stat{padding:22px 24px;border-right:1px solid var(--pg-line);display:flex;flex-direction:column;gap:6px}.prog-page .pg-stat .v{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--accent-text);font-variant-numeric:tabular-nums}.prog-page .pg-stat .v.hw{color:var(--tone-good-fg)}.prog-page .pg-stat .v .denom{font-size:17px;font-weight:700;color:var(--text-muted)}.prog-page .pg-stat .lbl,.prog-page .pg-trend-head{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.prog-page .pg-trend{padding:18px 24px;display:flex;flex-direction:column;gap:10px;min-width:0}.prog-page .pg-trend-head{display:flex;justify-content:space-between;gap:12px}.prog-page .pg-trend-head .legend{display:flex;gap:12px;text-transform:none;letter-spacing:0;font-weight:500}.prog-page .pg-trend-head .legend>span{display:flex;align-items:center;gap:5px}.prog-page .sw{display:inline-block;flex-shrink:0}.prog-page .pg-trend-head .sw{width:8px;height:8px;border-radius:2px}.prog-page .pg-trend-bars .bar,.prog-page .sw.practice{background:linear-gradient(180deg,#34d399,#10b981)}.prog-page .pg-trend-bars .bar.homework,.prog-page .sw.homework{background:linear-gradient(180deg,#6ab9f8,#2b8fdc)}.dark .prog-page .pg-trend-bars .bar,[data-theme=dark] .prog-page .pg-trend-bars .bar{background:linear-gradient(180deg,#6ee7b7,#10b981)}.dark .prog-page .pg-trend-bars .bar.homework,[data-theme=dark] .prog-page .pg-trend-bars .bar.homework{background:linear-gradient(180deg,#7dd3fc,#38bdf8)}.prog-page .pg-trend-bars{display:flex;align-items:flex-end;gap:6px;height:64px}.prog-page .pg-trend-bars .bar{flex:0 0 calc((100% - 54px) / 10);border-radius:4px 4px 2px 2px}.prog-page .pg-trend-empty{height:64px;display:flex;align-items:center;font-size:13px;color:var(--text-muted)}.prog-page .pg-mastery{display:flex;flex-direction:column}.prog-page .pg-mastery.split{padding:28px 32px;gap:22px}.prog-page .pg-mastery.single{padding:26px 28px;gap:24px}.prog-page .pg-mastery-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.prog-page .pg-mastery-head.single{flex-direction:column;align-items:flex-start;gap:12px}.prog-page .pg-mastery-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.prog-page .pg-mastery-title .hint{font-size:14px;color:var(--text-muted)}.prog-page .pg-legend{display:flex;gap:16px;font-size:13px;color:color-mix(in srgb,var(--text) 62%,transparent);flex-wrap:wrap}.prog-page .pg-mastery-head.single .pg-legend{gap:14px;font-size:12px}.prog-page .pg-legend>span{display:flex;align-items:center;gap:6px}.prog-page .pg-legend .sw{width:14px;height:14px;border-radius:4px;box-sizing:border-box}.prog-page .pg-mastery-head.single .pg-legend .sw{width:12px;height:12px;border-radius:3px}.prog-page .sw.good{background:var(--tone-good-bg)}.prog-page .sw.ok{background:var(--tone-ok-bg)}.prog-page .sw.low{background:var(--tone-low-bg)}.prog-page .sw.untried{border:1px dashed var(--tone-untried-bd)}.prog-page .pg-mastery-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:40px}.prog-page .pg-mastery-col{display:flex;flex-direction:column;gap:26px;min-width:0}.prog-page .pg-col-title{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);border-bottom:2px solid color-mix(in srgb,#10b981 16%,transparent);padding-bottom:8px}.prog-page .pg-domain{display:flex;flex-direction:column;gap:6px}.prog-page .pg-row{display:grid;grid-template-columns:minmax(0,1fr) 60px 60px 60px;gap:6px;align-items:center}.prog-page .pg-domain-head{align-items:end;padding-bottom:4px}.prog-page .pg-domain-title{display:flex;align-items:baseline;gap:10px;min-width:0}.prog-page .pg-domain-title .name{font-size:15px;font-weight:700;white-space:nowrap}.prog-page .pg-domain-title .meta{font-size:13px;color:var(--text-muted);white-space:nowrap}.prog-page .pg-domain-head .lvl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center}.prog-page .pg-skill{font-size:14px;color:color-mix(in srgb,var(--text) 80%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prog-page .pg-cell{height:30px;border-radius:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;text-decoration:none;cursor:pointer;transition:filter .12s}.prog-page .pg-mastery.split .pg-cell{font-weight:700}.prog-page .pg-cell.no-link{cursor:default}.prog-page a.pg-cell:hover{filter:brightness(.96);outline:2px solid rgba(16,185,129,.35)}.prog-page .pg-cell.good{background:var(--tone-good-bg);color:var(--tone-good-fg)}.prog-page .pg-cell.ok{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.prog-page .pg-cell.low{background:var(--tone-low-bg);color:var(--tone-low-fg)}.prog-page .pg-cell.untried{background:transparent;color:var(--tone-untried-fg);border:1px dashed var(--tone-untried-bd)}.prog-page .pg-sessions{display:flex;flex-direction:column}.prog-page .pg-sessions.split{padding:24px 32px;gap:8px}.prog-page .pg-sessions.single{padding:24px 28px;gap:4px}.prog-page .pg-sessions-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px}.prog-page .pg-sessions-head button{font-size:14px;font-weight:600;color:var(--accent-text);background:none;border:0;padding:0;cursor:pointer}.prog-page .pg-sessions-head button:hover{text-decoration:underline}.prog-page .pg-session{display:grid;align-items:center;border-top:1px solid var(--pg-row-line)}.prog-page .pg-sessions.split .pg-session{grid-template-columns:minmax(0,1fr) 110px 100px 80px 70px;gap:16px;padding:12px 0}.prog-page .pg-sessions.single .pg-session{grid-template-columns:minmax(0,1fr) 90px 56px 60px;gap:12px;padding:10px 0}.prog-page .pg-session .stack{display:flex;flex-direction:column;gap:1px;min-width:0}.prog-page .pg-session .topic{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.prog-page .pg-sessions.split .pg-session .topic{font-size:15px}.prog-page .pg-sessions.single .pg-session .topic{font-size:14px}.prog-page .pg-session .diff{color:var(--text-muted)}.prog-page .pg-sessions.split .pg-session .diff{font-size:14px}.prog-page .pg-sessions.single .pg-session .diff{font-size:12px}.prog-page .pg-session .tag{justify-self:start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.prog-page .pg-session .tag.practice{background:color-mix(in srgb,#10b981 12%,var(--bg-card));color:var(--accent-text)}.prog-page .pg-session .tag.homework{background:var(--pg-tag-hw-bg);color:var(--pg-tag-hw-fg)}.prog-page .pg-session .score{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.prog-page .pg-sessions.split .pg-session .score{font-size:15px}.prog-page .pg-sessions.single .pg-session .score{font-size:14px}.prog-page .pg-session .score.good{color:var(--tone-good-fg)}.prog-page .pg-session .score.ok{color:var(--tone-ok-fg)}.prog-page .pg-session .score.low{color:var(--tone-low-fg)}.prog-page .pg-session .ago{color:var(--text-muted);text-align:right;white-space:nowrap}.prog-page .pg-sessions.split .pg-session .ago{font-size:13px}.prog-page .pg-sessions.single .pg-session .ago{font-size:12px}.prog-page .pg-empty{margin:8px 0 4px;font-size:13px;color:var(--text-muted)}.prog-page .pg-single{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:stretch}.prog-page .pg-single>.pg-mastery{align-self:start}.prog-page .pg-sessions-slot{position:relative;min-height:0}.prog-page .pg-sessions-slot>.pg-sessions{position:absolute;top:0;left:0;right:0;max-height:100%}.prog-page .pg-sessions-rows{display:flex;flex-direction:column;min-height:0}.prog-page .pg-sessions-slot .pg-sessions-rows{overflow-y:auto;flex:1 1 auto;padding-right:14px;margin-right:-18px}@media (max-width:1100px){.prog-page .pg-single{grid-template-columns:1fr}.prog-page .pg-sessions-slot>.pg-sessions{position:static;max-height:none}}@media (max-width:900px){.prog-page .pg-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.prog-page .pg-stat:nth-child(2n){border-right:none}.prog-page .pg-stat{border-bottom:1px solid var(--pg-line)}.prog-page .pg-trend{grid-column:1/-1}.prog-page .pg-sessions.split .pg-session{grid-template-columns:minmax(0,1fr) 90px 56px 60px;gap:12px}.prog-page .pg-sessions.split .pg-session .diff{display:none}}@media (max-width:560px){.prog-page .pg-mastery-cols{grid-template-columns:1fr}.prog-page .pg-row{grid-template-columns:minmax(0,1fr) 48px 48px 48px}}.set-page{padding:32px 40px 80px;max-width:1120px;width:100%;margin:0 auto}@media (max-width:900px){.set-page{padding:22px 18px 60px}}.set-page .page-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.set-page .page-head .head-icon{width:48px;height:48px;min-width:48px;border-radius:14px;aspect-ratio:1;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.set-page .page-head .head-icon svg{width:24px;height:24px}.set-page .page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1}.set-page .page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.set-page .card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);padding:22px 24px;margin-bottom:18px}.set-page .card-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.set-page .card-head .c-icon{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.set-page .card-head .c-icon svg{width:16px;height:16px}.set-page .card-head h2{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em}.set-page .card.danger{border-color:color-mix(in srgb,#ef4444 32%,var(--border))}.set-page .card.danger .card-head .c-icon{background:color-mix(in srgb,#ef4444 14%,var(--bg-card));color:#ef4444}.set-page .card.danger .card-head h2{color:#ef4444}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:7px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.back-link:hover{border-color:var(--accent);color:var(--accent-text)}.back-link svg{width:16px;height:16px}:root{--purple-bright:#10b981;--purple-mid:#059669;--purple-glow:#6ee7b7;--purple-light:#6ee7b7;--purple-pale:#a7f3d0;--purple-faint:#ecfdf5;--purple-deep:#059669;--gold:#c8940a;--gold-soft:#f0c674;--gold-light:#f0c674}.hw-page{--hw-green:#22c55e;--hw-green-deep:#16a34a;--hw-green-bg:#ecfdf5;--hw-red:#ef4444;--hw-red-bg:#fef2f2;--hw-orange:#f59e0b;--hw-orange-bg:#fff7ed;--hw-teal:#0ea5b5;--hw-bg-subtle:#ecfdf5}.dark .hw-page,[data-theme=dark] .hw-page{--hw-green:#4ade80;--hw-green-deep:#22c55e;--hw-green-bg:rgba(34,197,94,.14);--hw-red:#f87171;--hw-red-bg:rgba(239,68,68,.14);--hw-orange:#fbbf24;--hw-orange-bg:rgba(245,158,11,.16);--hw-teal:#38bdf8;--hw-bg-subtle:#0d1f3a}.hw-page{padding:32px 40px 80px;max-width:1120px;width:100%;margin:0 auto}.hw-page .hw-student-select{position:relative;max-width:360px;margin-bottom:20px}.hw-page .hw-student-select>label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px}.hw-page .hw-student-select .select-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s}.hw-page .hw-student-select .select-btn.is-open,.hw-page .hw-student-select .select-btn:hover{border-color:var(--accent)}.hw-page .hw-student-select .select-btn .name{font-weight:600}.hw-page .hw-student-select .select-btn .placeholder{color:var(--text-muted)}.hw-page .hw-student-select .select-btn .chev{width:16px;height:16px;color:var(--text-muted);transition:transform .15s}.hw-page .hw-student-select .select-btn .chev.rot{transform:rotate(180deg)}.hw-page .hw-student-select .select-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-card);overflow:hidden}.hw-page .hw-student-select .select-menu .search{padding:8px}.hw-page .hw-student-select .select-menu .search input{width:100%;padding:8px 12px;border-radius:9px;border:1px solid var(--border);background:var(--bg-alt);color:var(--text);font:inherit;font-size:13px}.hw-page .hw-student-select .select-menu .search input:focus{outline:none;border-color:var(--accent)}.hw-page .hw-student-select .select-menu .opts{max-height:240px;overflow-y:auto;padding:0 6px 6px}.hw-page .hw-student-select .select-menu .opt{display:flex;width:100%;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text);font:inherit;transition:background .12s}.hw-page .hw-student-select .select-menu .opt:hover{background:var(--bg-alt)}.hw-page .hw-student-select .select-menu .opt.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.hw-page .hw-student-select .select-menu .opt .nm{font-size:13.5px;font-weight:600}.hw-page .hw-student-select .select-menu .opt .em{font-size:12px;color:var(--text-muted)}.hw-page .hw-student-select .select-menu .opt .tick{width:16px;height:16px;margin-left:auto;color:var(--accent-text)}.hw-page .hw-student-select .select-menu .none{padding:10px;font-size:13px;color:var(--text-muted)}.hw-page .topic-row.is-static{cursor:default}.hw-page .topic-row.is-static:hover{background:none}.hw-page .topic-row .status .stopped-flag{font-size:11px;font-weight:700;color:var(--hw-orange);white-space:nowrap}.hw-page .page-head .hw-new-btn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;font-size:13.5px;text-decoration:none;box-shadow:0 6px 18px rgba(16,185,129,.28);transition:transform .12s,box-shadow .15s}.hw-page .page-head .hw-new-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,185,129,.36)}@media (max-width:640px){.hw-page .page-head .hw-new-btn{display:none}}.hw-page .hw-head h2 a{color:inherit;text-decoration:none}.hw-page .hw-head h2 a:hover{color:var(--accent-text)}.hw-page .hw-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:7px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.hw-page .hw-back:hover{border-color:var(--accent);color:var(--accent-text)}.hw-page .page-head .head-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 0;font-size:14px;color:var(--text-2);font-weight:500}.hw-page .page-head .head-meta svg{width:15px;height:15px}.hw-page .page-head .head-meta .badge-state.overdue{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;background:var(--hw-red-bg);color:var(--hw-red)}.hw-page .page-head .head-meta .badge-state.overdue svg{width:11px;height:11px}.hw-page .page-head .head-action{margin-left:auto;display:flex;align-items:center;gap:10px}@media (max-width:900px){.hw-page{padding:22px 16px 60px}}.hw-page .page-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.hw-page .page-head .head-icon{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:14px;aspect-ratio:1;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hw-page .page-head .head-icon svg{width:24px;height:24px}.hw-page .page-head h1{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:900;letter-spacing:-.03em;line-height:1}.hw-page .page-head p{margin:6px 0 0;font-size:15px;color:var(--text-2);font-weight:500}.hw-page .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:18px;background:var(--bg-card);box-shadow:var(--shadow-card)}@media (max-width:640px){.hw-page .summary{grid-template-columns:1fr}}.hw-page .sum-cell{padding:14px 18px;position:relative}.hw-page .sum-cell:not(:last-child){border-right:1px solid var(--border)}@media (max-width:640px){.hw-page .sum-cell:not(:last-child){border-right:none;border-bottom:1px solid var(--border)}}.hw-page .sum-cell .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.hw-page .sum-cell .v{font-size:22px;font-weight:900;letter-spacing:-.025em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline;gap:4px}.hw-page .sum-cell .v.warn{color:var(--hw-red)}.hw-page .sum-cell .v.ok{color:var(--hw-green-deep)}.hw-page .sum-cell .v .of{font-size:14px;color:var(--text-muted);font-weight:700}.hw-page .sum-cell .hint{margin-top:4px;font-size:11.5px;color:var(--text-muted)}.hw-page .filter-row{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;flex-wrap:wrap;scrollbar-width:none}.hw-page .filter-row::-webkit-scrollbar{display:none}.hw-page .filter-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:99px;background:var(--bg-card);color:var(--text-2);font-size:13px;font-weight:600;border:1px solid var(--border);white-space:nowrap;transition:all .15s;cursor:pointer;font-family:inherit}.hw-page .filter-chip:hover{border-color:var(--accent);color:var(--text)}.hw-page .filter-chip.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.dark .hw-page .filter-chip.is-active,[data-theme=dark] .hw-page .filter-chip.is-active{background:#10b981;color:#fff;border-color:#10b981}.hw-page .filter-chip .n{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums}.hw-page .filter-chip.is-active .n{opacity:.85}.hw-page .filter-chip .dot{width:6px;height:6px;border-radius:3px;background:var(--text-muted)}.hw-page .filter-chip .dot.active-dot{background:var(--accent)}.hw-page .filter-chip .dot.complete-dot{background:var(--hw-green)}.hw-page .hw-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);margin-bottom:18px;overflow:hidden;position:relative}.hw-page .hw-card.is-overdue{border-color:color-mix(in srgb,var(--hw-red) 32%,var(--border))}.hw-page .hw-card.is-complete{border-color:color-mix(in srgb,var(--hw-green) 30%,var(--border))}.hw-page .hw-card.is-overdue:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--hw-red)}.hw-page .hw-card.is-complete:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--hw-green)}.hw-page .hw-card.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.hw-page .hw-head{padding:20px 24px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:14px}.hw-page .hw-head .hw-icon{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hw-page .hw-head .hw-icon svg{width:18px;height:18px}.hw-page .hw-card.is-overdue .hw-head .hw-icon{background:var(--hw-red-bg);color:var(--hw-red)}.hw-page .hw-card.is-complete .hw-head .hw-icon{background:var(--hw-green-bg);color:var(--hw-green-deep)}.dark .hw-page .hw-card.is-complete .hw-head .hw-icon,[data-theme=dark] .hw-page .hw-card.is-complete .hw-head .hw-icon{color:var(--hw-green)}.hw-page .hw-head h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.015em;color:var(--text);line-height:1.2}.hw-page .hw-head .meta{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);font-weight:500}.hw-page .hw-head .meta svg{width:13px;height:13px}.hw-page .hw-head .meta .badge-state,.hw-page .hw-head .meta .due{display:inline-flex;align-items:center;gap:5px}.hw-page .hw-head .meta .badge-state{padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.01em}.hw-page .hw-head .meta .badge-state.overdue{background:var(--hw-red-bg);color:var(--hw-red)}.hw-page .hw-head .meta .badge-state.overdue svg{width:11px;height:11px}.hw-page .hw-head .meta .badge-state.due-soon{background:var(--hw-orange-bg);color:var(--hw-orange)}.hw-page .hw-head .meta .badge-state.upcoming{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}.hw-page .hw-head .right-state{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;font-size:11.5px;font-weight:800;letter-spacing:.02em;flex-shrink:0}.hw-page .hw-head .right-state.complete{background:var(--hw-green-bg);color:var(--hw-green-deep)}.dark .hw-page .hw-head .right-state.complete,[data-theme=dark] .hw-page .hw-head .right-state.complete{color:var(--hw-green)}.hw-page .hw-head .right-state svg{width:12px;height:12px}.hw-page .hw-progress{padding:0 24px 16px}.hw-page .hw-progress .meta-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.hw-page .hw-progress .pct-label{font-size:12.5px;font-weight:700;color:var(--text-2)}.hw-page .hw-progress .pct-num{font-size:12.5px;font-weight:800;color:var(--accent-text);font-variant-numeric:tabular-nums}.hw-page .hw-card.is-complete .hw-progress .pct-num{color:var(--hw-green-deep)}.dark .hw-page .hw-card.is-complete .hw-progress .pct-num,[data-theme=dark] .hw-page .hw-card.is-complete .hw-progress .pct-num{color:var(--hw-green)}.hw-page .hw-progress-bar{height:6px;border-radius:99px;background:var(--hw-bg-subtle);overflow:hidden}.hw-page .hw-progress-bar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#10b981,#059669);transition:width .8s cubic-bezier(.2,.8,.2,1)}.hw-page .hw-card.is-complete .hw-progress-bar .fill{background:linear-gradient(90deg,#4ade80,var(--hw-green-deep))}.dark .hw-page .hw-card.is-complete .hw-progress-bar .fill,[data-theme=dark] .hw-page .hw-card.is-complete .hw-progress-bar .fill{background:linear-gradient(90deg,#86efac,var(--hw-green))}.hw-page .topics{padding:4px 0 6px}.hw-page .topic-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:14px;padding:14px 24px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s;color:inherit;text-decoration:none}.hw-page .topic-row:hover{background:var(--bg-alt)}.hw-page .topic-row .icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hw-page .topic-row .icon svg{width:11px;height:11px}.hw-page .topic-row .icon.done{background:color-mix(in srgb,var(--hw-teal) 14%,transparent);color:var(--hw-teal)}.hw-page .topic-row .icon.progress{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}.hw-page .topic-row .icon.not-started{background:var(--hw-bg-subtle);color:var(--text-muted)}.hw-page .topic-row .icon.progress:after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.hw-page .topic-row .icon.not-started:after{content:"";width:6px;height:6px;border-radius:50%;border:1.5px solid}.hw-page .topic-row .name{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.005em;line-height:1.3}.hw-page .topic-row .sub{margin-top:3px;font-size:12px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hw-page .topic-row .sub .diff{display:inline-flex;align-items:center;padding:1px 7px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.02em}.hw-page .topic-row .sub .diff.easy{background:var(--hw-green-bg);color:var(--hw-green-deep)}.dark .hw-page .topic-row .sub .diff.easy,[data-theme=dark] .hw-page .topic-row .sub .diff.easy{color:var(--hw-green)}.hw-page .topic-row .sub .diff.medium{background:var(--hw-orange-bg);color:var(--hw-orange)}.hw-page .topic-row .sub .diff.hard{background:var(--hw-red-bg);color:var(--hw-red)}.hw-page .topic-row .sub .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.6}.hw-page .topic-row .status{display:inline-flex;align-items:center;gap:6px}.hw-page .topic-row .status .badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;min-width:92px;justify-content:center;white-space:nowrap}.hw-page .topic-row .status .badge.score-high{background:color-mix(in srgb,var(--hw-teal) 14%,transparent);color:var(--hw-teal)}.hw-page .topic-row .status .badge.score-mid{background:var(--hw-orange-bg);color:var(--hw-orange)}.hw-page .topic-row .status .badge.score-low{background:var(--hw-red-bg);color:var(--hw-red)}.hw-page .topic-row .status .badge.in-progress{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));color:var(--accent-text)}.hw-page .topic-row .status .badge.not-started{background:var(--hw-bg-subtle);color:var(--text-muted)}.hw-page .topic-row .status .arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--text-muted);transition:transform .15s,color .15s}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge{display:inline-block;width:96px;min-width:96px;padding:4px 0;text-align:center;box-sizing:border-box;border-radius:8px;font-size:12px;font-weight:800;border:1px solid transparent;letter-spacing:0}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge.score-high{background:color-mix(in srgb,var(--hw-teal) 14%,var(--bg-card));border-color:color-mix(in srgb,var(--hw-teal) 30%,var(--border));color:var(--hw-teal)}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge.score-mid{background:var(--hw-orange-bg);border-color:color-mix(in srgb,var(--hw-orange) 30%,var(--border));color:var(--hw-orange)}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge.score-low{background:var(--hw-red-bg);border-color:color-mix(in srgb,var(--hw-red) 28%,var(--border));color:var(--hw-red)}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge.in-progress{background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--accent-text)}.hw-page:is(.hw-student,.hw-tutor) :is(.topic-row .status,.hw-collapsed) .badge.not-started{background:var(--hw-bg-subtle);color:var(--text-muted)}.hw-page:is(.hw-student,.hw-tutor) .hw-head .meta .due-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:12.5px;font-weight:700;background:color-mix(in srgb,var(--text) 5%,var(--bg-card));color:color-mix(in srgb,var(--text) 62%,transparent)}.hw-page:is(.hw-student,.hw-tutor) .hw-head .meta .due-pill svg{width:12px;height:12px}.hw-page:is(.hw-student,.hw-tutor) .hw-head .meta .due-pill.overdue{background:var(--hw-red-bg);color:var(--hw-red)}.hw-page:is(.hw-student,.hw-tutor) .hw-head .meta .due-pill.soon{background:var(--hw-orange-bg);color:var(--hw-orange)}.hw-page:is(.hw-student,.hw-tutor) .filter-chip .dot.overdue-dot{background:var(--hw-red)}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:14px;padding:14px 24px;cursor:pointer;font-family:inherit;color:var(--text)}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed:hover{background:var(--bg-alt)}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .check-tile{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--hw-green-bg);color:var(--hw-green-deep)}.dark .hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .check-tile,[data-theme=dark] .hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .check-tile{color:var(--hw-green)}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .check-tile svg{width:14px;height:14px}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-title{font-size:16px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-meta{font-size:13px;color:var(--text-muted);white-space:nowrap}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-avg{margin-left:auto;font-size:12.5px;flex-shrink:0}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-chev{display:inline-flex;color:var(--text-muted);flex-shrink:0}.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-chev svg{width:16px;height:16px}.hw-page:is(.hw-student,.hw-tutor) .hw-head .right-state.is-toggle{border:0;cursor:pointer;font-family:inherit}.hw-page:is(.hw-student,.hw-tutor) .hw-head .right-state.is-toggle:hover{filter:brightness(.97)}@media (max-width:640px){.hw-page:is(.hw-student,.hw-tutor) .hw-collapsed .c-meta{display:none}}.hw-page .topic-row:hover .status .arrow{color:var(--accent-text);transform:translateX(2px)}.hw-page .topic-row .status .arrow svg{width:13px;height:13px}.hw-page .empty{text-align:center;padding:50px 24px;background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-muted)}.hw-page .empty svg{width:36px;height:36px;opacity:.5;margin-bottom:10px}.hw-page .empty .t{font-size:14px;font-weight:700;color:var(--text-2);margin-bottom:3px}.hw-page .empty .s{font-size:12.5px}@media (max-width:720px){.hw-page .topic-row{grid-template-columns:22px 1fr;gap:12px}.hw-page .topic-row .status{grid-column:2;margin-top:8px;justify-content:flex-start}.hw-page .topic-row .status .badge{min-width:0}.hw-page .hw-head{padding:18px 18px 14px;grid-template-columns:auto 1fr}.hw-page .hw-head .right-state{grid-column:1/-1;justify-self:flex-start}.hw-page .hw-progress{padding:0 18px 14px}.hw-page .topic-row{padding:12px 18px}}.figsketch-open{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.figsketch-open:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--bg-card))}.figsketch-panel{position:fixed;top:84px;right:24px;width:min(700px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px rgba(15,15,40,.22);overflow:hidden}.figsketch-head{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 12px;border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:color-mix(in srgb,var(--accent) 7%,var(--bg-card))}.figsketch-head.is-dragging{cursor:grabbing}.figsketch-title{font-size:13px;font-weight:700;color:var(--text)}.figsketch-hint{font-size:11px;color:var(--text-muted);margin-left:2px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figsketch-x{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;flex:none}.figsketch-x:hover{background:var(--border);color:var(--text)}.figsketch-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--border)}.figsketch-group{display:inline-flex;align-items:center;gap:3px;padding:2px;border:1px solid var(--border);border-radius:9px}.figsketch-zoomgroup{margin-left:auto}.figsketch-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.figsketch-tool:hover:not(:disabled){background:var(--border);color:var(--text)}.figsketch-tool:disabled{opacity:.35;cursor:default}.figsketch-tool.is-on{background:var(--accent);color:#fff}.figsketch-swatch{width:21px;height:21px;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.figsketch-colors{gap:7px;padding:2px 5px}.figsketch-swatch.is-on{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px var(--bg-card),0 0 0 4px var(--text)}.figsketch-wbtn{position:relative}.figsketch-wdot{display:block;border-radius:999px;background:currentColor}.figsketch-textinput{position:absolute;transform:translateY(-50%);max-width:60%;padding:0 2px;border:1px dashed color-mix(in srgb,currentColor 60%,transparent);border-radius:4px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);font-weight:600;font-family:inherit;outline:none}.figsketch-pct{font-size:11.5px;font-weight:600;color:var(--text-secondary);min-width:38px;text-align:center;font-variant-numeric:tabular-nums}.figsketch-scroll{overflow:auto;max-height:min(62vh,560px);padding:10px;background:var(--bg-card)}.figsketch-zoom{min-width:100%}.figsketch-stagewrap{position:relative;width:100%;container-type:inline-size}.figsketch-stage{position:absolute;top:0;left:0}.figsketch-ink,.figsketch-stage svg{width:100%;height:100%;display:block}.figsketch-ink{position:absolute;inset:0;touch-action:none;cursor:crosshair}.figsketch-ink.is-erasing{cursor:cell}.figsketch-ink.is-selecting{cursor:default}.figsketch-selbox{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-dasharray:4 3}.figsketch-marquee{fill:color-mix(in srgb,var(--accent) 8%,transparent);stroke:var(--accent);stroke-dasharray:5 4}.figsketch-panel svg{max-height:none;margin:0}[data-theme=dark] .figsketch-panel{box-shadow:0 20px 60px rgba(0,0,0,.5)}[data-theme=dark] .figsketch-ink{filter:none!important}@media (max-width:640px){.figsketch-panel{top:auto;bottom:0;right:0;left:0;width:100%;border-radius:14px 14px 0 0;transform:none!important}.figsketch-head{cursor:default}.figsketch-scroll{max-height:48vh}}.figsketch-bar [data-tip]{position:relative}.figsketch-bar [data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:3px 8px;border-radius:6px;white-space:nowrap;background:var(--text);color:var(--bg-card);font-size:11px;font-weight:600;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .12s ease .25s;z-index:5}.figsketch-bar [data-tip]:hover:after{opacity:1}.figsketch-bar [data-tip]:disabled:hover:after{opacity:0}.figsketch-wA{font-weight:700;line-height:1;color:currentColor;font-family:Georgia,Times New Roman,serif}.anno-selectable,.anno-selectable *{-moz-user-select:text;user-select:text;-webkit-user-select:text}.anno-mark{border-radius:2px;padding:1px 0;color:inherit}.anno-y{background:#fde68a}.anno-b{background:#bfdbfe}.anno-p{background:#fbcfe8}.anno-u{background:transparent;text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:2px;text-underline-offset:5px}[data-theme=dark] .anno-y{background:#edc949;color:#201640}[data-theme=dark] .anno-b{background:#8fb8f0;color:#201640}[data-theme=dark] .anno-p{background:#ef9dcb;color:#201640}[data-theme=dark] .anno-u{background:transparent;color:inherit}.anno-chip,.anno-hit{cursor:pointer}.anno-chip{display:inline-flex;align-items:center;justify-content:center;vertical-align:super;margin-left:2px;width:18px;height:18px;border-radius:5px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.anno-chip svg{width:11px;height:11px}.anno-chip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.anno-toolbar{position:fixed;z-index:10000;transform:translateX(-50%);display:flex;align-items:center;gap:7px;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:9999px;padding:7px 12px;box-shadow:0 10px 28px rgba(0,0,0,.18)}[data-theme=dark] .anno-toolbar{background:#241b3a;border-color:rgba(124,92,252,.35)}.anno-dot{width:27px;height:27px;border-radius:9999px;border:2px solid rgba(0,0,0,.14);cursor:pointer;transition:transform .1s}.anno-dot:hover{transform:scale(1.12)}[data-theme=dark] .anno-dot{border-color:hsla(0,0%,100%,.25)}.anno-dot-yellow{background:#fef3b2}.anno-dot-blue{background:#dbeafe}.anno-dot-pink{background:#fbcfe8}.anno-tb-btn{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:9999px;color:var(--text-secondary);cursor:pointer}.anno-tb-btn svg{width:15px;height:15px}.anno-tb-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-primary)}.anno-tb-btn:disabled{opacity:.35;cursor:default}.anno-tb-u{font-size:14px;font-weight:700;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}.anno-sep{width:1px;height:20px;background:var(--border)}.anno-note-pop{position:fixed;z-index:10001;transform:translateX(-50%);width:260px;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 10px 28px rgba(0,0,0,.18)}[data-theme=dark] .anno-note-pop{background:#241b3a;border-color:rgba(124,92,252,.35)}.anno-note-pop textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle,#faf9ff);padding:7px 9px;font-size:13px;line-height:1.5;color:var(--text-primary);outline:none}.anno-note-pop textarea:focus{border-color:var(--accent)}.anno-note-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.anno-note-cancel{font-size:12.5px;font-weight:600;color:var(--text-secondary);padding:5px 10px;border-radius:8px;cursor:pointer}.anno-note-cancel:hover{color:var(--text-primary)}.anno-note-save{font-size:12.5px;font-weight:600;color:#fff;background:var(--accent);padding:5px 14px;border-radius:8px;cursor:pointer}.anno-note-save:hover{background:var(--accent-hover,var(--accent))}.anno-u-solid{text-decoration-style:solid}.anno-u-dashed{text-decoration-style:dashed}.anno-u-dotted{text-decoration-style:dotted}.anno-u-wrap{position:relative;display:flex;align-items:center}.anno-tb-u.u-solid{text-decoration-style:solid}.anno-tb-u.u-dashed{text-decoration-style:dashed}.anno-tb-u.u-dotted{text-decoration-style:dotted}.anno-tb-chev{display:flex;align-items:center;justify-content:center;width:16px;height:27px;color:var(--text-secondary);cursor:pointer}.anno-tb-chev svg{width:13px;height:13px}.anno-u-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:stretch;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 10px 28px rgba(0,0,0,.18)}[data-theme=dark] .anno-u-menu{background:#241b3a;border-color:rgba(124,92,252,.35)}.anno-u-opt{display:flex;align-items:center;justify-content:center;min-width:44px;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:var(--text-primary);cursor:pointer}.anno-u-opt.u-solid{text-decoration-style:solid}.anno-u-opt.u-dashed{text-decoration-style:dashed}.anno-u-opt.u-dotted{text-decoration-style:dotted}.anno-u-opt.anno-u-none{text-decoration:none;font-weight:600;font-size:13px}.anno-u-opt:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.anno-margin-layer{position:absolute;top:0;bottom:0;left:calc(100% + 44px);pointer-events:none}.anno-note-card{position:absolute;left:0;width:100%;pointer-events:auto;background:var(--bg-card,#fff);border:2px solid #2b2b33;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:top .15s ease}[data-theme=dark] .anno-note-card{background:#241b3a;border-color:rgba(124,92,252,.55)}.anno-note-head{display:flex;align-items:center;gap:8px;padding:8px 10px}.anno-note-head.head-yellow{background:#fcd34d}.anno-note-head.head-blue{background:#93c5fd}.anno-note-head.head-pink{background:#f9a8d4}.anno-note-head.head-underline{background:#e5e7eb}[data-theme=dark] .anno-note-head.head-yellow{background:#edc949}[data-theme=dark] .anno-note-head.head-blue{background:#8fb8f0}[data-theme=dark] .anno-note-head.head-pink{background:#ef9dcb}[data-theme=dark] .anno-note-head.head-underline{background:#cbd5e1}.anno-note-quote{flex:1;min-width:0;font-size:13px;font-weight:700;color:#1a1033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .anno-note-quote{color:#201640}.anno-note-trash{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:9999px;background:hsla(0,0%,100%,.85);color:#1a1033;cursor:pointer}[data-theme=dark] .anno-note-trash{background:hsla(0,0%,100%,.88);color:#201640}.anno-note-trash svg{width:13px;height:13px}.anno-note-trash:hover,[data-theme=dark] .anno-note-trash:hover{background:#fff}.anno-note-card textarea{display:block;width:100%;border:none;resize:none;overflow:hidden;background:transparent;padding:8px 10px;font-size:13px;line-height:1.5;color:var(--text-primary);outline:none;min-height:36px}.anno-note-actions .anno-note-cancel svg{width:14px;height:14px}.pp-sec-toggle{display:inline-flex;gap:4px;margin-top:12px;padding:4px;background:color-mix(in srgb,var(--accent) 7%,var(--bg-card));border:1px solid var(--border);border-radius:12px}.pp-sec-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--text-2);text-decoration:none;transition:all .15s}.pp-sec-btn:hover{color:var(--text)}.pp-sec-btn.is-active{background:var(--bg-card);color:var(--accent-text);box-shadow:0 2px 8px rgba(16,185,129,.14)}[data-theme=dark] .pp-sec-btn.is-active{background:color-mix(in srgb,var(--accent) 22%,transparent)}.db-domain-subhead{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 2px 10px}.db-domain-list+.db-domain-subhead,div+div>.db-domain-subhead{margin-top:20px}:root{--brand-accent:#10b981;--brand-accent-rgb:16 185 129;--brand-accent-deep:#059669;--brand-accent-light:#34d399;--brand-accent-soft:#6ee7b7;--brand-tint-50:#ecfdf5;--brand-success-strong:#16a34a;--brand-success-light:#4ade80}.dark,[data-theme=dark]{--brand-accent:#34d399;--brand-accent-rgb:52 211 153;--brand-accent-deep:#10b981;--brand-accent-light:#6ee7b7;--brand-accent-soft:#6ee7b7}.hw-page.stu-page{max-width:1120px}.stu-list{--stu-line:rgb(var(--brand-accent-rgb)/0.10);--stu-good:#0f7a4d;--stu-ok:#94600a;--stu-low:#c03a3a;--stu-dot-recent:#22a06b;--stu-dot-aging:#e0a526;--stu-dot-stale:#e05a5a;--stu-muted-bg:#f7fbf9;--stu-muted-avatar:#c5d8cf;--stu-track:#e3f1ea}.dark .stu-list,[data-theme=dark] .stu-list{--stu-good:#6fdca4;--stu-ok:#f5c66e;--stu-low:#f59a9a;--stu-muted-bg:color-mix(in srgb,var(--text) 3%,var(--bg-card));--stu-muted-avatar:color-mix(in srgb,var(--text) 22%,var(--bg-card));--stu-track:color-mix(in srgb,var(--text) 10%,var(--bg-card))}.stu-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:20px}.stu-search,.stu-toolbar{display:flex;align-items:center}.stu-search{gap:8px;padding:9px 14px;border-radius:10px;border:1px solid rgb(var(--brand-accent-rgb)/.18);background:var(--bg-card);width:320px;max-width:100%;box-sizing:border-box;color:var(--text-muted)}.stu-search:focus-within{border-color:var(--accent)}.stu-search input{border:none;outline:none;background:transparent;font:inherit;font-size:14px;flex:1;min-width:0;color:var(--text)}.stu-grow{flex:1}.stu-sort-label{font-size:13px;font-weight:600;color:var(--text-muted)}.stu-sort{margin-top:0;border-radius:999px}.stu-sort .pp-sec-btn{border:0;background:transparent;cursor:pointer;font-family:inherit;padding:6px 13px;font-size:13px;border-radius:999px}.stu-sort .pp-sec-btn.is-active{background:var(--bg-card)}.stu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width:1240px){.stu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.stu-grid{grid-template-columns:1fr}.stu-search{width:100%}}.stu-card{display:flex;flex-direction:column;gap:14px;padding:16px 18px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);border-radius:16px;color:var(--text);text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s}.stu-card:hover{border-color:rgb(var(--brand-accent-rgb)/.45);box-shadow:0 6px 18px rgba(15,23,42,.07)}.stu-top{gap:12px;min-width:0}.stu-avatar,.stu-top{display:flex;align-items:center}.stu-avatar{width:38px;height:38px;border-radius:19px;background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-deep));color:#fff;font-size:13px;font-weight:800;justify-content:center;flex-shrink:0}.stu-id{min-width:0;flex:1}.stu-name{font-size:15px;font-weight:700}.stu-email,.stu-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-email{font-size:12px;color:var(--text-muted)}.stu-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);border-top:1px solid var(--stu-line);padding-top:12px}.stu-stat{display:flex;flex-direction:column;gap:4px;padding:0 6px;border-left:1px solid var(--stu-line);min-width:0}.stu-stat:first-child{padding-left:0;border-left:0}.stu-stat:last-child{padding-right:0}.stu-stat .lbl{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.stu-stat .val{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.stu-stat .val.avg.good{color:var(--stu-good)}.stu-stat .val.avg.ok{color:var(--stu-ok)}.stu-stat .val.avg.low{color:var(--stu-low)}.stu-stat .val.avg.untried{color:var(--text-muted)}.stu-stat .bar{height:3px;border-radius:2px;background:var(--stu-track);overflow:hidden}.stu-stat .bar>span{display:block;height:100%;background:var(--brand-accent-soft)}.stu-stat .val.act{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.stu-stat .val.act .dot{width:7px;height:7px;border-radius:4px;flex-shrink:0}.stu-stat .val.act.recent .dot{background:var(--stu-dot-recent)}.stu-stat .val.act.aging{color:var(--stu-ok)}.stu-stat .val.act.aging .dot{background:var(--stu-dot-aging)}.stu-stat .val.act.stale{color:var(--stu-low)}.stu-stat .val.act.stale .dot{background:var(--stu-dot-stale)}.stu-stat .val.act.muted,.stu-stat .val.act.never{color:var(--text-muted)}.stu-stat .val.act.never .dot{background:color-mix(in srgb,var(--text) 25%,transparent)}.stu-card.is-muted{background:var(--stu-muted-bg);border-color:rgb(var(--brand-accent-rgb)/.12);box-shadow:none}.stu-card.is-muted .stu-avatar{background:var(--stu-muted-avatar)}.stu-card.is-muted .stu-name,.stu-card.is-muted .stu-stat .val{color:color-mix(in srgb,var(--text) 75%,transparent)}.stu-card.is-muted .stu-stat .bar>span{background:color-mix(in srgb,var(--brand-accent-soft) 55%,var(--bg-card))}.stu-divider{display:flex;align-items:center;gap:14px;margin:20px 0}.stu-divider>span{flex:1;height:1px;background:rgb(var(--brand-accent-rgb)/.16)}.stu-divider button{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--accent-text);background:none;border:0;cursor:pointer;font-family:inherit}.pd-page{--pd-line:rgb(var(--brand-accent-rgb)/0.14);--pd-hair:rgb(var(--brand-accent-rgb)/0.08);--pd-track:#ecfdf5;--pd-col-line:#d1fae5;--pd-good-bg:#e3f5ea;--pd-good:#0f7a4d;--pd-ok-bg:#fdf3dd;--pd-ok:#94600a;--pd-low-bg:#fdeaea;--pd-low:#c03a3a;--pd-easy-bg:#e6f5ec;--pd-easy:#1f7a45;--pd-pr-bg:#ecfdf5;--pd-pr:var(--brand-accent-deep);--pd-hw-bg:#e0f2fb;--pd-hw:#1b7fb8;--pd-hw-bar:#4aa3e8;--pd-toggle-on-bg:#d1fae5;--pd-toggle-on:var(--brand-accent-deep);--st-up:var(--pd-good);background:var(--bg);color:var(--text)}.dark .pd-page,[data-theme=dark] .pd-page{--pd-track:rgb(var(--brand-accent-rgb)/0.14);--pd-col-line:rgb(var(--brand-accent-rgb)/0.2);--pd-good-bg:rgba(95,211,154,.12);--pd-good:#5fd39a;--pd-ok-bg:rgba(232,184,92,.12);--pd-ok:#e8b85c;--pd-low-bg:hsla(0,77%,75%,.12);--pd-low:#f08c8c;--pd-easy-bg:rgba(74,222,128,.12);--pd-easy:#6ee7a0;--pd-pr-bg:rgb(var(--brand-accent-rgb)/0.16);--pd-pr:var(--accent-text);--pd-hw-bg:rgba(56,189,248,.14);--pd-hw:#7dd3fc;--pd-hw-bar:#4aa3e8;--pd-toggle-on-bg:rgb(var(--brand-accent-rgb)/0.18);--pd-toggle-on:var(--accent-text)}.pd-top{background:var(--bg-card);border-bottom:1px solid var(--pd-line);padding:16px 0}.pd-top-in{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pd-top .brand{font-size:20px;font-weight:800;color:var(--accent-text)}.pd-top .kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.pd-theme-on{background:var(--pd-toggle-on-bg);color:var(--pd-toggle-on)}.pd-main{max-width:1120px;margin:0 auto;padding:36px 20px 64px;display:flex;flex-direction:column;gap:22px}@media (min-width:768px){.pd-main{padding:40px 40px 64px}.pd-top{padding:18px 0}.pd-top-in{padding:0 40px}}.pd-title h1{margin:0;font-size:36px;font-weight:900;letter-spacing:-.02em;line-height:1.15}.pd-title p{margin:6px 0 0;font-size:15px;color:var(--text-muted)}.pd-card{background:var(--bg-card);border:1px solid var(--pd-line);border-radius:16px}.pd-card h2,.pd-h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em}.pd-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.pd-empty{padding:56px 24px;text-align:center}.pd-empty .tile{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:var(--pd-good-bg);color:var(--pd-good);display:flex;align-items:center;justify-content:center}.pd-empty h3{margin:0;font-size:20px;font-weight:800}.pd-empty p{margin:6px auto 0;max-width:360px;font-size:14px;color:var(--text-muted)}.pd-banner{gap:14px;padding:16px 20px}.pd-banner,.pd-banner .tile{display:flex;align-items:center}.pd-banner .tile{width:36px;height:36px;border-radius:10px;background:var(--pd-good-bg);color:var(--pd-good);justify-content:center;flex-shrink:0}.pd-banner .t{font-size:15px;font-weight:700}.pd-banner .d{margin-top:2px;font-size:13.5px;color:var(--text-muted)}.pd-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.pd-stats .cell{padding:18px 20px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--pd-hair)}.pd-stats .cell:last-child{border-right:0}.pd-stats .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pd-stats .v{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.pd-stats .v .denom{font-size:15px;font-weight:700;opacity:.4}.pd-stats .v.tone-good{color:var(--pd-good)}.pd-stats .v.tone-ok{color:var(--pd-ok)}.pd-stats .v.tone-low{color:var(--pd-low)}.pd-stats .v[class*=tone-] .denom{opacity:.6}@media (max-width:900px){.pd-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pd-stats .cell:nth-child(3n){border-right:0}.pd-stats .cell:nth-child(-n+3){border-bottom:1px solid var(--pd-hair)}}@media (max-width:480px){.pd-stats .cell{padding:14px 12px}.pd-stats .v{font-size:22px}.pd-stats .lbl{font-size:10px}}.pd-two{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}@media (min-width:1024px){.pd-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.pd-activity,.pd-areas,.pd-heat,.pd-trend{padding:22px 26px}@media (max-width:480px){.pd-activity,.pd-areas,.pd-heat,.pd-trend{padding:18px 16px}}.pd-heat .db-heatmap-head h2{margin:0;font-size:18px;font-weight:800}.pd-heat .db-heatmap-simple{max-width:380px}.pd-heat .db-heatmap-legend{margin-top:auto;padding-top:14px}.pd-trend{display:flex;flex-direction:column;gap:14px}.pd-legend{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.pd-legend>span{display:flex;align-items:center;gap:5px}.pd-legend i{width:8px;height:8px;border-radius:2px}.pd-legend i.p,.pd-trend .bar.p{background:var(--accent)}.pd-legend i.h,.pd-trend .bar.h{background:var(--pd-hw-bar)}.pd-trend .bars{display:flex;align-items:flex-end;gap:8px;height:180px;border-bottom:1px solid var(--pd-line)}.pd-trend .bar{flex:1;border-radius:5px 5px 2px 2px;cursor:default}.pd-trend .foot{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}@media (max-width:480px){.pd-trend .foot .mid{display:none}}.pd-trend .none{height:180px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted)}.pd-areas{display:flex;flex-direction:column;gap:18px}.pd-areas .cols{display:grid;grid-template-columns:minmax(0,1fr);gap:32px 40px}@media (min-width:768px){.pd-areas .cols.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.pd-areas .col{display:flex;flex-direction:column;gap:16px}.pd-areas .col-title{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);padding-bottom:8px;border-bottom:2px solid var(--pd-col-line)}.pd-areas .dom{display:flex;flex-direction:column;gap:7px}.pd-areas .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pd-areas .name{font-size:14.5px;font-weight:700}.pd-areas .count{font-size:13px;color:var(--text-muted);white-space:nowrap}.pd-areas .count strong{color:var(--text)}.pd-areas .track{height:6px;border-radius:99px;background:var(--pd-track);overflow:hidden}.pd-areas .fill{height:100%;border-radius:99px;background:var(--accent)}.pd-areas .fill.done{background:var(--pd-good)}.pd-activity{display:flex;flex-direction:column}.pd-activity .pd-head{padding-bottom:10px}.pd-link{font-size:14px;font-weight:600;color:var(--accent-text);background:none;border:0;padding:0;cursor:pointer}.pd-link:hover{text-decoration:underline}.pd-act-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 96px 64px 70px;gap:16px;align-items:center;padding:11px 0;border-top:1px solid var(--pd-hair)}.pd-act-row .topic{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-act-row .pill{text-align:center;font-size:12px;font-weight:700;padding:4px 0;border-radius:7px}.pd-act-row .pill.diff{width:86px}.pd-act-row .pill.type{width:96px}.pd-act-row .pill.score{font-weight:800;font-variant-numeric:tabular-nums}.pd-act-row .diff.easy{background:var(--pd-easy-bg);color:var(--pd-easy)}.pd-act-row .diff.medium{background:var(--pd-ok-bg);color:var(--pd-ok)}.pd-act-row .diff.hard{background:var(--pd-low-bg);color:var(--pd-low)}.pd-act-row .type.pr{background:var(--pd-pr-bg);color:var(--pd-pr)}.pd-act-row .type.hw{background:var(--pd-hw-bg);color:var(--pd-hw)}.pd-act-row .tone-good{background:var(--pd-good-bg);color:var(--pd-good)}.pd-act-row .tone-ok{background:var(--pd-ok-bg);color:var(--pd-ok)}.pd-act-row .tone-low{background:var(--pd-low-bg);color:var(--pd-low)}.pd-act-row .date{font-size:13px;color:var(--text-muted);text-align:right}@media (max-width:640px){.pd-act-row{grid-template-columns:auto auto auto 1fr;gap:8px 8px}.pd-act-row .topic{grid-column:1/-1;white-space:normal}.pd-act-row .pill.diff{width:72px}.pd-act-row .pill.type{width:82px}.pd-act-row .pill.score{width:52px}}.pd-foot{padding:20px;text-align:center;font-size:13px;color:var(--text-muted);border-top:1px solid var(--pd-line)}.pd-foot strong{color:var(--accent-text)}.prog-page .pg-mastery-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.prog-page .pg-untried-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:99px;font-size:12.5px;font-weight:700;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 70%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.18)}.prog-page .pg-untried-chip .box{width:14px;height:14px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgb(var(--brand-accent-rgb)/.3);color:transparent;box-sizing:border-box}.prog-page .pg-untried-chip.on{background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text);border-color:transparent}.prog-page .pg-untried-chip.on .box{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.prog-page .pg-nothing{font-size:13px;color:var(--text-muted)}.prog-page.sd-page{max-width:1120px;padding:28px 40px 64px}@media (max-width:900px){.prog-page.sd-page{padding:18px 16px 48px}}.sd-page .pg-stack{gap:20px}.sd-page .pg-card h2{font-size:18px}.sd-page .sd-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sd-page .sd-actions>.sd-btn,.sd-page .sd-actions>button{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.18);transition:border-color .12s,color .12s,background .12s}.sd-page .sd-actions>.sd-btn:hover,.sd-page .sd-actions>button:hover{border-color:var(--brand-accent);color:var(--accent-text)}.sd-page .sd-actions>.sd-btn.primary{padding:9px 16px;background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.sd-page .sd-actions>.sd-btn.primary:hover{background:var(--brand-accent-deep);border-color:var(--brand-accent-deep);color:#fff}.sd-page .sd-actions>.sd-btn .count,.sd-page .sd-actions>button>span.text-xs{font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.sd-page .pg-stat{padding:20px 22px}.sd-page .pg-stat .v{font-size:28px;color:var(--text)}.sd-page .pg-stat .v .denom{font-size:16px}.sd-page .pg-stat .v.tone.good{color:var(--tone-good-fg)}.sd-page .pg-stat .v.tone.ok{color:var(--tone-ok-fg)}.sd-page .pg-stat .v.tone.low{color:var(--tone-low-fg)}.sd-page .pg-stat .lbl,.sd-page .pg-trend-head{font-size:11.5px}.sd-page .pg-strip{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.9fr)}.sd-page .pg-trend-head>span{white-space:nowrap}.sd-page .pg-stat .late{font-size:12px;font-weight:700;color:var(--tone-low-fg)}.sd-page .pg-domain-title{flex-wrap:wrap;row-gap:0}.sd-page .pg-domain-title .name{white-space:normal}.sd-page a.pg-stat{color:inherit;text-decoration:none;transition:background .12s}.sd-page a.pg-stat:hover{background:rgb(var(--brand-accent-rgb)/.04)}.sd-page .pg-trend{padding:16px 22px}.sd-page .pg-mastery.split{padding:24px 28px;gap:20px}.sd-page .pg-mastery-cols{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.sd-page .pg-mastery-col{gap:22px}.sd-page .pg-col-title{font-size:12.5px}.sd-page .pg-domain{gap:5px}.sd-page .pg-row{grid-template-columns:minmax(0,1fr) 54px 54px 54px;gap:5px}.sd-page .pg-domain-title .name{font-size:14.5px}.sd-page .pg-domain-title .meta{font-size:12.5px}.sd-page .pg-domain-head .lvl{font-size:10.5px}.sd-page .pg-skill{font-size:13.5px}.sd-page .pg-cell{height:28px;font-size:12.5px}.sd-page .pg-mastery-title .hint{font-size:13.5px}.sd-page .pg-legend{font-size:12.5px}.sd-page .pg-legend .sw{width:12px;height:12px;border-radius:3px}.sd-page .sd-sessions{padding:22px 28px;gap:0}.sd-page .sd-sessions .pg-sessions-head{padding-bottom:10px}.sd-page .sd-session{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 64px 80px;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--pg-row-line)}.sd-page .sd-session .topic{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sd-page .sd-session .diff{justify-self:start;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:5px}.sd-page .sd-session .diff.easy{background:var(--brand-tint-50);color:var(--brand-success-strong)}.sd-page .sd-session .diff.medium{background:#fff7ed;color:#b45309}.sd-page .sd-session .diff.hard{background:#fef2f2;color:#dc2626}.sd-page .sd-session .tag{justify-self:start;max-width:100%;font-size:12px;font-weight:700;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-page .sd-session .tag.practice{background:color-mix(in srgb,var(--brand-accent) 12%,var(--bg-card));color:var(--accent-text)}.sd-page .sd-session .tag.homework{background:var(--pg-tag-hw-bg);color:var(--pg-tag-hw-fg)}.sd-page .sd-session .score{font-size:12.5px;font-weight:800;padding:3px 0;text-align:center;border-radius:7px;font-variant-numeric:tabular-nums}.sd-page .sd-session .score.good{background:var(--tone-good-bg);color:var(--tone-good-fg)}.sd-page .sd-session .score.ok{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.sd-page .sd-session .score.low{background:var(--tone-low-bg);color:var(--tone-low-fg)}.sd-page .sd-session .ago{font-size:13px;color:var(--text-muted);text-align:right;white-space:nowrap}.dark .sd-page .sd-session .diff.easy,[data-theme=dark] .sd-page .sd-session .diff.easy{background:rgba(34,197,94,.14);color:var(--brand-success-light,#4ade80)}.dark .sd-page .sd-session .diff.medium,[data-theme=dark] .sd-page .sd-session .diff.medium{background:rgba(245,158,11,.16);color:#fbbf24}.dark .sd-page .sd-session .diff.hard,[data-theme=dark] .sd-page .sd-session .diff.hard{background:rgba(239,68,68,.14);color:#f87171}@media (max-width:760px){.sd-page .sd-session{grid-template-columns:minmax(0,1fr) 56px 60px;gap:10px}.sd-page .sd-session .diff,.sd-page .sd-session .tag{display:none}.sd-page .pg-mastery-cols{grid-template-columns:1fr}}.ca-page{--ca-line:rgb(var(--brand-accent-rgb)/0.14);--ca-field-bd:rgb(var(--brand-accent-rgb)/0.20);--ca-hair:rgb(var(--brand-accent-rgb)/0.08);--ca-assigned-bg:#ecfdf5;--ca-assigned-bd:#a7f3d0;--ca-chip-bg:#d1fae5;--ca-low:#c03a3a;--ca-hover:#f6fbf8}.dark .ca-page,[data-theme=dark] .ca-page{--ca-assigned-bg:rgb(var(--brand-accent-rgb)/0.14);--ca-assigned-bd:rgb(var(--brand-accent-rgb)/0.35);--ca-chip-bg:rgb(var(--brand-accent-rgb)/0.18);--ca-low:#f87171;--ca-hover:rgb(var(--brand-accent-rgb)/0.06)}.ca-page .page-head{margin-bottom:20px}.ca-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}@media (max-width:1000px){.ca-grid{grid-template-columns:1fr}}.ca-card{background:var(--bg-card);border:1px solid var(--ca-line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-card)}.ca-details{gap:18px}.ca-details,.ca-field{display:flex;flex-direction:column}.ca-field{gap:7px;min-width:0}.ca-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ca-help,.ca-label{color:var(--text-muted)}.ca-help{font-size:12px}.ca-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px}@media (max-width:480px){.ca-row{grid-template-columns:1fr}}.ca-page .ca-input{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--ca-field-bd);background:var(--bg-card);color:var(--text);font-size:14.5px;outline:none;transition:border-color .12s,box-shadow .12s}.ca-page .ca-input::-moz-placeholder{color:var(--text-muted)}.ca-page .ca-input::placeholder{color:var(--text-muted)}.ca-page .ca-input:focus,.ca-page .ca-select.is-open{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb)/.15)}.ca-page .ca-select{display:flex;align-items:center;justify-content:space-between;text-align:left}.ca-page .ca-select:hover{border-color:var(--brand-accent)}.ca-page :focus-visible{outline:none}.ca-page a:focus-visible,.ca-page button:focus-visible{box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb)/.25)}.ca-toggle{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:999px;background:var(--ca-hover);border:1px solid rgb(var(--brand-accent-rgb)/.16)}.ca-toggle button{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--text-muted);background:none;border:0;cursor:pointer;transition:color .12s}.ca-toggle button:hover{color:var(--text)}.ca-toggle button.on{background:var(--brand-accent);color:#fff}.ca-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgb(var(--brand-accent-rgb)/.12);padding-top:18px}.ca-sel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ca-sel-head .sum{font-size:12.5px;color:var(--text-muted)}.ca-empty{padding:22px;border:1px dashed rgb(var(--brand-accent-rgb)/.22);border-radius:12px;text-align:center;font-size:13.5px;color:var(--text-muted)}.ca-sel-row{display:grid;grid-template-columns:minmax(0,1fr) auto 64px 20px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--ca-hair)}.ca-sel-row .name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-page .diff{font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;white-space:nowrap}.ca-page .diff.easy{background:var(--hw-green-bg);color:var(--hw-green-deep)}.ca-page .diff.medium{background:var(--hw-orange-bg);color:#b45309}.ca-page .diff.hard{background:var(--hw-red-bg);color:#dc2626}.ca-page .diff.mixed{background:color-mix(in srgb,var(--text) 8%,var(--bg-card));color:var(--text-2)}.dark .ca-page .diff.easy,[data-theme=dark] .ca-page .diff.easy{color:var(--hw-green)}.dark .ca-page .diff.medium,[data-theme=dark] .ca-page .diff.medium{color:var(--hw-orange)}.dark .ca-page .diff.hard,[data-theme=dark] .ca-page .diff.hard{color:var(--hw-red)}.ca-sel-row .qty{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;border:1px solid var(--ca-field-bd);background:var(--bg-card);transition:border-color .12s,box-shadow .12s}.ca-sel-row .qty:focus-within{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb)/.15)}.ca-sel-row .qty input{width:100%;min-width:0;border:0;background:transparent;outline:none;font-size:13.5px;font-weight:600;color:var(--text);text-align:right;-moz-appearance:textfield}.ca-sel-row .qty input::-webkit-inner-spin-button,.ca-sel-row .qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ca-sel-row .qty span{font-size:11.5px;font-weight:500;color:var(--text-muted)}.ca-sel-row .qty.over{border-color:var(--hw-orange)}.ca-sel-row .qty.over input{color:#b45309}.ca-sel-row .rm{display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:none;border:0;padding:0;cursor:pointer;border-radius:6px}.ca-sel-row .rm:hover{color:var(--ca-low)}.ca-sel-row .over-note{grid-column:1/-1;justify-self:end;margin-top:-4px;font-size:11px;color:#b45309}.dark .ca-sel-row .over-note,.dark .ca-sel-row .qty.over input,[data-theme=dark] .ca-sel-row .over-note,[data-theme=dark] .ca-sel-row .qty.over input{color:var(--hw-orange)}.ca-create{width:100%;padding:13px;border-radius:12px;background:var(--brand-accent);color:#fff;font-size:15px;font-weight:700;border:0;cursor:pointer;transition:background .12s,opacity .12s}.ca-create:hover:not(:disabled){background:var(--brand-accent-deep)}.ca-create:disabled{opacity:.5;cursor:default}.ca-details{align-self:start}.ca-grid:has(.ca-picker-hint) .ca-details{align-self:stretch}.ca-details .ca-create{margin-top:auto}.ca-picker{display:flex;flex-direction:column;gap:12px;align-self:stretch}.ca-picker-hint{flex:1;min-height:160px;flex-direction:column;gap:4px;text-align:center;padding:16px}.ca-picker-hint,.ca-picker-hint .icon{display:flex;align-items:center;justify-content:center}.ca-picker-hint .icon{width:44px;height:44px;border-radius:12px;margin-bottom:8px;background:var(--ca-chip-bg);color:var(--accent-text)}.ca-picker-hint .title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.ca-picker-hint .sub{margin:0;font-size:13px;color:var(--text-muted)}.ca-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ca-picker-head h2{margin:0;font-size:18px;font-weight:800}.ca-picker-head .legend{display:flex;gap:14px;font-size:12px;color:var(--text-muted);white-space:nowrap}.ca-picker-head .legend>span{display:flex;align-items:center;gap:6px}.ca-picker-head .sw{width:12px;height:12px;border-radius:3px;box-sizing:border-box}.ca-picker-head .sw.assigned{background:var(--ca-assigned-bg);border:1px solid var(--ca-assigned-bd)}.ca-picker-head .sw.selected{background:var(--brand-accent)}.ca-domain{border:1px solid var(--ca-line);border-radius:14px;overflow:hidden}.ca-domain.open{border-color:rgb(var(--brand-accent-rgb)/.35)}.ca-domain-head{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;background:none;border:0;text-align:left;cursor:pointer;color:var(--text);transition:background .12s}.ca-domain-head:hover{background:var(--ca-hover)}.ca-domain-head .chev{width:14px;height:14px;color:var(--text-muted);stroke-width:2.4;transition:transform .15s;flex-shrink:0}.ca-domain.open .ca-domain-head .chev{transform:rotate(90deg)}.ca-domain-head .name{font-size:15px;font-weight:700}.ca-domain-head .meta{font-size:12.5px;color:var(--text-muted);white-space:nowrap}.ca-domain-head .count{margin-left:auto;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--ca-chip-bg);color:var(--accent-text);white-space:nowrap}.ca-skills{border-top:1px solid rgb(var(--brand-accent-rgb)/.1);padding:4px 16px 8px}.ca-skill{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px 92px;gap:6px;align-items:center;padding:6px 0}.ca-skill+.ca-skill{border-top:1px solid var(--ca-hair)}.ca-skill .name{font-size:14px;font-weight:500;color:color-mix(in srgb,var(--text) 85%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-lvl{display:flex;flex-direction:column;align-items:center;justify-content:center;height:36px;border-radius:9px;box-sizing:border-box;font-size:13px;font-weight:700;line-height:1.15;background:var(--bg-card);color:color-mix(in srgb,var(--text) 70%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.18);cursor:pointer;transition:border-color .12s}.ca-lvl:hover{border-color:var(--brand-accent)}.ca-lvl .sub{font-size:10.5px;font-weight:600;margin-top:1px;color:color-mix(in srgb,var(--text) 50%,transparent)}.ca-lvl.assigned{background:var(--ca-assigned-bg);border-color:var(--ca-assigned-bd);color:var(--accent-text)}.ca-lvl.assigned .sub{color:color-mix(in srgb,var(--accent-text) 80%,transparent)}.ca-lvl .sub.none-left{color:var(--ca-low)}.ca-lvl.selected{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.ca-lvl.selected .sub{color:hsla(0,0%,100%,.85)}.ca-lvl.assigned:hover,.ca-lvl.selected:hover{border-color:var(--brand-accent)}.ca-lvl.none{cursor:default;opacity:.4;font-weight:600;color:var(--text-muted)}.ca-lvl.none:hover{border-color:rgb(var(--brand-accent-rgb)/.18)}@media (max-width:560px){.ca-skill{grid-template-columns:repeat(3,minmax(0,1fr))}.ca-skill .name{grid-column:1/-1}}.db-heatmap-simple .db-heatmap-cell.future{background:transparent;border-color:color-mix(in srgb,var(--accent) 10%,var(--border))}.db-heatmap-simple .db-heatmap-cell.today{outline:2px solid var(--text);outline-offset:1px}.db-heatmap-simple .db-heatmap-cell.out{opacity:.3}.sp-page{max-width:1120px;margin:0 auto;padding:28px 40px 64px;display:flex;flex-direction:column;gap:20px;--sp-line:rgb(var(--brand-accent-rgb)/0.14);--sp-hair:rgb(var(--brand-accent-rgb)/0.08);--tone-good-bg:#e3f5ea;--tone-good-fg:#0f7a4d;--tone-good-bd:#bfe5cf;--tone-ok-bg:#fdf3dd;--tone-ok-fg:#94600a;--tone-ok-bd:#f4dcaa;--tone-low-bg:#fdeaea;--tone-low-fg:#c03a3a;--tone-low-bd:#f5c7c7;--sp-prog-bg:#ecfdf5;--sp-prog-bd:#a7f3d0;--sp-idle-bg:#f1f5f3}.dark .sp-page,[data-theme=dark] .sp-page{--tone-good-bg:rgba(16,185,129,.16);--tone-good-fg:#6ee7a8;--tone-good-bd:rgba(16,185,129,.35);--tone-ok-bg:rgba(245,158,11,.14);--tone-ok-fg:#fbbf24;--tone-ok-bd:rgba(245,158,11,.35);--tone-low-bg:rgba(239,68,68,.14);--tone-low-fg:#f87171;--tone-low-bd:rgba(239,68,68,.35);--sp-prog-bg:rgb(var(--brand-accent-rgb)/0.14);--sp-prog-bd:rgb(var(--brand-accent-rgb)/0.35);--sp-idle-bg:hsla(0,0%,100%,.05)}@media (max-width:900px){.sp-page{padding:18px 16px 48px}}.sp-page>.back-link{align-self:flex-start;margin-bottom:0}.sp-head{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}.sp-windows{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.16)}.sp-windows a{padding:6px 13px;border-radius:999px;font-size:13px;font-weight:700;color:var(--text-muted);text-decoration:none;transition:color .12s}.sp-windows a:hover{color:var(--text)}.sp-windows a.on{background:var(--brand-accent);color:#fff}.sp-card{background:var(--bg-card);border:1px solid var(--sp-line);border-radius:16px;box-shadow:var(--shadow-card)}.sp-card h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em}.sp-card .hint{margin:2px 0 10px}.sp-card .hint,.sp-empty{font-size:13.5px;color:var(--text-muted)}.sp-empty{margin:6px 0 2px}.sp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sp-stat{padding:20px 22px;display:flex;flex-direction:column;gap:6px;border-right:1px solid rgb(var(--brand-accent-rgb)/.1);min-width:0}.sp-stat:last-child{border-right:none}.sp-stat .lbl{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sp-stat .v{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.sp-stat .v .denom{font-size:16px;font-weight:700;color:var(--text-muted)}.sp-stat .v.good{color:var(--tone-good-fg)}.sp-stat .v.ok{color:var(--tone-ok-fg)}.sp-stat .v.low{color:var(--tone-low-fg)}.sp-stat .v.muted{color:var(--text-muted)}@media (max-width:760px){.sp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-stat:nth-child(2n){border-right:none}.sp-stat:nth-child(-n+2){border-bottom:1px solid rgb(var(--brand-accent-rgb)/.1)}}.sp-misses{padding:22px 26px;display:flex;flex-direction:column;gap:4px}.sp-misses h2 .count{font-weight:500;color:var(--text-muted)}.sp-hw-row,.sp-miss{display:grid;gap:14px;align-items:center;border-top:1px solid var(--sp-hair);color:var(--text);text-decoration:none;transition:background .12s}.sp-miss{grid-template-columns:34px minmax(0,1fr) auto 14px;padding:10px 0}.sp-hw-row:hover,.sp-miss:hover{background:rgb(var(--brand-accent-rgb)/.04)}.sp-miss .x{width:34px;height:34px;border-radius:9px;background:var(--tone-low-bg);color:var(--tone-low-fg);display:flex;align-items:center;justify-content:center}.sp-miss .name-line{display:flex;align-items:center;gap:8px;min-width:0}.sp-miss .name{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-miss .diff{flex-shrink:0;font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px}.sp-miss .diff.easy{background:var(--brand-tint-50);color:var(--brand-success-strong)}.sp-miss .diff.medium{background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.sp-miss .diff.hard{background:var(--tone-low-bg);color:var(--tone-low-fg)}.dark .sp-miss .diff.easy,[data-theme=dark] .sp-miss .diff.easy{background:rgba(34,197,94,.14);color:var(--brand-success-light,#4ade80)}.sp-hw-row .meta,.sp-miss .meta{font-size:12.5px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-miss .prob{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--tone-low-bg);color:var(--tone-low-fg);white-space:nowrap}.sp-page .chev{width:14px;height:14px;color:var(--text-muted);stroke-width:2.6}.sp-reteach{padding:22px 26px}.sp-reteach h2{display:flex;align-items:center;gap:8px}.sp-reteach h2 svg{color:var(--tone-ok-fg)}.sp-reteach .chips{display:flex;flex-wrap:wrap;gap:8px}.sp-reteach .chip{padding:4px 12px;border-radius:99px;font-size:13px;font-weight:600;background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.sp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:20px;align-items:stretch}@media (max-width:900px){.sp-row{grid-template-columns:1fr}}.sp-heat{padding:22px 26px;gap:14px}.sp-heat .db-heatmap-head{margin-bottom:0}.sp-heat .db-heatmap-simple{max-width:380px}.sp-heat .db-heatmap-simple .cell-grid,.sp-heat .db-heatmap-simple .dow-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.sp-heat .db-heatmap-simple .dow-cell{width:auto}.sp-heat .db-heatmap-simple .db-heatmap-cell{width:100%;height:auto;aspect-ratio:1/1}.sp-heat .db-heatmap-legend{flex-wrap:wrap;gap:8px 12px;font-weight:500}.sp-hw{padding:22px 26px;display:flex;flex-direction:column}.sp-hw-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px}.sp-hw-head .sub{font-size:12.5px;color:var(--text-muted)}.sp-hw-row{grid-template-columns:minmax(0,1fr) auto 14px;padding:12px 0}.sp-hw-row .title{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-hw-row .pill{width:120px;padding:4px 0;text-align:center;border-radius:8px;font-size:12px;font-weight:800;border:1px solid;white-space:nowrap}.sp-hw-row .pill.good{background:var(--tone-good-bg);color:var(--tone-good-fg);border-color:var(--tone-good-bd)}.sp-hw-row .pill.ok{background:var(--tone-ok-bg);color:var(--tone-ok-fg);border-color:var(--tone-ok-bd)}.sp-hw-row .pill.low{background:var(--tone-low-bg);color:var(--tone-low-fg);border-color:var(--tone-low-bd)}.sp-hw-row .pill.progress{background:var(--sp-prog-bg);color:var(--accent-text);border-color:var(--sp-prog-bd)}.sp-hw-row .pill.idle{background:var(--sp-idle-bg);color:var(--text-muted);border-color:transparent}.tt-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width:640px){.tt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.tt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tt-card{display:flex;align-items:center;gap:12px;padding:16px 14px 16px 16px;border-radius:16px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);color:var(--text);text-decoration:none;transition:border-color .15s}.tt-card:hover{border-color:rgb(var(--brand-accent-rgb)/.5)}.tt-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--brand-accent-deep)}.dark .tt-icon,[data-theme=dark] .tt-icon{color:var(--accent-text)}.tt-title{flex:1;min-width:0;font-size:17px;font-weight:800;line-height:1.2}.tt-chev{width:16px;height:16px;flex-shrink:0;color:color-mix(in srgb,var(--text) 35%,transparent)}:root{--bt-miss-bg:#fdeaea;--bt-miss-fg:#c03a3a;--bt-miss-bd:#f5c7c7;--bt-miss-bar:#e05a5a;--bt-ok-bg:#e3f5ea;--bt-ok-bd:#bfe5cf;--bt-ok-fg:#0f7a4d;--bt-neutral-bg:color-mix(in srgb,var(--text) 6%,var(--bg-card));--bt-easy-bg:#e6f5ec;--bt-easy-fg:#1f7a45;--bt-med-bg:#fdf3dd;--bt-med-fg:#94600a}.dark,[data-theme=dark]{--bt-miss-bg:rgba(239,68,68,.14);--bt-miss-fg:#f87171;--bt-miss-bd:rgba(239,68,68,.35);--bt-miss-bar:#f87171;--bt-ok-bg:rgba(16,185,129,.16);--bt-ok-bd:rgba(16,185,129,.38);--bt-ok-fg:#6ee7a8;--bt-easy-bg:rgba(34,197,94,.14);--bt-easy-fg:#4ade80;--bt-med-bg:rgba(245,158,11,.16);--bt-med-fg:#fbbf24}.bt-title{margin:0;font-size:30px;font-weight:900;letter-spacing:-.02em;line-height:1.1;color:var(--text)}.bt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bt-actions>button:not(.bt-btn),.bt-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.18);transition:border-color .12s,color .12s,background .12s}.bt-actions>button:not(.bt-btn):hover,.bt-btn:hover{border-color:var(--brand-accent);color:var(--accent-text)}.bt-btn.primary{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;font-weight:700}.bt-btn.primary:hover{background:var(--brand-accent-deep);border-color:var(--brand-accent-deep);color:#fff}.bt-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}.bt-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.16);flex-wrap:wrap}.bt-toggle button{padding:6px 14px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--text-muted);background:none;border:0;cursor:pointer;transition:color .12s}.bt-toggle button:hover{color:var(--text)}.bt-toggle button.on{background:var(--brand-accent);color:#fff}.bt-toggle button .mine{font-weight:600;opacity:.8}.bt-tabs-note{font-size:13px;color:var(--text-muted)}.bt-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.bt-chip{width:36px;height:34px;border-radius:9px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-muted);border:1px solid rgb(var(--brand-accent-rgb)/.16);cursor:pointer;transition:border-color .12s}.bt-chip:hover{border-color:var(--brand-accent)}.bt-chip.is-missed{background:var(--bt-miss-bg);color:var(--bt-miss-fg);border-color:var(--bt-miss-bd)}.bt-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.bt-card{position:relative;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);border-radius:16px;padding:20px 24px;overflow:hidden}.bt-card.is-missed{border-color:var(--bt-miss-bd)}.bt-card.is-missed:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bt-miss-bar)}.bt-card-top{gap:8px;flex-wrap:wrap;margin-bottom:14px}.bt-card-top,.bt-num{display:flex;align-items:center}.bt-num{width:28px;height:28px;border-radius:8px;justify-content:center;font-size:13px;font-weight:800;background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.bt-skill{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--bt-neutral-bg);color:color-mix(in srgb,var(--text) 65%,transparent);max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-diff{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:5px;white-space:nowrap}.bt-diff.easy{background:var(--bt-easy-bg);color:var(--bt-easy-fg)}.bt-diff.medium{background:var(--bt-med-bg);color:var(--bt-med-fg)}.bt-diff.hard{background:var(--bt-miss-bg);color:var(--bt-miss-fg)}.bt-flag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 70%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.18);transition:border-color .12s,color .12s}.bt-card-top .bt-flag{margin-left:auto}.bt-flag.is-on,.bt-flag:hover{border-color:var(--bt-miss-bd);color:var(--bt-miss-fg)}.bt-flag.is-on{background:var(--bt-miss-bg)}.bt-choices{display:flex;flex-direction:column;gap:8px;margin-top:16px}.bt-choice{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:11px;border:1px solid rgb(var(--brand-accent-rgb)/.14)}.bt-choice .letter{width:24px;height:24px;margin-top:1px;border-radius:99px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted);border:1px solid rgb(var(--brand-accent-rgb)/.2)}.bt-choice .tag{align-self:center;margin-left:auto;font-size:11.5px;font-weight:700;color:var(--bt-ok-fg);white-space:nowrap}.bt-choice.is-correct{background:var(--bt-ok-bg);border-color:var(--bt-ok-bd)}.bt-choice.is-correct .letter{background:var(--bt-ok-fg);border-color:var(--bt-ok-fg);color:#fff}.dark .bt-choice.is-correct .letter,[data-theme=dark] .bt-choice.is-correct .letter{color:#0b1f2a}.bt-fr-answer{margin-top:16px;padding:10px 14px;border-radius:11px;font-size:14px;background:var(--bt-ok-bg);border:1px solid var(--bt-ok-bd);color:var(--text)}.bt-fr-answer .lbl{font-weight:700;color:var(--bt-ok-fg)}.bt-correct{background:var(--bt-ok-bg)!important;border-color:var(--bt-ok-bd)!important}.bt-correct-letter{background:var(--bt-ok-fg);color:#fff}.dark .bt-correct-letter,[data-theme=dark] .bt-correct-letter{color:#0b1f2a}.bt-float{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:16px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.18);box-shadow:0 12px 32px rgba(15,23,42,.16)}.bt-float .count{font-size:14px;color:var(--text);white-space:nowrap}.bt-float .count b{color:var(--bt-miss-fg);font-weight:800}.bt-float .clear{font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:0;cursor:pointer;padding:0 2px}.bt-float .clear:hover{color:var(--text)}.bt-float .div{width:1px;align-self:stretch;margin:4px 2px;background:rgb(var(--brand-accent-rgb)/.16)}.bt-float .bt-btn.primary{font-size:14px}.bt-overlay{position:absolute;inset:0;background:rgba(15,23,42,.28)}.bt-drawer{position:absolute;top:0;right:0;bottom:0;width:440px;max-width:100%;display:flex;flex-direction:column;background:var(--bg-card);box-shadow:-12px 0 40px rgba(15,23,42,.18)}.bt-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 16px;border-bottom:1px solid rgb(var(--brand-accent-rgb)/.12)}.bt-drawer-head h2{margin:0;font-size:19px;font-weight:800;color:var(--text)}.bt-drawer-head p{margin:3px 0 0;font-size:13px;color:var(--text-muted)}.bt-drawer-head .close{padding:4px;border-radius:8px;color:var(--text-muted);background:none;border:0;cursor:pointer}.bt-drawer-head .close:hover{color:var(--text)}.bt-drawer-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:18px}.bt-row.ca-row{grid-template-columns:minmax(0,1fr) 150px}.bt-prev-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid rgb(var(--brand-accent-rgb)/.08)}.bt-prev-row .name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.bt-prev-row .srcs{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.bt-prev-row .src{font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--bt-neutral-bg);color:color-mix(in srgb,var(--text) 70%,transparent);white-space:nowrap}.bt-prev-row .src.mult{background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.bt-drawer-foot{padding:16px 24px 20px;border-top:1px solid rgb(var(--brand-accent-rgb)/.12)}.ac-page{--ac-avail-row:#f7fcf9;--ac-result-bg:#f3faf6}.dark .ac-page,[data-theme=dark] .ac-page{--ac-avail-row:rgb(var(--brand-accent-rgb)/0.05);--ac-result-bg:rgb(var(--brand-accent-rgb)/0.06)}.ac-page .page-head{align-items:center}.ac-gen-btn,.ac-solid{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 18px;border-radius:12px;background:var(--brand-accent);color:#fff;font-size:14px;font-weight:700;border:0;cursor:pointer;transition:background .12s,opacity .12s}.ac-gen-btn{margin-left:auto}.ac-gen-btn:hover,.ac-solid:hover:not(:disabled){background:var(--brand-accent-deep)}.ac-solid:disabled{opacity:.5;cursor:default}@media (max-width:767px){.ac-gen-btn{display:none}}.ac-outline{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.2);transition:border-color .12s}.ac-outline:hover{border-color:var(--brand-accent)}.ac-card{background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);border-radius:16px;box-shadow:var(--shadow-card)}.ac-codes{overflow:hidden;margin-bottom:24px}.ac-codes-head{padding:14px 22px;border-bottom:1px solid rgb(var(--brand-accent-rgb)/.1);font-size:13.5px;font-weight:600;color:var(--text-muted)}.ac-code-wrap+.ac-code-wrap{border-top:1px solid rgb(var(--brand-accent-rgb)/.08)}.ac-code{display:grid;grid-template-columns:14px 130px 20px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 22px}.ac-code.can-expand{cursor:pointer}.ac-code.can-expand:hover{background:rgb(var(--brand-accent-rgb)/.04)}.ac-code.is-available{background:var(--ac-avail-row)}.ac-code .chev{display:flex;color:color-mix(in srgb,var(--text) 35%,transparent)}.ac-code .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14.5px;font-weight:700;letter-spacing:.04em;color:color-mix(in srgb,var(--text) 55%,transparent)}.ac-code.is-available .code{color:var(--text)}.ac-code .copy{display:flex;padding:2px;border-radius:5px;background:none;border:0;cursor:pointer;color:color-mix(in srgb,var(--text) 30%,transparent)}.ac-code.is-available .copy{color:var(--brand-accent)}.ac-code .copy:hover{color:var(--accent-text)}.ac-code .who{display:flex;align-items:center;gap:8px;min-width:0}.ac-code .who .name{font-size:14px;font-weight:500;color:color-mix(in srgb,var(--text) 75%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-code .who .tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.ac-code .status{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:99px;color:var(--text-muted);white-space:nowrap}.ac-code .status.available{background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.ac-code .status.inactive{color:#c03a3a}.ac-code .status.expired{color:#94600a}.ac-redeemed{padding:10px 22px 12px 50px;border-top:1px solid rgb(var(--brand-accent-rgb)/.08)}.ac-redeemed .row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.ac-more{width:100%;padding:13px;border:0;border-top:1px solid rgb(var(--brand-accent-rgb)/.1);background:none;font-size:14px;font-weight:600;color:var(--accent-text);cursor:pointer}.ac-more:hover{background:rgb(var(--brand-accent-rgb)/.04)}@media (max-width:640px){.ac-code{grid-template-columns:14px auto 20px minmax(0,1fr) auto;gap:10px;padding:12px 16px}}.ac-pair{padding:22px 24px}.ac-pair h2{margin:0;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800}.ac-pair h2 svg{color:var(--accent-text)}.ac-modal{width:100%;max-width:460px;border-radius:18px;padding:24px;background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);box-shadow:0 24px 64px rgba(15,23,42,.22)}.ac-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.ac-modal-head .tile{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-card));color:var(--accent-text)}.ac-modal-head h3{margin:0;font-size:18px;font-weight:800}.ac-modal-head .close{margin-left:auto;padding:6px;border-radius:8px;background:none;border:0;color:var(--text-muted);cursor:pointer}.ac-modal-head .close:hover{color:var(--text)}.ac-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ac-choice.three{grid-template-columns:repeat(3,1fr)}.ac-choice button{padding:11px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 70%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.2);transition:border-color .12s}.ac-choice button.on,.ac-choice button:hover{border-color:var(--brand-accent)}.ac-choice button.on{background:var(--brand-accent);color:#fff}.ac-modal-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.ac-result{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px;border-radius:14px;background:var(--ac-result-bg);border:1px solid rgb(var(--brand-accent-rgb)/.14)}.ac-result .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:34px;font-weight:700;letter-spacing:.08em;color:var(--text)}.ac-result-text{margin:16px 0 18px;font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--text) 75%,transparent)}.ac-result-text b{color:var(--text)}.rv-page{--rv-ok:#0f7a4d;--rv-ok-bg:#e3f5ea;--rv-ok-bd:#bfe5cf;--rv-mid:#94600a;--rv-mid-bg:#fdf3dd;--rv-mid-bd:#f4dcaa;--rv-low:#c03a3a;--rv-low-bg:#fdeaea;--rv-low-bd:#f5c7c7;--rv-soft-bg:#ecfdf5;--rv-soft-bd:#a7f3d0;--rv-chip-bg:#f6fbf8;--rv-lock-bg:#eef3f0;--rv-ready-bg:#d1fae5}.dark .rv-page,[data-theme=dark] .rv-page{--rv-ok:#5fd39a;--rv-ok-bg:rgba(95,211,154,.12);--rv-ok-bd:rgba(95,211,154,.32);--rv-mid:#fbbf24;--rv-mid-bg:rgba(245,158,11,.14);--rv-mid-bd:rgba(245,158,11,.32);--rv-low:#f08c8c;--rv-low-bg:hsla(0,77%,75%,.12);--rv-low-bd:hsla(0,77%,75%,.32);--rv-soft-bg:rgb(var(--brand-accent-rgb)/0.14);--rv-soft-bd:rgb(var(--brand-accent-rgb)/0.32);--rv-chip-bg:rgb(var(--brand-accent-rgb)/0.06);--rv-lock-bg:color-mix(in srgb,var(--text) 8%,transparent);--rv-ready-bg:rgb(var(--brand-accent-rgb)/0.18)}.rv-sec-toggle{margin-top:12px}.rv-mini-stat .val .denom{font-size:13px;color:var(--rv-text-muted)}.rv-mini-stat .val.rv-ok{color:var(--rv-ok)}.rv-mini-stat .val.rv-brand{color:var(--rv-accent-text)}.rv-how-strip.rv-how-open{position:relative;padding-right:44px}.rv-how-close{position:absolute;top:10px;right:10px;padding:4px;border-radius:8px;background:none;border:0;cursor:pointer;color:var(--rv-text-muted)}.rv-how-close:hover{color:var(--rv-text)}.rv-how-link{display:inline-flex;align-items:center;gap:6px;margin:4px 0 18px;padding:0;background:none;border:0;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--rv-accent-text)}.rv-how-link:hover{text-decoration:underline}.rv-how-strip+.rv-grid{margin-top:20px}.rv-ribbon.locked{background:var(--rv-lock-bg);color:var(--rv-text-muted)}.rv-ribbon.ready{background:var(--rv-ready-bg);color:var(--rv-accent-text)}.rv-ribbon.taken{background:var(--rv-mid-bg);color:var(--rv-mid)}.rv-ribbon.mastered{background:var(--rv-ok-bg);color:var(--rv-ok)}.dark .rv-card.is-mastered,.rv-card.is-mastered,[data-theme=dark] .rv-card.is-mastered{border-color:rgba(11,111,122,.28);background:var(--rv-bg-card);box-shadow:var(--rv-shadow-card)}.dark .rv-card.is-mastered,[data-theme=dark] .rv-card.is-mastered{border-color:rgba(95,211,154,.32)}.rv-card.is-unlocked:not(.is-mastered){border-color:var(--rv-border)}.rv-card-header .icon-pill.conventions,.rv-card-header .icon-pill.craft,.rv-card-header .icon-pill.expression,.rv-card-header .icon-pill.ideas{background:color-mix(in srgb,var(--brand-accent-soft) 22%,transparent);color:var(--brand-accent)}.dark .rv-card-header .icon-pill.conventions,.dark .rv-card-header .icon-pill.craft,.dark .rv-card-header .icon-pill.expression,.dark .rv-card-header .icon-pill.ideas,[data-theme=dark] .rv-card-header .icon-pill.conventions,[data-theme=dark] .rv-card-header .icon-pill.craft,[data-theme=dark] .rv-card-header .icon-pill.expression,[data-theme=dark] .rv-card-header .icon-pill.ideas{color:var(--brand-accent-soft)}.rv-missing{display:flex;flex-direction:column;gap:8px}.rv-missing-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rv-text-muted)}.rv-missing-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rv-miss-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:var(--rv-chip-bg);border:1px solid rgb(var(--brand-accent-rgb)/.16);font-size:12.5px;font-weight:600;color:var(--rv-text);text-decoration:none;transition:border-color .12s;max-width:100%}.rv-miss-chip:hover{border-color:var(--brand-accent)}.rv-miss-chip .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rv-miss-chip .diff{flex-shrink:0;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px}.rv-miss-chip .diff.easy{background:var(--brand-tint-50);color:var(--brand-success-strong)}.rv-miss-chip .diff.medium{background:var(--rv-mid-bg);color:var(--rv-mid)}.rv-miss-chip .diff.hard{background:var(--rv-low-bg);color:var(--rv-low)}.dark .rv-miss-chip .diff.easy,[data-theme=dark] .rv-miss-chip .diff.easy{background:rgba(34,197,94,.14);color:var(--brand-success-light,#4ade80)}.rv-miss-chip .score{flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums}.rv-miss-chip .score.good{color:var(--rv-ok)}.rv-miss-chip .score.ok{color:var(--rv-mid)}.rv-miss-chip .score.low{color:var(--rv-low)}.rv-miss-more{font-size:12.5px;font-weight:600;color:var(--rv-accent-text);text-decoration:none;padding:0 4px}.rv-miss-more:hover{text-decoration:underline}.rv-best{display:flex;align-items:center;justify-content:space-between;gap:12px}.rv-best.tone-good{background:var(--rv-ok-bg);border-color:var(--rv-ok-bd)}.rv-best.tone-ok{background:var(--rv-mid-bg);border-color:var(--rv-mid-bd)}.rv-best.tone-low{background:var(--rv-low-bg);border-color:var(--rv-low-bd)}.rv-best .best-left{display:flex;align-items:baseline;gap:10px}.rv-best .best-score{font-size:30px;font-weight:900}.rv-best.tone-good .best-score{color:var(--rv-ok)}.rv-best.tone-ok .best-score{color:var(--rv-mid)}.rv-best.tone-low .best-score{color:var(--rv-low)}.rv-best .best-lbl{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:0}.rv-cta{text-decoration:none}.rv-cta.solid{background:var(--brand-accent);color:#fff;border-radius:12px;padding:12px;box-shadow:none}.rv-cta.solid:hover{background:var(--brand-accent-deep);transform:none;box-shadow:none}.dark .rv-cta.solid,[data-theme=dark] .rv-cta.solid{color:#0f172a}.rv-cta.soft{background:var(--rv-soft-bg);border:1px solid var(--rv-soft-bd);color:var(--rv-accent-text);border-radius:12px;padding:12px;box-shadow:none}.rv-cta.soft:hover{border-color:var(--brand-accent);transform:none;box-shadow:none}.rv-cta svg{width:16px;height:16px}.rv-note{margin-top:-6px;text-align:center;font-size:13px;color:var(--rv-text-muted)}:root{--qr-good:#0f7a4d;--qr-ok-ring:#d49a2a;--qr-ok:#94600a;--qr-low-ring:#e05a5a;--qr-low:#c03a3a;--qr-track:#d1fae5}.dark,[data-theme=dark]{--qr-good:#5fd39a;--qr-ok-ring:#e8b85c;--qr-ok:#e8b85c;--qr-low-ring:#f08c8c;--qr-low:#f08c8c;--qr-track:rgb(var(--brand-accent-rgb)/0.18)}.qr-col{width:100%;max-width:380px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:16px}.qr-ring{position:relative;width:168px;height:168px;margin:0 auto}.qr-ring svg{transform:rotate(-90deg);display:block}.qr-ring .track{stroke:var(--qr-track)}.qr-ring.good .fill{stroke:var(--qr-good)}.qr-ring.ok .fill{stroke:var(--qr-ok-ring)}.qr-ring.low .fill{stroke:var(--qr-low-ring)}.qr-ring .score{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.qr-ring.good .score{color:var(--qr-good)}.qr-ring.ok .score{color:var(--qr-ok)}.qr-ring.low .score{color:var(--qr-low)}.qr-title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--text)}.qr-sub{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--text-muted)}.qr-counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--bg-card);border:1px solid rgb(var(--brand-accent-rgb)/.14);border-radius:14px}.qr-counters.three{grid-template-columns:repeat(3,minmax(0,1fr))}.qr-counters .cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px}.qr-counters .cell+.cell{border-left:1px solid rgb(var(--brand-accent-rgb)/.12)}.qr-counters .v{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.qr-counters .v.ok{color:var(--qr-good)}.qr-counters .v.bad{color:var(--qr-low)}.qr-counters .lbl,.qr-counters .v.muted{color:var(--text-muted)}.qr-counters .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.qr-actions{display:flex;flex-direction:column;gap:10px}.qr-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:12px;text-decoration:none;cursor:pointer;transition:filter .12s,border-color .12s}.qr-btn.primary{padding:13px;border:0;background:var(--accent);color:#fff;font-size:15px;font-weight:700}.dark .qr-btn.primary,[data-theme=dark] .qr-btn.primary{color:#0f172a}.qr-btn.primary:hover{filter:brightness(.94)}.qr-btn.secondary{padding:12px;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid rgb(var(--brand-accent-rgb)/.22);font-size:14.5px;font-weight:600}.qr-btn.secondary:hover{border-color:var(--accent)}:root{--quiz-ok:#0f7a4d;--quiz-ok-bg:#e3f5ea;--quiz-ok-bd:#bfe5cf;--quiz-bad:#c03a3a;--quiz-bad-bg:#fdeaea;--quiz-bad-bd:#f5c7c7;--quiz-hair:rgb(var(--brand-accent-rgb)/0.12);--quiz-strong:rgb(var(--brand-accent-rgb)/0.22);--quiz-on-accent:#fff;--quiz-track:#d1fae5;--quiz-tool-on-bg:#ecfdf5;--quiz-tool-on-bd:#a7f3d0}.dark,[data-theme=dark]{--quiz-ok:#5fd39a;--quiz-ok-bg:rgba(95,211,154,.12);--quiz-ok-bd:rgba(95,211,154,.32);--quiz-bad:#f08c8c;--quiz-bad-bg:hsla(0,77%,75%,.12);--quiz-bad-bd:hsla(0,77%,75%,.32);--quiz-hair:rgb(var(--brand-accent-rgb)/0.18);--quiz-strong:rgb(var(--brand-accent-rgb)/0.28);--quiz-on-accent:#0f172a;--quiz-track:rgb(var(--brand-accent-rgb)/0.20);--quiz-tool-on-bg:rgb(var(--brand-accent-rgb)/0.14);--quiz-tool-on-bd:rgb(var(--brand-accent-rgb)/0.32)}.qz-tool{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;background:transparent;color:color-mix(in srgb,var(--text) 72%,transparent);border:1px solid var(--quiz-strong);transition:border-color .12s,color .12s,background .12s}.qz-tool svg{width:16px;height:16px}.qz-tool:hover{border-color:var(--accent);color:var(--accent-text)}.qz-tool.on{background:var(--quiz-tool-on-bg);border-color:var(--quiz-tool-on-bd);color:var(--accent-text)}@media (max-width:767px){.qz-tool{padding:6px 9px}}.qz-progress{height:3px;width:100%;overflow:hidden;background:var(--quiz-track)}.qz-progress .bar{height:100%;background:var(--accent);transition:width .3s ease-out}.qz-card{background:var(--bg-card);border:1px solid var(--quiz-hair);border-radius:18px;padding:26px 30px}.qz-card.qz-frame{padding:0}.qz-qnum{margin:0;font-size:13px;font-weight:700;color:var(--accent-text)}.qz-count{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}.qz-count.ok{background:var(--quiz-ok-bg);color:var(--quiz-ok)}.qz-count.bad{background:var(--quiz-bad-bg);color:var(--quiz-bad)}.qz-choices{display:flex;flex-direction:column;gap:10px}.qz-choice{position:relative;overflow:hidden;flex:1;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;text-align:left;cursor:pointer;background:var(--bg-card);border:1px solid var(--quiz-hair);color:var(--text);transition:border-color .12s,background .12s}.qz-choice:hover:not(:disabled){border-color:var(--quiz-strong)}.qz-choice:hover:not(:disabled) .qz-letter{box-shadow:0 0 0 1px var(--quiz-strong)}.qz-choice:disabled{cursor:default}.qz-letter{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;background:var(--bg-alt);color:color-mix(in srgb,var(--text) 72%,transparent)}.qz-choice-tag,.qz-letter{flex-shrink:0;font-weight:700;font-family:DM Sans,system-ui,sans-serif}.qz-choice-tag{margin-left:auto;padding-left:8px;font-size:12px}.qz-choice.is-selected{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:var(--accent)}.qz-choice.is-selected .qz-letter{background:var(--accent);color:var(--quiz-on-accent)}.qz-choice.is-correct{background:var(--quiz-ok-bg);border-color:var(--quiz-ok-bd)}.qz-choice.is-correct .qz-letter{background:var(--quiz-ok);color:var(--bg-card)}.qz-choice.is-correct .qz-choice-tag{color:var(--quiz-ok)}.qz-choice.is-wrong{background:var(--quiz-bad-bg);border-color:var(--quiz-bad-bd)}.qz-choice.is-wrong .qz-letter{background:var(--quiz-bad);color:var(--bg-card)}.qz-choice.is-wrong .qz-choice-tag{color:var(--quiz-bad)}.qz-choice.is-dim .qz-letter{color:var(--text-muted)}.qz-choice.is-eliminated{cursor:default}.qz-elim{width:30px;height:30px;flex-shrink:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--quiz-hair);color:var(--text-muted);cursor:pointer;transition:border-color .12s,color .12s}.qz-elim:hover{border-color:var(--quiz-strong);color:var(--text)}.qz-feedback{justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid}.qz-feedback,.qz-feedback .dot{display:flex;align-items:center}.qz-feedback .dot{width:22px;height:22px;border-radius:99px;flex-shrink:0;justify-content:center;color:#fff}.dark .qz-feedback .dot,[data-theme=dark] .qz-feedback .dot{color:var(--bg-card)}.qz-feedback .label{font-size:15px;font-weight:700}.qz-feedback.ok{background:var(--quiz-ok-bg);border-color:var(--quiz-ok-bd)}.qz-feedback.ok .dot{background:var(--quiz-ok)}.qz-feedback.ok .label{color:var(--quiz-ok)}.qz-feedback.bad{background:var(--quiz-bad-bg);border-color:var(--quiz-bad-bd)}.qz-feedback.bad .dot{background:var(--quiz-bad)}.qz-feedback.bad .label{color:var(--quiz-bad)}.qz-icon-btn{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:color-mix(in srgb,var(--text) 72%,transparent)}.qz-icon-btn:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.qz-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:0;background:var(--accent);color:var(--quiz-on-accent);transition:filter .12s,opacity .12s}.qz-next:hover:not(:disabled){filter:brightness(.94)}.qz-next:disabled{background:var(--bg-alt);color:var(--text-muted);cursor:not-allowed}.qz-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid var(--quiz-strong);transition:border-color .12s}.qz-outline:hover{border-color:var(--accent)}.qz-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:10px;flex-shrink:0;font-size:14px;font-weight:600;cursor:pointer;background:var(--bg-card);color:color-mix(in srgb,var(--text) 80%,transparent);border:1px solid var(--quiz-strong);transition:border-color .12s}.qz-nav-btn:hover:not(:disabled){border-color:var(--accent)}.qz-nav-btn:disabled{opacity:.35;cursor:not-allowed}.qz-dots{align-items:flex-start;gap:8px;padding-bottom:7px}.qz-dot,.qz-dots{justify-content:center}.qz-dot{position:relative;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;font-size:13px;font-weight:700;cursor:pointer;background:var(--bg-alt);color:var(--text-muted);border:1px solid transparent}.qz-dot.seen{background:var(--bg-card);color:var(--text);border-color:var(--quiz-strong)}.qz-dot.ok{background:var(--quiz-ok-bg);color:var(--quiz-ok);border-color:var(--quiz-ok-bd)}.qz-dot.bad{background:var(--quiz-bad-bg);color:var(--quiz-bad);border-color:var(--quiz-bad-bd)}.qz-dot.is-current:after{content:"";position:absolute;left:50%;bottom:-8px;width:16px;height:3px;margin-left:-8px;border-radius:2px;background:var(--text)}:is(.pp-page-header,.rv-header,.bm-page-head) .head-row{display:flex;align-items:center;gap:14px}:is(.pp-page-header,.rv-header,.bm-page-head) .head-below{margin-left:62px}:is(.pp-page-header,.rv-header,.bm-page-head) .head-below:empty{display:none}.bt-toggle.bt-toggle-sm{padding:3px;gap:2px}.bt-toggle.bt-toggle-sm button{padding:3px 10px;font-size:11.5px}.qz-choice.is-static{cursor:default}.qz-choice.is-static:hover{border-color:var(--quiz-hair)}.qz-choice.is-static:hover .qz-letter{box-shadow:none}.qz-choice.is-static.is-correct:hover{border-color:var(--quiz-ok-bd)}.qz-dot.is-stop{box-shadow:0 0 0 2px #fb923c}.qz-dot.is-after{opacity:.4}.qz-dot.is-gap{border-style:dashed;background:transparent;color:var(--text-muted)}.pp-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.pp-page-header .wrap>.titles{align-self:flex-start}.sd-page .sd-session .diff{width:72px;text-align:center;box-sizing:border-box;padding:3px 0;border-radius:7px}.sd-page .sd-session .tag{width:120px;text-align:center;box-sizing:border-box;padding:3px 10px}.show-more-btn{align-self:center;margin-top:12px;padding:7px 16px;border-radius:99px;border:1px solid var(--border);background:var(--bg-card);color:var(--accent-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .12s}.show-more-btn:hover{border-color:var(--accent)}.dark .auth-shell .rounded-2xl.bg-card,[data-theme=dark] .auth-shell .rounded-2xl.bg-card{background:var(--bg-card);border-color:hsla(0,0%,100%,.08)}.dark .auth-shell :is(input,button).border-border-strong,[data-theme=dark] .auth-shell :is(input,button).border-border-strong{background:var(--bg);border-color:hsla(0,0%,100%,.12)}.dark .auth-shell button.border-border-strong:hover,[data-theme=dark] .auth-shell button.border-border-strong:hover{background:color-mix(in srgb,var(--bg) 80%,#fff 6%)}.dark .auth-shell input.border-border-strong:focus,[data-theme=dark] .auth-shell input.border-border-strong:focus{border-color:var(--accent)}.rr-page{--rr-ok:#0f7a4d;--rr-ok-bg:#e3f5ea;--rr-ok-bd:#bfe5cf;--rr-mid:#94600a;--rr-mid-fill:#d49a2a;--rr-mid-bg:#fdf3dd;--rr-mid-bd:#f4dcaa;--rr-bad:#c03a3a;--rr-bad-bg:#fdeaea;--rr-bad-bd:#f5c7c7;--rr-track:#d1fae5;--rr-easy-bg:#e6f5ec;--rr-easy:#1f7a45;--rr-neutral:#eef4f0;--rr-scrim:rgba(15,23,42,.45)}.dark .rr-page,[data-theme=dark] .rr-page{--rr-ok:#5fd39a;--rr-ok-bg:rgba(95,211,154,.12);--rr-ok-bd:rgba(95,211,154,.32);--rr-mid:#e8b85c;--rr-mid-fill:#e8b85c;--rr-mid-bg:rgba(232,184,92,.12);--rr-mid-bd:rgba(232,184,92,.32);--rr-bad:#f08c8c;--rr-bad-bg:hsla(0,77%,75%,.12);--rr-bad-bd:hsla(0,77%,75%,.32);--rr-track:rgb(var(--brand-accent-rgb)/0.18);--rr-easy-bg:rgba(110,231,160,.12);--rr-easy:#6ee7a0;--rr-neutral:hsla(0,0%,100%,.06);--rr-scrim:rgba(0,0,0,.6)}.rr-main{max-width:1080px;margin:0 auto;padding:40px 20px 64px;display:flex;flex-direction:column;gap:20px}@media (min-width:768px){.rr-main{padding:48px 40px 64px}}.rr-title{text-align:center;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.rr-title h1{margin:0;font-size:34px;font-weight:900;letter-spacing:-.02em}.rr-title p{margin:0;font-size:15px;color:var(--text-muted)}.rr-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px}.rr-card h2{margin:0;font-size:16px;font-weight:800}.rr-top{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}@media (min-width:900px){.rr-top{grid-template-columns:repeat(3,minmax(0,1fr))}}.rr-score-card{padding:26px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.rr-ring-wrap{position:relative;width:160px;height:160px}.rr-ring{transform:rotate(-90deg);display:block}.rr-ring .track{stroke:var(--rr-track)}.rr-ring.ok .fill{stroke:var(--rr-ok)}.rr-ring.mid .fill{stroke:var(--rr-mid-fill)}.rr-ring.bad .fill{stroke:var(--rr-bad)}.rr-ring-label{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:56px;box-sizing:border-box}.rr-ring-label .n{font-size:42px;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.rr-ring-label .of{font-size:18px;font-weight:700;color:var(--text-muted)}.rr-headline{font-size:18px;font-weight:800}.rr-pct{margin-top:4px;font-size:14px;font-weight:700}.rr-pct.ok{color:var(--rr-ok)}.rr-pct.mid{color:var(--rr-mid)}.rr-pct.bad{color:var(--rr-bad)}.rr-diffs{padding:22px 24px;gap:18px}.rr-diff-row,.rr-diffs{display:flex;flex-direction:column}.rr-diff-row{gap:8px}.rr-diff-row .top{display:flex;align-items:center;justify-content:space-between;gap:10px}.rr-diff-row .frac{font-size:13.5px;white-space:nowrap;color:var(--text-muted)}.rr-diff-row .frac strong{color:var(--text)}.rr-bar{height:6px;border-radius:99px;background:var(--rr-track);overflow:hidden}.rr-bar .fill{height:100%;border-radius:99px}.rr-bar .fill.ok{background:var(--rr-ok)}.rr-bar .fill.mid{background:var(--rr-mid-fill)}.rr-bar .fill.bad{background:var(--rr-bad)}.rr-diff{width:72px;flex:none;text-align:center;box-sizing:border-box;font-size:12px;font-weight:700;padding:4px 0;border-radius:7px}.rr-diff.easy{background:var(--rr-easy-bg);color:var(--rr-easy)}.rr-diff.medium{background:var(--rr-mid-bg);color:var(--rr-mid)}.rr-diff.hard{background:var(--rr-bad-bg);color:var(--rr-bad)}.rr-answers{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.rr-chips{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.rr-chip{aspect-ratio:1/1;border-radius:7px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;border:1px solid;font-variant-numeric:tabular-nums;padding:0;font-family:inherit}button.rr-chip{cursor:pointer;transition:transform .12s}button.rr-chip:hover{transform:translateY(-1px)}.rr-chip.ok{background:var(--rr-ok-bg);color:var(--rr-ok);border-color:var(--rr-ok-bd)}.rr-chip.bad{background:var(--rr-bad-bg);color:var(--rr-bad);border-color:var(--rr-bad-bd)}.rr-legend{display:flex;gap:16px;font-size:12.5px;color:var(--text-muted)}.rr-legend span{display:flex;align-items:center;gap:6px}.rr-legend i{width:10px;height:10px;border-radius:3px;border:1px solid}.rr-legend i.ok{background:var(--rr-ok-bg);border-color:var(--rr-ok-bd)}.rr-legend i.bad{background:var(--rr-bad-bg);border-color:var(--rr-bad-bd)}.rr-hint{margin:auto 0 0;font-size:13px;color:var(--text-muted)}.rr-topics{padding:22px 26px;display:flex;flex-direction:column}.rr-topics-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.rr-topics-head>div{display:flex;flex-direction:column;gap:3px}.rr-topics-head h2{font-size:18px}.rr-topics-head .sub{font-size:13.5px;color:var(--text-muted)}.rr-count{flex:none;font-size:12.5px;font-weight:700;padding:4px 12px;border-radius:99px;border:1px solid}.rr-count.ok{background:var(--rr-ok-bg);color:var(--rr-ok);border-color:var(--rr-ok-bd)}.rr-count.bad{background:var(--rr-bad-bg);color:var(--rr-bad);border-color:var(--rr-bad-bd)}.rr-topic-list{margin-top:12px}.rr-topic-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 64px;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}.rr-topic-row .name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-topic-row .rr-diff{width:86px}.rr-score{text-align:center;font-size:12px;font-weight:800;padding:4px 0;border-radius:7px;font-variant-numeric:tabular-nums}.rr-score.ok{background:var(--rr-ok-bg);color:var(--rr-ok)}.rr-score.mid{background:var(--rr-mid-bg);color:var(--rr-mid)}.rr-score.bad{background:var(--rr-bad-bg);color:var(--rr-bad)}@media (max-width:520px){.rr-topic-row{grid-template-columns:minmax(0,1fr) 64px 52px;gap:10px}.rr-topic-row .rr-diff{width:64px}}.rr-more{margin-top:10px;display:flex;width:100%;align-items:center;justify-content:center;gap:6px;background:none;border:0;padding:6px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--text-muted)}.rr-more:hover{color:var(--accent-text)}.rr-empty{padding:16px 0 4px;text-align:center;font-size:14px;color:var(--text-muted)}.rr-actions{margin:12px auto 0;width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px}.rr-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--rr-scrim);padding:0}@media (min-width:640px){.rr-overlay{padding:24px}}.rr-modal{width:100%;height:100%;max-width:820px;background:var(--bg-card);color:var(--text);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.28)}@media (min-width:640px){.rr-modal{height:auto;max-height:90vh;border-radius:18px}}.rr-modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px 16px 26px;border-bottom:1px solid var(--border);flex-wrap:nowrap;min-width:0}.rr-modal-head .qnum{font-size:15px;font-weight:800;white-space:nowrap;flex:none}.rr-modal-head .qnum .of{font-weight:600;color:var(--text-muted)}.rr-status{flex:none;font-size:12px;font-weight:700;padding:4px 10px;border-radius:7px;border:1px solid}.rr-status.ok{background:var(--rr-ok-bg);color:var(--rr-ok);border-color:var(--rr-ok-bd)}.rr-status.bad{background:var(--rr-bad-bg);color:var(--rr-bad);border-color:var(--rr-bad-bd)}.rr-skill{min-width:0;font-size:12px;font-weight:600;padding:4px 10px;border-radius:7px;background:var(--rr-neutral);color:color-mix(in srgb,var(--text) 72%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-modal-head .rr-diff{width:auto;padding:4px 10px}@media (max-width:640px){.rr-skill{display:none}}.rr-close{margin-left:auto;flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:none;display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--text) 72%,transparent);cursor:pointer}.rr-close:hover{border-color:var(--accent)}.rr-modal-body{flex:1;overflow-y:auto;padding:26px 30px 28px}@media (max-width:640px){.rr-modal-body{padding:20px 18px 22px}}.rr-choices{display:flex;flex-direction:column;gap:10px}.rr-choice{gap:14px;padding:13px 16px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border)}.rr-choice,.rr-choice .letter{display:flex;align-items:center;color:var(--text-muted)}.rr-choice .letter{width:30px;height:30px;border-radius:8px;justify-content:center;font-size:13px;background:var(--rr-neutral)}.rr-choice .letter,.rr-choice .tag{flex:none;font-weight:700;font-family:DM Sans,system-ui,sans-serif}.rr-choice .tag{font-size:12px}.rr-choice.ok{background:var(--rr-ok-bg);border-color:var(--rr-ok-bd);color:var(--text)}.rr-choice.ok .letter{background:var(--rr-ok);color:var(--bg-card)}.rr-choice.ok .tag{color:var(--rr-ok)}.rr-choice.bad{background:var(--rr-bad-bg);border-color:var(--rr-bad-bd);color:var(--text)}.rr-choice.bad .letter{background:var(--rr-bad);color:var(--bg-card)}.rr-choice.bad .tag{color:var(--rr-bad)}.rr-modal-foot{justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding:14px 20px max(14px,env(safe-area-inset-bottom,14px))}.rr-modal-foot,.rr-nav{display:flex;align-items:center}.rr-nav{gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:none;font:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.rr-nav:hover:not(:disabled){border-color:var(--accent)}.rr-nav:disabled{color:var(--text-muted);opacity:.55;cursor:default}.rr-strip{display:none;align-items:flex-start;gap:6px}@media (min-width:640px){.rr-strip{display:flex}}.rr-strip-chip{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer;font:inherit}.rr-strip-chip>span{width:32px;height:32px;border-radius:8px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;border:1px solid;font-variant-numeric:tabular-nums}.rr-strip-chip>span.ok{background:var(--rr-ok-bg);color:var(--rr-ok);border-color:var(--rr-ok-bd)}.rr-strip-chip>span.bad{background:var(--rr-bad-bg);color:var(--rr-bad);border-color:var(--rr-bad-bd)}.rr-strip-chip:after{content:"";width:16px;height:3px;border-radius:2px;background:transparent}.rr-strip-chip.current:after{background:var(--text)}.rr-strip-mobile{font-size:14px;font-weight:600;color:var(--text-muted)}@media (min-width:640px){.rr-strip-mobile{display:none}}.dark .solid-card.bg-card,[data-theme=dark] .solid-card.bg-card{background:var(--bg-card);border-color:hsla(0,0%,100%,.08)}.dark .solid-card :is(input,button).border-border-strong,[data-theme=dark] .solid-card :is(input,button).border-border-strong{background:var(--bg);border-color:hsla(0,0%,100%,.12)}.dark .solid-card input.border-border-strong:focus,[data-theme=dark] .solid-card input.border-border-strong:focus{border-color:var(--accent)}.dark .solid-card button.border-border:not(.bg-accent),[data-theme=dark] .solid-card button.border-border:not(.bg-accent){background:var(--bg);border-color:hsla(0,0%,100%,.12)}.placeholder\:text-text-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.last\:border-0:last-child{border-width:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent:hover{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.hover\:border-accent\/50:hover{border-color:rgba(16,185,129,.5)}.hover\:border-error:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.hover\:bg-accent-hover:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.hover\:bg-accent\/10:hover{background-color:rgba(16,185,129,.1)}.hover\:bg-accent\/20:hover{background-color:rgba(16,185,129,.2)}.hover\:bg-accent\/5:hover{background-color:rgba(16,185,129,.05)}.hover\:bg-accent\/90:hover{background-color:rgba(16,185,129,.9)}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.hover\:bg-error:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-error\/10:hover{background-color:rgba(239,68,68,.1)}.hover\:bg-error\/80:hover{background-color:rgba(239,68,68,.8)}.hover\:bg-error\/90:hover{background-color:rgba(239,68,68,.9)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-orange-500\/10:hover{background-color:rgba(249,115,22,.1)}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:bg-surface-hover:hover{background-color:var(--color-surface-hover)}.hover\:bg-warning\/25:hover{background-color:rgba(245,158,11,.25)}.hover\:from-accent-hover:hover{--tw-gradient-from:#34d399 var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-green-500:hover{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.hover\:text-error:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.hover\:text-text-label:hover{color:var(--color-text-label)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-accent\/30:hover{--tw-shadow-color:rgba(16,185,129,.3);--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-accent\/40:hover{--tw-shadow-color:rgba(16,185,129,.4);--tw-shadow:var(--tw-shadow-colored)}.focus\:border-accent:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.focus\:border-error:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-accent:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:translate-y-0:hover:disabled{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:hover\:bg-accent:hover:disabled{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.disabled\:hover\:shadow-accent\/20:hover:disabled{--tw-shadow-color:rgba(16,185,129,.2);--tw-shadow:var(--tw-shadow-colored)}.disabled\:hover\:shadow-accent\/25:hover:disabled{--tw-shadow-color:rgba(16,185,129,.25);--tw-shadow:var(--tw-shadow-colored)}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-accent\/50{border-color:rgba(16,185,129,.5)}.group:hover .group-hover\:bg-accent{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.group:hover .group-hover\:text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:active .group-active\:bg-emerald-500\/30{background-color:rgba(16,185,129,.3)}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:space-y-4:is(.dark *)>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.dark\:divide-y-0:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.dark\:rounded-2xl:is(.dark *){border-radius:1rem}.dark\:border:is(.dark *){border-width:1px}.dark\:border-accent\/25:is(.dark *){border-color:rgba(16,185,129,.25)}.dark\:border-border:is(.dark *){border-color:var(--color-border)}.dark\:border-white\/10:is(.dark *){border-color:hsla(0,0%,100%,.1)}.dark\:border-white\/15:is(.dark *){border-color:hsla(0,0%,100%,.15)}.dark\:bg-\[\#0a1628\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(10 22 40/var(--tw-bg-opacity,1))}.dark\:bg-\[\#0f1f3d\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 31 61/var(--tw-bg-opacity,1))}.dark\:bg-\[rgba\(16\2c 185\2c 129\2c 0\.08\)\]:is(.dark *){background-color:rgba(16,185,129,.08)}.dark\:bg-accent\/10:is(.dark *){background-color:rgba(16,185,129,.1)}.dark\:bg-black\/25:is(.dark *){background-color:rgba(0,0,0,.25)}.dark\:bg-card-alt:is(.dark *){background-color:var(--color-card-alt)}.dark\:bg-surface:is(.dark *){background-color:var(--color-surface)}.dark\:bg-white\/40:is(.dark *){background-color:hsla(0,0%,100%,.4)}.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:hsla(0,0%,100%,.03)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-white\/80:is(.dark *){color:hsla(0,0%,100%,.8)}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:hover\:bg-surface-alt:hover:is(.dark *){background-color:var(--color-surface-alt)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media not all and (min-width:768px){.max-md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}}@media (min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:pt-8{padding-top:2rem}}@media (min-width:700px){.min-\[700px\]\:hidden{display:none}}@media (min-width:768px){.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-14{height:3.5rem}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:w-14{width:3.5rem}.md\:cursor-default{cursor:default}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-y-auto{overflow-y:auto}.md\:whitespace-normal{white-space:normal}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-72{padding-left:18rem;padding-right:18rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:pb-0{padding-bottom:0}.md\:pr-3{padding-right:.75rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:hidden{display:none}}.\[\&_\.sr-only\]\:hidden .sr-only{display:none}.\[\&_img\]\:max-w-full img{max-width:100%}.\[\&_p\]\:m-0 p{margin:0}.\[\&_svg\]\:mx-auto svg{margin-left:auto;margin-right:auto}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_table\]\:mx-auto table{margin-left:auto;margin-right:auto}.\[\&_table\]\:w-full table{width:100%}.\[\&_table\]\:border-collapse table{border-collapse:collapse}.\[\&_td\]\:border td{border-width:1px}.\[\&_td\]\:border-border td{border-color:var(--color-border)}.\[\&_td\]\:px-2 td{padding-left:.5rem;padding-right:.5rem}.\[\&_td\]\:px-3 td{padding-left:.75rem;padding-right:.75rem}.\[\&_td\]\:py-1 td{padding-top:.25rem;padding-bottom:.25rem}.\[\&_td\]\:py-1\.5 td{padding-top:.375rem;padding-bottom:.375rem}.\[\&_th\]\:border th{border-width:1px}.\[\&_th\]\:border-border th{border-color:var(--color-border)}.\[\&_th\]\:px-2 th{padding-left:.5rem;padding-right:.5rem}.\[\&_th\]\:px-3 th{padding-left:.75rem;padding-right:.75rem}.\[\&_th\]\:py-1 th{padding-top:.25rem;padding-bottom:.25rem}.\[\&_th\]\:py-1\.5 th{padding-top:.375rem;padding-bottom:.375rem}