:root{--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-300:#7dd3fc;--sky-400:#38bdf8;--sky-500:#0ea5e9;--sky-600:#0284c7;--white:#fff;--black:#0b1220;--ink:#111827;--muted:#5b6475;--line:#0b12201a;--panel:#ffffffe0;--shadow:0 24px 60px #0284c71f;--radius:20px;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}body{min-width:320px;font-family:var(--font-body);font-feature-settings:"kern" 1, "liga" 1;color:var(--ink);background:radial-gradient(circle at top left, #38bdf838, transparent 28%), linear-gradient(180deg, var(--sky-50) 0%, var(--white) 42%, #f8fbff 100%);margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}img{max-width:100%;display:block}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.container{width:min(1120px,100% - 2rem);margin:0 auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--sky-600);margin-bottom:.75rem;font-size:.78rem;font-weight:700;display:inline-block}.navbar{--nav-h:64px;z-index:200;pointer-events:none;width:100%;padding:.75rem 0;transition:padding .3s;position:sticky;top:0}.navbar--scrolled{padding:.5rem 0}.navbar__wrap{pointer-events:auto;width:min(1160px,100% - 2rem);margin:0 auto}.navbar__shell{-webkit-backdrop-filter:blur(20px)saturate(1.5);background:#ffffffe6;border:1px solid #e2e8f0e6;border-radius:16px;transition:box-shadow .3s,border-color .3s;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 4px 20px #0f172a0d}.navbar__shell:before{content:"";opacity:.85;background:linear-gradient(90deg,#0284c7,#0ea5e9,#38bdf8);height:3px;position:absolute;top:0;left:0;right:0}.navbar--scrolled .navbar__shell{border-color:#bae6fd99;box-shadow:0 1px 2px #0f172a0d,0 12px 40px #0ea5e91a}.navbar--open .navbar__shell{border-color:#bae6fd}.navbar__row{min-height:var(--nav-h);grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1.5rem;padding:0 1.5rem;display:grid}.navbar__brand{justify-self:start;align-items:center;gap:.65rem;min-width:0;text-decoration:none;display:flex}.navbar__logo.brand-mark,.brand-mark{flex-shrink:0;width:38px;height:38px;display:block}.brand-mark img,.navbar__logo img{object-fit:contain;width:100%;height:100%;display:block}.navbar__brand-text{line-height:1.1}.navbar__brand-text strong{color:#0f172a;letter-spacing:-.02em;font-size:1.02rem;font-weight:800;display:block}.navbar__brand-text small{color:#94a3b8;letter-spacing:.09em;text-transform:uppercase;margin-top:2px;font-size:.55rem;font-weight:600;display:block}.brand{align-items:center;gap:.65rem;text-decoration:none;display:flex}.brand-copy{line-height:1}.brand strong{color:#0f172a;letter-spacing:-.02em;font-size:1.05rem;font-weight:800;display:block}.brand small{color:#94a3b8;letter-spacing:.07em;text-transform:uppercase;margin-top:2px;font-size:.575rem;display:block}.navbar__nav{justify-self:center}.navbar__list{justify-content:center;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.navbar__item{color:#64748b;white-space:nowrap;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;display:block;position:relative}.navbar__item:after{content:"";background:#0ea5e9;border-radius:2px;height:2px;transition:transform .22s;position:absolute;bottom:.3rem;left:.75rem;right:.75rem;transform:scaleX(0)}.navbar__item:hover{color:#0f172a}.navbar__item:hover:after{transform:scaleX(.6)}.navbar__item--active{color:#0369a1;font-weight:600}.navbar__item--active:after{transform:scaleX(1)}.navbar__end{justify-content:flex-end;justify-self:end;align-items:center;gap:.65rem;display:flex}.navbar__auth{align-items:center;gap:.5rem;display:flex}.navbar__actions{background:#f8fafc;border:1px solid #e8edf2;border-radius:12px;align-items:center;gap:0;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffffe6}.navbar__actions--stack{flex-direction:column;gap:.35rem;width:100%;padding:5px}.navbar__btn{cursor:pointer;white-space:nowrap;border:none;border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:.52rem 1rem;font-family:inherit;font-size:.84rem;font-weight:600;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.navbar__btn--signin{color:#475569;background:0 0;padding:.52rem .95rem}.navbar__btn--signin:hover{color:#0369a1;background:#ffffffd9}.navbar__btn--practice{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);padding:.52rem .65rem .52rem 1.05rem;box-shadow:0 2px 10px #0ea5e959}.navbar__btn--practice:hover{background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);transform:translateY(-1px);box-shadow:0 4px 18px #0ea5e973}.navbar__btn-icon{background:#ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.navbar__btn-icon svg{display:block}.navbar__btn--block{width:100%}.navbar__actions--stack .navbar__btn--practice{justify-content:center;padding:.65rem 1rem}.navbar__profile{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.45rem;padding:.22rem .7rem .22rem .22rem;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.navbar__profile:hover{background:#f0f9ff;border-color:#7dd3fc}.navbar__profile-av{color:#fff;background:linear-gradient(145deg,#0ea5e9,#0284c7);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:flex}.navbar__profile-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:.8rem;font-weight:600;overflow:hidden}.navbar__burger{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background .2s,color .2s;display:none}.navbar__burger:hover{color:#0284c7;background:#e0f2fe}.navbar__burger-lines{flex-direction:column;gap:5px;display:flex}.navbar__burger-lines span{background:currentColor;border-radius:2px;width:18px;height:2px;transition:transform .22s,opacity .22s;display:block}.navbar--open .navbar__burger-lines span:first-child{transform:translateY(7px)rotate(45deg)}.navbar--open .navbar__burger-lines span:nth-child(2){opacity:0}.navbar--open .navbar__burger-lines span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar__mobile,.navbar__scrim{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.15rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-primary{background:linear-gradient(135deg, var(--sky-500), var(--sky-600));color:var(--white);box-shadow:0 12px 24px #0284c738}.button-secondary{background:var(--white);border-color:var(--line);color:var(--black)}.button-ghost{border-color:var(--line);color:var(--black);background:0 0}.full-width{width:100%}.hero{padding:4.5rem 0 3rem}.hero-grid,.feature-panel,.contact-grid,.login-layout,.cta-panel,.page-header-inner{gap:1.5rem;display:grid}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center}.home-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem)}.section-intro{max-width:42rem;margin-bottom:1.75rem}.section-intro h2{font-family:var(--font-display);color:var(--black);margin:.35rem 0 .85rem;font-size:clamp(1.7rem,3vw,2.5rem)}.section-intro p{color:var(--muted);line-height:1.7}.feature-card{flex-direction:column;gap:.75rem;min-height:100%;display:flex}.feature-card-mark{width:2.5rem;height:2.5rem;color:var(--sky-600);font-family:var(--font-display);background:linear-gradient(135deg,#0ea5e929,#0ea5e90f);border-radius:12px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.feature-panel{grid-template-columns:1.1fr .9fr;align-items:center;gap:1.5rem}.feature-panel-copy p{color:var(--muted);margin-top:.85rem;line-height:1.7}.feature-panel-copy h2{font-family:var(--font-display);color:var(--black);font-size:clamp(1.7rem,3vw,2.5rem)}.feature-panel-actions{margin-top:1.35rem}.feature-panel-card{padding:1.75rem}.home-action-bar,.home-inline-actions,.feature-panel-actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-action-bar{margin-top:1rem}.home-action-pill{min-height:40px;padding:.6rem .95rem;font-size:.92rem}.home-inline-actions,.feature-panel-actions{margin-top:1.35rem}.feature-card .button{margin-top:auto}.home-quick-link-button{width:fit-content;box-shadow:none;margin-top:.25rem}.home-quick-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.home-quick-link-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:100%;box-shadow:var(--shadow);flex-direction:column;gap:.75rem;padding:1.35rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.home-quick-link-card:hover{border-color:#0ea5e947;transform:translateY(-2px);box-shadow:0 20px 40px #0284c724}.home-quick-link-card h3{font-family:var(--font-display);color:var(--black)}.home-quick-link-card p{color:var(--muted);flex:1;line-height:1.7}.home-quick-link-card:hover .home-quick-link-button{transform:translateY(-1px)}.home-seo-section{padding:clamp(2rem,5vw,4rem) 0}.home-seo-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}.home-seo-intro h2{font-family:var(--font-display);color:var(--black);margin:.35rem 0 .85rem;font-size:clamp(1.7rem,3vw,2.5rem)}.home-seo-intro p{color:var(--muted);line-height:1.75}.home-seo-intro p+p{margin-top:.85rem}.home-seo-highlight{background:linear-gradient(135deg,#0ea5e91a,#ffffffeb);border:1px solid #0ea5e929;border-radius:18px;margin-top:1.25rem;padding:1.1rem 1.15rem}.home-seo-highlight h3{font-family:var(--font-display);color:var(--black);margin-bottom:.55rem;font-size:1.1rem}.home-seo-highlight p{margin:0}.home-seo-points{gap:.75rem;margin-top:1.15rem;display:grid}.home-seo-points li{color:var(--muted);padding-left:1.1rem;line-height:1.65;position:relative}.home-seo-points li:before{content:"";background:var(--sky-500);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.55rem;left:0}.home-seo-faq{gap:.85rem;display:grid}.home-seo-faq-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--sky-600);margin-bottom:.15rem;font-size:.82rem;font-weight:600}.home-seo-faq-card{border:1px solid var(--line);background:#fffffff0;border-radius:18px;grid-template-columns:auto 1fr;gap:.9rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 16px 34px #0284c714}.home-seo-faq-index{background:var(--sky-100);width:2rem;height:2rem;color:var(--sky-600);font-family:var(--font-display);border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.home-seo-faq-card h3{font-family:var(--font-display);color:var(--black);margin-bottom:.45rem;font-size:1.05rem}.home-seo-faq-card p{color:var(--muted);line-height:1.7}.library-preview-section{padding:clamp(2rem,5vw,4rem) 0}.library-preview-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}.library-preview-intro h2{font-family:var(--font-display);color:var(--black);margin:.35rem 0 .85rem;font-size:clamp(1.7rem,3vw,2.5rem)}.library-preview-intro p{color:var(--muted);line-height:1.75}.library-preview-highlight{background:linear-gradient(135deg,#0ea5e91a,#ffffffeb);border:1px solid #0ea5e929;border-radius:18px;margin-top:1.25rem;padding:1.1rem 1.15rem}.library-preview-highlight h3{font-family:var(--font-display);color:var(--black);margin-bottom:.55rem;font-size:1.1rem}.library-preview-highlight p{margin:0}.library-preview-link{margin-top:1rem}.library-preview-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--sky-600);margin-bottom:.15rem;font-size:.82rem;font-weight:600}.library-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.library-resource-card{border:1px solid var(--line);background:#fffffff0;border-radius:18px;gap:.75rem;min-height:100%;padding:1.1rem 1.15rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 34px #0284c714}.library-resource-card:before{content:"";background:var(--book-accent);height:4px;position:absolute;top:0;left:0;right:0}.library-resource-card:hover{border-color:color-mix(in srgb, var(--book-accent) 28%, transparent);box-shadow:0 20px 40px color-mix(in srgb, var(--book-accent) 14%, transparent);transform:translateY(-2px)}.library-resource-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-resource-mark{background:color-mix(in srgb, var(--book-soft) 70%, white);min-width:2.85rem;height:2.85rem;color:var(--book-strong);font-family:var(--font-display);letter-spacing:.08em;border-radius:14px;justify-content:center;align-items:center;padding:0 .45rem;font-size:.82rem;font-weight:700;display:inline-flex}.library-resource-tag{background:color-mix(in srgb, var(--book-soft) 72%, white);color:var(--book-strong);border-radius:999px;align-items:center;padding:.38rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.library-resource-card h3{font-family:var(--font-display);color:var(--black);margin:0;font-size:1.05rem}.library-resource-card p{color:var(--muted);margin:0;line-height:1.7}.lib-hero{text-align:center;background:radial-gradient(at 50% 0,#0ea5e914 0%,#0000 60%),radial-gradient(at 80% 80%,#6366f10d 0%,#0000 50%);padding:4rem 0 3rem}.lib-hero-content{max-width:620px;margin:0 auto}.lib-badge{color:var(--sky-600);letter-spacing:.04em;background:linear-gradient(135deg,#0ea5e91f,#6366f11a);border-radius:999px;margin-bottom:1.2rem;padding:.32rem 1rem;font-size:.82rem;font-weight:700;display:inline-block}.lib-hero-title{font-family:var(--font-display);color:var(--black);margin-bottom:.8rem;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.lib-hero-subtitle{color:var(--muted);margin-bottom:1.8rem;font-size:1.08rem;line-height:1.7}.lib-hero-cta{background:linear-gradient(135deg, var(--sky-500) 0%, var(--sky-600) 100%);color:var(--white);border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.6rem;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #0ea5e959}.lib-hero-cta:hover{color:var(--white);transform:translateY(-2px);box-shadow:0 8px 24px #0ea5e966}.lib-resources{padding:3rem 0 3.5rem}.lib-section-header{text-align:center;max-width:540px;margin:0 auto 2.2rem}.lib-section-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--sky-600);margin-bottom:.55rem;font-size:.78rem;font-weight:700;display:inline-block}.lib-section-title{font-family:var(--font-display);color:var(--black);margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15}.lib-section-desc{color:var(--muted);font-size:.98rem;line-height:1.65}.lib-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.lib-resource-card{border:1px solid var(--line);background:var(--white);border-radius:20px;flex-direction:column;gap:.7rem;padding:1.4rem 1.25rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #0b12200a}.lib-resource-card:before{content:"";background:var(--book-accent);height:3px;position:absolute;top:0;left:0;right:0}.lib-resource-card:hover{border-color:color-mix(in srgb, var(--book-accent) 30%, transparent);box-shadow:0 12px 32px color-mix(in srgb, var(--book-accent) 15%, transparent);transform:translateY(-4px)}.lib-resource-icon{background:color-mix(in srgb, var(--book-soft) 60%, white);width:44px;height:44px;color:var(--book-strong);border-radius:14px;justify-content:center;align-items:center;display:flex}.lib-resource-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.lib-resource-mark{font-family:var(--font-display);letter-spacing:.06em;color:var(--book-strong);font-size:.78rem;font-weight:700}.lib-resource-tag{background:color-mix(in srgb, var(--book-soft) 60%, white);color:var(--book-strong);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.lib-resource-card h3{font-family:var(--font-display);color:var(--black);margin:0;font-size:1.1rem}.lib-resource-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.lib-roadmap{background:linear-gradient(#e0f2fe59 0%,#fff0 100%);padding:3rem 0 4rem}.lib-roadmap-inner{grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem;display:grid}.lib-roadmap-text{max-width:440px}.lib-roadmap-list{gap:.85rem;display:grid}.lib-roadmap-item{background:var(--white);border:1px solid var(--line);border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0b12200a}.lib-roadmap-item:hover{transform:translate(4px);box-shadow:0 4px 16px #0b122014}.lib-roadmap-num{width:40px;height:40px;color:var(--sky-600);font-family:var(--font-display);background:linear-gradient(135deg,#0ea5e91f,#0ea5e90f);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.lib-roadmap-label{color:var(--black);font-size:.92rem;font-weight:500;line-height:1.45}.auth-page{background:radial-gradient(at 50% 0,#0ea5e914 0%,#0000 55%),#f8fafc;padding:2.5rem 0 3.5rem}.auth-page-inner{justify-content:center;align-items:flex-start;display:flex}.auth-brand{color:#fff;background:radial-gradient(80% 60% at 20% 10%,#0ea5e938 0%,#0000 55%),radial-gradient(70% 50% at 85% 90%,#0284c71f 0%,#0000 50%),linear-gradient(160deg,#0f172a 0%,#0c4a6e 48%,#0369a1 100%);justify-content:center;align-items:center;padding:3rem 2.5rem;display:flex;position:relative;overflow:hidden}.auth-brand-glow{pointer-events:none;background:radial-gradient(circle,#38bdf840 0%,#0000 70%);border-radius:50%;width:420px;height:420px;position:absolute;inset:-20% -10% auto auto}.auth-brand-content{z-index:1;width:100%;max-width:420px;position:relative}.auth-brand-head{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.auth-brand-logo{align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.auth-brand-logo .brand-mark{width:40px;height:40px}.auth-brand-logo span{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.auth-brand-pill{color:#fffffff2;text-transform:uppercase;letter-spacing:.1em;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;padding:.38rem .95rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.auth-brand h1{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin-bottom:.85rem;font-size:clamp(1.65rem,2.8vw,2.15rem);font-weight:800;line-height:1.2}.auth-brand>.auth-brand-content>p,.auth-brand-content>p{color:#ffffffc7;margin-bottom:1.75rem;font-size:.95rem;line-height:1.7}.auth-features{flex-direction:column;gap:.75rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.auth-feature{color:#ffffffe6;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.auth-feature-icon{color:#7dd3fc;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.auth-stats{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem;display:grid}.auth-stat{text-align:center}.auth-stat strong{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:1.25rem;font-weight:800;display:block}.auth-stat span{text-transform:uppercase;letter-spacing:.06em;color:#fff9;font-size:.72rem;font-weight:600}.auth-main{flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:100%;max-width:420px;padding:2rem;box-shadow:0 1px 2px #0f172a0a,0 12px 40px #0f172a14}.auth-card-top{margin-bottom:.25rem}.auth-mobile-logo{align-items:center;gap:.55rem;margin-bottom:1.25rem;text-decoration:none;display:none}.auth-mobile-logo .brand-mark{width:32px;height:32px}.auth-mobile-logo span{font-family:var(--font-display);color:#0f172a;font-size:1.05rem;font-weight:800}.auth-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1.5rem;padding:.3rem;display:grid}.auth-tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.6rem .75rem;font-size:.88rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.auth-tab:hover{color:#0f172a}.auth-tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 4px #0f172a14}.auth-card-head h1,.auth-card-head h2{font-family:var(--font-display);letter-spacing:-.02em;color:#0f172a;margin-bottom:.35rem;font-size:1.45rem;font-weight:800}.auth-card-head p{color:#64748b;margin-bottom:1.25rem;font-size:.88rem;line-height:1.55}.auth-google{justify-content:center;min-height:44px;margin-bottom:.25rem;display:flex}.auth-divider{align-items:center;gap:.85rem;margin:1.1rem 0 1.25rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.auth-divider span{color:#94a3b8;white-space:nowrap;font-size:.78rem;font-weight:500}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.4rem;display:flex}.auth-field label{color:#334155;font-size:.82rem;font-weight:600}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:#94a3b8;pointer-events:none;display:flex;position:absolute;left:.85rem}.auth-input-wrap input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:.78rem 3.25rem .78rem 2.6rem;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input-wrap input:focus{background:#fff;border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #0ea5e924}.auth-input-wrap input::placeholder{color:#94a3b8}.auth-toggle-pw{color:#0284c7;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.35rem .5rem;font-size:.78rem;font-weight:600;transition:background .15s;position:absolute;right:.55rem}.auth-toggle-pw:hover{background:#0ea5e914}.auth-field-hint{color:#94a3b8;margin:0;font-size:.78rem}.auth-alert{color:#b91c1c;background:#ef444414;border:1px solid #ef44442e;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.86rem;font-weight:500;line-height:1.45;display:flex}.auth-alert svg{flex-shrink:0;margin-top:.1rem}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.88rem 1.5rem;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 16px #0ea5e959}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px #0ea5e96b}.auth-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-switch{text-align:center;color:#64748b;margin-top:1.15rem;font-size:.86rem}.auth-switch button{color:#0284c7;font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-footer-links{border-top:1px solid #f1f5f9;justify-content:center;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.auth-footer-links a{color:#64748b;font-size:.84rem;font-weight:500;transition:color .15s}.auth-footer-links a:hover{color:#0284c7}.auth-legal{text-align:center;color:#94a3b8;width:100%;max-width:420px;margin-top:1.25rem;font-size:.78rem;line-height:1.5}.auth-legal a{color:#64748b;font-weight:500}.auth-legal a:hover{color:#0284c7}.hero-copy h1,.page-header h1,.section h2,.quote-panel blockquote{font-family:var(--font-display);color:var(--black)}.hero-copy h1{font-size:clamp(2.4rem,4vw,4rem);line-height:1.02}.page-header h1{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.95rem,2.4vw + 1rem,2.75rem);line-height:1.14}.hero-text,.page-header-copy,.section p,.info-card p,.footer-copy,.login-aside p,.contact-card p,.status-message,.form-message,.login-hint{color:var(--muted);line-height:1.7}.hero-actions,.cta-actions{flex-wrap:wrap;gap:.85rem;margin-top:1.5rem;display:flex}.hero-panel,.stack-card,.info-card,.metric-card,.book-card,.pyq-card,.solver-card,.summary-card,.contact-card,.login-card,.login-aside,.coming-soon-panel,.quote-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-panel{padding:1.5rem}.panel-label,.panel-note,.book-meta,.pyq-card p,.solver-duration{color:var(--muted)}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0;display:grid}.metric-card,.summary-card{padding:1rem}.metric-card strong,.summary-card strong{font-family:var(--font-display);color:var(--black);font-size:1.7rem;display:block}.section{padding:1.5rem 0 4rem}.section-muted{background:linear-gradient(#e0f2fe73,#fff0)}.section-heading{margin-bottom:1.5rem}.section-heading h2,.split-panel h2,.coming-soon-panel h2,.contact-card h2,.login-aside h2{font-family:var(--font-display);color:var(--black);font-size:clamp(1.7rem,3vw,2.5rem)}.card-grid,.about-grid,.about-steps{gap:1rem;display:grid}.about-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up,.books-grid,.pyq-grid,.solver-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card,.book-card,.pyq-card,.solver-card{padding:1.35rem}.info-card h2,.info-card h3,.book-card h2,.pyq-card h2,.solver-card h2{font-family:var(--font-display);color:var(--black);margin-bottom:.75rem}.split-panel,.feature-panel{gap:1.5rem;display:grid}.split-panel{grid-template-columns:1.1fr .9fr;align-items:center}.stack-card,.quote-panel,.coming-soon-panel{padding:1.75rem}.stack-title{font-family:var(--font-display);color:var(--black);margin-bottom:.85rem}.stack-list li,.bullet-list li{color:var(--muted);margin-bottom:.65rem;padding-left:1.1rem;position:relative}.stack-list li:before,.bullet-list li:before{content:"";background:var(--sky-500);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.55rem;left:0}.cta-panel{border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg,#0ea5e91f,#fffffff2);border:1px solid #0ea5e92e;grid-template-columns:1.2fr auto;align-items:center;padding:1.75rem}.page-header{padding:3.25rem 0 1.75rem}.page-header .page-header-copy{max-width:40rem;color:color-mix(in srgb, var(--ink) 38%, var(--muted));margin-top:1.125rem;font-size:1.0625rem;line-height:1.65}.question-bank-switcher{padding:0 0 1.5rem}.dashboard-tab-list{background:#fffffff5;border:1px solid #0b122014;border-radius:999px;gap:.35rem;width:min(100%,420px);margin:0 auto;padding:.35rem;display:flex;box-shadow:0 14px 34px #0284c71f}.dashboard-tab-list .tab-button{min-height:44px;color:var(--muted);border-radius:999px;flex:1;padding:.7rem 1rem;font-size:.95rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.dashboard-tab-list .tab-button.active{background:linear-gradient(135deg, var(--sky-500), var(--sky-600));color:var(--white);box-shadow:0 10px 20px #0284c73d}.page-header-inner{align-items:end}.dashboard-section{padding-top:0}.book-detail-page{--font-detail-body:var(--font-body);--font-detail-display:var(--font-body);font-family:var(--font-body)}.book-detail-page .eyebrow,.book-detail-page .panel-label,.book-detail-page .book-detail-breadcrumb{font-family:var(--font-detail-body)}.book-detail-page .book-detail-copy h1,.book-detail-page .book-detail-intro h2,.book-detail-page .book-detail-resource-card h3,.book-detail-page .book-detail-stat strong{font-family:var(--font-detail-display);font-weight:600}.book-detail-page .book-detail-copy h1{letter-spacing:-.02em;font-weight:700}.book-detail-page .book-detail-intro h2{letter-spacing:-.015em}.book-detail-page .book-detail-lead,.book-detail-page .book-detail-resource-card p,.book-detail-page .book-detail-intro p,.book-detail-page .book-detail-breadcrumb,.book-detail-page .book-detail-stat span,.book-detail-page .book-detail-resource-tag,.book-detail-page .status-message{font-family:var(--font-detail-body)}.book-detail-page .book-detail-resource-mark,.book-detail-page .button{font-family:var(--font-detail-body);font-weight:700}.book-detail-hero{background:linear-gradient(180deg, color-mix(in srgb, var(--book-soft) 55%, white), transparent);border-bottom:1px solid color-mix(in srgb, var(--book-accent) 14%, transparent);padding:clamp(2.25rem,5vw,3.75rem) 0 clamp(1.5rem,3vw,2.25rem)}.book-detail-hero-inner{gap:1.5rem;display:grid}.book-detail-breadcrumb{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.78rem;font-weight:600;display:flex}.book-detail-breadcrumb a{color:var(--book-strong);font-weight:600}.book-detail-breadcrumb a:hover{color:var(--book-accent)}.book-detail-breadcrumb span:last-child{color:var(--black);font-weight:600}.book-detail-hero-layout{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:stretch;gap:clamp(1.25rem,3vw,2rem);display:grid}.book-detail-copy h1{color:var(--black);margin:.45rem 0 .9rem;font-size:clamp(2rem,4.4vw,3.25rem);line-height:1.05}.book-detail-lead{max-width:38rem;color:var(--muted);line-height:1.75}.book-detail-summary{background:var(--panel);border:1px solid color-mix(in srgb, var(--book-accent) 18%, transparent);border-radius:calc(var(--radius) + 2px);box-shadow:0 18px 44px color-mix(in srgb, var(--book-accent) 12%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:space-between;gap:1rem;padding:1.35rem;display:flex}.book-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.book-detail-stat{text-align:center;background:color-mix(in srgb, var(--book-soft) 54%, white);border-radius:14px;gap:.25rem;padding:.9rem .75rem;display:grid}.book-detail-stat strong{color:var(--black);font-size:clamp(1.25rem,2.4vw,1.6rem);display:block}.book-detail-stat span{color:var(--muted);font-size:.8rem}.book-detail-section{padding-top:2rem}.book-detail-intro{margin-bottom:1.75rem}.book-detail-resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.25rem;display:grid}.book-detail-resource-card{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);min-height:100%;box-shadow:0 18px 44px color-mix(in srgb, var(--book-accent) 11%, transparent);flex-direction:column;gap:.85rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.book-detail-resource-card:before{content:"";background:var(--book-accent);height:4px;position:absolute;top:0;left:0;right:0}.book-detail-resource-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.book-detail-resource-mark{background:color-mix(in srgb, var(--book-soft) 70%, white);width:2.85rem;height:2.85rem;color:var(--book-strong);letter-spacing:.08em;border-radius:14px;justify-content:center;align-items:center;font-size:.82rem;display:inline-flex}.book-detail-resource-tag{background:color-mix(in srgb, var(--book-soft) 72%, white);color:var(--book-strong);border-radius:999px;align-items:center;padding:.38rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.book-detail-resource-tag.is-coming-soon{color:var(--muted);background:#0b12200f;border:1px solid #0b12201a}.book-detail-modal-backdrop{z-index:80;background:#0b122073;place-items:center;padding:1.25rem;animation:.2s book-detail-modal-fade;display:grid;position:fixed;inset:0}.book-detail-modal{border-radius:var(--radius);background:var(--white);width:min(100%,420px);box-shadow:var(--shadow);border:1px solid var(--line);padding:1.5rem 1.5rem 1.25rem}.book-detail-modal h2{color:var(--ink);margin:0 0 .75rem;font-size:1.2rem;line-height:1.3}.book-detail-modal-copy{color:var(--muted);margin:0 0 1.25rem;font-size:.98rem;line-height:1.65}.book-detail-modal-close{width:100%}@keyframes book-detail-modal-fade{0%{opacity:0}to{opacity:1}}.oxford-module-chapters-actions{padding-bottom:2rem}.ch-grid{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ch-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;align-items:center;gap:.85rem;padding:1rem 1.15rem;text-decoration:none;transition:all .2s;display:flex}.ch-card:hover{border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 6px 18px #6366f114}.ch-card--empty{background:#fafbff;border-style:dashed;border-color:#e2e8f0}.ch-card--empty:hover{box-shadow:none;border-color:#cbd5e1;transform:none}.ch-num{color:#94a3b8;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:38px;height:38px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.ch-num--active{color:#fff;background:linear-gradient(135deg,#4338ca,#6366f1)}.ch-card:hover .ch-num--active{box-shadow:0 4px 10px #6366f14d}.ch-card-body{flex:1;min-width:0}.ch-card-body h3{color:#1e293b;margin:0 0 .3rem;font-size:.92rem;font-weight:600;line-height:1.35}.ch-card-meta{flex-wrap:wrap;gap:.4rem;display:flex}.ch-tag{letter-spacing:.01em;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.ch-tag--ready{color:#065f46;background:#d1fae5}.ch-tag--none{color:#94a3b8;background:#f1f5f9}.ch-tag--sub{color:#4338ca;background:#ede9fe}.ch-arrow{color:#cbd5e1;flex-shrink:0;transition:all .2s}.ch-card:hover .ch-arrow{color:#6366f1;transform:translate(3px)}.ch-card--empty .ch-arrow{color:#e2e8f0}.module-chapter-grid{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.module-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chapter-questions-coming-panel{max-width:40rem}.chapter-questions-coming-panel h2{font-family:var(--font-display);color:var(--black);margin:.75rem 0 .5rem;font-size:clamp(1.35rem,2.4vw,1.65rem)}.chapter-sub-back-wrap{margin-top:1.25rem;padding-bottom:2rem}.chapter-questions-list{flex-direction:column;gap:1.5rem;padding-bottom:2rem;display:flex}.chapter-question-progress{letter-spacing:.04em;color:var(--book-strong);background:color-mix(in srgb, var(--book-soft) 58%, white);border:1px solid color-mix(in srgb, var(--book-accent) 28%, transparent);border-radius:999px;align-self:flex-start;padding:.35rem .75rem;font-size:.78rem;font-weight:700}.chapter-question-stage{position:relative}.chapter-question-stage.is-transitioning .chapter-question-card{filter:blur(1.6px);opacity:.8;pointer-events:none}.chapter-question-next-overlay{border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b122038;place-items:center;animation:.2s chapter-question-next-fade;display:grid;position:absolute;inset:0}.chapter-question-next-overlay p{color:#fff;background:#0f172abf;border-radius:12px;margin:0;padding:.7rem 1rem;font-size:.95rem;font-weight:600}.chapter-question-complete{background:#ecf9f5;border:1px solid #10b98157;border-radius:12px;padding:1rem 1.1rem}.chapter-question-complete h3{color:#047857;margin:0 0 .35rem;font-size:1rem}.chapter-question-complete p{color:#065f46;margin:0}.chapter-question-nav{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.chapter-question-footer-nav{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.chapter-question-footer-actions{align-items:center;gap:.65rem;margin-left:auto;display:flex}.chapter-result-panel{border:1px solid color-mix(in srgb, var(--book-accent) 30%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--book-soft) 22%, white), color-mix(in srgb, var(--book-soft) 10%, white));border-radius:14px;padding:1rem 1.1rem}.chapter-result-panel h3{color:var(--black);margin:0 0 .8rem;font-size:1.05rem}.chapter-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.chapter-result-item{border:1px solid color-mix(in srgb, var(--book-accent) 18%, transparent);background:#fff;border-radius:10px;gap:.2rem;padding:.65rem .75rem;display:grid}.chapter-result-item span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.chapter-result-item strong{color:var(--black);font-size:1rem}.chapter-result-page{gap:1.15rem;max-width:980px;margin:0 auto;padding:.25rem 0 2.25rem;display:grid}.chapter-result-hero{border:1px solid color-mix(in srgb, var(--book-accent) 32%, transparent);background:linear-gradient(140deg, color-mix(in srgb, var(--book-soft) 32%, white), color-mix(in srgb, var(--book-soft) 10%, white));box-shadow:0 10px 24px color-mix(in srgb, var(--book-accent) 12%, transparent);border-radius:16px;padding:1.15rem 1.25rem}.chapter-result-hero h2{color:var(--black);letter-spacing:-.03em;margin:.3rem 0 .45rem;font-size:clamp(1.45rem,2.8vw,1.8rem)}.chapter-result-hero p{color:color-mix(in srgb, var(--muted) 94%, #0f172a);margin:0;line-height:1.55}.chapter-result-panel--full{box-shadow:0 8px 22px color-mix(in srgb, var(--book-accent) 10%, transparent);border-radius:16px;padding:1.2rem 1.25rem 1.25rem}.chapter-result-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.chapter-result-actions .button-secondary{margin-right:auto}.chapter-result-grid{gap:.8rem}.chapter-result-item{border:1px solid color-mix(in srgb, var(--book-accent) 22%, transparent);border-radius:12px;gap:.25rem;padding:.8rem .85rem;box-shadow:0 2px 8px #0f172a08}.chapter-result-item span{font-size:.7rem}.chapter-result-item strong{font-size:1.2rem;line-height:1.15}.chapter-result-item:first-child,.chapter-result-item:nth-child(2){background:linear-gradient(180deg, color-mix(in srgb, var(--book-soft) 26%, white), #fff)}@media (width<=820px){.chapter-question-footer-nav{flex-wrap:wrap}.chapter-question-footer-actions{justify-content:flex-end;width:100%;margin-left:0}.chapter-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-result-item strong{font-size:1.1rem}}@media (width<=560px){.chapter-result-page{gap:.95rem}.chapter-result-actions{justify-content:stretch}.chapter-result-actions .button-secondary{margin-right:0}.chapter-result-actions .button{width:100%}.chapter-result-grid{grid-template-columns:1fr}}@keyframes chapter-question-next-fade{0%{opacity:0}to{opacity:1}}.chapter-questions-empty{flex-direction:column;align-items:flex-start;gap:1.25rem;padding-bottom:2rem;display:flex}.chapter-questions-hint{max-width:42rem;color:var(--muted);margin:0;font-size:.98rem;line-height:1.65}.chapter-questions-code{color:var(--ink);word-break:break-all;background:#0b12200f;border-radius:6px;padding:.12rem .35rem;font-size:.85rem}.chapter-question-card{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--book-accent) 18%, transparent);background:linear-gradient(165deg, color-mix(in srgb, var(--book-soft) 32%, white) 0%, #fffffff7 55%);padding:1.5rem 1.5rem 1.35rem;box-shadow:0 12px 32px #0b12200f}.chapter-question-index{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem;font-size:.72rem;font-weight:700}.chapter-question-stem{color:var(--black);max-width:52rem;margin:0 0 1.15rem;font-size:clamp(1.05rem,2vw,1.2rem);font-weight:600;line-height:1.5}.chapter-question-choices{flex-direction:column;gap:.55rem;margin:0 0 1.1rem;padding:0;list-style:none;display:flex}.chapter-question-card label.chapter-question-choice{background:var(--white);cursor:pointer;width:100%;color:var(--ink);border:1px solid #0b12201a;border-radius:12px;flex-direction:row;align-items:flex-start;gap:.75rem;margin:0;padding:.75rem .9rem;font-weight:500;line-height:1.5;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.chapter-question-card label.chapter-question-choice:hover{border-color:color-mix(in srgb, var(--book-accent) 35%, transparent);background:color-mix(in srgb, var(--book-soft) 18%, white)}.chapter-question-card label.chapter-question-choice:has(input:checked){border-color:color-mix(in srgb, var(--book-accent) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--book-accent) 25%, transparent);background:color-mix(in srgb, var(--book-soft) 22%, white)}.chapter-question-card label.chapter-question-choice:has(input:disabled){cursor:default}.chapter-question-card label.chapter-question-choice input[type=radio]{width:1.125rem;min-width:1.125rem;height:1.125rem;accent-color:var(--sky-600);box-shadow:none;background:0 0;border:none;flex-shrink:0;align-self:flex-start;margin:.2rem 0 0;padding:0}.chapter-question-card label.chapter-question-choice>span{text-align:left;min-width:0;color:var(--ink);flex:1;font-weight:500}.chapter-question-choice-letter{color:var(--sky-600);margin-right:.15rem;font-weight:700}.chapter-question-card label.chapter-question-choice.is-correct-answer{background:#e2f7f0;border-color:#05966973;box-shadow:0 0 0 1px #10b9812e}.chapter-question-card label.chapter-question-choice.is-wrong-answer{background:#fef1e8;border-color:#ea580c73}.chapter-question-actions{margin-top:.35rem}.chapter-question-feedback{border-radius:12px;padding:1rem 1.1rem;font-size:.95rem;line-height:1.6}.chapter-question-feedback.is-correct{color:var(--ink);background:linear-gradient(135deg,#e2f7f0,#f1fbf7);border:1px solid #0596694d}.chapter-question-feedback.is-correct strong{color:#047857}.chapter-question-feedback.is-wrong{color:var(--ink);background:linear-gradient(135deg,#fef1e8,#fff8f3);border:1px solid #ea580c47}.chapter-question-feedback.is-wrong strong{color:#c2410c}.chapter-question-solution-line{background:#ffffff8c;border:1px solid #0b122014;border-radius:8px;margin:0 0 .5rem;padding:.65rem .75rem;font-size:.98rem;line-height:1.5}.chapter-question-feedback.is-correct .chapter-question-solution-line{background:#ecf9f5;border-color:#05966938}.chapter-question-feedback.is-wrong .chapter-question-solution-line{background:#fff4ec;border-color:#ea580c38}.chapter-question-feedback p{margin:0 0 .5rem}.chapter-question-feedback p:last-child{margin-bottom:0}.chapter-questions-back{align-self:flex-start}.book-detail-resource-card h3{color:var(--black);margin:0;font-size:clamp(1.25rem,2.3vw,1.45rem)}.book-detail-resource-card p{color:var(--muted);flex:1;margin:0;line-height:1.7}.book-detail-resource-card .button-book{background:linear-gradient(135deg, var(--book-accent), color-mix(in srgb, var(--book-accent) 78%, #0b1220));color:var(--white);box-shadow:0 12px 24px color-mix(in srgb, var(--book-accent) 28%, transparent);border-color:#0000;margin-top:auto}.book-detail-resource-card .button-book:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--book-accent) 92%, white), var(--book-accent))}.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.dashboard-summary-section{padding-top:0}.summary-card span{color:var(--muted);margin-bottom:.35rem;display:block}.dashboard-toolbar{margin-bottom:1.25rem}.tab-list{border:1px solid var(--line);background:#ffffffe6;border-radius:999px;gap:.5rem;padding:.35rem;display:inline-flex}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.7rem 1rem}.tab-button.active{background:var(--sky-500);color:var(--white)}.book-card,.pyq-card{flex-direction:column;display:flex;position:relative;overflow:hidden}.dashboard-catalog-grid{gap:1.25rem}.dashboard-card{border:1px solid color-mix(in srgb, var(--book-accent) 16%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--book-soft) 48%, white), #fffffff5);box-shadow:0 18px 44px color-mix(in srgb, var(--book-accent) 10%, transparent);gap:.85rem;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s}.dashboard-card:hover{border-color:color-mix(in srgb, var(--book-accent) 30%, transparent);box-shadow:0 24px 48px color-mix(in srgb, var(--book-accent) 16%, transparent);transform:translateY(-3px)}.dashboard-card-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dashboard-card-mark{background:color-mix(in srgb, var(--book-soft) 72%, white);min-width:2.85rem;height:2.85rem;color:var(--book-strong);letter-spacing:.08em;border-radius:14px;justify-content:center;align-items:center;padding:0 .45rem;font-size:.82rem;font-weight:700;display:inline-flex}.dashboard-card-title{margin:0;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.2}.dashboard-card-copy{color:var(--muted);flex:1;margin:0;line-height:1.7}.dashboard-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-card-stat{background:color-mix(in srgb, var(--book-soft) 54%, white);text-align:center;border-radius:14px;gap:.2rem;padding:.8rem .85rem;display:grid}.dashboard-card-stat strong{color:var(--black);font-size:1.15rem}.dashboard-card-stat span{color:var(--muted);font-size:.78rem}.dashboard-card .button-book{margin-top:.15rem}.book-card:before,.pyq-card:before{content:"";background:var(--book-accent);height:4px;position:absolute;top:0;left:0;right:0}.book-tone-sky{--book-accent:#0ea5e9;--book-soft:#e0f2fe;--book-strong:#0284c7}.book-tone-indigo{--book-accent:#4f46e5;--book-soft:#e0e7ff;--book-strong:#4338ca}.book-tone-cyan{--book-accent:#06b6d4;--book-soft:#cffafe;--book-strong:#0e7490}.book-tone-amber{--book-accent:#f59e0b;--book-soft:#fef3c7;--book-strong:#b45309}.book-tone-violet{--book-accent:#8b5cf6;--book-soft:#ede9fe;--book-strong:#6d28d9}.book-tone-emerald{--book-accent:#10b981;--book-soft:#d1fae5;--book-strong:#047857}.book-card .book-code,.pyq-card .book-code{background:var(--book-soft);color:var(--book-strong)}.pyq-card .pyq-year{background:color-mix(in srgb, var(--book-soft) 72%, white);color:var(--book-strong)}.pyq-copy{color:var(--muted);line-height:1.65}.pyq-meta{color:var(--muted);justify-content:space-between;gap:.75rem;margin:1rem 0;font-size:.92rem;display:flex}.pyq-card-footer{gap:.85rem;margin-top:auto;display:grid}.pyq-card h2{margin-bottom:.5rem}.book-card .book-level{background:color-mix(in srgb, var(--book-soft) 72%, white);color:var(--book-strong)}.book-card .button-book,.pyq-card .button-book{background:linear-gradient(135deg, var(--book-accent), color-mix(in srgb, var(--book-accent) 78%, #0b1220));color:var(--white);box-shadow:0 12px 24px color-mix(in srgb, var(--book-accent) 28%, transparent);border-color:#0000;margin-top:auto}.book-card .button-book:hover,.pyq-card .button-book:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--book-accent) 92%, white), var(--book-accent))}.book-card-top,.pyq-card-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.book-code,.book-level,.pyq-year,.difficulty,.coming-soon-badge{border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.book-code,.pyq-year{background:var(--sky-100);color:var(--sky-600)}.book-level,.difficulty{color:var(--black);background:#0b12200f}.difficulty.easy{color:#047857;background:#10b9811f}.difficulty.moderate{color:var(--sky-600);background:#0ea5e924}.difficulty.hard{color:#b91c1c;background:#ef44441f}.book-meta{justify-content:space-between;gap:.75rem;margin:1rem 0;font-size:.92rem;display:flex}.coming-soon-badge{background:var(--black);width:fit-content;color:var(--white);margin-bottom:1rem}.contact-grid,.login-layout{grid-template-columns:.9fr 1.1fr}.contact-card,.login-card,.login-aside{padding:1.5rem}.contact-form,.login-card{gap:1rem;display:grid}.contact-page{background:#f8fafc}.contact-hero-wrap{background:radial-gradient(70% 80% at 50% -20%,#0ea5e924 0%,#0000 55%),linear-gradient(#fff 0%,#f8fafc 100%);border-bottom:1px solid #e2e8f0;padding:3.5rem 0 2.5rem;position:relative;overflow:hidden}.contact-hero-glow{pointer-events:none;background:radial-gradient(circle,#38bdf833 0%,#0000 70%);border-radius:50%;width:600px;height:400px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.contact-hero{z-index:1;text-align:center;max-width:620px;margin:0 auto;position:relative}.contact-hero .v-pill{margin-bottom:1rem}.contact-title{font-family:var(--font-display);letter-spacing:-.03em;color:#0f172a;margin-bottom:.75rem;font-size:clamp(1.85rem,4vw,2.65rem);font-weight:800;line-height:1.15}.contact-subtitle{color:#64748b;font-size:1.02rem;line-height:1.7}.contact-body{padding:2.5rem 0}.contact-body .container{padding-bottom:.5rem}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.75rem;display:grid}.contact-info-panel{flex-direction:column;gap:1rem;display:flex}.contact-info-stack{flex-direction:column;gap:.75rem;display:flex}.contact-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:1rem;padding:1.1rem 1.2rem;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0f172a0a}.contact-info-card:hover{border-color:#bae6fd;transform:translateY(-2px);box-shadow:0 8px 24px #0ea5e91a}.contact-info-icon{color:#0284c7;background:linear-gradient(135deg,#0ea5e924,#0ea5e90d);border:1px solid #0ea5e91f;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.contact-info-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.2rem;font-size:.72rem;font-weight:600;display:block}.contact-info-value{color:#0f172a;font-size:.95rem;font-weight:600}a.contact-info-value:hover{color:#0284c7}.contact-info-topics{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem 1.35rem;box-shadow:0 1px 3px #0f172a0a}.contact-info-topics-title,.contact-quick-title{font-family:var(--font-display);color:#0f172a;margin-bottom:.75rem;font-size:.95rem;font-weight:700}.contact-info-topics ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.contact-info-topics li{color:#64748b;padding-left:1.15rem;font-size:.88rem;line-height:1.5;position:relative}.contact-info-topics li:before{content:"";background:#38bdf8;border-radius:999px;width:6px;height:6px;position:absolute;top:.55em;left:0}.contact-quick-links{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem 1.35rem;box-shadow:0 1px 3px #0f172a0a}.contact-quick-grid{flex-direction:column;gap:.6rem;display:flex}.contact-quick-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex}.contact-quick-card:hover{background:#fff;border-color:#bae6fd;transform:translate(4px)}.contact-quick-icon{color:#0284c7;background:#0ea5e91a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.contact-quick-text{flex-direction:column;flex:1;gap:.1rem;display:flex}.contact-quick-text strong{color:#0f172a;font-size:.9rem;font-weight:600}.contact-quick-text small{color:#94a3b8;font-size:.78rem}.contact-quick-arrow{color:#94a3b8;flex-shrink:0;transition:color .15s,transform .15s}.contact-quick-card:hover .contact-quick-arrow{color:#0284c7;transform:translate(2px)}.contact-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;box-shadow:0 1px 2px #0f172a0a,0 12px 40px #0f172a14}.contact-form-badge{color:#0284c7;letter-spacing:.04em;text-transform:uppercase;background:#0ea5e91a;border-radius:999px;margin-bottom:.75rem;padding:.28rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.contact-form-header h2{font-family:var(--font-display);letter-spacing:-.02em;color:#0f172a;margin-bottom:.35rem;font-size:1.45rem;font-weight:800}.contact-form-header p{color:#64748b;margin-bottom:1.5rem;font-size:.9rem;line-height:1.55}.contact-form-fields{flex-direction:column;gap:1rem;display:flex}.contact-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-field{flex-direction:column;gap:.4rem;display:flex}.contact-field label{color:#334155;font-size:.82rem;font-weight:600}.contact-input-wrap{align-items:center;display:flex;position:relative}.contact-input-wrap--textarea{align-items:flex-start}.contact-input-wrap--textarea .contact-input-icon{top:.85rem;transform:none}.contact-input-icon{color:#94a3b8;pointer-events:none;display:flex;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.contact-input-wrap input,.contact-input-wrap textarea{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:.78rem 1rem .78rem 2.6rem;font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.contact-input-wrap textarea{resize:vertical;min-height:140px;padding-top:.85rem}.contact-input-wrap input:focus,.contact-input-wrap textarea:focus{background:#fff;border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #0ea5e924}.contact-input-wrap input::placeholder,.contact-input-wrap textarea::placeholder{color:#94a3b8}.contact-alert{border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.86rem;font-weight:500;line-height:1.45;display:flex}.contact-alert svg{flex-shrink:0;margin-top:.1rem}.contact-alert-success{color:#047857;background:#10b98114;border:1px solid #10b98133}.contact-alert-error{color:#b91c1c;background:#ef444414;border:1px solid #ef44442e}.contact-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.88rem 1.5rem;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 16px #0ea5e959}.contact-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px #0ea5e96b}.contact-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.contact-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:999px;width:16px;height:16px;animation:.6s linear infinite contact-spin;display:inline-block}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-page-cta{text-align:center;background:linear-gradient(135deg,#0c4a6e 0%,#075985 42%,#0369a1 58%,#0ea5e9 100%);margin-top:0;padding:clamp(2.75rem,5vw,3.5rem) 0;position:relative;overflow:hidden}.contact-page-cta-bg{pointer-events:none;background:radial-gradient(at 25% 80%,#38bdf847 0%,#0000 55%),radial-gradient(at 75% 20%,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.contact-page-cta .container{z-index:1;position:relative}.contact-page-cta-inner{max-width:520px}.contact-page-cta .reveal{opacity:1;transform:none}.contact-page-cta .reveal.reveal--fade-up{opacity:0;transform:translateY(20px)}.contact-page-cta .reveal.reveal--fade-up.reveal--visible{opacity:1;transform:none}label{color:var(--black);gap:.45rem;font-weight:600;display:grid}input,textarea{border:1px solid var(--line);background:var(--white);width:100%;color:var(--black);border-radius:14px;padding:.85rem 1rem}input:focus,textarea:focus{border-color:var(--sky-400);outline:2px solid #0ea5e940}.form-message.success{color:#047857}.form-message.error,.status-message.error{color:#b91c1c}.site-footer{color:#ffffffc7;background:linear-gradient(#0f172a 0%,#0c1929 100%);margin-top:4rem;position:relative;overflow:hidden}.app-shell>main:has(.contact-page-cta)+.site-footer{margin-top:0}.site-footer:before{content:"";background:linear-gradient(90deg,#0284c7,#0ea5e9,#38bdf8);height:3px;position:absolute;top:0;left:0;right:0}.site-footer__glow{pointer-events:none;background:radial-gradient(#0ea5e926 0%,#0000 70%);width:600px;height:240px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.site-footer__inner{padding:3.5rem 0 1.75rem;position:relative}.site-footer__top{grid-template-columns:1.25fr 2fr;gap:3rem 2.5rem;margin-bottom:2.5rem;display:grid}.site-footer__logo{align-items:center;gap:.7rem;margin-bottom:1rem;text-decoration:none;display:inline-flex}.site-footer__logo .brand-mark{width:40px;height:40px}.site-footer__logo-text{line-height:1.1}.site-footer__logo-text strong{color:#fff;letter-spacing:-.02em;font-size:1.1rem;font-weight:800;display:block}.site-footer__logo-text small{color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:.55rem;font-weight:600;display:block}.site-footer__about{color:#ffffff8c;max-width:300px;margin-bottom:1.25rem;font-size:.88rem;line-height:1.65}.site-footer__socials{gap:.5rem;display:flex}.site-footer__social{color:#ffffffa6;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.site-footer__social:hover{color:#7dd3fc;background:#0ea5e933;border-color:#38bdf866;transform:translateY(-2px)}.site-footer__columns{grid-template-columns:repeat(3,1fr);gap:1.5rem 2rem;display:grid}.site-footer__col-title{letter-spacing:.1em;text-transform:uppercase;color:#ffffff61;margin-bottom:1rem;font-size:.7rem;font-weight:700}.site-footer__nav{flex-direction:column;gap:.55rem;display:flex}.site-footer__nav a{color:#ffffffad;width:fit-content;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .18s}.site-footer__nav a:hover{color:#38bdf8}.site-footer__promo{text-align:center;background:linear-gradient(145deg,#0ea5e924 0%,#ffffff0d 50%,#0284c714 100%);border:1px solid #38bdf847;border-radius:20px;max-width:640px;margin:0 auto 2.5rem;padding:2rem 2rem 1.75rem;box-shadow:0 8px 32px #0003}.site-footer__promo-badge{letter-spacing:.1em;text-transform:uppercase;color:#7dd3fc;background:#0ea5e926;border:1px solid #38bdf859;border-radius:999px;margin-bottom:1rem;padding:.35rem .9rem;font-size:.68rem;font-weight:700;display:inline-block}.site-footer__promo h3{color:#fff;letter-spacing:-.02em;margin-bottom:.65rem;font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:800;line-height:1.4}.site-footer__promo>p{color:#ffffff9e;max-width:480px;margin:0 auto 1.5rem;font-size:.92rem;line-height:1.65}.site-footer__promo-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;display:flex}.site-footer__promo-btn{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.15rem;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.site-footer__promo-btn--primary{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);box-shadow:0 4px 14px #0ea5e966}.site-footer__promo-btn--primary:hover{background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e980}.site-footer__promo-btn--ghost{color:#ffffffd9;background:0 0;border:1.5px solid #ffffff40}.site-footer__promo-btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#ffffff73}.site-footer__bar{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.site-footer__copy{color:#ffffff61;margin:0;font-size:.8rem}.site-footer__legal{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.site-footer__legal a{color:#ffffff73;font-size:.8rem;text-decoration:none;transition:color .18s}.site-footer__legal a:hover{color:#7dd3fc}.site-footer__dot{background:#ffffff40;border-radius:50%;width:3px;height:3px}@media (width<=900px){.site-footer__top{grid-template-columns:1fr;gap:2rem}.site-footer__columns{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.site-footer__inner{padding:2.5rem 0 1.5rem}.site-footer__columns{grid-template-columns:1fr 1fr;gap:1.5rem}.site-footer__col:last-child{grid-column:1/-1}.site-footer__promo{padding:1.5rem 1.25rem}.site-footer__promo-actions{flex-direction:column;align-items:stretch}.site-footer__promo-btn{justify-content:center;width:100%}.site-footer__bar{text-align:center;flex-direction:column;align-items:center}.site-footer__legal{justify-content:center}}@media (width<=400px){.site-footer__columns{grid-template-columns:1fr}.site-footer__col:last-child{grid-column:auto}}.v-legal-content{max-width:720px}.v-legal-content h2{color:#1e293b;margin:2rem 0 .5rem;font-size:1.15rem;font-weight:700}.v-legal-content h2:first-child{margin-top:0}.v-legal-content p{color:#475569;margin-bottom:.75rem;font-size:.92rem;line-height:1.7}.v-legal-content ul{margin:0 0 1rem;padding-left:1.25rem}.v-legal-content li{color:#475569;margin-bottom:.35rem;font-size:.92rem;line-height:1.7}.v-legal-content a{color:#4338ca;font-weight:500;text-decoration:none}.v-legal-content a:hover{text-decoration:underline}.footer-accent{background:linear-gradient(90deg, transparent, var(--sky-400), var(--sky-500), transparent);height:3px}.footer-shell{padding-top:2.75rem}.footer-top{grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:2rem 1.5rem;padding-bottom:2rem;display:grid}.footer-brand-link{align-items:center;gap:.85rem;margin-bottom:1rem;display:inline-flex}.footer-brand-mark{width:46px;height:46px}.footer-brand{font-family:var(--font-display);color:var(--white);font-size:1.35rem;display:block}.footer-tagline{color:var(--sky-300);margin-top:.15rem;font-size:.8rem;display:block}.footer-copy,.footer-note{color:#ffffffad;max-width:30rem;line-height:1.7}.footer-note{margin-top:.75rem;font-size:.94rem}.footer-heading{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:1rem;font-size:.82rem;font-weight:600}.footer-nav{gap:.7rem;display:grid}.footer-column{flex-direction:column;display:flex}.footer-contact-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.footer-contact-item{grid-template-columns:2.5rem 1fr;align-items:start;gap:.85rem;display:grid}.footer-contact-text{color:#ffffffc7;padding-top:.2rem;line-height:1.5;display:block}.footer-contact-line{display:block}.footer-contact-line+.footer-contact-line{color:#ffffff9e;margin-top:.15rem}.footer-contact-static{color:#ffffffc7}.footer-contact-icon{width:2.5rem;height:2.5rem;color:var(--sky-300);background:#0ea5e924;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.footer-contact-icon svg{width:1.05rem;height:1.05rem}.footer-contact-item:hover .footer-contact-text{color:var(--sky-300)}.footer-contact-static:hover .footer-contact-text{color:#ffffffc7}.footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.35rem;display:flex}.footer-bottom p,.footer-legal a{color:#ffffff94;font-size:.92rem}.footer-legal{flex-wrap:wrap;gap:1rem;display:flex}.footer-legal a:hover{color:var(--sky-300);transform:none}@media (width<=1100px){.navbar__item{padding:.5rem .6rem;font-size:.8rem}}@media (width<=960px){.navbar{padding:.5rem 0}.navbar__wrap{width:calc(100% - 1.25rem)}.navbar__brand-text small,.navbar__nav,.navbar__auth,.navbar__end>.navbar__actions{display:none}.navbar__row{grid-template-columns:1fr auto;column-gap:.75rem}.navbar__burger{display:inline-flex}.navbar__mobile{z-index:201;pointer-events:auto;opacity:0;visibility:hidden;background:#fff;flex-direction:column;transition:opacity .28s,transform .28s,visibility .28s;display:flex;position:fixed;inset:0;transform:translateY(-8px)}.navbar--open .navbar__mobile{opacity:1;visibility:visible;transform:translateY(0)}.navbar__mobile-top{background:linear-gradient(#f0f9ff 0%,#fff 100%);border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.navbar__brand--mobile .navbar__brand-text small{display:none}.navbar__mobile-close{color:#64748b;cursor:pointer;background:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .18s;display:flex;box-shadow:0 1px 4px #0f172a14}.navbar__mobile-close:hover{color:#0284c7;background:#e0f2fe}.navbar__mobile-nav{flex:1;padding:1.25rem;overflow-y:auto}.navbar__mobile-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.navbar__mobile-item{color:#1e293b;background:#fafbfc;border:1px solid #f1f5f9;border-radius:14px;align-items:center;gap:1rem;padding:1rem 1.1rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.navbar__mobile-item svg{color:#cbd5e1;flex-shrink:0;margin-left:auto;transition:color .2s,transform .2s}.navbar__mobile-item:hover{background:#f0f9ff;border-color:#bae6fd}.navbar__mobile-item:hover svg{color:#0ea5e9;transform:translate(3px)}.navbar__mobile-item--active{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.navbar__mobile-item--active svg{color:#0284c7}.navbar__mobile-index{color:#94a3b8;letter-spacing:.05em;min-width:1.5rem;font-size:.72rem;font-weight:700}.navbar__mobile-item--active .navbar__mobile-index{color:#0ea5e9}.navbar__mobile-label{flex:1}.navbar__mobile-foot{background:#f8fafc;border-top:1px solid #f1f5f9;flex-direction:column;gap:.65rem;padding:1.25rem;display:flex}.navbar__profile--mobile{justify-content:flex-start;width:100%;margin-bottom:.25rem;padding:.65rem 1rem}.navbar__scrim{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0f172a59;border:0;transition:opacity .28s;display:block;position:fixed;inset:0}.navbar--open .navbar__scrim{opacity:1;pointer-events:auto}.hero-grid,.split-panel,.feature-panel,.home-seo-shell,.library-preview-shell,.home-quick-links-grid,.three-up,.about-steps,.about-grid,.books-grid,.pyq-grid,.book-reference-grid,.solver-grid,.dashboard-summary,.contact-grid,.login-layout,.cta-panel,.home-cta,.footer-top,.contact-layout,.contact-form-row{grid-template-columns:1fr}.contact-form-card{padding:1.5rem}.contact-submit{align-self:stretch}.lib-resource-grid{grid-template-columns:1fr 1fr}.lib-roadmap-inner{grid-template-columns:1fr;gap:1.5rem}.auth-page{padding:2rem 0 3rem}.hero-actions,.cta-actions,.home-cta-actions,.feature-panel-actions,.home-inline-actions,.home-action-bar,.hero-actions .button,.cta-actions .button,.home-cta-actions .button,.feature-panel-actions .button,.home-inline-actions .button,.home-action-bar .button{width:100%}.cta-actions,.home-cta-actions{flex-direction:column}.dashboard-tab-list{width:100%}.hero,.page-header{padding-top:2.5rem}.section,.home-section{padding:2rem 0 2.75rem}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (width>=641px) and (width<=960px){.three-up,.books-grid,.pyq-grid,.home-seo-shell,.library-preview-shell,.about-grid,.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.container{width:min(100% - 1.25rem,1120px)}.hero-copy h1,.book-detail-copy h1{font-size:clamp(1.85rem,8vw,2.35rem);line-height:1.08}.page-header h1{text-wrap:balance;font-size:clamp(1.65rem,5.5vw,2.15rem);line-height:1.12}.page-header .page-header-copy{margin-top:1rem;font-size:1rem}.book-detail-hero-layout,.book-detail-stats,.hero-metrics,.dashboard-summary{grid-template-columns:1fr}.hero-panel,.stack-card,.coming-soon-panel,.contact-card,.login-card,.login-aside,.cta-panel,.home-cta,.quote-panel{padding:1.15rem}.section,.home-section,.section-seo{padding:1.5rem 0 2.25rem}.section-intro,.section-heading{margin-bottom:1.15rem}.library-resource-grid,.lib-resource-grid{grid-template-columns:1fr}.brand small{display:none}.tab-list{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;overflow-x:auto}.tab-button{flex:none}}.section-seo{padding-top:0}.seo-content h2{font-family:var(--font-display);color:var(--black);margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.2rem)}.seo-copy{gap:1rem;max-width:52rem;display:grid}.seo-copy p,.seo-copy li,.seo-faq-item p{color:var(--muted);line-height:1.75}.seo-copy h3{font-family:var(--font-display);color:var(--black);margin-top:.35rem;font-size:1.15rem}.seo-faq{gap:1rem;margin-top:.5rem;display:grid}.seo-faq-item{border:1px solid var(--line);background:#ffffffe0;border-radius:16px;padding:1rem 1.1rem}.seo-faq-item h3{font-family:var(--font-display);color:var(--black);margin-bottom:.45rem;font-size:1.05rem}.adm-auth-gate{color:#64748b;background:#f1f5f9;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;font-size:.9rem;font-weight:500;display:flex}.adm-auth-gate-spinner{border:3px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite contact-spin}.adm-auth-page{background:radial-gradient(80% 50% at 50% -10%,#0ea5e933 0%,#0000 55%),linear-gradient(160deg,#0f172a 0%,#0c4a6e 45%,#0369a1 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex;position:relative;overflow:hidden}.adm-auth-bg{pointer-events:none;position:absolute;inset:0}.adm-auth-orb{filter:blur(60px);border-radius:50%;position:absolute}.adm-auth-orb--1{background:#38bdf840;width:320px;height:320px;top:-10%;left:-5%}.adm-auth-orb--2{background:#0ea5e92e;width:380px;height:380px;bottom:-15%;right:-8%}.adm-auth-shell{z-index:1;width:100%;max-width:440px;position:relative}.adm-auth-card{background:#fff;border:1px solid #fff3;border-radius:20px;padding:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0f,0 24px 56px #0f172a47}.adm-auth-card:before{content:"";background:linear-gradient(90deg,#0284c7,#0ea5e9,#38bdf8);height:3px;position:absolute;top:0;left:0;right:0}.adm-auth-head{text-align:center;background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #f1f5f9;padding:1.75rem 2rem 1.5rem}.adm-auth-brand{justify-content:center;align-items:center;gap:.65rem;margin-bottom:1.25rem;text-decoration:none;display:inline-flex}.adm-auth-brand .brand-mark{width:42px;height:42px}.adm-auth-brand span{font-family:var(--font-display);color:#0f172a;letter-spacing:-.03em;font-size:1.25rem;font-weight:800}.adm-auth-head-body{flex-direction:column;align-items:center;gap:.4rem;display:flex}.adm-auth-head h1{font-family:var(--font-display);letter-spacing:-.02em;color:#0f172a;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:1.35rem;font-weight:800;line-height:1.3;display:inline-flex}.adm-auth-head-icon{color:#0284c7;background:linear-gradient(135deg,#0ea5e926,#0ea5e90d);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.adm-auth-head-icon svg{display:block}.adm-auth-head p{color:#64748b;max-width:280px;margin:0;font-size:.86rem;line-height:1.5}.adm-auth-form{flex-direction:column;gap:1rem;padding:1.5rem 2rem 0;display:flex}.adm-auth-field{flex-direction:column;gap:.4rem;display:flex}.adm-auth-field label{color:#334155;font-size:.82rem;font-weight:600}.adm-auth-input-wrap{align-items:center;display:flex;position:relative}.adm-auth-input-icon{color:#94a3b8;pointer-events:none;display:flex;position:absolute;left:.85rem}.adm-auth-input-wrap input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:.78rem 3.25rem .78rem 2.6rem;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.adm-auth-input-wrap input:focus{background:#fff;border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #0ea5e924}.adm-auth-input-wrap input::placeholder{color:#94a3b8}.adm-auth-toggle-pw{color:#0284c7;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.35rem .5rem;font-size:.78rem;font-weight:600;position:absolute;right:.55rem}.adm-auth-toggle-pw:hover{background:#0ea5e914}.adm-auth-alert{color:#b91c1c;background:#ef444414;border:1px solid #ef44442e;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.86rem;font-weight:500;line-height:1.45;display:flex}.adm-auth-alert svg{flex-shrink:0;margin-top:.1rem}.adm-auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.88rem 1.5rem;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 16px #0ea5e959}.adm-auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px #0ea5e96b}.adm-auth-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.adm-auth-foot{text-align:center;border-top:1px solid #f1f5f9;margin-top:1.25rem;padding:1.25rem 2rem 1.75rem}.adm-auth-foot a{color:#64748b;font-size:.86rem;font-weight:500;text-decoration:none;transition:color .15s}.adm-auth-foot a:hover{color:#0284c7}.adm-auth-note{text-align:center;color:#ffffff8c;margin-top:1rem;font-size:.78rem}@media (width<=480px){.adm-auth-page{padding:1.25rem 1rem}.adm-auth-card{border-radius:16px}.adm-auth-head{padding:1.35rem 1.25rem 1.15rem}.adm-auth-form,.adm-auth-foot{padding-left:1.25rem;padding-right:1.25rem}.adm-auth-foot{padding-bottom:1.35rem}}.adm-field label{color:#374151;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.adm-field input,.adm-field select,.adm-field textarea{border:1.5px solid #e5e7eb;border-radius:.6rem;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s}.adm-field input:focus,.adm-field select:focus,.adm-field textarea:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91f}.adm-alert{border-radius:.5rem;padding:.75rem 1rem;font-size:.85rem}.adm-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.adm-alert-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.adm-alert-info{color:#0c4a6e;background:#f0f9ff;border:1px solid #bae6fd}.adm-form-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.adm-field-check{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;width:fit-content;max-width:100%;margin:0 0 .75rem;padding:.35rem 0;font-size:.88rem;font-weight:500;display:inline-flex}.adm-field-check input[type=checkbox]{accent-color:#0ea5e9;cursor:pointer;border-radius:4px;flex-shrink:0;width:1.05rem;min-width:1.05rem;height:1.05rem;margin:0;padding:0}.adm-chapter-add-panel{border-bottom:1px solid #f3f4f6}.adm-chapter-key-preview{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;padding:.65rem .85rem;font-size:.85rem;display:flex}.adm-chapter-key-preview code{color:#0f172a;word-break:break-all;font-family:ui-monospace,monospace}.adm-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .15s;display:inline-flex}.adm-btn:hover{background:#f9fafb;border-color:#d1d5db}.adm-btn-primary{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none}.adm-btn-primary:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0ea5e959}.adm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.adm-btn-danger{color:#dc2626;border-color:#fecaca}.adm-btn-danger:hover{background:#fef2f2}.adm-btn-sm{padding:.4rem .85rem;font-size:.8rem}.adm-layout{background:#f5f3ff;min-height:100vh;display:flex}.adm-sidebar{color:#fff;z-index:1000;background:#1e1b4b;flex-direction:column;width:260px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0}.adm-sidebar-head{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.5rem 1.25rem;display:flex}.adm-sidebar-brand{color:#fff;align-items:center;gap:.75rem;text-decoration:none;display:flex}.adm-sidebar-brand-text{flex-direction:column;display:flex}.adm-sidebar-brand strong{font-size:1.1rem}.adm-sidebar-brand small{opacity:.7;font-size:.7rem}.adm-sidebar-logo-mark.brand-mark{background:#fff;border-radius:50%;flex-shrink:0;width:38px;height:38px;overflow:hidden;box-shadow:0 2px 8px #0003}.adm-sidebar-logo-mark.brand-mark img{object-fit:contain;width:100%;height:100%}.adm-sidebar-close{color:#fff;cursor:pointer;background:0 0;border:none;display:none}.adm-sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.adm-nav-link{color:#ffffffbf;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.6rem;align-items:center;gap:.75rem;width:100%;padding:.7rem 1rem;font-size:.9rem;text-decoration:none;transition:all .15s;display:flex}.adm-nav-link:hover{color:#fff;background:#ffffff14}.adm-nav-link.active{color:#fff;background:#6366f14d;font-weight:500}.adm-sidebar-foot{border-top:1px solid #ffffff1a;padding:.75rem}.adm-logout-btn{color:#fff9!important}.adm-logout-btn:hover{color:#f87171!important;background:#f871711a!important}.adm-overlay{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.adm-main{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.adm-topbar{z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.adm-menu-btn{color:#374151;cursor:pointer;background:0 0;border:none;display:none}.adm-topbar-title{color:#374151;font-size:1rem;font-weight:600}.adm-content{flex:1;padding:1.5rem}.adm-stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.adm-stat-card{background:#fff;border-left:4px solid #0000;border-radius:.85rem;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.adm-stat-sky{border-left-color:#0ea5e9}.adm-stat-indigo{border-left-color:#6366f1}.adm-stat-amber{border-left-color:#f59e0b}.adm-stat-cyan{border-left-color:#06b6d4}.adm-stat-emerald{border-left-color:#10b981}.adm-stat-violet{border-left-color:#8b5cf6}.adm-stat-rose{border-left-color:#f43f5e}.adm-stat-slate{border-left-color:#64748b}.adm-stat-value{color:#1e1b4b;margin-bottom:.3rem;font-size:1.75rem;font-weight:700;line-height:1}.adm-stat-label{color:#6b7280;font-size:.8rem;font-weight:500}.adm-card{background:#fff;border-radius:.85rem;overflow:hidden;box-shadow:0 1px 3px #0000000f}.adm-card-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.adm-card-head h2{color:#1e1b4b;font-size:1rem;font-weight:600}.adm-card-action{color:#6366f1;font-size:.8rem;font-weight:500;text-decoration:none}.adm-card-action:hover{text-decoration:underline}.adm-card-body{padding:1.25rem}.adm-clickable{cursor:pointer}.adm-clickable:hover{background:#f9fafb}.adm-expand-icon{color:#9ca3af;font-size:.8rem}.adm-charts-section{margin-bottom:1.5rem}.adm-section-head{margin-bottom:1rem}.adm-section-head h2{color:#1e1b4b;margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.adm-section-head p{color:#6b7280;margin:0;font-size:.85rem}.adm-charts-row-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem;display:grid}.adm-chart-card .adm-card-head{flex-wrap:wrap;gap:.25rem .75rem}.adm-card-head--stack h3{color:#1e1b4b;margin:0 0 .2rem;font-size:.95rem;font-weight:600}.adm-chart-subtitle{color:#94a3b8;margin:0;font-size:.75rem;font-weight:500}.adm-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.adm-chart-card .adm-card-head h3{color:#1e1b4b;margin:0;font-size:.95rem;font-weight:600}.adm-chart-card--wide{grid-column:span 2}.adm-chart-body{min-height:280px}.adm-chart-empty{text-align:center;color:#94a3b8;justify-content:center;align-items:center;min-height:240px;margin:0;padding:1rem;font-size:.875rem;display:flex}.adm-chart-tooltip{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.5rem .75rem;font-size:.8rem;box-shadow:0 8px 24px #0f172a1a}.adm-chart-tooltip-label{color:#1e1b4b;margin:0 0 .35rem;font-weight:600}.adm-chart-tooltip p{color:#475569;margin:.15rem 0}.adm-chart-tooltip p span{font-weight:500}.adm-dashboard-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}.adm-quick-actions{flex-direction:column;gap:.75rem;display:flex}.adm-quick-btn{color:#4338ca;background:#f5f3ff;border-radius:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:block}.adm-quick-btn:hover{background:#ede9fe}.adm-table{border-collapse:collapse;width:100%;font-size:.85rem}.adm-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f3f4f6;padding:.6rem .75rem;font-size:.75rem;font-weight:600}.adm-table td{color:#374151;border-bottom:1px solid #f9fafb;padding:.6rem .75rem}.adm-table tbody tr:hover{background:#fafafa}.adm-badge{text-transform:capitalize;border-radius:9999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.adm-badge-login{color:#065f46;background:#d1fae5}.adm-badge-admin_login{color:#4338ca;background:#ede9fe}.adm-badge-contact{color:#92400e;background:#fef3c7}.adm-badge-content_update{color:#1e40af;background:#dbeafe}.adm-badge-info{color:#4338ca;background:#ede9fe}.adm-text-muted{color:#9ca3af}.adm-text-mono{font-family:monospace;font-size:.8rem}.adm-text-nowrap{white-space:nowrap}.adm-mb{margin-bottom:1rem}.adm-loading{text-align:center;color:#6b7280;padding:2rem}.adm-empty{color:#9ca3af;text-align:center;padding:1.5rem;font-size:.9rem}.adm-search-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.adm-search-bar--chapters{flex:1;min-width:0}.adm-chapter-search{border:1.5px solid #e5e7eb;border-radius:.5rem;flex:1;min-width:min(100%,220px);max-width:360px;padding:.4rem .75rem;font-size:.85rem}.adm-chapter-search:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91f}.adm-chapter-count{white-space:nowrap}.adm-search-bar input{border:1.5px solid #e5e7eb;border-radius:.5rem;width:200px;padding:.4rem .75rem;font-size:.85rem}.adm-search-bar input:focus{border-color:#6366f1;outline:none}.adm-select{background:#fff;border:1.5px solid #e5e7eb;border-radius:.5rem;padding:.4rem .75rem;font-size:.85rem}.adm-inline-input{border:1.5px solid #6366f1;border-radius:.4rem;width:100%;padding:.35rem .6rem;font-size:.85rem}.adm-inline-textarea{resize:vertical;min-height:60px}.adm-action-group{align-items:center;gap:.4rem;display:flex}.adm-question-item{border:1px solid #f3f4f6;border-radius:.6rem;margin-bottom:.75rem;padding:1rem}.adm-question-head{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.adm-question-num{color:#4338ca;background:#ede9fe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;height:32px;font-size:.75rem;font-weight:700;display:inline-flex}.adm-question-stem{color:#1e1b4b;font-size:.9rem;line-height:1.5}.adm-question-choices{grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.75rem;padding-left:2.5rem;display:grid}.adm-choice{background:#f9fafb;border-radius:.35rem;padding:.4rem .6rem;font-size:.8rem}.adm-choice-correct{color:#065f46;background:#d1fae5;font-weight:500}.adm-question-foot{justify-content:space-between;align-items:center;padding-left:2.5rem;display:flex}.adm-add-paper{border-top:1px solid #f3f4f6;margin-top:1rem;padding-top:1rem}.adm-add-paper h3{margin-bottom:.5rem;font-size:.9rem;font-weight:600}.adm-add-paper-row{gap:.5rem;display:flex}.adm-add-paper-row input{border:1.5px solid #e5e7eb;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-size:.85rem}.adm-add-paper-row input:focus{border-color:#6366f1;outline:none}.adm-add-form{flex-direction:column;gap:1rem;display:flex}.adm-add-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.adm-choices-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.adm-page-head{margin-bottom:1.5rem}.adm-page-head h1{color:#1e1b4b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.adm-page-head p{color:#6b7280;font-size:.9rem}@media (width<=1024px){.adm-charts-row-hero,.adm-charts-grid{grid-template-columns:1fr}.adm-chart-card--wide{grid-column:span 1}.adm-dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.adm-sidebar{transform:translate(-100%)}.adm-sidebar.is-open{transform:translate(0)}.adm-sidebar-close,.adm-overlay{display:block}.adm-main{margin-left:0}.adm-menu-btn{display:block}.adm-stats-grid{grid-template-columns:1fr 1fr}.adm-question-choices{grid-template-columns:1fr}.adm-add-paper-row{flex-direction:column}.adm-table{font-size:.75rem}}.pyq-section-wrap{position:relative}.pyq-blurred{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.pyq-login-overlay{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pyq-login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#fffffff2;border:1px solid #6366f126;border-radius:1.25rem;max-width:380px;padding:2.5rem;box-shadow:0 20px 50px #0000001f}.pyq-login-icon{color:#4338ca;background:linear-gradient(135deg,#ede9fe,#dbeafe);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;display:inline-flex}.pyq-login-card h3,.pyq-modal h3{color:#1e1b4b;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.pyq-login-card p,.pyq-modal p{color:#6b7280;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.pyq-login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4338ca,#6366f1);border:none;border-radius:.7rem;width:100%;margin-bottom:.75rem;padding:.85rem;font-size:.95rem;font-weight:600;transition:all .2s;display:block}.pyq-login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.pyq-login-link{color:#6366f1;cursor:pointer;background:0 0;border:none;margin:0 auto;font-size:.8rem;font-weight:500;display:block}.pyq-login-link:hover{text-decoration:underline}.pyq-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.pyq-modal{text-align:center;background:#fff;border-radius:1.25rem;width:100%;max-width:400px;padding:2.5rem;animation:.25s ease-out pyqModalIn;box-shadow:0 25px 60px #0003}@keyframes pyqModalIn{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.pyq-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin:.5rem auto 0;font-size:.85rem;display:block}.pyq-modal-close:hover{color:#6b7280}.wa-float{z-index:9999;color:#fff;background:#25d366;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .25s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 14px #25d36666}.wa-float:hover{background:#20bd5a;transform:translateY(-3px);box-shadow:0 8px 24px #25d36680}.wa-float svg{flex-shrink:0}.wa-float-label{white-space:nowrap}@media (width<=480px){.wa-float{padding:.7rem;bottom:1rem;right:1rem}.wa-float-label{display:none}}.login-google-wrap{justify-content:center;margin-bottom:.5rem;display:flex}.login-google-btn{justify-content:center;width:100%;display:flex}.login-divider{color:#9ca3af;align-items:center;gap:1rem;margin:1rem 0;font-size:.8rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.login-mode-switch{text-align:center;color:#6b7280;margin-top:1.25rem;font-size:.85rem}.login-mode-btn{color:#4338ca;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.login-mode-btn:hover{text-decoration:underline}.profile-page{min-height:60vh;padding:3rem 1.5rem}.profile-container{max-width:800px;margin:0 auto}.profile-header{align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.profile-avatar{color:#fff;background:linear-gradient(135deg,#4338ca,#6366f1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.8rem;font-weight:700;display:flex}.profile-header-info h1{color:#1e1b4b;margin-bottom:.2rem;font-size:1.5rem;font-weight:700}.profile-email{color:#6b7280;font-size:.9rem}.profile-loading{text-align:center;color:#6b7280;padding:3rem}.profile-cards{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.profile-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000f}.profile-card-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.profile-card-head h2{color:#1e1b4b;font-size:1rem;font-weight:600}.profile-edit-btn{color:#4338ca;cursor:pointer;background:0 0;border:1.5px solid #e5e7eb;border-radius:.5rem;padding:.35rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s}.profile-edit-btn:hover{background:#f5f3ff;border-color:#c7d2fe}.profile-card-body{padding:1.5rem}.profile-info-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.profile-info-row:last-of-type{border-bottom:none}.profile-label{color:#6b7280;font-size:.85rem;font-weight:500}.profile-value{color:#1e1b4b;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.profile-badge{color:#4338ca;background:#ede9fe;border-radius:9999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.profile-badge-google{color:#065f46;background:#d1fae5}.profile-input{border:1.5px solid #6366f1;border-radius:.5rem;width:220px;padding:.5rem .75rem;font-size:.85rem}.profile-edit-actions{border-top:1px solid #f3f4f6;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.profile-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4338ca,#6366f1);border:none;border-radius:.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500}.profile-save-btn:hover{box-shadow:0 4px 12px #6366f14d}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:.5rem;padding:.5rem 1.25rem;font-size:.85rem}.profile-cancel-btn:hover{background:#f9fafb}.profile-message{color:#065f46;background:#d1fae5;border-radius:.5rem;margin-top:.75rem;padding:.6rem .85rem;font-size:.8rem}.profile-actions{flex-direction:column;gap:.5rem;display:flex}.profile-action-btn{color:#4338ca;cursor:pointer;text-align:left;background:#f5f3ff;border:none;border-radius:.6rem;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.profile-action-btn:hover{background:#ede9fe}.profile-action-logout{color:#dc2626;background:#fef2f2}.profile-action-logout:hover{background:#fee2e2}@media (width<=768px){.profile-cards{grid-template-columns:1fr}.profile-header{text-align:center;flex-direction:column}.profile-info-row{flex-direction:column;align-items:flex-start;gap:.35rem}.profile-input{width:100%}}.v-btn{cursor:pointer;border:none;border-radius:.6rem;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.9rem;font-weight:600;line-height:1.4;text-decoration:none;transition:all .2s;display:inline-flex}.v-btn-primary{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);box-shadow:0 4px 14px #0ea5e947}.v-btn-primary:hover{background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);transform:translateY(-1px);box-shadow:0 8px 24px #0ea5e961}.v-btn-ghost{color:#374151;background:#fff;border:1.5px solid #e5e7eb}.v-btn-ghost:hover{background:#f5f3ff;border-color:#c7d2fe}.v-btn-white{color:#0369a1;background:#fff}.v-btn-white:hover{background:#f0f9ff;transform:translateY(-1px)}.v-btn-outline-w{color:#fff;background:0 0;border:1.5px solid #fff6}.v-btn-outline-w:hover{background:#ffffff1a;border-color:#fff}.v-btn-full{justify-content:center;width:100%}.v-pill{color:#0369a1;text-transform:uppercase;letter-spacing:.06em;background:#0ea5e91a;border-radius:9999px;margin-bottom:.75rem;padding:.3rem .85rem;font-size:.72rem;font-weight:700;display:inline-block}.v-badge{color:#4338ca;background:#ede9fe;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:.4rem 1rem;font-size:.78rem;font-weight:600;display:inline-flex}.v-gradient{background:linear-gradient(135deg,#0284c7,#0ea5e9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.v-sec-head{text-align:center;margin-bottom:3rem}.v-sec-head h2{color:#0f172a;letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.85rem;font-weight:800}.v-sec-head p{color:#64748b;max-width:540px;margin:0 auto;font-size:1rem;line-height:1.6}.v-section{padding:4.5rem 0}.v-section-alt{background:#f8fafc}.v-field{margin-bottom:1rem}.v-field label{color:#374151;margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.v-field input,.v-field textarea{background:#fff;border:1.5px solid #e5e7eb;border-radius:.55rem;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.v-field input:focus,.v-field textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.v-alert{border-radius:.5rem;margin-bottom:1rem;padding:.65rem 1rem;font-size:.85rem}.v-alert-ok{color:#065f46;background:#d1fae5}.v-alert-err{color:#991b1b;background:#fee2e2}.home-page{--home-accent:#0ea5e9;--home-accent-dark:#0284c7;--home-ink:#0f172a;--home-muted:#64748b;--home-line:#e2e8f0;--home-surface:#fff;--home-muted-bg:#f8fafc}.home-hero{background:linear-gradient(#f8fbff 0%,#fff 100%);padding:4.5rem 0 5rem;position:relative;overflow:hidden}.home-hero-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.home-hero-grid-pattern{background-image:linear-gradient(#0ea5e90a 1px,#0000 1px),linear-gradient(90deg,#0ea5e90a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 0,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 0,#000 20%,#0000 75%)}.home-hero-orb{filter:blur(80px);opacity:.45;border-radius:50%;position:absolute}.home-hero-orb--1{background:#0ea5e92e;width:420px;height:420px;top:-120px;right:-80px}.home-hero-orb--2{background:#6366f11f;width:320px;height:320px;bottom:-60px;left:-40px}.home-hero-inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:3.5rem;display:grid;position:relative}.home-hero-badge{color:#0369a1;background:#0ea5e914;border:1px solid #0ea5e92e;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.35rem;padding:.4rem .95rem;font-size:.8rem;font-weight:600;display:inline-flex}.home-hero-badge-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #22c55e40}.home-hero-copy h1{color:var(--home-ink);letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(2.1rem,4.5vw,3.15rem);font-weight:800;line-height:1.12}.home-hero-accent{background:linear-gradient(135deg,#0284c7 0%,#0ea5e9 55%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.home-hero-lead{color:#475569;max-width:520px;margin-bottom:2rem;font-size:1.08rem;line-height:1.75}.home-hero-cta{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.home-hero-refs{flex-wrap:wrap;gap:.5rem;display:flex}.home-hero-ref{color:#64748b;border:1px solid var(--home-line);letter-spacing:.02em;background:#fff;border-radius:6px;padding:.3rem .75rem;font-size:.72rem;font-weight:600}.home-hero-preview{justify-content:center;align-items:center;min-height:380px;display:flex;position:relative}.home-preview-card{border:1px solid var(--home-line);background:#fff;border-radius:16px;width:100%;max-width:380px;padding:1.25rem;box-shadow:0 1px 2px #0f172a0a,0 20px 50px #0f172a14}.home-preview-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.home-preview-dots{gap:5px;display:flex}.home-preview-dots span{background:#e2e8f0;border-radius:50%;width:8px;height:8px}.home-preview-dots span:first-child{background:#fca5a5}.home-preview-dots span:nth-child(2){background:#fcd34d}.home-preview-dots span:nth-child(3){background:#86efac}.home-preview-title{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.home-preview-subject{align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.home-preview-subject-icon{color:#4338ca;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.72rem;font-weight:800;display:flex}.home-preview-subject strong{color:#1e293b;font-size:.92rem;display:block}.home-preview-subject small{color:#94a3b8;font-size:.72rem}.home-preview-progress{color:#0ea5e9;margin-left:auto;font-size:.78rem;font-weight:700}.home-preview-bar{background:#f1f5f9;border-radius:999px;height:5px;margin-bottom:1.15rem;overflow:hidden}.home-preview-bar-fill{background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:999px;height:100%}.home-preview-question{background:#f8fafc;border-radius:12px;margin-bottom:1rem;padding:1rem}.home-preview-q-label{color:#0ea5e9;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:inline-block}.home-preview-question p{color:#334155;margin-bottom:.75rem;font-size:.82rem;font-weight:600;line-height:1.5}.home-preview-options{flex-direction:column;gap:.35rem;display:flex}.home-preview-opt{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .65rem;font-size:.75rem}.home-preview-opt--active{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc;font-weight:600}.home-preview-footer{color:#94a3b8;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.home-preview-check{color:#16a34a;font-weight:600}.home-float{border:1px solid var(--home-line);background:#fff;border-radius:12px;padding:.75rem 1rem;line-height:1.2;position:absolute;box-shadow:0 8px 24px #0f172a14}.home-float strong{color:var(--home-ink);font-size:1.1rem;font-weight:800;display:block}.home-float small{color:#94a3b8;font-size:.72rem}.home-float--stats{animation:4s ease-in-out infinite home-float;top:8%;left:-12px}.home-float--pyq{animation:4s ease-in-out 1.5s infinite home-float;bottom:12%;right:-16px}@keyframes home-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.home-metrics{z-index:2;margin-top:-2.5rem;padding:0;position:relative}.home-metrics-grid{border:1px solid var(--home-line);background:#fff;border-radius:16px;grid-template-columns:repeat(4,1fr);gap:0;display:grid;overflow:hidden;box-shadow:0 12px 40px #0f172a0f}.home-metric{text-align:center;border-right:1px solid #f1f5f9;padding:1.5rem 1rem}.home-metric:last-child{border-right:none}.home-metric-value{color:var(--home-ink);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.75rem;font-weight:800;line-height:1;display:block}.home-metric-label{color:var(--home-muted);font-size:.8rem;font-weight:500}.home-section{padding:5rem 0}.home-section--muted{background:var(--home-muted-bg)}.home-section-head{text-align:center;max-width:580px;margin:0 auto 3rem}.home-section-head--left{text-align:left;margin-left:0;margin-right:0}.home-section-head h2{color:var(--home-ink);letter-spacing:-.02em;margin-bottom:.65rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.home-section-head p{color:var(--home-muted);font-size:1rem;line-height:1.65}.home-features{grid-template-rows:auto auto;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.home-feature{border:1px solid var(--home-line);background:#fff;border-radius:16px;padding:1.75rem;transition:border-color .2s,box-shadow .2s,transform .2s}.home-feature:hover{border-color:#bae6fd;transform:translateY(-2px);box-shadow:0 12px 32px #0ea5e914}.home-feature--wide{grid-column:span 2}.home-feature-icon{color:#0284c7;background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;display:flex}.home-feature h3{color:#1e293b;margin-bottom:.45rem;font-size:1.05rem;font-weight:700}.home-feature p{color:var(--home-muted);font-size:.88rem;line-height:1.6}.about-workflow{background:linear-gradient(#f8fafc 0%,#fff 100%);padding:5rem 0}.about-workflow-head{text-align:center;max-width:560px;margin:0 auto 2.5rem}.about-workflow-head h2{color:#0f172a;letter-spacing:-.02em;margin-bottom:.65rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.about-workflow-head p{color:#64748b;font-size:1rem;line-height:1.65}.about-workflow-box{background:#fff;border:1px solid #e2e8f0;border-radius:20px;max-width:960px;margin:0 auto;padding:2rem 2rem 1.75rem;box-shadow:0 1px 2px #0f172a0a,0 16px 40px #0ea5e914}.about-workflow-steps{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.about-workflow-step{text-align:center;padding:0 .5rem;position:relative}.about-workflow-num{color:#fff;z-index:1;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1.15rem;font-size:.82rem;font-weight:700;display:inline-flex;position:relative;box-shadow:0 4px 14px #0ea5e952}.about-workflow-connector{z-index:0;background:linear-gradient(90deg,#7dd3fc,#e2e8f0);width:calc(100% - 56px);height:2px;position:absolute;top:22px;left:calc(50% + 28px)}.about-workflow-step:last-child .about-workflow-connector{display:none}.about-workflow-step h3{color:#1e293b;margin-bottom:.45rem;font-size:.95rem;font-weight:700;line-height:1.35}.about-workflow-step p{color:#64748b;max-width:200px;margin:0 auto;font-size:.84rem;line-height:1.6}.about-workflow-cta{border-top:1px solid #f1f5f9;justify-content:center;margin-top:2rem;padding-top:1.75rem;display:flex}@media (width<=900px){.about-workflow-steps{grid-template-columns:repeat(2,1fr);gap:2rem 1.25rem}.about-workflow-connector,.about-workflow-step:nth-child(odd) .about-workflow-connector{display:none}}@media (width<=560px){.about-workflow{padding:3.5rem 0}.about-workflow-box{border-radius:16px;padding:1.5rem 1.25rem 1.25rem}.about-workflow-steps{grid-template-columns:1fr;gap:1.5rem}.about-workflow-step{text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:.35rem 1rem;padding:0;display:grid}.about-workflow-num{grid-row:1/3;align-self:center;margin-bottom:0}.about-workflow-step h3{align-self:end;margin-bottom:0}.about-workflow-step p{max-width:none;margin:0}}.home-steps{counter-reset:none;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.home-step{text-align:center;padding:1.5rem 1.25rem;position:relative}.home-step-num{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0ea5e94d}.home-step-line{background:linear-gradient(90deg,#bae6fd,#e2e8f0);width:calc(100% - 56px);height:2px;position:absolute;top:2.15rem;left:calc(50% + 28px)}.home-step:last-child .home-step-line{display:none}.home-step h3{color:#1e293b;margin-bottom:.4rem;font-size:.95rem;font-weight:700}.home-step p{color:var(--home-muted);font-size:.84rem;line-height:1.55}.home-subjects{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.home-subject{border:1px solid var(--home-line);border-left:3px solid var(--subj-accent,#0ea5e9);background:#fff;border-radius:14px;align-items:center;gap:1rem;padding:1.15rem 1.25rem;text-decoration:none;transition:all .2s;display:flex}.home-subject:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 24px #0f172a0f}.home-subject--sky{--subj-accent:#0ea5e9}.home-subject--indigo{--subj-accent:#6366f1}.home-subject--cyan{--subj-accent:#06b6d4}.home-subject--amber{--subj-accent:#f59e0b}.home-subject--violet{--subj-accent:#8b5cf6}.home-subject--emerald{--subj-accent:#10b981}.home-subject-code{background:color-mix(in srgb, var(--subj-accent) 12%, white);width:42px;height:42px;color:var(--subj-accent);letter-spacing:.03em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.home-subject-body{flex:1;min-width:0}.home-subject-body strong{color:#1e293b;margin-bottom:.15rem;font-size:.92rem;display:block}.home-subject-body small{color:#94a3b8;font-size:.75rem}.home-subject-arrow{color:#cbd5e1;flex-shrink:0;transition:color .2s,transform .2s}.home-subject:hover .home-subject-arrow{color:var(--subj-accent);transform:translate(3px)}.home-subjects-cta{text-align:center;margin-top:2rem}.home-link-arrow{color:#0284c7;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.home-link-arrow:hover{color:#0ea5e9;gap:.65rem}.home-reviews{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}.home-review-cell{min-width:0;height:100%;display:flex}.home-review{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;flex:1;min-height:100%;margin:0;padding:1.5rem 1.5rem 1.35rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s;display:flex;box-shadow:0 1px 3px #0f172a0a}.home-review:hover{border-color:#bae6fd;transform:translateY(-3px);box-shadow:0 10px 28px #0ea5e91a}.home-review-stars{flex-shrink:0;align-items:center;gap:.2rem;margin-bottom:.9rem;display:flex}.home-review-star{color:#f59e0b;font-size:.9rem;line-height:1}.home-review-quote{color:#475569;flex:1;margin:0 0 1.25rem;font-size:.92rem;line-height:1.65}.home-review-author{border-top:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.home-review-avatar{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.home-review-meta{flex-direction:column;gap:.15rem;min-width:0;display:flex}.home-review cite{color:#0f172a;font-size:.88rem;font-style:normal;font-weight:700;line-height:1.3;display:block}.home-review-meta small{color:#94a3b8;font-size:.75rem;line-height:1.3}.home-faq-wrap{grid-template-columns:.9fr 1.1fr;align-items:start;gap:3rem;display:grid}.home-faq-list{flex-direction:column;gap:.65rem;display:flex}.home-faq{border:1px solid var(--home-line);background:#fff;border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.home-faq[open]{border-color:#7dd3fc;box-shadow:0 4px 16px #0ea5e914}.home-faq summary{color:#1e293b;cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;font-size:.92rem;font-weight:600;list-style:none;display:flex}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary:after{content:"+";color:#94a3b8;flex-shrink:0;font-size:1.25rem;font-weight:300}.home-faq[open] summary:after{content:"−";color:#0ea5e9}.home-faq p{color:var(--home-muted);padding:0 1.25rem 1.1rem;font-size:.88rem;line-height:1.65}.page-cta,.home-cta{padding:4rem 0 5rem}.page-cta-wrap,.home-cta-wrap{justify-content:center;align-items:center;display:flex}.page-cta-card,.home-cta-card{text-align:center;border-radius:24px;width:100%;max-width:720px;margin:0 auto;padding:clamp(2.5rem,5vw,3.5rem) clamp(2rem,4vw,3rem);position:relative;overflow:hidden;box-shadow:0 4px 6px #0f172a0a,0 24px 48px #0ea5e92e}.page-cta-bg,.home-cta-bg{background:linear-gradient(135deg,#0c4a6e 0%,#075985 45%,#0369a1 100%);position:absolute;inset:0}.page-cta-bg:after,.home-cta-bg:after{content:"";background:radial-gradient(at 30% 100%,#38bdf84d 0%,#0000 55%),radial-gradient(at 70% 0,#0ea5e938 0%,#0000 50%);position:absolute;inset:0}.page-cta-inner,.home-cta-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:520px;margin:0 auto;display:flex;position:relative}.page-cta-badge{letter-spacing:.1em;text-transform:uppercase;color:#fffffff2;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;margin-bottom:1.15rem;padding:.38rem .95rem;font-size:.68rem;font-weight:700;display:inline-block}.page-cta-inner h2,.home-cta-inner h2{color:#fff;letter-spacing:-.02em;text-align:center;margin-bottom:.75rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:800;line-height:1.35}.page-cta-inner>p,.home-cta-inner>p{color:#ffffffe0;text-align:center;margin-bottom:1.75rem;font-size:1rem;line-height:1.65}.page-cta-actions,.home-cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;display:flex}.v-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.v-page-hero{text-align:center;background:#fafbff;padding:4rem 0 3rem;position:relative;overflow:hidden}.v-page-hero-inner{max-width:640px;margin:0 auto;position:relative}.v-page-hero h1{color:#0f172a;letter-spacing:-.01em;margin-bottom:1rem;font-size:2.2rem;font-weight:800;line-height:1.2}.v-page-hero-sub{color:#64748b;max-width:520px;margin:0 auto;font-size:1.05rem;line-height:1.65}.v-cards-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.v-info-card{background:#fff;border:1px solid #f1f5f9;border-radius:.85rem;padding:1.75rem;transition:all .2s}.v-info-card:hover{border-color:#c7d2fe;box-shadow:0 6px 16px #6366f10f}.v-info-emoji{margin-bottom:.75rem;font-size:1.5rem;display:block}.v-info-card h3{color:#1e293b;margin-bottom:.4rem;font-size:1rem;font-weight:700}.v-info-card p{color:#64748b;font-size:.87rem;line-height:1.55}.v-split{grid-template-columns:1.1fr .9fr;align-items:start;gap:3rem;display:grid}.v-split-text h2{color:#0f172a;margin-bottom:.75rem;font-size:1.6rem;font-weight:800}.v-split-text p{color:#64748b;margin-bottom:1rem;font-size:.92rem;line-height:1.65}.v-split-aside{background:#fff;border:1px solid #f1f5f9;border-radius:.85rem;padding:1.75rem}.v-split-aside h4{color:#1e293b;margin-bottom:.75rem;font-size:.92rem;font-weight:700}.v-split-aside ul{margin:0;padding:0;list-style:none}.v-split-aside li{color:#475569;padding:.5rem 0 .5rem 1.25rem;font-size:.87rem;line-height:1.5;position:relative}.v-split-aside li:before{content:"";background:#6366f1;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.v-lib-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.v-lib-card{background:#fff;border:1px solid #f1f5f9;border-radius:.85rem;padding:1.75rem;transition:all .2s}.v-lib-card:hover{border-color:#c7d2fe}.v-lib-emoji{margin-bottom:.65rem;font-size:1.5rem;display:block}.v-lib-head{align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.v-lib-code{color:#4338ca;background:#ede9fe;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.v-lib-tag{color:#92400e;background:#fef3c7;border-radius:4px;padding:.15rem .5rem;font-size:.68rem;font-weight:600}.v-lib-card h3{color:#1e293b;margin-bottom:.35rem;font-size:1rem;font-weight:700}.v-lib-card p{color:#64748b;font-size:.85rem;line-height:1.55}.v-roadmap-list{flex-direction:column;gap:.85rem;display:flex}.v-roadmap-item{color:#374151;background:#fff;border:1px solid #f1f5f9;border-radius:.65rem;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.9rem;display:flex}.v-roadmap-num{color:#fff;background:linear-gradient(135deg,#4338ca,#6366f1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:700;display:flex}@media (width<=1024px){.home-hero-inner{grid-template-columns:1fr;gap:3rem}.home-hero-preview{min-height:320px}.home-float--stats{left:0}.home-float--pyq{right:0}.home-features{grid-template-columns:repeat(2,1fr)}.home-feature--wide{grid-column:span 2}.home-subjects{grid-template-columns:repeat(2,1fr)}.home-reviews{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home-steps{grid-template-columns:repeat(2,1fr)}.home-step-line{display:none}.home-faq-wrap{grid-template-columns:1fr;gap:2rem}.home-section-head--left{text-align:center;margin-left:auto;margin-right:auto}.v-cards-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.home-hero{text-align:center;padding:3rem 0 3.5rem}.home-hero-lead{margin-left:auto;margin-right:auto}.home-hero-cta,.home-hero-refs{justify-content:center}.home-metrics{margin-top:-1.5rem}.home-metrics-grid{grid-template-columns:repeat(2,1fr)}.home-metric{border-bottom:1px solid #f1f5f9}.home-metric:nth-child(2){border-right:none}.home-metric:nth-child(3),.home-metric:nth-child(4){border-bottom:none}.home-section{padding:3.5rem 0}.home-features{grid-template-columns:1fr}.home-feature--wide{grid-column:span 1}.home-steps{grid-template-columns:1fr;gap:.5rem}.home-subjects{grid-template-columns:1fr}.home-reviews{grid-template-columns:1fr;gap:.85rem}.home-review{padding:1.35rem 1.25rem 1.2rem}.home-cta{padding:3rem 0}.home-cta-card,.page-cta-card{border-radius:20px;padding:2.25rem 1.5rem}.v-section{padding:3rem 0}.v-sec-head h2{font-size:1.4rem}.v-cards-3{grid-template-columns:1fr}.v-split{grid-template-columns:1fr;gap:2rem}.v-lib-grid{grid-template-columns:1fr}.contact-hero-wrap{padding:2.5rem 0 2rem}.contact-body{padding:2rem 0 0}.contact-page-cta{padding:2.5rem 0}.contact-page-cta .page-cta-actions{flex-direction:column;align-items:stretch}.contact-page-cta .page-cta-actions .v-btn{justify-content:center;width:100%}.v-page-hero{padding:3rem 0 2rem}.v-page-hero h1{font-size:1.65rem}.auth-card{border-radius:16px;padding:1.5rem}}@media (width<=480px){.home-hero{padding:2.5rem 0 3rem}.home-hero-cta{flex-direction:column;align-items:stretch}.home-hero-cta .v-btn{justify-content:center;width:100%}.home-float{display:none}.home-metrics-grid{grid-template-columns:1fr 1fr}.home-metric-value{font-size:1.4rem}.home-cta-actions,.page-cta-actions{flex-direction:column;align-items:stretch}.home-cta-actions .v-btn,.page-cta-actions .v-btn{justify-content:center;width:100%}.auth-main{padding:1.25rem 1rem}.auth-card{padding:1.25rem}}.hp-hero-badge{color:#4338ca;background:#ede9fe;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.hp-hero-title{color:#0f172a;letter-spacing:-.02em;margin-bottom:1.25rem;font-size:3rem;font-weight:800;line-height:1.15}.hp-hero-gradient{background:linear-gradient(135deg,#4338ca,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hp-hero-desc{color:#475569;max-width:520px;margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.hp-hero-btns{flex-wrap:wrap;gap:.75rem;display:flex}.hp-btn{cursor:pointer;border:none;border-radius:.7rem;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.hp-btn-primary{color:#fff;background:linear-gradient(135deg,#4338ca,#6366f1);box-shadow:0 4px 14px #6366f140}.hp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f159}.hp-btn-outline{color:#374151;background:#fff;border:1.5px solid #e5e7eb}.hp-btn-outline:hover{background:#f5f3ff;border-color:#c7d2fe}.hp-btn-white{color:#4338ca;background:#fff}.hp-btn-white:hover{background:#f5f3ff;transform:translateY(-2px)}.hp-btn-outline-white{color:#fff;background:0 0;border:1.5px solid #fff6}.hp-btn-outline-white:hover{background:#ffffff1a;border-color:#fff}.hp-hero-visual{justify-content:center;display:flex}.hp-hero-card{background:#fff;border-radius:1rem;width:100%;max-width:380px;transition:transform .3s;overflow:hidden;transform:perspective(800px)rotateY(-3deg)rotateX(2deg);box-shadow:0 20px 50px #00000014,0 0 0 1px #0000000a}.hp-hero-card:hover{transform:perspective(800px)rotateY(0)rotateX(0)}.hp-hero-card-head{background:#f8fafc;border-bottom:1px solid #f1f5f9;gap:6px;padding:.75rem 1rem;display:flex}.hp-hero-card-dot{background:#e2e8f0;border-radius:50%;width:10px;height:10px}.hp-hero-card-dot:first-child{background:#fca5a5}.hp-hero-card-dot:nth-child(2){background:#fde047}.hp-hero-card-dot:nth-child(3){background:#86efac}.hp-hero-card-body{padding:1.5rem}.hp-hero-card-q{color:#1e293b;margin-bottom:1rem;font-size:.9rem;font-weight:600;line-height:1.5}.hp-hero-card-opts{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.hp-hero-card-opt{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.6rem .85rem;font-size:.8rem}.hp-hero-card-correct{color:#065f46;background:#d1fae5;border-color:#6ee7b7;font-weight:600}.hp-hero-card-tag{color:#94a3b8;font-size:.7rem;font-weight:500}.hp-stats{background:#fff;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;padding:2.5rem 0}.hp-stats-inner{text-align:center;grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.hp-stat-value{color:#1e1b4b;margin-bottom:.3rem;font-size:2rem;font-weight:800;line-height:1;display:block}.hp-stat-label{color:#6b7280;font-size:.85rem;font-weight:500}.hp-section-head{text-align:center;margin-bottom:3rem}.hp-section-badge{color:#4338ca;text-transform:uppercase;letter-spacing:.05em;background:#ede9fe;border-radius:9999px;margin-bottom:.75rem;padding:.3rem .85rem;font-size:.75rem;font-weight:700;display:inline-block}.hp-section-title{color:#0f172a;letter-spacing:-.01em;margin-bottom:.75rem;font-size:2rem;font-weight:800}.hp-section-desc{color:#64748b;max-width:560px;margin:0 auto;font-size:1rem;line-height:1.6}.hp-features{background:#fff;padding:5rem 0}.hp-features-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.hp-feature-card{background:#fafbff;border:1px solid #f1f5f9;border-radius:1rem;padding:2rem;transition:all .2s}.hp-feature-card:hover{border-color:#c7d2fe;transform:translateY(-3px);box-shadow:0 8px 24px #6366f114}.hp-feature-icon{color:#4338ca;background:linear-gradient(135deg,#ede9fe,#dbeafe);border-radius:.75rem;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.hp-feature-card h3{color:#1e293b;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.hp-feature-card p{color:#64748b;font-size:.9rem;line-height:1.6}.hp-subjects{background:#f8fafc;padding:5rem 0}.hp-subjects-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.hp-subject-card{background:#fff;border:1px solid #f1f5f9;border-radius:.85rem;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;transition:all .2s;display:flex}.hp-subject-card:hover{border-color:#e0e7ff;transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.hp-subject-code{color:#fff;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.75rem;font-weight:700;display:inline-flex}.hp-subject-name{color:#1e293b;flex:1;font-size:.95rem;font-weight:600}.hp-subject-arrow{color:#94a3b8;flex-shrink:0}.hp-subject-card:hover .hp-subject-arrow{color:#4338ca;transition:all .2s;transform:translate(3px)}.hp-testimonials{background:#fff;padding:5rem 0}.hp-testimonials-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.hp-testimonial-card{background:#fafbff;border:1px solid #f1f5f9;border-radius:1rem;padding:1.75rem}.hp-testimonial-stars{color:#f59e0b;letter-spacing:2px;margin-bottom:.75rem;font-size:.9rem}.hp-testimonial-text{color:#374151;margin-bottom:1.25rem;font-size:.9rem;font-style:italic;line-height:1.6}.hp-testimonial-author{align-items:center;gap:.75rem;display:flex}.hp-testimonial-avatar{color:#fff;background:linear-gradient(135deg,#4338ca,#6366f1);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex}.hp-testimonial-author strong{color:#1e293b;font-size:.85rem;display:block}.hp-testimonial-author span{color:#94a3b8;font-size:.75rem}.hp-faq{background:#f8fafc;padding:5rem 0}.hp-faq-grid{flex-direction:column;gap:.75rem;max-width:680px;margin:0 auto;display:flex}.hp-faq-item{background:#fff;border:1px solid #f1f5f9;border-radius:.75rem;transition:border-color .2s;overflow:hidden}.hp-faq-item[open]{border-color:#c7d2fe}.hp-faq-item summary{color:#1e293b;cursor:pointer;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;font-size:.95rem;font-weight:600;list-style:none;display:flex}.hp-faq-item summary::-webkit-details-marker{display:none}.hp-faq-item summary:after{content:"+";color:#94a3b8;font-size:1.2rem;font-weight:300}.hp-faq-item[open] summary:after{content:"−"}.hp-faq-item p{color:#64748b;padding:0 1.5rem 1.25rem;font-size:.9rem;line-height:1.6}.hp-cta{text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#4338ca 100%);padding:5rem 0}.hp-cta-inner h2{color:#fff;margin-bottom:.75rem;font-size:2rem;font-weight:800}.hp-cta-inner p{color:#ffffffbf;margin-bottom:2rem;font-size:1.05rem}.hp-cta-inner .hp-hero-btns{justify-content:center}@media (width<=1024px){.hp-hero-title{font-size:2.4rem}.hp-features-grid,.hp-subjects-grid,.hp-testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hp-hero{padding:3.5rem 0 2.5rem}.hp-hero-inner{text-align:center;grid-template-columns:1fr;gap:2.5rem}.hp-hero-title{font-size:2rem}.hp-hero-desc{margin-left:auto;margin-right:auto;font-size:1rem}.hp-hero-btns{justify-content:center}.hp-hero-visual{order:-1}.hp-hero-card{max-width:320px;transform:none}.hp-hero-card:hover{transform:none}.hp-stats-inner{grid-template-columns:repeat(2,1fr);gap:1.5rem}.hp-stat-value{font-size:1.6rem}.hp-section-title{font-size:1.5rem}.hp-features{padding:3rem 0}.hp-features-grid{grid-template-columns:1fr}.hp-subjects{padding:3rem 0}.hp-subjects-grid{grid-template-columns:1fr}.hp-testimonials{padding:3rem 0}.hp-testimonials-grid{grid-template-columns:1fr}.hp-faq{padding:3rem 0}.hp-cta{padding:3.5rem 0}.hp-cta-inner h2{font-size:1.5rem}}@media (width<=480px){.hp-hero{padding:2.5rem 0 2rem}.hp-hero-title{font-size:1.65rem}.hp-hero-badge{font-size:.7rem}.hp-hero-btns{flex-direction:column;align-items:center}.hp-btn{justify-content:center;width:100%}.hp-stats-inner{grid-template-columns:repeat(2,1fr);gap:1rem}.hp-stat-value{font-size:1.35rem}.hp-feature-card{padding:1.5rem}.hp-subject-card{padding:1rem 1.25rem}.hp-testimonial-card{padding:1.25rem}.hp-cta-inner .hp-hero-btns{flex-direction:column;align-items:center}}.chapter-question-topbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.chapter-question-topbar .chapter-question-index{flex:1;min-width:0;margin:0}.report-btn-wrap{flex-shrink:0;position:relative}.report-trigger-btn{color:#be123c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 3px #be123c1f}.report-trigger-btn svg{stroke:#e11d48;flex-shrink:0}.report-trigger-btn:hover{color:#9f1239;background:#fff1f2;border-color:#f87171;box-shadow:0 2px 8px #be123c2e}.report-trigger-btn:focus-visible{outline-offset:2px;outline:2px solid #f43f5e}.report-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:10050;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.report-modal{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:1.5rem;animation:.25s ease-out reportModalIn;box-shadow:0 25px 50px -12px #00000040}@keyframes reportModalIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.report-modal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.report-modal-header h3{color:#1e293b;margin:0;font-size:1.1rem}.report-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.report-close-btn:hover{color:#334155}.report-modal-stem{color:#64748b;background:#f8fafc;border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.85rem;line-height:1.4}.report-label{color:#475569;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.report-reasons{flex-wrap:wrap;gap:6px;margin-bottom:1rem;display:flex}.report-reason-chip{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:6px 12px;font-size:.78rem;transition:all .15s}.report-reason-chip:hover{color:#3b82f6;border-color:#3b82f6}.report-reason-chip.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.report-detail-input{resize:vertical;border:1px solid #e2e8f0;border-radius:8px;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-family:inherit;font-size:.85rem}.report-detail-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.report-submit-btn{width:100%;padding:.6rem;font-size:.9rem}.report-success{text-align:center;padding:2rem 1rem}.report-success h3{color:#10b981;margin:1rem 0 .25rem}.report-success p{color:#64748b;margin:0}.admin-reports-page{max-width:960px}.admin-contacts-page{max-width:1100px}.admin-reports-header h1{color:#1e293b;margin:0 0 .25rem;font-size:1.5rem}.admin-reports-subtitle{color:#64748b;margin:0 0 1.25rem;font-size:.9rem}.admin-reports-subtitle a{color:#0ea5e9;font-weight:500}.admin-reports-subtitle a:hover{text-decoration:underline}.admin-contacts-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.contact-stat-new{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.contact-stat-read{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0}.contact-stat-archived{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.contact-stat-total{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe}.admin-contacts-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1.25rem;padding:1rem 1.15rem;display:flex;box-shadow:0 1px 3px #0f172a0d}.admin-contacts-filter-field,.admin-contacts-search-wrap{flex-direction:column;gap:.35rem;min-width:0;display:flex}.admin-contacts-filter-field{flex:none}.admin-contacts-search-wrap{flex:240px}.admin-contacts-toolbar label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.72rem;font-weight:600;display:block}.admin-contacts-select,.admin-contacts-search{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;max-width:100%;margin:0;padding:.5rem .85rem;font-size:.875rem;font-weight:400;display:block}.admin-contacts-select{cursor:pointer;width:auto;min-width:140px;padding-right:2rem}.admin-contacts-search:focus,.admin-contacts-select:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e91f}.admin-contact-name{color:#1e1b4b;margin:0 0 .35rem;font-size:1.05rem}.admin-contact-message{color:#334155;white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:.75rem 0 0;font-size:.9rem;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-contact-message.is-expanded{-webkit-line-clamp:unset;display:block}.admin-contact-toggle{color:#0ea5e9;cursor:pointer;background:0 0;border:none;margin-top:.35rem;padding:0;font-size:.8rem;font-weight:600}.admin-contact-toggle:hover{text-decoration:underline}.adm-contact-reply{align-items:center;text-decoration:none;display:inline-flex}.admin-contacts-footnote{color:#94a3b8;margin-top:1.25rem;font-size:.82rem}.admin-contacts-footnote a{color:#0ea5e9}.admin-contact-card.status-new{border-left-color:#0ea5e9}.adm-stat-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}.adm-stat-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.adm-brief-export{background:linear-gradient(135deg,#f0f9ff 0%,#eef2ff 100%);border:1px solid #bae6fd;border-radius:14px;padding:1.2rem 1.4rem;box-shadow:0 1px 3px #0ea5e914}.adm-brief-export-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem 1.5rem;display:flex}.adm-brief-export-copy{flex-direction:column;flex:220px;justify-content:center;gap:.35rem;min-width:0;display:flex}.adm-brief-export-copy strong{color:#1e1b4b;font-size:1.02rem;font-weight:700;line-height:1.35;display:block}.adm-brief-export-copy span{color:#64748b;font-size:.8125rem;font-weight:400;line-height:1.45;display:block}.adm-brief-export-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.65rem;display:flex}.adm-brief-period-label{display:none}.adm-brief-select{color:#1e293b;cursor:pointer;box-sizing:border-box;appearance:auto;background:#fff;border:1.5px solid #bae6fd;border-radius:10px;width:auto;min-width:136px;margin:0;padding:.6rem 2.25rem .6rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25}.adm-brief-select:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 3px #0ea5e926}.adm-brief-select:disabled{opacity:.65;cursor:not-allowed}.adm-brief-download{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;line-height:1.25;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 2px 8px #0ea5e959}.adm-brief-download:hover:not(:disabled){background:linear-gradient(135deg,#0284c7,#0369a1);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.adm-brief-download:disabled{opacity:.7;cursor:not-allowed;transform:none}.adm-brief-export-error{color:#dc2626;border-top:1px solid #bae6fdcc;margin:.75rem 0 0;padding-top:.75rem;font-size:.82rem}@media (width<=640px){.adm-brief-export{padding:1rem 1.1rem}.adm-brief-export-inner{flex-direction:column;align-items:stretch}.adm-brief-export-actions{width:100%}.adm-brief-select{flex:1;min-width:0}.adm-brief-download{flex:1}}.admin-reports-stats{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.report-stat-card{text-align:center;border-radius:12px;flex:1;min-width:0;padding:1rem 1.25rem;box-shadow:0 1px 2px #0f172a0a}.report-stat-card.pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a}.report-stat-card.resolved{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0}.report-stat-card.dismissed{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.report-stat-num{color:#1e293b;font-size:1.75rem;font-weight:700;display:block}.report-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.admin-reports-filter{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-reports-filter label{color:#475569;font-size:.85rem;font-weight:500}.admin-reports-filter select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-size:.85rem}.admin-reports-loading{text-align:center;color:#94a3b8;padding:3rem}.admin-contacts-page .admin-reports-empty{text-align:center;color:#94a3b8;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:3rem 1.5rem}.admin-contacts-page .admin-reports-loading{background:#fff;border:1px solid #e2e8f0;border-radius:12px}.admin-reports-empty{text-align:center;color:#94a3b8;padding:3rem 1rem}.admin-reports-empty h3{color:#64748b;margin:1rem 0 .25rem}.admin-reports-empty p{color:#94a3b8;margin:0}.admin-reports-list{flex-direction:column;gap:1rem;display:flex}.admin-report-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;transition:box-shadow .2s}.admin-report-card:hover{box-shadow:0 4px 12px #0000000f}.admin-report-card.status-pending{border-left:4px solid #f59e0b}.admin-report-card.status-resolved{border-left:4px solid #10b981}.admin-report-card.status-dismissed{opacity:.75;border-left:4px solid #94a3b8}.admin-report-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.admin-report-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.admin-report-date{color:#94a3b8;font-size:.8rem}.admin-report-stem{color:#1e293b;margin:0 0 .5rem;font-size:1rem;line-height:1.4}.admin-report-meta{color:#64748b;flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.82rem;display:flex}.admin-report-meta code{background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:.78rem}.admin-report-note{color:#1e40af;background:#eff6ff;border-radius:8px;margin-top:.5rem;padding:.5rem .75rem;font-size:.82rem}.admin-report-actions{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.admin-report-actions button{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.btn-edit{color:#fff;background:#0ea5e9}.btn-edit:hover{background:#0284c7}.btn-resolve{color:#fff;background:#10b981}.btn-resolve:hover{background:#059669}.btn-dismiss{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.btn-dismiss:hover{background:#e2e8f0}.btn-reopen{color:#fff;background:#f59e0b}.btn-reopen:hover{background:#d97706}.btn-note{color:#3b82f6;background:#eff6ff;border-color:#bfdbfe}.btn-note:hover{background:#dbeafe}.btn-delete{color:#ef4444;background:0 0;border-color:#fca5a5}.btn-delete:hover{background:#fef2f2}.admin-report-note-form{flex:1;align-items:center;gap:.5rem;display:flex}.admin-report-note-form input{border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:5px 10px;font-size:.82rem}.admin-report-note-form button{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 12px;font-size:.8rem}.admin-report-note-form button:first-of-type{color:#fff;background:#3b82f6;border-color:#3b82f6}.report-quick-overlay{z-index:10050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.report-quick-modal{background:#fff;border-radius:16px;width:min(100%,640px);max-height:min(92vh,900px);padding:1.25rem 1.5rem 1.5rem;overflow-y:auto;box-shadow:0 25px 60px #0f172a40}.report-quick-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.report-quick-head h2{color:#1e1b4b;margin:0 0 .25rem;font-size:1.15rem}.report-quick-head p{color:#64748b;margin:0;font-size:.85rem}.report-quick-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.report-quick-close:hover{color:#475569}.report-quick-context{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.82rem}.report-quick-context p{margin:.2rem 0}.report-quick-key code{font-size:.78rem}.report-quick-form{flex-direction:column;gap:.5rem;display:flex}.report-quick-label{color:#475569;margin-top:.35rem;font-size:.78rem;font-weight:600}.report-quick-textarea,.report-quick-select,.report-quick-choice-row input{border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.88rem}.report-quick-textarea:focus,.report-quick-select:focus,.report-quick-choice-row input:focus{border-color:#0ea5e9;outline:2px solid #bae6fd}.report-quick-choices{flex-direction:column;gap:.45rem;display:flex}.report-quick-choice-row{align-items:center;gap:.5rem;display:flex}.report-quick-choice-id{color:#64748b;min-width:1.25rem;font-weight:700}.report-quick-status{color:#64748b;font-size:.9rem}.report-quick-error{color:#dc2626;margin:.35rem 0 0;font-size:.85rem}.report-quick-actions{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.report-quick-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.report-quick-btn:disabled{opacity:.6;cursor:not-allowed}.report-quick-btn--ghost{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.report-quick-btn--secondary{color:#0284c7;background:#fff;border-color:#bae6fd}.report-quick-btn--primary{color:#fff;background:#0ea5e9}.report-quick-btn--primary:hover:not(:disabled){background:#0284c7}.adm-students-head{flex-wrap:wrap;gap:.75rem}.adm-students-title h2{margin:0}.adm-students-title p{margin:.25rem 0 0;font-size:.85rem}.adm-students-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.adm-students-search{flex:1;min-width:240px;max-width:none}.adm-students-checkbox{color:#6b7280;white-space:nowrap;align-items:center;gap:.5rem;font-size:.86rem;font-weight:500;display:inline-flex}.adm-students-checkbox input[type=checkbox]{accent-color:#4f46e5;width:1rem;height:1rem;margin:0}.adm-students-table-wrap{overflow-x:auto}.adm-students-name-cell{align-items:center;gap:.45rem;display:inline-flex}.adm-badge-student-new{color:#166534;background:#dcfce7}@media (width<=768px){.adm-students-toolbar{align-items:stretch}.adm-students-search{width:100%;min-width:0}.admin-contacts-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-contacts-toolbar{flex-direction:column;align-items:stretch}.admin-contacts-select{width:100%;min-width:0}}@media (width<=640px){.admin-contacts-stats{grid-template-columns:1fr 1fr}.admin-reports-stats{flex-direction:column}.admin-report-actions{flex-direction:column;align-items:stretch}.admin-report-actions button{text-align:center}}@keyframes revealFadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes revealFadeIn{0%{opacity:0}to{opacity:1}}@keyframes revealScaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes revealSlideRight{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes revealSlideLeft{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes navEnter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-enter{animation:.45s cubic-bezier(.22,1,.36,1) both pageEnter}.navbar--enter .navbar__shell{animation:.55s cubic-bezier(.22,1,.36,1) both navEnter}.hero-enter .hero-enter-item{opacity:0;animation:.75s cubic-bezier(.22,1,.36,1) forwards revealFadeUp;animation-delay:calc(var(--hero-i,0) * 90ms + 80ms)}.hero-enter .hero-enter-item--preview{animation-delay:calc(var(--hero-i,0) * 90ms + .22s)}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.reveal--fade-up{transform:translateY(32px)}.reveal--fade-in{transform:none}.reveal--scale-in{transform:scale(.96)}.reveal--slide-right{transform:translate(-28px)}.reveal--slide-left{transform:translate(28px)}.reveal--visible{opacity:1;transform:none}.home-feature,.home-subject,.home-review-cell .home-review,.v-info-card,.about-workflow-step,.book-card,.pyq-card,.dashboard-card,.v-lib-card,.v-contact-info-card,.v-roadmap-item,.auth-card,.contact-info-card,.contact-quick-card,.contact-form-card{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}.contact-submit:active,.auth-submit:active{transform:scale(.98)}.home-float--stats,.home-float--pyq{animation:5s ease-in-out infinite heroFloat}.home-float--pyq{animation-delay:1.2s}.v-btn:active,.navbar__btn:active,.navbar__promo-btn:active{transform:scale(.98)}.home-faq summary{transition:color .2s}.home-faq p{animation:.35s revealFadeIn}}@media (prefers-reduced-motion:reduce){.reveal,.hero-enter .hero-enter-item,.page-enter,.navbar--enter .navbar__shell{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.home-float--stats,.home-float--pyq{animation:none!important}}
