:root{--sage-50:#f1f5ee;--sage-100:#dce6d2;--sage-200:#bdd1a8;--sage-300:#97b67e;--sage-400:#7a9c63;--sage-500:#5d7d4b;--sage-600:#46603a;--clay-100:#f5e3d4;--clay-200:#ecc8a8;--clay-300:#d9a87c;--clay-400:#b88052;--peach-100:#fadfd0;--peach-200:#f4c2a8;--butter-100:#f7ecc4;--butter-200:#edd684;--sky-100:#d8e6ec;--sky-200:#aed0dc;--rose-100:#f3dbd8;--rose-200:#e6b3ad;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:99px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--f-display:"Fraunces",Georgia,"Times New Roman",serif;--f-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fs-xs:12px;--fs-sm:13.5px;--fs-base:15px;--fs-md:15.5px;--fs-lg:17px;--fs-xl:22px;--t-fast:160ms;--t-med:260ms;--t-slow:420ms;--ease: cubic-bezier(.22,.61,.36,1);--z-topbar:50;--z-reader:80;--z-drawer:90;--z-modal:100;--z-toast:200;--focus-ring: 0 0 0 3px rgba(122,156,99,.35);--focus-ring-danger: 0 0 0 3px rgba(185,84,77,.35)}:root,:root[data-theme="light"]{color-scheme: light;--bg:#fbf7f1;--bg-soft:#f5efe6;--surface:#ffffff;--surface-2:#faf5ec;--surface-3:#f0e9dc;--card:var(--surface);--chip:var(--surface-2);--line:#ece4d3;--line-soft:#f2ecdf;--ink-0:#2c2620;--ink-1:#4a423a;--ink-2:#6f6759;--ink-3:#968d7e;--ink-4:#b8b1a2;--brand:var(--sage-400);--brand-strong:var(--sage-600);--brand-soft:var(--sage-50);--success:#5d7d4b;--warn:#b88052;--danger:#b9544d;--danger-bg:#fbeae8;--danger-border:#f0d2cd;--shadow-sm:0 1px 2px rgba(60,48,30,.04),0 2px 8px rgba(60,48,30,.04);--shadow-md:0 4px 14px rgba(60,48,30,.06),0 2px 4px rgba(60,48,30,.04);--shadow-lg:0 10px 30px rgba(60,48,30,.08),0 4px 10px rgba(60,48,30,.04);--topbar-bg:rgba(251,247,241,.85);--bottom-nav-bg:rgba(251,247,241,.95);--backdrop:rgba(20,15,10,.45)}:root[data-theme="dark"]{color-scheme: dark;--bg:#1d1a16;--bg-soft:#25211c;--surface:#2a2520;--surface-2:#322c25;--surface-3:#3d362e;--card:var(--surface);--chip:var(--surface-2);--line:#3a342c;--line-soft:#322c25;--ink-0:#f5efe2;--ink-1:#d8d0bf;--ink-2:#a89f8c;--ink-3:#80776a;--ink-4:#5e5750;--brand:var(--sage-300);--brand-strong:var(--sage-200);--brand-soft:rgba(151,182,126,.10);--success:var(--sage-300);--warn:var(--clay-300);--danger:#e6b3ad;--danger-bg:rgba(185,84,77,.15);--danger-border:rgba(185,84,77,.35);--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 14px rgba(0,0,0,.25);--shadow-lg:0 10px 30px rgba(0,0,0,.35);--topbar-bg:rgba(29,26,22,.85);--bottom-nav-bg:rgba(29,26,22,.95);--backdrop:rgba(0,0,0,.55)}*,*::before,*::after{box-sizing: border-box}html,body{margin: 0;padding: 0}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;-webkit-tap-highlight-color: transparent}body{font-family: var(--f-sans);font-size: var(--fs-md);line-height: 1.55;color: var(--ink-1);background: var(--bg);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;min-height: 100dvh;overflow-x: hidden;max-width: 100vw;text-rendering: optimizeLegibility}img,svg,video,canvas{display: block;max-width: 100%}svg{fill: currentColor}button{font: inherit;color: inherit;background: none;border: 0;cursor: pointer;padding: 0;text-align: inherit}a{color: var(--brand-strong);text-decoration: none;transition: color var(--t-fast) var(--ease)}a:hover{text-decoration: underline}input,textarea,select{font: inherit;color: inherit}hr{border: 0;height: 1px;background: var(--line);margin: var(--s-5) 0}h1,h2,h3,h4{font-family: var(--f-display);font-weight: 500;color: var(--ink-0);margin: 0;letter-spacing: -.012em;line-height: 1.15}h1 em,h2 em,h3 em,h4 em{font-style: italic;font-weight: 400;color: var(--brand-strong)}p{margin: 0}.lead{font-size: var(--fs-lg);color: var(--ink-2);line-height: 1.65}.eyebrow{font-family: var(--f-sans);font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: .14em;color: var(--brand-strong);font-weight: 600}.mono{font-feature-settings: "tnum" 1,"lnum" 1}.muted{color: var(--ink-3)}*{scrollbar-color: var(--ink-4) transparent;scrollbar-width: thin}::-webkit-scrollbar{width: 10px;height: 10px}::-webkit-scrollbar-track{background: transparent}::-webkit-scrollbar-thumb{background: var(--line);border-radius: var(--r-full);border: 2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background: var(--ink-4)}:focus{outline: none}:focus-visible{outline: none;box-shadow: var(--focus-ring)}a:not([class]):focus-visible{border-radius: var(--r-xs)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{box-shadow: var(--focus-ring);border-color: var(--sage-300)}.skip-link{position: absolute;left: -9999px;top: 0;background: var(--brand-strong);color: #fff;padding: 10px 16px;border-radius: var(--r-sm);z-index: 9999;font-weight: 500;font-size: 14px}.skip-link:focus,.skip-link:focus-visible{left: 14px;top: 14px;text-decoration: none}[hidden]{display: none !important}.sr-only{position: absolute !important;width: 1px !important;height: 1px !important;padding: 0 !important;margin: -1px !important;overflow: hidden !important;clip: rect(0,0,0,0) !important;white-space: nowrap !important;border: 0 !important}.wrap{max-width: 1180px;margin: 0 auto;padding: 0 var(--s-6)}.section{padding: var(--s-10) 0}.section-head{text-align: center;max-width: 680px;margin: 0 auto var(--s-8)}.section-head h2{font-size: 34px;margin-bottom: var(--s-3)}.section-head p{color: var(--ink-2)}.row{display: flex;gap: var(--s-3);align-items: center;flex-wrap: wrap}.mt-2{margin-top: var(--s-4)}.mt-3{margin-top: var(--s-6)}.mb-2{margin-bottom: var(--s-4)}@media (max-width: 780px){.section{padding: var(--s-9) 0}.section-head h2{font-size: 26px}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after,html.pref-reduce-motion *,html.pref-reduce-motion *::before,html.pref-reduce-motion *::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--s-2);padding: 11px 18px;border-radius: var(--r-full);font-size: 14.5px;font-weight: 500;font-family: inherit;border: 1px solid transparent;background: transparent;color: inherit;cursor: pointer;white-space: nowrap;user-select: none;-webkit-tap-highlight-color: transparent;transition: background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn:active{transform: translateY(1px)}.btn[disabled],.btn:disabled{opacity: .5;cursor: not-allowed;transform: none !important;box-shadow: none !important}.btn--primary{background: var(--sage-400);color: #fff;box-shadow: 0 2px 10px rgba(93,125,75,.22)}.btn--primary:hover:not(:disabled){background: var(--sage-500);text-decoration: none;transform: translateY(-1px);box-shadow: 0 5px 16px rgba(93,125,75,.28)}.btn--ghost{background: transparent;color: var(--ink-1);border-color: var(--line)}.btn--ghost:hover:not(:disabled){background: var(--surface-2);border-color: var(--ink-4);text-decoration: none}.btn--soft{background: var(--sage-50);color: var(--brand-strong);border-color: var(--sage-100)}.btn--soft:hover:not(:disabled){background: var(--sage-100);text-decoration: none}.btn--text{background: none;color: var(--brand-strong);padding: var(--s-2) var(--s-1);border-radius: var(--r-xs)}.btn--text:hover:not(:disabled){color: var(--sage-600);text-decoration: none}.btn--lg{padding: 14px 24px;font-size: var(--fs-md)}.btn--sm{padding: 8px 14px;font-size: var(--fs-sm)}.btn--block{width: 100%}.btn--icon{padding: 9px;width: 38px;height: 38px;border-radius: 50%}.btn--icon svg{width: 16px;height: 16px}.field{display: flex;flex-direction: column;gap: 6px;margin-bottom: var(--s-4)}.field label{font-size: 13px;color: var(--ink-2);font-weight: 500}.field .hint{font-size: 12.5px;color: var(--ink-3)}.input,.select,.textarea{width: 100%;padding: 12px 14px;border-radius: 12px;border: 1px solid var(--line);background: var(--surface);color: var(--ink-0);font-size: var(--fs-base);transition: border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.input:hover,.select:hover,.textarea:hover{border-color: var(--ink-4)}.input:focus,.select:focus,.textarea:focus{outline: 0;border-color: var(--sage-400);background: var(--surface);box-shadow: var(--focus-ring)}.textarea{resize: vertical;min-height: 90px;font-family: inherit;line-height: 1.55}.chip{display: inline-flex;align-items: center;gap: 6px;padding: 3px 10px;border-radius: var(--r-full);background: var(--surface-2);border: 1px solid var(--line);color: var(--ink-2);font-size: 12px;font-weight: 500}.chip--sage{background: var(--sage-50);border-color: var(--sage-100);color: var(--brand-strong)}.chip--clay{background: var(--peach-100);border-color: var(--clay-100);color: var(--clay-400)}.chip--sky{background: var(--sky-100);border-color: var(--sky-100);color: #5a7e8c}.pills{display: flex;flex-wrap: wrap;gap: var(--s-2);margin-bottom: var(--s-5)}.pill{padding: 7px 14px;border-radius: var(--r-full);background: var(--surface);border: 1px solid var(--line);color: var(--ink-2);font-size: 13px;font-weight: 500;cursor: pointer;transition: background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.pill:hover{border-color: var(--ink-4);color: var(--ink-0)}.pill.is-active{background: var(--sage-400);color: #fff;border-color: var(--sage-400)}.avatar{width: 30px;height: 30px;border-radius: 50%;background: linear-gradient(135deg,var(--sage-200),var(--sage-400));color: #fff;display: grid;place-items: center;font-family: var(--f-display);font-size: 13px;font-weight: 500;flex-shrink: 0}.avatar--lg{width: 62px;height: 62px;font-size: 24px}.loading{padding: var(--s-7);text-align: center;color: var(--ink-3);font-size: 14px}.spinner{width: 22px;height: 22px;border: 2px solid var(--line);border-top-color: var(--brand);border-radius: 50%;animation: spin .8s linear infinite;display: inline-block;vertical-align: middle}@keyframes spin{to{transform: rotate(360deg)}}.search{position: relative;margin-bottom: var(--s-4)}.search svg{position: absolute;left: 14px;top: 50%;transform: translateY(-50%);width: 16px;height: 16px;color: var(--ink-3);pointer-events: none}.search input{padding-left: 40px}.empty{padding: var(--s-8) var(--s-6);text-align: center;border: 1px dashed var(--line);border-radius: var(--r-lg);background: var(--surface)}.empty-ico{width: 48px;height: 48px;border-radius: 50%;background: var(--sage-50);color: var(--sage-500);display: grid;place-items: center;margin: 0 auto var(--s-3)}.empty-ico svg{width: 20px;height: 20px}.empty h4{font-size: 16px;margin-bottom: 4px;color: var(--ink-1);font-family: var(--f-sans);font-weight: 600}.empty p{font-size: 13.5px;color: var(--ink-3);line-height: 1.55}.toasts{position: fixed;z-index: var(--z-toast);right: 20px;bottom: 20px;display: flex;flex-direction: column;gap: var(--s-2);max-width: min(380px,calc(100vw - 36px));pointer-events: none}@media (max-width: 880px){.toasts{right: 14px;left: 14px;bottom: calc(82px + env(safe-area-inset-bottom));max-width: none}}.toast{pointer-events: auto;display: flex;align-items: flex-start;gap: var(--s-3);padding: 12px 14px;border-radius: var(--r-md);background: var(--surface);border: 1px solid var(--line);box-shadow: var(--shadow-md);font-size: 14px;color: var(--ink-1);line-height: 1.5;animation: toastIn .25s var(--ease)}@keyframes toastIn{from{transform: translateY(8px);opacity: 0}to{transform: none;opacity: 1}}.toast--success{border-left: 3px solid var(--sage-400)}.toast--error{border-left: 3px solid var(--danger)}.toast--warn{border-left: 3px solid var(--warn)}.toast--info{border-left: 3px solid var(--sky-200)}.toast-msg{flex: 1}.toast-close{color: var(--ink-3);font-size: 18px;line-height: 1;flex-shrink: 0;background: none;border: 0;padding: 2px 6px;border-radius: var(--r-xs);cursor: pointer;transition: background var(--t-fast),color var(--t-fast)}.toast-close:hover{background: var(--surface-2);color: var(--ink-0)}.modal{position: fixed;inset: 0;z-index: var(--z-modal);display: flex;align-items: center;justify-content: center;padding: var(--s-5)}.modal-bg{position: absolute;inset: 0;background: var(--backdrop);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);animation: fadeIn var(--t-med) var(--ease)}@keyframes fadeIn{from{opacity: 0}to{opacity: 1}}.modal-card{position: relative;width: 100%;max-width: 440px;background: var(--bg);border: 1px solid var(--line);border-radius: var(--r-xl);padding: var(--s-7);box-shadow: var(--shadow-lg);max-height: calc(100dvh - 36px);overflow-y: auto;animation: popUp .22s var(--ease)}@keyframes popUp{from{transform: translateY(8px) scale(.98);opacity: 0}to{transform: none;opacity: 1}}.modal-close{position: absolute;top: 14px;right: 14px;width: 32px;height: 32px;border-radius: 50%;background: var(--surface-2);color: var(--ink-2);display: grid;place-items: center;border: 0;cursor: pointer;transition: background var(--t-fast),color var(--t-fast)}.modal-close:hover{background: var(--surface-3);color: var(--ink-0)}.modal-close svg{width: 14px;height: 14px}.modal-head{margin-bottom: var(--s-5)}.modal-head .eyebrow{display: block;margin-bottom: var(--s-2)}.modal-head h3{font-size: 24px;font-weight: 500}.modal-foot{margin-top: var(--s-4);text-align: center;font-size: 13px;color: var(--ink-3)}.drawer{position: fixed;inset: 0;z-index: var(--z-drawer);pointer-events: none;background: rgba(20,15,10,0);transition: background var(--t-med) var(--ease)}.drawer.is-open{pointer-events: auto;background: var(--backdrop)}.drawer-panel{position: absolute;top: 0;right: 0;height: 100%;width: min(340px,86vw);background: var(--bg);border-left: 1px solid var(--line-soft);padding: var(--s-5);padding-top: calc(var(--s-5) + env(safe-area-inset-top));padding-bottom: calc(var(--s-5) + env(safe-area-inset-bottom));transform: translateX(100%);transition: transform var(--t-med) var(--ease);overflow-y: auto;display: flex;flex-direction: column;gap: 6px}.drawer.is-open .drawer-panel{transform: translateX(0)}.drawer-head{display: flex;align-items: center;justify-content: space-between;padding-bottom: var(--s-4);border-bottom: 1px solid var(--line-soft);margin-bottom: var(--s-3)}.drawer-nav{display: flex;flex-direction: column;gap: 2px}.drawer-nav a,.drawer-nav button{display: flex;align-items: center;gap: var(--s-3);padding: 12px 14px;border-radius: 12px;color: var(--ink-1);font-size: var(--fs-base);font-weight: 500;width: 100%;text-align: left;transition: background var(--t-fast),color var(--t-fast);cursor: pointer}.drawer-nav a svg,.drawer-nav button svg{width: 18px;height: 18px;color: var(--ink-3);flex-shrink: 0}.drawer-nav a:hover,.drawer-nav button:hover{background: var(--surface-2);text-decoration: none;color: var(--ink-0)}.drawer-nav a.is-active{background: var(--sage-50);color: var(--brand-strong)}.drawer-nav a.is-active svg{color: var(--brand)}.drawer-foot{margin-top: auto;padding-top: var(--s-4);border-top: 1px solid var(--line-soft);font-size: 12px;color: var(--ink-3)}.drawer-divider{border-top: 1px solid var(--line-soft);margin: var(--s-3) 4px}.tabs{display: flex;gap: 2px;border-bottom: 1px solid var(--line-soft);margin-bottom: var(--s-6);overflow-x: auto}.tabs::-webkit-scrollbar{height: 0}.tab{padding: 11px 16px;font-size: 13.5px;font-weight: 500;color: var(--ink-3);border-bottom: 2px solid transparent;white-space: nowrap;cursor: pointer;transition: color var(--t-fast),border-color var(--t-fast);background: none;border-top: 0;border-left: 0;border-right: 0}.tab:hover{color: var(--ink-1)}.tab.is-active{color: var(--brand-strong);border-bottom-color: var(--sage-400)}.tab-pane[hidden]{display: none}.topbar{position: sticky;top: 0;z-index: var(--z-topbar);background: var(--topbar-bg);backdrop-filter: saturate(140%) blur(10px);-webkit-backdrop-filter: saturate(140%) blur(10px);border-bottom: 1px solid var(--line-soft);padding-top: env(safe-area-inset-top)}.topbar-inner{display: flex;align-items: center;gap: var(--s-5);height: 62px;max-width: 1180px;margin: 0 auto;padding: 0 var(--s-6)}.brand{display: inline-flex;align-items: center;gap: var(--s-3);color: var(--ink-0);text-decoration: none;font-family: var(--f-display);font-size: var(--fs-xl);font-weight: 500}.brand:hover{text-decoration: none}.brand-mark{width: 30px;height: 30px;border-radius: 9px;background: linear-gradient(135deg,var(--sage-300),var(--sage-500));display: grid;place-items: center;color: #fff;font-family: var(--f-display);font-size: 15px;font-style: italic;box-shadow: inset 0 1px 0 rgba(255,255,255,.25)}.brand em{font-style: italic;color: var(--brand-strong);font-weight: 400}.topnav{display: flex;gap: 4px;margin-left: var(--s-5)}.topnav a{padding: 8px 14px;border-radius: var(--r-full);color: var(--ink-2);font-size: 14px;font-weight: 500;transition: background var(--t-fast),color var(--t-fast);cursor: pointer;text-decoration: none}.topnav a:hover{color: var(--ink-0);background: var(--surface-2);text-decoration: none}.topnav a.is-active{color: var(--brand-strong);background: var(--sage-50)}.topbar-spacer{flex: 1}.topbar-actions{display: flex;align-items: center;gap: var(--s-2)}.theme-btn{width: 38px;height: 38px;border-radius: 50%;border: 1px solid var(--line);background: var(--surface);display: grid;place-items: center;color: var(--ink-2);cursor: pointer;transition: color var(--t-fast),border-color var(--t-fast)}.theme-btn:hover{color: var(--ink-0);border-color: var(--ink-4)}.theme-btn svg{width: 16px;height: 16px}:root[data-theme="light"] .ic-moon{display: block}:root[data-theme="light"] .ic-sun{display: none}:root[data-theme="dark"] .ic-moon{display: none}:root[data-theme="dark"] .ic-sun{display: block}.user-pill{display: inline-flex;align-items: center;gap: 9px;padding: 5px 14px 5px 5px;background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-full);color: var(--ink-0);font-size: 14px;font-weight: 500;cursor: pointer;transition: border-color var(--t-fast)}.user-pill:hover{border-color: var(--ink-4)}.hamburger{display: none;width: 38px;height: 38px;border-radius: 50%;border: 1px solid var(--line);background: var(--surface);place-items: center;color: var(--ink-1);cursor: pointer}.hamburger svg{width: 18px;height: 18px}@media (max-width: 980px){.topnav{display: none}.hamburger{display: grid}.topbar-actions [data-mobile-hide]{display: none}}.page[hidden]{display: none}.footer{padding: var(--s-9) 0 calc(var(--s-9) + env(safe-area-inset-bottom));border-top: 1px solid var(--line-soft);color: var(--ink-3);font-size: 13.5px}.footer-grid{display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: var(--s-7);margin-bottom: var(--s-6)}@media (max-width: 780px){.footer-grid{grid-template-columns: 1fr 1fr;gap: var(--s-5)}}.footer h5{font-size: 12px;text-transform: uppercase;letter-spacing: .12em;color: var(--ink-2);margin-bottom: var(--s-3);font-family: var(--f-sans);font-weight: 600}.footer ul{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: var(--s-2)}.footer ul a,.footer ul button{color: var(--ink-2);font-size: 13.5px;text-align: left;cursor: pointer;background: none;border: 0;padding: 0;transition: color var(--t-fast)}.footer ul a:hover,.footer ul button:hover{color: var(--ink-0);text-decoration: none}.footer-bottom{padding-top: var(--s-5);border-top: 1px solid var(--line-soft);display: flex;justify-content: space-between;flex-wrap: wrap;gap: var(--s-3)}.app-shell{display: grid;grid-template-columns: 240px 1fr;min-height: calc(100dvh - 62px)}.app-side{border-right: 1px solid var(--line-soft);padding: var(--s-6) var(--s-4);position: sticky;top: 62px;height: calc(100dvh - 62px);overflow-y: auto;background: var(--bg);display: flex;flex-direction: column}.app-side-section{margin-bottom: var(--s-5)}.app-side-section:last-child{margin-top: auto;margin-bottom: 0}.app-side-label{font-size: 11px;text-transform: uppercase;letter-spacing: .12em;color: var(--ink-3);font-weight: 600;padding: 0 12px;margin-bottom: 6px}.app-side a{display: flex;align-items: center;gap: var(--s-3);padding: 9px 12px;border-radius: var(--r-sm);color: var(--ink-1);font-size: 14px;font-weight: 500;transition: background var(--t-fast),color var(--t-fast);cursor: pointer;text-decoration: none}.app-side a svg{width: 17px;height: 17px;color: var(--ink-3);flex-shrink: 0}.app-side a:hover{background: var(--surface-2);text-decoration: none;color: var(--ink-0)}.app-side a.is-active{background: var(--sage-50);color: var(--brand-strong)}.app-side a.is-active svg{color: var(--brand)}.app-main{padding: var(--s-7) var(--s-7) calc(var(--s-10) + var(--s-6));max-width: 980px;margin: 0 auto;width: 100%}@media (max-width: 980px){.app-shell{grid-template-columns: 1fr}.app-side{display: none}.app-main{padding: var(--s-6) var(--s-4) calc(96px + env(safe-area-inset-bottom));max-width: none}}.subview[hidden]{display: none}.bottom-nav{position: fixed;bottom: 0;left: 0;right: 0;z-index: 40;background: var(--bottom-nav-bg);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border-top: 1px solid var(--line-soft);display: none;padding-bottom: env(safe-area-inset-bottom)}.bottom-nav-inner{display: grid;grid-template-columns: repeat(5,1fr);max-width: 560px;margin: 0 auto}.bn-tab{padding: 9px 4px 7px;display: flex;flex-direction: column;align-items: center;gap: 2px;color: var(--ink-3);font-size: 10.5px;font-weight: 500;transition: color var(--t-fast);cursor: pointer;background: none;border: 0}.bn-tab svg{width: 21px;height: 21px}.bn-tab.is-active{color: var(--brand-strong)}@media (max-width: 980px){.bottom-nav{display: block}}.reader{position: fixed;inset: 0;z-index: var(--z-reader);background: var(--bg);display: flex;flex-direction: column}.reader[hidden]{display: none}.reader-bar{display: flex;align-items: center;gap: var(--s-3);padding: 14px var(--s-6);border-bottom: 1px solid var(--line-soft);background: var(--bg);padding-top: calc(14px + env(safe-area-inset-top))}.reader-bar h2{flex: 1;font-size: var(--fs-lg);font-weight: 500;font-family: var(--f-display);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin: 0}.reader-body{flex: 1;overflow-y: auto;padding: var(--s-9) var(--s-6) var(--s-10);display: flex;justify-content: center}.reader-article{max-width: 680px;width: 100%;font-size: 16.5px;line-height: 1.75;color: var(--ink-1)}.reader-article h1{font-size: 36px;margin-bottom: var(--s-3)}.reader-article .summary{font-size: 17.5px;color: var(--ink-2);font-family: var(--f-display);font-style: italic;margin-bottom: var(--s-6);padding-bottom: var(--s-5);border-bottom: 1px solid var(--line-soft)}.reader-article p{margin: 0 0 var(--s-3)}.reader-article h2{font-size: 24px;margin: var(--s-6) 0 var(--s-3);line-height: 1.25}.reader-article h3{font-size: 19px;margin: var(--s-5) 0 var(--s-2);line-height: 1.3}.reader-article h4{font-size: 16px;margin: var(--s-4) 0 var(--s-2);text-transform: uppercase;letter-spacing: .04em;color: var(--ink-2)}.reader-article ul,.reader-article ol{margin: 0 0 var(--s-3);padding-left: 1.4em}.reader-article li{margin: 0 0 var(--s-1);line-height: 1.6}.reader-article strong{font-weight: 600;color: var(--ink-0)}.reader-article code{font-family: var(--f-mono,ui-monospace,"SF Mono",Menlo,monospace);font-size: .92em;padding: .1em .4em;border-radius: 6px;background: var(--surface-2,rgba(127,127,127,.12));color: var(--brand-strong,inherit)}.reader-article blockquote{margin: var(--s-4) 0;padding: var(--s-3) var(--s-4);border-left: 3px solid var(--brand,currentColor);background: var(--surface-2,rgba(127,127,127,.06));border-radius: 0 10px 10px 0;color: var(--ink-1);font-style: italic}.reader-article hr{border: 0;height: 1px;margin: var(--s-6) 0;background: var(--line-soft,rgba(127,127,127,.2))}.reader-article .reader-table{width: 100%;border-collapse: collapse;margin: var(--s-4) 0;font-size: 15px}.reader-article .reader-table th,.reader-article .reader-table td{text-align: left;padding: var(--s-2) var(--s-3);border-bottom: 1px solid var(--line-soft,rgba(127,127,127,.18))}.reader-article .reader-table th{font-family: var(--f-display);font-weight: 600;color: var(--ink-0);border-bottom-width: 2px}.reader-article .reader-table tr:last-child td{border-bottom: 0}@media (max-width: 780px){.reader-article h1{font-size: 28px}.reader-body{padding: var(--s-6) var(--s-4) var(--s-9)}}.legal{max-width: 760px;margin: 0 auto;font-size: var(--fs-base);line-height: 1.75;color: var(--ink-1)}.legal h1{font-size: 38px;margin-bottom: var(--s-4)}.legal h3{font-size: 18px;margin: var(--s-7) 0 var(--s-2);font-family: var(--f-display);font-weight: 500}.legal p{margin: 0 0 var(--s-3)}.legal ul{margin: 0 0 var(--s-4) var(--s-5);padding: 0}.legal li{margin-bottom: 6px}.hero{padding: 54px 0 var(--s-9);position: relative;overflow: hidden}.hero-grid{display: grid;grid-template-columns: 1.05fr .95fr;gap: var(--s-9);align-items: center}@media (max-width: 880px){.hero-grid{grid-template-columns: 1fr;gap: var(--s-7)}}.hero h1{font-size: 54px;line-height: 1.05;margin-bottom: var(--s-4);letter-spacing: -.02em}@media (max-width: 880px){.hero h1{font-size: 38px}}.hero p.lead{margin-bottom: var(--s-6);max-width: 520px}.hero-cta{display: flex;flex-wrap: wrap;gap: var(--s-3);margin-bottom: var(--s-6)}.hero-trust{display: flex;flex-wrap: wrap;gap: var(--s-5);font-size: 13px;color: var(--ink-2);align-items: center}.hero-trust span{display: inline-flex;align-items: center;gap: 6px}.hero-trust svg{width: 14px;height: 14px;color: var(--sage-400)}.hero-illustration{position: relative;width: 100%;height: 440px;background: radial-gradient(circle at 30% 30%,var(--butter-100),transparent 60%),radial-gradient(circle at 70% 70%,var(--sage-50),transparent 65%)}@media (max-width: 880px){.hero-illustration{height: 280px;margin-top: var(--s-2)}}.hero-cards{position: relative;width: 100%;height: 100%;max-width: 440px;margin: 0 auto}.hero-card{position: absolute;background: var(--surface);border: 1px solid var(--line-soft);border-radius: var(--r-lg);padding: 14px 16px;box-shadow: var(--shadow-md);display: flex;align-items: center;gap: var(--s-3);font-size: 13.5px;color: var(--ink-1)}.hero-card-1{top: 30px;left: 20px;animation: floaty 6s ease-in-out infinite}.hero-card-2{top: 160px;right: 0;animation: floaty 6s ease-in-out infinite -2s}.hero-card-3{bottom: 30px;left: 60px;animation: floaty 6s ease-in-out infinite -4s}@media (max-width: 880px){.hero-card-1{top: 14px;left: 14px}.hero-card-2{top: 90px;right: 14px}.hero-card-3{bottom: 14px;left: 50px}.hero-card{font-size: 12.5px;padding: 10px 12px}}.hero-card-icon{width: 36px;height: 36px;border-radius: 11px;background: var(--sage-50);display: grid;place-items: center;color: var(--sage-500);flex-shrink: 0}.hero-card-icon svg{width: 18px;height: 18px}.hero-card-2 .hero-card-icon{background: var(--peach-100);color: var(--clay-400)}.hero-card-3 .hero-card-icon{background: var(--sky-100);color: #5a7e8c}@keyframes floaty{0%,100%{transform: translateY(0)}50%{transform: translateY(-6px)}}.audience-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--s-5)}@media (max-width: 880px){.audience-grid{grid-template-columns: 1fr}}.aud-card{padding: var(--s-7);border-radius: var(--r-xl);background: var(--surface);border: 1px solid var(--line-soft);box-shadow: var(--shadow-sm);transition: transform var(--t-fast),box-shadow var(--t-fast)}@media (hover: hover){.aud-card:hover{transform: translateY(-2px);box-shadow: var(--shadow-md)}}.aud-card h3{font-size: var(--fs-xl);margin-bottom: var(--s-3)}.aud-card p{color: var(--ink-2);font-size: 14.5px;line-height: 1.6;margin-bottom: var(--s-4)}.aud-card ul{list-style: none;padding: 0;margin: 0 0 var(--s-5);display: flex;flex-direction: column;gap: var(--s-2)}.aud-card li{font-size: 14px;color: var(--ink-1);display: flex;align-items: flex-start;gap: var(--s-2)}.aud-card li::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: var(--sage-300);margin-top: 9px;flex-shrink: 0}.aud-icon{width: 48px;height: 48px;border-radius: 14px;background: var(--sage-50);display: grid;place-items: center;color: var(--sage-500);margin-bottom: var(--s-5)}.aud-icon svg{width: 22px;height: 22px}.aud-card--clay .aud-icon{background: var(--peach-100);color: var(--clay-400)}.aud-card--sky .aud-icon{background: var(--sky-100);color: #5a7e8c}.values{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--s-4);margin-top: var(--s-9)}@media (max-width: 880px){.values{grid-template-columns: repeat(2,1fr)}}.value{padding: var(--s-5);border-radius: var(--r-md);background: var(--surface-2);border: 1px solid var(--line-soft)}.value h4{font-size: var(--fs-base);margin-bottom: 4px;font-family: var(--f-sans);font-weight: 600;color: var(--ink-0)}.value p{font-size: 13px;color: var(--ink-2);line-height: 1.5}.steps{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--s-5)}@media (max-width: 780px){.steps{grid-template-columns: 1fr}}.step{padding: var(--s-6);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft)}.step-num{display: inline-flex;width: 34px;height: 34px;border-radius: 50%;background: var(--sage-50);color: var(--brand-strong);font-family: var(--f-display);font-size: 16px;font-weight: 500;align-items: center;justify-content: center;margin-bottom: var(--s-4)}.step h3{font-size: 18px;margin-bottom: 6px}.step p{font-size: 14px;color: var(--ink-2);line-height: 1.6}.cta-band{margin: var(--s-6) auto;max-width: 1180px;padding: var(--s-9) var(--s-7);border-radius: var(--r-xl);background: linear-gradient(135deg,var(--sage-50),var(--butter-100));text-align: center}.cta-band h2{font-size: 32px;margin-bottom: var(--s-3)}.cta-band p{color: var(--ink-2);margin: 0 auto var(--s-5);max-width: 520px}.page-head{display: flex;justify-content: space-between;align-items: flex-end;gap: var(--s-5);margin-bottom: var(--s-6);flex-wrap: wrap}.page-head h1{font-size: 30px}.page-head p{color: var(--ink-2);font-size: 14.5px;margin-top: 6px;max-width: 540px}.greet-card{padding: var(--s-6);border-radius: var(--r-xl);background: linear-gradient(135deg,var(--sage-50),var(--butter-100));border: 1px solid var(--line-soft);margin-bottom: var(--s-6);display: flex;justify-content: space-between;align-items: center;gap: var(--s-5);flex-wrap: wrap}.greet-text{flex: 1;min-width: 200px}.greet-eyebrow{font-size: 12px;color: var(--brand-strong);text-transform: uppercase;letter-spacing: .12em;font-weight: 600;margin-bottom: 6px}.greet-card h2{font-size: 26px;font-weight: 500}.greet-card p{color: var(--ink-2);margin-top: 6px;font-size: 14.5px}.greet-stats{display: flex;gap: var(--s-4);flex-wrap: wrap;min-width: 0}.gs{padding: 12px 16px;background: rgba(255,255,255,.7);border-radius: 14px;text-align: center;min-width: 0}:root[data-theme="dark"] .gs{background: rgba(0,0,0,.25)}.gs-label{font-size: 11px;color: var(--ink-3);text-transform: uppercase;letter-spacing: .08em;font-weight: 600}.gs-val{font-family: var(--f-display);font-size: 24px;color: var(--ink-0);font-weight: 500;margin-top: 2px}.gs-val small{font-size: 14px;color: var(--ink-3);font-family: var(--f-sans);font-weight: 400}.qa-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--s-3);margin-bottom: var(--s-7)}@media (max-width: 780px){.qa-grid{grid-template-columns: repeat(2,1fr)}}.qa{padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft);text-align: left;display: flex;flex-direction: column;gap: var(--s-2);transition: transform var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);cursor: pointer}@media (hover: hover){.qa:hover{transform: translateY(-1px);border-color: var(--ink-4);box-shadow: var(--shadow-sm)}}.qa:active{transform: translateY(0)}.qa-ico{width: 38px;height: 38px;border-radius: 11px;background: var(--sage-50);color: var(--sage-500);display: grid;place-items: center;margin-bottom: 4px}.qa-ico svg{width: 18px;height: 18px}.qa--clay .qa-ico{background: var(--peach-100);color: var(--clay-400)}.qa--sky .qa-ico{background: var(--sky-100);color: #5a7e8c}.qa--rose .qa-ico{background: var(--rose-100);color: #9e554e}.qa h4{font-size: 14px;font-family: var(--f-sans);font-weight: 600;color: var(--ink-0);margin: 0}.qa p{font-size: 12.5px;color: var(--ink-3);line-height: 1.5;margin: 0}.s-head{display: flex;justify-content: space-between;align-items: center;margin: var(--s-4) 0;gap: var(--s-3)}.s-head h3{font-size: 18px}.subj-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--s-4)}@media (max-width: 880px){.subj-grid{grid-template-columns: repeat(2,1fr)}}@media (max-width: 480px){.subj-grid{grid-template-columns: 1fr}}.subj{padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft);text-align: left;display: flex;flex-direction: column;gap: var(--s-2);transition: transform var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);cursor: pointer}@media (hover: hover){.subj:hover{transform: translateY(-1px);border-color: var(--ink-4);box-shadow: var(--shadow-sm)}}.subj-ico{width: 34px;height: 34px;border-radius: var(--r-sm);display: grid;place-items: center;background: var(--sage-50);color: var(--sage-500);font-family: var(--f-display);font-size: 15px;font-weight: 500;font-style: italic}.subj h4{font-size: 17px;margin: 0;font-family: var(--f-display);font-weight: 500}.subj p{font-size: 13px;color: var(--ink-3);margin: 0;line-height: 1.45}.subj-progress{height: 4px;background: var(--surface-3);border-radius: var(--r-full);overflow: hidden;margin-top: 4px}.subj-progress>i{display: block;height: 100%;background: linear-gradient(90deg,var(--sage-300),var(--sage-500));border-radius: var(--r-full);transition: width .5s var(--ease)}.recent-row{display: flex;align-items: center;gap: var(--s-4);padding: 14px 16px;border-radius: var(--r-md);background: var(--surface);border: 1px solid var(--line-soft);text-align: left;width: 100%;transition: background var(--t-fast),border-color var(--t-fast);cursor: pointer}.recent-row + .recent-row{margin-top: var(--s-2)}.recent-row:hover{background: var(--surface-2);border-color: var(--ink-4)}.recent-row-ico{width: 36px;height: 36px;border-radius: var(--r-sm);background: var(--sage-50);color: var(--sage-500);display: grid;place-items: center;flex-shrink: 0}.recent-row-ico svg{width: 16px;height: 16px}.recent-row-body{flex: 1;min-width: 0;display: flex;flex-direction: column}.recent-row-title{font-size: 14.5px;color: var(--ink-0);font-weight: 500;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;display: block}.recent-row-meta{font-size: 12.5px;color: var(--ink-3);margin-top: 1px;display: block}.recent-row-arrow{color: var(--ink-3)}.recent-row-arrow svg{width: 16px;height: 16px}.trail-card{padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft)}.trail-card + .trail-card{margin-top: var(--s-3)}.trail-card-head{display: flex;justify-content: space-between;align-items: center;gap: var(--s-3);margin-bottom: 6px;flex-wrap: wrap}.trail-card-head h4{font-size: 17px;font-weight: 500}.trail-card-desc{font-size: 13.5px;color: var(--ink-2);line-height: 1.55;margin-bottom: var(--s-2)}.trail-lessons{display: none;padding-top: var(--s-3);margin-top: var(--s-3);border-top: 1px solid var(--line-soft);flex-direction: column;gap: 6px}.trail-lessons.is-open{display: flex}.lesson-row{display: flex;align-items: center;gap: var(--s-3);padding: 10px 12px;border-radius: var(--r-sm);background: var(--surface-2);border: 1px solid transparent;text-align: left;cursor: pointer;width: 100%;transition: background var(--t-fast),border-color var(--t-fast)}.lesson-row:hover{background: var(--sage-50);border-color: var(--sage-100)}.lesson-row-num{width: 26px;height: 26px;border-radius: 50%;background: var(--surface);border: 1px solid var(--line);display: grid;place-items: center;font-size: 12px;font-weight: 600;color: var(--ink-3);flex-shrink: 0}.lesson-row.is-done .lesson-row-num{background: var(--sage-400);color: #fff;border-color: var(--sage-400)}.lesson-row-title{flex: 1;font-size: 14px;color: var(--ink-1);font-weight: 500;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.lesson-row-time{font-size: 12px;color: var(--ink-3);font-weight: 500}.mat-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(240px,1fr));gap: var(--s-4)}.mat{padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft);text-align: left;display: flex;flex-direction: column;gap: var(--s-2);transition: transform var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);cursor: pointer}@media (hover: hover){.mat:hover{transform: translateY(-1px);border-color: var(--ink-4);box-shadow: var(--shadow-sm)}}.mat-kind{font-size: 11px;text-transform: uppercase;letter-spacing: .08em;color: var(--brand-strong);font-weight: 600;display: inline-flex;align-items: center;gap: 6px}.mat-kind svg{width: 13px;height: 13px}.mat h4{font-size: 16px;font-weight: 500;margin: 0}.mat p{font-size: 13px;color: var(--ink-3);line-height: 1.5;margin: 0;display: -webkit-box;-webkit-line-clamp: 3;line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden}.mat-foot{display: flex;flex-wrap: wrap;gap: 4px;margin-top: auto;padding-top: 6px}.daily-card{padding: var(--s-7);border-radius: var(--r-xl);background: var(--surface);border: 1px solid var(--line-soft);box-shadow: var(--shadow-sm);max-width: 640px;margin: 0 auto}.daily-eyebrow{font-size: 12px;color: var(--brand-strong);text-transform: uppercase;letter-spacing: .12em;font-weight: 600;margin-bottom: var(--s-3)}.daily-q{font-family: var(--f-display);font-size: 24px;color: var(--ink-0);font-weight: 500;line-height: 1.25;margin-bottom: var(--s-6)}.daily-opts{display: flex;flex-direction: column;gap: var(--s-3)}.opt{display: flex;align-items: center;gap: var(--s-3);padding: 14px 18px;border-radius: 14px;background: var(--surface-2);border: 1px solid var(--line);text-align: left;font-size: 14.5px;color: var(--ink-1);cursor: pointer;transition: background var(--t-fast),border-color var(--t-fast),color var(--t-fast);width: 100%}.opt:hover:not(:disabled){background: var(--sage-50);border-color: var(--sage-200)}.opt.is-correct{background: var(--sage-50);border-color: var(--sage-300);color: var(--brand-strong)}.opt.is-wrong{background: var(--danger-bg);border-color: var(--danger-border);color: var(--danger)}.opt:disabled{cursor: default}.opt-mark{width: 24px;height: 24px;border-radius: 50%;background: var(--surface);border: 1px solid var(--line);display: grid;place-items: center;font-size: 12px;font-weight: 600;color: var(--ink-3);flex-shrink: 0}.opt.is-correct .opt-mark{background: var(--sage-400);color: #fff;border-color: var(--sage-400)}.opt.is-wrong .opt-mark{background: var(--danger);color: #fff;border-color: var(--danger)}.daily-feedback{margin-top: var(--s-5);padding: 14px 16px;border-radius: 12px;font-size: 14px;line-height: 1.55}.daily-feedback.ok{background: var(--sage-50);color: var(--brand-strong);border: 1px solid var(--sage-100)}.daily-feedback.no{background: var(--danger-bg);color: var(--danger);border: 1px solid var(--danger-border)}.chat-shell{display: flex;flex-direction: column;height: clamp(420px,calc(100dvh - 62px - 64px),680px);border: 1px solid var(--line-soft);border-radius: var(--r-xl);background: var(--surface);overflow: hidden}@media (max-width: 980px){.chat-shell{height: calc(100dvh - 62px - 130px - env(safe-area-inset-bottom));border-radius: var(--r-lg)}}.chat-head{padding: var(--s-4) var(--s-5);border-bottom: 1px solid var(--line-soft);display: flex;align-items: center;gap: var(--s-3)}.chat-head h4{font-size: var(--fs-base);font-family: var(--f-sans);font-weight: 600;margin: 0}.chat-head p{font-size: 12px;color: var(--ink-3);margin: 0}.chat-body{flex: 1;overflow-y: auto;padding: var(--s-5);display: flex;flex-direction: column;gap: var(--s-4);background: var(--bg-soft)}:root[data-theme="dark"] .chat-body{background: var(--bg)}.msg{display: flex;gap: var(--s-3);max-width: 88%}.msg-user{align-self: flex-end;flex-direction: row-reverse}.msg-bubble{padding: 11px 15px;border-radius: 18px;font-size: 14.5px;line-height: 1.5;background: var(--surface);border: 1px solid var(--line-soft);color: var(--ink-1);word-wrap: break-word;overflow-wrap: anywhere}.msg-user .msg-bubble{background: var(--sage-400);color: #fff;border-color: var(--sage-400);border-bottom-right-radius: 6px}.msg-ai .msg-bubble{border-bottom-left-radius: 6px}.msg-avatar{width: 28px;height: 28px;border-radius: 50%;background: var(--sage-100);color: var(--brand-strong);display: grid;place-items: center;flex-shrink: 0;font-family: var(--f-display);font-size: 13px;font-weight: 500;font-style: italic}.msg-user .msg-avatar{display: none}.typing{display: inline-flex;gap: 4px;align-items: center}.typing span{width: 6px;height: 6px;border-radius: 50%;background: var(--ink-3);animation: bounce 1.2s infinite}.typing span:nth-child(2){animation-delay: .15s}.typing span:nth-child(3){animation-delay: .3s}@keyframes bounce{0%,60%,100%{opacity: .3;transform: translateY(0)}30%{opacity: 1;transform: translateY(-3px)}}.chat-input{padding: var(--s-4);border-top: 1px solid var(--line-soft);display: flex;gap: var(--s-3);align-items: flex-end}.chat-input textarea{flex: 1;padding: 11px 14px;border-radius: 14px;border: 1px solid var(--line);background: var(--surface);font-size: 14.5px;resize: none;min-height: 42px;max-height: 140px;line-height: 1.4;font-family: inherit;color: var(--ink-0);transition: border-color var(--t-fast)}.chat-input textarea:focus{outline: 0;border-color: var(--sage-400)}.profile-head{display: flex;align-items: center;gap: var(--s-5);margin-bottom: var(--s-6);flex-wrap: wrap}.profile-head-info{flex: 1;min-width: 200px}.profile-head-name{font-family: var(--f-display);font-size: 24px;color: var(--ink-0);font-weight: 500}.profile-head-meta{font-size: 13.5px;color: var(--ink-3);margin-top: 2px}.profile-section{padding: var(--s-6);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft);margin-bottom: var(--s-4)}.profile-section h3{font-size: 18px;margin-bottom: var(--s-3);font-family: var(--f-display);font-weight: 500}.profile-section .lead{font-size: 14px;color: var(--ink-2);margin-bottom: var(--s-5)}.nt-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: var(--s-3)}.nt{padding: var(--s-4);border-radius: 14px;border: 1px solid var(--line);background: var(--surface-2);text-align: left;cursor: pointer;transition: background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.nt:hover{border-color: var(--sage-300);background: var(--sage-50)}.nt.is-active{border-color: var(--sage-400);background: var(--sage-50);box-shadow: 0 0 0 2px var(--sage-100)}.nt-name{font-size: 14px;font-weight: 500;color: var(--ink-0);font-family: var(--f-sans)}.nt-desc{font-size: 11.5px;color: var(--ink-3);margin-top: 3px;line-height: 1.4}.dim{padding: var(--s-4) 0;border-bottom: 1px solid var(--line-soft)}.dim:last-child{border-bottom: 0}.dim-head{display: flex;justify-content: space-between;align-items: center;margin-bottom: 4px}.dim-label{font-size: 14px;color: var(--ink-0);font-weight: 500}.dim-val{font-family: var(--f-display);font-size: 14px;color: var(--brand-strong);background: var(--sage-50);padding: 2px 12px;border-radius: var(--r-full);min-width: 46px;text-align: center;font-variant-numeric: tabular-nums}.dim-hint{font-size: 12.5px;color: var(--ink-3);margin-bottom: var(--s-3)}.dim-range{width: 100%;-webkit-appearance: none;appearance: none;height: 6px;background: var(--surface-3);border-radius: var(--r-full);outline: 0;cursor: pointer}.dim-range::-webkit-slider-thumb{-webkit-appearance: none;appearance: none;width: 20px;height: 20px;border-radius: 50%;background: var(--sage-400);cursor: pointer;border: 3px solid var(--surface);box-shadow: var(--shadow-sm)}.dim-range::-moz-range-thumb{width: 20px;height: 20px;border-radius: 50%;background: var(--sage-400);cursor: pointer;border: 3px solid var(--surface)}.dim-range:focus-visible{box-shadow: var(--focus-ring)}.ach-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(170px,1fr));gap: var(--s-3)}.ach{padding: var(--s-5) var(--s-4);border-radius: var(--r-md);background: var(--surface);border: 1px solid var(--line-soft);text-align: center;opacity: .55;transition: opacity var(--t-fast),background var(--t-fast)}.ach.is-on{opacity: 1;background: var(--sage-50);border-color: var(--sage-100)}.ach-ico{font-size: 28px;margin-bottom: var(--s-2);line-height: 1}.ach h4{font-size: 13.5px;font-family: var(--f-sans);font-weight: 600;margin-bottom: 2px;color: var(--ink-0)}.ach p{font-size: 11.5px;color: var(--ink-3)}.kpi-row{display: grid;grid-template-columns: repeat(auto-fit,minmax(170px,1fr));gap: var(--s-3);margin-bottom: var(--s-5)}.kpi{padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line-soft)}.kpi-label{font-size: 11.5px;text-transform: uppercase;letter-spacing: .1em;color: var(--ink-3);font-weight: 600}.kpi-val{font-family: var(--f-display);font-size: 30px;color: var(--ink-0);margin-top: 6px;font-weight: 500}.kpi-sub{font-size: 12px;color: var(--ink-3);margin-top: 2px}.kpi-val small{font-size: 14px;color: var(--ink-3);font-family: var(--f-sans);font-weight: 400}.plans-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(280px,1fr));gap: var(--s-5);max-width: 980px;margin: 0 auto}.plan-price{font-family: var(--f-display);font-size: 42px;color: var(--ink-0);line-height: 1;margin: var(--s-4) 0 4px;font-weight: 500}.plan-price small{font-size: 14px;color: var(--ink-3);font-family: var(--f-sans);font-weight: 400}.plan-period{font-size: 13px;color: var(--ink-3);margin-bottom: var(--s-5)}.aud-card--featured{border-color: var(--sage-300);background: linear-gradient(180deg,var(--sage-50),var(--surface))}.contact-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(260px,1fr));gap: var(--s-4)}.contact-card{margin: 0 !important}.report-out{margin-top: var(--s-5);padding: var(--s-5);border-radius: 14px;background: var(--sage-50);border: 1px solid var(--sage-100);white-space: pre-wrap;line-height: 1.7;font-size: 14.5px;color: var(--ink-1)}.modal-card--wide{max-width: 560px}.ob-top{display: flex;align-items: center;gap: var(--s-4);margin-bottom: var(--s-6)}.ob-progress{display: flex;gap: var(--s-2);flex: 1}.ob-dot{height: 4px;flex: 1;border-radius: var(--r-full);background: var(--surface-3);transition: background var(--t-med) var(--ease)}.ob-dot.is-done{background: var(--brand)}.ob-dot.is-active{background: var(--brand-strong)}.ob-skip{flex: 0 0 auto;font-size: var(--fs-sm)}.ob-body .eyebrow{display: block;margin-bottom: var(--s-2)}.ob-body h3{font-family: var(--f-display);font-size: 26px;font-weight: 500;color: var(--ink-0);line-height: 1.2;margin-bottom: var(--s-3)}.ob-lead{color: var(--ink-2);font-size: var(--fs-md);line-height: 1.6;margin-bottom: var(--s-6)}.ob-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: var(--s-3)}.ob-opt{display: flex;flex-direction: column;align-items: flex-start;gap: var(--s-1);text-align: left;padding: var(--s-4);border-radius: var(--r-md);border: 1.5px solid var(--line);background: var(--surface);color: var(--ink-1);cursor: pointer;transition: border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}@media (hover: hover){.ob-opt:hover{border-color: var(--sage-300);transform: translateY(-1px)}}.ob-opt:focus-visible{outline: none;box-shadow: var(--focus-ring)}.ob-opt.is-active{border-color: var(--brand);background: var(--brand-soft)}.ob-opt-emoji{font-size: 22px;line-height: 1;margin-bottom: var(--s-1)}.ob-opt-label{font-weight: 500;color: var(--ink-0);font-size: var(--fs-base)}.ob-opt-desc{font-size: var(--fs-sm);color: var(--ink-3);line-height: 1.45}.ob-toggle{display: flex;align-items: center;gap: var(--s-3);margin-top: var(--s-5);padding: var(--s-4);border-radius: var(--r-md);background: var(--surface-2);color: var(--ink-1);font-size: var(--fs-base);cursor: pointer}.ob-toggle input{width: 18px;height: 18px;accent-color: var(--brand);cursor: pointer}.ob-foot{display: flex;align-items: center;gap: var(--s-3);margin-top: var(--s-7)}.ob-foot-spacer{flex: 1}@media (max-width: 480px){.ob-grid{grid-template-columns: 1fr}}.grid{display: grid;gap: var(--s-5)}.grid.g-2{grid-template-columns: repeat(2,1fr)}.grid.g-3{grid-template-columns: repeat(3,1fr)}.grid.g-4{grid-template-columns: repeat(4,1fr)}@media (max-width: 980px){.grid.g-4{grid-template-columns: repeat(2,1fr)}.grid.g-3{grid-template-columns: repeat(2,1fr)}}@media (max-width: 640px){.grid.g-2,.grid.g-3,.grid.g-4{grid-template-columns: 1fr}}.card-soft{background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-lg);box-shadow: var(--shadow-sm);padding: var(--s-5)}.card-soft .ph{display: flex;align-items: center;gap: var(--s-3);margin-bottom: var(--s-4)}.card-soft .ph h3{font-family: var(--f-display);font-size: 16px;font-weight: 500;color: var(--ink-0);margin: 0}.card-soft .ph .pic{width: 32px;height: 32px;border-radius: 9px;display: grid;place-items: center;background: var(--brand-soft);color: var(--brand-strong);flex: 0 0 auto}.card-soft .ph .pic svg{width: 17px;height: 17px;stroke-width: 1.9}.chip-soft{margin-left: auto;font-size: 12px;font-weight: 600;color: var(--brand-strong);background: var(--brand-soft);padding: 4px 11px;border-radius: 99px}.sec-h{display: flex;align-items: center;gap: 10px;margin: var(--s-6) 0 var(--s-4)}.sec-h h2{font-family: var(--f-display);font-size: 18px;font-weight: 500;color: var(--ink-0)}.sec-h .line{flex: 1;height: 1px;background: var(--line)}.stat-tiles{display: grid;grid-template-columns: repeat(auto-fit,minmax(130px,1fr));gap: 12px}.stat-tile{background: var(--surface-2);border: 1px solid var(--line);border-radius: var(--r-md);padding: 14px 16px}.stat-tile .n{font-family: var(--f-display);font-size: 26px;font-weight: 600;color: var(--ink-0);line-height: 1}.stat-tile .l{font-size: 11.5px;color: var(--ink-3);margin-top: 6px;text-transform: uppercase;letter-spacing: .04em}.stat-tile .delta{font-size: 11.5px;font-weight: 600;margin-top: 5px}.stat-tile .delta.up{color: var(--success,#5d7d4b)}.stat-tile .delta.down{color: var(--danger,#b9544d)}.hbar{display: flex;flex-direction: column;gap: 11px}.hbar-row{display: grid;grid-template-columns: 120px 1fr 46px;align-items: center;gap: 12px}.hbar-row .lbl{font-size: 13px;color: var(--ink-1);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.hbar-row .track{height: 10px;border-radius: 99px;background: var(--surface-3);overflow: hidden}.hbar-row .track>span{display: block;height: 100%;border-radius: 99px;background: var(--brand);transition: width 1s cubic-bezier(.22,.61,.36,1)}.hbar-row .val{font-size: 12.5px;font-weight: 600;color: var(--ink-1);text-align: right}.donut-pair{display: flex;align-items: center;gap: 20px;flex-wrap: wrap}.donut-legend{display: flex;flex-direction: column;gap: 8px;flex: 1;min-width: 140px}.donut-legend .dlg{display: flex;align-items: center;gap: 9px;font-size: 13px;color: var(--ink-1)}.donut-legend .dlg i{width: 11px;height: 11px;border-radius: 3px}.donut-legend .dlg b{margin-left: auto;color: var(--ink-0)}.trail-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: 16px}.trail-subj{text-align: left;background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-lg);padding: 18px;cursor: pointer;transition: transform .16s,box-shadow .16s,border-color .16s}.trail-subj:hover{transform: translateY(-3px);box-shadow: var(--shadow-md);border-color: var(--sage-200)}.trail-subj .ts-top{display: flex;align-items: center;justify-content: space-between;margin-bottom: 14px}.trail-subj .ts-ico{width: 44px;height: 44px;border-radius: 12px;display: grid;place-items: center;color: #fff}.trail-subj .ts-ico svg{width: 22px;height: 22px;stroke-width: 1.9}.trail-subj .ts-pct{font-family: var(--f-display);font-size: 18px;font-weight: 600;color: var(--ink-1)}.trail-subj .ts-name{font-weight: 600;color: var(--ink-0);font-size: 15px}.trail-subj .ts-desc{font-size: 12.5px;color: var(--ink-3);margin-top: 4px;line-height: 1.45;min-height: 36px}.trail-subj .ts-bar{height: 7px;border-radius: 99px;background: var(--surface-3);overflow: hidden;margin-top: 12px}.trail-subj .ts-bar>span{display: block;height: 100%;background: var(--brand);border-radius: 99px}.tnodes{display: flex;flex-direction: column;gap: 8px}.tnode{display: flex;align-items: center;gap: 14px;padding: 12px 14px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--surface)}.tnode .tdot{width: 38px;height: 38px;border-radius: 50%;display: grid;place-items: center;color: #fff;flex: 0 0 auto;background: var(--surface-3)}.tnode .tdot svg{width: 18px;height: 18px}.tnode.done .tdot{background: linear-gradient(135deg,var(--sage-300),var(--sage-500))}.tnode.current .tdot{background: linear-gradient(135deg,var(--sage-400),var(--sage-600));box-shadow: 0 0 0 4px var(--brand-soft)}.tnode.locked .tdot{background: var(--surface-3);color: var(--ink-4)}.tnode .tinfo{flex: 1;min-width: 0}.tnode .tt{font-weight: 500;color: var(--ink-0);font-size: 14px}.tnode.locked .tt{color: var(--ink-3)}.tnode .tm{font-size: 12px;color: var(--ink-3);margin-top: 2px}.goal{padding: 16px 18px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--surface);margin-bottom: 12px;transition: box-shadow .16s}.goal:hover{box-shadow: var(--shadow-sm)}.goal.done{background: var(--brand-soft);border-color: transparent}.goal-head{display: flex;align-items: center;gap: 10px;margin-bottom: 10px}.goal-head .t{font-weight: 500;color: var(--ink-0);font-size: 14.5px;flex: 1}.goal-head .due{font-size: 11.5px;color: var(--ink-3)}.goal-check{width: 24px;height: 24px;border-radius: 50%;border: 2px solid var(--line);display: grid;place-items: center;cursor: pointer;flex: 0 0 auto;color: transparent;transition: all .16s}.goal.done .goal-check{background: var(--brand);border-color: var(--brand);color: #fff}.goal-check svg{width: 13px;height: 13px;stroke-width: 3}.goal-prog{display: flex;align-items: center;gap: 12px}.goal-prog .bar{flex: 1;height: 8px;border-radius: 99px;background: var(--surface-3);overflow: hidden}.goal-prog .bar>span{display: block;height: 100%;border-radius: 99px;background: var(--brand);transition: width .8s}.goal-prog .pct{font-size: 12.5px;font-weight: 600;color: var(--ink-1);min-width: 60px;text-align: right}.agenda-list{display: flex;flex-direction: column;gap: 10px}.agenda-day-h{font-size: 12.5px;font-weight: 600;color: var(--ink-2);text-transform: capitalize;margin: 16px 0 8px;display: flex;align-items: center;gap: 8px}.agenda-day-h::after{content: "";flex: 1;height: 1px;background: var(--line)}.agenda-item{display: flex;align-items: center;gap: 14px;padding: 13px 16px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--surface);transition: all .16s}.agenda-item:hover{border-color: var(--sage-200);box-shadow: var(--shadow-sm)}.agenda-time{font-weight: 600;color: var(--ink-0);font-size: 13.5px;min-width: 50px;text-align: center}.agenda-bar{width: 4px;align-self: stretch;border-radius: 4px;background: var(--brand)}.agenda-body{flex: 1;min-width: 0}.agenda-body .t{font-weight: 500;color: var(--ink-0);font-size: 14px}.agenda-body .m{font-size: 12px;color: var(--ink-3);margin-top: 2px}.agenda-type{font-size: 11px;font-weight: 600;text-transform: uppercase;letter-spacing: .04em;padding: 4px 9px;border-radius: 99px;background: var(--surface-2);color: var(--ink-2)}.legend{display: flex;gap: 14px;flex-wrap: wrap}.legend span{display: inline-flex;align-items: center;gap: 6px;font-size: 12px;color: var(--ink-2)}.legend i{width: 11px;height: 11px;border-radius: 4px;display: inline-block}.act-row{display: flex;align-items: center;gap: 14px;padding: 14px 16px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--surface);margin-bottom: 10px;transition: all .16s}.act-row:hover{border-color: var(--sage-200);box-shadow: var(--shadow-sm)}.act-ico{width: 42px;height: 42px;border-radius: 11px;display: grid;place-items: center;background: var(--brand-soft);color: var(--brand-strong);flex: 0 0 auto}.act-ico svg{width: 20px;height: 20px}.act-main{flex: 1;min-width: 0}.act-main .t{font-weight: 500;color: var(--ink-0);font-size: 14.5px}.act-main .m{font-size: 12.5px;color: var(--ink-3);margin-top: 3px}.act-status{font-size: 11.5px;font-weight: 600;padding: 5px 11px;border-radius: 99px;text-transform: capitalize}.act-status.pendente{background: var(--butter-100,#f7ecc4);color: #9a7b1e}.act-status.entregue{background: var(--sky-100,#d8e6ec);color: #3f7186}.act-status.corrigido{background: var(--brand-soft);color: var(--brand-strong)}.act-status.atrasado{background: var(--rose-100,#f3dbd8);color: #b9544d}.act-grade{font-family: var(--f-display);font-size: 19px;font-weight: 600;color: var(--ink-0);min-width: 54px;text-align: right}.act-grade small{font-size: 12px;color: var(--ink-3);font-weight: 400}.ach-grid2{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 14px}.ach-card{text-align: center;padding: 20px 14px;border: 1px solid var(--line);border-radius: var(--r-md);background: var(--surface);transition: all .16s}.ach-card:hover{transform: translateY(-2px);box-shadow: var(--shadow-md)}.ach-card.locked{opacity: .62;filter: saturate(.4)}.ach-medal{width: 58px;height: 58px;border-radius: 50%;margin: 0 auto 12px;display: grid;place-items: center;color: #fff}.ach-medal.bronze{background: linear-gradient(145deg,#cd9b6a,#a06b3d)}.ach-medal.prata{background: linear-gradient(145deg,#c9ccd1,#9097a0)}.ach-medal.ouro{background: linear-gradient(145deg,#e8c66a,#c79a2e)}.ach-medal svg{width: 26px;height: 26px}.ach-card .nm2{font-weight: 600;color: var(--ink-0);font-size: 13.5px}.ach-card .ds{font-size: 11.5px;color: var(--ink-3);margin-top: 4px;line-height: 1.4}.ach-card .pbar{height: 6px;border-radius: 99px;background: var(--surface-3);overflow: hidden;margin-top: 10px}.ach-card .pbar>span{display: block;height: 100%;background: var(--brand)}.ach-card .pmeta{font-size: 10.5px;color: var(--ink-3);margin-top: 5px}.rank-list{display: flex;flex-direction: column;gap: 8px}.rank-item{display: flex;align-items: center;gap: 14px;padding: 12px 16px;border-radius: var(--r-md);border: 1px solid var(--line);background: var(--surface)}.rank-item.me{background: var(--brand-soft);border-color: transparent}.rank-item .pos{font-family: var(--f-display);font-size: 18px;font-weight: 600;color: var(--ink-2);width: 32px;text-align: center}.rank-item .who2{flex: 1;font-weight: 500;color: var(--ink-0);font-size: 14px}.rank-item .xp2{font-size: 13px;font-weight: 600;color: var(--brand-strong)}.timeline{position: relative;padding-left: 28px}.timeline::before{content: "";position: absolute;left: 9px;top: 6px;bottom: 6px;width: 2px;background: var(--line)}.tl-item{position: relative;padding: 0 0 20px}.tl-item:last-child{padding-bottom: 0}.tl-dot{position: absolute;left: -23px;top: 2px;width: 20px;height: 20px;border-radius: 50%;background: var(--surface);border: 2px solid var(--brand);display: grid;place-items: center;color: var(--brand-strong)}.tl-dot svg{width: 11px;height: 11px;stroke-width: 2.4}.tl-item.achievement .tl-dot{border-color: var(--clay-400,#b88052);color: var(--clay-400,#b88052)}.tl-item.level .tl-dot{border-color: #9b8fb8;color: #9b8fb8}.tl-item.daily .tl-dot{border-color: #5a7f8c;color: #5a7f8c}.tl-t{font-weight: 500;color: var(--ink-0);font-size: 14px}.tl-m{font-size: 12px;color: var(--ink-3);margin-top: 2px}.tl-xp{font-size: 11.5px;font-weight: 600;color: var(--brand-strong);margin-left: 8px}.app-side{overflow-y: auto}.rec-card{position: relative;padding: var(--s-5) var(--s-6);border-radius: var(--r-xl,28px);background: linear-gradient(135deg,var(--brand-soft),var(--sky-soft));border: 1px solid var(--line-soft);margin-bottom: var(--s-6);overflow: hidden}:root[data-theme="dark"] .rec-card{background: linear-gradient(135deg,var(--brand-soft),var(--surface-2))}.rec-head{display: flex;align-items: center;gap: 10px;margin-bottom: 2px}.rec-eyebrow{font-family: var(--f-display,serif);font-size: 19px;font-weight: 500;color: var(--ink-0);letter-spacing: -.01em}.rec-src{font-size: 10.5px;font-weight: 600;letter-spacing: .04em;text-transform: uppercase;padding: 3px 9px;border-radius: 99px;background: rgba(255,255,255,.6);color: var(--brand-strong);border: 1px solid var(--line-soft)}:root[data-theme="dark"] .rec-src{background: rgba(0,0,0,.25)}.rec-src--ai{color: #5a7e8c}.rec-sub{font-size: 13px;color: var(--ink-2);margin: 0 0 var(--s-4)}.rec-items{display: flex;flex-direction: column;gap: var(--s-3)}.rec-item{display: flex;align-items: flex-start;gap: var(--s-4);padding: var(--s-4);background: var(--surface);border: 1px solid var(--line-soft);border-radius: var(--r-lg,18px);transition: transform var(--t-fast,160ms),border-color var(--t-fast,160ms),box-shadow var(--t-fast,160ms)}@media (hover: hover){.rec-item:hover{border-color: var(--ink-4);box-shadow: var(--shadow-sm)}}.rec-item-ic{flex: 0 0 auto;width: 40px;height: 40px;border-radius: 12px;display: grid;place-items: center;background: var(--sage-50);color: var(--sage-500)}.rec-item-ic svg{width: 19px;height: 19px}.rec-item-body{flex: 1;min-width: 0}.rec-item-title{font-size: 15px;font-family: var(--f-sans);font-weight: 600;color: var(--ink-0);margin: 0 0 2px;line-height: 1.35}.rec-item-meta{display: inline-block;font-size: 11.5px;font-weight: 600;letter-spacing: .03em;text-transform: uppercase;color: var(--ink-3);margin-bottom: 5px}.rec-item-why{font-size: 13px;color: var(--ink-2);line-height: 1.5;margin: 0}.rec-go{flex: 0 0 auto;align-self: center;display: inline-flex;align-items: center;gap: 6px;padding: 8px 14px;border-radius: 99px;background: var(--brand);color: #fff;font-size: 13px;font-weight: 600;white-space: nowrap;transition: background var(--t-fast,160ms),transform var(--t-fast,160ms)}.rec-go svg{width: 15px;height: 15px}.rec-go:hover{background: var(--brand-strong)}.rec-go:active{transform: translateY(1px)}.rec-empty{display: flex;align-items: center;gap: var(--s-4);padding: var(--s-2) 0;flex-wrap: wrap}.rec-empty-ic{flex: 0 0 auto;width: 40px;height: 40px;border-radius: 12px;display: grid;place-items: center;background: rgba(255,255,255,.55);color: var(--brand-strong)}:root[data-theme="dark"] .rec-empty-ic{background: rgba(0,0,0,.25)}.rec-empty-ic svg{width: 19px;height: 19px}.rec-empty p{flex: 1;min-width: 200px;font-size: 13.5px;color: var(--ink-2);line-height: 1.5;margin: 0}.rec-item--sk{align-items: center}.sk{position: relative;overflow: hidden;background: var(--surface-3);border-radius: 8px}.sk::after{content: "";position: absolute;inset: 0;transform: translateX(-100%);background: linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation: recShimmer 1.3s infinite}:root[data-theme="dark"] .sk::after{background: linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}@keyframes recShimmer{100%{transform: translateX(100%)}}@media (prefers-reduced-motion: reduce){.sk::after{animation: none}}.rec-item-ic.sk{background: var(--surface-3)}.sk-line{display: block;height: 11px;margin: 5px 0}:root.nr-focus .rec-item-ic{background: var(--surface-2)}@media (max-width: 600px){.rec-item{flex-wrap: wrap}.rec-go{align-self: stretch;justify-content: center;width: 100%;margin-top: 4px}}:root[data-fs="sm"]{font-size: 93.75%}:root[data-fs="md"]{font-size: 100%}:root[data-fs="lg"]{font-size: 112.5%}:root[data-ls="sm"] body{line-height: 1.45}:root[data-ls="md"] body{line-height: 1.55}:root[data-ls="lg"] body{line-height: 1.85}:root[data-ls="lg"] p,:root[data-ls="lg"] li,:root[data-ls="lg"] .reader-article,:root[data-ls="lg"] .msg-bubble{line-height: 1.95}:root[data-ls="sm"] p,:root[data-ls="sm"] li,:root[data-ls="sm"] .reader-article,:root[data-ls="sm"] .msg-bubble{line-height: 1.5}:root.nr-focus .nr-hero-bg,:root.nr-focus .nr-mesh,:root.nr-focus .nr-preview-blob,:root.nr-focus .nr-fab,:root.nr-focus .nr-badges,:root.nr-focus .nr-reveal[data-d]::before{display: none !important}:root.nr-focus .greet-card{background: var(--surface) !important;border-color: var(--line) !important}:root.nr-focus .qa,:root.nr-focus .subj,:root.nr-focus .nr-card,:root.nr-focus .card{box-shadow: none !important}:root.nr-focus #sub-home .qa-grid{display: none !important}:root.nr-focus #sub-home .greet-stats{display: none !important}:root.nr-focus .rec-card{background: var(--surface) !important}.a11y-wrap{position: relative;display: inline-flex}.a11y-btn svg{width: 19px;height: 19px}.a11y-pop{position: absolute;top: calc(100% + 10px);right: 0;z-index: 1200;width: 270px;padding: 10px;background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-lg,18px);box-shadow: var(--shadow-lg);display: flex;flex-direction: column;gap: 4px;animation: a11yPop var(--t-fast,160ms) var(--ease,ease)}@keyframes a11yPop{from{opacity: 0;transform: translateY(-4px)}to{opacity: 1;transform: translateY(0)}}@media (prefers-reduced-motion: reduce){.a11y-pop{animation: none}}.a11y-pop-head{font-size: 11px;letter-spacing: .10em;text-transform: uppercase;font-weight: 600;color: var(--ink-3);padding: 6px 8px 4px}.a11y-row{display: flex;align-items: center;gap: 10px;width: 100%;padding: 9px 8px;border-radius: 12px;text-align: left;transition: background var(--t-fast,160ms)}.a11y-row:hover{background: var(--surface-2)}.a11y-row-ic{width: 30px;height: 30px;flex: 0 0 auto;border-radius: 9px;display: grid;place-items: center;background: var(--brand-soft);color: var(--brand-strong)}.a11y-row-ic svg{width: 16px;height: 16px}.a11y-row-body{flex: 1;min-width: 0;display: flex;flex-direction: column}.a11y-row-t{font-size: 13.5px;font-weight: 600;color: var(--ink-0)}.a11y-row-s{font-size: 11.5px;color: var(--ink-3)}.a11y-switch{flex: 0 0 auto;width: 36px;height: 20px;border-radius: 99px;background: var(--surface-3);position: relative;transition: background var(--t-fast,160ms)}.a11y-switch>i{position: absolute;top: 2px;left: 2px;width: 16px;height: 16px;border-radius: 50%;background: #fff;box-shadow: 0 1px 2px rgba(0,0,0,.25);transition: transform var(--t-fast,160ms)}.a11y-row.is-on .a11y-switch{background: var(--brand)}.a11y-row.is-on .a11y-switch>i{transform: translateX(16px)}.a11y-step{display: flex;align-items: center;justify-content: space-between;gap: 8px;padding: 8px;border-radius: 12px}.a11y-step:hover{background: var(--surface-2)}.a11y-step-t{font-size: 13px;font-weight: 500;color: var(--ink-1)}.a11y-step-ctrl{display: flex;align-items: center;gap: 6px}.a11y-step-btn{width: 28px;height: 28px;border-radius: 8px;border: 1px solid var(--line);background: var(--surface);color: var(--ink-0);font-size: 17px;line-height: 1;display: grid;place-items: center;transition: background var(--t-fast,160ms),border-color var(--t-fast,160ms)}.a11y-step-btn:hover{background: var(--surface-2);border-color: var(--ink-4)}.a11y-step-out{min-width: 56px;text-align: center;font-size: 12px;font-weight: 600;color: var(--ink-2)}.a11y-reset{margin-top: 4px;padding: 8px;border-radius: 10px;font-size: 12.5px;font-weight: 500;color: var(--ink-3);transition: background var(--t-fast,160ms),color var(--t-fast,160ms)}.a11y-reset:hover{background: var(--surface-2);color: var(--ink-1)}@media (max-width: 480px){.a11y-pop{width: min(270px,calc(100vw - 24px))}}:root.nr-high-a11y{--ink: #221c14;--ink-2: #463c2f;--ink-3: #5d5242;--line: #c9bda6;--line-soft: #d8cdb8;--focus-ring: 0 0 0 4px rgba(70,96,58,.55)}:root[data-theme="dark"].nr-high-a11y{--ink: #f7f3ea;--ink-2: #ded6c6;--ink-3: #c4baa6;--line: #6b6151;--line-soft: #57503f}.nr-high-a11y main p a,.nr-high-a11y main li a,.nr-high-a11y .reader-article a{text-decoration: underline;text-underline-offset: 2px}.nr-high-a11y .btn,.nr-high-a11y .app-side a,.nr-high-a11y .a11y-row,.nr-high-a11y .qa,.nr-high-a11y .recent-row{min-height: 44px}.nr-high-a11y :focus-visible{outline: 3px solid var(--brand-strong) !important;outline-offset: 2px}.nr-high-a11y body{font-weight: 450}.nr-high-a11y .muted,.nr-high-a11y small{color: var(--ink-2)}.row--center{justify-content: center}.lead--spaced{margin-bottom: var(--s-6)}.muted--sm{font-size: 13.5px;color: var(--ink-3)}.muted--sm + .muted--sm{margin-top: 4px}.hero-card strong{color: var(--ink-0)}.hero-card-sub{color: var(--ink-3);font-size: 12px}.kpi-unit,.gs-unit{font-size: 14px;color: var(--ink-3);font-family: var(--f-sans);font-weight: 400}.brand-mark-italic{font-style: italic}.brand--static{margin-bottom: var(--s-3);cursor: default}.footer-tagline{color: var(--ink-3);font-size: 13.5px;line-height: 1.6;max-width: 340px}.legal-wrap{padding: var(--s-7) var(--s-6) var(--s-9)}.teacher-wrap{padding: var(--s-7) var(--s-6) 100px}.drawer-sep{border-top: 1px solid var(--line-soft);margin: 10px 4px}.app-side-section--bottom{margin-top: auto}.app-side-logout{display: flex;align-items: center;gap: 10px;padding: 9px 12px;border-radius: var(--r-sm);font-size: 14px;color: var(--ink-2);background: transparent;border: 0;cursor: pointer;width: 100%;text-align: left;transition: background var(--t-fast),color var(--t-fast)}.app-side-logout:hover{color: var(--ink-0);background: var(--surface-2)}.app-side-logout svg{width: 18px;height: 18px;flex-shrink: 0}.profile-section--flush{margin: 0}.profile-section-title--sm{font-size: 16px;margin-bottom: 6px}.link{background: transparent;border: 0;padding: 0;font: inherit;color: var(--brand-strong);cursor: pointer;text-decoration: underline;text-underline-offset: 2px}.link:hover{color: var(--sage-600)}.link:focus-visible{outline: none;box-shadow: var(--focus-ring);border-radius: var(--r-xs)}.gm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-5);box-shadow:var(--shadow-sm)}.gm-hero{display:flex;gap:var(--s-5);align-items:center}.xp-ring{position:relative;width:118px;height:118px;flex:0 0 auto}.xp-ring svg{width:118px;height:118px;transform:rotate(-90deg)}.xp-ring .xp-track{fill:none;stroke:var(--surface-3);stroke-width:10}.xp-ring .xp-bar{fill:none;stroke:url(#xpgrad);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset var(--t-slow) var(--ease)}.xp-ring-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}.xp-ring-lvl{font-family:var(--f-display);font-size:30px;font-weight:700;color:var(--ink-0)}.xp-ring-cap{display:block;font-size:11px;color:var(--ink-3);margin-top:2px;text-transform:uppercase;letter-spacing:.06em}.gm-hero-body{flex:1;min-width:0}.gm-hero-line{font-size:14px;color:var(--ink-1);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gm-hero-line b{color:var(--brand-strong)}.gm-chip{font-size:12px;font-weight:600;color:var(--success);background:var(--brand-soft);padding:3px 10px;border-radius:var(--r-full);white-space:nowrap}.gm-chip--warn{color:var(--clay-400);background:var(--peach-100)}.gm-stats{display:flex;gap:var(--s-5);margin-top:var(--s-3);flex-wrap:wrap}.gm-stat{display:flex;flex-direction:column}.gm-stat-k{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.gm-stat-v{font-size:20px;font-weight:700;color:var(--ink-0)}.gm-stat-v small{font-size:12px;color:var(--ink-3);font-weight:500}.gm-rank{margin-top:var(--s-3);font-size:13px;color:var(--ink-2)}.gm-rank b{font-size:15px;color:var(--brand-strong)}.gm-rank--solo{display:flex;align-items:center;gap:7px}.gm-rank--solo svg{width:16px;height:16px;color:var(--brand);flex:0 0 auto}.gm-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line-soft)}.gm-sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-3)}.gm-sec-h h4{font-size:14px;font-weight:600}.gm-count{font-size:12px;color:var(--ink-3);font-weight:600}.gm-missions{display:flex;flex-direction:column;gap:var(--s-3)}.gm-mission{display:flex;align-items:center;gap:var(--s-3)}.gm-mission-check{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--line);color:transparent;transition:all var(--t-fast)}.gm-mission-check svg{width:13px;height:13px}.gm-mission.done .gm-mission-check{background:var(--sage-500);border-color:var(--sage-500);color:#fff}.gm-mission-body{flex:1;min-width:0}.gm-mission-title{font-size:13.5px;font-weight:600;color:var(--ink-1)}.gm-mission.done .gm-mission-title{color:var(--ink-3);text-decoration:line-through}.gm-mission-bar{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:5px}.gm-mission-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sage-300),var(--sage-500));transition:width var(--t-slow) var(--ease)}.gm-mission-xp{font-size:11px;font-weight:700;color:var(--clay-400);white-space:nowrap}.gm-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}.gm-badge{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.gm-badge-medal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;transition:transform var(--t-fast) var(--ease)}.gm-badge:hover .gm-badge-medal{transform:scale(1.06) rotate(-3deg)}.gm-badge.earned .gm-badge-medal{background:radial-gradient(circle at 35% 30%,var(--butter-200),var(--clay-300));color:#fff;box-shadow:0 6px 16px rgba(184,128,82,.28)}.gm-badge.locked .gm-badge-medal{background:var(--surface-3);color:var(--ink-4);border:1px dashed var(--line)}.gm-badge-medal svg{width:26px;height:26px}.gm-badge-medal .gm-emoji{font-size:24px;line-height:1}.gm-badge-name{font-size:11.5px;font-weight:600;color:var(--ink-1);line-height:1.2}.gm-badge.locked .gm-badge-name{color:var(--ink-3)}@media (max-width:720px){.gm-grid{grid-template-columns:1fr}.gm-badges{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.gm-hero{flex-direction:column;text-align:center}.gm-stats{justify-content:center}.gm-badges{grid-template-columns:repeat(3,1fr)}}.trail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3)}.trail-eyebrow{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:2px}.trail-progress-label{font-size:12.5px;color:var(--ink-2);white-space:nowrap}.trail-progress-label b{color:var(--brand-strong)}.trail-bar{height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-bottom:var(--s-4)}.trail-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sage-300),var(--sage-500));transition:width var(--t-slow) var(--ease)}.trail{list-style:none;margin:0;padding:0;position:relative}.trail::before{content:"";position:absolute;left:17px;top:14px;bottom:14px;width:2px;background:var(--line)}.trail-node{position:relative;margin:0}.trail-node + .trail-node{margin-top:6px}.trail-node-in{width:100%;display:flex;align-items:center;gap:var(--s-3);padding:9px 10px;border-radius:var(--r-md);text-align:left;background:none;transition:background var(--t-fast)}button.trail-node-in{cursor:pointer}button.trail-node-in:hover{background:var(--surface-2)}.trail-dot{position:relative;z-index:1;width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line);color:var(--ink-3)}.trail-dot svg{width:16px;height:16px}.trail-node.done .trail-dot{background:var(--sage-500);border-color:var(--sage-500);color:#fff}.trail-node.current .trail-dot{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong);box-shadow:0 0 0 4px var(--brand-soft)}.trail-node.locked .trail-dot{background:var(--surface-3);color:var(--ink-4)}.trail-label{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink-1)}.trail-node.locked .trail-label{color:var(--ink-3);font-weight:500}.trail-node.done .trail-label{color:var(--ink-2)}.trail-xp{font-size:11px;font-weight:700;color:var(--clay-400);white-space:nowrap}.trail-soon{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--surface-3);padding:2px 8px;border-radius:var(--r-full)}.trail-empty{text-align:center}.trail-empty-sub{font-size:13.5px;color:var(--ink-2);margin:6px 0 var(--s-4)}.nr{--sage-700:#35492c;--clay-500:#9a6638;--nr-r-2xl:40px;--nr-bg-2:#f4eee3;--nr-line-strong:#e0d4bd;--nr-brand-ink:#fff;--nr-accent:var(--clay-400);--nr-accent-soft:var(--clay-100);--nr-glow:0 18px 50px rgba(93,125,75,.18);--nr-mesh-a:rgba(189,209,168,.55);--nr-mesh-b:rgba(244,194,168,.45);--nr-mesh-c:rgba(174,208,220,.40);--nr-blob-1:#dce6d2;--nr-ease-out:cubic-bezier(.16,1,.3,1)}:root[data-theme="dark"] .nr{--nr-bg-2:#1d1914;--nr-line-strong:#433b2e;--nr-brand-ink:#1a1610;--nr-accent:var(--clay-300);--nr-accent-soft:rgba(217,168,124,.14);--nr-glow:0 18px 60px rgba(151,182,126,.16);--nr-mesh-a:rgba(122,156,99,.30);--nr-mesh-b:rgba(184,128,82,.26);--nr-mesh-c:rgba(127,179,196,.22);--nr-blob-1:#26301e}.nr.page{padding:0}.nr *{box-sizing:border-box}.nr-wrap{width:min(1180px,92vw);margin-inline:auto;position:relative;z-index:1}.nr h1,.nr h2,.nr h3,.nr h4{font-family:var(--f-display);color:var(--ink-0);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin:0}.nr h1 em,.nr h2 em,.nr h3 em{font-style:italic;font-weight:500;color:var(--brand-strong)}.nr p{margin:0}.nr-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-strong)}.nr-eyebrow::before{content:"";width:18px;height:1.5px;background:var(--brand);border-radius:2px;opacity:.8}.nr-section{padding-block:clamp(64px,9vw,120px)}.nr-section-head{max-width:640px;margin-bottom:48px}.nr-section-head h2{font-size:clamp(30px,4.2vw,46px);margin-top:14px}.nr-section-head p{color:var(--ink-2);font-size:18px;margin-top:14px;max-width:54ch}.nr-center{text-align:center;margin-inline:auto}.nr-center .nr-eyebrow{justify-content:center}.nr-center p{margin-inline:auto}.nr-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f-sans);font-weight:600;font-size:15px;border-radius:999px;padding:12px 22px;cursor:pointer;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-med) var(--ease),background var(--t-fast),color var(--t-fast)}.nr-btn svg{width:18px;height:18px}.nr-btn:active{transform:translateY(1px) scale(.99)}.nr-btn--primary{background:var(--brand);color:var(--nr-brand-ink);box-shadow:0 6px 18px rgba(93,125,75,.28)}.nr-btn--primary:hover{background:var(--brand-strong);transform:translateY(-2px);box-shadow:var(--nr-glow)}.nr-btn--ghost{background:var(--surface);color:var(--ink-0);box-shadow:inset 0 0 0 1.5px var(--nr-line-strong)}.nr-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--brand);color:var(--brand-strong);transform:translateY(-2px)}.nr-btn--soft{background:var(--brand-soft);color:var(--brand-strong)}.nr-btn--soft:hover{background:var(--sage-100);transform:translateY(-2px)}:root[data-theme="dark"] .nr-btn--soft:hover{background:rgba(151,182,126,.2)}.nr-btn--lg{padding:15px 28px;font-size:16px}.nr-btn--block{width:100%}.nr-pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;background:var(--surface-3);color:var(--ink-2)}.nr-pill svg{width:14px;height:14px}.nr-reveal{transition:opacity .7s var(--nr-ease-out),transform .7s var(--nr-ease-out)}.nr-js .nr-reveal{opacity:0;transform:translateY(26px)}.nr-js .nr-reveal.in{opacity:1;transform:none}.nr-js .nr-reveal[data-d="1"]{transition-delay:.08s}.nr-js .nr-reveal[data-d="2"]{transition-delay:.16s}.nr-js .nr-reveal[data-d="3"]{transition-delay:.24s}.nr-js .nr-reveal[data-d="4"]{transition-delay:.32s}@media (prefers-reduced-motion:reduce){.nr-js .nr-reveal{opacity:1;transform:none;transition:none}}.nr-hero{position:relative;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(56px,9vw,110px);overflow:hidden}.nr-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.nr-mesh{position:absolute;border-radius:50%;filter:blur(70px)}.nr-mesh-a{width:560px;height:560px;background:var(--nr-mesh-a);top:-180px;right:-120px;animation:nr-float1 22s ease-in-out infinite}.nr-mesh-b{width:440px;height:440px;background:var(--nr-mesh-b);top:80px;left:-160px;animation:nr-float2 26s ease-in-out infinite}.nr-mesh-c{width:380px;height:380px;background:var(--nr-mesh-c);bottom:-140px;right:22%;animation:nr-float1 30s ease-in-out infinite reverse}@keyframes nr-float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-26px,28px) scale(1.06)}}@keyframes nr-float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-22px) scale(1.05)}}.nr-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.nr-hero h1{font-size:clamp(38px,6vw,70px);margin-top:18px;letter-spacing:-.03em}.nr-lead{font-size:clamp(17px,2vw,20px);color:var(--ink-2);margin-top:22px;max-width:32ch}.nr-hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.nr-hero-trust{display:flex;gap:18px;margin-top:28px;flex-wrap:wrap}.nr-hero-trust span{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2);font-weight:500}.nr-hero-trust svg{width:16px;height:16px;color:var(--brand);flex:none}.nr-js .nr-hero-stage>*{opacity:0;animation:nr-rise .9s var(--nr-ease-out) forwards}.nr-js .nr-hero-stage>*:nth-child(1){animation-delay:.05s}.nr-js .nr-hero-stage>*:nth-child(2){animation-delay:.14s}.nr-js .nr-hero-stage>*:nth-child(3){animation-delay:.23s}.nr-js .nr-hero-stage>*:nth-child(4){animation-delay:.32s}.nr-js .nr-hero-stage>*:nth-child(5){animation-delay:.41s}@keyframes nr-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.nr-preview{position:relative}.nr-js .nr-preview{opacity:0;animation:nr-rise 1s var(--nr-ease-out) .35s forwards}.nr-preview-blob{position:absolute;inset:-8% -6%;background:var(--nr-blob-1);z-index:0;border-radius:46% 54% 58% 42%/52% 44% 56% 48%;animation:nr-morph 16s ease-in-out infinite}@keyframes nr-morph{0%,100%{border-radius:46% 54% 58% 42%/52% 44% 56% 48%}50%{border-radius:58% 42% 44% 56%/46% 58% 42% 54%}}.nr-app{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--nr-r-2xl);box-shadow:var(--shadow-lg);padding:22px}.nr-app-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.nr-app-greet{font-family:var(--f-display);font-size:19px;color:var(--ink-0)}.nr-app-greet span{display:block;font-family:var(--f-sans);font-size:12.5px;color:var(--ink-3);font-weight:500;margin-top:2px}.nr-ring{position:relative;width:54px;height:54px;flex:none}.nr-ring svg{transform:rotate(-90deg)}.nr-ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:18px;color:var(--brand-strong)}.nr-app-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.nr-mini{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:13px 14px}.nr-mini .k{font-size:11.5px;color:var(--ink-3);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nr-mini .v{font-family:var(--f-display);font-size:24px;color:var(--ink-0);margin-top:3px}.nr-mini .v small{font-size:13px;color:var(--ink-3);font-family:var(--f-sans)}.nr-track-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 9px}.nr-track-head .t{font-weight:600;font-size:14px;color:var(--ink-0)}.nr-track-head .c{font-size:12px;color:var(--ink-3)}.nr-lesson{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-soft);margin-bottom:8px;transition:transform var(--t-fast)}.nr-lesson:hover{transform:translateX(3px)}.nr-dot{width:24px;height:24px;border-radius:999px;flex:none;display:grid;place-items:center}.nr-dot svg{width:14px;height:14px}.nr-dot.done{background:var(--brand);color:#fff}.nr-dot.now{background:var(--nr-accent-soft);color:var(--nr-accent);box-shadow:0 0 0 4px var(--nr-accent-soft)}.nr-dot.next{background:var(--surface-3);color:var(--ink-3)}.nr-lesson .lt{flex:1;font-size:13.5px;color:var(--ink-1);font-weight:500}.nr-lesson .lx{font-size:11.5px;color:var(--brand-strong);font-weight:600}.nr-fab{position:absolute;z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:11px 14px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink-0)}.nr-fab .fi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}.nr-fab .fi svg{width:18px;height:18px}.nr-fab-1{top:-22px;left:-26px;animation:nr-bob 5s ease-in-out infinite}.nr-fab-2{bottom:34px;right:-30px;animation:nr-bob 6s ease-in-out infinite .6s}@keyframes nr-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(max-width:900px){.nr-hero-grid{grid-template-columns:1fr;gap:48px}.nr-lead{max-width:46ch}.nr-preview{max-width:460px;margin-inline:auto;width:100%}}@media(max-width:600px){.nr-fab-1{left:-6px}.nr-fab-2{right:-4px}}.nr-aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.nr-aud{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:28px 26px;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med)}.nr-aud::after{content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;border-radius:50%;background:var(--tone,var(--sage-100));opacity:.5;filter:blur(8px);transition:transform var(--t-slow) var(--ease)}.nr-aud:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.nr-aud:hover::after{transform:scale(1.3)}.nr-aud-icon{position:relative;z-index:1;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--tone,var(--sage-100));color:var(--tone-ink,var(--sage-600));margin-bottom:18px}.nr-aud-icon svg{width:26px;height:26px}.nr-aud h3{position:relative;z-index:1;font-size:24px;margin-bottom:8px}.nr-aud>p{position:relative;z-index:1;color:var(--ink-2);font-size:15px;margin-bottom:16px}.nr-aud ul{position:relative;z-index:1;list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}.nr-aud li{display:flex;gap:10px;font-size:14px;color:var(--ink-1);line-height:1.45}.nr-aud li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--tone-ink,var(--brand)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}.nr-aud .nr-btn{position:relative;z-index:1}.nr-aud--clay{--tone:var(--clay-100);--tone-ink:var(--clay-500)}.nr-aud--sky{--tone:var(--sky-100);--tone-ink:var(--sky-300)}:root[data-theme="dark"] .nr-aud{--tone:rgba(151,182,126,.14);--tone-ink:var(--sage-300)}:root[data-theme="dark"] .nr-aud--clay{--tone:rgba(217,168,124,.16);--tone-ink:var(--clay-300)}:root[data-theme="dark"] .nr-aud--sky{--tone:rgba(127,179,196,.16);--tone-ink:var(--sky-200)}.nr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}.nr-steps::before{content:"";position:absolute;top:34px;left:14%;right:14%;height:2px;background:repeating-linear-gradient(90deg,var(--nr-line-strong) 0 8px,transparent 8px 16px);z-index:0}.nr-step{position:relative;z-index:1;text-align:center;padding:0 8px}.nr-step-num{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:28px;color:var(--brand-strong);background:var(--surface);border:2px solid var(--brand);box-shadow:var(--shadow-md)}.nr-step h3{font-size:20px;margin-bottom:8px}.nr-step p{color:var(--ink-2);font-size:14.5px;max-width:30ch;margin-inline:auto}.nr-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.nr-split.flip .nr-split-media{order:-1}.nr-split h2{font-size:clamp(28px,3.6vw,40px);margin-top:14px}.nr-split .nr-lead{max-width:46ch}.nr-feat{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}.nr-feat li{display:flex;gap:14px}.nr-feat .ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong)}.nr-feat .ic svg{width:20px;height:20px}.nr-feat b{display:block;color:var(--ink-0);font-size:15.5px;margin-bottom:2px}.nr-feat span{color:var(--ink-2);font-size:14px}.nr-card{background:var(--surface);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow-md);padding:26px}.nr-card-eyebrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.nr-card-eyebrow .ce{font-family:var(--f-display);font-size:18px;color:var(--ink-0)}.nr-dim{margin-bottom:16px}.nr-dim-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.nr-dim-top .dl{font-size:14px;color:var(--ink-1);font-weight:500}.nr-dim-top .dv{font-size:12.5px;color:var(--brand-strong);font-weight:600}.nr-bar{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.nr-bar i{display:block;height:100%;border-radius:999px;width:0;background:linear-gradient(90deg,var(--sage-300),var(--sage-500));transition:width 1.1s var(--nr-ease-out)}.nr-bar.alt i{background:linear-gradient(90deg,var(--clay-200),var(--clay-400))}.nr-bar.alt2 i{background:linear-gradient(90deg,var(--sky-200),var(--sky-300))}.nr-card.in .nr-bar i{width:var(--w)}.nr-gami{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.nr-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.nr-badge{aspect-ratio:1;border-radius:22px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--t-med) var(--ease)}.nr-badge:hover{transform:translateY(-4px) rotate(-3deg)}.nr-badge .bi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff}.nr-badge .bi svg{width:24px;height:24px}.nr-badge.locked{opacity:.45;filter:grayscale(.4)}.nr-lvl{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:var(--shadow-md)}.nr-lvl-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}.nr-lvl-no{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-family:var(--f-display);font-size:26px;color:#fff;background:linear-gradient(145deg,var(--clay-300),var(--clay-500));box-shadow:0 6px 16px rgba(154,102,56,.35)}.nr-lvl-meta b{display:block;font-family:var(--f-display);font-size:18px;color:var(--ink-0)}.nr-lvl-meta span{font-size:13px;color:var(--ink-3)}.nr-xpbar{height:12px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin:6px 0 8px}.nr-xpbar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--butter-200),var(--clay-400));transition:width 1.3s var(--nr-ease-out)}.nr-lvl.in .nr-xpbar i{width:72%}.nr-xp-note{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3)}.nr-note{margin-top:16px;padding:13px 15px;border-radius:14px;background:var(--brand-soft);border:1px solid var(--line-soft);display:flex;gap:11px;font-size:13.5px;color:var(--ink-1);line-height:1.45}.nr-note svg{width:18px;height:18px;color:var(--brand-strong);flex:none;margin-top:1px}.nr-dash{background:var(--surface);border:1px solid var(--line);border-radius:var(--nr-r-2xl);box-shadow:var(--shadow-lg);padding:24px;position:relative;overflow:hidden}.nr-dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.nr-dash-head .t{font-family:var(--f-display);font-size:19px;color:var(--ink-0)}.nr-dash-head .t span{display:block;font-family:var(--f-sans);font-size:12.5px;color:var(--ink-3);font-weight:500;margin-top:2px}.nr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.nr-kpi{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:14px}.nr-kpi .kn{font-family:var(--f-display);font-size:26px;color:var(--ink-0)}.nr-kpi .kl{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:2px}.nr-dash2{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.nr-panel{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:22px;padding:16px}.nr-panel h4{font-size:13px;color:var(--ink-2);font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin:0 0 12px}.nr-rank{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.nr-rank:last-child{border-bottom:none}.nr-rank .rp{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:12.5px;background:var(--surface-3);color:var(--ink-2);flex:none}.nr-rank:first-child .rp{background:var(--butter-200);color:var(--clay-500)}.nr-rank .ra{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:600;font-size:13px;font-family:var(--f-display)}.nr-rank .rn{flex:1;font-size:14px;color:var(--ink-1);font-weight:500}.nr-rank .rx{font-size:13px;color:var(--brand-strong);font-weight:600}.nr-risk{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;background:var(--danger-bg,var(--danger-soft));margin-bottom:8px}.nr-risk:last-child{margin-bottom:0}.nr-risk .rd{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none}.nr-risk .rn{flex:1;font-size:13.5px;color:var(--ink-1);font-weight:500}.nr-risk .rt{font-size:11.5px;color:var(--danger);font-weight:600;white-space:nowrap}@media(max-width:880px){.nr-aud-grid,.nr-steps{grid-template-columns:1fr}.nr-steps::before{display:none}.nr-split{grid-template-columns:1fr;gap:40px}.nr-split.flip .nr-split-media{order:0}.nr-gami{grid-template-columns:1fr}}@media(max-width:560px){.nr-kpis{grid-template-columns:1fr 1fr}.nr-dash2{grid-template-columns:1fr}}.nr-values-band{background:var(--nr-bg-2);border-block:1px solid var(--line);padding-block:clamp(56px,8vw,88px)}.nr-values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.nr-value{position:relative;padding-left:18px}.nr-value::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--brand);opacity:.6}.nr-value h4{font-size:18px;margin-bottom:7px}.nr-value p{color:var(--ink-2);font-size:14px}@media(max-width:880px){.nr-values{grid-template-columns:1fr 1fr}}@media(max-width:520px){.nr-values{grid-template-columns:1fr}}.nr-faq{max-width:760px;margin-inline:auto}.nr-qa{border-bottom:1px solid var(--line)}.nr-qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px;font-family:var(--f-display);font-size:19px;color:var(--ink-0);transition:color var(--t-fast)}.nr-qa summary::-webkit-details-marker{display:none}.nr-qa summary:hover{color:var(--brand-strong)}.nr-qa .qi{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--brand-strong);transition:transform var(--t-med) var(--ease),background var(--t-fast)}.nr-qa[open] .qi{transform:rotate(45deg);background:var(--brand);color:#fff}.nr-qa-body{padding:0 4px 22px;color:var(--ink-2);font-size:15px;max-width:62ch}.nr-cta{position:relative;border-radius:var(--nr-r-2xl);overflow:hidden;text-align:center;padding:clamp(40px,7vw,80px) clamp(28px,6vw,72px);background:linear-gradient(135deg,var(--sage-500),var(--sage-700));color:#fff;box-shadow:var(--shadow-lg)}.nr-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.16),transparent 42%),radial-gradient(circle at 86% 80%,rgba(244,194,168,.28),transparent 46%)}.nr-cta>*{position:relative;z-index:1}.nr-cta .nr-eyebrow{color:var(--sage-100);justify-content:center}.nr-cta .nr-eyebrow::before{background:var(--sage-100)}.nr-cta h2{color:#fff;font-size:clamp(30px,4.6vw,50px);margin:16px 0 14px}.nr-cta h2 em{color:var(--butter-100)}.nr-cta p{color:rgba(255,255,255,.85);font-size:18px;max-width:46ch;margin:0 auto 28px}.nr-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.nr-cta .nr-btn--primary{background:#fff;color:var(--sage-700)}.nr-cta .nr-btn--primary:hover{background:var(--butter-100)}.nr-cta .nr-btn--ghost{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}.nr-cta .nr-btn--ghost:hover{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1.5px #fff;color:#fff}.nr-footer{padding-block:clamp(56px,8vw,88px) 40px;border-top:1px solid var(--line);margin-top:clamp(64px,9vw,120px)}.nr-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}.nr-foot-brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:21px;font-weight:600;color:var(--ink-0);letter-spacing:-.02em}.nr-foot-brand em{font-style:italic;color:var(--brand-strong)}.nr-foot-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--sage-400),var(--sage-600));color:#fff;font-family:var(--f-display);font-style:italic;font-size:20px;font-weight:600;box-shadow:0 4px 12px rgba(93,125,75,.35),inset 0 1px 0 rgba(255,255,255,.3)}.nr-foot-tag{color:var(--ink-2);font-size:14.5px;margin-top:16px;max-width:34ch}.nr-footer h5{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px}.nr-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.nr-footer ul a,.nr-footer ul button{color:var(--ink-2);font-size:14.5px;transition:color var(--t-fast);text-align:left;background:none;border:none;cursor:pointer;font-family:inherit}.nr-footer ul a:hover,.nr-footer ul button:hover{color:var(--brand-strong)}.nr-foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);flex-wrap:wrap;gap:10px}@media(max-width:780px){.nr-foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.nr-foot-grid{grid-template-columns:1fr}}.nr-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.nr-plan{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform var(--t-med),box-shadow var(--t-med);position:relative}.nr-plan:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.nr-plan--feat{border:1.5px solid var(--brand);box-shadow:var(--nr-glow);transform:scale(1.02)}.nr-plan--feat:hover{transform:scale(1.02) translateY(-5px)}.nr-tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--surface-3);color:var(--ink-2)}.nr-tag--sage{background:var(--brand);color:var(--nr-brand-ink)}.nr-tag--clay{background:var(--clay-100);color:var(--clay-500)}:root[data-theme="dark"] .nr-tag--clay{background:rgba(217,168,124,.18);color:var(--clay-300)}.nr-price{font-family:var(--f-display);font-size:46px;color:var(--ink-0);margin:18px 0 2px;line-height:1}.nr-price small{font-size:17px;color:var(--ink-3);font-family:var(--f-sans)}.nr-price-sub{font-size:13.5px;color:var(--ink-3);margin-bottom:20px}.nr-plan ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:11px;flex:1}.nr-plan li{display:flex;gap:10px;font-size:14px;color:var(--ink-1)}.nr-plan li svg{width:17px;height:17px;color:var(--brand);flex:none;margin-top:3px}@media(max-width:880px){.nr-plans{grid-template-columns:1fr;max-width:420px;margin-inline:auto}.nr-plan--feat{transform:none}.nr-plan--feat:hover{transform:translateY(-5px)}}.nr-about{max-width:760px}.nr-about h1{font-size:clamp(34px,5vw,54px);margin-top:16px}.nr-about .nr-lead{font-size:20px;max-width:60ch;margin-bottom:8px}.nr-about p{color:var(--ink-1);font-size:16px;margin-top:18px;max-width:64ch}.nr-about h3{font-size:24px;margin-top:36px}.nr-about ul{margin-top:14px;padding-left:0;list-style:none;display:grid;gap:12px;max-width:64ch}.nr-about ul li{display:flex;gap:11px;color:var(--ink-1);font-size:15.5px}.nr-about ul li svg{width:20px;height:20px;color:var(--brand);flex:none;margin-top:3px}.nr-about ul li b{color:var(--ink-0)}:root{--fun-grain:.035;--fun-pop: cubic-bezier(.34,1.56,.64,1);--fun-shadow-clay: 0 10px 24px -8px rgba(184,128,82,.45);--fun-shadow-sage: 0 12px 28px -10px rgba(93,125,75,.40);--fun-ring-glow: 0 0 0 4px rgba(151,182,126,.18),0 8px 24px -6px rgba(93,125,75,.35)}:root[data-theme="dark"]{--fun-grain:.06;--fun-shadow-clay: 0 10px 26px -8px rgba(0,0,0,.55);--fun-shadow-sage: 0 12px 30px -10px rgba(0,0,0,.55);--fun-ring-glow: 0 0 0 4px rgba(151,182,126,.14),0 8px 24px -6px rgba(0,0,0,.5)}.app-main{position:relative}.app-main::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background: radial-gradient(40rem 32rem at 12% -8%,rgba(151,182,126,.16),transparent 60%),radial-gradient(34rem 28rem at 98% 4%,rgba(244,194,168,.18),transparent 62%),radial-gradient(38rem 30rem at 80% 100%,rgba(174,208,220,.16),transparent 60%),radial-gradient(30rem 26rem at 4% 96%,rgba(237,214,132,.14),transparent 60%);animation: funBlobs 26s ease-in-out infinite alternate}.app-main::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--fun-grain);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme="dark"] .app-main::after{mix-blend-mode:screen}@keyframes funBlobs{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-1.5%,1%,0) scale(1.06)}100%{transform:translate3d(1.5%,-1.2%,0) scale(1.02)}}.greet-card{position:relative;overflow:hidden;background: radial-gradient(120% 140% at 0% 0%,rgba(255,255,255,.55),transparent 55%),linear-gradient(135deg,var(--sage-100) 0%,var(--butter-100) 48%,var(--peach-100) 100%);border:1px solid rgba(255,255,255,.5);box-shadow: var(--fun-shadow-sage)}:root[data-theme="dark"] .greet-card{background: radial-gradient(120% 140% at 0% 0%,rgba(255,255,255,.06),transparent 55%),linear-gradient(135deg,#2f3a2a 0%,#3a3322 50%,#3a2c25 100%);border-color: rgba(255,255,255,.06)}.greet-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--butter-200),var(--clay-300) 70%,transparent 72%);opacity:.5;filter:blur(2px);animation: funFloat 9s ease-in-out infinite}.greet-eyebrow{position:relative;display:inline-flex;align-items:center;gap:6px}.greet-eyebrow::before{content:"✺";font-size:13px;color:var(--clay-400);animation:funSpin 12s linear infinite}.greet-card h2{font-family:var(--f-display);font-weight:500;background:linear-gradient(120deg,var(--sage-600),var(--clay-400));-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme="dark"] .greet-card h2{background:linear-gradient(120deg,var(--sage-200),var(--clay-200));-webkit-background-clip:text;background-clip:text;color:transparent}.greet-stats{padding-right:6px}.greet-stats .gs{position:relative;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.7);box-shadow:0 4px 12px -6px rgba(60,48,30,.25);transition:transform var(--t-fast) var(--fun-pop),box-shadow var(--t-fast)}:root[data-theme="dark"] .greet-stats .gs{background:rgba(20,17,14,.62);border-color:rgba(255,255,255,.06)}.greet-stats .gs:hover{transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 10px 20px -8px rgba(60,48,30,.35)}.greet-stats .gs:nth-child(1)::before,.greet-stats .gs:nth-child(2)::before,.greet-stats .gs:nth-child(3)::before{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:13px;filter:saturate(1.2)}.greet-stats .gs:nth-child(1)::before{content:"⚡"}.greet-stats .gs:nth-child(2)::before{content:"🔥"}.greet-stats .gs:nth-child(3)::before{content:"⭐"}.gs-val{background:linear-gradient(120deg,var(--sage-600),var(--clay-400));-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme="dark"] .gs-val{background:linear-gradient(120deg,var(--sage-200),var(--butter-200));-webkit-background-clip:text;background-clip:text;color:transparent}.gm-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.55);background: linear-gradient(180deg,rgba(255,255,255,.6),transparent 30%),var(--surface);box-shadow: var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.6);border-radius: var(--r-xl)}:root[data-theme="dark"] .gm-card{border-color:rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 30%),var(--surface);box-shadow: var(--shadow-md)}.gm-card .gm-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--sage-400),var(--butter-200),var(--clay-300),var(--sky-200),var(--rose-200));background-size:300% 100%;animation:funShimmer 8s linear infinite}.xp-ring{width:132px;height:132px}.xp-ring svg{width:132px;height:132px;filter:drop-shadow(0 6px 12px rgba(93,125,75,.35))}.xp-ring .xp-track{stroke:var(--surface-3);stroke-width:11}.xp-ring .xp-bar{stroke-width:11;filter:drop-shadow(0 0 6px rgba(151,182,126,.55))}.xp-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(151,182,126,.30),transparent 70%);animation:funPulse 3.4s ease-in-out infinite}.xp-ring-lvl{font-size:34px;background:linear-gradient(135deg,var(--sage-500),var(--clay-400));-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme="dark"] .xp-ring-lvl{background:linear-gradient(135deg,var(--sage-200),var(--butter-200));-webkit-background-clip:text;background-clip:text;color:transparent}.gm-hero-line b{color:var(--clay-400)}.gm-chip{background:linear-gradient(135deg,var(--sage-100),var(--butter-100));border:1px solid rgba(255,255,255,.6);box-shadow:0 3px 8px -4px rgba(93,125,75,.4);animation:funBob 3s ease-in-out infinite}.gm-chip--warn{background:linear-gradient(135deg,var(--peach-100),var(--butter-100))}:root[data-theme="dark"] .gm-chip{border-color:rgba(255,255,255,.06);background:rgba(151,182,126,.14)}.gm-stat-v{background:linear-gradient(120deg,var(--ink-0),var(--sage-500));-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-theme="dark"] .gm-stat-v{background:linear-gradient(120deg,var(--ink-0),var(--sage-200));-webkit-background-clip:text;background-clip:text;color:transparent}.gm-rank{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s-3);padding:5px 12px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--sky-100),var(--sage-50));border:1px solid rgba(255,255,255,.6)}:root[data-theme="dark"] .gm-rank{background:rgba(174,208,220,.12);border-color:rgba(255,255,255,.06)}.gm-rank b{color:var(--sage-600)}:root[data-theme="dark"] .gm-rank b{color:var(--sage-200)}.gm-sec-h h4{font-family:var(--f-display);font-size:16px;display:inline-flex;align-items:center;gap:7px}.gm-sec:nth-child(1) .gm-sec-h h4::before{content:"🎯";font-size:15px}.gm-sec:nth-child(2) .gm-sec-h h4::before{content:"🏆";font-size:15px}.gm-count{background:var(--brand-soft);color:var(--brand-strong);padding:2px 9px;border-radius:var(--r-full);font-family:var(--f-display)}.gm-mission{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft);transition:transform var(--t-fast) var(--fun-pop),background var(--t-fast),border-color var(--t-fast)}.gm-mission:hover{transform:translateX(3px);border-color:var(--clay-200);background:var(--surface)}.gm-mission-check{border-width:2.5px;box-shadow:inset 0 0 0 0 var(--sage-500);transition:all var(--t-med) var(--fun-pop)}.gm-mission.done{background:linear-gradient(135deg,var(--sage-50),var(--butter-100));border-color:var(--sage-200)}.gm-mission.done .gm-mission-check{background:radial-gradient(circle at 35% 30%,var(--sage-300),var(--sage-600));border-color:var(--sage-600);color:#fff;transform:scale(1.08) rotate(-8deg);box-shadow:0 4px 10px -3px rgba(93,125,75,.6);animation:funStamp .45s var(--fun-pop)}.gm-mission-bar{height:8px;background:var(--surface-3)}.gm-mission-bar i{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--sage-300),var(--sage-500))}.gm-mission-bar i::after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.35) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.35) 75%,transparent 75%);background-size:16px 16px;animation:funStripes 1s linear infinite}.gm-mission-xp{color:var(--clay-400);font-family:var(--f-display);font-size:12px;background:var(--peach-100);padding:2px 8px;border-radius:var(--r-full)}:root[data-theme="dark"] .gm-mission-xp{background:rgba(184,128,82,.18)}.gm-badge-medal{width:60px;height:60px;position:relative}.gm-badge.earned .gm-badge-medal{background:radial-gradient(circle at 32% 28%,var(--butter-200),var(--clay-300) 65%,var(--clay-400));box-shadow:0 8px 18px -6px rgba(184,128,82,.55),inset 0 2px 4px rgba(255,255,255,.5)}.gm-badge.earned .gm-badge-medal::before{content:"";position:absolute;inset:-3px;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(237,214,132,.9),transparent 40%);animation:funSpin 5s linear infinite}.gm-badge.earned .gm-badge-medal::after{content:"";position:absolute;top:9px;left:12px;width:14px;height:9px;background:rgba(255,255,255,.7);border-radius:50%;transform:rotate(-25deg);filter:blur(.5px)}.gm-badge.earned:hover .gm-badge-medal{animation:funWobble .6s ease}.gm-badge.locked .gm-badge-medal{background:repeating-linear-gradient(45deg,var(--surface-3),var(--surface-3) 6px,var(--surface-2) 6px,var(--surface-2) 12px);border:1px dashed var(--line)}.gm-badge-name{font-weight:600}.gm-badge.earned .gm-badge-name{color:var(--clay-400)}.trail-eyebrow{display:inline-flex;align-items:center;gap:6px}.trail-eyebrow::before{content:"🗺️";font-size:13px}.trail-head h3{font-family:var(--f-display)}.trail::before{width:3px;left:16px;background:repeating-linear-gradient(var(--line) 0 6px,transparent 6px 12px)}.trail-node.done::before{content:"";position:absolute;left:16px;top:-6px;height:calc(100% + 12px);width:3px;background:var(--sage-400);border-radius:99px;z-index:0}.trail-dot{width:38px;height:38px;border-width:2.5px;transition:transform var(--t-fast) var(--fun-pop)}.trail-node-in:hover .trail-dot{transform:scale(1.12) rotate(-6deg)}.trail-node.done .trail-dot{background:radial-gradient(circle at 35% 30%,var(--sage-300),var(--sage-600));box-shadow:0 4px 10px -3px rgba(93,125,75,.55)}.trail-node.current .trail-dot{background:radial-gradient(circle at 35% 30%,var(--butter-100),var(--clay-200));border-color:var(--clay-400);color:var(--clay-400);box-shadow:var(--fun-ring-glow);animation:funPulse 2.4s ease-in-out infinite}.trail-xp{color:var(--clay-400);font-family:var(--f-display);font-size:12px;background:var(--peach-100);padding:2px 8px;border-radius:var(--r-full)}:root[data-theme="dark"] .trail-xp{background:rgba(184,128,82,.18)}.trail-bar{height:9px}.trail-bar i{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--sage-300),var(--sage-500))}.trail-bar i::after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.3) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.3) 75%,transparent 75%);background-size:18px 18px;animation:funStripes 1.1s linear infinite}.qa{position:relative;overflow:hidden;border:1.5px solid transparent;border-radius:var(--r-lg);background: linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--sage-200),var(--butter-100)) border-box;box-shadow:0 6px 16px -10px rgba(60,48,30,.4);transition:transform var(--t-med) var(--fun-pop),box-shadow var(--t-med)}.qa::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:var(--sage-100);opacity:0;transform:scale(.6);transition:opacity var(--t-med),transform var(--t-med) var(--fun-pop)}@media (hover:hover){.qa:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:var(--fun-shadow-sage);border-color:transparent}.qa:hover::after{opacity:.5;transform:scale(1)}.qa:hover .qa-ico{transform:rotate(-8deg) scale(1.08)}}.qa-ico{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--sage-100),var(--sage-50));color:var(--sage-600);box-shadow:inset 0 -2px 4px rgba(93,125,75,.12),0 4px 10px -4px rgba(93,125,75,.4);transition:transform var(--t-med) var(--fun-pop)}.qa-ico svg{width:20px;height:20px}.qa h4{font-family:var(--f-display);font-weight:500;font-size:15px}.qa--clay{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--clay-200),var(--peach-100)) border-box}.qa--clay::after{background:var(--peach-100)}.qa--clay .qa-ico{background:linear-gradient(135deg,var(--peach-200),var(--peach-100));color:var(--clay-400);box-shadow:inset 0 -2px 4px rgba(184,128,82,.15),0 4px 10px -4px rgba(184,128,82,.4)}.qa--sky{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--sky-200),var(--sky-100)) border-box}.qa--sky::after{background:var(--sky-100)}.qa--sky .qa-ico{background:linear-gradient(135deg,var(--sky-200),var(--sky-100));color:#5a7e8c;box-shadow:inset 0 -2px 4px rgba(90,126,140,.15),0 4px 10px -4px rgba(90,126,140,.4)}.qa--rose{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--rose-200),var(--rose-100)) border-box}.qa--rose::after{background:var(--rose-100)}.qa--rose .qa-ico{background:linear-gradient(135deg,var(--rose-200),var(--rose-100));color:#9e554e;box-shadow:inset 0 -2px 4px rgba(158,85,78,.15),0 4px 10px -4px rgba(158,85,78,.4)}.s-head h3{font-family:var(--f-display);font-weight:500;position:relative;padding-left:18px}.s-head h3::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:22px;border-radius:99px;background:linear-gradient(var(--sage-400),var(--clay-300))}.recent-row{border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:0 4px 12px -10px rgba(60,48,30,.35);transition:transform var(--t-fast) var(--fun-pop),box-shadow var(--t-fast),border-color var(--t-fast)}.recent-row:hover{transform:translateX(4px);border-color:var(--sage-200);box-shadow:0 8px 18px -10px rgba(93,125,75,.45)}.recent-row-ico{background:linear-gradient(135deg,var(--sage-100),var(--sage-50));color:var(--sage-600);box-shadow:0 3px 8px -4px rgba(93,125,75,.4)}.recent-row:hover .recent-row-arrow{transform:translateX(3px);color:var(--clay-400)}.recent-row-arrow{transition:transform var(--t-fast) var(--fun-pop),color var(--t-fast)}.subj{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:0 6px 16px -12px rgba(60,48,30,.4);transition:transform var(--t-med) var(--fun-pop),box-shadow var(--t-med),border-color var(--t-med)}@media (hover:hover){.subj:hover{transform:translateY(-4px);border-color:var(--sage-200);box-shadow:var(--fun-shadow-sage)}.subj:hover .subj-ico{transform:rotate(-6deg) scale(1.06)}}.subj-ico{width:40px;height:40px;font-size:18px;background:radial-gradient(circle at 35% 30%,var(--sage-100),var(--sage-50));color:var(--sage-600);box-shadow:0 4px 10px -4px rgba(93,125,75,.4);transition:transform var(--t-med) var(--fun-pop)}.subj h4{font-family:var(--f-display)}.subj-progress{height:7px}.subj-progress>i{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--sage-300),var(--sage-500))}.subj-progress>i::after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.3) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.3) 75%,transparent 75%);background-size:14px 14px;animation:funStripes 1.2s linear infinite}.nr-js #sub-home>*{animation:funRise .55s var(--ease) both}.nr-js #sub-home>*:nth-child(1){animation-delay:.02s}.nr-js #sub-home>*:nth-child(2){animation-delay:.08s}.nr-js #sub-home>*:nth-child(3){animation-delay:.14s}.nr-js #sub-home>*:nth-child(4){animation-delay:.20s}.nr-js #sub-home>*:nth-child(n+5){animation-delay:.26s}.fun-confetti{position:fixed;inset:0;pointer-events:none;z-index:var(--z-toast);overflow:hidden}.fun-confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;will-change:transform,opacity;animation:funFall var(--dur,1.6s) var(--ease) forwards}.gs-val.fun-bump,.gm-stat-v.fun-bump{animation:funBump .5s var(--fun-pop)}@keyframes funFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes funBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes funSpin{to{transform:rotate(360deg)}}@keyframes funPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}@keyframes funShimmer{to{background-position:300% 0}}@keyframes funStripes{to{background-position:32px 0}}@keyframes funRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes funBump{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}@keyframes funStamp{0%{transform:scale(0) rotate(40deg)}60%{transform:scale(1.25) rotate(-12deg)}100%{transform:scale(1.08) rotate(-8deg)}}@keyframes funWobble{0%,100%{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}@keyframes funFall{0%{transform:translateY(0) rotateZ(0) rotateY(0);opacity:1}100%{transform:translateY(108vh) rotateZ(720deg) rotateY(360deg);opacity:.9}}@media (prefers-reduced-motion: reduce){.app-main::before,.greet-card::after,.greet-eyebrow::before,.gm-card .gm-hero::before,.xp-ring::after,.gm-chip,.gm-mission-bar i::after,.gm-badge.earned .gm-badge-medal::before,.trail-node.current .trail-dot,.trail-bar i::after,.subj-progress>i::after,.fun-confetti{animation:none !important}.nr-js #sub-home>*{animation:none !important}}body.reduce-motion .app-main::before,body.reduce-motion .greet-card::after,body.reduce-motion .greet-eyebrow::before,body.reduce-motion .gm-card .gm-hero::before,body.reduce-motion .xp-ring::after,body.reduce-motion .gm-chip,body.reduce-motion .gm-mission-bar i::after,body.reduce-motion .gm-badge.earned .gm-badge-medal::before,body.reduce-motion .trail-node.current .trail-dot,body.reduce-motion .trail-bar i::after,body.reduce-motion .subj-progress>i::after,body.reduce-motion .fun-confetti{animation:none !important}.nrn-logo{display: inline-flex;align-items: center;gap: var(--s-3);color: var(--ink-0);text-decoration: none;line-height: 1;border-radius: var(--r-md);padding: 4px;margin: -4px;transition: opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.nrn-logo:hover{text-decoration: none}.nrn-logo__tile{--tile: 38px;width: var(--tile);height: var(--tile);flex: 0 0 auto;border-radius: 11px;display: grid;place-items: center;background: linear-gradient(150deg,var(--sage-400),var(--sage-600));box-shadow: 0 2px 8px rgba(93,125,75,.30),inset 0 1px 0 rgba(255,255,255,.22);position: relative;overflow: hidden;transition: box-shadow var(--t-fast) var(--ease),transform var(--t-med) var(--ease)}.nrn-logo__tile svg{width: 64%;height: auto;display: block;color: #fff}@media (hover: hover){.nrn-logo:hover .nrn-logo__tile{box-shadow: 0 6px 18px rgba(93,125,75,.38),inset 0 1px 0 rgba(255,255,255,.28);transform: translateY(-1px)}.nrn-logo:active .nrn-logo__tile{transform: translateY(0)}}.nrn-logo__mark{flex: 0 0 auto;display: grid;place-items: center}.nrn-logo__mark svg{width: 30px;height: auto;display: block;color: var(--brand)}.nrn-logo__word{font-family: var(--f-display);font-size: 20px;font-weight: 600;letter-spacing: -.02em;color: var(--ink-0);white-space: nowrap}.nrn-logo__word em{font-style: italic;font-weight: 500;color: var(--brand-strong)}.nrn-logo--stacked{align-items: center}.nrn-logo--stacked .nrn-logo__text{display: flex;flex-direction: column;gap: 1px;min-width: 0}.nrn-logo__sub{font-family: var(--f-sans);font-size: 11px;font-weight: 500;letter-spacing: .04em;color: var(--ink-3);white-space: nowrap;margin-top: 1px}.nrn-logo--sm .nrn-logo__tile{--tile: 30px}.nrn-logo--sm .nrn-logo__word{font-size: 17px}.nrn-logo--lg .nrn-logo__tile{--tile: 48px;border-radius: 14px}.nrn-logo--lg .nrn-logo__word{font-size: 26px}.nrn-logo--xl .nrn-logo__tile{--tile: 60px;border-radius: 17px}.nrn-logo--xl .nrn-logo__word{font-size: 32px}.nrn-logo--symbol-only .nrn-logo__word,.nrn-logo--symbol-only .nrn-logo__sub,.nrn-logo--symbol-only .nrn-logo__text{display: none}.collapsed .nrn-logo__word,.collapsed .nrn-logo__sub,.collapsed .nrn-logo__text{display: none}.collapsed .sb-head .nrn-logo{justify-content: center;gap: 0}.nrn-logo--center{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--s-3);width: 100%;margin: 0 auto var(--s-4);text-align: center}.nrn-logo--center .nrn-logo__word{font-size: 28px}.nrn-logo--center .nrn-logo__tile{--tile: 56px;border-radius: 16px}.modal-head--branded{text-align: center}.modal-head--branded .eyebrow{display: block}@media (max-width: 560px){.nrn-logo__word{font-size: 18px}.nrn-logo--lg .nrn-logo__word{font-size: 22px}}@media (prefers-reduced-motion: reduce){.nrn-logo,.nrn-logo__tile{transition: none !important}.nrn-logo:hover .nrn-logo__tile{transform: none !important}}body.reduce-motion .nrn-logo:hover .nrn-logo__tile{transform: none !important}.nrn-avatar{display: grid;place-items: center;overflow: hidden}.nrn-avatar svg{width: 60%;height: auto;color: #fff}.view-head{margin-bottom:var(--s-7)}.view-head .eyebrow{letter-spacing:.12em;font-size:11.5px}.view-head h1{letter-spacing:-.02em;line-height:1.1}.view-head p.sub{font-size:15px;color:var(--ink-2);line-height:1.55}.kpi .val,.acad-avg,.acad-att-num,.act-grade,.stat-tile .n,.hbar-row .val,.rank-item .xp2,.dim .dv{font-variant-numeric:tabular-nums}.card,.qa,.kpi{transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease),border-color var(--t-med) var(--ease),background var(--t-med) var(--ease)}.card{box-shadow:var(--shadow-sm)}.view .card.pad{padding:var(--s-6)}@media (hover:hover){.card.hover:hover,.kpi.hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--sage-200)}.qa:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--sage-200)}}.card.hover:active,.qa:active{transform:translateY(-1px)}.card-t h3{font-size:16.5px;letter-spacing:-.01em}.card-t .ic{box-shadow:inset 0 0 0 1px var(--line-soft)}.kpi{position:relative;isolation:isolate}.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg,var(--brand),var(--sage-300));opacity:.55;z-index:0;transition:opacity var(--t-med) var(--ease)}@media (hover:hover){.kpi.hover:hover::before{opacity:1}}.kpi .val{position:relative;z-index:1;font-size:36px;letter-spacing:-.025em}.kpi .lbl{font-weight:500}.btn{border-radius:var(--r-sm);letter-spacing:.005em;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),filter var(--t-fast) var(--ease)}.btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-strong));box-shadow:0 1px 0 rgba(255,255,255,.10) inset,0 2px 8px rgba(93,125,75,.28)}@media (hover:hover){.btn.primary:hover{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 20px rgba(93,125,75,.32),0 2px 6px rgba(93,125,75,.22);transform:translateY(-1px)}.btn.ghost:hover{border-color:var(--sage-300);background:var(--surface-2)}.btn.soft:hover{box-shadow:var(--shadow-sm);background:var(--sage-100)}}.btn.primary:active{transform:translateY(0) scale(.985);box-shadow:0 1px 4px rgba(93,125,75,.30) inset}.btn.ghost:active,.btn.soft:active{transform:translateY(0) scale(.985)}@media (hover:hover){.icon-btn:hover{box-shadow:inset 0 0 0 1px var(--line)}}.inp,select,textarea{transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media (hover:hover){.inp:hover,select:hover,textarea:hover{border-color:var(--ink-4)}}.inp:focus,select:focus,textarea:focus{outline:0;border-color:var(--sage-300);box-shadow:var(--focus-ring);background:var(--surface)}select{-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23968d7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}:root[data-theme="dark"] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a89f8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (hover:hover){.search:hover{border-color:var(--ink-4)}}.search:focus-within{border-color:var(--sage-300);box-shadow:var(--focus-ring);background:var(--surface)}.nav-item{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){.nav-item:hover{box-shadow:inset 0 0 0 1px var(--line-soft)}}.nav-item.active{box-shadow:inset 0 0 0 1px var(--sage-200)}.nav-item.active::before{height:20px;box-shadow:0 0 0 3px var(--brand-soft)}.nav-group-t{letter-spacing:.12em}.logo{box-shadow:0 2px 10px rgba(93,125,75,.35),inset 0 1px 0 rgba(255,255,255,.18)}.ai-item,.row.clickable,.tbl tr.clickable{position:relative}@media (hover:hover){.ai-item:hover,.row.clickable:hover{box-shadow:inset 2px 0 0 var(--brand);border-radius:var(--r-sm)}}.chip,.tab,.kid-tab,.role-pill,.status-badge,.comm-chip{transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.tab:focus-visible,.chip:focus-visible{box-shadow:var(--focus-ring);outline:0}.tab.active{box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line-soft)}.status-badge{box-shadow:inset 0 0 0 1px var(--line-soft)}.role-pill{box-shadow:inset 0 0 0 1px var(--line-soft)}.empty{margin-top:6vh}.empty .glyph{box-shadow:0 6px 20px rgba(93,125,75,.12),inset 0 0 0 1px var(--sage-100)}.empty h2{font-size:23px}.view .comm-tabs{gap:2px;margin:2px 0 var(--s-6)}.view .comm-tab{position:relative;padding:9px 14px;border-radius:var(--r-sm) var(--r-sm) 0 0;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}@media (hover:hover){.view .comm-tab:hover{color:var(--ink-1);background:var(--surface-2)}}.view .comm-tab.active{color:var(--ink-0);border-bottom-color:var(--brand)}.view .comm-tab.active::after{content:"";position:absolute;left:14px;right:14px;bottom:-2px;height:2px;background:var(--brand);border-radius:2px}.view .acad-table,.tbl{font-size:13.5px}.view .acad-table th,.tbl th{font-weight:600;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.view .acad-table td,.tbl td{padding:12px;border-bottom:1px solid var(--line-soft);color:var(--ink-1);vertical-align:middle}.view .acad-table tbody tr,.tbl tr.clickable{transition:background var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-table tbody tr:hover,.tbl tr.clickable:hover{background:var(--surface-2)}}.view .acad-table tbody tr:last-child td,.tbl tr:last-child td{border-bottom:0}.view .acad-table td strong{color:var(--ink-0);font-weight:600}.view .acad-table input.acad-score{text-align:center;font-variant-numeric:tabular-nums}.view .acad-toolbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--s-6)}.view .acad-field{display:flex;flex-direction:column;gap:6px}.view .acad-field label{font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:.01em}.view .acad-field .inp,.view .acad-field select{min-width:172px}.view .acad-boletim{display:flex;flex-direction:column;gap:var(--s-5)}.view .acad-boletim-name{display:flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px}.view .acad-boletim-name svg{width:18px;height:18px;padding:7px;box-sizing:content-box;flex:0 0 auto;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-strong)}.view .acad-term{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.view .acad-term-head{display:flex;align-items:center;gap:10px;margin-bottom:var(--s-4)}.view .acad-term-head h3{margin:0;font-size:18px;letter-spacing:-.01em}.view .acad-subjects{display:flex;flex-direction:column;gap:10px}.view .acad-subj{border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;background:var(--surface-2);transition:border-color var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-subj:hover{border-color:var(--sage-200)}}.view .acad-subj-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.view .acad-subj-name{font-family:var(--f-sans);font-weight:600;font-size:14.5px;color:var(--ink-0)}.view .acad-avg{font-family:var(--f-display);font-size:23px;font-weight:600;line-height:1;color:var(--ink-1);letter-spacing:-.02em;display:inline-flex;align-items:baseline;gap:1px}.view .acad-avg small{font-family:var(--f-sans);font-size:12px;font-weight:500;color:var(--ink-3);margin-left:1px}.view .acad-avg.ok{color:var(--success)}.view .acad-avg.low{color:var(--danger)}.view .acad-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.view .acad-pill{font-size:12px;font-weight:500;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:4px 11px;border-radius:var(--r-full);white-space:nowrap}.view .acad-pill strong{color:var(--ink-0);font-weight:600;font-variant-numeric:tabular-nums}.view .acad-att-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line-soft)}.view .acad-att-stat{display:flex;flex-direction:column;gap:3px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:12px 14px}.view .acad-att-num{font-family:var(--f-display);font-size:24px;font-weight:600;line-height:1;color:var(--ink-0);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.view .acad-att-stat .comm-meta{font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}@media (max-width:720px){.view .acad-att-summary{grid-template-columns:repeat(2,1fr)}}.view .acad-split{display:grid;grid-template-columns:320px 1fr;gap:var(--s-5)}@media (max-width:900px){.view .acad-split{grid-template-columns:1fr}}.view .acad-list{display:flex;flex-direction:column;gap:8px}.view .acad-asmt{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;width:100%;font:inherit;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-asmt:hover{border-color:var(--sage-300);box-shadow:var(--shadow-sm)}}.view .acad-asmt.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 2px 0 0 var(--brand)}.view .acad-asmt-title{font-weight:600;font-size:14px;color:var(--ink-0)}.view .acad-asmt svg{width:16px;height:16px;opacity:.45;transform:rotate(180deg)}.view .acad-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);min-height:220px;box-shadow:var(--shadow-sm)}.view .acad-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--s-4)}.view .acad-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-3);padding:var(--s-9) var(--s-4);text-align:center;min-height:200px}.view .acad-hint svg{width:30px;height:30px;opacity:.4}.view .acad-hint p{font-size:13.5px;color:var(--ink-3);max-width:34ch}.view .acad-att-group{display:flex;gap:6px;flex-wrap:wrap}.view .acad-att-btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink-2);font-weight:500;transition:all var(--t-fast) var(--ease)}@media (hover:hover){.view .acad-att-btn:hover{border-color:var(--ink-4);color:var(--ink-0)}}.view .acad-att-btn.on{background:var(--c,var(--brand));border-color:var(--c,var(--brand));color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.view .comm-chip{font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--surface-3);color:var(--ink-2);padding:4px 10px;border-radius:var(--r-full);display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 0 0 1px var(--line-soft)}.view .comm-chip.is-closed{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-border)}.view .comm-list{display:flex;flex-direction:column;gap:12px}.view .comm-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;cursor:pointer;width:100%;font:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--t-med) var(--ease),transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}@media (hover:hover){.view .comm-card:hover{border-color:var(--sage-200);transform:translateY(-2px);box-shadow:var(--shadow-md)}}.view .comm-card:active{transform:translateY(0)}.view .comm-card-top{display:flex;align-items:center;gap:11px;margin-bottom:9px}.view .comm-card-title{font-family:var(--f-sans);font-weight:600;color:var(--ink-0);font-size:15px;letter-spacing:-.005em}.view .comm-card-body{color:var(--ink-2);font-size:13.5px;margin:0 0 11px;line-height:1.55}.view .comm-card-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view .mini-av{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 1px 3px rgba(0,0,0,.12)}.view .comm-chip.pin{margin-left:auto;background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--clay-200)}:root[data-theme="dark"] .view .comm-chip.pin{box-shadow:inset 0 0 0 1px rgba(184,128,82,.4)}.view .comm-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.view .comm-conv{border-radius:var(--r-md);transition:background var(--t-fast) var(--ease)}@media (hover:hover){.view .comm-conv:hover{background:var(--surface-2)}}.view .comm-bubble{background:var(--surface-2);color:var(--ink-0);border:1px solid var(--line-soft);padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.45}.view .comm-msg.mine .comm-bubble{background:var(--brand);color:#fff;border-color:transparent}.view .comm-badge{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion:reduce){.card,.qa,.kpi,.btn,.chip,.tab,.ai-item,.row.clickable,.nav-item,.icon-btn,.view .comm-card,.view .acad-subj,.view .acad-asmt,.view .acad-att-btn{transition:none !important}.card.hover:hover,.kpi.hover:hover,.qa:hover,.btn.primary:hover,.view .comm-card:hover{transform:none !important}}body.reduce-motion .card.hover:hover,body.reduce-motion .kpi.hover:hover,body.reduce-motion .qa:hover,body.reduce-motion .btn.primary:hover,body.reduce-motion .view .comm-card:hover{transform:none !important}.pk-skel{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r-sm)}.pk-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--surface) 72%,transparent) 50%,transparent 68%);background-size:220% 100%;animation:pkShimmer 1.15s linear infinite}@keyframes pkShimmer{from{background-position:200% 0}to{background-position:-200% 0}}.pk-skel--text{height:13px;border-radius:6px}.pk-skel--title{height:22px;width:min(320px,56%);border-radius:8px}.pk-skel--eyebrow{height:11px;width:96px;border-radius:6px}.pk-skel--kpi{height:104px;border-radius:var(--r-lg)}.pk-skel--row{height:52px;border-radius:var(--r-md)}.pk-skel--circle{border-radius:50%}.pk-skel-stack{display:grid;gap:10px}@media (prefers-reduced-motion:reduce){.pk-skel::after{animation:none;opacity:.5}}body.reduce-motion .pk-skel::after{animation:none;opacity:.5}.pk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:56px 24px;border:1px dashed var(--line);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 55%,transparent)}.pk-empty .glyph{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface-2);color:var(--ink-3);margin-bottom:4px}.pk-empty .glyph svg{width:25px;height:25px}.pk-empty h3{margin:0;font-size:15.5px;color:var(--ink-1);font-weight:600}.pk-empty p{margin:0;font-size:13.5px;color:var(--ink-3);max-width:380px;line-height:1.5}.pk-empty .btn{margin-top:10px}.btn:focus-visible,.tab:focus-visible,.chip:focus-visible,.icon-btn:focus-visible,.row.clickable:focus-visible,.nav-item:focus-visible,a:focus-visible,.acad-tab:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}#page-app .app-side-label{display:flex;align-items:center;gap:8px}#page-app .app-side-label::after{content:"";flex:1;height:1px;background:var(--line-soft)}#page-app .app-side a{position:relative;border-radius:var(--r-sm);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}#page-app .app-side a::before{content:"";position:absolute;left:-2px;top:18%;bottom:18%;width:3px;border-radius:3px;background:var(--brand);opacity:0;transform:scaleY(.4);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}@media (hover:hover){#page-app .app-side a:hover{transform:translateX(2px)}}#page-app .app-side a.is-active{background:linear-gradient(90deg,var(--sage-50),transparent 90%);font-weight:600}#page-app .app-side a.is-active::before{opacity:1;transform:scaleY(1)}#page-app .app-side a:focus-visible{outline:none;box-shadow:var(--focus-ring)}#page-app .app-side-logout{border-radius:var(--r-sm);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}#page-app .app-side-logout:focus-visible{outline:none;box-shadow:var(--focus-ring-danger)}#page-app .greet-card{position:relative;isolation:isolate;overflow:hidden;border-color:var(--line-soft);box-shadow:var(--shadow-sm)}#page-app .greet-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background: radial-gradient(340px 200px at 88% -20%,rgba(151,182,126,.22),transparent 70%),radial-gradient(260px 180px at -6% 110%,rgba(237,214,132,.20),transparent 70%)}#page-app .greet-card h2{font-family:var(--f-display);font-size:clamp(24px,3vw,30px);letter-spacing:-.02em;line-height:1.12}#page-app .greet-eyebrow{display:flex;align-items:center;gap:8px}#page-app .greet-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px rgba(122,156,99,.22)}#page-app .greet-stats{gap:var(--s-3)}#page-app .gs{position:relative;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:10px 16px;min-width:72px;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,var(--shadow-sm);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){#page-app .gs:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,var(--shadow-md)}}#page-app .gs-val{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:22px;letter-spacing:-.02em}#page-app .qa{position:relative;isolation:isolate;box-shadow:var(--shadow-sm)}#page-app .qa::after{content:"";position:absolute;inset:0 0 auto;height:2px;z-index:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg,var(--brand),transparent 75%);opacity:0;transition:opacity var(--t-med) var(--ease)}#page-app .qa--clay::after{background:linear-gradient(90deg,var(--clay-300),transparent 75%)}#page-app .qa--sky::after{background:linear-gradient(90deg,var(--sky-200),transparent 75%)}#page-app .qa--rose::after{background:linear-gradient(90deg,var(--rose-200),transparent 75%)}#page-app .qa-ico{box-shadow:inset 0 0 0 1px var(--line-soft);transition:transform var(--t-med) var(--ease)}@media (hover:hover){#page-app .qa:hover{box-shadow:var(--shadow-lg)}#page-app .qa:hover::after{opacity:.8}#page-app .qa:hover .qa-ico{transform:scale(1.06) rotate(-3deg)}}#page-app .qa:focus-visible{outline:none;box-shadow:var(--focus-ring)}#page-app .s-head h3{font-family:var(--f-display);letter-spacing:-.015em}#page-app .s-head{align-items:baseline}#page-app .recent-row{box-shadow:var(--shadow-sm);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media (hover:hover){#page-app .recent-row:hover{transform:translateX(3px);border-color:var(--sage-200);box-shadow:var(--shadow-md)}#page-app .recent-row:hover .recent-row-arrow{transform:translateX(3px);color:var(--brand)}}#page-app .recent-row:active{transform:translateX(1px)}#page-app .recent-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}#page-app .recent-row-ico{background:var(--sage-50);color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--line-soft)}#page-app .recent-row-arrow{transition:transform var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}#page-app .card{box-shadow:var(--shadow-sm);transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease),border-color var(--t-med) var(--ease)}@media (hover:hover){#page-app .card.hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--sage-200)}}#page-app button:focus-visible,#page-app a:focus-visible{outline:none;box-shadow:var(--focus-ring)}#page-app .loading{position:relative;text-align:left;min-height:118px;border-radius:var(--r-md);background: linear-gradient(var(--surface-2) 0 0) 0 0 / 38% 14px,linear-gradient(var(--surface-2) 0 0) 0 28px / 92% 14px,linear-gradient(var(--surface-2) 0 0) 0 56px / 80% 14px,linear-gradient(var(--surface-2) 0 0) 0 84px / 56% 14px;background-repeat:no-repeat;overflow:hidden}#page-app .loading .spinner{display:none}#page-app .loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--surface) 65%,transparent) 50%,transparent 70%);transform:translateX(-100%);animation:nr-shimmer 1.4s ease-in-out infinite}@keyframes nr-shimmer{to{transform:translateX(100%)}}#page-app .empty{border:1px dashed var(--line);border-radius:var(--r-lg);background: radial-gradient(220px 140px at 50% -30%,rgba(151,182,126,.10),transparent 70%),var(--surface);transition:border-color var(--t-med) var(--ease)}#page-app .empty:hover{border-color:var(--sage-200)}#page-app .empty-ico{background:var(--sage-50);color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--line-soft)}@media (max-width:640px){#page-app .greet-card{padding:var(--s-5)}#page-app .greet-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}#page-app .gs{min-width:0;padding:10px 8px}}.nr-hero-how{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:none;cursor:pointer;border:none;background:none;padding:10px 6px;font-family:inherit;transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.nr-hero-how:hover{color:var(--ink);transform:translateY(1px)}.nr-hero-how:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-xs)}.login-demo-hint{margin-top:var(--s-4);text-align:center;font-size:12.5px;color:var(--ink-3)}.login-demo-hint a{color:var(--brand-strong);font-weight:600;text-decoration:none}.login-demo-hint a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){#page-app .loading::after{animation:none}#page-app *{transition-duration:.01ms !important}}.reduce-motion #page-app .loading::after{animation:none}.nr-focus #page-app .greet-card::before,.nr-focus #page-app .qa::after{display:none}