:root{--font-heading: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Fira Code", "Inter", monospace;--font-card-term: -apple-system-ui-serif, "New York", "Newsreader", "Iowan Old Style", "Apple Garamond", "Baskerville", "Times New Roman", serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--bg-primary: #141712;--bg-secondary: #191e16;--bg-card: #1e241b;--bg-card-hover: #262e22;--bg-input: #182015;--bg-glass: rgba(25, 32, 22, .9);--text-primary: #eef3eb;--text-secondary: #9aa893;--text-muted: #6e7c67;--text-accent: #96a87e;--accent-fire: #ff6b00;--accent-fire-bright: #ff8533;--accent-fire-deep: #e63900;--accent-fire-glow: rgba(255, 107, 0, .45);--accent-fire-gradient: linear-gradient(135deg, #ff4500 0%, #ff8c00 100%);--accent-solar-gold: #ffb703;--accent-primary: #96a87e;--accent-primary-hover: #a3b58b;--accent-glow: rgba(150, 168, 126, .3);--accent-cyan: #88b5a0;--accent-emerald: #96a87e;--accent-amber: #cbb779;--accent-rose: #d98585;--accent-violet: #96a87e;--border-subtle: rgba(150, 168, 126, .16);--border-focus: rgba(150, 168, 126, .45);--border-active: #8fa67a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 24px var(--accent-glow);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 9999px}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: #ffffff;--bg-input: #e2e8f0;--bg-glass: rgba(255, 255, 255, .85);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-accent: #0284c7;--border-subtle: rgba(0, 0, 0, .08);--border-focus: rgba(150, 168, 126, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 8px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100vw;width:100%}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 15% 15%,rgba(150,168,126,.07) 0px,transparent 50%),radial-gradient(at 85% 85%,rgba(110,130,95,.05) 0px,transparent 50%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .2s ease}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#96a87e;color:#151c11;font-weight:700;font-size:.95rem;padding:10px 20px;border-radius:var(--radius-md);border:none;cursor:pointer;box-shadow:0 4px 14px #96a87e40;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:#a3b58b;transform:translateY(-2px);box-shadow:0 6px 20px #96a87e59}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#96a87e14;color:var(--text-primary);font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#96a87e26;border-color:#96a87e4d}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:#96a87e14;color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s ease}.btn-icon:hover{color:#eef3eb;background:#96a87e2e;transform:scale(1.05)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.badge-emerald{background:#96a87e26;color:#96a87e;border:1px solid rgba(150,168,126,.3)}.badge-amber{background:#cbb77926;color:#cbb779;border:1px solid rgba(203,183,121,.3)}.badge-indigo{background:#96a87e26;color:#a4b595;border:1px solid rgba(150,168,126,.3)}.badge-rose{background:#d9858526;color:#d98585;border:1px solid rgba(217,133,133,.3)}.flashcard-3d-perspective{perspective:1400px;width:100%;max-width:780px;margin:0 auto}.flashcard-3d-inner{position:relative;width:100%;min-height:380px;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;cursor:pointer}.flashcard-3d-inner.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);padding:40px 48px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(150,168,126,.2);background:#1e241b;box-shadow:0 12px 36px #0006}.flashcard-front{background:radial-gradient(ellipse at 50% 0%,#96a87e1a,#1e241b 80%)}.flashcard-back{transform:rotateY(180deg);background:radial-gradient(ellipse at 50% 0%,#cbb7791a,#1e241b 80%);border-color:#cbb77940}.match-tile{min-height:110px;padding:16px 20px;border-radius:var(--radius-md);background:#1a2016;border:2px solid rgba(150,168,126,.18);color:var(--text-primary);display:flex;align-items:center;justify-content:center;text-align:center;font-size:1.15rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.match-tile:hover{transform:translateY(-2px);background:#232a1e;border-color:#96a87e59}.match-tile.selected{background:#283323;border-color:#96a87e;color:#fff;transform:scale(1.03);box-shadow:0 0 16px #96a87e59}.match-tile.matched{animation:matchDisappear .4s forwards;pointer-events:none}.match-tile.shake-error{animation:shakeError .4s cubic-bezier(.36,.07,.19,.97) both;background:#d9858540;border-color:#d98585}@keyframes shakeError{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(3px,0,0)}30%,50%,70%{transform:translate3d(-5px,0,0)}40%,60%{transform:translate3d(5px,0,0)}}@keyframes matchDisappear{0%{transform:scale(1.05);opacity:1;background:#96a87e66;border-color:#96a87e}50%{transform:scale(1.1);opacity:.8}to{transform:scale(0);opacity:0;height:0;min-height:0;padding:0;margin:0;border:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes flame-pulse{0%,to{filter:drop-shadow(0 0 5px rgba(255,107,0,.65));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(255,140,0,.9));transform:scale(1.08)}}.flame-hot{animation:flame-pulse 2s infinite ease-in-out}.kbd-hint{display:inline-flex;align-items:center;padding:2px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary)}.hide-on-mobile{display:inline-flex}.show-on-mobile{display:none!important}.desktop-nav{display:flex}.mobile-nav{display:none}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-bottom-dock{display:none}@media(max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}div.show-on-mobile{display:block!important}.desktop-nav,.mobile-nav{display:none!important}.app-header{padding-top:max(env(safe-area-inset-top,0px),0px)!important}.mobile-bottom-dock{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(56px + env(safe-area-inset-bottom,0px))!important;background:#131611;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(150,168,126,.15);padding:4px 8px max(6px,env(safe-area-inset-bottom,0px))!important;align-items:center;justify-content:space-around;box-sizing:border-box}.mobile-dock-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:#6e7c67;font-size:.72rem;font-weight:600;cursor:pointer;padding:6px 0;border-radius:12px;transition:all .15s ease}.mobile-dock-btn.active{color:#96a87e;background:#96a87e1f}.mobile-dock-btn.active svg{stroke:#96a87e;filter:drop-shadow(0 0 6px rgba(150,168,126,.4))}.app-header-container{height:52px!important;min-height:52px!important;padding:0 10px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}.app-header-row{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.flashcard-container{height:clamp(270px,45vh,360px)!important;margin-bottom:8px!important}.flashcard-front,.flashcard-back{padding:16px 14px!important}.deck-scroller-btn{padding:8px 12px!important;gap:8px!important}.match-tile{min-height:75px!important;font-size:.9rem!important;padding:8px 10px!important}main{padding:8px 12px calc(76px + env(safe-area-inset-bottom,0px))!important}}.term-card-row{padding:18px 24px;display:grid;grid-template-columns:1.2fr 1.6fr auto;align-items:center;gap:20px}@media(max-width:680px){.term-card-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:14px 16px!important}.term-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.term-card-bottom{width:100%;border-top:1px solid rgba(255,255,255,.07);padding-top:8px}}.responsive-modal-overlay{overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;width:100vw!important;max-width:100%!important;box-sizing:border-box!important}.responsive-modal-box{width:100%!important;max-width:min(540px,92vw)!important;box-sizing:border-box!important;overflow-x:hidden!important}
