:root{--navy:#10284a;--navy-dark:#0b1d36;--blue:#2563eb;--blue-soft:#eaf1ff;--background:#f7f8fa;--card:#fffefa;--white:#fff;--text:#111827;--muted:#667085;--border:#d9dee7;--shadow:0 16px 38px rgba(16,40,74,.15);--radius:20px}*{box-sizing:border-box}html{min-height:100%;background:var(--background)}body{min-height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(37,99,235,.06),transparent 34rem),var(--background)}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:100%;padding:clamp(24px,4vw,56px) 18px}.study-panel{width:min(980px,100%);margin:0 auto}.page-heading{text-align:center;margin-bottom:28px}.title-row{display:flex;align-items:center;justify-content:center;gap:14px}.page-heading h1{margin:0;color:var(--navy);font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.035em}.page-heading p{margin:10px 0 0;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem)}.cards-icon{position:relative;width:46px;height:40px;flex:0 0 auto}.cards-icon span{position:absolute;width:29px;height:34px;border:2px solid var(--blue);border-radius:5px;background:var(--white)}.cards-icon span:nth-child(1){left:1px;top:1px}.cards-icon span:nth-child(2){left:8px;top:5px}.cards-icon span:nth-child(3){left:15px;top:9px}.toolbar{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(220px,1fr);align-items:end;gap:18px;margin-bottom:18px}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-weight:700;color:#374151}select,.search-group{border:1px solid var(--border);background:var(--white);border-radius:10px;box-shadow:0 3px 10px rgba(16,40,74,.05)}select{min-width:155px;padding:11px 38px 11px 12px;color:var(--text)}.progress-area{display:flex;justify-content:center}.progress-area span{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--white);font-weight:700;color:var(--navy);box-shadow:0 3px 10px rgba(16,40,74,.05)}.search-group{justify-self:end;width:min(100%,285px);display:flex;align-items:center;gap:8px;padding:0 12px}.search-icon{font-size:1.35rem;color:var(--muted)}.search-group input{min-width:0;width:100%;padding:11px 0;border:0;outline:0;background:transparent}.flashcard-stage{perspective:1400px;margin-top:6px}.flashcard{width:100%;min-height:355px;padding:0;border:0;border-radius:var(--radius);background:transparent;cursor:pointer;text-align:inherit}.flashcard:focus-visible{outline:4px solid rgba(37,99,235,.28);outline-offset:5px}.flashcard-inner{position:relative;width:100%;min-height:355px;transition:transform .65s cubic-bezier(.2,.75,.2,1);transform-style:preserve-3d}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(28px,6vw,64px);border:1px solid #ede9df;border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,253,246,.94)),var(--card);box-shadow:var(--shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{transform:rotateY(180deg)}.category-badge{position:absolute;top:20px;right:22px;padding:7px 11px;border:1px solid #bdd0fa;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.card-face h2{max-width:100%;margin:0;color:var(--navy-dark);text-align:center;font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.08;overflow-wrap:anywhere}.card-back h2{font-size:clamp(1.45rem,4vw,2.2rem)}.divider{width:min(320px,62%);height:2px;margin:24px auto;background:#e6e1d7}.card-back #definitionText{max-width:760px;margin:0;color:#253247;text-align:center;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.62}.flip-hint{margin:0;color:var(--muted);text-align:center;font-size:1rem}.primary-actions,.secondary-actions{display:grid;gap:14px;margin-top:16px}.primary-actions,.secondary-actions{grid-template-columns:repeat(3,1fr)}.primary-actions button,.secondary-actions button{min-height:54px;border-radius:12px;font-weight:750;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-actions button:hover,.secondary-actions button:hover{transform:translateY(-1px)}.secondary-btn,.utility-btn{border:1px solid var(--border);background:var(--white);color:var(--text);box-shadow:0 4px 12px rgba(16,40,74,.06)}.primary-btn{border:1px solid var(--navy);background:var(--navy);color:var(--white);box-shadow:0 7px 18px rgba(16,40,74,.23)}.primary-btn:hover{background:var(--navy-dark)}.utility-btn[aria-pressed=true]{border-color:#f0b429;background:#fff8dc}.status-message{min-height:24px;margin:14px 0 0;color:var(--muted);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.app-shell{padding:24px 12px 36px}.title-row{align-items:flex-start}.cards-icon{margin-top:5px;transform:scale(.84)}.toolbar{grid-template-columns:1fr 1fr;align-items:stretch}.control-group{flex-direction:column;align-items:stretch;gap:7px}select{width:100%}.search-group{width:100%}.progress-area{grid-column:1/-1;grid-row:2;order:3}.flashcard,.flashcard-inner{min-height:330px}.card-face{padding:52px 26px 34px}.category-badge{top:15px;right:16px}}@media(max-width:520px){.page-heading h1{font-size:2rem}.page-heading p{font-size:.98rem}.toolbar{grid-template-columns:1fr}.progress-area{grid-column:auto;grid-row:auto}.search-group{justify-self:stretch}.flashcard,.flashcard-inner{min-height:300px}.card-face h2{font-size:clamp(2rem,11vw,3.2rem)}.card-back #definitionText{font-size:1rem;line-height:1.5}.primary-actions,.secondary-actions{gap:9px}.primary-actions button,.secondary-actions button{min-height:50px;padding:8px 5px;font-size:.88rem}.secondary-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
