:root{--navy-950: #0d2742;--navy-900: #102f4f;--navy-800: #173d62;--navy-700: #1f4a73;--navy-600: #2a5c8a;--ink: #173454;--ink-soft: #5e7690;--ink-dim: #8a9cb0;--ink-faint: #b8c7d6;--blue-50: #f2f8ff;--blue-100: #e8f3ff;--blue-200: #cfe6ff;--blue-300: #a8d1ff;--blue-400: #6fb2f5;--blue-500: #247ee5;--blue-600: #1466c5;--blue-700: #0f52a3;--teal-50: #e6f8f4;--teal-100: #c9f0e8;--teal-300: #7ad9c8;--teal-500: #1bb8a2;--teal-600: #17a08d;--teal-700: #128a78;--yellow-50: #fff9e6;--yellow-100: #fff6d8;--yellow-300: #fbe08a;--yellow-500: #f7bf3f;--yellow-600: #e0a820;--yellow-700: #b8861a;--red-50: #fff5f6;--red-100: #fff0f1;--red-300: #f4a3a8;--red-500: #ec6a72;--red-600: #d9525a;--red-700: #b83f47;--green-50: #eefaf4;--green-100: #eaf9f1;--green-300: #7bdaa8;--green-500: #27b56f;--green-600: #1fa160;--green-700: #188a52;--canvas: #edf5fb;--canvas-deep: #e4f0f8;--surface: #ffffff;--surface-2: #f5f9fd;--surface-3: #e9f1f8;--stroke: #dce9f2;--stroke-2: #c7dceb;--c-bg: var(--canvas);--c-surface: var(--surface);--c-surface-2: var(--surface-2);--c-surface-3: var(--surface-3);--c-border: var(--stroke);--c-border-soft: var(--stroke);--c-border-strong: var(--stroke-2);--c-text: var(--ink);--c-text-muted: var(--ink-soft);--c-text-dim: var(--ink-dim);--c-text-invert: #FFFFFF;--c-primary: var(--blue-500);--c-primary-600: var(--blue-600);--c-primary-700: var(--blue-700);--c-primary-100: var(--blue-100);--c-primary-50: var(--blue-50);--c-accent: var(--yellow-500);--c-accent-100: var(--yellow-100);--c-link: var(--blue-600);--c-link-hover: var(--blue-700);--c-success: var(--green-500);--c-success-bg: var(--green-100);--c-success-br: var(--green-300);--c-warning: var(--yellow-500);--c-warning-bg: var(--yellow-100);--c-warning-br: var(--yellow-300);--c-danger: var(--red-500);--c-danger-bg: var(--red-100);--c-danger-br: var(--red-300);--c-info: var(--teal-500);--c-info-bg: var(--teal-50);--c-info-br: var(--teal-300);--c-green-50: var(--green-50);--c-green-100: var(--green-100);--c-green-200: var(--green-300);--c-green-300: var(--green-300);--c-green-400: var(--green-500);--c-green-500: var(--green-500);--c-green-600: var(--green-600);--c-green-700: var(--green-700);--c-green-800: var(--green-700);--c-coral-100: var(--red-100);--c-coral-300: var(--red-300);--c-coral-500: var(--red-500);--c-coral-700: var(--red-700);--c-peach-100: var(--yellow-100);--c-peach-300: var(--yellow-300);--c-peach-500: var(--yellow-500);--c-peach-700: var(--yellow-700);--c-sky-100: var(--blue-100);--c-sky-300: var(--blue-300);--c-sky-500: var(--blue-500);--c-sky-700: var(--blue-700);--c-lav-100: var(--blue-100);--c-lav-300: var(--blue-200);--c-lav-500: var(--blue-400);--c-lav-700: var(--blue-600);--c-ink-900: var(--ink);--c-ink-800: var(--navy-800);--c-ink-700: var(--navy-700);--c-ink-600: var(--ink-soft);--c-ink-500: var(--ink-soft);--c-ink-400: var(--ink-dim);--c-ink-300: var(--ink-faint);--c-ink-200: var(--stroke-2);--c-ink-100: var(--stroke);--c-sand-50: var(--surface-2);--c-sand-100: var(--canvas);--c-sand-200: var(--surface-3);--c-sand-300: var(--stroke);--c-sand-400: var(--stroke-2);--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--r-pill: 999px;--radius: var(--r-xl);--radius-small: var(--r-md);--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-14: 56px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--density-unit: 4px;--pad-card: var(--sp-6);--pad-card-lg: var(--sp-8);--pad-section: var(--sp-12);--gap-grid: var(--sp-5);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fz-xs: 12px;--fz-sm: 13px;--fz-md: 14px;--fz-base: 16px;--fz-lg: 18px;--fz-xl: 20px;--fz-2xl: 24px;--fz-3xl: 30px;--fz-4xl: 38px;--fz-5xl: 48px;--fz-6xl: 60px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.55;--lh-loose: 1.7;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 800;--ls-tight: -.02em;--ls-snug: -.01em;--ls-normal: 0;--ls-wide: .02em;--sh-xs: 0 1px 2px rgba(37, 77, 112, .06);--sh-sm: 0 2px 6px rgba(37, 77, 112, .07), 0 1px 2px rgba(37, 77, 112, .05);--sh-md: 0 8px 24px rgba(37, 77, 112, .08), 0 2px 6px rgba(37, 77, 112, .05);--sh-lg: 0 18px 46px rgba(37, 77, 112, .1), 0 6px 12px rgba(37, 77, 112, .06);--sh-xl: 0 28px 60px rgba(37, 77, 112, .14), 0 10px 20px rgba(37, 77, 112, .08);--sh-focus: 0 0 0 4px rgba(36, 126, 229, .2);--sh-focus-danger: 0 0 0 4px rgba(236, 106, 114, .22);--shadow: var(--sh-lg);--shadow-small: var(--sh-md);--g-hero: linear-gradient(135deg, #e8f3ff 0%, #edf5fb 55%, #fff6d8 100%);--g-primary: linear-gradient(135deg, var(--blue-500) 0%, var(--blue-600) 100%);--g-warm: linear-gradient(135deg, var(--yellow-500) 0%, var(--red-500) 100%);--g-cool: linear-gradient(135deg, var(--teal-500) 0%, var(--blue-500) 100%);--t-fast: .12s;--t-base: .2s;--t-slow: .32s;--t-slower: .48s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--z-base: 1;--z-dropdown: 300;--z-sticky: 200;--z-drawer: 500;--z-modal: 1000;--z-toast: 1100;--z-tooltip: 1200;--w-container: 1200px;--w-container-wide: 1320px;--w-container-narrow: 720px;--h-header: 68px;--h-header-sm: 60px;--h-bottom-nav: 64px;--w-sidebar: 260px;--w-sidebar-sm: 226px;--sidebar-width: var(--w-sidebar-sm);--backdrop: rgba(13, 39, 66, .55);--backdrop-blur: 8px}[data-theme=dark]{--c-bg: #0a1f36;--c-surface: #102f4f;--c-surface-2: #173d62;--c-surface-3: #1f4a73;--c-border: #2a5c8a;--c-border-soft: #234c76;--c-border-strong: #3a6c9c;--c-text: #e8f3ff;--c-text-muted: #a8c1d9;--c-text-dim: #7d99b6;--c-text-invert: #0d2742;--c-primary: var(--blue-400);--c-primary-600: var(--blue-500);--c-primary-700: var(--blue-600);--c-primary-100: rgba(36, 126, 229, .18);--c-primary-50: rgba(36, 126, 229, .08);--c-link: var(--blue-300);--c-link-hover: var(--blue-200);--c-success: var(--green-300);--c-success-bg: rgba(39, 181, 111, .12);--c-success-br: rgba(39, 181, 111, .32);--c-warning: var(--yellow-300);--c-warning-bg: rgba(247, 191, 63, .14);--c-warning-br: rgba(247, 191, 63, .32);--c-danger: var(--red-300);--c-danger-bg: rgba(236, 106, 114, .14);--c-danger-br: rgba(236, 106, 114, .32);--c-info: var(--teal-300);--c-info-bg: rgba(27, 184, 162, .14);--c-info-br: rgba(27, 184, 162, .3);--c-ink-900: #e8f3ff;--c-ink-800: #cfe0f0;--c-ink-700: #a8c1d9;--c-ink-600: #7d99b6;--c-ink-500: #5e7690;--c-ink-400: #3d5875;--c-ink-300: #2a5c8a;--c-ink-200: #234c76;--c-ink-100: #173d62;--c-sand-50: #0d2742;--c-sand-100: #0a1f36;--c-sand-200: #173d62;--c-sand-300: #2a5c8a;--c-sand-400: #3a6c9c;--sh-xs: 0 1px 2px rgba(0, 0, 0, .4);--sh-sm: 0 2px 6px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .3);--sh-md: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--sh-lg: 0 18px 46px rgba(0, 0, 0, .5), 0 6px 12px rgba(0, 0, 0, .3);--sh-xl: 0 28px 60px rgba(0, 0, 0, .6), 0 10px 20px rgba(0, 0, 0, .4);--g-hero: linear-gradient(135deg, #102f4f 0%, #0a1f36 55%, #2b2418 100%);--g-primary: linear-gradient(135deg, var(--blue-400) 0%, var(--blue-500) 100%);--g-warm: linear-gradient(135deg, var(--yellow-500) 0%, var(--red-500) 100%);--g-cool: linear-gradient(135deg, var(--teal-500) 0%, var(--blue-400) 100%);--backdrop: rgba(0, 0, 0, .7)}.density-comfortable{--pad-card: var(--sp-5);--pad-card-lg: var(--sp-6);--pad-section: var(--sp-10);--gap-grid: var(--sp-4)}.density-compact{--pad-card: var(--sp-4);--pad-card-lg: var(--sp-5);--pad-section: var(--sp-6);--gap-grid: var(--sp-3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scrollbar-gutter:stable}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html,body{margin:0;padding:0;min-height:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fz-base);line-height:var(--lh-base);font-weight:var(--fw-regular);-webkit-tap-highlight-color:transparent;overflow-x:hidden}body.no-scroll{overflow:hidden}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,pre,ul,ol{margin:0}h1{font-size:clamp(28px,3.6vw + 16px,var(--fz-5xl));font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}h2{font-size:clamp(24px,2.4vw + 14px,var(--fz-4xl));font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}h3{font-size:clamp(20px,1.6vw + 14px,var(--fz-3xl));font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}h4{font-size:var(--fz-xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}h5{font-size:var(--fz-lg);font-weight:var(--fw-semi);line-height:var(--lh-snug)}h6{font-size:var(--fz-base);font-weight:var(--fw-semi);line-height:var(--lh-base)}p{line-height:var(--lh-base)}small{font-size:var(--fz-sm)}strong,b{font-weight:var(--fw-semi)}a{color:var(--c-link);text-decoration:none;transition:color var(--t-fast) var(--ease-out)}a:hover{color:var(--c-link-hover)}a:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:var(--r-xs)}button{font-family:inherit;font-size:inherit;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img,svg,video,canvas{max-width:100%;display:block}svg.icon{flex:0 0 auto;fill:none;stroke:currentColor}ul.clean,ol.clean{list-style:none;padding:0;margin:0}::selection{background:var(--c-primary-100);color:var(--c-primary-700)}:focus{outline:none}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:var(--r-xs)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:var(--r-pill);border:3px solid var(--c-bg);transition:background var(--t-fast) var(--ease-out)}::-webkit-scrollbar-thumb:hover{background:var(--c-border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--c-border) transparent}hr{border:0;height:1px;background:var(--c-border);margin:var(--sp-6) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.container{width:100%;max-width:var(--w-container);margin:0 auto;padding:0 var(--sp-6)}.container-wide{max-width:var(--w-container-wide)}.container-narrow{max-width:var(--w-container-narrow)}@media (max-width: 639px){.container{padding:0 var(--sp-4)}}.grid{display:grid;gap:var(--gap-grid)}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 640px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid-auto-200{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-auto-240{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-auto-280{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-auto-320{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.row{display:flex;align-items:center;gap:var(--sp-3)}.row-start{display:flex;align-items:flex-start;gap:var(--sp-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.row-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3)}.row-wrap{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.column{display:flex;flex-direction:column;gap:var(--sp-3)}.column-tight{display:flex;flex-direction:column;gap:var(--sp-2)}.center{display:flex;align-items:center;justify-content:center}.grow{flex:1 1 auto;min-width:0}.shrink{flex:0 0 auto}.stack>*+*{margin-top:var(--sp-4)}.stack-sm>*+*{margin-top:var(--sp-2)}.stack-md>*+*{margin-top:var(--sp-3)}.stack-lg>*+*{margin-top:var(--sp-6)}.stack-xl>*+*{margin-top:var(--sp-8)}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mt-10{margin-top:var(--sp-10)}.mt-12{margin-top:var(--sp-12)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.p-2{padding:var(--sp-2)}.p-3{padding:var(--sp-3)}.p-4{padding:var(--sp-4)}.p-5{padding:var(--sp-5)}.p-6{padding:var(--sp-6)}.p-8{padding:var(--sp-8)}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.text-xs{font-size:var(--fz-xs)}.text-sm{font-size:var(--fz-sm)}.text-md{font-size:var(--fz-md)}.text-base{font-size:var(--fz-base)}.text-lg{font-size:var(--fz-lg)}.text-xl{font-size:var(--fz-xl)}.text-2xl{font-size:var(--fz-2xl)}.text-3xl{font-size:var(--fz-3xl)}.text-4xl{font-size:var(--fz-4xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.fw-regular{font-weight:var(--fw-regular)}.fw-medium{font-weight:var(--fw-medium)}.fw-600{font-weight:var(--fw-semi)}.fw-700{font-weight:var(--fw-bold)}.fw-800{font-weight:var(--fw-black)}.lh-tight{line-height:var(--lh-tight)}.lh-snug{line-height:var(--lh-snug)}.lh-base{line-height:var(--lh-base)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:var(--ls-wide)}.tracking-tight{letter-spacing:var(--ls-tight)}.text-muted{color:var(--c-text-muted)}.text-dim{color:var(--c-text-dim)}.text-primary{color:var(--c-primary)}.text-success{color:var(--c-success)}.text-warning{color:var(--c-warning)}.text-danger{color:var(--c-danger)}.text-info{color:var(--c-info)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.hide{display:none!important}@media (max-width: 639px){.hide-mobile{display:none!important}}@media (min-width: 640px){.hide-desktop{display:none!important}}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-none{pointer-events:none}.pointer-auto{pointer-events:auto}.rounded-sm{border-radius:var(--r-sm)}.rounded-md{border-radius:var(--r-md)}.rounded-lg{border-radius:var(--r-lg)}.rounded-xl{border-radius:var(--r-xl)}.rounded-pill{border-radius:var(--r-pill)}.sh-xs{box-shadow:var(--sh-xs)}.sh-sm{box-shadow:var(--sh-sm)}.sh-md{box-shadow:var(--sh-md)}.sh-lg{box-shadow:var(--sh-lg)}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-xs{width:14px;height:14px}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}.icon-xl{width:32px;height:32px}.icon-2xl{width:48px;height:48px}.btn{--btn-bg: var(--c-primary);--btn-fg: #FFFFFF;--btn-bg-hover: var(--c-primary-600);--btn-border: transparent;--btn-shadow: var(--sh-sm);--btn-shadow-hover: var(--sh-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-5);height:44px;min-width:44px;border-radius:var(--r-md);background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-border);font-family:inherit;font-size:var(--fz-base);font-weight:var(--fw-semi);line-height:1;letter-spacing:var(--ls-snug);text-decoration:none;white-space:nowrap;user-select:none;cursor:pointer;box-shadow:var(--btn-shadow);transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out)}.btn:hover{background:var(--btn-bg-hover);color:var(--btn-fg);box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.btn:active{transform:translateY(1px);box-shadow:var(--sh-xs)}.btn:focus-visible{outline:none;box-shadow:var(--sh-focus)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{--btn-bg: var(--c-surface);--btn-fg: var(--c-text);--btn-bg-hover: var(--c-surface-3);--btn-border: var(--c-border);--btn-shadow: var(--sh-xs);--btn-shadow-hover: var(--sh-sm)}.btn-secondary:hover{border-color:var(--c-border-strong)}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--c-text-muted);--btn-bg-hover: var(--c-surface-3);--btn-border: transparent;--btn-shadow: none;--btn-shadow-hover: none}.btn-ghost:hover{color:var(--c-text)}.btn-outline{--btn-bg: transparent;--btn-fg: var(--c-primary);--btn-bg-hover: var(--c-primary-50);--btn-border: var(--c-primary);--btn-shadow: none;--btn-shadow-hover: none}.btn-outline:hover{color:var(--c-primary-700);border-color:var(--c-primary-600)}.btn-success{--btn-bg: var(--c-success);--btn-bg-hover: var(--c-green-600)}.btn-warning{--btn-bg: var(--c-warning);--btn-fg: #FFFFFF;--btn-bg-hover: #C68A15}.btn-danger{--btn-bg: var(--c-danger);--btn-bg-hover: var(--c-coral-700)}.btn-danger:hover{box-shadow:0 4px 12px #f2867d4d}.btn-accent{--btn-bg: var(--c-accent);--btn-fg: var(--c-ink-900);--btn-bg-hover: var(--c-peach-700)}.btn-info{--btn-bg: var(--c-info);--btn-bg-hover: var(--c-sky-700)}.btn-xs{height:32px;min-width:32px;padding:0 var(--sp-3);font-size:var(--fz-xs);border-radius:var(--r-sm);gap:var(--sp-1)}.btn-sm{height:36px;min-width:36px;padding:0 var(--sp-4);font-size:var(--fz-sm);border-radius:var(--r-sm);gap:var(--sp-2)}.btn-md{height:44px;padding:0 var(--sp-5)}.btn-lg{height:52px;min-width:52px;padding:0 var(--sp-6);font-size:var(--fz-lg);border-radius:var(--r-lg)}.btn-xl{height:60px;padding:0 var(--sp-8);font-size:var(--fz-lg);border-radius:var(--r-lg)}.btn-block{display:flex;width:100%}.btn-icon{padding:0;width:44px}.btn-icon.btn-xs{width:32px}.btn-icon.btn-sm{width:36px}.btn-icon.btn-lg{width:52px}.btn-icon.btn-xl{width:60px}.btn-pill{border-radius:var(--r-pill)}.btn-loading{pointer-events:none;opacity:.85;position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;color:var(--btn-fg)}.btn-group{display:inline-flex;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm)}.btn-group .btn{border-radius:0;box-shadow:none;border-right-width:0}.btn-group .btn:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}.btn-group .btn:last-child{border-radius:0 var(--r-md) var(--r-md) 0;border-right-width:1.5px}.btn-group .btn:hover{transform:none;z-index:1}.field{display:block}.field+.field{margin-top:var(--sp-4)}.field-label{display:block;margin-bottom:var(--sp-2);font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text);letter-spacing:var(--ls-snug)}.field-label .req{color:var(--c-danger);margin-left:2px}.field-hint{margin-top:var(--sp-2);font-size:var(--fz-xs);color:var(--c-text-dim);line-height:var(--lh-snug)}.field-error{display:none;margin-top:var(--sp-2);font-size:var(--fz-xs);font-weight:var(--fw-medium);color:var(--c-danger);line-height:var(--lh-snug)}.field.has-error .field-error{display:block}.input,.select,.textarea{width:100%;min-height:44px;padding:11px var(--sp-4);background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-md);font-family:inherit;font-size:var(--fz-base);font-weight:var(--fw-regular);color:var(--c-text);line-height:var(--lh-snug);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);appearance:none}.input::placeholder,.textarea::placeholder{color:var(--c-text-dim)}.input:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus){border-color:var(--c-border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-primary);background:var(--c-surface);box-shadow:var(--sh-focus)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface-3);color:var(--c-text-dim);cursor:not-allowed}.textarea{min-height:120px;padding:14px var(--sp-4);resize:vertical;line-height:var(--lh-base)}.select{padding-right:42px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%236C7A63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}.input-wrap{position:relative;display:block}.input-wrap .input{padding-right:46px}.input-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--c-text-muted);border-radius:var(--r-sm);cursor:pointer;transition:color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.input-toggle:hover{color:var(--c-text);background:var(--c-surface-3)}.input-toggle:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:var(--c-danger);background:var(--c-danger-bg)}.field.has-error .input:focus,.field.has-error .select:focus,.field.has-error .textarea:focus{box-shadow:var(--sh-focus-danger)}.field.has-error .input-wrap .input{padding-right:46px}.field.has-success .input,.field.has-success .select,.field.has-success .textarea{border-color:var(--c-success)}.check{display:inline-flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer;user-select:none;font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);transition:color var(--t-fast) var(--ease-out)}.check:hover{color:var(--c-text)}.check input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.check-box{flex:0 0 auto;position:relative;width:22px;height:22px;margin-top:0;border:1.5px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface);display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.check-box:after{content:"";width:11px;height:6px;margin-top:-2px;border-left:2.5px solid #FFFFFF;border-bottom:2.5px solid #FFFFFF;transform:rotate(-45deg) scale(0);transition:transform var(--t-fast) var(--ease-back)}.check input:checked+.check-box{background:var(--c-primary);border-color:var(--c-primary)}.check input:checked+.check-box:after{transform:rotate(-45deg) scale(1)}.check input:focus-visible+.check-box{box-shadow:var(--sh-focus)}.check input:disabled+.check-box{background:var(--c-surface-3);border-color:var(--c-border);cursor:not-allowed}.check-radio .check-box{border-radius:50%}.check-radio .check-box:after{content:"";width:10px;height:10px;margin:0;border:0;background:#fff;border-radius:50%;transform:scale(0)}.check-radio input:checked+.check-box:after{transform:scale(1)}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:46px;height:26px;border-radius:var(--r-pill);background:var(--c-border-strong);position:relative;transition:background var(--t-base) var(--ease-out)}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform var(--t-base) var(--ease-back)}.switch input:checked+.switch-track{background:var(--c-primary)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{box-shadow:var(--sh-focus)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;transition:box-shadow var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out)}.card-pad{padding:var(--pad-card)}.card-pad-lg{padding:var(--pad-card-lg)}.card-hover{cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);border-color:var(--c-primary-200, var(--c-border-strong))}.card-head{padding:var(--sp-5) var(--pad-card);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);letter-spacing:var(--ls-snug)}.card-body{padding:var(--pad-card)}.card-foot{padding:var(--sp-4) var(--pad-card);border-top:1px solid var(--c-border);background:var(--c-surface-2);display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap}.card-flush{padding:0}.card-primary{background:var(--g-primary);color:#fff;border-color:transparent}.card-primary .card-title,.card-primary h1,.card-primary h2,.card-primary h3,.card-primary h4{color:#fff}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-semi);line-height:1.6;letter-spacing:var(--ls-snug);background:var(--c-surface-3);color:var(--c-text-muted);white-space:nowrap;border:1px solid transparent}.badge-primary{background:var(--c-primary-100);color:var(--c-primary-700);border-color:var(--c-primary-200, transparent)}.badge-success{background:var(--c-success-bg);color:var(--c-green-700);border-color:var(--c-success-br)}.badge-danger{background:var(--c-danger-bg);color:var(--c-coral-700);border-color:var(--c-danger-br)}.badge-warning{background:var(--c-warning-bg);color:var(--c-peach-700);border-color:var(--c-warning-br)}.badge-info{background:var(--c-info-bg);color:var(--c-sky-700);border-color:var(--c-info-br)}.badge-accent{background:var(--c-lav-100);color:var(--c-lav-700)}.badge-sm{padding:2px 8px;font-size:11px}.badge-lg{padding:6px 14px;font-size:var(--fz-sm)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--c-text);cursor:pointer;user-select:none;white-space:nowrap;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.chip:hover{border-color:var(--c-primary);color:var(--c-primary-700);transform:translateY(-1px)}.chip.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff;box-shadow:0 4px 12px #66b13240}.alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface-2);font-size:var(--fz-sm);line-height:var(--lh-base)}.alert-icon{flex:0 0 auto;color:currentColor;margin-top:1px}.alert-title{font-weight:var(--fw-bold);margin-bottom:2px;color:inherit}.alert-success{background:var(--c-success-bg);border-color:var(--c-success-br);color:var(--c-green-700)}.alert-danger{background:var(--c-danger-bg);border-color:var(--c-danger-br);color:var(--c-coral-700)}.alert-warning{background:var(--c-warning-bg);border-color:var(--c-warning-br);color:var(--c-peach-700)}.alert-info{background:var(--c-info-bg);border-color:var(--c-info-br);color:var(--c-sky-700)}.tabs{display:flex;gap:var(--sp-1);border-bottom:2px solid var(--c-border);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;padding:12px var(--sp-5);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text-muted);border:0;background:transparent;cursor:pointer;white-space:nowrap;margin-bottom:-2px;border-bottom:2px solid transparent;transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.tab:hover{color:var(--c-text)}.tab.is-active{color:var(--c-primary-700);border-bottom-color:var(--c-primary)}.tabs-pills{display:inline-flex;gap:var(--sp-1);padding:4px;background:var(--c-surface-3);border-radius:var(--r-md);border-bottom:0}.tabs-pills .tab{padding:8px 16px;border-radius:var(--r-sm);margin-bottom:0;border-bottom:0}.tabs-pills .tab.is-active{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--sh-xs)}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:var(--backdrop);backdrop-filter:blur(var(--backdrop-blur));-webkit-backdrop-filter:blur(var(--backdrop-blur));display:none;align-items:center;justify-content:center;padding:var(--sp-4);animation:fadeIn var(--t-base) var(--ease-out)}.modal-backdrop.is-open{display:flex}.modal{width:100%;max-width:540px;max-height:calc(100vh - 32px);background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--sh-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--t-slow) var(--ease-out)}.modal-sm{max-width:400px}.modal-md{max-width:540px}.modal-lg{max-width:780px}.modal-xl{max-width:1000px}.modal-head{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.modal-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);letter-spacing:var(--ls-snug)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--c-text-muted);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.modal-close:hover{background:var(--c-surface-3);color:var(--c-text)}.modal-body{padding:var(--sp-6);overflow-y:auto;flex:1}.modal-foot{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--c-border);background:var(--c-surface-2);display:flex;justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap}@media (max-width: 639px){.modal{max-height:calc(100vh - 16px);border-radius:var(--r-lg)}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}}.toast-stack{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);max-width:380px;pointer-events:none}.toast{pointer-events:auto;background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:var(--sp-4);font-size:var(--fz-sm);display:flex;gap:var(--sp-3);align-items:flex-start;cursor:pointer;animation:slideInRight var(--t-slow) var(--ease-out);transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out)}.toast:hover{transform:translate(-2px)}.toast-success{border-left-color:var(--c-success)}.toast-danger{border-left-color:var(--c-danger)}.toast-warning{border-left-color:var(--c-warning)}.toast-info{border-left-color:var(--c-info)}.toast-success .toast-icon{color:var(--c-success)}.toast-danger .toast-icon{color:var(--c-danger)}.toast-warning .toast-icon{color:var(--c-warning)}.toast-info .toast-icon{color:var(--c-info)}@media (max-width: 639px){.toast-stack{top:auto;bottom:var(--sp-4);right:var(--sp-4);left:var(--sp-4);max-width:none}}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fz-sm)}.table th,.table td{padding:14px var(--sp-4);text-align:left;border-bottom:1px solid var(--c-border);vertical-align:middle}.table th{font-size:var(--fz-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);background:var(--c-surface-2);position:sticky;top:0;z-index:var(--z-base);white-space:nowrap}.table tbody tr{transition:background var(--t-fast) var(--ease-out)}.table tbody tr:hover{background:var(--c-surface-2)}.table tbody tr:last-child td{border-bottom:0}.table-striped tbody tr:nth-child(2n){background:var(--c-surface-2)}.table-compact th,.table-compact td{padding:10px var(--sp-3)}.progress{height:10px;border-radius:var(--r-pill);background:var(--c-surface-3);overflow:hidden;position:relative}.progress-bar{height:100%;border-radius:var(--r-pill);background:var(--g-primary);transition:width var(--t-slow) var(--ease-out)}.progress-thin{height:4px}.progress-lg{height:14px}.progress-warning .progress-bar{background:var(--g-warm)}.progress-danger .progress-bar{background:var(--c-danger)}.skeleton{background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface-3) 37%,var(--c-surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}.skeleton-text{height:14px;border-radius:var(--r-xs);margin-bottom:var(--sp-2)}.skeleton-title{height:24px;border-radius:var(--r-sm);margin-bottom:var(--sp-3);width:60%}.skeleton-card{padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--g-primary);color:#fff;font-weight:var(--fw-bold);font-size:var(--fz-sm);letter-spacing:var(--ls-snug);flex:0 0 auto;user-select:none;overflow:hidden;position:relative}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:32px;height:32px;font-size:var(--fz-xs)}.avatar-md{width:40px;height:40px;font-size:var(--fz-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--fz-lg)}.avatar-xl{width:80px;height:80px;font-size:var(--fz-2xl)}.avatar-accent{background:var(--g-warm)}.avatar-cool{background:var(--g-cool)}.pagination{display:flex;gap:var(--sp-1);justify-content:center;align-items:center;flex-wrap:wrap;padding:var(--sp-4) 0}.page-link{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-muted);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-semi);cursor:pointer;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.page-link:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary-700);background:var(--c-primary-50)}.page-link.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff;box-shadow:0 4px 12px #66b13240}.page-link:disabled{opacity:.4;cursor:not-allowed}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-12) var(--sp-5);color:var(--c-text-muted);animation:fadeIn var(--t-base) var(--ease-out)}.empty-icon{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto var(--sp-5);border-radius:50%;background:var(--c-surface-2);color:var(--c-text-dim);flex:0 0 auto}.empty-icon svg{width:48px;height:48px;stroke-width:1.75}.empty-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);margin-bottom:var(--sp-2);letter-spacing:var(--ls-snug)}.empty-description{font-size:var(--fz-sm);color:var(--c-text-muted);max-width:420px;margin:0 auto var(--sp-6);line-height:var(--lh-base)}.empty .btn{margin-top:var(--sp-2)}.illustration{display:block;margin:0 auto;max-width:100%;height:auto;flex:0 0 auto;user-select:none;pointer-events:none}.empty>.illustration{width:200px;height:200px;margin:0 auto var(--sp-6)}@media (max-width: 639px){.empty{padding:var(--sp-8) var(--sp-4)}.empty>.illustration{width:160px;height:160px;margin-bottom:var(--sp-5)}.empty-icon{width:72px;height:72px;margin-bottom:var(--sp-4)}.empty-icon svg{width:40px;height:40px}}.breadcrumbs{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fz-sm);color:var(--c-text-muted);margin-bottom:var(--sp-4)}.breadcrumbs a{color:var(--c-text-muted);transition:color var(--t-fast) var(--ease-out)}.breadcrumbs a:hover{color:var(--c-primary-700)}.breadcrumbs-sep{color:var(--c-text-dim);flex:0 0 auto}.breadcrumbs-current{color:var(--c-text);font-weight:var(--fw-semi)}.divider{height:1px;background:var(--c-border);border:0;margin:var(--sp-5) 0}.divider-text{display:flex;align-items:center;gap:var(--sp-3);color:var(--c-text-dim);font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);font-weight:var(--fw-semi);margin:var(--sp-5) 0}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--c-border)}.code-display{font-family:var(--font-mono);font-size:var(--fz-2xl);font-weight:var(--fw-bold);letter-spacing:.12em;padding:var(--sp-5);background:var(--c-surface-2);border:2px dashed var(--c-border-strong);border-radius:var(--r-md);text-align:center;color:var(--c-text)}.code-inline{font-family:var(--font-mono);font-size:.92em;padding:2px 6px;background:var(--c-surface-3);border-radius:var(--r-xs);color:var(--c-text)}.qr-wrap{display:flex;flex-direction:column;align-items:center;padding:var(--sp-6);background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--r-lg)}.qr-wrap img,.qr-wrap canvas{width:100%;max-width:280px;height:auto;border-radius:var(--r-sm)}.tooltip{position:relative;display:inline-flex}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:6px 12px;background:var(--c-ink-900);color:#fff;font-size:var(--fz-xs);font-weight:var(--fw-medium);border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out);z-index:var(--z-tooltip)}.tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-text-muted)}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}.status-dot.active{color:var(--c-success)}.status-dot.pending{color:var(--c-warning)}.status-dot.blocked{color:var(--c-danger)}.status-dot.inactive{color:var(--c-text-dim)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--pad-section)}.page-title{font-size:clamp(24px,2vw + 14px,var(--fz-3xl));font-weight:var(--fw-black);color:var(--c-text);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.page-subtitle{color:var(--c-text-muted);font-size:var(--fz-sm);margin-top:var(--sp-2);line-height:var(--lh-snug)}.page-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}@media (max-width: 639px){.page-head{flex-direction:column;align-items:stretch}.page-actions .btn{flex:1 1 auto}}.user-menu-wrap{position:relative}.user-menu-dropdown{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-xl);padding:var(--sp-2);z-index:var(--z-dropdown);animation:slideDown var(--t-base) var(--ease-out);max-height:500px;overflow-y:auto}.user-menu-header{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-2)}.user-menu-info{flex:1;min-width:0}.user-menu-info-name{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text)}.user-menu-info-role{font-size:var(--fz-xs);color:var(--c-text-muted);margin-top:2px}.user-menu-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:10px var(--sp-3);border:0;background:transparent;border-radius:var(--r-sm);color:var(--c-text);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-medium);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.user-menu-item:hover{background:var(--c-surface-2);color:var(--c-text)}.user-menu-item svg{flex:0 0 auto;color:var(--c-text-muted)}.user-menu-item:hover svg{color:var(--c-primary)}.user-menu-item-danger{color:var(--c-danger)}.user-menu-item-danger svg{color:var(--c-danger)}.user-menu-item-danger:hover{background:var(--c-danger-bg);color:var(--c-coral-700)}.user-menu-item-danger:hover svg{color:var(--c-coral-700)}.auth-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6, 24px);background:radial-gradient(1200px 500px at 50% -10%,var(--c-primary-50, #eef6ff) 0%,transparent 60%),var(--c-canvas, #f6f8fa)}.auth-main{width:100%;max-width:480px}.auth-card{display:flex;flex-direction:column;gap:var(--sp-4, 16px)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:var(--sp-2, 8px)}.auth-brand-title{font-size:var(--fz-lg, 18px);font-weight:var(--fw-bold, 700);color:var(--c-text);line-height:1.2}.auth-brand-subtitle{font-size:var(--fz-xs, 12px);color:var(--c-text-muted)}.auth-title{font-size:var(--fz-xl, 22px);font-weight:var(--fw-bold, 800);color:var(--c-text);letter-spacing:-.02em;margin:0}.auth-subtitle{margin:0;font-size:var(--fz-sm, 14px);color:var(--c-text-muted);line-height:1.5}.phone-input-wrap{position:relative;display:block}.phone-input-wrap .input{padding-left:80px;letter-spacing:.02em}.phone-prefix{position:absolute;top:50%;left:12px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:7px;pointer-events:none;user-select:none;line-height:1}.phone-prefix-flag{font-size:17px;line-height:1}.phone-prefix-code{font-family:inherit;font-size:var(--fz-base);font-weight:var(--fw-medium);color:var(--c-text);padding-right:10px;border-right:1px solid var(--c-border);transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.phone-input-wrap:focus-within .phone-prefix-code{color:var(--c-primary);border-color:var(--c-primary)}.field.has-error .phone-prefix-code{color:var(--c-danger);border-color:var(--c-danger)}.phone-input-wrap:has(.input:disabled) .phone-prefix-code{color:var(--c-text-dim)}.public-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--c-bg)}.public-header{position:sticky;top:0;z-index:var(--z-sticky);height:var(--h-header);background:var(--navy-900);border-bottom:1px solid var(--navy-800);color:#fff}.public-header-inner{max-width:var(--w-container-wide);height:100%;margin:0 auto;padding:0 var(--sp-6);display:flex;align-items:center;gap:var(--sp-4)}.public-header-left{display:flex;align-items:center;gap:var(--sp-3);flex:0 0 auto}.public-header-center{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.public-header-right{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.public-logo{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fz-lg);font-weight:var(--fw-black);color:#fff;letter-spacing:var(--ls-tight);text-decoration:none;flex:0 0 auto}.public-logo img{width:40px;height:40px;border-radius:var(--r-md);flex:0 0 auto}.public-nav{display:flex;gap:var(--sp-1);justify-content:center;align-items:center}.public-nav a{padding:8px 16px;border-radius:var(--r-md);font-size:var(--fz-sm);font-weight:var(--fw-medium);color:#ffffffb8;text-decoration:none;transition:color var(--t-fast),background var(--t-fast);white-space:nowrap}.public-nav a:hover{color:#fff;background:#ffffff14}.public-nav a.is-active{color:#fff;background:#ffffff24;font-weight:var(--fw-semi)}.public-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);flex:0 0 auto}.public-burger:hover{background:#ffffff24;border-color:#ffffff52}.public-burger:active{transform:scale(.96)}.public-drawer{position:fixed;inset:0;z-index:var(--z-drawer);pointer-events:none;visibility:hidden}.public-drawer.is-open{pointer-events:auto;visibility:visible}.public-drawer-backdrop{position:absolute;inset:0;background:var(--backdrop);backdrop-filter:blur(var(--backdrop-blur));-webkit-backdrop-filter:blur(var(--backdrop-blur));opacity:0;transition:opacity var(--t-base) var(--ease-out)}.public-drawer.is-open .public-drawer-backdrop{opacity:1}.public-drawer-panel{position:absolute;top:0;bottom:0;left:0;width:300px;max-width:86vw;background:var(--navy-900);color:#fff;box-shadow:var(--sh-xl);padding:var(--sp-5) 0 var(--sp-6);overflow-y:auto;transform:translate(-100%);transition:transform var(--t-slow) var(--ease-out);will-change:transform}.public-drawer.is-open .public-drawer-panel{transform:translate(0)}.public-drawer-head{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-5);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:var(--sp-3)}.public-drawer-logo{width:44px;height:44px;border-radius:var(--r-md);flex:0 0 auto}.public-drawer-title{font-size:var(--fz-base);font-weight:var(--fw-black);color:#fff;letter-spacing:var(--ls-tight);line-height:1.2}.public-drawer-subtitle{font-size:var(--fz-xs);color:#fff9;margin-top:2px}.public-drawer-nav{display:flex;flex-direction:column;padding:0 var(--sp-3);gap:2px}.public-drawer-link{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:13px var(--sp-4);border-radius:var(--r-md);font-size:var(--fz-base);font-weight:var(--fw-medium);color:#ffffffd9;text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.public-drawer-link svg{color:#ffffff80;transition:color var(--t-fast),transform var(--t-fast)}.public-drawer-link:hover{background:#ffffff14;color:#fff}.public-drawer-link.is-active{background:#ffffff24;color:#fff;font-weight:var(--fw-semi)}.public-drawer-link.is-active svg{color:var(--yellow-500)}.public-drawer-link:active svg{transform:translate(2px)}.public-main{flex:1}.public-footer{border-top:1px solid var(--c-border);padding:var(--sp-10) 0 var(--sp-6);background:var(--c-surface);color:var(--c-text-muted);font-size:var(--fz-sm)}.public-footer-inner{max-width:var(--w-container-wide);margin:0 auto;padding:0 var(--sp-6)}.public-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--sp-8);padding-bottom:var(--sp-8);border-bottom:1px solid var(--c-border)}.public-footer-brand-col{min-width:0}.public-footer-brand-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.public-footer-logo{width:36px;height:36px;border-radius:var(--r-sm);flex:0 0 auto}.public-footer-brand{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text)}.public-footer-tagline{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);max-width:340px}.public-footer-nav-col{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.public-footer-col-title{font-size:var(--fz-xs);font-weight:var(--fw-bold);color:var(--c-text);text-transform:uppercase;letter-spacing:var(--ls-wide);margin-bottom:var(--sp-2)}.public-footer-nav-col a{font-size:var(--fz-sm);color:var(--c-text-muted);text-decoration:none;transition:color var(--t-fast)}.public-footer-nav-col a:hover{color:var(--c-primary-700)}.public-footer-bottom{display:flex;justify-content:space-between;gap:var(--sp-4);padding-top:var(--sp-5);font-size:var(--fz-xs);color:var(--c-text-dim);flex-wrap:wrap}@media (min-width: 900px){.public-nav{display:flex}}@media (max-width: 899px){.public-burger{display:inline-flex}.public-nav{display:none}}@media (max-width: 899px){.public-header{height:var(--h-header-sm)}.public-header-inner{padding:0 var(--sp-4);gap:var(--sp-2)}.public-header-left{flex:1 1 auto;gap:var(--sp-3);min-width:0}.public-header-center{display:none}.public-header-right{flex:0 0 auto}.public-logo-text{display:none}.public-logo img{width:36px;height:36px}.public-header-register{display:none}.public-header-login{display:inline-flex!important;align-items:center;gap:6px;height:38px;padding:0 var(--sp-3);font-size:var(--fz-sm);border-radius:var(--r-md)}.public-header-cta:not(.public-header-register){height:38px;padding:0 var(--sp-4);font-size:var(--fz-sm);border-radius:var(--r-md)}}@media (max-width: 640px){.public-footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-6)}.public-footer-brand-col{grid-column:1 / -1}.public-footer-tagline{max-width:none}.public-footer-bottom{flex-direction:column;gap:var(--sp-2);text-align:left}}@media (max-width: 400px){.public-header-login{height:36px;padding:0 var(--sp-2);font-size:var(--fz-xs)}.public-header-login span{display:inline}.public-header-cta:not(.public-header-register){width:38px;padding:0;justify-content:center}.public-header-cta:not(.public-header-register):has(svg) span{display:none}}.app-shell{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--c-bg)}.app-header{position:sticky;top:0;z-index:var(--z-sticky);grid-column:1 / -1;height:var(--h-header);background:var(--navy-900);border-bottom:1px solid var(--navy-800);color:#fff}.app-header-inner{height:100%;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-3)}.app-header-center{flex:1;min-width:0}.app-header-right{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.header-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:transparent;color:#ffffffbf;border-radius:var(--r-md);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.header-icon-btn:hover{color:#fff;background:#ffffff1a}.header-icon-btn .badge-count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--red-500);color:#fff;font-size:10px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--navy-900)}.app-sidebar{display:none;background:var(--navy-900);color:#fff;border-right:1px solid var(--navy-800);padding:var(--sp-5) 0;overflow-y:auto;position:sticky;top:var(--h-header);height:calc(100vh - var(--h-header))}.app-sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 var(--sp-3)}.app-sidebar-nav a{display:flex;align-items:center;gap:var(--sp-3);padding:11px var(--sp-4);border-radius:var(--r-md);color:#ffffffb8;font-size:var(--fz-sm);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.app-sidebar-nav a:hover{background:#ffffff14;color:#fff}.app-sidebar-nav a.is-active{background:#ffffff29;color:#fff;font-weight:var(--fw-semi)}.app-sidebar-nav a.is-active svg{color:var(--yellow-500)}.app-sidebar-nav a svg{color:currentColor;flex:0 0 auto}.app-main{padding:var(--pad-section) var(--sp-6);max-width:var(--w-container-wide);width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden;background:var(--c-bg)}.app-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--navy-900);border-top:1px solid var(--navy-800);display:flex;align-items:stretch;box-shadow:0 -8px 24px #0d27422e}.app-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#ffffff9e;font-size:11px;font-weight:var(--fw-medium);text-decoration:none;padding:6px 4px;transition:color var(--t-fast),background var(--t-fast);position:relative;min-width:0}.app-bottom-nav a:hover,.app-bottom-nav a.is-active{color:#fff}.app-bottom-nav a.is-active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;background:var(--yellow-500);border-radius:0 0 3px 3px}.app-bottom-nav a svg{flex:0 0 auto;color:currentColor}.app-bottom-nav a.is-active svg{color:var(--yellow-500)}.app-bottom-nav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (min-width: 900px){.app-shell{grid-template-columns:var(--w-sidebar) 1fr}.app-sidebar{display:block}.app-main{padding:var(--sp-8);max-width:none;margin:0}.app-bottom-nav{display:none}}@media (min-width: 1200px){.app-main{padding:var(--sp-10)}}@media (max-width: 899px){.app-header{height:56px;background:var(--navy-900);border-bottom:1px solid var(--navy-800);box-shadow:0 2px 8px #0d274226}.app-header-inner{padding:0 var(--sp-4);gap:var(--sp-3)}.app-header .public-logo{gap:var(--sp-2)}.app-header .public-logo img{width:34px;height:34px;border-radius:var(--r-sm)}.app-header .public-logo span{display:inline;font-size:var(--fz-base);letter-spacing:var(--ls-tight);color:#fff;font-weight:var(--fw-black)}.app-header-center{display:block;flex:1;min-width:0}.app-header-right{gap:4px}.app-header .header-icon-btn{width:40px;height:40px;border-radius:var(--r-md);color:#ffffffc7}.app-header .header-icon-btn:hover{color:#fff;background:#ffffff1f}.app-header .header-icon-btn .badge-count{top:2px;right:2px;border-width:2px;border-color:var(--navy-900)}.app-header .user-menu{padding:2px;gap:0}.app-header .user-menu>svg{display:none}.app-header .user-menu .avatar-sm{width:36px;height:36px;font-size:var(--fz-sm);font-weight:var(--fw-bold)}.app-main{padding:var(--sp-6) var(--sp-4) calc(112px + env(safe-area-inset-bottom,0px));min-height:calc(100vh - 56px)}.app-main .page-head{margin-bottom:var(--sp-5)}.app-main .page-title{font-size:var(--fz-xl)}.app-main .page-subtitle{font-size:var(--fz-sm);margin-top:var(--sp-1)}.app-sidebar{display:none}.app-main>*:last-child{margin-bottom:24px}.app-main .stack-lg>*:last-child,.app-main .stack>*:last-child,.app-main .dashboard-stack>*:last-child{margin-bottom:24px}}.admin-shell{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--c-bg)}.admin-header{position:sticky;top:0;z-index:var(--z-sticky);grid-column:1 / -1;height:var(--h-header-sm);background:var(--navy-900);border-bottom:1px solid var(--navy-800);color:#fff;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5)}.admin-header .header-icon-btn{color:#ffffffc7}.admin-header .header-icon-btn:hover{color:#fff;background:#ffffff1f}.admin-header-title{font-size:var(--fz-base);font-weight:var(--fw-bold);color:#fff;letter-spacing:var(--ls-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sidebar{display:none;background:var(--navy-900);color:#fff;border-right:1px solid var(--navy-800);padding:var(--sp-4) 0;overflow-y:auto;position:sticky;top:var(--h-header-sm);height:calc(100vh - var(--h-header-sm))}.admin-sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-4);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:var(--sp-3);font-size:var(--fz-base);font-weight:var(--fw-black);color:#fff;letter-spacing:var(--ls-tight)}.admin-sidebar-brand img{width:34px;height:34px;border-radius:var(--r-sm)}.admin-sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:0 var(--sp-3)}.admin-sidebar-nav a{display:flex;align-items:center;gap:var(--sp-3);padding:9px 12px;border-radius:var(--r-sm);color:#ffffffb8;font-size:var(--fz-sm);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.admin-sidebar-nav a:hover{background:#ffffff14;color:#fff}.admin-sidebar-nav a.is-active{background:#ffffff29;color:#fff;font-weight:var(--fw-semi)}.admin-sidebar-nav a.is-active svg{color:var(--yellow-500)}.admin-sidebar-nav a svg{flex:0 0 auto}.admin-main{padding:var(--sp-5);padding-bottom:var(--sp-10);background:var(--c-bg)}.admin-drawer{position:fixed;inset:0;z-index:var(--z-drawer);pointer-events:none;visibility:hidden}.admin-drawer.is-open{pointer-events:auto;visibility:visible}.admin-drawer-backdrop{position:absolute;inset:0;background:var(--backdrop);backdrop-filter:blur(var(--backdrop-blur));-webkit-backdrop-filter:blur(var(--backdrop-blur));opacity:0;transition:opacity var(--t-base) var(--ease-out)}.admin-drawer.is-open .admin-drawer-backdrop{opacity:1}.admin-drawer-panel{position:absolute;top:0;bottom:0;left:0;width:280px;max-width:85vw;background:var(--navy-900);color:#fff;box-shadow:var(--sh-xl);padding:var(--sp-4) 0;overflow-y:auto;transform:translate(-100%);transition:transform var(--t-slow) var(--ease-out);will-change:transform}.admin-drawer.is-open .admin-drawer-panel{transform:translate(0)}@media (min-width: 1000px){.admin-shell{grid-template-columns:var(--w-sidebar-sm) 1fr}.admin-sidebar{display:block}.admin-header-menu{display:none}.admin-drawer{display:none!important}.admin-main{padding:var(--sp-6)}}.public-shell{--pad-card: var(--sp-6);--pad-card-lg: var(--sp-8);--pad-section: var(--sp-14);--gap-grid: var(--sp-6)}.app-shell{--pad-card: var(--sp-5);--pad-card-lg: var(--sp-6);--pad-section: var(--sp-8);--gap-grid: var(--sp-5)}.admin-shell{--pad-card: var(--sp-4);--pad-card-lg: var(--sp-5);--pad-section: var(--sp-5);--gap-grid: var(--sp-4)}@media (max-width: 639px){.public-shell{--pad-section: var(--sp-8);--gap-grid: var(--sp-4)}.app-shell{--pad-card: var(--sp-4);--pad-card-lg: var(--sp-5);--pad-section: var(--sp-6);--gap-grid: var(--sp-4)}}.user-menu{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px 4px 4px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.user-menu:hover{background:#ffffff1f;border-color:#ffffff52}.user-menu-name{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:#fff;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 899px){.user-menu-name{display:none}.user-menu{padding:4px;border:0;background:transparent}.user-menu:hover{background:#ffffff1f}}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.child-switcher{position:relative;display:inline-block;max-width:100%}.child-switcher-toggle{max-width:100%;display:inline-flex;min-width:0}.child-switcher-toggle-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.child-switcher-badge{flex:0 0 auto}.child-switcher-dropdown{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:var(--z-dropdown);animation:slideDown var(--t-base) var(--ease-out);overflow-y:auto;-webkit-overflow-scrolling:touch}.child-switcher-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:0;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:left;transition:background var(--t-fast);color:var(--c-text);font-family:inherit;font-size:inherit}@media (max-width: 639px){.child-switcher{width:100%;display:block}.child-switcher-toggle{width:100%;justify-content:center}.child-switcher-toggle-label{max-width:none;flex:1 1 auto;text-align:center}}.partner-shell{--pad-card: var(--sp-4);--pad-card-lg: var(--sp-5);--pad-section: var(--sp-6);--gap-grid: var(--sp-4)}.app-bottom-spacer{display:block;width:100%;height:0}@media (max-width: 899px){.app-bottom-spacer{height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + var(--sp-6))}}@media (min-width: 900px){.app-bottom-spacer{display:none}}.app-header-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:#ffffffd9;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);flex:0 0 auto}.app-header-burger:hover{background:#ffffff1f;color:#fff}.app-header-burger:active{transform:scale(.96)}@media (max-width: 899px){.app-header-burger{display:inline-flex}}.app-drawer{position:fixed;inset:0;z-index:var(--z-drawer);pointer-events:none;visibility:hidden}.app-drawer.is-open{pointer-events:auto;visibility:visible}.app-drawer-backdrop{position:absolute;inset:0;background:var(--backdrop);backdrop-filter:blur(var(--backdrop-blur));-webkit-backdrop-filter:blur(var(--backdrop-blur));opacity:0;transition:opacity var(--t-base) var(--ease-out)}.app-drawer.is-open .app-drawer-backdrop{opacity:1}.app-drawer-panel{position:absolute;top:0;bottom:0;left:0;width:300px;max-width:86vw;background:var(--navy-900);color:#fff;box-shadow:var(--sh-xl);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--t-slow) var(--ease-out);will-change:transform}.app-drawer.is-open .app-drawer-panel{transform:translate(0)}.app-drawer-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid rgba(255,255,255,.12)}.app-drawer-logo{width:40px;height:40px;border-radius:var(--r-md);flex:0 0 auto}.app-drawer-head-text{flex:1 1 auto;min-width:0}.app-drawer-title{font-size:var(--fz-base);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);line-height:1.2;color:#fff}.app-drawer-subtitle{font-size:var(--fz-xs);color:#fff9;margin-top:2px}.app-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:#ffffffb8;border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);flex:0 0 auto}.app-drawer-close:hover{background:#ffffff1f;color:#fff}.app-drawer-nav{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);overflow-y:auto;flex:1 1 auto}.app-drawer-nav a{display:flex;align-items:center;gap:var(--sp-3);padding:12px var(--sp-4);border-radius:var(--r-md);font-size:var(--fz-sm);font-weight:var(--fw-medium);color:#ffffffc7;text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.app-drawer-nav a svg{color:currentColor;flex:0 0 auto}.app-drawer-nav a:hover{background:#ffffff14;color:#fff}.app-drawer-nav a.is-active{background:#ffffff29;color:#fff;font-weight:var(--fw-semi)}.app-drawer-nav a.is-active svg{color:var(--yellow-500)}.app-drawer-foot{padding:var(--sp-4) var(--sp-5) var(--sp-6);border-top:1px solid rgba(255,255,255,.12)}.app-drawer-foot .btn{width:100%;background:#ffffff1a;color:#fff;border-color:#fff3}.app-drawer-foot .btn:hover{background:#ffffff2e;color:#fff}.app-header-balance{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:#f7bf3f26;border:1px solid rgba(247,191,63,.32);color:var(--yellow-500);font-size:var(--fz-sm);font-weight:var(--fw-bold);text-decoration:none;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast);flex:0 0 auto}.app-header-balance:hover{background:#f7bf3f38;border-color:#f7bf3f80;color:var(--yellow-500)}.app-header-balance svg{color:var(--yellow-500);flex:0 0 auto}.app-header-balance-value{font-family:var(--font-mono);font-size:var(--fz-sm);font-weight:var(--fw-bold);color:#fff;letter-spacing:-.01em}@media (min-width: 640px) and (max-width: 899px){.app-header-burger{display:inline-flex}.app-header{height:60px}.app-header-inner{padding:0 var(--sp-5);gap:var(--sp-3)}.app-header .public-logo span{display:inline;font-size:var(--fz-base)}.app-header-balance{padding:7px 14px;font-size:var(--fz-sm)}.app-drawer-panel{width:340px;max-width:78vw}.app-main{padding:var(--sp-8) var(--sp-6) calc(128px + env(safe-area-inset-bottom,0px))}.app-bottom-nav a{font-size:12px;padding:8px 6px}.app-bottom-nav a svg{width:24px;height:24px}.subject-grid,.stat-grid-admin,.offer-grid,.achievements-grid,.achievements-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 359px){.app-header-inner{padding:0 var(--sp-3);gap:var(--sp-2)}.app-header .public-logo span{display:none}.app-header-balance{padding:5px 10px}.app-header-balance-value{font-size:12px}.app-drawer-panel{width:88vw}}@media (max-width: 639px){.container,.app-main,.admin-main{padding-left:var(--sp-4);padding-right:var(--sp-4)}h1{font-size:var(--fz-3xl)}h2{font-size:var(--fz-2xl)}h3,.page-title{font-size:var(--fz-xl)}.btn-lg{height:48px;font-size:var(--fz-base)}.modal{max-height:calc(100vh - 16px);border-radius:var(--r-lg)}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}.public-nav{display:none}.public-header-inner{gap:var(--sp-3)}.grid-auto-260,.grid-auto-320{grid-template-columns:1fr}}@media (min-width: 640px){.public-nav{display:flex}.app-bottom-nav{display:none}.app-main,.admin-main{padding-bottom:var(--sp-8)}}@media (min-width: 900px){.admin-shell{grid-template-columns:240px 1fr}.admin-sidebar{display:block}.admin-header-menu{display:none}.admin-drawer{display:none!important}}@media (min-width: 1200px){.container,.app-header-inner,.app-main,.admin-main,.public-header-inner{max-width:var(--container)}.admin-main{padding:var(--sp-6)}}@media (hover: none) and (pointer: coarse){.btn{min-height:46px}.btn-sm{min-height:38px}.input,.select,.textarea{font-size:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.public-header,.app-header,.app-bottom-nav,.admin-sidebar,.admin-header,.toast-stack,.modal-backdrop{display:none!important}body{background:#fff}}.public-main{max-width:1120px;margin:0 auto;width:100%;padding:0 var(--sp-6);box-sizing:border-box}.public-footer-inner{max-width:1120px}.hero{position:relative;padding:var(--sp-16) 0 var(--sp-14);background:var(--g-hero);overflow:hidden}.hero:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(36,126,229,.15),transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;bottom:-80px;left:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(247,191,63,.18),transparent 70%);pointer-events:none}.hero-content{position:relative;max-width:1120px;margin:0 auto;padding:0 var(--sp-6);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;align-items:center;z-index:1}@media (min-width: 901px){.hero-illustration{margin-left:calc(-1 * var(--sp-8))}}.hero-text{text-align:left;min-width:0;position:relative;z-index:2;padding-right:var(--sp-4)}.hero-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:7px 16px;background:#ffffffbf;border:1px solid var(--c-primary-100);border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-primary-700);margin-bottom:var(--sp-5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:var(--ls-snug);text-transform:uppercase}.hero-title{font-size:clamp(30px,3vw + 14px,52px);font-weight:var(--fw-black);line-height:1.08;letter-spacing:-.03em;color:var(--c-ink-900);margin-bottom:var(--sp-5)}.hero-title-line{display:block;white-space:nowrap}.hero-title-line-accent{white-space:nowrap}.hero-title-accent{color:var(--c-primary);display:inline;white-space:nowrap}.hero-subtitle{font-size:clamp(15px,1vw + 13px,18px);line-height:1.55;color:var(--c-text-muted);max-width:500px;margin-bottom:var(--sp-7)}.hero-cta{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-6)}.hero-meta{display:inline-flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fz-sm);color:var(--c-text-muted);padding:var(--sp-2) var(--sp-4);background:#ffffff8c;border-radius:var(--r-pill);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-meta strong{color:var(--c-text);font-weight:var(--fw-bold)}.hero-meta-dot{width:4px;height:4px;border-radius:50%;background:var(--c-text-dim)}.hero-illustration{display:flex;align-items:center;justify-content:center;min-width:0;position:relative;z-index:1}.hero-image-wrap{position:relative;width:100%;max-width:560px;aspect-ratio:3 / 2;border-radius:var(--r-2xl);overflow:hidden;background:#dff2fa;box-shadow:0 32px 80px -20px #102f4f47,0 12px 32px -8px #102f4f29;outline:1px solid rgba(36,126,229,.08);outline-offset:-1px;animation:float 6s var(--ease-soft) infinite}.hero-image-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 40px 12px #dff2fa}.hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none}@media (max-width: 1100px){.hero-title{font-size:clamp(28px,2.6vw + 12px,44px)}}@media (max-width: 900px){.hero{padding:var(--sp-10) 0 var(--sp-8)}.hero-content{grid-template-columns:1fr;gap:var(--sp-8);padding:0 var(--sp-5);text-align:center}.hero-text{text-align:center}.hero-illustration{order:-1;max-width:480px;margin:0 auto;width:100%}.hero-image-wrap{max-width:420px;margin:0 auto;border-radius:var(--r-xl)}.hero-subtitle{max-width:none;margin-left:auto;margin-right:auto}.hero-cta,.hero-meta{justify-content:center}}@media (max-width: 639px){.hero{padding:var(--sp-8) 0 var(--sp-6)}.hero-content{padding:0 var(--sp-4);gap:var(--sp-6)}.hero-title{font-size:clamp(22px,6vw + 4px,30px);line-height:1.15;letter-spacing:-.02em}.hero-badge{font-size:11px;padding:6px 12px;margin-bottom:var(--sp-4)}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%}.hero-image-wrap{max-width:320px;border-radius:var(--r-lg)}.hero-meta{font-size:var(--fz-xs);padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}}@media (max-width: 380px){.hero-title{font-size:20px}}.section{padding:var(--pad-section) 0}.section-alt{background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.section-header{text-align:center;max-width:640px;margin:0 auto var(--sp-12)}.section-eyebrow{display:inline-block;font-size:var(--fz-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-primary-700);margin-bottom:var(--sp-3)}.section-title{font-size:clamp(26px,2.2vw + 14px,40px);font-weight:var(--fw-black);line-height:1.12;letter-spacing:-.025em;color:var(--c-ink-900);margin-bottom:var(--sp-4)}.section-subtitle{font-size:clamp(15px,.8vw + 13px,18px);color:var(--c-text-muted);line-height:1.55;max-width:560px;margin-left:auto;margin-right:auto}@media (max-width: 639px){.section-header{margin-bottom:var(--sp-8)}}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5)}.feature-card{padding:var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out)}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--c-primary-100)}.feature-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-5)}.feature-icon-accent{background:var(--c-warning-bg);color:var(--c-peach-700)}.feature-icon-info{background:var(--c-info-bg);color:var(--c-sky-700)}.feature-icon-lav{background:var(--c-lav-100);color:var(--c-lav-700)}.feature-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);line-height:1.3;color:var(--c-text);margin-bottom:var(--sp-2)}.feature-text{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.55}@media (max-width: 900px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.feature-grid{grid-template-columns:1fr;gap:var(--sp-4)}.feature-card{padding:var(--sp-5)}.feature-icon{width:44px;height:44px;margin-bottom:var(--sp-4)}}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);counter-reset:step}.step-card{position:relative;padding:var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.step-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--g-primary);color:#fff;font-weight:var(--fw-black);font-size:var(--fz-lg);margin-bottom:var(--sp-4);box-shadow:0 6px 16px #66b13247}.step-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);margin-bottom:var(--sp-2)}.step-text{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.55}@media (max-width: 900px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.steps-grid{grid-template-columns:1fr;gap:var(--sp-4)}.step-card{padding:var(--sp-5)}}.cta-block{position:relative;max-width:880px;margin:0 auto;padding:var(--sp-12) var(--sp-10);background:var(--g-primary);border-radius:var(--r-2xl);text-align:center;color:#fff;overflow:hidden}.cta-block:before{content:"";position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:#ffffff14;pointer-events:none}.cta-block:after{content:"";position:absolute;bottom:-80px;left:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff0f;pointer-events:none}.cta-title{position:relative;font-size:clamp(24px,2.4vw + 14px,36px);font-weight:var(--fw-black);line-height:1.15;letter-spacing:var(--ls-tight);color:#fff;margin-bottom:var(--sp-4)}.cta-subtitle{position:relative;font-size:var(--fz-lg);color:#ffffffeb;max-width:520px;margin:0 auto var(--sp-8);line-height:1.5}.cta-actions{position:relative;display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap}.btn-white{--btn-bg: #FFFFFF;--btn-fg: var(--c-primary-700);--btn-bg-hover: var(--c-surface-2);--btn-shadow: 0 4px 12px rgba(0, 0, 0, .1);--btn-shadow-hover: 0 8px 20px rgba(0, 0, 0, .15)}.btn-ghost-white{--btn-bg: transparent;--btn-fg: #FFFFFF;--btn-bg-hover: rgba(255, 255, 255, .12);--btn-border: rgba(255, 255, 255, .4);--btn-shadow: none}.btn-ghost-white:hover{border-color:#ffffffb3}@media (max-width: 639px){.cta-block{padding:var(--sp-8) var(--sp-5);border-radius:var(--r-xl)}.cta-actions{flex-direction:column;align-items:stretch}.cta-actions .btn{width:100%}}.tariff-card{max-width:560px;margin:0 auto;padding:var(--sp-8);background:var(--c-surface);border:2px solid var(--c-primary);border-radius:var(--r-xl);box-shadow:0 20px 60px #66b13226;position:relative}.tariff-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.tariff-head h3{font-size:var(--fz-xl);font-weight:var(--fw-bold)}.tariff-price{display:flex;align-items:baseline;gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-3)}.tariff-amount{font-size:56px;font-weight:var(--fw-black);letter-spacing:-.03em;color:var(--c-ink-900);line-height:1}.tariff-period{font-size:var(--fz-lg);color:var(--c-text-muted);font-weight:var(--fw-semi)}.tariff-note{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.55;margin-bottom:var(--sp-5)}.tariff-list{list-style:none;padding:0;margin:var(--sp-6) 0;display:flex;flex-direction:column;gap:var(--sp-3)}.tariff-list-item{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fz-sm);color:var(--c-text);line-height:1.5}.tariff-list-item svg{flex:0 0 auto;color:var(--c-success);margin-top:2px}@media (max-width: 639px){.tariff-card{padding:var(--sp-6)}.tariff-amount{font-size:44px}}.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-3)}.faq-item{padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease-out)}.faq-item[open]{border-color:var(--c-primary)}.faq-item summary{cursor:pointer;font-weight:var(--fw-semi);font-size:var(--fz-base);color:var(--c-text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);line-height:1.4}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";width:10px;height:10px;border-right:2px solid var(--c-text-muted);border-bottom:2px solid var(--c-text-muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--t-base) var(--ease-out);flex:0 0 auto}.faq-item[open] summary:after{transform:rotate(-135deg) translate(-2px,-2px)}.faq-answer{padding-top:var(--sp-4);font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.6;animation:slideDown var(--t-base) var(--ease-out)}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);max-width:900px;margin:0 auto}.contact-card{padding:var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.contact-card:hover{border-color:var(--c-primary-100);box-shadow:var(--sh-md);transform:translateY(-2px)}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--c-primary-50);color:var(--c-primary-700);margin-bottom:var(--sp-4)}.contact-label{font-size:var(--fz-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:var(--ls-wide);font-weight:var(--fw-semi);margin-bottom:var(--sp-1)}.contact-value{font-size:var(--fz-base);font-weight:var(--fw-semi);color:var(--c-text);line-height:1.4}.contact-value a{color:var(--c-text)}.contact-value a:hover{color:var(--c-primary-700)}@media (max-width: 900px){.contact-grid{grid-template-columns:1fr;max-width:480px}}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);max-width:900px;margin:0 auto}.stat-tile{padding:var(--sp-6);text-align:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.stat-tile-value{font-size:36px;font-weight:var(--fw-black);color:var(--c-primary-700);letter-spacing:-.02em;line-height:1.1}.stat-tile-label{font-size:var(--fz-sm);color:var(--c-text-muted);margin-top:var(--sp-2)}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr;gap:var(--sp-3)}.stat-tile{padding:var(--sp-5)}}.illustration{display:block;max-width:100%;height:auto}.illustration-hero{max-width:480px;margin:0 auto}.illustration-empty{width:160px;height:160px;margin:0 auto var(--sp-5)}.content-narrow{max-width:720px;margin:0 auto}.content-narrow p{font-size:var(--fz-base);line-height:1.7;color:var(--c-text-muted)}.content-narrow p+p{margin-top:var(--sp-4)}.content-lead{font-size:clamp(16px,.8vw + 13px,19px);line-height:1.6;color:var(--c-text);font-weight:var(--fw-medium)}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);align-items:stretch;margin-top:var(--sp-6)}.plan-card{position:relative;display:flex;flex-direction:column;padding:var(--sp-8) var(--sp-6) var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--sh-sm);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out);overflow:hidden;min-width:0}.plan-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--c-border-strong)}.plan-card.is-featured,.plan-card[style*="border: 2px solid var(--c-primary)"]{border:2px solid var(--c-primary);box-shadow:0 20px 60px #247ee52e,var(--sh-md)}.plan-card.is-featured:hover{box-shadow:0 28px 80px #247ee53d,var(--sh-lg)}.plan-badge{position:absolute;top:var(--sp-4);right:var(--sp-4);display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--r-pill);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--c-warning-bg);color:var(--c-peach-700);border:1px solid var(--c-warning-br)}.plan-badge.is-featured{background:var(--c-primary);color:#fff;border-color:var(--c-primary-600);box-shadow:0 6px 16px #247ee547}.plan-name{font-size:var(--fz-xl);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight);line-height:1.15;margin:0 0 var(--sp-4);padding-right:100px}.plan-price{display:flex;align-items:baseline;gap:4px;margin:0;line-height:1}.plan-amount{font-size:clamp(36px,4vw + 12px,52px);font-weight:var(--fw-black);letter-spacing:-.03em;color:var(--c-ink-900);line-height:1}.plan-currency{font-size:var(--fz-xl);font-weight:var(--fw-black);color:var(--c-ink-900);letter-spacing:-.02em}.plan-per-month{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text-muted);flex-wrap:wrap}.plan-discount{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);background:var(--c-success-bg);color:var(--c-green-700);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.02em;white-space:nowrap}.plan-period{margin-top:var(--sp-2);font-size:var(--fz-xs);color:var(--c-text-dim)}.plan-card .divider{margin:var(--sp-5) 0}.plan-card .tariff-list{margin:0 0 var(--sp-6);flex:1 1 auto}.plan-card .tariff-list-item{font-size:var(--fz-sm);line-height:1.5}.plan-card .tariff-list-item svg{color:var(--c-success);flex:0 0 auto;margin-top:2px}.plan-card>.btn{margin-top:auto}@media (max-width: 900px){.plans-grid{grid-template-columns:1fr;gap:var(--sp-5);max-width:520px;margin-left:auto;margin-right:auto}.plan-card{padding:var(--sp-6) var(--sp-5) var(--sp-5);border-radius:var(--r-lg)}.plan-name{font-size:var(--fz-lg);padding-right:90px}.plan-amount{font-size:42px}}@media (max-width: 639px){.plans-grid{grid-template-columns:1fr;gap:var(--sp-4);margin-top:var(--sp-4)}.plan-card{padding:var(--sp-6) var(--sp-4) var(--sp-4);border-radius:var(--r-lg)}.plan-badge{top:var(--sp-3);right:var(--sp-3);font-size:10px;padding:4px 10px}.plan-name{font-size:var(--fz-lg);margin-bottom:var(--sp-3);padding-right:80px}.plan-amount{font-size:36px}.plan-currency{font-size:var(--fz-lg)}.plan-per-month{font-size:var(--fz-sm);margin-top:var(--sp-2)}.plan-card .divider{margin:var(--sp-4) 0}.plan-card .tariff-list{margin-bottom:var(--sp-5);gap:var(--sp-2)}.plan-card .tariff-list-item{font-size:var(--fz-xs)}.plan-card>.btn{width:100%;height:46px;font-size:var(--fz-base)}}@media (max-width: 380px){.plan-card{padding:var(--sp-5) var(--sp-3) var(--sp-3)}.plan-name{font-size:var(--fz-base);padding-right:70px}.plan-amount{font-size:32px}.plan-badge{font-size:9px;padding:3px 8px}}@media (max-width: 639px){.tariff-charity-banner{padding:var(--sp-6) var(--sp-4)!important;border-radius:var(--r-lg)!important}.tariff-charity-banner h3{font-size:var(--fz-xl)!important}.tariff-charity-banner p{font-size:var(--fz-sm)!important}}.balance-card{position:relative;padding:var(--sp-6);background:var(--g-primary);color:#fff;border-radius:var(--r-xl);box-shadow:0 12px 32px #247ee547;overflow:hidden}.balance-card:before,.balance-card:after{content:"";position:absolute;border-radius:50%;background:#ffffff1a;pointer-events:none}.balance-card:before{top:-60px;right:-60px;width:200px;height:200px}.balance-card:after{bottom:-40px;left:-40px;width:140px;height:140px;background:#ffffff0f}.balance-label{position:relative;font-size:var(--fz-sm);font-weight:var(--fw-semi);opacity:.85;letter-spacing:var(--ls-wide);text-transform:uppercase}.balance-value{position:relative;font-size:clamp(40px,5vw + 12px,60px);font-weight:var(--fw-black);letter-spacing:-.03em;line-height:1.05;margin-top:var(--sp-2)}.balance-value-small{font-size:var(--fz-3xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);margin-top:4px}.balance-icon{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--r-lg);background:#ffffff2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.balance-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.18);flex-wrap:wrap}.balance-child-name{font-size:var(--fz-base);font-weight:var(--fw-semi)}.balance-child-meta{font-size:var(--fz-xs);opacity:.75;margin-top:2px}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap-grid)}.subject-card{display:block;padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);color:inherit;text-decoration:none;transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out)}.subject-card:hover{transform:translateY(-3px);border-color:var(--c-primary);box-shadow:var(--sh-lg);color:inherit}.subject-card-icon{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:var(--sp-4);box-shadow:0 6px 16px #102f4f1f}.subject-card-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);line-height:var(--lh-snug);margin-bottom:var(--sp-1)}.subject-card-description{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);margin-bottom:var(--sp-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.subject-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.subject-card-count{font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-primary-700);background:var(--c-primary-50);padding:4px 10px;border-radius:var(--r-pill)}.subject-card-arrow{color:var(--c-text-dim);transition:transform var(--t-fast) var(--ease-out)}.subject-card:hover .subject-card-arrow{transform:translate(4px);color:var(--c-primary)}.subject-card{display:flex;flex-direction:column}.subject-card .subject-card-icon{margin-left:auto;margin-right:auto}.subject-card .subject-card-description{margin-bottom:0}.subject-card-bottom{margin-top:auto;padding-top:var(--sp-3);display:flex;flex-direction:column;gap:10px}.test-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.test-card:hover{border-color:var(--c-primary);box-shadow:var(--sh-md)}.test-card-body{flex:1;min-width:0}.test-card-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);line-height:var(--lh-snug);margin-bottom:var(--sp-2)}.test-card-description{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);margin-bottom:var(--sp-3)}.test-card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.test-card-meta-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--c-surface-3);border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-text-muted)}.test-card-meta-item.is-success{background:var(--c-success-bg);color:var(--c-green-700)}.test-card.is-passed{background:var(--c-success-bg);border-color:var(--c-success);border-left:4px solid var(--c-success)}.test-card.is-flagged{background:var(--c-warning-bg);border-color:var(--c-warning);border-left:4px solid var(--c-warning)}.test-card-title-row{display:flex;align-items:flex-start;gap:8px}.test-card-passed-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;color:var(--c-success)}.test-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0;min-width:160px}.test-card-actions .btn{justify-content:center}.test-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--c-bg)}.test-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--navy-900);border-bottom:1px solid var(--navy-800);height:var(--h-header);color:#fff}.test-header-inner{max-width:900px;height:100%;margin:0 auto;padding:0 var(--sp-6);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.test-header .public-logo{color:#fff}.test-main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:var(--sp-8) var(--sp-6)}.test-progress{margin-bottom:var(--sp-8)}.question-block{padding:var(--sp-8);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--sh-md)}.question-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.question-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--c-primary-50);color:var(--c-primary-700);font-weight:var(--fw-black);font-size:var(--fz-base);flex:0 0 auto}.question-counter{font-size:var(--fz-sm);color:var(--c-text-muted);font-weight:var(--fw-medium)}.question-text{font-size:clamp(18px,1.4vw + 14px,24px);font-weight:var(--fw-semi);line-height:1.4;color:var(--c-text);letter-spacing:var(--ls-snug);margin-bottom:var(--sp-6)}.question-image{max-width:100%;height:auto;border-radius:var(--r-md);margin:var(--sp-5) 0}.question-input-area{margin-top:var(--sp-6)}.question-input{width:100%;padding:var(--sp-5);background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fz-2xl);font-family:var(--font-mono);font-weight:var(--fw-semi);text-align:center;color:var(--c-text)}.question-input:focus{outline:none;border-color:var(--c-primary);box-shadow:var(--sh-focus)}.question-input-text{font-size:var(--fz-xl);font-family:var(--font-sans);text-align:left}.question-actions{display:flex;gap:var(--sp-3);justify-content:space-between;margin-top:var(--sp-6);flex-wrap:wrap}.timer-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:8px 16px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-text);font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:var(--fz-base)}.timer-badge.is-danger{background:var(--c-danger-bg);color:var(--c-coral-700);animation:pulse 1s ease-in-out infinite}.question-nav{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-6);padding:var(--sp-4);background:var(--c-surface-2);border-radius:var(--r-md)}.question-nav-item{width:38px;height:38px;border-radius:var(--r-sm);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text-muted);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-semi);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-fast) var(--ease-out)}.question-nav-item.is-current{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.question-nav-item.is-answered{background:var(--c-success-bg);border-color:var(--c-success);color:var(--c-green-700)}.choice-list{display:flex;flex-direction:column;gap:var(--sp-3)}.choice-option{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.choice-option.is-selected{border-color:var(--c-primary);background:var(--c-primary-50)}.choice-option-text{font-size:var(--fz-base);line-height:var(--lh-base);color:var(--c-text)}.result-hero{text-align:center;padding:var(--sp-10) var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--sh-md)}.result-hero.is-success{background:linear-gradient(135deg,var(--c-success-bg) 0%,var(--c-surface) 100%);border-color:var(--c-success-br)}.result-hero.is-warning{background:linear-gradient(135deg,var(--c-warning-bg) 0%,var(--c-surface) 100%);border-color:var(--c-warning-br)}.result-icon{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;margin:0 auto var(--sp-5);color:#fff;box-shadow:0 12px 32px #102f4f26}.result-icon.is-success{background:var(--g-primary)}.result-icon.is-warning{background:var(--g-warm)}.result-title{font-size:var(--fz-2xl);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight);margin-bottom:var(--sp-2)}.result-subtitle{color:var(--c-text-muted);font-size:var(--fz-base)}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-5);margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--c-border)}.result-stat{text-align:center}.result-stat-label{font-size:var(--fz-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:var(--ls-wide);font-weight:var(--fw-semi);margin-bottom:var(--sp-2)}.result-stat-value{font-size:var(--fz-2xl);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight)}.review-card{padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);border-left-width:4px}.review-card.is-correct{border-left-color:var(--c-success)}.review-card.is-wrong{border-left-color:var(--c-danger)}.review-card.is-skipped{border-left-color:var(--c-text-dim)}.review-answers{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-4)}.review-answer{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fz-sm);line-height:var(--lh-base);word-break:break-word}.review-answer.is-user-correct{background:var(--c-success-bg);border-left:3px solid var(--c-success)}.review-answer.is-user-wrong{background:var(--c-danger-bg);border-left:3px solid var(--c-danger)}.review-answer.is-correct-answer{background:var(--c-success-bg);border-left:3px solid var(--c-success)}.review-answer-label{font-family:var(--font-sans);font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);font-weight:var(--fw-semi);margin-bottom:var(--sp-1);display:block}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap-grid)}.offer-card{display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t-base),box-shadow var(--t-base)}.offer-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}.offer-image{width:100%;height:160px;background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center;overflow:hidden}.offer-image img{width:100%;height:100%;object-fit:cover}.offer-body{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);flex:1}.offer-partner{font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);font-weight:var(--fw-semi)}.offer-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);line-height:var(--lh-snug)}.offer-description{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);flex:1}.offer-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:auto}.offer-cost{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--c-primary-50);color:var(--c-primary-700);border-radius:var(--r-pill);font-size:var(--fz-sm);font-weight:var(--fw-bold)}.offer-stock{font-size:var(--fz-xs);color:var(--c-text-dim)}.redemption-card{padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);display:flex;gap:var(--sp-4);align-items:flex-start}.redemption-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.redemption-body{flex:1;min-width:0}.redemption-title{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text)}.redemption-partner{font-size:var(--fz-xs);color:var(--c-text-muted);margin-top:2px}.notification-item{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);cursor:pointer;transition:background var(--t-fast)}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--c-surface-2)}.notification-item.is-unread{background:var(--c-primary-50);border-left:3px solid var(--c-primary)}.notification-icon{width:40px;height:40px;border-radius:50%;background:var(--c-surface-3);color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.notification-item.is-unread .notification-icon{background:var(--c-primary-100);color:var(--c-primary-700)}.notification-body{flex:1;min-width:0}.notification-title{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text);line-height:var(--lh-snug)}.notification-text{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:var(--lh-base);margin-top:var(--sp-1)}.notification-date{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-2)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--c-primary);flex:0 0 auto;margin-top:6px}.child-switcher{position:relative;display:inline-block}.child-switcher-backdrop{position:fixed;inset:0;z-index:calc(var(--z-dropdown) - 1);background:transparent}.child-switcher-dropdown{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:var(--z-dropdown);animation:slideDown var(--t-base) var(--ease-out);max-height:400px;overflow-y:auto}.child-switcher-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:0;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:left;transition:background var(--t-fast)}.child-switcher-option:hover{background:var(--c-surface-2)}.child-switcher-option.is-active{background:var(--c-primary-50)}.child-switcher-option-name{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text)}.child-switcher-option-meta{font-size:var(--fz-xs);color:var(--c-text-muted);margin-top:2px}.profile-header{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.profile-info{flex:1;min-width:0}.profile-name{font-size:var(--fz-xl);font-weight:var(--fw-bold);color:var(--c-text);line-height:var(--lh-snug)}.profile-contact{font-size:var(--fz-sm);color:var(--c-text-muted);margin-top:var(--sp-1)}.profile-meta{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-2)}.payment-card{padding:var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.payment-plan-name{font-size:var(--fz-2xl);font-weight:var(--fw-black);margin-top:var(--sp-1);word-break:break-word}.paywall-price{margin:var(--sp-6) 0;font-size:var(--fz-4xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);color:var(--c-ink-900)}.paywall-period{font-size:var(--fz-lg);font-weight:var(--fw-semi);color:var(--c-text-muted);margin-left:var(--sp-2)}.info-grid-mobile{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.info-block-mobile{display:flex;flex-direction:column;gap:2px;min-width:0}.actions-mobile{display:flex;gap:var(--sp-3);flex-wrap:wrap}.btn-block-mobile{width:100%}.attempts-list-mobile{display:flex;flex-direction:column;gap:var(--sp-3)}.attempt-row-mobile{padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.attempt-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.attempt-row-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2);align-items:center}.ledger-list-mobile{display:flex;flex-direction:column;gap:var(--sp-3)}.ledger-row-mobile{padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.payments-list-mobile{display:flex;flex-direction:column;gap:var(--sp-3)}.payment-row-mobile{padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.section-title-mobile{font-size:var(--fz-xl);font-weight:var(--fw-bold);color:var(--c-text);letter-spacing:var(--ls-snug)}.dashboard-stack{display:flex;flex-direction:column;gap:var(--sp-5);width:100%;max-width:100%;min-width:0}.dashboard-section{display:flex;flex-direction:column;gap:var(--sp-4);width:100%;max-width:100%;min-width:0}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5)}.dashboard-stack>*{max-width:100%;min-width:0}@media (min-width: 900px){.dashboard-stack{gap:var(--sp-6)}.dashboard-section{gap:var(--sp-5)}}.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.banner-body{display:flex;align-items:center;gap:var(--sp-3);min-width:0;flex:1 1 auto}.banner-text{min-width:0}.banner-btn{flex:0 0 auto}@media (max-width: 639px){.banner-inner{flex-direction:column;align-items:stretch}.banner-btn{width:100%}}.balance-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);min-width:0}.balance-top-text{min-width:0;flex:1 1 auto}.balance-child-info{flex:1 1 auto;min-width:0}.balance-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.balance-action-switcher{min-width:0}.balance-action-btn{background:#ffffff2e;color:#fff;border-color:transparent}.balance-action-btn:hover{background:#ffffff47;color:#fff}@media (max-width: 639px){.balance-actions{width:100%;flex-direction:column;align-items:stretch;gap:var(--sp-2)}.balance-action-switcher{width:100%}.balance-action-btn{width:100%;justify-content:center;background:#ffffff38}}.achievements-page{width:100%;min-width:0}.achievements-child-card{width:100%}.achievements-hero{position:relative;padding:var(--sp-8) var(--sp-6);border-radius:var(--r-2xl);overflow:hidden;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(247,191,63,.28),transparent 55%),linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 60%,var(--blue-600) 100%);box-shadow:0 24px 60px -20px #102f4f66,var(--sh-md);isolation:isolate}.achievements-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 90%,rgba(36,126,229,.35),transparent 60%),radial-gradient(circle at 10% 90%,rgba(247,191,63,.18),transparent 55%);pointer-events:none;z-index:-1}.achievements-hero:after{content:"";position:absolute;top:-40%;left:-30%;width:160%;height:160%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.06) 60deg,transparent 120deg,rgba(255,255,255,.05) 180deg,transparent 240deg);animation:achievements-hero-spin 40s linear infinite;pointer-events:none;z-index:-1}@keyframes achievements-hero-spin{to{transform:rotate(360deg)}}.achievements-hero-top{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.achievements-hero-icon-wrap{position:relative;width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff1f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);flex:0 0 auto;animation:achievements-hero-pulse 3s ease-in-out infinite}.achievements-hero-icon-wrap:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(247,191,63,.5);animation:achievements-hero-ring 12s linear infinite}@keyframes achievements-hero-ring{to{transform:rotate(360deg)}}@keyframes achievements-hero-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.achievements-hero-icon{font-size:48px;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}.achievements-hero-info{flex:1 1 200px;min-width:0}.achievements-hero-eyebrow{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3}.achievements-hero-title{font-size:clamp(24px,2.4vw + 14px,36px);font-weight:var(--fw-black);letter-spacing:-.02em;line-height:1.1;margin-top:4px;color:#fff}.achievements-hero-sub{font-size:var(--fz-sm);color:#ffffffd9;margin-top:var(--sp-2);line-height:1.5}.achievements-hero-progress{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.14)}.achievements-hero-progress-bar{height:8px;border-radius:var(--r-pill);background:#ffffff29;overflow:hidden}.achievements-hero-progress-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--yellow-500),#FFD97A);box-shadow:0 0 16px #f7bf3f99;transition:width var(--t-slower) var(--ease-out)}.achievements-hero-progress-meta{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--fz-xs);color:#ffffffbf;flex-wrap:wrap}.achievements-hero-progress-meta strong{color:#fff;font-weight:var(--fw-bold)}.achievements-grid{width:100%}.achievements-card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out)}.achievements-card.is-awarded{border-color:var(--c-primary);background:radial-gradient(circle at 100% 0%,rgba(247,191,63,.14),transparent 55%),linear-gradient(135deg,var(--c-primary-50) 0%,var(--c-surface) 100%)}.achievements-card.is-awarded:hover{transform:translateY(-3px);box-shadow:0 16px 40px -12px #247ee547,var(--sh-md)}.achievements-card.is-locked{opacity:.72}.achievements-card.is-locked:hover{opacity:.92}.achievements-card:before{content:"";position:absolute;top:0;left:-150%;width:80%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:skew(-18deg);pointer-events:none;transition:left var(--t-slower) var(--ease-out)}.achievements-card.is-awarded:hover:before{left:150%}.achievements-card-icon-wrap{position:relative;width:64px;height:64px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;background:var(--c-surface-3);flex:0 0 auto;transition:transform var(--t-base) var(--ease-back)}.achievements-card.is-awarded .achievements-card-icon-wrap{background:linear-gradient(135deg,var(--yellow-500),#FFD97A);box-shadow:0 8px 24px -6px #f7bf3f80,inset 0 -2px 6px #00000014}.achievements-card.is-awarded:hover .achievements-card-icon-wrap{transform:rotate(-4deg) scale(1.06)}.achievements-card-icon{font-size:32px;line-height:1}.achievements-card.is-locked .achievements-card-icon{filter:grayscale(1);opacity:.6}.achievements-card-title{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text);line-height:1.3;margin-top:var(--sp-3)}.achievements-card-desc{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.5;margin-top:var(--sp-1)}.achievements-reward{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-4);padding:6px 12px;border-radius:var(--r-pill);background:linear-gradient(135deg,#f7bf3f2e,#f7bf3f14);border:1px solid rgba(247,191,63,.42);color:var(--yellow-700);font-size:var(--fz-xs);font-weight:var(--fw-bold);align-self:flex-start;position:relative;overflow:hidden}.achievements-reward:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);transform:translate(-100%);animation:achievements-reward-shine 3.5s ease-in-out infinite;pointer-events:none}@keyframes achievements-reward-shine{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.achievements-reward svg{color:var(--yellow-600);flex:0 0 auto}.achievements-card-badge{position:absolute;top:var(--sp-3);right:var(--sp-3);display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);background:var(--c-success);color:#fff;font-size:11px;font-weight:var(--fw-bold);letter-spacing:.02em;box-shadow:0 4px 12px #27b56f59;animation:achievements-badge-pop .4s var(--ease-back) both}@keyframes achievements-badge-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.achievements-card-date{font-size:11px;color:var(--c-text-dim);margin-top:var(--sp-2)}.achievements-social-section,.achievements-social-grid{width:100%}.achievements-social-card{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;overflow:hidden;transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.achievements-social-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}.achievements-social-icon{width:56px;height:56px;border-radius:var(--r-md);margin:0 auto;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;box-shadow:0 10px 24px -8px #102f4f66}.achievements-social-awarded{padding:8px 16px;display:inline-flex}.achievements-social-actions{width:100%}.charity-page{width:100%;min-width:0}.charity-hero{position:relative;background:linear-gradient(135deg,#f2867d,#e8c77a);color:#fff;border:0;text-align:center;padding:var(--sp-8);overflow:hidden}.charity-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff1a;pointer-events:none}.charity-hero:after{content:"";position:absolute;bottom:-60px;left:-40px;width:180px;height:180px;border-radius:50%;background:#ffffff14;pointer-events:none}.charity-hero-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3)}.charity-hero-title{position:relative;font-size:clamp(22px,3vw,34px);font-weight:var(--fw-black);letter-spacing:-.02em;line-height:1.2;margin:0}.charity-hero-text{position:relative;max-width:640px;margin:var(--sp-4) auto 0;font-size:var(--fz-lg);line-height:1.5;opacity:.95}.charity-hero-badges{position:relative;display:flex;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;justify-content:center}.charity-hero-badge{display:inline-flex;align-items:center;padding:8px 16px;background:#ffffff38;color:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:var(--fw-semi);white-space:nowrap}.charity-stats,.charity-stat-card,.charity-form-card,.charity-form{width:100%}.charity-amount-input{font-size:24px;text-align:center;font-family:var(--font-mono)}.charity-quick-amounts{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center;margin-bottom:var(--sp-4)}.charity-quick-amount{white-space:nowrap}.charity-cashback-preview{margin-top:0}.charity-submit-btn,.charity-history,.charity-history-list,.charity-history-item{width:100%}@media (max-width: 639px){.balance-card{padding:var(--sp-5);border-radius:var(--r-lg)}.balance-value{font-size:44px}.balance-icon{width:52px;height:52px;border-radius:var(--r-md)}.balance-footer{flex-direction:column;align-items:stretch;gap:var(--sp-4)}.balance-footer .row{justify-content:flex-start;flex-wrap:wrap}.subject-grid{grid-template-columns:1fr;gap:var(--sp-4)}.subject-card{padding:var(--sp-4)}.test-card{flex-direction:column;align-items:stretch;padding:var(--sp-4)}.test-card .btn{width:100%}.test-main{padding:var(--sp-5) var(--sp-4)}.question-block{padding:var(--sp-5);border-radius:var(--r-lg)}.question-text{font-size:18px}.question-input{font-size:var(--fz-xl);padding:var(--sp-4)}.question-actions{flex-direction:column-reverse;gap:var(--sp-2)}.question-actions .btn{width:100%}.question-nav{padding:var(--sp-3)}.question-nav-item{width:36px;height:36px}.result-hero{padding:var(--sp-6) var(--sp-4);border-radius:var(--r-lg)}.result-icon{width:72px;height:72px}.result-stats{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.result-stat-value{font-size:var(--fz-xl)}.review-answers{grid-template-columns:1fr}.review-card{padding:var(--sp-4)}.offer-grid{grid-template-columns:1fr;gap:var(--sp-4)}.offer-image{height:140px}.offer-body{padding:var(--sp-4)}.redemption-card{flex-direction:column;align-items:stretch;padding:var(--sp-4)}.redemption-icon{width:40px;height:40px}.notification-item{padding:var(--sp-3) var(--sp-4)}.notification-icon{width:36px;height:36px}.profile-header{flex-direction:column;text-align:center;padding:var(--sp-5)}.payment-card{padding:var(--sp-5)}.payment-plan-name{font-size:var(--fz-xl)}.paywall-price{font-size:40px}.info-grid-mobile{grid-template-columns:1fr;gap:var(--sp-3)}.attempt-row-mobile,.ledger-row-mobile,.payment-row-mobile{padding:var(--sp-4)}.btn-block-mobile{width:100%}.actions-mobile{flex-direction:column}.actions-mobile .btn{width:100%}.achievements-hero{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-lg)}.achievements-hero-top{flex-direction:column;text-align:center;gap:var(--sp-4)}.achievements-hero-info{text-align:center}.achievements-hero-icon-wrap{width:64px;height:64px}.achievements-hero-icon{font-size:34px}.achievements-hero-title{font-size:var(--fz-xl)}.achievements-hero-sub{font-size:var(--fz-xs)}.achievements-hero-progress-meta{font-size:11px}.achievements-grid{grid-template-columns:1fr;gap:var(--sp-3)}.achievements-card{padding:var(--sp-4)}.achievements-card-icon-wrap{width:52px;height:52px}.achievements-card-icon{font-size:26px}.achievements-card-title{font-size:var(--fz-sm)}.achievements-card-desc{font-size:var(--fz-xs)}.achievements-reward{font-size:11px;padding:5px 10px}.achievements-social-grid{grid-template-columns:1fr;gap:var(--sp-3)}.achievements-social-card{padding:var(--sp-5)}.achievements-social-icon{width:48px;height:48px}.achievements-social-actions .btn{width:100%}.charity-hero{padding:var(--sp-6) var(--sp-4);border-radius:var(--r-lg)}.charity-hero-title{font-size:var(--fz-xl)}.charity-hero-text{font-size:var(--fz-base)}.charity-hero-badges{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.charity-hero-badge{justify-content:center;white-space:normal;text-align:center}.charity-stats{grid-template-columns:1fr;gap:var(--sp-3)}.charity-form-card{padding:var(--sp-5)}.charity-amount-input{font-size:var(--fz-xl);padding:var(--sp-4)}.charity-quick-amounts{gap:var(--sp-2)}.charity-quick-amount{flex:1 1 calc(50% - var(--sp-2));justify-content:center;min-width:0}.charity-submit-btn{font-size:var(--fz-base);padding:14px var(--sp-5)}.charity-history-item{padding:var(--sp-4)}}@media (min-width: 640px){.btn-block-mobile{width:auto}.charity-quick-amount{flex:0 0 auto}}@media (min-width: 640px) and (max-width: 899px){.subject-grid,.stat-grid-admin,.offer-grid,.achievements-grid,.achievements-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievements-hero{padding:var(--sp-6) var(--sp-5);border-radius:var(--r-xl)}.achievements-hero-icon-wrap{width:72px;height:72px}.achievements-hero-icon{font-size:40px}.achievements-hero-title{font-size:var(--fz-2xl)}}@media (max-width: 359px){.achievements-hero{padding:var(--sp-4) var(--sp-3)}.achievements-hero-icon-wrap{width:56px;height:56px}.achievements-hero-icon{font-size:30px}.achievements-hero-title{font-size:var(--fz-lg)}.achievements-card{padding:var(--sp-3)}.achievements-card-icon-wrap{width:44px;height:44px}.achievements-card-icon{font-size:22px}}.stat-grid-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--gap-grid)}.stat-card{padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.stat-card:hover{border-color:var(--c-border-strong);box-shadow:var(--sh-sm)}.stat-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);font-weight:var(--fw-bold)}.stat-icon{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--c-primary-50);color:var(--c-primary-700);flex:0 0 auto}.stat-icon.is-success{background:var(--c-success-bg);color:var(--c-green-700)}.stat-icon.is-warning{background:var(--c-warning-bg);color:var(--c-peach-700)}.stat-icon.is-danger{background:var(--c-danger-bg);color:var(--c-coral-700)}.stat-icon.is-info{background:var(--c-info-bg);color:var(--c-sky-700)}.stat-icon.is-lav{background:var(--c-lav-100);color:var(--c-lav-700)}.stat-value{font-size:var(--fz-2xl);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight);line-height:1.1}.stat-hint{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-2)}.chart-card{padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.chart-title{font-size:var(--fz-sm);font-weight:var(--fw-bold);color:var(--c-text)}.chart-total{font-size:var(--fz-sm);color:var(--c-text-muted);font-weight:var(--fw-semi)}.chart-bars{display:flex;align-items:flex-end;gap:3px;height:120px;padding:var(--sp-2) 0;position:relative}.chart-bar{flex:1;background:var(--c-primary);border-radius:3px 3px 0 0;min-height:3px;transition:background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out);cursor:pointer}.chart-bar:hover{background:var(--c-primary-600);transform:scaleY(1.02);transform-origin:bottom}.chart-bar.is-success{background:var(--c-success)}.chart-bar.is-warning{background:var(--c-warning)}.chart-bar.is-info{background:var(--c-info)}.chart-bar.is-lav{background:var(--c-lav-500)}.chart-empty{text-align:center;padding:var(--sp-8) 0;color:var(--c-text-dim);font-size:var(--fz-sm)}.suspicion-bar{height:6px;border-radius:3px;background:var(--c-surface-3);overflow:hidden;flex:1}.suspicion-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--c-success),var(--c-warning),var(--c-danger));transition:width var(--t-slow) var(--ease-out)}.suspicion-value{font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-text-muted);min-width:28px;text-align:right}.diff-view{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.diff-block{padding:var(--sp-3);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fz-xs);line-height:var(--lh-base);background:var(--c-surface-2);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.diff-block.is-before{border-left:3px solid var(--c-danger);background:var(--c-danger-bg)}.diff-block.is-after{border-left:3px solid var(--c-success);background:var(--c-success-bg)}@media (max-width: 639px){.diff-view{grid-template-columns:1fr}}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-4)}.info-block{display:flex;flex-direction:column;gap:4px;min-width:0}.info-block-label{font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);font-weight:var(--fw-bold)}.info-block-value{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text);word-break:break-word;overflow-wrap:anywhere}.anomaly-item{padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease-out)}.anomaly-item:hover{border-color:var(--c-border-strong)}.anomaly-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.anomaly-key{font-family:var(--font-mono);font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text);word-break:break-all;min-width:0}.anomaly-meta{font-size:var(--fz-xs);color:var(--c-text-dim);word-break:break-all;line-height:var(--lh-base)}.quick-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.quick-action{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);text-decoration:none;color:var(--c-text);font-size:var(--fz-sm);font-weight:var(--fw-semi);min-width:120px;transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.quick-action:hover{border-color:var(--c-primary);transform:translateY(-2px);box-shadow:var(--sh-md);color:var(--c-primary-700)}.quick-action-icon{width:40px;height:40px;border-radius:var(--r-sm);background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center}.top-list{display:flex;flex-direction:column;gap:var(--sp-3)}.top-list-item{display:flex;flex-direction:column;gap:var(--sp-2)}.top-list-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.top-list-name{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text)}.top-list-value{font-size:var(--fz-sm);color:var(--c-text-muted);font-weight:var(--fw-semi)}.top-list-bar{height:6px;border-radius:3px;background:var(--c-surface-3);overflow:hidden}.top-list-bar-fill{height:100%;border-radius:3px;background:var(--g-primary);transition:width var(--t-slow) var(--ease-out)}.user-summary{display:flex;gap:var(--sp-4);align-items:center;padding:var(--sp-4);background:var(--c-surface-2);border-radius:var(--r-md);margin-bottom:var(--sp-5)}.user-summary-info{flex:1;min-width:0}.user-summary-name{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text)}.user-summary-contact{font-size:var(--fz-sm);color:var(--c-text-muted);margin-top:2px;word-break:break-word}@media (max-width: 899px){.admin-main{padding:var(--sp-4);padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom,0px));max-width:100%;overflow-x:hidden}.admin-main .page-head{margin-bottom:var(--sp-4)}.admin-main .page-title{font-size:var(--fz-xl);line-height:var(--lh-tight)}.admin-main .page-subtitle{font-size:var(--fz-sm);margin-top:var(--sp-1)}.admin-main .page-actions{width:100%}.admin-main .page-actions .btn{flex:1 1 auto;min-width:0}}@media (max-width: 639px){.stat-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.stat-card{padding:var(--sp-3);border-radius:var(--r-sm)}.stat-card-head{margin-bottom:var(--sp-2)}.stat-icon{width:28px;height:28px;border-radius:6px}.stat-label{font-size:10px;letter-spacing:.04em}.stat-value{font-size:var(--fz-xl)}.stat-hint{font-size:11px;margin-top:var(--sp-1)}.chart-card{padding:var(--sp-3)}.chart-head{margin-bottom:var(--sp-2)}.chart-bars{height:80px;gap:2px;padding:var(--sp-1) 0}.chart-bar{min-width:2px;border-radius:2px 2px 0 0}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.info-block-label{font-size:10px}.info-block-value{font-size:var(--fz-xs)}.diff-block{max-height:220px;font-size:11px;line-height:1.5}.anomaly-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.anomaly-key{font-size:var(--fz-xs)}.anomaly-meta{font-size:11px;line-height:1.5}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.quick-action{min-width:0;padding:var(--sp-3)}.quick-action-icon{width:36px;height:36px}.top-list-name,.top-list-value{font-size:var(--fz-xs)}.user-summary{flex-direction:column;text-align:center;padding:var(--sp-3)}.user-summary-name{font-size:var(--fz-base)}}@media (max-width: 899px){.admin-main .table-wrap{border:0;border-radius:0;overflow:visible;background:transparent}.admin-main .table,.admin-main .table thead,.admin-main .table tbody,.admin-main .table tr,.admin-main .table th,.admin-main .table td{display:block;width:100%;border:0}.admin-main .table thead{display:none}.admin-main .table tbody{display:flex;flex-direction:column;gap:var(--sp-3)}.admin-main .table tr{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--sh-xs);display:flex;flex-direction:column;gap:var(--sp-3);transition:box-shadow var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.admin-main .table tr:hover{background:var(--c-surface);border-color:var(--c-border-strong);box-shadow:var(--sh-md)}.admin-main .table td{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:var(--sp-3);align-items:start;padding:0;text-align:left;white-space:normal;font-size:var(--fz-sm);line-height:var(--lh-snug);border:0}.admin-main .table td:before{content:attr(data-label);font-size:11px;font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-text-muted);padding-top:2px;min-width:0;overflow-wrap:anywhere}.admin-main .table td:not([data-label]):before{content:none}.admin-main .table td:not([data-label]){display:block}.admin-main .table td[data-label-role=title]{display:block;font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text);padding-bottom:var(--sp-3);border-bottom:1px solid var(--c-border);margin-bottom:0;line-height:var(--lh-snug)}.admin-main .table td[data-label-role=title]:before{content:none}.admin-main .table td[data-label-role=title] .row{gap:var(--sp-3)}.admin-main .table td[data-label-role=title] .text-xs,.admin-main .table td[data-label-role=title] .text-sm{font-weight:var(--fw-regular)}.admin-main .table td[data-label-role=actions]{display:block;padding-top:var(--sp-3);border-top:1px solid var(--c-border);margin-top:0}.admin-main .table td[data-label-role=actions]:before{content:none}.admin-main .table td[data-label-role=actions] .btn{width:100%;justify-content:center}.admin-main .table td[data-label-role=actions] .row{width:100%}.admin-main .table td[data-label-role=actions] .row .btn{flex:1 1 auto}.admin-main .table td .badge{white-space:normal;overflow-wrap:anywhere}.admin-main .table td .suspicion-bar{width:100%!important;min-width:0}.admin-main .table td .truncate{overflow:visible;text-overflow:clip;white-space:normal;max-width:none}}@media (min-width: 900px){.admin-main .table td:before{content:none}}.qt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4)}.qt-card{padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),opacity var(--t-base) var(--ease-out)}.qt-card:hover{border-color:var(--c-border-strong);box-shadow:var(--sh-sm)}.qt-card.is-disabled{opacity:.6;background:var(--c-surface-2)}.qt-card-head{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.qt-card-icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.qt-card.is-disabled .qt-card-icon{background:var(--c-surface-3);color:var(--c-text-dim)}.qt-card-title-block{flex:1 1 auto;min-width:0}.qt-card-title{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text);line-height:1.3}.qt-card-code{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--c-text-muted);margin-top:2px;word-break:break-all}.qt-card-switch{flex:0 0 auto}.qt-card-description{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.55}.qt-card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.qt-card-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--c-surface-3);border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-text-muted);white-space:nowrap}.qt-card-roles{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;padding-top:var(--sp-2);border-top:1px dashed var(--c-border)}.qt-card-roles-label{font-size:var(--fz-xs);color:var(--c-text-muted);font-weight:var(--fw-semi)}.qt-card-actions{display:flex;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-2)}.qt-card-actions .btn{flex:1 1 auto}.qt-constructor{display:flex;flex-direction:column;gap:var(--sp-4);min-height:0}.qt-constructor-tabs{display:flex;gap:var(--sp-1);padding:4px;background:var(--c-surface-3);border-radius:var(--r-md)}.qt-constructor-tab{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px var(--sp-4);border:0;background:transparent;color:var(--c-text-muted);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-semi);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.qt-constructor-tab:hover{color:var(--c-text)}.qt-constructor-tab.is-active{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--sh-xs)}.qt-constructor-body{min-height:260px}.qt-constructor-form{display:flex;flex-direction:column;gap:var(--sp-4)}.qt-section-title{font-size:var(--fz-sm);font-weight:var(--fw-bold);color:var(--c-text);text-transform:uppercase;letter-spacing:var(--ls-wide)}.qt-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.qt-field{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.qt-field-label{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text)}.qt-field-label .req{color:var(--c-danger);margin-left:2px}.qt-field-hint{font-size:var(--fz-xs);color:var(--c-text-dim);line-height:1.5}.qt-type-hint{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--c-primary-50);border:1px solid var(--c-primary-100);border-radius:var(--r-md);min-width:0}.qt-type-hint-icon{color:var(--c-primary-700);flex:0 0 auto;margin-top:1px}.qt-type-hint-text{font-size:var(--fz-sm);color:var(--c-primary-700);line-height:1.5}.qt-type-hint-meta{font-size:var(--fz-xs);color:var(--c-primary-700);opacity:.75;margin-top:4px}.qt-payload-host{display:flex;flex-direction:column;gap:var(--sp-3)}.qt-options-list{display:flex;flex-direction:column;gap:var(--sp-2)}.qt-option-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.qt-option-row .input,.qt-option-row .select{min-width:0;flex:1 1 auto}.qt-option-row .qt-pair-left{flex:0 0 auto;min-width:80px;font-weight:var(--fw-semi);font-size:var(--fz-sm);color:var(--c-text);overflow-wrap:anywhere}.qt-option-row .qt-pair-arrow{color:var(--c-text-dim);flex:0 0 auto}.qt-add-option{align-self:flex-start;margin-top:var(--sp-2)}.qt-constructor-actions{display:flex;justify-content:flex-end;padding-top:var(--sp-4);border-top:1px solid var(--c-border);margin-top:var(--sp-4)}.qt-save-btn{min-width:240px}.qt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-10) var(--sp-5);color:var(--c-text-muted)}.qt-empty-icon{width:72px;height:72px;border-radius:50%;background:var(--c-surface-2);color:var(--c-text-dim);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4)}.qt-empty-title{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text);margin-bottom:var(--sp-2)}.qt-empty-text{font-size:var(--fz-sm);color:var(--c-text-muted);max-width:420px;line-height:1.55}.qt-bank-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:440px;overflow-y:auto;padding-right:var(--sp-2)}.qt-bank-item{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.qt-bank-item:hover{border-color:var(--c-primary);background:var(--c-primary-50)}.qt-bank-item input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.qt-bank-item input:checked~.check-box{background:var(--c-primary);border-color:var(--c-primary)}.qt-bank-item input:checked~.check-box:after{transform:rotate(-45deg) scale(1)}.qt-bank-item .check-box{margin-top:2px;flex:0 0 auto}.qt-bank-content{flex:1 1 auto;min-width:0}.qt-bank-type{font-size:10px;text-transform:uppercase;letter-spacing:var(--ls-wide);font-weight:var(--fw-bold);color:var(--c-primary-700);margin-bottom:3px}.qt-bank-text{font-size:var(--fz-sm);color:var(--c-text);line-height:1.45}@media (max-width: 899px){.qt-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width: 639px){.qt-grid{grid-template-columns:1fr;gap:var(--sp-3)}.qt-card{padding:var(--sp-4)}.qt-card-icon{width:40px;height:40px}.qt-card-actions .btn{width:100%}.qt-constructor-tabs{flex-direction:column;gap:2px}.qt-constructor-tab{width:100%;justify-content:flex-start;padding:11px var(--sp-4)}.qt-form-grid-2{grid-template-columns:1fr;gap:var(--sp-3)}.qt-option-row{flex-wrap:nowrap}.qt-pair-left{min-width:60px;font-size:var(--fz-xs)}.qt-save-btn{width:100%;min-width:0}.qt-constructor-actions{padding-top:var(--sp-3);margin-top:var(--sp-3)}.qt-bank-list{max-height:340px}.qt-bank-item{padding:var(--sp-3)}.qt-empty{padding:var(--sp-6) var(--sp-4)}.qt-empty-icon{width:56px;height:56px}.qt-empty-title{font-size:var(--fz-base)}}.admin-user-detail-stack{display:flex;flex-direction:column;gap:var(--sp-6)}.admin-user-detail-stack>h4{font-size:var(--fz-lg);font-weight:var(--fw-bold);color:var(--c-text)}.card.is-warning{border-color:var(--c-warning);background:linear-gradient(135deg,var(--c-warning-bg) 0%,var(--c-surface) 100%)}.card.is-danger{border-color:var(--c-danger);background:linear-gradient(135deg,var(--c-danger-bg) 0%,var(--c-surface) 100%)}.admin-main .page-actions .btn{white-space:nowrap}.admin-main .modal .field-hint{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-1);line-height:1.4}@media (max-width: 639px){.admin-user-detail-stack{gap:var(--sp-4)}.admin-main .info-grid{grid-template-columns:1fr}.admin-main .card.card-pad .row.gap-2.row-wrap{flex-direction:column;align-items:stretch}.admin-main .card.card-pad .row.gap-2.row-wrap .input{max-width:none!important;width:100%}.admin-main .card.card-pad .row.gap-2.row-wrap .btn{width:100%}.admin-main .card.is-danger .row.gap-2.row-wrap,.admin-main .card.is-warning .row.gap-2.row-wrap{flex-direction:column;align-items:stretch}.admin-main .card.is-danger .row.gap-2.row-wrap .btn,.admin-main .card.is-warning .row.gap-2.row-wrap .btn{width:100%}}.admin-main .table td .badge svg{margin-right:2px}.grade-bar{display:flex;flex-wrap:wrap;gap:8px;padding:var(--sp-3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}.grade-chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text-muted);font-family:inherit;font-size:var(--fz-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.grade-chip:hover{border-color:var(--c-primary);color:var(--c-primary-700);transform:translateY(-1px)}.grade-chip.is-active{background:linear-gradient(135deg,var(--blue-500),var(--blue-600));border-color:transparent;color:#fff;box-shadow:0 8px 18px -8px #247ee580}.grade-chip-label{font-weight:700}.grade-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-text-muted);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.grade-chip.is-active .grade-chip-count{background:#ffffff47;color:#fff}.grade-chip.is-empty .grade-chip-count{opacity:.55}.subject-grades-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--sp-3)}.subject-grade-tag{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:var(--r-sm);background:var(--c-surface-3);color:var(--c-text-muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.subject-grade-tag.is-in-range{background:var(--c-primary-100);color:var(--c-primary-700)}.subject-grade-tag.is-active-filter{background:var(--c-primary);color:#fff}.grades-picker{display:flex;flex-wrap:wrap;gap:6px}.grades-picker-item{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:40px;padding:0 12px;border-radius:var(--r-md);background:var(--c-surface);border:1.5px solid var(--c-border);font-size:var(--fz-sm);font-weight:700;color:var(--c-text-muted);cursor:pointer;user-select:none;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast);font-variant-numeric:tabular-nums}.grades-picker-item input{position:absolute;opacity:0;pointer-events:none}.grades-picker-item:hover{border-color:var(--c-primary);color:var(--c-primary-700)}.grades-picker-item.is-selected{background:linear-gradient(135deg,var(--blue-500),var(--blue-600));border-color:transparent;color:#fff;box-shadow:0 6px 14px -6px #247ee580;transform:translateY(-1px)}.grades-picker-hint{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-2);line-height:1.5}@media (max-width: 639px){.grade-bar{padding:var(--sp-2);gap:6px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.grade-chip{flex:0 0 auto;padding:7px 12px}}.icon-picker{display:flex;flex-direction:column;gap:var(--sp-4)}.icon-picker-preview{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.icon-picker-preview-box{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);border:1.5px solid;flex:0 0 auto}.icon-picker-preview-name{color:var(--c-text-muted)}.icon-picker-groups{display:flex;flex-direction:column;gap:var(--sp-4);max-height:340px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.icon-picker-group{display:flex;flex-direction:column;gap:8px}.icon-picker-group-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-dim)}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}.icon-picker-item{display:inline-flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1 / 1;padding:0;border:1.5px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast)}.icon-picker-item:hover{border-color:var(--c-primary);color:var(--c-primary-700);background:var(--c-primary-50);transform:translateY(-1px)}.icon-picker-item.is-selected{background:linear-gradient(135deg,var(--blue-500),var(--blue-600));border-color:transparent;color:#fff;box-shadow:0 6px 14px -6px #247ee580;transform:translateY(-1px)}.color-picker{display:flex;flex-direction:column;gap:var(--sp-4)}.color-picker-preview{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.color-picker-preview-box{display:inline-block;width:44px;height:44px;border-radius:var(--r-md);border:1.5px solid var(--c-border);flex:0 0 auto}.color-picker-preview-name{color:var(--c-text-muted)}.color-picker-groups{display:flex;flex-direction:column;gap:var(--sp-4);max-height:320px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.color-picker-group{display:flex;flex-direction:column;gap:8px}.color-picker-group-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-dim)}.color-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px}.color-picker-item{width:100%;aspect-ratio:1 / 1;padding:0;border:2px solid var(--c-border);border-radius:var(--r-md);cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.color-picker-item:hover{transform:scale(1.06);box-shadow:var(--sh-md)}.color-picker-item.is-selected{border-color:var(--c-text);box-shadow:0 0 0 2px var(--c-surface),0 0 0 4px var(--c-text),0 8px 20px -8px #00000059;transform:scale(1.06)}@media (max-width: 639px){.icon-picker-grid,.color-picker-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.icon-picker-groups,.color-picker-groups{max-height:260px}}.qt-preview{display:flex;flex-direction:column;gap:6px;margin-top:var(--sp-3, 12px)}.qt-preview-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-dim, #64748b)}.qt-preview-choices{display:flex;flex-direction:column;gap:4px}.qt-preview-choice{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 10px;border:1px solid var(--c-border, #e2e8f0);border-radius:var(--r-sm, 8px);background:var(--c-surface, #ffffff);font-size:var(--fz-sm, 14px);line-height:1.4}.qt-preview-choice.is-correct{border-color:var(--c-success, #10b981);background:var(--c-success-bg, #ecfdf5)}.qt-preview-marker{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--c-border, #e2e8f0);background:var(--c-surface-100, #f1f5f9);font-size:11px;font-weight:700;color:var(--c-text-dim, #64748b)}.qt-preview-choice.is-correct .qt-preview-marker{border-color:var(--c-success, #10b981);background:var(--c-success, #10b981);color:#fff}.qt-preview-text{flex:1 1 auto;min-width:0;overflow-wrap:break-word}.qt-preview-choice.is-correct .qt-preview-text{color:var(--c-green-700, #047857);font-weight:600}.qt-preview-flag{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--c-green-700, #047857);text-transform:uppercase;letter-spacing:.04em}.qt-preview-flag svg{flex-shrink:0}.qt-preview-pair{display:flex;align-items:center;gap:10px;min-width:0;padding:5px 10px;border:1px solid var(--c-success, #10b981);border-radius:var(--r-sm, 8px);background:var(--c-success-bg, #ecfdf5);font-size:var(--fz-sm, 14px);line-height:1.4}.qt-preview-pair-left{flex-shrink:0;font-weight:600;color:var(--c-green-700, #047857)}.qt-preview-pair-arrow{flex-shrink:0;display:inline-flex;color:var(--c-success, #10b981)}.qt-preview-pair-right{flex:1 1 auto;min-width:0;overflow-wrap:break-word}.qt-preview-answer{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;max-width:100%;padding:6px 12px;border:1px solid var(--c-success, #10b981);border-radius:var(--r-sm, 8px);background:var(--c-success-bg, #ecfdf5);color:var(--c-green-700, #047857);font-weight:700;font-size:var(--fz-sm, 14px)}.qt-preview-answer svg{flex-shrink:0}.qt-preview-answer-text{min-width:0;overflow-wrap:break-word}.qt-preview-note{font-size:var(--fz-xs, 12px);color:var(--c-text-dim, #64748b)}@media (max-width: 639px){.qt-preview-choice,.qt-preview-pair,.qt-preview-answer{font-size:var(--fz-xs, 12px)}.qt-preview-pair{flex-wrap:wrap}}.partner-shell{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--c-bg);--pad-card: var(--sp-4);--pad-card-lg: var(--sp-5);--pad-section: var(--sp-6);--gap-grid: var(--sp-4)}.partner-header{position:sticky;top:0;z-index:var(--z-sticky);grid-column:1 / -1;height:var(--h-header-sm);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.partner-header-inner{height:100%;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-3)}.partner-sidebar{display:none;background:var(--c-surface);border-right:1px solid var(--c-border);padding:var(--sp-4) 0;overflow-y:auto;position:sticky;top:var(--h-header-sm);height:calc(100vh - var(--h-header-sm))}.partner-sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-4);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-3);font-size:var(--fz-base);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight)}.partner-sidebar-brand img{width:34px;height:34px;border-radius:var(--r-sm)}.partner-sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:0 var(--sp-3)}.partner-sidebar-nav a{display:flex;align-items:center;gap:var(--sp-3);padding:11px var(--sp-4);border-radius:var(--r-md);color:var(--c-text-muted);font-size:var(--fz-sm);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.partner-sidebar-nav a:hover{background:var(--c-surface-2);color:var(--c-text)}.partner-sidebar-nav a.is-active{background:var(--c-primary-50);color:var(--c-primary-700);font-weight:var(--fw-semi)}.partner-sidebar-nav a svg{flex:0 0 auto}.partner-main{padding:var(--sp-4);padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom,0px));max-width:100%;overflow-x:hidden}.partner-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--c-surface);border-top:1px solid var(--c-border);display:flex;align-items:stretch;box-shadow:0 -4px 16px #1f2a170f}.partner-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--c-text-dim);font-size:11px;font-weight:var(--fw-medium);text-decoration:none;padding:6px 4px;transition:color var(--t-fast);position:relative;min-width:0}.partner-bottom-nav a.is-active{color:var(--c-primary-700)}.partner-bottom-nav a.is-active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--c-primary);border-radius:0 0 3px 3px}.partner-bottom-nav a svg{flex:0 0 auto}.partner-bottom-nav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.partner-bottom-spacer{display:block;width:100%;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + var(--sp-6))}@media (min-width: 900px){.partner-shell{grid-template-columns:var(--w-sidebar) 1fr}.partner-sidebar{display:block}.partner-main{padding:var(--sp-8);padding-bottom:var(--sp-10);max-width:var(--w-container-wide);margin:0 auto}.partner-bottom-nav,.partner-bottom-spacer{display:none}}.partner-hero{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.partner-hero-logo{width:64px;height:64px;border-radius:var(--r-md);object-fit:cover;flex:0 0 auto}.partner-hero-logo.is-placeholder{display:flex;align-items:center;justify-content:center;background:var(--c-primary-50);color:var(--c-primary-700)}.partner-hero-info{min-width:0;flex:1}.partner-hero-name{font-size:var(--fz-xl);font-weight:var(--fw-black);color:var(--c-text);letter-spacing:var(--ls-tight);line-height:1.2}.partner-hero-desc{font-size:var(--fz-sm);color:var(--c-text-muted);margin-top:var(--sp-1);line-height:1.5}.partner-hero-meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-top:var(--sp-3)}@media (max-width: 639px){.partner-hero{flex-direction:column;text-align:center}.partner-hero-meta{justify-content:center}}.partner-recents{display:flex;flex-direction:column;gap:var(--sp-2)}.partner-recent{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}.partner-recent-icon{width:40px;height:40px;border-radius:var(--r-sm);background:var(--c-primary-50);color:var(--c-primary-700);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.partner-recent-body{flex:1;min-width:0}.partner-recent-title{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-recent-meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-top:var(--sp-1)}.partner-offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.partner-offer-card{display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t-base),box-shadow var(--t-base)}.partner-offer-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}.partner-offer-image{width:100%;height:140px;background:var(--c-primary-50);overflow:hidden}.partner-offer-image img{width:100%;height:100%;object-fit:cover}.partner-offer-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--c-primary-700)}.partner-offer-body{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}.partner-offer-title{font-size:var(--fz-base);font-weight:var(--fw-bold);color:var(--c-text);line-height:1.3;margin-top:var(--sp-1)}.partner-offer-desc{font-size:var(--fz-sm);color:var(--c-text-muted);line-height:1.5}.partner-offer-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.partner-offer-meta-item{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--c-surface-3);border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-semi);color:var(--c-text-muted)}.partner-offer-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:var(--sp-2);border-top:1px solid var(--c-border)}.partner-redemptions-list{display:flex;flex-direction:column;gap:var(--sp-3)}.partner-redemption-card{padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3)}.partner-redemption-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.partner-redemption-offer{display:flex;gap:var(--sp-3);align-items:center;min-width:0}.partner-redemption-img{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;flex:0 0 auto}.partner-redemption-img.is-placeholder{display:flex;align-items:center;justify-content:center;background:var(--c-primary-50);color:var(--c-primary-700)}.partner-redemption-title{font-size:var(--fz-sm);font-weight:var(--fw-semi);color:var(--c-text)}.partner-redemption-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--c-border)}.partner-redemption-meta-item{min-width:0}@media (max-width: 639px){.partner-offers-grid{grid-template-columns:1fr;gap:var(--sp-3)}.partner-offer-image{height:120px}.partner-redemption-card{padding:var(--sp-3)}.partner-redemption-meta{grid-template-columns:1fr 1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.anim-fade-in{animation:fadeIn var(--t-base) var(--ease-out) both}.anim-slide-up{animation:slideUp var(--t-slow) var(--ease-out) both}.anim-slide-down{animation:slideDown var(--t-slow) var(--ease-out) both}.anim-slide-in-right{animation:slideInRight var(--t-slow) var(--ease-out) both}.anim-slide-in-left{animation:slideInLeft var(--t-slow) var(--ease-out) both}.anim-scale-in{animation:scaleIn var(--t-base) var(--ease-out) both}.anim-bounce-in{animation:bounceIn var(--t-slower) var(--ease-back) both}.anim-pulse{animation:pulse 1.6s var(--ease-soft) infinite}.anim-float{animation:float 3s var(--ease-soft) infinite}.anim-wiggle{animation:wiggle .6s var(--ease-out) both}.anim-shake{animation:shake .4s var(--ease-out) both}.anim-pop{animation:pop .2s var(--ease-out) both}.delay-1{animation-delay:40ms}.delay-2{animation-delay:80ms}.delay-3{animation-delay:.12s}.delay-4{animation-delay:.16s}.delay-5{animation-delay:.2s}.delay-6{animation-delay:.24s}.delay-8{animation-delay:.32s}.delay-10{animation-delay:.4s}.hover-lift{transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}.hover-scale{transition:transform var(--t-fast) var(--ease-out)}.hover-scale:hover{transform:scale(1.03)}.hover-bright{transition:filter var(--t-fast) var(--ease-out)}.hover-bright:hover{filter:brightness(1.05)}.press-down:active{transform:translateY(1px) scale(.99)}.page-enter{animation:slideUp var(--t-slow) var(--ease-out) both}.page-exit{animation:fadeOut var(--t-fast) var(--ease-in) both}#app>*{animation:fadeIn var(--t-base) var(--ease-out)}.spinner{width:32px;height:32px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .9s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-lg{width:48px;height:48px;border-width:4px}.spinner-inline{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.shimmer{background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface-3) 50%,var(--c-surface-2) 75%);background-size:800px 100%;animation:shimmer 1.4s linear infinite}.stagger>.stagger-item{opacity:0;animation:slideUp var(--t-slow) var(--ease-out) both}.stagger>.stagger-item:nth-child(1){animation-delay:40ms}.stagger>.stagger-item:nth-child(2){animation-delay:80ms}.stagger>.stagger-item:nth-child(3){animation-delay:.12s}.stagger>.stagger-item:nth-child(4){animation-delay:.16s}.stagger>.stagger-item:nth-child(5){animation-delay:.2s}.stagger>.stagger-item:nth-child(6){animation-delay:.24s}.stagger>.stagger-item:nth-child(7){animation-delay:.28s}.stagger>.stagger-item:nth-child(8){animation-delay:.32s}.stagger>.stagger-item:nth-child(9){animation-delay:.36s}.stagger>.stagger-item:nth-child(10){animation-delay:.4s}.stagger>.stagger-item:nth-child(n+11){animation-delay:.44s}.subject-card .subject-card-arrow,.test-card .arrow{transition:transform var(--t-base) var(--ease-out)}.notification-dot{animation:pulse 2s var(--ease-soft) infinite}.result-icon.is-success{animation:bounceIn var(--t-slower) var(--ease-back) both}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{animation:shake .4s var(--ease-out)}@media (prefers-reduced-motion: reduce){.anim-fade-in,.anim-slide-up,.anim-slide-down,.anim-slide-in-right,.anim-slide-in-left,.anim-scale-in,.anim-bounce-in,.anim-pulse,.anim-float,.anim-wiggle,.anim-shake,.anim-pop,.page-enter,.page-exit,.stagger>.stagger-item,#app>*{animation:none!important;opacity:1!important;transform:none!important}.hover-lift:hover,.hover-scale:hover{transform:none}.spinner,.spinner-inline,.shimmer{animation-duration:2s}}.test-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 8%,rgba(36,126,229,.08) 0%,transparent 40%),radial-gradient(circle at 88% 92%,rgba(247,191,63,.1) 0%,transparent 40%),var(--c-bg);position:relative;overflow-x:hidden}.test-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,rgba(102,177,50,.04) 0,transparent 25%),radial-gradient(circle at 80% 70%,rgba(36,126,229,.04) 0,transparent 25%);z-index:0}.test-header{position:sticky;top:0;z-index:var(--z-sticky);height:72px;background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--c-border);transition:box-shadow var(--t-base) var(--ease-out)}.test-header.is-scrolled{box-shadow:0 4px 24px #254d7014}.test-header-inner{max-width:900px;height:100%;margin:0 auto;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-4)}.test-header-brand{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fz-base);font-weight:var(--fw-black);color:var(--c-ink-900);letter-spacing:var(--ls-tight);text-decoration:none}.test-header-brand img{width:40px;height:40px;border-radius:var(--r-md);flex:0 0 auto;filter:drop-shadow(0 4px 12px rgba(247,191,63,.3))}.test-main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:var(--sp-8) var(--sp-5) var(--sp-12);position:relative;z-index:1}.test-progress{margin-bottom:var(--sp-6)}.test-progress-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.test-progress-step{font-size:var(--fz-xs);font-weight:var(--fw-bold);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:var(--ls-wide)}.test-progress-count{font-size:var(--fz-sm);font-weight:var(--fw-bold);color:var(--c-primary-700);font-variant-numeric:tabular-nums}.test-progress-track{position:relative;height:10px;border-radius:var(--r-pill);background:var(--c-surface-3);overflow:hidden;box-shadow:inset 0 1px 2px #254d700f}.test-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--blue-400),var(--blue-500) 50%,var(--teal-500));background-size:200% 100%;transition:width .5s cubic-bezier(.34,1.2,.5,1);animation:test-progress-shine 3s linear infinite;will-change:width}@keyframes test-progress-shine{0%{background-position:0% 0%}to{background-position:200% 0%}}.test-progress-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.test-progress-particle{position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff;opacity:0;animation:test-particle-burst 1.2s var(--ease-out) forwards}@keyframes test-particle-burst{0%{opacity:0;transform:translateY(-50%) scale(0)}20%{opacity:.9;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.4) translate(40px)}}.test-timer{display:inline-flex;align-items:center;gap:var(--sp-2);padding:8px 16px;border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text);font-family:var(--font-mono);font-weight:var(--fw-black);font-size:var(--fz-base);font-variant-numeric:tabular-nums;transition:background var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out)}.test-timer svg{color:var(--c-primary)}.test-timer.is-warn{background:var(--c-warning-bg);border-color:var(--c-warning-br);color:var(--c-peach-700)}.test-timer.is-warn svg{color:var(--c-peach-700)}.test-timer.is-danger{background:var(--c-danger-bg);border-color:var(--c-danger-br);color:var(--c-coral-700);animation:test-timer-pulse 1s var(--ease-soft) infinite}.test-timer.is-danger svg{color:var(--c-coral-700);animation:test-timer-pulse 1s var(--ease-soft) infinite}@keyframes test-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.test-question{position:relative;padding:var(--sp-8);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-2xl);box-shadow:0 24px 60px -24px #254d702e,0 8px 20px -12px #254d701a;animation:test-question-in .52s cubic-bezier(.22,1,.36,1) both;overflow:hidden}.test-question:before{content:"";position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(36,126,229,.08),transparent 70%);pointer-events:none}.test-question:after{content:"";position:absolute;bottom:-60px;left:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(247,191,63,.1),transparent 70%);pointer-events:none}@keyframes test-question-in{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.test-question.is-leaving{animation:test-question-out .26s var(--ease-in) both}@keyframes test-question-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.98)}}.test-question-head{position:relative;display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap}.test-question-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:56px;padding:0 var(--sp-4);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--blue-500),var(--blue-600));color:#fff;font-weight:var(--fw-black);font-size:var(--fz-xl);letter-spacing:-.02em;box-shadow:0 12px 24px -8px #247ee566,inset 0 -2px 6px #00000014;flex:0 0 auto;font-variant-numeric:tabular-nums}.test-question-type{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--c-primary-50);color:var(--c-primary-700);font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.test-question-counter{font-size:var(--fz-sm);color:var(--c-text-muted);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}.test-question-text{position:relative;font-size:clamp(20px,1.4vw + 16px,26px);font-weight:var(--fw-semi);line-height:1.4;color:var(--c-ink-900);letter-spacing:var(--ls-snug);margin-bottom:var(--sp-6);z-index:1}.test-question-image{display:block;max-width:100%;height:auto;border-radius:var(--r-lg);margin:0 0 var(--sp-6);box-shadow:var(--sh-md)}.test-answer{position:relative;margin-top:var(--sp-4);z-index:1}.test-answer-input-wrap{position:relative}.test-answer-input{width:100%;padding:var(--sp-6) var(--sp-5);background:var(--c-surface-2);border:2px solid var(--c-border);border-radius:var(--r-lg);font-family:var(--font-mono);font-size:clamp(22px,2vw + 12px,32px);font-weight:var(--fw-semi);text-align:center;color:var(--c-ink-900);letter-spacing:.02em;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.test-answer-input::placeholder{color:var(--c-text-dim);font-weight:var(--fw-regular);font-size:18px;font-family:var(--font-sans)}.test-answer-input:hover{border-color:var(--c-border-strong)}.test-answer-input:focus{outline:none;border-color:var(--c-primary);background:var(--c-surface);box-shadow:0 0 0 6px #247ee524;transform:scale(1.01)}.test-answer-input.is-filled{background:var(--c-surface);border-color:var(--c-primary)}.test-answer-input.is-text{font-family:var(--font-sans);font-size:clamp(18px,1.2vw + 14px,22px);text-align:left;letter-spacing:0}.test-choice-list{display:flex;flex-direction:column;gap:var(--sp-3)}.test-choice{position:relative;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out);will-change:transform;animation:test-choice-in .38s cubic-bezier(.22,1,.36,1) both}.test-choice:nth-child(1){animation-delay:0ms}.test-choice:nth-child(2){animation-delay:40ms}.test-choice:nth-child(3){animation-delay:80ms}.test-choice:nth-child(4){animation-delay:.12s}.test-choice:nth-child(5){animation-delay:.16s}.test-choice:nth-child(6){animation-delay:.2s}.test-choice:nth-child(7){animation-delay:.24s}.test-choice:nth-child(8){animation-delay:.28s}@keyframes test-choice-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.test-choice:hover{border-color:var(--c-primary-200, var(--c-border-strong));background:var(--c-primary-50);transform:translate(3px)}.test-choice:active{transform:translate(1px) scale(.998)}.test-choice.is-selected{border-color:var(--c-primary);background:linear-gradient(135deg,var(--c-primary-50) 0%,var(--c-surface) 100%);box-shadow:0 8px 24px -12px #247ee566}.test-choice.is-selected:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,rgba(36,126,229,.12),transparent 70%);animation:test-choice-glow .7s var(--ease-out) forwards;pointer-events:none}@keyframes test-choice-glow{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.test-choice-marker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--c-surface-3);border:2px solid var(--c-border-strong);color:var(--c-text-muted);font-weight:var(--fw-black);font-size:var(--fz-sm);flex:0 0 auto;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-base) var(--ease-back)}.test-choice.is-selected .test-choice-marker{background:var(--c-primary);border-color:var(--c-primary);color:#fff;transform:scale(1.08) rotate(360deg)}.test-choice.is-selected .test-choice-marker:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--c-primary);opacity:0;animation:test-marker-ring .6s var(--ease-out) forwards}@keyframes test-marker-ring{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.test-choice-text{flex:1 1 auto;min-width:0;font-size:var(--fz-base);font-weight:var(--fw-medium);line-height:1.4;color:var(--c-text);overflow-wrap:anywhere}.test-matching{display:flex;flex-direction:column;gap:var(--sp-3)}.test-matching-row{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--sp-3);align-items:center;padding:var(--sp-4);background:var(--c-surface-2);border:1.5px solid var(--c-border);border-radius:var(--r-lg);animation:test-choice-in .38s var(--ease-out) both}.test-matching-row:nth-child(1){animation-delay:0ms}.test-matching-row:nth-child(2){animation-delay:60ms}.test-matching-row:nth-child(3){animation-delay:.12s}.test-matching-row:nth-child(4){animation-delay:.18s}.test-matching-row:nth-child(5){animation-delay:.24s}.test-matching-row:nth-child(6){animation-delay:.3s}.test-matching-left{font-weight:var(--fw-semi);color:var(--c-ink-900);overflow-wrap:anywhere}.test-matching-arrow{color:var(--c-text-dim);flex:0 0 auto}.test-matching-row .select{min-width:0}.test-ordering{display:flex;flex-direction:column;gap:var(--sp-2)}.test-ordering-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-3);background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-lg);transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out);animation:test-choice-in .34s var(--ease-out) both;cursor:grab}.test-ordering-item:active{cursor:grabbing}.test-ordering-item.is-dragging{opacity:.4;transform:scale(.98)}.test-ordering-item.is-drop-target{border-color:var(--c-primary);background:var(--c-primary-50);transform:translateY(2px)}.test-ordering-item:hover{border-color:var(--c-border-strong);box-shadow:var(--sh-sm)}.test-ordering-grip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--c-text-dim);flex:0 0 auto;transition:color var(--t-fast),background var(--t-fast)}.test-ordering-item:hover .test-ordering-grip{color:var(--c-primary);background:var(--c-primary-50)}.test-ordering-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:var(--r-sm);background:var(--c-primary-100);color:var(--c-primary-700);font-weight:var(--fw-black);font-size:var(--fz-sm);flex:0 0 auto;font-variant-numeric:tabular-nums}.test-ordering-text{flex:1 1 auto;min-width:0;font-weight:var(--fw-medium);overflow-wrap:anywhere}.test-ordering-buttons{display:inline-flex;gap:4px;flex:0 0 auto}.test-ordering-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.test-ordering-btn:hover:not(:disabled){background:var(--c-primary-50);color:var(--c-primary-700);border-color:var(--c-primary)}.test-ordering-btn:active:not(:disabled){transform:scale(.92)}.test-ordering-btn:disabled{opacity:.35;cursor:not-allowed}.test-question-nav{display:flex;gap:var(--sp-3);justify-content:space-between;margin-top:var(--sp-6);flex-wrap:wrap}.test-question-nav .btn{min-width:140px}.test-question-nav .btn-primary-next{margin-left:auto}.test-numbers{margin-top:var(--sp-6);padding:var(--sp-4);background:#fff9;border:1px solid var(--c-border);border-radius:var(--r-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.test-numbers-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.test-numbers-label{font-size:var(--fz-xs);font-weight:var(--fw-bold);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:var(--ls-wide)}.test-numbers-list{display:flex;flex-wrap:wrap;gap:8px}.test-number{position:relative;width:40px;height:40px;border-radius:var(--r-sm);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text-muted);font-family:inherit;font-size:var(--fz-sm);font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease-out);font-variant-numeric:tabular-nums}.test-number:hover{border-color:var(--c-primary);color:var(--c-primary-700);transform:translateY(-2px)}.test-number.is-current{background:linear-gradient(135deg,var(--blue-500),var(--blue-600));border-color:transparent;color:#fff;box-shadow:0 8px 16px -6px #247ee580;transform:scale(1.06)}.test-number.is-current:after{content:"";position:absolute;inset:-4px;border-radius:calc(var(--r-sm) + 4px);border:2px solid var(--c-primary);opacity:0;animation:test-marker-ring .8s var(--ease-out) forwards}.test-number.is-answered{background:var(--c-success-bg);border-color:var(--c-success-br);color:var(--c-green-700)}.test-number.is-answered:before{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--c-success);box-shadow:0 0 0 2px var(--c-surface)}.test-type-hint{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:linear-gradient(135deg,#247ee50f,#1bb8a20a);border:1px solid rgba(36,126,229,.14);border-radius:var(--r-md);margin-bottom:var(--sp-4)}.test-type-hint-icon{flex:0 0 auto;color:var(--c-primary);margin-top:1px}.test-type-hint-text{font-size:var(--fz-sm);color:var(--c-primary-700);line-height:1.5}.test-abort-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1.5px solid var(--c-border);border-radius:var(--r-md);color:var(--c-text-muted);font-size:var(--fz-sm);font-weight:var(--fw-semi);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.test-abort-btn:hover{background:var(--c-danger-bg);color:var(--c-coral-700);border-color:var(--c-danger-br)}.test-finish{max-width:480px;margin:0 auto;padding:var(--sp-10) var(--sp-5);text-align:center;animation:test-question-in .52s var(--ease-out) both}.test-finish-spinner{width:80px;height:80px;margin:0 auto var(--sp-6);border-radius:50%;border:4px solid var(--c-primary-100);border-top-color:var(--c-primary);animation:spin .9s linear infinite}.test-finish-title{font-size:var(--fz-2xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);color:var(--c-ink-900);margin-bottom:var(--sp-2)}.test-finish-text{font-size:var(--fz-base);color:var(--c-text-muted);line-height:1.5}.test-success{max-width:480px;margin:0 auto;padding:var(--sp-10) var(--sp-5);text-align:center;animation:test-question-in .52s var(--ease-out) both}.test-success-icon-wrap{position:relative;width:120px;height:120px;margin:0 auto var(--sp-6);display:flex;align-items:center;justify-content:center}.test-success-icon-wrap:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,var(--blue-400),var(--blue-600));box-shadow:0 24px 60px -16px #247ee580,inset 0 -4px 12px #00000014;animation:test-success-scale .7s cubic-bezier(.34,1.56,.64,1) both}.test-success-icon-wrap:after{content:"";position:absolute;inset:-12px;border-radius:50%;border:3px dashed rgba(36,126,229,.35);animation:test-success-ring .8s var(--ease-out) .3s both,achievements-hero-ring 20s linear infinite 1s}.test-success-icon-wrap svg{position:relative;z-index:1;color:#fff;animation:test-success-check .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes test-success-scale{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes test-success-ring{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes test-success-check{0%{opacity:0;transform:scale(0) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.test-success-title{font-size:clamp(24px,2vw + 14px,32px);font-weight:var(--fw-black);letter-spacing:-.02em;color:var(--c-ink-900);margin-bottom:var(--sp-2)}.test-success-text{font-size:var(--fz-base);color:var(--c-text-muted);line-height:1.5;margin-bottom:var(--sp-6)}.test-success-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:5}.test-confetti-piece{position:absolute;top:-20px;width:10px;height:14px;opacity:0;animation:test-confetti-fall linear forwards;will-change:transform,opacity}@keyframes test-confetti-fall{0%{opacity:1;transform:translateZ(0) rotate(0)}to{opacity:0;transform:translate3d(var(--drift, 40px),100vh,0) rotate(720deg)}}@media (max-width: 639px){.test-header{height:60px}.test-header-inner{padding:0 var(--sp-4);gap:var(--sp-3)}.test-header-brand{font-size:var(--fz-sm);gap:var(--sp-2)}.test-header-brand img{width:32px;height:32px}.test-header-brand span{display:none}.test-main{padding:var(--sp-5) var(--sp-4) var(--sp-10)}.test-progress-head{gap:var(--sp-2)}.test-progress-step{font-size:10px}.test-progress-track{height:8px}.test-question{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-xl)}.test-question-badge{min-width:48px;height:48px;font-size:var(--fz-lg);border-radius:var(--r-md)}.test-question-text{font-size:18px;margin-bottom:var(--sp-5)}.test-answer-input{padding:var(--sp-5) var(--sp-4);font-size:24px}.test-answer-input.is-text{font-size:17px}.test-choice{padding:var(--sp-4);gap:var(--sp-3)}.test-choice-marker{width:28px;height:28px;font-size:var(--fz-xs)}.test-choice-text{font-size:var(--fz-sm)}.test-question-nav{flex-direction:column-reverse;gap:var(--sp-2)}.test-question-nav .btn{width:100%;min-width:0}.test-matching-row{grid-template-columns:1fr;gap:var(--sp-2);padding:var(--sp-3)}.test-matching-arrow{display:none}.test-ordering-item{padding:var(--sp-3);gap:var(--sp-2)}.test-ordering-text{font-size:var(--fz-sm)}.test-number{width:36px;height:36px;font-size:var(--fz-xs)}.test-timer{padding:6px 12px;font-size:var(--fz-sm)}}@media (prefers-reduced-motion: reduce){.test-question,.test-choice,.test-matching-row,.test-ordering-item,.test-success-icon-wrap:before,.test-success-icon-wrap:after,.test-success-icon-wrap svg,.test-finish,.test-success{animation:none!important;opacity:1!important;transform:none!important}.test-progress-fill{animation:none}.test-choice:hover,.test-number:hover{transform:none}}.result-hero{position:relative;padding:var(--sp-8);border-radius:var(--r-2xl);overflow:hidden;isolation:isolate;color:#fff;box-shadow:0 24px 60px -20px #102f4f47,var(--sh-md);animation:result-hero-in .62s cubic-bezier(.22,1,.36,1) both}@keyframes result-hero-in{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.result-hero.is-success{background:radial-gradient(circle at 15% 15%,rgba(247,191,63,.22),transparent 55%),linear-gradient(135deg,#1b8a5a,#27b56f 55%,#1bb8a2)}.result-hero.is-partial{background:radial-gradient(circle at 15% 15%,rgba(247,191,63,.24),transparent 55%),linear-gradient(135deg,#b8861a,#f7bf3f 55%,#f2867d)}.result-hero.is-fail{background:radial-gradient(circle at 15% 15%,rgba(247,191,63,.16),transparent 55%),linear-gradient(135deg,#b83f47,#ec6a72 55%,#f2867d)}.result-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 100%,rgba(255,255,255,.14),transparent 55%),radial-gradient(circle at 5% 90%,rgba(255,255,255,.1),transparent 50%);pointer-events:none;z-index:-1}.result-hero:after{content:"";position:absolute;top:-40%;left:-30%;width:160%;height:160%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.06) 60deg,transparent 120deg,rgba(255,255,255,.05) 180deg,transparent 240deg);animation:achievements-hero-spin 60s linear infinite;pointer-events:none;z-index:-1}.result-hero-top{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.result-hero-badge{position:relative;width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff29;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);flex:0 0 auto;animation:result-badge-pop .7s cubic-bezier(.34,1.56,.64,1) both}.result-hero-badge:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px dashed rgba(255,255,255,.4);animation:achievements-hero-ring 20s linear infinite}.result-hero-badge svg{color:#fff;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}@keyframes result-badge-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.result-hero-info{flex:1 1 220px;min-width:0}.result-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffbf}.result-hero-title{font-size:clamp(24px,2.4vw + 14px,36px);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#fff;margin-top:4px;overflow-wrap:anywhere}.result-hero-sub{font-size:var(--fz-sm);color:#ffffffe0;margin-top:var(--sp-2);line-height:1.5}.result-hero-score{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.result-hero-score-value{font-size:clamp(36px,4vw + 18px,56px);font-weight:900;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 4px 16px rgba(0,0,0,.18)}.result-hero-score-label{font-size:var(--fz-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffffbf}.result-hero-progress{position:relative;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.16)}.result-hero-progress-track{height:10px;border-radius:var(--r-pill);background:#ffffff2e;overflow:hidden}.result-hero-progress-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,#ffd97a,#fff);box-shadow:0 0 16px #fff9;transition:width .9s cubic-bezier(.22,1,.36,1);width:0%}.result-hero-progress-meta{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--fz-xs);color:#ffffffd1;flex-wrap:wrap}.result-hero-progress-meta strong{color:#fff;font-weight:800;font-variant-numeric:tabular-nums}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-4);margin-top:var(--sp-6)}.result-stat{position:relative;padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out);animation:result-stat-in .5s var(--ease-out) both}.result-stat:hover{border-color:var(--c-border-strong);box-shadow:var(--sh-md);transform:translateY(-2px)}.result-stat:nth-child(1){animation-delay:60ms}.result-stat:nth-child(2){animation-delay:.12s}.result-stat:nth-child(3){animation-delay:.18s}.result-stat:nth-child(4){animation-delay:.24s}.result-stat:nth-child(5){animation-delay:.3s}.result-stat:nth-child(6){animation-delay:.36s}@keyframes result-stat-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result-stat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.result-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);font-weight:700}.result-stat-icon{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--c-primary-50);color:var(--c-primary-700);flex:0 0 auto}.result-stat-icon.is-success{background:var(--c-success-bg);color:var(--c-green-700)}.result-stat-icon.is-warning{background:var(--c-warning-bg);color:var(--c-peach-700)}.result-stat-icon.is-danger{background:var(--c-danger-bg);color:var(--c-coral-700)}.result-stat-icon.is-info{background:var(--c-info-bg);color:var(--c-sky-700)}.result-stat-icon.is-lav{background:var(--c-lav-100);color:var(--c-lav-700)}.result-stat-value{font-size:var(--fz-2xl);font-weight:900;color:var(--c-text);letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-stat-value.is-success{color:var(--c-green-700)}.result-stat-value.is-warning{color:var(--c-peach-700)}.result-stat-value.is-danger{color:var(--c-coral-700)}.result-stat-hint{font-size:var(--fz-xs);color:var(--c-text-dim);margin-top:var(--sp-2);line-height:1.4}.result-alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-5);border-radius:var(--r-lg);margin-top:var(--sp-5);border:1px solid;animation:result-stat-in .5s var(--ease-out) both}.result-alert-icon{flex:0 0 auto;margin-top:2px}.result-alert-title{font-weight:700;margin-bottom:4px;color:inherit}.result-alert.is-warning{background:var(--c-warning-bg);border-color:var(--c-warning-br);color:var(--c-peach-700)}.result-alert.is-danger{background:var(--c-danger-bg);border-color:var(--c-danger-br);color:var(--c-coral-700)}.result-alert.is-info{background:var(--c-info-bg);border-color:var(--c-info-br);color:var(--c-sky-700)}.result-alert.is-success{background:var(--c-success-bg);border-color:var(--c-success-br);color:var(--c-green-700)}.result-section{margin-top:var(--sp-8)}.result-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap}.result-section-title{font-size:var(--fz-xl);font-weight:800;color:var(--c-text);letter-spacing:-.01em}.result-section-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--c-surface-3);border-radius:var(--r-md)}.result-section-tab{padding:8px 14px;border:0;background:transparent;border-radius:var(--r-sm);font-family:inherit;font-size:var(--fz-sm);font-weight:600;color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.result-section-tab:hover{color:var(--c-text)}.result-section-tab.is-active{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--sh-xs)}.result-review{position:relative;padding:var(--sp-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);margin-bottom:var(--sp-3);transition:border-color var(--t-fast),box-shadow var(--t-fast);animation:result-stat-in .42s var(--ease-out) both}.result-review:hover{box-shadow:var(--sh-md)}.result-review.is-correct{border-left:4px solid var(--c-success)}.result-review.is-wrong{border-left:4px solid var(--c-danger)}.result-review.is-skipped{border-left:4px solid var(--c-text-dim)}.result-review.is-partial{border-left:4px solid var(--c-warning)}.result-review-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.result-review-number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--r-md);font-weight:900;font-size:var(--fz-base);flex:0 0 auto;font-variant-numeric:tabular-nums}.result-review-number.is-correct{background:var(--c-success-bg);color:var(--c-green-700);border:1px solid var(--c-success-br)}.result-review-number.is-wrong{background:var(--c-danger-bg);color:var(--c-coral-700);border:1px solid var(--c-danger-br)}.result-review-number.is-skipped{background:var(--c-surface-3);color:var(--c-text-muted);border:1px solid var(--c-border)}.result-review-number.is-partial{background:var(--c-warning-bg);color:var(--c-peach-700);border:1px solid var(--c-warning-br)}.result-review-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.result-review-status.is-correct{background:var(--c-success-bg);color:var(--c-green-700)}.result-review-status.is-wrong{background:var(--c-danger-bg);color:var(--c-coral-700)}.result-review-status.is-skipped{background:var(--c-surface-3);color:var(--c-text-muted)}.result-review-status.is-partial{background:var(--c-warning-bg);color:var(--c-peach-700)}.result-review-type{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--c-primary-50);color:var(--c-primary-700);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.result-review-points{margin-left:auto;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-primary-50);color:var(--c-primary-700);font-weight:800;font-size:var(--fz-sm);font-variant-numeric:tabular-nums}.result-review-points.is-zero{background:var(--c-surface-3);color:var(--c-text-muted)}.result-review-text{font-size:var(--fz-base);font-weight:600;line-height:1.45;color:var(--c-text);margin-bottom:var(--sp-4);overflow-wrap:anywhere}.result-review-image{display:block;max-width:100%;height:auto;border-radius:var(--r-md);margin:0 0 var(--sp-4);box-shadow:var(--sh-sm)}.result-answers{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.result-answer{padding:var(--sp-4);border-radius:var(--r-md);font-size:var(--fz-sm);line-height:1.5;word-break:break-word;animation:result-stat-in .4s var(--ease-out) both}.result-answer-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px;display:block;opacity:.75}.result-answer-value{font-weight:600;overflow-wrap:anywhere}.result-answer.is-user-wrong{background:var(--c-danger-bg);border:1px solid var(--c-danger-br);color:var(--c-coral-700)}.result-answer.is-user-correct,.result-answer.is-correct-answer{background:var(--c-success-bg);border:1px solid var(--c-success-br);color:var(--c-green-700)}.result-answer.is-skipped{background:var(--c-surface-3);border:1px dashed var(--c-border-strong);color:var(--c-text-muted)}.result-answer-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.result-answer-item{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);background:#ffffff8c;font-size:var(--fz-xs);font-weight:600}.result-answer-item.is-ok:before{content:"✓";color:var(--c-success);font-weight:900}.result-answer-item.is-bad:before{content:"✕";color:var(--c-danger);font-weight:900}.result-answer-item.is-miss:before{content:"•";color:var(--c-text-muted);font-weight:900}.result-explanation{margin-top:var(--sp-4);padding:var(--sp-4);background:linear-gradient(135deg,var(--c-primary-50),var(--c-surface-2));border:1px solid var(--c-primary-100);border-radius:var(--r-md);display:flex;gap:var(--sp-3);align-items:flex-start}.result-explanation-icon{flex:0 0 auto;color:var(--c-primary-700);margin-top:2px}.result-explanation-title{font-size:var(--fz-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c-primary-700);margin-bottom:4px}.result-explanation-text{font-size:var(--fz-sm);line-height:1.55;color:var(--c-text);overflow-wrap:anywhere}.result-details{margin-top:var(--sp-4);border:1px dashed var(--c-border-strong);border-radius:var(--r-md);overflow:hidden}.result-details summary{cursor:pointer;padding:var(--sp-3) var(--sp-4);font-size:var(--fz-sm);font-weight:600;color:var(--c-text-muted);list-style:none;display:flex;align-items:center;gap:var(--sp-2);transition:background var(--t-fast),color var(--t-fast)}.result-details summary::-webkit-details-marker{display:none}.result-details summary:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--t-base) var(--ease-out);margin-left:auto}.result-details[open] summary:after{transform:rotate(-135deg) translate(-1px,-1px)}.result-details summary:hover{background:var(--c-surface-2);color:var(--c-text)}.result-details-body{padding:var(--sp-4);background:var(--c-surface-2);border-top:1px solid var(--c-border);font-size:var(--fz-sm);line-height:1.5}.result-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-4)}.result-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);font-size:var(--fz-sm);font-weight:600;color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);font-family:inherit}.result-chip:hover{border-color:var(--c-primary);color:var(--c-primary-700);transform:translateY(-1px)}.result-chip.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.result-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:#fff6;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.result-chip.is-active .result-chip-count{background:#ffffff47}.result-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-8);padding:var(--sp-6);background:linear-gradient(135deg,var(--c-primary-50),var(--c-surface));border:1px solid var(--c-primary-100);border-radius:var(--r-xl);align-items:center;justify-content:space-between}.result-actions-text{flex:1 1 240px;min-width:0}.result-actions-title{font-size:var(--fz-lg);font-weight:800;color:var(--c-text);letter-spacing:-.01em}.result-actions-sub{font-size:var(--fz-sm);color:var(--c-text-muted);margin-top:4px;line-height:1.45}.result-actions-buttons{display:flex;gap:var(--sp-2);flex-wrap:wrap}.result-type-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.result-type-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}.result-type-row-icon{width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--c-primary-50);color:var(--c-primary-700);flex:0 0 auto}.result-type-row-body{flex:1;min-width:0}.result-type-row-name{font-size:var(--fz-sm);font-weight:700;color:var(--c-text)}.result-type-row-meta{font-size:var(--fz-xs);color:var(--c-text-muted);margin-top:2px;font-variant-numeric:tabular-nums}.result-type-row-bar{height:6px;border-radius:var(--r-pill);background:var(--c-surface-3);overflow:hidden;margin-top:6px}.result-type-row-bar-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--c-success),var(--c-primary));transition:width .6s var(--ease-out)}.result-type-row-bar-fill.is-warn{background:linear-gradient(90deg,var(--c-warning),var(--c-danger))}@media (max-width: 639px){.result-hero{padding:var(--sp-6) var(--sp-5);border-radius:var(--r-xl)}.result-hero-top{flex-direction:column;align-items:stretch;gap:var(--sp-4);text-align:center}.result-hero-badge{width:72px;height:72px;margin:0 auto}.result-hero-score{align-items:center}.result-hero-score-value{font-size:44px}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.result-stat{padding:var(--sp-4)}.result-stat-value{font-size:var(--fz-xl)}.result-stat-icon{width:32px;height:32px}.result-review{padding:var(--sp-4)}.result-answers{grid-template-columns:1fr}.result-section-tabs{width:100%;justify-content:stretch}.result-section-tab{flex:1 1 auto;text-align:center}.result-actions{padding:var(--sp-5);flex-direction:column;align-items:stretch}.result-actions-buttons{flex-direction:column}.result-actions-buttons .btn{width:100%}.result-type-summary{grid-template-columns:1fr}}@media (max-width: 380px){.result-hero-score-value{font-size:36px}.result-review-number{min-width:34px;height:34px;font-size:var(--fz-sm)}}@media (prefers-reduced-motion: reduce){.result-hero,.result-hero-badge,.result-stat,.result-review,.result-alert,.result-answer{animation:none!important;opacity:1!important;transform:none!important}.result-hero:after{animation:none}.result-stat:hover{transform:none}.result-hero-progress-fill{transition:none}}
