.question-bank{--cream:#fff8f0;--charcoal:#1a1a1a;--slate:#4a4a4a;--muted:#8a8a8a;--border:#f0e8de;--shadow-soft:0 1px 3px #0000000a,0 4px 12px #00000008;--shadow-hover:0 2px 8px #0000000f,0 12px 32px #0000000f;--radius:20px;--math-accent:#3b82f6;--math-bg:#eff6ff;--math-grad-end:#f8fbff;--think-accent:#10b981;--think-bg:#ecfdf5;--think-grad-end:#f6fdfb;--read-accent:#f59e0b;--read-bg:#fffbeb;--read-grad-end:#fffdf6;--write-accent:#ec4899;--write-bg:#fdf2f8;--write-grad-end:#fef8fb;font-family:var(--font-geist-sans),"Geist Sans",system-ui,sans-serif;color:var(--charcoal);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.question-bank .qb-view{justify-content:center;align-items:center;min-height:100vh;padding:60px 24px;transition:opacity .4s,transform .4s;display:flex}.question-bank .qb-view--bank{box-sizing:border-box;height:100vh;min-height:0;padding:clamp(24px,4vh,60px) 24px}.question-bank .qb-view--math{--sub-accent:var(--math-accent);--sub-bg:var(--math-bg)}.question-bank .qb-view--think{--sub-accent:var(--think-accent);--sub-bg:var(--think-bg)}.question-bank .qb-view--read{--sub-accent:var(--read-accent);--sub-bg:var(--read-bg)}.question-bank .qb-view--write{--sub-accent:var(--write-accent);--sub-bg:var(--write-bg)}.question-bank .qb-view--math,.question-bank .qb-view--think,.question-bank .qb-view--read,.question-bank .qb-view--write{background:#fff;align-items:flex-start;padding-top:48px;padding-bottom:48px}.question-bank .qb-view.hidden{display:none}.question-bank .qb-view.exiting{opacity:0;pointer-events:none;transform:scale(.97)}.question-bank .qb-view.entering{opacity:0;transform:translateY(20px)}.question-bank .qb-view.entering.active{opacity:1;transform:translateY(0)}.question-bank .qb-section{flex-direction:column;width:100%;max-width:720px;height:100%;display:flex}.question-bank .qb-section-title{letter-spacing:-.02em;color:var(--charcoal);flex-shrink:0;margin-bottom:clamp(4px,1vh,12px);font-size:clamp(24px,4vw,48px);font-weight:700;line-height:1.15}.question-bank .qb-section-desc{color:var(--slate);flex-shrink:0;max-width:560px;margin-bottom:clamp(16px,3vh,28px);font-size:clamp(13px,1.8vw,17px);line-height:1.5}.question-bank .qb-card-grid{flex:1;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:clamp(12px,2.5vh,28px);min-height:0;display:grid}@media (max-width:500px){.question-bank .qb-card-grid{grid-template-columns:1fr}}.question-bank .qb-tile{background:linear-gradient(175deg,var(--accent-bg)0%,var(--grad-end)50%,#fff 100%);border:1px solid color-mix(in srgb,var(--accent)10%,var(--border));border-radius:var(--radius);isolation:isolate;cursor:pointer;box-shadow:var(--shadow-soft);flex-direction:column;justify-content:center;align-items:center;min-height:0;transition:box-shadow .3s,transform .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.question-bank .qb-tile:hover{box-shadow:0 2px 8px #0000000f,0 12px 32px #0000000f,0 0 40px color-mix(in srgb,var(--accent)25%,transparent),0 0 80px color-mix(in srgb,var(--accent)12%,transparent);border-color:color-mix(in srgb,var(--accent)35%,var(--border));transform:translateY(-4px)scale(1.02)}.question-bank .qb-tile[data-subject=math]{--accent:var(--math-accent);--accent-bg:var(--math-bg);--grad-end:var(--math-grad-end)}.question-bank .qb-tile[data-subject=think]{--accent:var(--think-accent);--accent-bg:var(--think-bg);--grad-end:var(--think-grad-end)}.question-bank .qb-tile[data-subject=read]{--accent:var(--read-accent);--accent-bg:var(--read-bg);--grad-end:var(--read-grad-end)}.question-bank .qb-tile[data-subject=write]{--accent:var(--write-accent);--accent-bg:var(--write-bg);--grad-end:var(--write-grad-end)}.question-bank .qb-orb{filter:blur(50px);opacity:.22;pointer-events:none;z-index:0;will-change:transform;background:var(--accent);border-radius:50%;position:absolute}.question-bank .qb-orb--a{width:clamp(100px,20vh,180px);height:clamp(100px,20vh,180px);animation:3s ease-in-out infinite alternate qb-drift1;top:-50px;right:-40px}.question-bank .qb-orb--b{opacity:.18;filter:blur(48px);width:clamp(90px,18vh,160px);height:clamp(90px,18vh,160px);animation:5s ease-in-out infinite alternate qb-drift2;top:-40px;left:-35px}.question-bank .qb-orb--c{opacity:.14;filter:blur(55px);width:clamp(70px,14vh,120px);height:clamp(70px,14vh,120px);animation:4s ease-in-out infinite alternate qb-drift3;bottom:-25px;left:30%}.question-bank .qb-tile:hover .qb-orb{opacity:.32;transition:opacity .4s}.question-bank .qb-tile:hover .qb-orb--b{opacity:.4}@keyframes qb-drift1{0%{transform:translate(0)scale(1)}33%{transform:translate(-15px,20px)scale(1.1)}66%{transform:translate(10px,10px)scale(.95)}to{transform:translate(-5px,25px)scale(1.05)}}@keyframes qb-drift2{0%{transform:translate(0)scale(1)}25%{transform:translate(20px,-10px)scale(1.08)}50%{transform:translate(10px,-20px)scale(.92)}75%{transform:translate(25px,5px)scale(1.04)}to{transform:translate(15px,-15px)scale(1)}}@keyframes qb-drift3{0%{transform:translate(0)scale(1)}50%{transform:translate(-20px,-15px)scale(1.12)}to{transform:translate(10px,-25px)scale(.96)}}.question-bank .qb-tile-icon{background:var(--accent-bg);z-index:1;border-radius:clamp(12px,2vh,18px);justify-content:center;align-items:center;width:clamp(48px,8vh,72px);height:clamp(48px,8vh,72px);margin-bottom:clamp(10px,2vh,20px);transition:transform .3s,box-shadow .3s;display:flex;position:relative}.question-bank .qb-tile:hover .qb-tile-icon{box-shadow:0 4px 16px color-mix(in srgb,var(--accent)20%,transparent);transform:scale(1.1)}.question-bank .qb-tile-icon svg{width:clamp(22px,4vh,34px);height:clamp(22px,4vh,34px);color:var(--accent)}.question-bank .qb-tile-title{text-align:center;z-index:1;font-size:clamp(16px,2.8vh,24px);font-weight:600;line-height:1.3;position:relative}.question-bank .qb-tile{opacity:0;animation:.5s forwards qb-fadeIn;transform:translateY(16px)}.question-bank .qb-tile:first-child{animation-delay:50ms}.question-bank .qb-tile:nth-child(2){animation-delay:.1s}.question-bank .qb-tile:nth-child(3){animation-delay:.15s}.question-bank .qb-tile:nth-child(4){animation-delay:.2s}@keyframes qb-fadeIn{to{opacity:1;transform:translateY(0)}}.question-bank .qb-topics-section{width:100%;max-width:900px}.question-bank .qb-back-btn{font-family:var(--font-geist-sans),"Geist Sans",sans-serif;color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:24px;padding:6px 0;font-size:14px;font-weight:500;transition:color .2s;display:inline-flex}.question-bank .qb-back-btn:hover{color:var(--charcoal)}.question-bank .qb-back-btn svg{width:18px;height:18px}.question-bank .qb-topics-header{align-items:center;gap:16px;margin-bottom:8px;display:flex}.question-bank .qb-topics-header-icon{background:var(--sub-bg);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.question-bank .qb-topics-header-icon svg{width:26px;height:26px;color:var(--sub-accent)}.question-bank .qb-topics-title{letter-spacing:-.02em;color:var(--charcoal);font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.15}.question-bank .qb-topics-desc{color:var(--slate);max-width:520px;margin-bottom:36px;font-size:16px;line-height:1.6}.question-bank .qb-topics-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:720px){.question-bank .qb-topics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.question-bank .qb-topics-grid{grid-template-columns:1fr}}.question-bank .qb-topic-card{background:var(--sub-bg);border:1px solid color-mix(in srgb,var(--sub-accent)6%,#e8e8e8);cursor:pointer;box-shadow:none;border-radius:14px;align-items:center;min-height:0;padding:16px 20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.question-bank .qb-topic-card:hover{border-color:color-mix(in srgb,var(--sub-accent)30%,var(--border));box-shadow:var(--shadow-hover),0 0 30px color-mix(in srgb,var(--sub-accent)15%,transparent);background:#fff;transform:translateY(-2px)}.question-bank .qb-topic-card-inner{z-index:1;align-items:center;gap:14px;width:100%;display:flex;position:relative}.question-bank .qb-topic-ico{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:background .25s,color .25s;display:flex}.question-bank .qb-topic-ico svg{width:20px;height:20px;color:var(--sub-accent);transition:color .25s}.question-bank .qb-topic-card:hover .qb-topic-ico{background:var(--sub-accent)}.question-bank .qb-topic-card:hover .qb-topic-ico svg{color:#fff}.question-bank .qb-topic-name{color:var(--charcoal);font-size:15px;font-weight:500;line-height:1.35}.question-bank .qb-topic-arrow{width:18px;height:18px;color:var(--muted);opacity:0;flex-shrink:0;margin-left:auto;transition:opacity .25s,transform .25s;transform:translate(-6px)}.question-bank .qb-topic-card:hover .qb-topic-arrow{opacity:1;color:var(--sub-accent);transform:translate(0)}.question-bank .qb-topic-card:after{content:"";background:var(--sub-accent);filter:blur(50px);opacity:0;pointer-events:none;border-radius:50%;width:100px;height:100px;transition:opacity .3s;position:absolute;top:-30px;right:-20px}.question-bank .qb-topic-card:hover:after{opacity:.08}.question-bank .qb-topic-card{opacity:0;animation:.4s forwards qb-topicIn;transform:translateY(12px)}.question-bank .qb-topic-card:first-child{animation-delay:30ms}.question-bank .qb-topic-card:nth-child(2){animation-delay:60ms}.question-bank .qb-topic-card:nth-child(3){animation-delay:90ms}.question-bank .qb-topic-card:nth-child(4){animation-delay:.12s}.question-bank .qb-topic-card:nth-child(5){animation-delay:.15s}.question-bank .qb-topic-card:nth-child(6){animation-delay:.18s}.question-bank .qb-topic-card:nth-child(7){animation-delay:.21s}.question-bank .qb-topic-card:nth-child(8){animation-delay:.24s}.question-bank .qb-topic-card:nth-child(9){animation-delay:.27s}.question-bank .qb-topic-card:nth-child(10){animation-delay:.3s}.question-bank .qb-topic-card:nth-child(11){animation-delay:.33s}.question-bank .qb-topic-card:nth-child(12){animation-delay:.36s}.question-bank .qb-topic-card:nth-child(13){animation-delay:.39s}@keyframes qb-topicIn{to{opacity:1;transform:translateY(0)}}
