*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg)}html{background:var(--app-bg)}:root{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--text-xs: 10px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-4xl: 32px;--min-font: 12px;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--success: #16a34a;--success-bg: #f0fdf4;--success-b: #86efac;--warning: #d97706;--warning-bg: #fffbeb;--warning-b: #fcd34d;--error: #dc2626;--error-bg: #fef2f2;--error-b: #fca5a5;--info: #0e7490;--info-bg: #f0f9ff;--info-b: #bae6fd;--font-sans: "Outfit", sans-serif;--font-serif: "Playfair Display", serif;--card:#ffffff;--card-b:rgba(0,0,0,.07);--card-shadow:0 2px 8px rgba(0,0,0,.06),0 8px 32px rgba(0,0,0,.04);--card-shadow-hover:0 8px 40px rgba(14,116,144,.14),0 2px 8px rgba(0,0,0,.06);--inp-bg:#ffffff;--inp-c:#1c1917;--inp-b:#e2e8f0;--ob-bg:#ffffff;--ob-c:#1c1917;--ob-b:#e2e8f0;--ob-hbg:linear-gradient(135deg,#f0f9ff,#e0f2fe);--nav-bg:rgba(255,255,255,.85);--nav-b:rgba(0,0,0,.06);--nav-lbl:#5c6370;--nav-active:#0e7490;--ghost-bg:#ffffff;--ghost-c:#475569;--ghost-b:#e2e8f0;--heading:#0f172a;--subtext:#555e6e;--sh-c:#5c6370;--rt-c:#374151;--bar-bg:rgba(0,0,0,.08);--app-bg: #f4f6f9;--accent: #0e7490;--accent-light: rgba(14,116,144,.12);--accent-hover: #0c6680;--brand:linear-gradient(135deg,#0e7490,#164e63);--brand-glow:rgba(14,116,144,.25);--gold:linear-gradient(135deg,#f59e0b,#d97706);--gold-glow:rgba(245,158,11,.3);--color-croatian: #D40030;--adriatic: #0284c7;--adriatic-light: #e0f2fe;--terracotta: #c2410c;--terracotta-light: #fff7ed;--stone: #f5f0e8;--stone-dark: #a8a29e;--lavender: #7c3aed;--lavender-light: #f5f3ff;--harvest: #d97706;--forest: #16a34a;--forest-light: #f0fdf4;--medal-gold: #f59e0b;--medal-silver: #64748b;--medal-bronze: #b45309;--warning-dark: #92400e;--warning-text: #92400e;--motion-instant: .08s;--motion-fast: .15s;--motion-base: .25s;--motion-slow: .4s;--motion-spring: cubic-bezier(.34,1.56,.64,1);--motion-ease: cubic-bezier(.4,0,.2,1);--tap-min: 44px;--z-base: 1;--z-above: 10;--z-dropdown: 100;--z-sticky: 500;--z-fixed: 1000;--z-modal-bg: 8000;--z-modal: 9000;--z-toast: 9500;--z-pwa: 9600;--z-top: 99999;--nav-h: 68px;--cta-h: 72px;--header-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}.card-grammar{border-left:4px solid var(--lavender, #7c3aed)}.grammar-hint{background:#0e749026;border-left:3px solid var(--info);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.card-vocab{border-left:4px solid var(--forest, #16a34a)}.card-culture{border-left:4px solid var(--terracotta, #c2410c)}.card-achievement{border-left:4px solid var(--harvest, #d97706)}.card-adriatic{border-left:4px solid var(--adriatic, #0284c7)}.shadow-base{box-shadow:0 1px 3px #00000014}.shadow-md{box-shadow:0 4px 12px #00000014,0 1px 4px #0000000d}.shadow-lg{box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f}.shadow-premium{box-shadow:0 12px 48px #0e749026,0 4px 16px #00000014}.c-featured{border:2px solid var(--harvest, #d97706);background:linear-gradient(135deg,var(--card) 0%,rgba(245,158,11,.04) 100%)}.c-compact{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md)}.stat-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:700;padding:3px 8px;border-radius:var(--radius-full);background:var(--success-bg, #f0fdf4);color:var(--success, #16a34a)}.stat-chip.warning{background:var(--warning-bg);color:var(--warning)}.stat-chip.info{background:var(--info-bg);color:var(--info)}.section-divider{display:flex;align-items:center;gap:10px;margin:24px 0 12px}.section-divider-line{width:3px;height:20px;border-radius:2px;background:var(--info);flex-shrink:0}.section-divider-text{font-size:var(--text-xs);font-weight:800;color:var(--heading);letter-spacing:.08em;text-transform:uppercase}.type-badge{display:inline-block;font-size:12px;font-weight:800;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.type-badge-history{background:#7c3aed1a;color:#7c3aed}.type-badge-reading{background:#16a34a1a;color:#16a34a}.type-badge-culture{background:#c2410c1a;color:#c2410c}.type-badge-language{background:#0e74901a;color:#0e7490}.type-badge-new{background:#dc2626;color:#fff}.growth-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);background:var(--bar-bg);margin-bottom:8px;transition:background .15s}.growth-item:hover{background:var(--card-b)}.growth-bar{flex:1;height:4px;background:var(--card-b);border-radius:2px;overflow:hidden}.growth-fill{height:100%;background:linear-gradient(90deg,var(--warning),var(--success));border-radius:2px;transition:width .5s ease}.grad-diagonal-soft{background:linear-gradient(110deg,var(--card) 0%,rgba(14,116,144,.04) 100%)}.grad-warm{background:linear-gradient(135deg,#f59e0b14,#c2410c0f)}.grad-heritage{background:linear-gradient(155deg,#060e1e,#0a2348 40%,#0c3868)}.grad-adriatic{background:linear-gradient(135deg,#0e7490,#0284c7,#164e63)}.grad-gold{background:linear-gradient(110deg,#f59e0b,#d97706 60%,#b45309)}.grad-achievement{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.grad-croatia{background:linear-gradient(135deg,#b61800,#c2410c,#7c3aed)}.card-bg-grammar{background:linear-gradient(135deg,var(--card) 0%,rgba(124,58,237,.04) 100%)}.card-bg-vocab{background:linear-gradient(135deg,var(--card) 0%,rgba(22,163,74,.04) 100%)}.card-bg-culture{background:linear-gradient(135deg,var(--card) 0%,rgba(194,65,12,.04) 100%)}.card-bg-achievement{background:linear-gradient(135deg,var(--card) 0%,rgba(245,158,11,.04) 100%)}.hero-compressed{padding:16px 20px 20px!important}.hero-greeting-sm{font-size:var(--text-2xl)!important}.dark{--color-croatian: #ff3355;--card:#1e293b;--card-b:rgba(255,255,255,.08);--card-shadow:0 2px 8px rgba(0,0,0,.3),0 8px 32px rgba(0,0,0,.2);--card-shadow-hover:0 8px 40px rgba(14,116,144,.2),0 2px 8px rgba(0,0,0,.3);--inp-bg:#0f172a;--inp-c:#e2e8f0;--inp-b:#334155;--ob-bg:#1e293b;--ob-c:#e2e8f0;--ob-b:#334155;--ob-hbg:linear-gradient(135deg,rgba(14,116,144,.18),rgba(14,116,144,.1));--nav-bg:rgba(15,23,42,.9);--nav-b:rgba(255,255,255,.08);--nav-lbl:#b8c8da;--ghost-bg:#1e293b;--ghost-c:#94a3b8;--ghost-b:#334155;--heading:#e2e8f0;--subtext:#94a3b8;--sh-c:#8899b0;--rt-c:#cbd5e1;--bar-bg:rgba(255,255,255,.1);--app-bg: #0b1120;--success: #4ade80;--success-bg: rgba(74,222,128,.1);--success-b: rgba(74,222,128,.3);--warning: #fbbf24;--warning-bg: rgba(251,191,36,.1);--warning-b: rgba(251,191,36,.3);--error: #f87171;--error-bg: rgba(248,113,113,.1);--error-b: rgba(248,113,113,.3);--info: #38bdf8;--info-bg: rgba(56,189,248,.1);--info-b: rgba(56,189,248,.3);--adriatic: #38bdf8;--adriatic-light: rgba(56,189,248,.12);--terracotta: #fb923c;--terracotta-light: rgba(251,146,60,.1);--stone: #292524;--stone-dark: #57534e;--lavender: #a78bfa;--lavender-light: rgba(167,139,250,.12);--harvest: #fbbf24;--forest: #4ade80;--forest-light: rgba(74,222,128,.1);--medal-gold: #fbbf24;--medal-silver: #94a3b8;--medal-bronze: #d97706;--warning-dark: #fbbf24;--warning-text: #fcd34d;--warning-bg: rgba(245, 158, 11, .15)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes spring-in{0%{transform:translateY(8px) scale(.95);opacity:0}60%{transform:translateY(-3px) scale(1.02);opacity:1}80%{transform:translateY(1px) scale(.99)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes correct-flash{0%{background-color:inherit}25%{background-color:#dcfce7}75%{background-color:#dcfce7}to{background-color:inherit}}@keyframes wrong-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes xp-pulse{0%{transform:scale(1)}50%{transform:scale(1.15);filter:brightness(1.2)}to{transform:scale(1)}}@keyframes streak-glow{0%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 12px rgba(245,158,11,.6),0 0 24px rgba(245,158,11,.3)}to{text-shadow:0 0 0 transparent}}@keyframes shimmer-util{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bar-fill{0%{width:0%}to{width:var(--bar-target, 100%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroShimmer{0%{background-position:-200% 0;opacity:0}20%{opacity:1}50%{background-position:200% 0;opacity:1}80%{opacity:0}to{background-position:200% 0;opacity:0}}@keyframes knightFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes knightBounce{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(-14px) scale(1.04)}40%{transform:translateY(0) scale(.97)}60%{transform:translateY(-7px) scale(1.02)}80%{transform:translateY(0) scale(.99)}}@keyframes knightTilt{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes knightDroop{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(4px) rotate(-2deg)}}@keyframes knightPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes knightWobble{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}@keyframes flip-in{0%{transform:rotateY(-90deg) scale(.9);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes count-up-pop{0%{transform:scale(1)}30%{transform:scale(1.4);color:#f59e0b}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}60%{transform:translate(-50%,-50%) scale(1.08)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes kenBurns1{0%{transform:scale(1) translate(0)}50%{transform:scale(1.07) translate(-1.2%,-.8%)}to{transform:scale(1) translate(0)}}@keyframes kenBurns2{0%{transform:scale(1.07) translate(-1%)}50%{transform:scale(1) translateY(-1%)}to{transform:scale(1.07) translate(-1%)}}@keyframes kenBurns3{0%{transform:scale(1) translate(1%)}50%{transform:scale(1.07) translateY(1%)}to{transform:scale(1) translate(1%)}}@keyframes kenBurns4{0%{transform:scale(1.07) translateY(-1%)}50%{transform:scale(1) translate(-1%)}to{transform:scale(1.07) translateY(-1%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% -200%}to{background-position:200% 200%}}@keyframes glow{0%,to{box-shadow:0 0 8px var(--brand-glow)}50%{box-shadow:0 0 24px var(--brand-glow),0 0 48px var(--brand-glow)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1)}}@keyframes streakPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes flameDance{0%,to{transform:scaleY(1) scaleX(1) translateY(0);filter:hue-rotate(0deg)}25%{transform:scaleY(1.05) scaleX(.97) translateY(-1px);filter:hue-rotate(-10deg)}50%{transform:scaleY(.97) scaleX(1.03) translateY(1px);filter:hue-rotate(10deg)}75%{transform:scaleY(1.04) scaleX(.98) translateY(-1px);filter:hue-rotate(-5deg)}}@keyframes confettiDrop{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes celebPop{0%{transform:scale(.5) rotate(-5deg);opacity:0}65%{transform:scale(1.06) rotate(1deg)}85%{transform:scale(.98)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes starBurst{0%{transform:scale(0) rotate(0);opacity:1}to{transform:scale(1.5) rotate(180deg);opacity:0}}@keyframes xpFloat{0%{transform:translateY(0);opacity:1}to{transform:translateY(-60px);opacity:0}}@keyframes coinSpin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes ringFill{0%{stroke-dashoffset:283}to{stroke-dashoffset:var(--ring-offset,0)}}@keyframes correctFlash{0%,to{background:var(--ob-bg)}40%{background:#dcfce7}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes heartBreak{0%{transform:scale(1)}30%{transform:scale(1.3)}50%{transform:scale(.5) rotate(-15deg);opacity:.6}to{transform:scale(0);opacity:0}}@keyframes levelUpFlash{0%,to{opacity:0}20%,80%{opacity:1}}@keyframes nodeGlow{0%,to{box-shadow:0 0 #0e749066}50%{box-shadow:0 0 0 12px #0e749000}}@keyframes nodePulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pathDraw{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 0 var(--ring-clr,rgba(37,99,235,.35))}50%{box-shadow:0 0 0 6px transparent}}@keyframes lk-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tooltipIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fcFlip{0%{transform:rotateY(90deg);opacity:.5}to{transform:rotateY(0);opacity:1}}@keyframes tileSnap{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes tileShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-32px);opacity:0}}@keyframes slide-in-right{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(32px);opacity:0}}@keyframes slide-in-left{0%{transform:translate(-32px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-out-quick{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes tab-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tab-enter{animation:tab-enter .22s cubic-bezier(.4,0,.2,1) both}.slide-in-right{animation:slide-in-right .22s cubic-bezier(.4,0,.2,1) both}.slide-in-left{animation:slide-in-left .22s cubic-bezier(.4,0,.2,1) both}.slide-out-left{animation:slide-out-left .18s cubic-bezier(.4,0,1,1) both}.skip-link{position:absolute;top:-100%;left:0;padding:12px 20px;background:#0e7490;color:#fff;font-weight:700;font-size:15px;z-index:var(--z-toast);border-radius:0 0 8px;text-decoration:none}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--info);outline-offset:3px}.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}.glass{background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:0 8px 32px #00000014,0 1px #fff9 inset}.dark .glass{background:#1e293bb8;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,0 1px #ffffff0f inset}.c{background:var(--card);border:1px solid var(--card-b);border-radius:20px;padding:20px;box-shadow:var(--card-shadow);transition:box-shadow .25s,transform .2s}.c:hover{box-shadow:var(--card-shadow-hover)}.tc{background:var(--card);border:1.5px solid var(--card-b);border-radius:20px;padding:16px;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s;box-shadow:var(--card-shadow)}.tc:hover{border-color:#0e74904d;transform:translateY(-3px) scale(1.01);box-shadow:0 12px 40px #0e749029,0 2px 8px #0000000f}.tc:active{transform:translateY(-1px) scale(.99);box-shadow:var(--card-shadow)}.glow-card{background:var(--card);border:1.5px solid rgba(14,116,144,.2);border-radius:20px;padding:20px;box-shadow:0 0 0 3px #0e74900f,var(--card-shadow);animation:glow 3s ease-in-out infinite}.tab-hero{background:linear-gradient(160deg,#060e1e,#0a2348 55%,#0c3868);border-radius:20px;overflow:hidden;margin-bottom:20px;position:relative;box-shadow:0 8px 40px #00000061}.tab-hero-stripe{height:4px;background:linear-gradient(90deg,var(--color-croatian) 0%,var(--color-croatian) 50%,#C8980A 50%,#C8980A 100%)}.tab-hero-body{padding:22px 20px 24px;position:relative;z-index:1}.section-hdr{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1.5px solid var(--card-b)}.section-hdr-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.section-hdr-text{flex:1;min-width:0}.section-hdr-title{font-size:var(--text-base);font-weight:800;color:var(--heading);line-height:1.2;margin-bottom:2px;font-family:Outfit,sans-serif}.section-hdr-sub{font-size:var(--text-xs);color:var(--subtext);font-weight:500;line-height:1.4}.section-hdr-badge{font-size:var(--text-xs);color:var(--subtext);font-weight:700;background:var(--bar-bg);border-radius:8px;padding:3px 10px;flex-shrink:0;white-space:nowrap}.section-block{margin-bottom:28px}.b{padding:14px 24px;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,filter .15s;font-family:Outfit,sans-serif;letter-spacing:.01em;line-height:1;position:relative;overflow:hidden}.b:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.2) 0%,transparent 60%);opacity:0;transition:opacity .3s}.b:hover:after{opacity:1}.b:hover{transform:translateY(-2px)}.b:active{transform:translateY(0) scale(.97)}.b:active{transform:scale(.96)}.b:focus-visible{outline:3px solid rgba(14,116,144,.45);outline-offset:3px}.bp{background:linear-gradient(135deg,#0e7490,#0a5c73 60%,#164e63);color:#fff;box-shadow:0 4px 16px #0e749059,0 1px #ffffff26 inset}.bp:hover{box-shadow:0 8px 28px #0e749073,0 1px #ffffff26 inset}.bs{background:linear-gradient(135deg,#16a34a,#118a3e 60%,#166534);color:#fff;box-shadow:0 4px 16px #16a34a4d,0 1px #ffffff26 inset}.bs:hover{box-shadow:0 8px 28px #16a34a66}.bw{background:linear-gradient(135deg,#f59e0b,#d97706 60%,#b45309);color:#fff;box-shadow:0 4px 16px #f59e0b4d,0 1px #fff3 inset}.bw:hover{box-shadow:0 8px 28px #f59e0b66}.bv{background:linear-gradient(135deg,#7c3aed,#6d28d9 60%,#5b21b6);color:#fff;box-shadow:0 4px 16px #7c3aed4d,0 1px #ffffff26 inset}.bv:hover{box-shadow:0 8px 28px #7c3aed66}.bd{background:linear-gradient(135deg,#ef4444,#dc2626 60%,#b91c1c);color:#fff;box-shadow:0 4px 16px #ef44444d,0 1px #ffffff26 inset}.bd:hover{box-shadow:0 8px 28px #ef444466}.bg{background:var(--ghost-bg);color:var(--ghost-c);border:1.5px solid var(--ghost-b);box-shadow:0 1px 4px #0000000f}.bg:hover{background:var(--ob-hbg);border-color:#0e7490;color:#0e7490}.bgold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 16px #f59e0b59;font-weight:800;letter-spacing:.02em}.bgold:hover{box-shadow:0 8px 28px #f59e0b80;transform:translateY(-2px) scale(1.02)}button,[role=button],a,input[type=checkbox],input[type=radio]{min-height:44px}.nav-btn{min-height:unset}.pill,.filter-chip,.cat-chip{min-height:44px}input[type=text],input[type=password],input[type=email],input[type=search],textarea{width:100%;padding:14px 18px;border:1.5px solid var(--inp-b);border-radius:14px;background:var(--inp-bg);color:var(--inp-c);font-size:15px;font-weight:500;outline:none;font-family:Outfit,sans-serif;transition:border-color .2s,box-shadow .2s}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}input:focus,textarea:focus{border-color:#0e7490;box-shadow:0 0 0 4px #0e74901a,0 1px 4px #0000000f}input::placeholder,textarea::placeholder{color:#6b7280;font-weight:400}.ob{width:100%;padding:15px 20px;border:2px solid var(--ob-b);border-radius:14px;background:var(--ob-bg);color:var(--ob-c);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-family:Outfit,sans-serif;text-align:left;margin-bottom:10px;box-shadow:0 1px 4px #0000000a;position:relative;overflow:hidden}.ob:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;border-radius:0 4px 4px 0;transition:background .2s}.ob:hover{border-color:#0e749066;background:var(--ob-hbg);transform:translate(4px);box-shadow:0 4px 16px #0e74901f}.ob:hover:before{background:#0e7490}.ob:active{transform:translate(2px) scale(.99)}.ob.ok{border-color:#16a34a;background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;animation:correctFlash .4s ease}.ob.ok:before{background:#16a34a}.ob.no{border-color:#dc2626;background:linear-gradient(135deg,#fff5f5,#fee2e2);color:#b91c1c;animation:shakeX .4s ease}.ob.no:before{background:#dc2626}.sh{font-size:12px;font-weight:800;color:var(--sh-c);margin-bottom:10px;margin-top:24px;letter-spacing:.12em;text-transform:uppercase}.rt{font-size:17px;line-height:1.6;color:var(--rt-c)}.rt .w{cursor:pointer;border-radius:4px;padding:1px 4px;transition:all .15s}.rt .w:hover{background:#0e74901f;color:#0e7490}.app-content{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.nav-bar{position:fixed;bottom:0;left:0;right:0;background:var(--nav-bg);border-top:1px solid var(--nav-b);display:flex;justify-content:space-around;align-items:center;padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom));z-index:var(--z-modal);backdrop-filter:saturate(200%) blur(28px);-webkit-backdrop-filter:saturate(200%) blur(28px)}.nav-btn{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:7px 12px;min-width:60px;border-radius:16px;transition:background .18s;position:relative}.nav-btn:active{background:#0e749014}.nav-btn .nav-icon{font-size:22px;display:block;transition:transform .25s cubic-bezier(.25,.46,.45,.94)}.nav-btn .nav-label{font-size:12px;font-weight:600;color:var(--nav-lbl);transition:color .18s,font-weight .18s}.nav-btn.active .nav-icon{transform:scale(1.06) translateY(-1px)}.nav-btn.active .nav-label{font-weight:800;color:#0e7490}.nav-btn.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:20px;height:3px;background:linear-gradient(90deg,#0e7490,#06b6d4);border-radius:2px;animation:slideIn .2s ease}.dash{max-width:640px;margin:0 auto;padding:20px 16px 92px;position:relative;z-index:1;animation:rise .35s ease}.scr-wrap{max-width:640px;margin:0 auto;padding:20px 16px 92px;position:relative;z-index:1;animation:slideUp .28s cubic-bezier(.4,0,.2,1)}.sidebar{display:none;position:fixed;top:0;left:0;bottom:0;width:268px;background:var(--nav-bg);border-right:1px solid var(--nav-b);z-index:var(--z-modal);flex-direction:column;overflow-y:auto;backdrop-filter:saturate(200%) blur(28px);-webkit-backdrop-filter:saturate(200%) blur(28px);scrollbar-width:thin}.sb-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:10px;border:none;background:none;cursor:pointer;transition:background .15s;font-family:Outfit,sans-serif;color:var(--nav-lbl);font-size:14px;font-weight:600;margin-bottom:2px;text-align:left}.sb-btn:hover{background:var(--bar-bg)}.sb-btn.active{background:#00286814;color:#002868;font-weight:700}.sb-btn.active.croatia-tab{background:#cc000012;color:#c00}.sb-badge{background:linear-gradient(135deg,#e11d48,#be123c);color:#fff;font-size:12px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1;box-shadow:0 2px 8px #e11d484d}.prog-track{width:100%;height:10px;background:var(--bar-bg);border-radius:10px;overflow:hidden;position:relative}.prog-fill{height:100%;background:linear-gradient(90deg,#0e7490,#06b6d4);border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.prog-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite;background-size:200% 100%}.cefr{font-size:12px;font-weight:800;border-radius:6px;padding:3px 7px;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.cefr-a1{color:#16a34a;background:#f0fdf4;border:1px solid #86efac}.cefr-a2{color:#059669;background:#ecfdf5;border:1px solid #6ee7b7}.cefr-b1{color:#d97706;background:#fffbeb;border:1px solid #fcd34d}.cefr-b2{color:#7c3aed;background:#f5f3ff;border:1px solid #c4b5fd}.cefr-c1{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}.streak-flame{display:inline-flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;background:linear-gradient(135deg,#f9731626,#ef44441a);border:1.5px solid rgba(249,115,22,.3);border-radius:20px;font-weight:800;color:#ea580c}.streak-flame .fire{font-size:18px;animation:flameDance 1.5s ease-in-out infinite;display:inline-block;transform-origin:bottom center}.streak-flame.hot .fire{filter:hue-rotate(-20deg) saturate(150%);animation-duration:.8s}.hearts-row{display:flex;align-items:center;gap:6px}.heart{font-size:20px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-block}.heart.full{filter:drop-shadow(0 2px 4px rgba(239,68,68,.3))}.heart.breaking{animation:heartBreak .5s ease forwards}.heart.empty{filter:grayscale(1) opacity(.35)}.goal-ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.goal-ring-svg circle.track{fill:none;stroke:var(--bar-bg);stroke-width:7}.goal-ring-svg circle.fill{fill:none;stroke:url(#ringGrad);stroke-width:7;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.goal-ring-label{position:absolute;text-align:center;font-family:Outfit,sans-serif}.tile{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--card);border:2px solid var(--card-b);border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px #0000001f,0 1px 3px #00000014;user-select:none;position:relative}.tile:hover{border-color:#0e749066;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);transform:translateY(-3px);box-shadow:0 6px #0e749033,0 2px 8px #0e749026}.tile:active{transform:translateY(0);box-shadow:0 1px #0000001f}.tile.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1d4ed8;box-shadow:0 3px #3b82f64d;animation:tileSnap .2s ease}.tile.placed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#16a34a;color:#15803d}.tile.wrong{animation:tileShake .3s ease}.tile-zone{min-height:56px;padding:10px 12px;border:2px dashed var(--card-b);border-radius:16px;display:flex;flex-wrap:wrap;gap:8px;background:var(--bar-bg);transition:border-color .2s}.tile-zone.active{border-color:#0e7490;background:#0e74900a}.path-node{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;border:3px solid;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;position:relative;z-index:2;flex-shrink:0}.path-node.done{background:linear-gradient(135deg,#16a34a,#15803d);border-color:#16a34a;color:#fff;box-shadow:0 4px 16px #16a34a59}.path-node.active{background:linear-gradient(135deg,#0e7490,#164e63);border-color:#0e7490;color:#fff;box-shadow:0 4px 16px #0e749066;animation:nodeGlow 2s ease-in-out infinite,nodePulse 2s ease-in-out infinite}.path-node.locked{background:var(--card);border-color:var(--card-b);color:var(--subtext);opacity:.55;cursor:default}.path-node:hover:not(.locked){transform:scale(1.1)}.path-node.active:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(14,116,144,.3);animation:nodeGlow 2s ease-in-out infinite}.xp-particle{position:fixed;pointer-events:none;z-index:calc(var(--z-top) - 1);font-size:14px;font-weight:800;color:#f59e0b;animation:xpFloat .8s ease forwards;text-shadow:0 2px 8px rgba(245,158,11,.4)}.skeleton{background:linear-gradient(135deg,var(--card-b) 25%,rgba(0,0,0,.04) 50%,var(--card-b) 75%);background-size:400% 400%;animation:shimmer 1.5s infinite;border-radius:8px}.dark .skeleton{background:linear-gradient(135deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:400% 400%;animation:shimmer 1.5s infinite}.fc-scene{perspective:1200px;width:100%;height:240px;margin-top:20px}.fc-card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.34,1.56,.64,1);cursor:pointer;position:relative}.fc-card.flipped{transform:rotateY(180deg)}.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.fc-front{background:linear-gradient(135deg,#dbeafe,#bfdbfe 60%,#93c5fd);box-shadow:0 8px 32px #3b82f633}.fc-back{background:linear-gradient(135deg,#dcfce7,#bbf7d0 60%,#86efac);transform:rotateY(180deg);box-shadow:0 8px 32px #16a34a33}.dc-opt:not(:disabled):hover{border-color:#7c3aed!important;background:#faf5ff!important}.dark .dc-opt:not(:disabled):hover{background:#7c3aed26!important}.sr-item{padding:12px 16px;border-bottom:1px solid var(--card-b);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .1s}.sr-item:hover,.sr-item:active{background:var(--ob-hbg)}.sr-close{padding:10px;text-align:center;font-size:12px;color:var(--subtext);cursor:pointer;border-top:1px solid var(--card-b)}.sr-close:hover{color:#0e7490}.milestone-border{border-left:3px solid var(--color-croatian)!important}@media(min-width:768px){.nav-bar{display:none}.sidebar{display:flex}.app-content{margin-left:268px}.dash,.scr-wrap{max-width:860px;margin:0 auto;padding:36px 36px 52px}.c{border-radius:24px;padding:24px}.tc{border-radius:24px}}@media(min-width:1200px){.dash,.scr-wrap{max-width:1100px;padding:36px 52px 52px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.anim-streak,.streak-flame .fire,.glow-card{animation:none!important;transition:color .2s ease!important}.path-node.active,.dc-boat-group,.dc-wave-group,.gs-bubble-1,.gs-bubble-2,.cs-confetti-group,.cs-trophy-group,.cs-burst-group{animation:none!important}svg *{animation-duration:.01ms!important;animation-iteration-count:1!important}}button.tc{font-family:Outfit,sans-serif;width:100%;cursor:pointer;display:block}button.c{font-family:Outfit,sans-serif;width:100%;cursor:pointer;display:block;text-align:left}[data-theme=dark] .card-grammar{border-left-color:#a78bfa}[data-theme=dark] .card-vocab{border-left-color:#4ade80}[data-theme=dark] .card-culture{border-left-color:#fb923c}[data-theme=dark] .card-achievement{border-left-color:#fbbf24}[data-theme=dark] .grad-diagonal-soft{background:linear-gradient(110deg,var(--card) 0%,rgba(56,189,248,.04) 100%)}.dark .card-grammar{border-left-color:#a78bfa}.dark .card-vocab{border-left-color:#4ade80}.dark .card-culture{border-left-color:#fb923c}.dark .card-achievement{border-left-color:#fbbf24}.dark .grad-diagonal-soft{background:linear-gradient(110deg,var(--card) 0%,rgba(56,189,248,.04) 100%)}.anim-bounce-in{animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1) forwards}.anim-spring-in{animation:spring-in .4s ease forwards}.anim-correct{animation:correct-flash .5s ease forwards}.anim-wrong{animation:wrong-shake .4s ease forwards}.anim-xp-pulse{animation:xp-pulse .6s ease forwards}.anim-streak{animation:streak-glow 2s ease-in-out infinite}.anim-fade-up{animation:fade-up .35s ease forwards}.anim-flip-in{animation:flip-in .35s ease forwards}.anim-children-fade>*:nth-child(1){animation:fade-up .3s .05s ease both}.anim-children-fade>*:nth-child(2){animation:fade-up .3s .1s ease both}.anim-children-fade>*:nth-child(3){animation:fade-up .3s .15s ease both}.anim-children-fade>*:nth-child(4){animation:fade-up .3s .2s ease both}.anim-children-fade>*:nth-child(5){animation:fade-up .3s .25s ease both}.anim-children-fade>*:nth-child(6){animation:fade-up .3s .3s ease both}.flashcard-scene{perspective:900px;width:100%}.flashcard-3d{width:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-3d.is-flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;width:100%}.flashcard-face.is-back{transform:rotateY(180deg);position:absolute;top:0;left:0}.bar-animated{transition:width .8s cubic-bezier(.4,0,.2,1)}.bar-shimmer{position:relative;overflow:hidden}.bar-shimmer:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:800;font-family:var(--font-sans);letter-spacing:.06em;line-height:1.4;flex-shrink:0}.badge-success{color:var(--success);background:var(--success-bg);border:1px solid var(--success-b)}.badge-warning{color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-b)}.badge-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-b)}.badge-info{color:var(--info);background:var(--info-bg);border:1px solid var(--info-b)}.badge-neutral{color:var(--subtext);background:var(--bar-bg);border:1px solid var(--card-b)}.icon-box{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-lg);background:var(--bar-bg);font-size:18px}.icon-box-sm{width:44px;height:44px;font-size:18px;border-radius:var(--radius-md)}.icon-box-lg{width:48px;height:48px;font-size:22px;border-radius:var(--radius-xl)}.sec-hd{font-size:var(--text-xs);font-weight:800;color:var(--sh-c);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-sm);margin-top:var(--space-2xl);font-family:var(--font-sans)}.alert{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border-width:1px;border-style:solid}.alert-success{background:var(--success-bg);border-color:var(--success-b);color:var(--success)}.alert-warning{background:var(--warning-bg);border-color:var(--warning-b);color:var(--warning)}.alert-error{background:var(--error-bg);border-color:var(--error-b);color:var(--error)}.alert-info{background:var(--info-bg);border-color:var(--info-b);color:var(--info)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center;gap:var(--space-sm)}.empty-state .es-icon{font-size:40px;line-height:1;margin-bottom:var(--space-sm)}.empty-state .es-title{font-size:var(--text-base);font-weight:800;color:var(--heading);font-family:var(--font-sans)}.empty-state .es-desc{font-size:var(--text-sm);color:var(--subtext);line-height:var(--leading-normal);font-family:var(--font-sans)}.text-heading{color:var(--heading);font-family:var(--font-sans)}.text-sub{color:var(--subtext);font-family:var(--font-sans)}.text-brand{color:var(--info)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.fw-800{font-weight:800}.fw-700{font-weight:700}.fw-600{font-weight:600}.lh-tight{line-height:var(--leading-tight)}.lh-snug{line-height:var(--leading-snug)}.lh-normal{line-height:var(--leading-normal)}.anim-stagger-sm>*:nth-child(1){animation:spring-in .35s 0s ease both}.anim-stagger-sm>*:nth-child(2){animation:spring-in .35s .05s ease both}.anim-stagger-sm>*:nth-child(3){animation:spring-in .35s .1s ease both}.anim-stagger-sm>*:nth-child(4){animation:spring-in .35s .15s ease both}.anim-stagger-sm>*:nth-child(5){animation:spring-in .35s .2s ease both}.anim-stagger-sm>*:nth-child(6){animation:spring-in .35s .25s ease both}.anim-stagger-sm>*:nth-child(7){animation:spring-in .35s .3s ease both}.anim-stagger-sm>*:nth-child(8){animation:spring-in .35s .35s ease both}.anim-children-fade>*:nth-child(7){animation:fade-up .3s .35s ease both}.anim-children-fade>*:nth-child(8){animation:fade-up .3s .4s ease both}.hover-lift{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.hover-lift:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.anim-stagger-sm>*,.anim-children-fade>*{animation:none!important;opacity:1!important}}.native-android *{animation-duration:.001ms!important;animation-delay:0ms!important;animation-fill-mode:forwards!important}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.screen-enter{animation:screenIn .22s cubic-bezier(.34,1.2,.64,1) both}@media(prefers-reduced-motion:reduce){.screen-enter{animation:none!important;opacity:1!important}}.g1{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}.g2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}@media(max-width:480px){.g3{grid-template-columns:1fr 1fr}.g3-mobile-1{grid-template-columns:1fr}}@media(max-width:360px){.g2,.g3{grid-template-columns:1fr}}.cipka-divider{position:relative;margin:var(--space-lg) 0 var(--space-md);display:flex;align-items:center;gap:10px;opacity:.6}.cipka-divider:before,.cipka-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--card-b) 30%,var(--card-b) 70%,transparent)}.cipka-divider>span{flex-shrink:0;display:block;width:80px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='16'%3E%3Cpath d='M0 8 L8 0 L16 8 L8 16 Z' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3Cpath d='M16 8 L24 0 L32 8 L24 16 Z' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3Cpath d='M32 8 L40 0 L48 8 L40 16 Z' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3Cpath d='M48 8 L56 0 L64 8 L56 16 Z' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3Cpath d='M64 8 L72 0 L80 8 L72 16 Z' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3Ccircle cx='16' cy='8' r='2' fill='%2394a3b8'/%3E%3Ccircle cx='32' cy='8' r='2' fill='%2394a3b8'/%3E%3Ccircle cx='48' cy='8' r='2' fill='%2394a3b8'/%3E%3Ccircle cx='64' cy='8' r='2' fill='%2394a3b8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;user-select:none}.card-hr{border-top:3px solid transparent;border-image:repeating-linear-gradient(90deg,var(--color-croatian) 0px,var(--color-croatian) 8px,#ffffff 8px,#ffffff 16px) 3}.media-card{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;cursor:pointer}.media-card:hover,.media-card:focus-within{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 40px #0000002e}.text-adriatic{background:linear-gradient(135deg,var(--adriatic, #0e7490),#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.accent-hr{display:block;width:40px;height:3px;background:var(--color-croatian);border-radius:2px;margin:var(--space-xs) 0 var(--space-sm)}.b:active{transform:scale(.97);transition:transform .08s ease}.c:active{transform:scale(.99);transition:transform .08s ease}.qb{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease;cursor:pointer}.qb:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 6px 20px #0000002e}.qb:active{transform:scale(.96)}*,*:before,*:after{transition:background-color .25s ease,border-color .25s ease,color .2s ease}img,video,canvas,.skeleton,[class*=anim-],[style*=animation]{transition:none!important}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:3px solid var(--info);outline-offset:3px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.empty-state-hr{text-align:center;padding:var(--space-3xl) var(--space-lg);color:var(--subtext);font-family:var(--font-sans)}.empty-state-hr .es-emoji{font-size:44px;margin-bottom:var(--space-md)}.empty-state-hr .es-title{font-size:var(--text-xl);font-weight:800;color:var(--heading);margin-bottom:var(--space-sm);font-family:var(--font-serif)}.empty-state-hr .es-desc{font-size:var(--text-base);line-height:var(--leading-normal);max-width:280px;margin:0 auto}.offline-banner{position:fixed;bottom:76px;left:50%;transform:translate(-50%);z-index:var(--z-pwa);background:var(--warning);color:#fff;border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-2xl);font-size:var(--text-sm);font-weight:700;box-shadow:0 4px 20px #00000040;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1) both;white-space:nowrap;font-family:var(--font-sans)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.sub-tab-row{display:flex;gap:var(--space-sm);padding:4px 0;border-bottom:1px solid var(--bar-bg);margin-bottom:var(--space-lg)}.sub-tab-pill{flex:1;min-height:var(--tap-min);padding:10px var(--space-sm);border-radius:var(--radius-full);border:none;background:var(--bar-bg);color:var(--subtext);font-weight:700;font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),transform var(--motion-instant) ease;display:flex;align-items:center;justify-content:center;gap:5px}.sub-tab-pill:active{transform:scale(.95)}.sub-tab-pill.sub-tab--active{background:var(--info);color:#fff;box-shadow:0 4px 14px #0e749052;font-size:13px}.sub-tab-pill:focus-visible{outline:3px solid var(--info);outline-offset:2px}.scroll-fade-wrap{position:relative}.scroll-fade-wrap:after{content:"";position:absolute;top:0;right:0;bottom:6px;width:40px;pointer-events:none;background:linear-gradient(to left,var(--app-bg) 0%,transparent 100%);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.dismiss-btn{background:none;border:none;cursor:pointer;color:var(--subtext);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:600;padding:var(--space-sm) var(--space-md);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.dismiss-btn:hover{background:var(--bar-bg);color:var(--heading)}.dismiss-btn:active{transform:scale(.97)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}@media(max-width:380px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:380px){.c{padding:14px 12px}.tc{padding:12px 10px}.b{padding:12px 14px;font-size:var(--text-base)}.bp,.bs,.bw{padding:12px 14px}.g2,.g3{gap:var(--space-sm)}.hero-heading{font-size:var(--text-xl)!important}.nav-label{font-size:9px!important}}.nprogress{position:fixed;top:0;left:0;right:0;height:3px;z-index:var(--z-top);pointer-events:none}.nprogress-bar{background:linear-gradient(90deg,var(--color-croatian),#0e7490);height:3px;animation:nprogress 2s cubic-bezier(.4,0,.2,1) forwards}@keyframes nprogress{0%{width:0;opacity:1}70%{width:85%;opacity:1}to{width:100%;opacity:0}}.photo-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,#0a2348,#0c3868)}.photo-hero img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease,opacity .5s ease}.photo-hero:hover img{transform:scale(1.03)}.photo-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.5) 100%)}.photo-hero-flag-stripe{position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-croatian) 33.3%,white 33.3%,white 66.6%,#0284c7 66.6%)}.photo-hero-text{position:absolute;bottom:0;left:0;right:0;padding:16px 20px}.photo-hero-title{font-size:var(--text-xl);font-weight:900;color:#fff;font-family:Playfair Display,serif;text-shadow:0 1px 4px rgba(0,0,0,.5);margin-bottom:4px}.photo-hero-subtitle{font-size:var(--text-sm);color:#ffffffd9;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.5)}.img-loading{background:linear-gradient(135deg,var(--bar-bg) 0%,var(--card) 50%,var(--bar-bg) 100%);background-size:400% 400%;animation:shimmer 1.5s infinite}.illus-container{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,var(--info-bg) 0%,rgba(14,116,144,.04) 100%);padding:var(--space-xl)}.illus-scene{max-width:100%;height:auto;display:block}.vocab-card-visual{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-lg);background:var(--card);box-shadow:var(--card-shadow)}.vocab-card-visual-header{height:140px;background:linear-gradient(135deg,#0a2348,#0c3868);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.vocab-card-visual-body{padding:var(--space-xl)}.scene-thumb{border-radius:var(--radius-md);overflow:hidden;position:relative;cursor:pointer;transition:transform .2s,box-shadow .2s}.scene-thumb:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.scene-thumb img{width:100%;height:100%;object-fit:cover}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-xl)}.photo-grid-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;position:relative;background:var(--bar-bg)}.photo-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo-grid-item:hover img{transform:scale(1.06)}.photo-grid-item-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);color:#fff;font-size:var(--text-xs);font-weight:700;padding:var(--space-sm) var(--space-md)}.section-photo-header{border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--space-xl);position:relative;min-height:120px}.knight-hero{display:block;margin:8px auto;animation:bounce-in .6s ease}.knight-empty{display:block;margin:0 auto 16px;animation:rise .5s ease}.knight-celebrate{display:block;margin:0 auto 12px;animation:bounce-in .5s ease}.knight-corner{position:absolute;bottom:12px;right:12px;opacity:.9}.empty-knight{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-3xl) var(--space-xl);gap:var(--space-sm)}.empty-knight-title{font-size:var(--text-xl);font-weight:800;color:var(--heading);font-family:Playfair Display,serif;margin-top:var(--space-md)}.empty-knight-sub{font-size:var(--text-sm);color:var(--subtext);line-height:var(--leading-normal);max-width:260px}.landscape-divider{width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--adriatic, #0284c7),var(--color-croatian, #b61800),var(--adriatic, #0284c7),transparent);border-radius:2px;margin:var(--space-2xl) 0;opacity:.4}.illus-caption{font-size:12px;color:var(--subtext);text-align:center;margin-top:var(--space-xs);opacity:.7;font-style:italic}.photo-credit{position:absolute;bottom:var(--space-xs);right:var(--space-sm);font-size:12px;color:#ffffff80;font-weight:500}@media(min-width:768px){.photo-hero-title{font-size:var(--text-2xl)}.vocab-card-visual-header{height:180px}.photo-grid{grid-template-columns:1fr 1fr 1fr}.photo-grid-item{aspect-ratio:3/2}.section-photo-header{min-height:160px}}@media(min-width:1200px){.photo-hero-title{font-size:var(--text-3xl)}.photo-grid{grid-template-columns:repeat(4,1fr)}}[data-theme=dark] .photo-hero-overlay,.dark .photo-hero-overlay{background:linear-gradient(to bottom,transparent 25%,rgba(0,0,0,.5) 100%)!important}[data-theme=dark] .illus-container{background:linear-gradient(135deg,#38bdf814,#0e74900a)}[data-theme=dark] .vocab-card-visual-header{background:linear-gradient(135deg,#060e1e,#0a1628)}[data-theme=dark] .photo-grid-item{background:var(--bar-bg)}.confetti-animated{animation:confettiDrop 2s ease-in infinite}.confetti-spin{animation:confettiDrop 2s ease-in infinite,confettiSpin 1s linear infinite}.firework-burst{animation:fireworkBurst .6s ease-out forwards;transform-origin:center}.trophy-pop{animation:celebPop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes confettiSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fireworkBurst{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(1)}}[data-font=large]{--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 17px;--text-lg: 19px;--text-xl: 22px;--text-2xl: 26px;--text-3xl: 30px;--text-4xl: 34px}[data-font=small]{--text-xs: 8px;--text-sm: 10px;--text-base: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 26px;--text-4xl: 30px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@keyframes dot-bounce{0%,80%,to{transform:scale(0);opacity:.35}40%{transform:scale(1);opacity:1}}@keyframes grb-glow{0%,to{filter:drop-shadow(0 0 14px rgba(14,116,144,.4))}50%{filter:drop-shadow(0 0 32px rgba(14,116,144,.75)) drop-shadow(0 0 60px rgba(14,116,144,.3))}}@keyframes stripe-slide{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.practice-card-dark{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)!important;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,border-color .2s!important}.practice-card-dark:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.07) 0%,transparent 55%);pointer-events:none;border-radius:inherit}.practice-card-dark:hover{transform:translateY(-5px) scale(1.03)!important;box-shadow:0 20px 60px #00000080,0 4px 16px #0000004d!important;border-color:#ffffff38!important}.practice-card-dark:active{transform:translateY(-1px) scale(.98)!important}.pc-icon{width:46px;height:46px;border-radius:13px;background:#ffffff24;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 9px;border:1px solid rgba(255,255,255,.18)}.pc-label{font-size:13px;font-weight:800;color:#fffffff2;line-height:1.2;font-family:Outfit,sans-serif}.pc-desc{font-size:12px;color:#ffffff80;margin-top:3px;line-height:1.3;font-family:Outfit,sans-serif}.stat-card-v3{border-radius:16px;padding:14px 8px;text-align:center;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06)!important;transition:transform .2s,box-shadow .2s}.stat-card-v3:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-accent, var(--info));border-radius:16px 16px 0 0}.stat-card-v3:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.55) 0%,transparent 60%);pointer-events:none;border-radius:inherit}.stat-card-v3:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.dark .stat-card-v3{border-color:#ffffff12!important}.dark .stat-card-v3:before{background:linear-gradient(145deg,rgba(255,255,255,.05) 0%,transparent 60%)}.stat-icon{font-size:22px;margin-bottom:6px;display:block}.stat-label{font-size:12px;font-weight:800;color:var(--subtext);text-transform:uppercase;letter-spacing:.06em;margin-top:5px;font-family:Outfit,sans-serif}.stat-sub{font-size:12px;color:var(--subtext);margin-top:3px;font-weight:600;line-height:1.3;font-family:Outfit,sans-serif}.text-gradient-brand{background:linear-gradient(135deg,#0e7490,#06b6d4,#0284c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-gold{background:linear-gradient(135deg,#f59e0b,#d97706,#b45309);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-croatia{background:linear-gradient(135deg,#d40030,#c2410c,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.croatia-pattern:after{content:"";position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='10' height='10' fill='%23D40030'/%3E%3Crect x='10' y='10' width='10' height='10' fill='%23D40030'/%3E%3C/svg%3E");pointer-events:none;border-radius:inherit}.tab-hero{box-shadow:0 16px 56px #00000073,0 4px 16px #0000004d!important}.tab-hero-body:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Crect width='14' height='14' fill='rgba(212,0,48,0.04)'/%3E%3Crect x='14' y='14' width='14' height='14' fill='rgba(212,0,48,0.04)'/%3E%3C/svg%3E");pointer-events:none;border-radius:inherit;z-index:0}.tab-hero-body>*{position:relative;z-index:1}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes progress-indeterminate{0%{transform:translate(-100%);width:40%}50%{transform:translate(100%);width:60%}to{transform:translate(300%);width:40%}}.sk{background:linear-gradient(90deg,var(--bar-bg) 25%,rgba(255,255,255,.6) 50%,var(--bar-bg) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-md)}.dark .sk{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%}.stat-tile{flex:1;background:var(--card);border-radius:18px;padding:16px 12px;text-align:center;border:1.5px solid var(--card-b);box-shadow:var(--card-shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.stat-tile:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}.stat-tile-value{font-size:26px;font-weight:900;line-height:1;margin-bottom:4px;font-family:var(--font-sans)}.stat-tile-label{font-size:12px;font-weight:700;color:var(--subtext);text-transform:uppercase;letter-spacing:.07em}.milestone-card{background:linear-gradient(135deg,var(--card) 0%,rgba(245,158,11,.04) 100%);border:1.5px solid rgba(245,158,11,.25);border-radius:20px;padding:20px;box-shadow:0 4px 20px #f59e0b14,var(--card-shadow);position:relative;overflow:hidden}.milestone-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,rgba(245,158,11,.12) 0%,transparent 70%);pointer-events:none}.section-sep{height:1px;background:linear-gradient(90deg,transparent,var(--card-b) 20%,var(--card-b) 80%,transparent);margin:var(--space-xl) 0}.xp-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:12px;font-weight:800;padding:2px 8px;border-radius:20px;box-shadow:0 2px 8px #f59e0b59;vertical-align:middle}.screen-section{animation:fade-up .3s cubic-bezier(.4,0,.2,1) both}.screen-section:nth-child(2){animation-delay:.04s}.screen-section:nth-child(3){animation-delay:.08s}.screen-section:nth-child(4){animation-delay:.12s}.screen-section:nth-child(5){animation-delay:.16s}.bubble-wrap{display:flex;flex-direction:column;gap:10px}.bubble{max-width:88%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;font-family:var(--font-sans);box-shadow:0 2px 8px #0000000f}.bubble-a{align-self:flex-end;background:linear-gradient(135deg,var(--info),#0284c7);color:#fff;border-bottom-right-radius:4px}.bubble-b{align-self:flex-start;background:var(--card);color:var(--heading);border:1px solid var(--card-b);border-bottom-left-radius:4px}.bubble-trans{font-size:12px;opacity:.75;margin-top:4px;font-style:italic}.tip-box{background:var(--info-bg, #f0f9ff);border:1px solid var(--info-b, #bae6fd);border-left:4px solid var(--info, #0e7490);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:13px;color:var(--heading);line-height:1.5;font-family:var(--font-sans)}.tip-box-amber{background:var(--warning-bg, #fffbeb);border:1px solid var(--warning-b, #fcd34d);border-left:4px solid var(--warning, #d97706);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:13px;color:var(--heading);line-height:1.5;font-family:var(--font-sans)}.tip-box-success{background:var(--success-bg, #f0fdf4);border:1px solid var(--success-b, #86efac);border-left:4px solid var(--success, #16a34a);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:13px;color:var(--heading);line-height:1.5;font-family:var(--font-sans)}.compare-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:13px}.compare-table th{font-size:12px;font-weight:700;color:var(--subtext);text-transform:uppercase;letter-spacing:.07em;padding:6px 10px;text-align:left;border-bottom:2px solid var(--card-b)}.compare-table td{padding:9px 10px;border-bottom:1px solid var(--card-b);vertical-align:middle;color:var(--heading)}.compare-table tr:last-child td{border-bottom:none}.compare-table tr:nth-child(2n) td{background:var(--bar-bg)}.compare-table .dialect-word{font-family:var(--font-serif);font-weight:700;font-size:15px;color:var(--info, #0e7490)}@supports (padding-bottom: env(safe-area-inset-bottom)){.nav-bar{padding-bottom:env(safe-area-inset-bottom)}.scr-wrap{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}.scr-wrap{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.cta-bar{position:fixed;bottom:calc(var(--nav-h) + var(--safe-bottom));left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + var(--safe-bottom));background:var(--app-bg);border-top:1px solid var(--border);box-shadow:0 -4px 24px #0000000f;z-index:var(--z-fixed);display:flex;gap:10px;align-items:center;max-width:640px;margin:0 auto}.cta-bar>button{flex:1}@media(min-width:768px){.cta-bar{bottom:0;left:268px;right:0;max-width:none;padding:12px 36px}}.scr-wrap.has-cta{padding-bottom:calc(var(--nav-h) + var(--cta-h) + 20px + var(--safe-bottom))}@supports (padding-bottom: env(safe-area-inset-bottom)){.scr-wrap.has-cta{padding-bottom:calc(var(--nav-h) + var(--cta-h) + 20px + env(safe-area-inset-bottom))}}@media(min-width:768px){.scr-wrap.has-cta{padding-bottom:calc(var(--cta-h) + 40px)}}.screen-header{position:sticky;top:0;height:var(--header-h);display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--app-bg);border-bottom:1px solid var(--border);z-index:var(--z-sticky);margin:0 -16px 16px}.screen-header__back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--card-bg,#f8fafc);border:1px solid var(--border);border-radius:50%;cursor:pointer;font-size:16px;flex-shrink:0;transition:background .15s}.screen-header__back:hover{background:var(--bar-bg)}.screen-header__title{flex:1;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-header__pill{padding:3px 10px;border-radius:20px;background:#d4002d1a;border:1px solid rgba(212,0,45,.25);color:#d4002d;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0}@media(min-width:768px){.screen-header{padding:0 36px;margin:0 -36px 20px}}.pill-row{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 4px;margin-bottom:16px}.pill-filter{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--card-bg,#f8fafc);font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;color:var(--subtext)}.pill-filter:hover{border-color:#d4002d66;color:var(--text)}.pill-filter.active{background:#d4002d1a;border-color:#d4002d66;color:#d4002d}.kb-hints{display:none;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--subtext)}.kb-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 5px;background:var(--card-bg,#f8fafc);border:1.5px solid var(--border);border-bottom-width:3px;border-radius:4px;font-size:11px;font-weight:700;font-family:monospace;color:var(--subtext)}.kb-key[data-key]:after{content:attr(data-key)}@media(min-width:768px){.kb-hints{display:flex}}.app-layout{display:block}.desktop-panel{display:none}@media(min-width:768px){.app-layout{display:grid;grid-template-columns:1fr 280px;gap:0;max-width:1200px;margin:0 auto}.desktop-panel{display:block;position:sticky;top:0;height:100vh;overflow-y:auto;padding:32px 20px;border-left:1px solid var(--border);scrollbar-width:thin}}:root{--radius-btn: 14px;--radius-card: 16px;--radius-pill: 22px;--shadow-btn-info: 0 4px 20px rgba(14,116,144,.3), 0 1px 0 rgba(255,255,255,.15) inset;--shadow-btn-success: 0 4px 20px rgba(22,163,74,.3), 0 1px 0 rgba(255,255,255,.15) inset;--shadow-btn-warning: 0 4px 20px rgba(217,119,6,.3), 0 1px 0 rgba(255,255,255,.15) inset;--shadow-elevated: 0 8px 32px rgba(0,0,0,.14), 0 2px 8px rgba(0,0,0,.08);--shadow-cta: 0 6px 28px rgba(14,116,144,.38), 0 2px 8px rgba(0,0,0,.1);--shadow-glow-info: 0 0 0 4px rgba(14,116,144,.18);--t-quick: .15s;--t-std: .2s;--t-smooth: .3s;--t-slow: .5s}.section-hdr-title{font-size:15px!important;font-weight:700!important;color:var(--heading)!important;line-height:1.25!important;margin-bottom:2px!important;font-family:Playfair Display,serif!important;letter-spacing:-.01em!important}.section-hdr-sub{font-size:11px!important;color:var(--subtext)!important;font-weight:500!important;line-height:1.4!important;font-family:Outfit,sans-serif!important}.exercise-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:var(--radius-btn);background:var(--card);border:1px solid var(--card-b);cursor:pointer;text-align:left;font-family:var(--font-sans);box-shadow:0 1px 4px #0000000d;transition:transform var(--t-std) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std),border-color var(--t-std);position:relative;width:100%;border-left-width:3px}.exercise-card:hover{transform:translateY(-2px) scale(1.005);box-shadow:0 6px 20px #0e74901f,0 2px 6px #0000000d;border-color:#0e749040}.exercise-card:active{transform:translateY(0) scale(.99);box-shadow:0 1px 4px #0000000f}.exercise-card--today{background:var(--info-bg, #f0f9ff);border-color:var(--info-b, #bae6fd)!important;box-shadow:0 2px 8px #0e74901a}.exercise-card--today:hover{box-shadow:0 6px 20px #0e74902e}.exercise-card-icon{width:40px;height:40px;border-radius:12px;background:var(--bar-bg);border:1px solid var(--card-b);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;transition:transform var(--t-quick) ease}.exercise-card:hover .exercise-card-icon{transform:scale(1.08)}.exercise-card-label{font-size:13px;font-weight:800;color:var(--heading);line-height:1.2;font-family:var(--font-sans)}.exercise-card-desc{font-size:11px;color:var(--subtext);margin-top:2px;line-height:1.3}.exercise-card-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px;align-items:center}.exercise-card-today-badge{position:absolute;top:5px;right:7px;font-size:9px;font-weight:900;color:var(--info);background:var(--card);border:1px solid var(--info-b);border-radius:6px;padding:1px 6px;letter-spacing:.05em;text-transform:uppercase}.cat-tile{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-family:var(--font-sans);border:none;text-align:left;transition:transform var(--t-quick) ease,filter var(--t-quick) ease}.cat-tile:hover{filter:brightness(1.04)}.cat-tile:active{transform:scale(.99)}.cat-tile-icon{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform var(--t-std) cubic-bezier(.34,1.56,.64,1)}.cat-tile:hover .cat-tile-icon{transform:scale(1.1) rotate(-3deg)}.cat-tile-title{font-size:15px;font-weight:800;line-height:1.2;font-family:Playfair Display,serif}.cat-tile-count{font-size:11px;margin-top:2px;font-family:var(--font-sans);font-weight:500}.cat-tile-chevron{font-size:16px;font-weight:300;transition:transform var(--t-smooth) cubic-bezier(.4,0,.2,1);margin-left:auto;flex-shrink:0}.cat-tile-chevron--open{transform:rotate(180deg)}.cat-panel{border-top:none;overflow:hidden;animation:panel-open var(--t-smooth) cubic-bezier(.4,0,.2,1) both}@keyframes panel-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.practice-card-dark{border-radius:18px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;cursor:pointer;border:none;font-family:var(--font-sans);transition:transform var(--t-std) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std),filter var(--t-std);box-shadow:0 4px 16px #00000038,0 1px #ffffff14 inset}.practice-card-dark:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #00000052,0 1px #ffffff1a inset;filter:brightness(1.08)}.practice-card-dark:active{transform:translateY(-1px) scale(.99);box-shadow:0 4px 12px #00000040}.pc-icon{font-size:28px;margin-bottom:4px}.pc-label{font-size:13px;font-weight:800;color:#fff;line-height:1.2}.pc-desc{font-size:10px;color:#ffffffa6;margin-top:2px;font-weight:600}.vocab-pill{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--radius-pill);cursor:pointer;min-height:44px;font-family:var(--font-sans);transition:transform var(--t-quick) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-quick),filter var(--t-quick)}.vocab-pill:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.06)}.vocab-pill:active{transform:translateY(0) scale(.98)}.vocab-pill-label{font-size:12px;font-weight:800;white-space:nowrap}.vocab-pill-count{font-size:10px;color:var(--subtext);white-space:nowrap;font-weight:500}.feature-card{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:var(--radius-card);cursor:pointer;text-align:left;font-family:var(--font-sans);border:none;transition:transform var(--t-std) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std),filter var(--t-std)}.feature-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-elevated);filter:brightness(1.04)}.feature-card:active{transform:translateY(-1px) scale(.99)}.feature-card-icon{width:44px;height:44px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px}.feature-card-title{font-size:14px;font-weight:800;line-height:1.2;font-family:Playfair Display,serif}.feature-card-desc{font-size:11px;margin-top:2px;line-height:1.4;opacity:.85;font-family:var(--font-sans)}.feature-card--col{flex-direction:column;align-items:flex-start;gap:8px;padding:14px;width:auto}.feature-card--col .feature-card-icon{width:40px;height:40px;font-size:20px}.feature-card--col .feature-card-title{font-size:13px}.feature-card--col .feature-card-desc{font-size:11px}.progress-hero{border-radius:0 0 28px 28px;padding:22px 20px 26px;margin-bottom:20px;box-shadow:0 12px 48px #00000038,0 4px 12px #0000001a;position:relative;overflow:hidden}.progress-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:#ffffff12;border-radius:50%;pointer-events:none}.progress-hero:after{content:"";position:absolute;bottom:-30px;left:-30px;width:120px;height:120px;background:#0000001a;border-radius:50%;pointer-events:none}.progress-hero-eyebrow{font-size:11px;font-weight:800;color:#ffffffbf;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-family:var(--font-sans)}.progress-hero-title{font-size:22px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px;font-family:Playfair Display,serif;text-shadow:0 2px 12px rgba(0,0,0,.2)}.progress-hero-subtitle{font-size:13px;color:#ffffffb8;font-weight:600;margin-bottom:14px;font-family:var(--font-sans)}.progress-hero-bar-track{background:#ffffff38;border-radius:6px;height:7px;overflow:hidden;margin-bottom:7px}.progress-hero-bar-fill{height:100%;background:#ffffffe6;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-hero-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite;background-size:200% 100%}.progress-hero-count{font-size:12px;color:#ffffffbf;font-weight:600;margin-bottom:12px;font-family:var(--font-sans)}.progress-hero-dots{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px}.progress-hero-dot{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;transition:background .3s,border .3s,transform .2s}.progress-hero-dot--done{background:#ffffffeb;border:2px solid rgba(255,255,255,1)}.progress-hero-dot--active{background:#ffffff4d;border:2px solid rgba(255,255,255,.6);animation:progress-dot-pulse 2s ease-in-out infinite}.progress-hero-dot--empty{background:#ffffff1f;border:1.5px solid rgba(255,255,255,.25)}.progress-hero-dot-more{height:24px;border-radius:12px;padding:0 8px;flex-shrink:0;background:#ffffff1a;display:flex;align-items:center;font-size:10px;font-weight:700;color:#fff9}@keyframes progress-dot-pulse{0%,to{transform:scale(1);background:#ffffff4d}50%{transform:scale(1.15);background:#ffffff80}}.progress-hero-cta{width:100%;height:54px;background:#fff;border:none;border-radius:15px;cursor:pointer;font-family:var(--font-sans);font-size:16px;font-weight:800;letter-spacing:.01em;box-shadow:0 4px 24px #00000038;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--t-quick) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-quick);position:relative;overflow:hidden}.progress-hero-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);pointer-events:none}.progress-hero-cta:hover{transform:translateY(-2px) scale(1.005);box-shadow:0 8px 32px #0000004d}.progress-hero-cta:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0003}.progress-hero-secondary{width:100%;height:44px;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.28);border-radius:13px;cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:700;color:#ffffffe6;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--t-quick),border-color var(--t-quick),transform var(--t-quick);margin-top:10px}.progress-hero-secondary:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.pill-row{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-bottom:4px}.pill-filter{flex-shrink:0;padding:8px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;font-family:var(--font-sans);border:1.5px solid var(--card-b);background:var(--card);color:var(--subtext);cursor:pointer;transition:background var(--t-quick),border-color var(--t-quick),color var(--t-quick),transform var(--t-quick) cubic-bezier(.34,1.56,.64,1);white-space:nowrap;min-height:36px;display:flex;align-items:center}.pill-filter:hover{border-color:var(--info-b);color:var(--info);background:var(--info-bg);transform:translateY(-1px)}.pill-filter.active{background:var(--info);border-color:var(--info);color:#fff;box-shadow:0 2px 8px #0e74904d}.exercise-grid-stagger>*:nth-child(1){animation:spring-in .3s 0s ease both}.exercise-grid-stagger>*:nth-child(2){animation:spring-in .3s .03s ease both}.exercise-grid-stagger>*:nth-child(3){animation:spring-in .3s .06s ease both}.exercise-grid-stagger>*:nth-child(4){animation:spring-in .3s .09s ease both}.exercise-grid-stagger>*:nth-child(5){animation:spring-in .3s .12s ease both}.exercise-grid-stagger>*:nth-child(6){animation:spring-in .3s .15s ease both}.exercise-grid-stagger>*:nth-child(7){animation:spring-in .3s .18s ease both}.exercise-grid-stagger>*:nth-child(8){animation:spring-in .3s .21s ease both}.exercise-grid-stagger>*:nth-child(9){animation:spring-in .3s .24s ease both}.exercise-grid-stagger>*:nth-child(10){animation:spring-in .3s .27s ease both}.exercise-grid-stagger>*:nth-child(n+11){animation:spring-in .3s .3s ease both}.dark .exercise-card{border-left-width:3px}.dark .exercise-card--today{background:#0e749014;border-color:#38bdf859!important}.todays-picks-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;margin-top:4px}.todays-picks-grid>*:nth-child(3){grid-column:1 / -1}.quest-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;border-radius:11px;transition:transform var(--t-quick) cubic-bezier(.34,1.56,.64,1),background var(--t-std),border-color var(--t-std);cursor:default}.quest-tile--done{background:var(--success-bg);border:1.5px solid var(--success-b)}.quest-tile--done:hover{transform:scale(1.04)}.quest-tile--pending{background:var(--bar-bg);border:1.5px solid var(--card-b)}.quest-tile-icon{font-size:17px}.quest-tile-label{font-size:10px;font-weight:700;font-family:var(--font-sans)}.quest-tile--done .quest-tile-label{color:var(--success)}.quest-tile--pending .quest-tile-label{color:var(--subtext)}.milestone-card{border-radius:18px;overflow:hidden;background:linear-gradient(155deg,#071828,#0a3d52 60%,#0e7490);border:none;box-shadow:0 6px 24px #0e749047,0 2px 6px #0000001f;transition:transform var(--t-std) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std)}.milestone-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0e749059,0 4px 12px #0000001f}.milestone-card:active{transform:translateY(-1px) scale(.99)}.text-gradient-info{background:linear-gradient(135deg,var(--info),#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-gold{background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-hr{background:linear-gradient(135deg,var(--color-croatian),#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(prefers-reduced-motion:reduce){.exercise-grid-stagger>*,.progress-hero-dot--active,.cat-tile-icon,.cat-tile-chevron,.progress-hero-bar-fill:after{animation:none!important;transition-duration:.01ms!important}}.dark .progress-hero-cta{box-shadow:0 4px 24px #0006}.dark .milestone-card{background:linear-gradient(155deg,#0a1a28,#0f2d40 60%,#0c5068)}.dark .practice-card-dark{box-shadow:0 4px 16px #0006,0 1px #ffffff0d inset}.seg-bar{display:flex;gap:4px;background:var(--bar-bg);border-radius:16px;padding:4px;margin-bottom:16px}.seg-pill{flex:1;padding:10px 8px;border-radius:12px;border:none;font-size:13px;cursor:pointer;font-family:var(--font-sans);transition:background var(--t-std) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std),transform var(--t-quick) cubic-bezier(.34,1.56,.64,1)}.seg-pill:hover{transform:scale(1.03)}.seg-pill:active{transform:scale(.97)}.pill-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:sticky;top:0;z-index:10;background:var(--app-bg);padding:10px 0;border-bottom:1px solid var(--card-b);box-shadow:0 2px 10px #00000012}.pill-row::-webkit-scrollbar{display:none}.pill-btn{position:relative;padding:8px 18px;border-radius:22px;flex-shrink:0;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;font-family:var(--font-sans);transition:transform var(--t-quick) cubic-bezier(.34,1.56,.64,1),box-shadow var(--t-std),background var(--t-std)}.pill-btn:hover{transform:translateY(-1px) scale(1.03);filter:brightness(1.04)}.pill-btn:active{transform:translateY(0) scale(.97)}@keyframes nh-pulse-ring{0%{opacity:.6;transform:scale(1)}50%{opacity:.2;transform:scale(1.15)}to{opacity:.6;transform:scale(1)}}@supports (height: 100dvh){.app-root,#root{height:100dvh}.scr-wrap{min-height:100dvh}}html,body{overscroll-behavior:none}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pill-row{will-change:transform;-webkit-transform:translateZ(0);transform:translateZ(0)}body{-webkit-text-size-adjust:100%;text-size-adjust:100%}.modal-sheet-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}@keyframes milestone-pop{0%{opacity:0;transform:scale(.82) translateY(-12px)}70%{transform:scale(1.04) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes flame-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.15)}}.streak-flame{animation:flame-pulse 1.8s ease-in-out infinite;display:inline-block}@keyframes xp-rise{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:1;transform:translateY(-28px) scale(1.1)}to{opacity:0;transform:translateY(-52px) scale(.9)}}.xp-float{animation:xp-rise 1.1s ease-out forwards;pointer-events:none;position:absolute;font-size:14px;font-weight:900;color:#f59e0b;white-space:nowrap;z-index:var(--z-toast, 9500)}.heatmap-cell{transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease}.heatmap-cell:hover{transform:scale(1.2);filter:brightness(1.1)}@media(max-width:360px){:root{--text-xs: 9px;--text-sm: 11px;--text-base: 13px}.nav-label{font-size:10px!important}}.capacitor-native .nav-bar{display:flex!important}.capacitor-native .sidebar{display:none!important}.capacitor-native .app-content{margin-left:0!important}.capacitor-native .app-layout{display:block!important}.capacitor-native .desktop-panel{display:none!important}.capacitor-native .scr-wrap{max-width:100%!important;padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(92px + env(safe-area-inset-bottom,0px))!important;overscroll-behavior-y:none!important}@media(min-width:600px){.scr-wrap{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}.capacitor-native body,.capacitor-native #root{overscroll-behavior:none}.scr-wrap,[class*=scroll],[class*=list]{touch-action:pan-y}@media(prefers-reduced-motion:reduce){.streak-flame,.xp-float,[class*=anim-],[class*=motion-]{animation:none!important;transition:none!important}}@keyframes nh-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes nh-fade-in{0%{opacity:0}to{opacity:1}}
