@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,500&display=swap");:root{--color-primary-50:#e6f0f6;--color-primary-100:#c0d9e9;--color-primary-200:#8fbbd6;--color-primary-300:#5b9cc3;--color-primary-400:#2e80b0;--color-primary-500:#006195;--color-primary-600:#005080;--color-primary-700:#004268;--color-primary-800:#003350;--color-primary-900:#00253b;--color-sky-100:#d6f0fb;--color-sky-300:#7acff0;--color-sky-500:#29abe2;--color-sky-600:#1b93c6;--color-magenta-100:#fcd9e6;--color-magenta-300:#f583ac;--color-magenta-500:#ec2a6b;--color-magenta-600:#ce1d57;--color-coral-100:#fbddda;--color-coral-500:#e8493f;--color-coral-600:#ce352c;--color-green-100:#dcf5ea;--color-green-500:#2fa97b;--color-green-600:#218a62;--color-amber-100:#fdefcb;--color-amber-500:#f5a623;--color-ink:#1e2a32;--color-charcoal:#333;--color-slate-700:#3f4b55;--color-slate-500:#6b7683;--color-slate-400:#94a0ab;--color-slate-300:#c6ced6;--color-slate-200:#e1e7ed;--color-slate-100:#eef2f6;--color-slate-50:#f5f8fa;--color-white:#fff;--brand:var(--color-primary-500);--brand-strong:var(--color-primary-700);--brand-soft:var(--color-primary-50);--accent-sky:var(--color-sky-500);--accent-magenta:var(--color-magenta-500);--text-heading:var(--color-ink);--text-body:var(--color-slate-700);--text-muted:var(--color-slate-500);--text-on-brand:var(--color-white);--text-link:var(--color-primary-500);--surface-page:var(--color-slate-50);--surface-card:var(--color-white);--surface-sunken:var(--color-slate-100);--surface-brand:var(--color-primary-500);--border-subtle:var(--color-slate-200);--border-strong:var(--color-slate-300);--state-success:var(--color-green-500);--state-success-bg:var(--color-green-100);--state-danger:var(--color-coral-500);--state-danger-bg:var(--color-coral-100);--state-warning:var(--color-amber-500);--state-warning-bg:var(--color-amber-100);--state-info:var(--color-sky-500);--state-info-bg:var(--color-sky-100);--feature-header-blue:var(--color-primary-500);--feature-header-sky:var(--color-sky-500);--feature-header-red:var(--color-coral-500);--feature-header-magenta:var(--color-magenta-500);--font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Poppins","Plus Jakarta Sans",system-ui,sans-serif;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fs-display:40px;--fs-h1:32px;--fs-h2:26px;--fs-h3:21px;--fs-title:18px;--fs-body-lg:16px;--fs-body:15px;--fs-sm:13px;--fs-xs:12px;--fs-micro:11px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;--ls-tight:-0.02em;--ls-normal:0;--ls-wide:0.02em;--ls-caps:0.08em;--text-display-font:var(--font-display);--text-heading-font:var(--font-sans);--text-body-font:var(--font-sans);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:28px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(0,97,149,.06);--shadow-sm:0 2px 8px rgba(16,42,66,.06);--shadow-md:0 6px 18px rgba(16,42,66,.08);--shadow-lg:0 14px 34px rgba(16,42,66,.12);--shadow-brand:0 10px 24px rgba(0,97,149,.22);--ring-brand:0 0 0 3px rgba(0,97,149,.28);--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--container-max:1200px;--app-width:390px;color-scheme:light}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ak-display{font-family:var(--font-display);font-size:var(--fs-display)}.ak-display,.ak-h1{font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-heading)}.ak-h1{font-family:var(--font-sans);font-size:var(--fs-h1)}.ak-h2{font-weight:var(--fw-bold);font-size:var(--fs-h2)}.ak-h2,.ak-h3{font-family:var(--font-sans);line-height:var(--lh-snug);color:var(--text-heading)}.ak-h3{font-size:var(--fs-h3)}.ak-h3,.ak-title{font-weight:var(--fw-semibold)}.ak-title{font-size:var(--fs-title);color:var(--text-heading)}.ak-body{font-size:var(--fs-body);color:var(--text-body)}.ak-muted{font-size:var(--fs-sm);color:var(--text-muted)}.ak-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--brand)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:var(--surface-page);color:var(--text-body);-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans)}.app-shell{width:100%;max-width:640px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface-page)}.page-pad{padding:var(--space-4)}.stack{display:flex;flex-direction:column}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.twibbon-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:560px){.twibbon-grid{grid-template-columns:repeat(3,1fr)}}.thumb{position:relative;width:100%;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken);display:block}.thumb img{width:100%;height:100%;object-fit:contain}.checker{background-image:linear-gradient(45deg,#eef2f6 25%,transparent 0),linear-gradient(-45deg,#eef2f6 25%,transparent 0),linear-gradient(45deg,transparent 75%,#eef2f6 0),linear-gradient(-45deg,transparent 75%,#eef2f6 0);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;background-color:#fff}.text-muted{color:var(--text-muted)}.text-heading{color:var(--text-heading)}.action-bar{position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(245,248,250,0),var(--surface-page) 30%);padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-3)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}