:root{--bg-main: #080C15;--bg-surface: #0E1422;--bg-card: rgba(18, 26, 43, .75);--bg-card-solid: #121A2B;--bg-card-hover: #1A253D;--border-subtle: rgba(255, 255, 255, .08);--border-active: rgba(255, 255, 255, .18);--color-emerald: #10B981;--color-emerald-light: #34D399;--color-emerald-glow: rgba(16, 185, 129, .28);--color-rose: #F43F5E;--color-rose-glow: rgba(244, 63, 94, .28);--color-amber: #F59E0B;--color-amber-glow: rgba(245, 158, 11, .25);--color-indigo: #6366F1;--color-indigo-light: #818CF8;--color-indigo-glow: rgba(99, 102, 241, .28);--color-violet: #8B5CF6;--text-main: #F8FAFC;--text-muted: #94A3B8;--text-dim: #64748B;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-card: 0 8px 32px 0 rgba(0, 0, 0, .4);--shadow-glow: 0 0 24px -4px var(--color-emerald-glow)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;line-height:1.5;background-image:radial-gradient(at 0% 0%,rgba(99,102,241,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(16,185,129,.1) 0px,transparent 50%);background-attachment:fixed}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:680px;margin:0 auto;position:relative;padding-bottom:90px}.app-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#080c15d9;border-bottom:1px solid var(--border-subtle);padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.brand-area{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#10b981,#6366f1);display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #10b98166}.brand-name{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:var(--radius-full);background:#6366f133;color:var(--color-indigo-light);border:1px solid rgba(99,102,241,.35)}.header-actions{display:flex;align-items:center;gap:10px}.streak-pill{display:flex;align-items:center;gap:5px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);padding:4px 10px;border-radius:var(--radius-full);font-family:var(--font-heading);font-weight:700;font-size:.85rem;color:#fbbf24}.icon-btn{background:#ffffff0d;border:1px solid var(--border-subtle);color:var(--text-muted);width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.icon-btn:hover{background:#ffffff1a;color:var(--text-main)}.icon-btn:active{transform:scale(.92)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a0f1aeb;border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom,8px)}.bottom-nav-inner{max-width:680px;margin:0 auto;display:flex;align-items:center;justify-content:space-around;padding:8px 12px}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:6px 12px;border-radius:var(--radius-md);position:relative;transition:all .2s ease;font-family:var(--font-heading);font-size:.72rem;font-weight:600}.nav-item.active{color:var(--color-emerald)}.nav-item.active .nav-icon-wrapper{background:var(--color-emerald-glow);color:var(--color-emerald)}.nav-icon-wrapper{padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-badge{position:absolute;top:2px;right:12px;background:var(--color-rose);color:#fff;font-size:.65rem;font-weight:800;padding:1px 6px;border-radius:var(--radius-full);box-shadow:0 0 8px var(--color-rose-glow)}.glass-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.4,0,.2,1)}.glass-card:hover{border-color:var(--border-active)}.question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.unit-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:var(--color-indigo-light)}.shift-tag{font-size:.72rem;color:var(--text-dim);font-weight:500}.progress-bar-track{width:100%;height:6px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden;margin:12px 0 18px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-indigo),var(--color-emerald));border-radius:var(--radius-full);transition:width .35s cubic-bezier(.4,0,.2,1)}.question-text-box{font-size:1.05rem;font-weight:500;line-height:1.65;color:#f1f5f9;margin-bottom:24px}.simple-question-container{width:100%}.simple-question-body{font-size:1.12rem;font-weight:600;line-height:1.7;color:#f8fafc;white-space:pre-wrap;word-break:break-word;padding:16px 18px;background:#6366f114;border:1px solid rgba(99,102,241,.25);border-left:4px solid #6366F1;border-radius:var(--radius-md);margin-top:18px;margin-bottom:22px}.simple-question-badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a5b4fc;background:#6366f133;padding:2px 8px;border-radius:4px;margin-bottom:8px}.simple-question-text{font-size:1.1rem;font-weight:600;color:#fff}.simple-context-box{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:20px}.simple-context-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a5b4fc;margin-bottom:8px}.simple-context-body{font-size:.94rem;line-height:1.65;color:#e2e8f0;white-space:pre-wrap;word-break:break-word;max-height:380px;overflow-y:auto}.simple-table-pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;line-height:1.65;color:#38bdf8;white-space:pre;overflow-x:auto;margin:0;padding:4px 0;-webkit-overflow-scrolling:touch}.di-table-card{margin-top:6px}.di-preamble-text{font-size:.92rem;line-height:1.6;color:#cbd5e1;margin-bottom:12px}.di-table-title{font-size:.95rem;font-weight:700;color:#f8fafc;text-align:center;margin-bottom:12px;padding:6px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);letter-spacing:.02em}.di-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0 14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#0f172a66}.di-html-table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:center}.di-html-table th{background:#1e293be6;color:#94a3b8;font-weight:600;font-size:.82rem;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.08);line-height:1.4;vertical-align:bottom;text-align:center}.di-html-table th:first-child{text-align:left}.di-html-table th:last-child{border-right:none}.di-html-table td{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);color:#f1f5f9;font-variant-numeric:tabular-nums;line-height:1.4}.di-html-table td:last-child{border-right:none}.di-html-table tr:last-child td{border-bottom:none}.di-html-table tr:hover td{background:#ffffff05}.di-col-header{font-weight:600;color:#38bdf8;text-align:left!important}.di-col-data{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.di-notes-text{font-size:.82rem;line-height:1.55;color:#94a3b8;margin-top:10px;font-style:italic;padding-top:4px}.simple-match-box{margin-bottom:16px}.simple-match-intro{font-size:1.05rem;font-weight:600;color:#f8fafc;margin-bottom:12px;line-height:1.45}.simple-match-table-wrapper{overflow-x:auto;margin:14px 0;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#0f172a66}.simple-match-table{width:100%;border-collapse:collapse;text-align:left}.simple-match-table th{padding:10px 14px;background:#ffffff0a;font-size:.85rem;font-weight:700;color:#38bdf8;border-bottom:1px solid rgba(255,255,255,.1)}.simple-match-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem;line-height:1.5;color:#f1f5f9;vertical-align:top}.simple-match-table tr:last-child td{border-bottom:none}.simple-match-key{font-weight:700;color:#a5b4fc;margin-right:4px}.simple-match-key.roman{color:#6ee7b7}.simple-match-outro{font-size:.95rem;color:#cbd5e1;font-style:italic;margin-top:10px;line-height:1.5}.options-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.option-btn{display:flex;align-items:flex-start;gap:14px;width:100%;min-height:54px;padding:14px 18px;border-radius:var(--radius-md);background:var(--bg-surface);border:1.5px solid var(--border-subtle);color:var(--text-main);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:.95rem;line-height:1.45;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.option-btn:hover:not(:disabled){border-color:#ffffff40;background:var(--bg-card-hover);transform:translateY(-1px)}.option-btn:active:not(:disabled){transform:scale(.985)}.option-key-badge{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:#ffffff14;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:.85rem;transition:all .2s ease}.option-btn.correct{background:#10b98129!important;border-color:var(--color-emerald)!important;box-shadow:0 0 20px -2px var(--color-emerald-glow)}.option-btn.correct .option-key-badge{background:var(--color-emerald);color:#052e16}.option-btn.incorrect{background:#f43f5e29!important;border-color:var(--color-rose)!important;box-shadow:0 0 20px -2px var(--color-rose-glow)}.option-btn.incorrect .option-key-badge{background:var(--color-rose);color:#fff}.option-btn.selected-exam{background:#6366f133!important;border-color:var(--color-indigo)!important}.option-btn.selected-exam .option-key-badge{background:var(--color-indigo);color:#fff}.cheat-sheet-popover{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards;background:linear-gradient(135deg,#f59e0b1f,#10b98114);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-md);padding:16px;margin-bottom:24px;box-shadow:0 8px 24px -6px #f59e0b33}.cheat-sheet-title{display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#fbbf24;margin-bottom:6px}.cheat-sheet-content{font-size:.92rem;color:#fef3c7;line-height:1.5}.btn-primary{width:100%;min-height:52px;border-radius:var(--radius-md);background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-family:var(--font-heading);font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 20px -2px #10b98166;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{width:100%;min-height:52px;border-radius:var(--radius-md);background:#ffffff0f;color:var(--text-main);border:1px solid var(--border-subtle);font-family:var(--font-heading);font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a}.health-meter-card{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:var(--radius-md);background:var(--bg-card-solid);border:1px solid var(--border-subtle);margin-bottom:10px;transition:all .2s ease}.health-meter-card.safe{border-left:4px solid var(--color-emerald)}.health-meter-card.warning{border-left:4px solid var(--color-amber)}.health-meter-card.leak{border-left:4px solid var(--color-rose);background:#f43f5e0d}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPopIn{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;background:#04070ed1!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;animation:modalFadeIn .2s ease-out;box-sizing:border-box}.modal-card{background:#0d1424!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:20px!important;box-shadow:0 24px 70px #000000d9,0 0 0 1px #ffffff14!important;max-width:440px!important;width:100%!important;max-height:90vh!important;overflow-y:auto!important;padding:22px!important;animation:modalPopIn .25s cubic-bezier(.16,1,.3,1)!important;position:relative!important;box-sizing:border-box}@media (max-width: 480px){.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-card{max-width:100%!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-bottom:none!important;max-height:85vh!important}}@keyframes pulseGlow{0%,to{box-shadow:0 0 16px var(--color-emerald-glow)}50%{box-shadow:0 0 28px #10b98180}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
