@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-italic-xAqemagA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-italic-DFS986qL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-italic-Bxi8ein9.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,html[data-theme=dark]{--bg:oklch(14.8% .005 85);--bg-elevated:oklch(12.2% .004 85);--surface:oklch(20.2% .006 85);--surface-2:oklch(17.1% .005 85);--overlay:oklch(25.2% .008 85);--sidebar:oklch(13.2% .004 85);--ink:oklch(96.8% .004 85);--muted:oklch(74.8% .011 85);--faint:oklch(55.6% .013 85);--primary:oklch(82% .145 160);--primary-hover:oklch(87% .135 160);--primary-press:oklch(72% .155 160);--primary-btn:oklch(66% .15 160);--primary-btn-hover:oklch(72% .14 160);--on-primary:oklch(15% .03 160);--primary-soft:color-mix(in oklch, var(--primary) 13%, transparent);--primary-line:color-mix(in oklch, var(--primary) 38%, transparent);--gain:oklch(79% .135 160);--gain-soft:color-mix(in oklch, var(--gain) 14%, transparent);--loss:oklch(69% .165 24);--loss-soft:color-mix(in oklch, var(--loss) 14%, transparent);--warn:oklch(83% .125 85);--warn-soft:color-mix(in oklch, var(--warn) 14%, transparent);--success:var(--gain);--success-soft:var(--gain-soft);--danger:var(--loss);--danger-soft:var(--loss-soft);--danger-line:color-mix(in oklch, var(--loss) 42%, transparent);--border:color-mix(in oklch, var(--ink) 10%, transparent);--border-strong:color-mix(in oklch, var(--ink) 18%, transparent);--hairline:color-mix(in oklch, var(--ink) 6%, transparent);--line:var(--border);--accent:var(--primary);--radius:var(--r-lg);--font-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Newsreader Variable", Newsreader, Georgia, ui-serif, serif;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.3125rem;--fs-2xl:1.625rem;--fs-3xl:2.25rem;--lh-tight:1.16;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.72;--tracking-tight:-.02em;--tracking-tighter:-.035em;--tracking-wide:.08em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:56px;--sp-10:72px;--r-xs:7px;--r-sm:9px;--r-md:11px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sidebar-w:248px;--content-max:1080px;--page-pad-x:clamp(16px, 4vw, 48px);--prose-measure:70ch;--z-sticky:100;--z-mobile-nav:200;--z-dropdown:300;--z-overlay:400;--z-modal:500;--z-toast:600;--shadow-sm:0 1px 2px oklch(0% 0 0/.42), 0 1px 3px oklch(0% 0 0/.3);--shadow-md:0 4px 12px oklch(0% 0 0/.34), 0 14px 34px oklch(0% 0 0/.46);--shadow-lg:0 8px 24px oklch(0% 0 0/.4), 0 34px 72px oklch(0% 0 0/.6);--inset-top:inset 0 1px 0 oklch(100% 0 0/.035);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 36%, transparent);--select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a8a29a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--picker-filter:invert(.78) saturate(.78);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--dur-fast:.14s;--dur:.2s;--dur-slow:.32s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--bg:oklch(97.6% .003 95);--bg-elevated:oklch(100% 0 0);--surface:oklch(100% 0 0);--surface-2:oklch(96.6% .004 95);--overlay:oklch(94% .005 95);--sidebar:oklch(98% .003 95);--ink:oklch(22% .012 80);--muted:oklch(45.5% .014 80);--faint:oklch(59.5% .012 80);--primary:oklch(52% .15 160);--primary-hover:oklch(46% .16 160);--primary-press:oklch(40% .16 160);--primary-btn:oklch(50% .16 160);--primary-btn-hover:oklch(44% .16 160);--on-primary:oklch(99% 0 0);--primary-soft:color-mix(in oklch, var(--primary) 11%, transparent);--primary-line:color-mix(in oklch, var(--primary) 34%, transparent);--gain:oklch(50% .14 160);--gain-soft:color-mix(in oklch, var(--gain) 13%, transparent);--loss:oklch(52% .17 24);--loss-soft:color-mix(in oklch, var(--loss) 13%, transparent);--warn:oklch(56% .13 85);--warn-soft:color-mix(in oklch, var(--warn) 13%, transparent);--border:color-mix(in oklch, var(--ink) 12%, transparent);--border-strong:color-mix(in oklch, var(--ink) 20%, transparent);--hairline:color-mix(in oklch, var(--ink) 8%, transparent);--line:var(--border);--accent:var(--primary);--shadow-sm:0 1px 2px oklch(20% .01 80/.05), 0 1px 3px oklch(20% .01 80/.06);--shadow-md:0 4px 12px oklch(20% .01 80/.07), 0 14px 34px oklch(20% .01 80/.09);--shadow-lg:0 8px 24px oklch(20% .01 80/.1), 0 34px 72px oklch(20% .01 80/.13);--inset-top:inset 0 1px 0 oklch(100% 0 0/.7);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 26%, transparent);--select-chevron:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6560' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");--picker-filter:invert(.2) saturate(.9);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark][data-accent=red],html[data-accent=red]{--primary:oklch(76% .165 24);--primary-hover:oklch(82% .155 24);--primary-press:oklch(66% .175 24);--primary-btn:oklch(60% .175 24);--primary-btn-hover:oklch(66% .165 24);--on-primary:oklch(99% .01 24);--primary-soft:color-mix(in oklch, var(--primary) 13%, transparent);--primary-line:color-mix(in oklch, var(--primary) 38%, transparent);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 36%, transparent)}html[data-theme=light][data-accent=red]{--primary:oklch(53% .185 24);--primary-hover:oklch(47% .185 24);--primary-press:oklch(42% .185 24);--primary-btn:oklch(51% .185 24);--primary-btn-hover:oklch(45% .185 24);--on-primary:oklch(99% 0 0);--primary-soft:color-mix(in oklch, var(--primary) 11%, transparent);--primary-line:color-mix(in oklch, var(--primary) 34%, transparent);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 26%, transparent)}html[data-theme=dark][data-accent=green]{--primary:oklch(82% .145 160);--primary-hover:oklch(87% .135 160);--primary-press:oklch(72% .155 160);--primary-btn:oklch(66% .15 160);--primary-btn-hover:oklch(72% .14 160);--on-primary:oklch(15% .03 160);--primary-soft:color-mix(in oklch, var(--primary) 13%, transparent);--primary-line:color-mix(in oklch, var(--primary) 38%, transparent);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 36%, transparent)}html[data-theme=light][data-accent=green]{--primary:oklch(52% .15 160);--primary-hover:oklch(46% .16 160);--primary-press:oklch(40% .16 160);--primary-btn:oklch(50% .16 160);--primary-btn-hover:oklch(44% .16 160);--on-primary:oklch(99% 0 0);--primary-soft:color-mix(in oklch, var(--primary) 11%, transparent);--primary-line:color-mix(in oklch, var(--primary) 34%, transparent);--ring:0 0 0 3px color-mix(in oklch, var(--primary) 26%, transparent)}:root{--color-background:var(--bg);--color-sidebar:var(--sidebar);--color-surface:var(--surface);--color-surface-elevated:var(--bg-elevated);--color-surface-hover:var(--overlay);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--color-text-muted:var(--faint);--color-accent:var(--primary);--color-accent-hover:var(--primary-hover);--color-positive:var(--gain);--color-negative:var(--loss);--color-warning:var(--warn);--focus-ring:var(--ring)}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1100px 560px at 12% -14%, color-mix(in oklch, var(--primary) 6%, transparent), transparent 56%), radial-gradient(900px 500px at 92% 0%, color-mix(in oklch, var(--primary) 3%, transparent), transparent 52%), var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);font-feature-settings:"cv02", "cv03", "cv04", "cv11", "ss01";font-variant-ligatures:common-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;hanging-punctuation:first last;background-attachment:fixed}img,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4{font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{text-wrap:pretty}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}:focus:not(:focus-visible){outline:none}::selection{background:color-mix(in oklch, var(--primary) 30%, transparent);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch, var(--ink) 24%, transparent);background-clip:padding-box}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "cv02", "cv03"}.prose{font-family:var(--font-serif);font-size:var(--fs-md);line-height:var(--lh-relaxed);max-width:var(--prose-measure);text-wrap:pretty}.prose--lg{font-size:1.0625rem}.stack>*+*{margin-top:var(--gap,var(--sp-4))}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.eyebrow{font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--faint);font-weight:600}@keyframes mc-shimmer{0%{background-position:-480px 0}to{background-position:480px 0}}.skeleton,.skel{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in oklch, var(--overlay) 80%, var(--surface-2)) 50%, var(--surface-2) 100%);animation:mc-shimmer 1.55s var(--ease-standard) infinite;border-radius:var(--r-sm);background-size:960px 100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton,.skel{background:var(--surface-2);animation:none}body{background:var(--bg)}}.btn{--btn-h:40px;min-height:var(--btn-h);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-base);white-space:nowrap;color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn--sm{--btn-h:32px;font-size:var(--fs-sm);gap:6px;padding:0 11px}.btn__label{display:inline-block}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.46;cursor:not-allowed}.btn--primary{background:linear-gradient(180deg, var(--primary-btn-hover), var(--primary-btn));border-color:color-mix(in oklch, var(--primary) 40%, transparent);color:var(--on-primary);box-shadow:0 1px 0 oklch(100% 5.96046e-8 none/.22) inset, 0 6px 16px color-mix(in oklch, var(--primary) 22%, transparent), 0 1px 2px oklch(0% 0 0/.28)}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg, var(--primary-hover), var(--primary-btn));border-color:color-mix(in oklch, var(--primary) 54%, transparent);box-shadow:0 1px 0 oklch(100% 5.96046e-8 none/.26) inset, 0 10px 24px color-mix(in oklch, var(--primary) 30%, transparent), 0 1px 2px oklch(0% 0 0/.3)}.btn--primary:active:not(:disabled){background:var(--primary-press);box-shadow:0 2px 8px color-mix(in oklch, var(--primary) 20%, transparent)}.btn--subtle{background:color-mix(in oklch, var(--surface) 92%, var(--ink) 2%);border-color:var(--border);color:var(--ink)}.btn--subtle:hover:not(:disabled){background:var(--overlay);border-color:var(--border-strong)}.btn--ghost{color:var(--muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface);color:var(--ink)}.btn--danger{color:var(--loss);border-color:color-mix(in oklch, var(--loss) 12%, transparent);background:0 0}.btn--danger:hover:not(:disabled){background:var(--loss-soft);border-color:color-mix(in oklch, var(--loss) 28%, transparent)}.btn--block{width:100%}.btn.is-loading>.btn__label{opacity:.72}.icon-btn{border-radius:var(--r-md);width:36px;height:36px;color:var(--muted);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface);border-color:var(--border);color:var(--ink)}.icon-btn:active{transform:translateY(.5px)}.icon-btn--danger:hover{background:var(--loss-soft);border-color:color-mix(in oklch, var(--loss) 24%, transparent);color:var(--loss)}.card{background:linear-gradient(180deg, color-mix(in oklch, var(--surface) 92%, var(--ink) 3%), var(--surface));border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--inset-top), var(--shadow-sm)}.card--flush{padding:0;overflow:clip}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{font-size:var(--fs-sm);color:var(--muted);font-weight:560}.field__hint{font-size:var(--fs-xs);color:var(--faint);line-height:var(--lh-normal)}.field__error{font-size:var(--fs-xs);color:var(--loss);line-height:var(--lh-normal)}.field--error .input{border-color:color-mix(in oklch, var(--loss) 44%, transparent)}.input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;min-height:42px;color:var(--ink);font-size:var(--fs-base);box-shadow:var(--inset-top);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:0 12px}.input::placeholder{color:var(--muted);opacity:1}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:color-mix(in oklch, var(--primary) 55%, transparent);background:color-mix(in oklch, var(--surface) 72%, var(--surface-2));box-shadow:var(--inset-top), 0 0 0 3px color-mix(in oklch, var(--primary) 16%, transparent);outline:none}.input:disabled{opacity:.52;cursor:not-allowed}.textarea{min-height:120px;line-height:var(--lh-relaxed);resize:vertical;padding:12px}.textarea--prose{font-family:var(--font-serif);font-size:var(--fs-md);line-height:var(--lh-relaxed);font-weight:400}.textarea--lg{min-height:204px}.select{appearance:none;background-image:var(--select-chevron);background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}.input[type=date]::-webkit-calendar-picker-indicator{filter:var(--picker-filter);cursor:pointer}.input[type=time]::-webkit-calendar-picker-indicator{filter:var(--picker-filter);cursor:pointer}.input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:var(--picker-filter);cursor:pointer}.form-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.form-row>.field{flex:180px}.form-row .field--grow{flex:2 260px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.form-error{color:var(--loss);font-size:var(--fs-sm);line-height:var(--lh-normal)}.form-hint{color:var(--muted);font-size:var(--fs-sm)}.tools-page{gap:var(--sp-5);flex-direction:column;display:flex}.tools-page>.page-head{margin-bottom:calc(-1 * var(--sp-3))}.tools-page__privacy{color:var(--muted);font-size:var(--fs-sm);margin:0}.tools-catalog{gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tools-catalog__group{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.tools-catalog__group h2{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.tools-catalog__grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));height:100%;display:grid}.tools-catalog__card{gap:var(--sp-2) var(--sp-3);min-height:148px;padding:var(--sp-4);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);grid-template-rows:1fr auto;grid-template-columns:auto minmax(0,1fr);text-decoration:none;display:grid}.tools-catalog__card:hover{border-color:var(--border-strong);background:color-mix(in oklch, var(--surface) 92%, var(--ink) 2%)}.tools-catalog__card:active{transform:translateY(.5px)}.tools-catalog__card.is-active{border-color:var(--primary-line);background:color-mix(in oklch, var(--primary-soft) 38%, var(--surface))}.tools-catalog__card>svg{color:var(--primary);margin-top:2px}.tools-catalog__card>span{flex-direction:column;gap:5px;min-width:0;display:flex}.tools-catalog__card strong{font-size:var(--fs-base)}.tools-catalog__card small{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal)}.tools-catalog__action{color:var(--primary);font-size:var(--fs-sm);grid-column:2;align-self:end;font-weight:650}.tool-workspace{gap:var(--sp-4);padding-top:var(--sp-2);flex-direction:column;display:flex}.tool-workspace__head{align-items:flex-start;gap:var(--sp-3);display:flex}.tool-workspace__head h2{font-size:var(--fs-xl);margin:0 0 4px}.tool-workspace__head p{color:var(--muted);margin:0}.tool-workspace__icon{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:var(--r-md);flex:none;place-items:center;display:inline-grid}.tool-workspace__grid{gap:var(--sp-4);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:stretch;display:grid}.tool-form-card form{gap:var(--sp-5);flex-direction:column;height:100%;display:flex}.tool-form-card__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.tool-form-card h3,.tool-result-card h3,.tool-formula h3{font-size:var(--fs-md);margin:0}.tool-currency{width:116px}.tool-fields{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-form-actions{margin-top:auto}.tool-result-card{gap:var(--sp-4);flex-direction:column;min-height:320px;display:flex}.tool-result-card .state-box{margin:auto 0}.tool-results{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-result{min-width:0;padding:var(--sp-4);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);flex-direction:column;gap:7px;display:flex}.tool-result span{color:var(--muted);font-size:var(--fs-sm)}.tool-result strong{overflow-wrap:anywhere;font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.tool-result--primary{padding:var(--sp-5);background:color-mix(in oklch, var(--primary-soft) 40%, var(--surface-2));border-color:var(--primary-line);grid-column:1/-1}.tool-result--primary strong{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.tool-formula{padding:var(--sp-4) var(--sp-5)}.tool-formula p{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.tool-context{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-strong);border-left:4px solid var(--primary);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);display:flex}.tool-context>div,.tool-inline-actions,.tool-result-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.tool-presets h3,.tool-history h3{margin-top:0}.tool-inline-actions .select,.tool-inline-actions .input{flex:180px;min-width:180px}.tool-result-actions{margin-top:var(--sp-4)}.tool-result-actions .input{flex:220px}.tool-workflow-status{padding:var(--sp-3);border-radius:var(--r-md);background:color-mix(in oklch, var(--gain) 12%, var(--surface));color:var(--ink);margin:0}.tool-history ul{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.tool-history li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.tool-history li>div{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.tool-history small{color:var(--muted)}@media (width<=560px){.tool-context,.tool-history li{flex-direction:column;align-items:stretch}.tool-context>div,.tool-history li>div,.tool-result-actions{width:100%}.tool-result-actions .btn,.tool-inline-actions .btn{flex:auto}}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-picker__option{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);min-height:112px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;align-items:stretch;gap:10px;padding:12px;display:flex}.theme-picker__option:hover{border-color:var(--border-strong);background:color-mix(in oklch, var(--surface) 55%, var(--surface-2))}.theme-picker__option:active{transform:translateY(.5px)}.theme-picker__option.is-selected{border-color:var(--primary-line);background:color-mix(in oklch, var(--primary-soft) 55%, var(--surface));box-shadow:0 0 0 1px color-mix(in oklch, var(--primary) 18%, transparent)}.theme-picker__swatch{border-radius:var(--r-md);border:1px solid color-mix(in oklch, var(--ink) 12%, transparent);height:44px;box-shadow:var(--shadow-sm);position:relative;overflow:clip}.theme-picker__swatch:before,.theme-picker__swatch:after{content:"";position:absolute;inset:0}.theme-picker__swatch--dark{background:linear-gradient(oklch(18.5% .006 80),oklch(14% .005 80))}.theme-picker__swatch--dark:before{background:oklch(22% .007 80);border:1px solid oklch(95% .004 80/.08);border-radius:6px;inset:8px 8px 8px 28%;box-shadow:0 0 0 1px oklch(80% .09 72/.3)}.theme-picker__swatch--dark:after{background:oklch(80% .09 72);border-radius:999px;width:8px;height:8px;inset:auto auto 12px 10px;box-shadow:0 0 10px oklch(80% .09 72/.45)}.theme-picker__swatch--light{background:linear-gradient(oklch(99% .001 240),oklch(95% .003 240))}.theme-picker__swatch--light:before{background:oklch(100% 0 0);border:1px solid oklch(24% .01 70/.1);border-radius:6px;inset:8px 8px 8px 28%;box-shadow:0 0 0 1px oklch(50% .11 65/.2)}.theme-picker__swatch--light:after{background:oklch(50% .11 65);border-radius:999px;width:8px;height:8px;inset:auto auto 12px 10px}.theme-picker__swatch--system{background:linear-gradient(90deg,oklch(14% .005 80) 0 50%,oklch(97% .002 240) 50% 100%)}.theme-picker__swatch--system:before{background:linear-gradient(90deg,oklch(21% .006 80) 0 50%,oklch(100% 0 0) 50% 100%);border:1px solid oklch(50% .01 70/.2);border-radius:6px;inset:10px}.theme-picker__swatch--system:after{background:linear-gradient(90deg,oklch(80% .09 72) 0 50%,oklch(50% .11 65) 50% 100%);border-radius:999px;width:8px;height:8px;inset:auto auto 13px calc(50% - 4px)}.theme-picker__copy{gap:2px;min-width:0;display:grid}.theme-picker__label{font-size:var(--fs-sm);letter-spacing:-.01em;color:var(--ink);font-weight:650}.theme-picker__hint{font-size:var(--fs-xs);color:var(--faint);line-height:1.35}@media (width<=560px){.theme-picker{grid-template-columns:1fr}.theme-picker__option{flex-direction:row;align-items:center;gap:12px;min-height:0}.theme-picker__swatch{flex:none;width:72px;height:40px}}.badge{border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 9px;font-weight:650;line-height:1.35;display:inline-flex}.badge--muted{background:var(--surface-2);border-color:var(--border);color:var(--muted)}.badge--primary{background:var(--primary-soft);border-color:color-mix(in oklch, var(--primary) 22%, transparent);color:var(--primary)}.badge--gain{background:var(--gain-soft);border-color:color-mix(in oklch, var(--gain) 20%, transparent);color:var(--gain)}.badge--loss{background:var(--loss-soft);border-color:color-mix(in oklch, var(--loss) 20%, transparent);color:var(--loss)}.badge--warn{background:var(--warn-soft);border-color:color-mix(in oklch, var(--warn) 22%, transparent);color:var(--warn)}.is-gain{color:var(--gain)}.is-loss{color:var(--loss)}.is-muted{color:var(--muted)}.is-ink{color:var(--ink)}.spinner{border:2px solid color-mix(in oklch, currentColor 22%, transparent);border-top-color:currentColor;border-radius:50%;animation:.72s linear infinite mc-spin;display:inline-block}@keyframes mc-spin{to{transform:rotate(360deg)}}.state-box{text-align:center;padding:var(--sp-8) var(--sp-6);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:150px;display:flex}.state-box--dense{min-height:auto;padding:var(--sp-5)}.state-box__icon{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);width:44px;height:44px;color:var(--faint);place-items:center;display:grid}.state-box__title{font-size:var(--fs-md);color:var(--ink);font-weight:620}.state-box__hint{font-size:var(--fs-sm);color:var(--muted);max-width:46ch}.state-box--error{text-align:left;min-height:auto;padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid color-mix(in oklch, var(--loss) 22%, var(--border));border-radius:var(--r-lg);flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:12px}.state-box__icon--error{color:var(--loss);background:var(--loss-soft);border-color:color-mix(in oklch, var(--loss) 22%, transparent)}.state-box__body{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.state-box__retry{margin-top:2px}.skel-lines{flex-direction:column;gap:8px;display:flex}.skel-lines .skel{height:.8em}.brand{letter-spacing:var(--tracking-tight);align-items:center;gap:10px;font-weight:650;display:inline-flex}.brand__mark{border:1px solid color-mix(in oklch, var(--primary) 22%, transparent);border-radius:var(--r-md);background:radial-gradient(circle at 50% 32%, color-mix(in oklch, var(--primary) 18%, transparent), transparent 62%), var(--primary-soft);width:34px;height:34px;color:var(--primary);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--ink) 6%, transparent);flex-shrink:0;place-items:center;display:grid}.brand__name{font-size:var(--fs-md);letter-spacing:-.012em;color:var(--ink)}.brand--compact .brand__mark{width:30px;height:30px}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-head__text{min-width:0}.page-head__sub{color:var(--muted);font-size:var(--fs-sm);margin-top:5px}.page-head__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.today-head{align-items:center}.today-head .page-head__text{flex:1}.today-head .page-head__text h1{letter-spacing:var(--tracking-tighter);font-size:clamp(1.75rem,2.5vw,2.15rem)}.today-head__actions{align-items:center;gap:var(--sp-2);display:flex}.today-head__search{align-items:center;gap:var(--sp-3);min-width:220px;min-height:44px;padding:0 var(--sp-3);color:var(--muted);background:color-mix(in oklch, var(--surface) 78%, transparent);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:inline-flex}.today-head__search:hover{color:var(--ink);background:var(--overlay);border-color:var(--border-strong)}.today-head__search kbd{border:1px solid var(--border);color:var(--faint);font-size:var(--fs-xs);border-radius:5px;margin-left:auto;padding:2px 6px}.today-head__notify{position:relative}.today-head__notify:after{content:"";background:var(--loss);opacity:.8;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.today-head__notify[disabled]{cursor:not-allowed;opacity:.7}.stat{background:linear-gradient(180deg, color-mix(in oklch, var(--surface) 90%, var(--ink) 3%), var(--surface));border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;padding:var(--sp-4) var(--sp-5);box-shadow:var(--inset-top), var(--shadow-sm);flex-direction:column;gap:5px;display:flex}.stat__label{font-size:var(--fs-xs);color:var(--muted);font-weight:650;line-height:var(--lh-snug);letter-spacing:.02em;text-transform:uppercase}.stat__value{font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:650;line-height:1.18}.stat__sub{font-size:var(--fs-xs);color:var(--faint);line-height:var(--lh-normal)}.stat-row{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.confirm{z-index:var(--z-modal);display:none;position:fixed;inset:0}.confirm.is-open{place-items:center;padding:16px;display:grid}.confirm__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:mc-fade var(--dur) var(--ease-out);background:oklch(8% .01 80/.74);position:absolute;inset:0}.confirm__panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-xl);width:min(390px,100vw - 32px);padding:var(--sp-6);box-shadow:var(--shadow-lg);animation:mc-pop var(--dur-slow) var(--ease-out);position:relative}.confirm__title{font-size:var(--fs-lg)}.confirm__msg{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal);margin-top:8px}.confirm__actions{margin-top:var(--sp-5);justify-content:flex-end;gap:10px;display:flex}@keyframes mc-fade{0%{opacity:0}}@keyframes mc-pop{0%{opacity:0;transform:translateY(8px)scale(.985)}}.skip-link{left:var(--sp-4);top:var(--sp-4);z-index:var(--z-toast);border:1px solid var(--primary-line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-sm);box-shadow:var(--shadow-md);transition:translate var(--dur-fast) var(--ease-out);padding:9px 12px;font-weight:650;position:fixed;translate:0 -160%}.skip-link:focus-visible{translate:0}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{gap:var(--sp-6);height:100vh;padding:var(--sp-6) var(--sp-4);background:linear-gradient(180deg, color-mix(in oklch, var(--sidebar) 94%, var(--primary) 2%), var(--sidebar));border-right:1px solid var(--hairline);flex-direction:column;display:flex;position:sticky;top:0}.sidebar>.brand{padding:0 var(--sp-2)}.sidebar__body{gap:var(--sp-3);flex-direction:column;flex:1;min-height:0;display:flex}.sidebar__label{color:var(--faint);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:0 11px;font-weight:700}.nav{flex-direction:column;gap:3px;display:flex}.nav__item{border-radius:var(--r-md);width:100%;min-height:40px;color:var(--muted);font-size:var(--fs-base);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:12px;padding:9px 11px;font-weight:540;display:flex;position:relative}.nav__item:hover{background:color-mix(in oklch, var(--surface) 74%, transparent);color:var(--ink)}.nav__item.is-active{background:color-mix(in oklch, var(--primary-soft) 62%, var(--surface-2));border-color:color-mix(in oklch, var(--primary) 20%, transparent);color:var(--primary);font-weight:650}.nav__item.is-active:before{content:"";border-radius:var(--r-pill);background:var(--primary);width:3px;height:18px;box-shadow:0 0 14px color-mix(in oklch, var(--primary) 60%, transparent);position:absolute;top:50%;left:-1px;translate:0 -50%}.nav__item.is-active svg{color:var(--primary)}.more-nav{border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.more-nav summary{cursor:pointer;color:var(--faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:8px 11px;font-weight:700}.more-nav summary:hover{color:var(--muted)}.more-nav__list{flex-direction:column;gap:2px;padding-top:2px;display:flex}.more-nav .nav__item{min-height:34px;font-size:var(--fs-sm);padding-left:13px}.sidebar__foot{padding-top:var(--sp-4);border-top:1px solid var(--hairline);gap:var(--sp-3);flex-direction:column;margin-top:auto;display:flex}.sidebar__identity{min-width:0;padding:0 var(--sp-2);flex-direction:column;gap:2px;display:flex}.sidebar__identity strong{color:var(--ink);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.sidebar__identity span{color:var(--faint);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__tools{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.signout-btn{width:100%;color:var(--muted);justify-content:flex-start}.signout-btn:hover{color:var(--ink)}.theme-toggle{color:var(--muted)}.theme-toggle:hover{color:var(--ink)}.main{flex-direction:column;min-width:0;display:flex}.content{width:100%;max-width:var(--content-max);padding:var(--sp-8) var(--page-pad-x) var(--sp-10);gap:var(--sp-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.mobile-top,.mobile-nav{display:none}.public-shell{background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.public-shell__top{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);background:color-mix(in oklch, var(--surface) 88%, transparent);z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.public-shell__brand{color:inherit;text-decoration:none}.public-shell__nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.public-shell__nav>a:not(.btn){color:var(--muted);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.public-shell__nav>a:not(.btn):hover{color:var(--ink)}.public-shell__main{width:min(960px,100%);padding:var(--sp-8) var(--sp-6) var(--sp-10);gap:var(--sp-8);flex-direction:column;flex:1;margin-inline:auto;display:flex}.landing{gap:var(--sp-8);flex-direction:column;display:flex}.landing__hero{gap:var(--sp-4);flex-direction:column;max-width:42rem;display:flex}.landing__eyebrow{color:var(--primary);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.landing__hero h1{font-size:clamp(1.85rem,3vw,2.5rem);line-height:1.15}.landing__lead{color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-relaxed,1.55);max-width:40rem}.landing__cta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.landing__section{gap:var(--sp-4);flex-direction:column;scroll-margin-top:5rem;display:flex}.landing__section h2{font-size:var(--fs-xl)}.landing__section-lead{color:var(--muted);font-size:var(--fs-sm);max-width:40rem;line-height:var(--lh-normal)}.landing__section-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.landing__card{flex-direction:column;gap:8px;min-height:120px;display:flex}.landing__card span{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal)}.landing__foot{gap:var(--sp-3);padding:var(--sp-6);flex-direction:column;display:flex}.landing__foot p{color:var(--muted);font-size:var(--fs-sm);max-width:36rem}.landing__preview{gap:var(--sp-3);padding:var(--sp-5);flex-direction:column;max-width:28rem;display:flex}.landing__preview-row{flex-direction:column;gap:4px;display:flex}.landing__preview-label{font-size:var(--fs-xs);color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.landing__preview-quote{font-family:var(--font-serif);color:var(--muted);font-style:italic;font-size:var(--fs-sm)}.landing__trust-list{gap:var(--sp-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.landing__trust-list li{border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--muted);background:var(--surface-2);padding:.35rem .75rem}.landing__footer{gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--hairline);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;display:flex}.landing__footer a:hover{color:var(--ink)}.theme-switches{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2,transparent);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:7px 10px;display:inline-flex}.theme-switches__control{align-items:center;gap:6px;display:inline-flex}.theme-switches__value{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;font-weight:650}.theme-switches__value--green{color:var(--gain)}.theme-switches__value--red{color:var(--loss)}.theme-switches__switch{border:1px solid var(--border-strong);border-radius:var(--r-pill);background:color-mix(in oklch, var(--surface-2) 82%, var(--ink) 18%);cursor:pointer;width:34px;height:20px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:0;position:relative}.theme-switches__switch[aria-checked=true]{background:color-mix(in oklch, var(--ink) 78%, var(--surface));border-color:color-mix(in oklch, var(--ink) 42%, var(--border))}.theme-switches__switch--accent{background:color-mix(in oklch, var(--gain) 68%, var(--surface));border-color:color-mix(in oklch, var(--gain) 42%, var(--border))}.theme-switches__switch--accent[aria-checked=true]{background:color-mix(in oklch, var(--loss) 72%, var(--surface));border-color:color-mix(in oklch, var(--loss) 45%, var(--border))}.theme-switches__switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-switches__thumb{background:var(--surface);width:14px;height:14px;box-shadow:0 1px 3px color-mix(in oklch, var(--ink) 28%, transparent);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.theme-switches__switch[aria-checked=true] .theme-switches__thumb{transform:translate(14px)}.theme-switches--compact{border-radius:var(--r-pill);gap:5px;padding:4px 6px}.theme-switches--compact .theme-switches__value{display:none}.theme-switches--compact .theme-switches__control{gap:0}.theme-switches--compact .theme-switches__switch{width:30px;height:18px}.theme-switches--compact .theme-switches__thumb{width:12px;height:12px}.theme-switches--compact .theme-switches__switch[aria-checked=true] .theme-switches__thumb{transform:translate(12px)}.public-shell__tools{position:relative}.public-shell__tools-btn{color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm);padding:.25rem .35rem;font-weight:600}.public-shell__tools-btn:hover,.public-shell__tools-btn.is-open{color:var(--ink)}.public-shell__tools-menu{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:12rem;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.public-shell__tools-menu a{border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm);padding:.45rem .6rem;font-weight:500;text-decoration:none;display:block}.public-shell__tools-menu a:hover{background:var(--primary-soft);color:var(--primary)}.public-shell__mobile-actions{align-items:center;gap:var(--sp-2);display:none}.public-shell__menu-btn{border-radius:var(--r-md);border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:var(--surface-2);place-items:center;display:inline-grid}.public-shell__drawer{border-bottom:1px solid var(--line);background:var(--surface);padding:var(--sp-4) var(--sp-6) var(--sp-5)}.public-shell__drawer-nav{flex-direction:column;gap:.55rem;display:flex}.public-shell__drawer-nav>a:not(.btn){color:var(--ink);font-weight:600;font-size:var(--fs-sm);text-decoration:none}.public-shell__drawer-label{font-size:var(--fs-xs);color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem;font-weight:700}.public-shell__drawer-rule{border:0;border-top:1px solid var(--hairline);margin:.35rem 0}.public-shell__drawer-row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-top:.25rem;display:flex}@media (width<=800px){.public-shell__nav--desktop{display:none}.public-shell__mobile-actions{display:inline-flex}.public-shell__top,.public-shell__main{padding-inline:var(--sp-4)}}.login{min-height:100vh;padding:var(--sp-6);place-items:center;display:grid;position:relative;overflow:hidden}.lang-toggle{border:1px solid var(--line);background:var(--surface-2,transparent);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.lang-toggle button{color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:600}.lang-toggle button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.login__theme{top:max(var(--sp-4), env(safe-area-inset-top));right:max(var(--sp-4), env(safe-area-inset-right));z-index:2;align-items:center;gap:.5rem;display:flex;position:absolute}.login__glow{background:radial-gradient(closest-side, color-mix(in oklch, var(--primary) 14%, transparent), transparent);filter:blur(10px);pointer-events:none;width:820px;max-width:120vw;height:620px;position:absolute;top:-22%;left:50%;translate:-50%}.login__card{gap:var(--sp-5);width:min(420px,100%);padding:var(--sp-8);background:linear-gradient(180deg, color-mix(in oklch, var(--surface) 96%, var(--primary) 3%), var(--surface));border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-lg), inset 0 1px 0 color-mix(in oklch, var(--ink) 5%, transparent);flex-direction:column;display:flex;position:relative}.login__head h1{font-size:var(--fs-2xl);margin-top:4px}.login__head p{color:var(--muted);font-size:var(--fs-sm);margin-top:7px}.login__signal{grid-template-columns:1.15fr .7fr .42fr;gap:6px;height:4px;margin-block:-2px 2px;display:grid}.login__signal span{border-radius:var(--r-pill);background:color-mix(in oklch, var(--primary) 36%, var(--surface-2))}.login__signal span:nth-child(2){background:color-mix(in oklch, var(--muted) 30%, var(--surface-2))}.login__signal span:nth-child(3){background:color-mix(in oklch, var(--warn) 34%, var(--surface-2))}.login__error{color:var(--loss);font-size:var(--fs-sm)}.login__foot{text-align:center;color:var(--faint);font-size:var(--fs-xs)}.login__foot a{color:var(--primary);font-weight:650}.login__foot a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.reminder-banner{width:100%;padding:var(--sp-3) var(--sp-4);background:color-mix(in oklch, var(--warn-soft) 42%, var(--surface));border:1px solid color-mix(in oklch, var(--warn) 18%, var(--border));border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:center;gap:10px;display:flex}.reminder-banner:hover{background:color-mix(in oklch, var(--warn-soft) 64%, var(--surface));border-color:color-mix(in oklch, var(--warn) 32%, transparent)}.reminder-banner>.icon-btn,.reminder-banner svg:first-child{color:var(--warn)}.reminder-banner span{flex:1}.reminder-banner>svg:last-child{color:var(--faint)}.quick-note{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:radial-gradient(120% 80% at 0% 0%, color-mix(in oklch, var(--primary) 5%, transparent), transparent 60%), linear-gradient(180deg, color-mix(in oklch, var(--surface) 90%, var(--ink) 3%), var(--surface));box-shadow:var(--inset-top), var(--shadow-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.quick-note:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--primary) 55%, transparent), transparent);opacity:.9;height:2px;position:absolute;inset:0 0 auto}.quick-note.is-expanded{gap:var(--sp-4);padding-block:var(--sp-5)}.quick-note__head{align-items:center;gap:var(--sp-3);display:flex}.quick-note__icon{background:color-mix(in oklch, var(--primary) 18%, var(--surface-2));width:38px;height:38px;color:var(--primary);border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.quick-note__copy{flex-direction:column;gap:3px;display:flex}.quick-note__label{color:var(--ink);font-size:var(--fs-lg);letter-spacing:var(--tracking-tight);font-weight:650}.quick-note__description{color:var(--muted);font-size:var(--fs-sm)}.quick-note .textarea{min-height:70px;font-size:var(--fs-base);transition:min-height var(--dur) var(--ease-out)}.quick-note.is-expanded .textarea{min-height:132px;font-size:var(--fs-md)}.quick-note__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.quick-note__status{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.quick-note__status.is-ok{color:var(--gain)}.today-review-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(230px,280px);align-items:start;display:grid}.today-main,.today-secondary{gap:var(--sp-6);flex-direction:column;min-width:0;display:flex}.today-secondary{gap:var(--sp-4)}.today-summary-card{min-height:0}.today-summary__stats{gap:var(--sp-3);margin:0;display:grid}.today-summary__stats>div{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--hairline);display:flex}.today-summary__stats>div:last-child{border-bottom:0;padding-bottom:0}.today-summary__stats dt{color:var(--muted);font-size:var(--fs-sm)}.today-summary__stats dd{color:var(--ink);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:650}.today-section-state{padding:var(--sp-5);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--muted);font-size:var(--fs-sm);margin:0}.today-empty__actions{justify-content:center;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.card-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.comparison-panel{overflow:hidden}.comparison-intro{gap:var(--sp-2);display:grid}.comparison-intro .eyebrow,.comparison-result__header .eyebrow{margin:0}.comparison-steps{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.comparison-step{flex-direction:column;min-width:0;display:flex}.comparison-step__number{width:1.45rem;height:1.45rem;margin-right:var(--sp-2);border:1px solid var(--gain);color:var(--gain);font-size:var(--fs-sm);border-radius:999px;place-items:center;display:inline-grid}.comparison-step .comparison-filters,.comparison-step .comparison-dates{grid-template-columns:1fr}.comparison-periods{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.comparison-agent-empty{gap:var(--sp-2);min-height:100%;padding:var(--sp-3);border:1px dashed var(--line);border-radius:var(--r-md);align-content:start;display:grid}.comparison-agent-empty h3{font-size:var(--fs-md);margin:0}.comparison-agent-empty .btn{justify-self:start;text-decoration:none}.comparison-submit-row{padding-top:var(--sp-3);justify-content:flex-end;display:flex}.comparison-pre-submit{align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-3);border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.comparison-pre-submit strong{color:var(--ink)}.comparison-loading{gap:var(--sp-2);margin-top:var(--sp-3);color:var(--muted);font-size:var(--fs-sm);display:grid}.comparison-filters{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.comparison-setup{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);margin:0}.comparison-setup legend{padding:0 var(--sp-2);color:var(--ink);font-weight:650}.comparison-setup>.form-hint{margin:0 0 var(--sp-3)}.comparison-result{padding-top:var(--sp-2);border-top:1px solid var(--hairline)}.comparison-result__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.comparison-result__header h3{margin:0}.comparison-result__header .form-hint{margin:var(--sp-1) 0 0}.comparison-readonly-note{color:var(--muted);font-size:var(--fs-sm);margin:0}.comparison-columns{gap:var(--sp-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}.comparison-owner{border:1px solid var(--line);border-radius:var(--r-md);min-width:0;padding:var(--sp-4)}.comparison-owner__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.comparison-owner__header h3{margin:0}.comparison-owner__label{color:var(--muted);font-size:var(--fs-sm)}.comparison-records{gap:var(--sp-3);padding:0;list-style:none;display:grid}.comparison-records li+li{border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.comparison-record{min-width:0}.comparison-record__header{justify-content:space-between;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.comparison-record__content{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.comparison-record__subject,.comparison-record__evidence{color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0}.comparison-expectation,.comparison-differences{gap:var(--sp-2);display:grid}.comparison-expectation div,.comparison-differences div{justify-content:space-between;gap:var(--sp-3);display:flex}.comparison-expectation dt,.comparison-differences dt{color:var(--muted)}.comparison-expectation dd,.comparison-differences dd{text-align:end;margin:0}.comparison-differences{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{gap:var(--sp-3);flex-direction:column;min-height:164px;display:flex}.panel__label{font-size:var(--fs-xs);color:var(--muted);margin:0;font-weight:650}.panel__body{flex-direction:column;gap:5px;display:flex}.panel__title{font-size:var(--fs-md);color:var(--ink);font-weight:650;line-height:var(--lh-snug)}.panel__sub{font-size:var(--fs-sm);color:var(--muted)}.panel__quote{font-family:var(--font-serif);font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--ink);font-style:italic}.panel__link{align-self:flex-start;margin-top:auto}.pnl-value{letter-spacing:var(--tracking-tight);font-size:1.75rem;font-weight:650;line-height:1.08}.pnl-sub{font-size:var(--fs-sm)}.recent{gap:var(--sp-3);flex-direction:column;display:flex}.recent__head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.recent__head h2{font-size:var(--fs-xl);letter-spacing:var(--tracking-tight)}.recent__meta{color:var(--muted);font-size:var(--fs-sm)}.recent__heading{align-items:baseline;gap:var(--sp-3);display:flex}.observation-list{gap:var(--sp-3);flex-direction:column;display:flex}.observation-list>li{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.observation-card{gap:var(--sp-5);padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in oklch, var(--surface) 92%, var(--primary) 2%), var(--surface));box-shadow:var(--inset-top), var(--shadow-sm);grid-template-columns:90px minmax(0,1fr) auto;align-items:start;display:grid}.observation-card:hover{border-color:color-mix(in oklch, var(--primary) 22%, var(--border-strong))}.observation-card__time{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;padding-top:3px;display:flex}.observation-card__status{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 4px var(--primary-soft);border-radius:50%}.observation-card__body{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.observation-card__title{color:var(--ink);font-size:var(--fs-lg);font-weight:650;line-height:var(--lh-snug)}.observation-card__preview{color:var(--muted);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere}.observation-card__meta{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.observation-card__meta strong{color:var(--faint);font-weight:600}.observation-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:0;display:flex}.observation-card__actions .btn+.btn{border-left:1px solid var(--border);border-radius:0}.observation-card__actions .btn:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}.observation-card__actions .btn:last-child{border-radius:0 var(--r-md) var(--r-md) 0}.observation-card__detail{min-width:0;padding-top:var(--sp-4);border-top:1px solid var(--hairline);grid-column:2/-1}.observation-card__edit{grid-column:1/-1}.decision-panel{padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:color-mix(in oklch, var(--surface-2) 72%, transparent)}.decision-panel>.form-actions:first-child{justify-content:space-between}.decision-panel>article{padding-top:var(--sp-3);border-top:1px solid var(--hairline)}.discipline-card{min-height:0;padding:var(--sp-5)}.discipline-card .panel__quote{font-size:var(--fs-md)}.recent-grid{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.recent-card{gap:var(--sp-3);min-width:0;min-height:154px;padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:color-mix(in oklch, var(--surface) 84%, transparent);color:inherit;flex-direction:column;text-decoration:none;display:flex}.recent-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recent-card__head{justify-content:space-between;gap:var(--sp-3);color:var(--muted);font-size:var(--fs-xs);display:flex}.recent-card__date{color:var(--primary);font-weight:650}.recent-card__title{color:var(--ink);font-size:var(--fs-md);font-weight:650;line-height:var(--lh-snug)}.recent-card__preview{color:var(--muted);font-size:var(--fs-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recent-card__foot{align-items:center;gap:var(--sp-2);margin-top:auto;display:flex}.observation-empty{padding:var(--sp-6)}.recent__list{flex-direction:column;gap:7px;display:flex}.recent__item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:color-mix(in oklch, var(--surface) 86%, transparent);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex}.recent__item:hover{background:var(--overlay);border-color:var(--border-strong)}.recent__item:hover .recent__arrow{color:var(--primary);transform:translate(2px)}.recent__date{font-size:var(--fs-xs);color:var(--muted);flex-shrink:0}.recent__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:560;overflow:hidden}.recent__arrow{color:var(--faint);transition:color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-shrink:0}.diary-form__body{padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.entry-list{gap:var(--sp-4);flex-direction:column;display:flex}.entry{flex-direction:column;display:flex}.entry__head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6) 0;display:flex}.entry__date{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.entry__actions{gap:2px;display:flex}.entry__title{font-size:var(--fs-xl);margin-top:var(--sp-2);padding:0 var(--sp-6)}.entry__body{margin-top:var(--sp-2);padding:0 var(--sp-6) var(--sp-6);color:var(--ink)}.entry__body.is-muted{color:var(--muted);font-style:italic;font-family:var(--font-sans)}.entry__skel{padding:var(--sp-5) var(--sp-6)}.entry__tags{padding:var(--sp-2) var(--sp-6) 0}.diary-mode{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.diary-preview{border:1px solid var(--line);border-radius:var(--radius);min-height:8rem;padding:var(--sp-4);background:var(--surface-2,transparent)}.diary-filters{margin-top:var(--sp-4)}.diary-filters__row{flex-wrap:wrap}.diary-filters__summary{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.tag-editor{gap:var(--sp-2);display:grid}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{appearance:none;border:1px solid var(--line);background:var(--surface-2,transparent);color:var(--ink);font-size:var(--fs-xs);cursor:pointer;border-radius:999px;padding:2px 10px;font-weight:600}.tag-chip:hover{border-color:var(--accent,var(--line))}.prose :where(h1,h2,h3,h4){font-family:var(--font-serif,var(--font-sans));margin:.8em 0 .35em}.prose :where(p,ul,ol,blockquote,pre,table){margin:.55em 0}.prose :where(ul,ol){padding-left:1.25rem}.prose :where(code){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.prose :where(pre){padding:var(--sp-3);border-radius:var(--radius);background:color-mix(in srgb, var(--ink) 6%, transparent);overflow:auto}.prose :where(a){color:var(--primary);text-underline-offset:2px;text-decoration-thickness:1px}.prose :where(a:hover){text-decoration:underline}.prose :where(blockquote){border-left:3px solid var(--line);padding-left:var(--sp-3);color:var(--muted)}.prose :where(table){border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.prose :where(th,td){border:1px solid var(--line);text-align:left;padding:4px 8px}.trades{padding:var(--sp-4) var(--sp-6) var(--sp-5);border-top:1px solid var(--hairline);background:color-mix(in oklch, var(--surface-2) 88%, var(--bg));border-radius:0 0 var(--r-lg) var(--r-lg)}.trades__form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trades__form .input{flex:110px;min-width:0}.trades__form .input--symbol{letter-spacing:.02em;text-transform:uppercase;flex:1.6 130px;font-weight:650}.trades__form .input--ccy{text-align:center;text-transform:uppercase;flex:.7 76px}.trades__form .input--when{flex:1.5 168px}.trades__add{flex:none}.trades__rows{margin-top:var(--sp-3);flex-direction:column;display:flex}.trade{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.trade:first-child{border-top:none}.trade__sym{color:var(--ink);letter-spacing:.025em;font-weight:700}.trade__qty{color:var(--muted);flex:140px;min-width:0}.trade__notes{color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex:160px;min-width:0;font-style:italic;overflow:hidden}.trade__actions{gap:2px;margin-left:auto;display:flex}.trades__empty{color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-2) 0}.review-patterns,.decision-review{gap:var(--sp-4);flex-direction:column;display:flex}.decision-review summary{cursor:pointer;padding:var(--sp-2) 0;color:var(--ink)}.decision-review summary::marker{color:var(--faint)}.review-tags{gap:var(--sp-2) var(--sp-4);border:0;flex-wrap:wrap;padding:0;display:flex}.review-tags legend{font-size:var(--fs-sm);margin-bottom:var(--sp-2);font-weight:650}.review-tags label{color:var(--muted);font-size:var(--fs-sm)}.review-tags input{accent-color:var(--primary)}.cal-head{justify-content:center;align-items:center;gap:var(--sp-4);display:flex}.cal-head__title{font-size:var(--fs-lg);text-align:center;min-width:200px}.cal{padding:var(--sp-4)}.cal__weekdays{text-align:center;padding-bottom:var(--sp-2);grid-template-columns:repeat(7,1fr);display:grid}.cal__weekdays span{font-size:var(--fs-xs);color:var(--faint);font-weight:650}.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.day{aspect-ratio:1;background:var(--surface-2);border-radius:var(--r-md);color:var(--muted);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:1px solid #0000;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px;display:flex;position:relative}.day:hover{background:var(--overlay)}.day.is-selected{border-color:var(--primary-line);background:var(--primary-soft);color:var(--ink)}.day--blank{pointer-events:none;background:0 0}.day--skel{padding:4px}.day__num{font-size:var(--fs-sm);color:var(--ink);font-weight:650}.day__pnl{font-size:var(--fs-xs)}.day__pnl.is-dash{color:var(--faint)}.day__note{border-radius:var(--r-pill);background:var(--primary);width:6px;height:6px;box-shadow:0 0 14px color-mix(in oklch, var(--primary) 42%, transparent);position:absolute;bottom:7px;right:7px}.pnl-form{gap:var(--sp-4);flex-direction:column;display:flex}.pnl-form__head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.pnl-form__head h2{font-size:var(--fs-lg)}.pnl-form__body{gap:var(--sp-4);flex-direction:column;display:flex}.cal-review-link{align-self:center}.inline-form-wrap{padding:var(--sp-4)}.inline-form{gap:var(--sp-2);flex-wrap:wrap;align-items:end;display:flex}.inline-form .input{flex:240px;min-width:0}.inline-form .btn{flex:none}.watchlist-add-form .field{flex:320px}.watchlist-onboarding{justify-content:space-between;align-items:center;gap:var(--sp-6);padding:var(--sp-6);border-color:var(--primary-line);background:color-mix(in oklch, var(--primary-soft) 28%, var(--surface));display:flex}.watchlist-onboarding__copy{gap:var(--sp-2);min-width:0;display:grid}.watchlist-onboarding h2{font-size:var(--fs-xl)}.watchlist-onboarding p{max-width:56rem;color:var(--muted);margin:0}.watchlist-toolbar{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:end;display:grid}.watchlist-items{margin-top:var(--sp-4)}.watchlist-item{align-items:stretch!important;gap:var(--sp-3)!important;display:grid!important}.watchlist-item__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.watchlist-item__reason{gap:3px;min-width:0;display:grid}.watchlist-item__reason p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.watchlist-item__label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase;font-weight:700}.watchlist-item__dates{gap:var(--sp-4);color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;margin:0;display:flex}.watchlist-item__dates div{gap:5px;min-width:0;display:flex}.watchlist-item__dates dt{font-weight:650}.watchlist-item__dates dd{overflow-wrap:anywhere;margin:0}.watchlist-item__actions{justify-content:flex-start}.watchlist-item__actions .icon-btn{margin-left:auto}.watchlist-items>li:focus{outline:2px solid var(--primary);outline-offset:4px;border-radius:var(--r-md)}.watchlist-item__edit{border-top:1px solid var(--border);padding-top:var(--sp-3)}.watchlist-announcement{margin:var(--sp-3) 0 0;color:var(--gain);font-size:var(--fs-sm);font-weight:650}.watchlist-dialog{z-index:var(--z-modal);padding:var(--sp-5);place-items:center;display:grid;position:fixed;inset:0}.watchlist-dialog__backdrop{cursor:default;background:oklch(0% none none/.62);border:0;position:absolute;inset:0}.watchlist-dialog__panel{gap:var(--sp-5);width:min(100%,600px);max-height:min(720px,100vh - 40px);padding:var(--sp-6);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:auto}.watchlist-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.watchlist-dialog__head h2{font-size:var(--fs-xl)}.watchlist-dialog__availability{gap:var(--sp-2);justify-items:start;display:grid}.watchlist-dialog__availability p{margin:0}.watchlist-combobox,.watchlist-combobox__input-wrap{position:relative}.watchlist-combobox__input-wrap .input{padding-right:38px}.watchlist-combobox__clear{border-radius:var(--r-pill);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;font-size:1.2rem;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.watchlist-combobox__clear:hover{color:var(--ink);background:var(--overlay)}.watchlist-combobox__options{z-index:2;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);max-height:250px;box-shadow:var(--shadow-md);margin:0;padding:4px;list-style:none;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto}.watchlist-combobox__options button{border-radius:var(--r-sm);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:10px;display:flex}.watchlist-combobox__options button:hover,.watchlist-combobox__options button.is-active{background:var(--primary-soft)}.watchlist-combobox__options button span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.watchlist-combobox__empty{color:var(--muted);font-size:var(--fs-sm);padding:10px}.form-error{color:var(--loss);font-size:var(--fs-sm)}.principle-list{gap:var(--sp-3);flex-direction:column;display:flex}.principle{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.principle__text{font-family:var(--font-serif);font-size:var(--fs-lg);line-height:var(--lh-relaxed);color:var(--ink);margin:0}.alert-form__body{padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.alert-list{gap:var(--sp-3);flex-direction:column;display:flex}.alert{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.alert__main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.alert__title{font-size:var(--fs-md);font-weight:650}.alert__meta{font-size:var(--fs-sm);color:var(--muted)}.alert__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.feature-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.feature-link{text-align:left;min-height:128px;color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-direction:column;gap:8px;display:flex}.feature-link:hover{background:var(--overlay);border-color:var(--border-strong)}.feature-link strong{font-size:var(--fs-md)}.feature-link span{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal)}.compact-list,.article-list,.timeline{gap:var(--sp-3);flex-direction:column;display:flex}.compact-list .card{align-items:center;gap:var(--sp-3);padding:var(--sp-4);flex-wrap:wrap;display:flex}.compact-list .card.is-selected{border-color:var(--primary-line);background:var(--primary-soft)}.row-main{text-align:left;min-width:0;color:var(--ink);flex-direction:column;flex:220px;gap:3px;display:flex}.row-main span{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.research-layout{gap:var(--sp-4);grid-template-columns:minmax(220px,.8fr) minmax(320px,1.5fr);align-items:start;display:grid}.research,.stack{gap:var(--sp-4);flex-direction:column;display:flex}.research h3{margin-top:var(--sp-2);font-size:var(--fs-base)}.timeline li{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface-2) 62%, transparent)}.timeline time,.article-meta{color:var(--faint);font-size:var(--fs-xs);margin-bottom:4px;display:block}.timeline p{color:var(--muted);font-size:var(--fs-sm);white-space:pre-wrap}.text-link{color:var(--primary);font-size:var(--fs-sm);align-self:flex-start;font-weight:650}.text-link:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.secret-once{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border:1px solid color-mix(in oklch, var(--warn) 32%, transparent);border-radius:var(--r-md);background:var(--warn-soft);flex-wrap:wrap;display:flex}.secret-once code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:260px}.partner-card__head{justify-content:space-between;gap:var(--sp-2);align-items:center;display:flex}.partner-card__actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.partner-share{gap:var(--sp-2);align-items:center;display:flex}.partner-compare-controls{margin-bottom:var(--sp-4)}.partner-compare-days{gap:var(--sp-5);display:grid}.partner-compare-day__date{margin:0 0 var(--sp-2);font-size:1rem}.partner-compare-columns{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.partner-compare-col{gap:var(--sp-3);align-content:start;display:grid}.partner-compare-col h3{color:var(--muted);margin:0;font-size:.95rem}.partner-diary-entry{min-width:0}.partner-tags{gap:var(--sp-1);flex-wrap:wrap;display:flex}@media (width<=800px){.partner-compare-columns{grid-template-columns:1fr}}.page-skel{gap:var(--sp-5);flex-direction:column;display:flex}.page-skel .card-grid{margin-top:var(--sp-2)}.review-month-nav{justify-content:center;align-items:center;gap:var(--sp-4);display:flex}.review-month-nav h2{text-align:center;min-width:200px;font-size:var(--fs-lg)}.review-separation{border-color:var(--primary-line);background:color-mix(in oklch, var(--primary-soft) 72%, var(--surface));flex-direction:column;gap:4px;display:flex}.review-separation span{color:var(--muted);font-size:var(--fs-sm)}.monthly-review-grid{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.monthly-review-process-column{gap:var(--sp-6);flex-direction:column;min-width:0;display:flex}.monthly-review-section{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.monthly-review-section>h2{font-size:var(--fs-xl)}.monthly-review-stats{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.monthly-review-stats .stat{background:color-mix(in oklch, var(--surface) 82%, var(--surface-2));min-width:0}.monthly-review-stats .stat__value{overflow-wrap:anywhere}.daily-pnl,.review-distribution{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.daily-pnl h3,.review-distribution h3{margin-bottom:var(--sp-3);font-size:var(--fs-base)}.daily-pnl__chart{align-items:stretch;gap:4px;min-height:190px;padding-bottom:2px;display:flex;overflow-x:auto}.daily-pnl__day{text-align:center;min-width:26px;color:var(--faint);font-size:var(--fs-xs);flex:1 0 26px}.daily-pnl__day>a{height:100%;color:inherit;grid-template-rows:24px 1fr 20px;gap:4px;text-decoration:none;display:grid}.daily-pnl__amount{color:var(--muted);font-size:10px;overflow:hidden}.daily-pnl__track{border-bottom:1px solid var(--border-strong);justify-content:center;align-items:flex-end;height:130px;display:flex}.daily-pnl__track span{background:var(--muted);border-radius:3px 3px 0 0;width:min(18px,80%);min-height:3px}.daily-pnl__track.is-gain span{background:var(--gain)}.daily-pnl__track.is-loss{border-top:1px solid var(--border-strong);border-bottom:0;align-items:flex-start}.daily-pnl__track.is-loss span{background:var(--loss);border-radius:0 0 3px 3px}.daily-pnl__track.is-flat span{background:var(--muted)}.review-distribution ol{gap:var(--sp-2);flex-direction:column;display:flex}.review-distribution li{justify-content:space-between;gap:var(--sp-3);color:var(--muted);font-size:var(--fs-sm);display:flex}.review-distribution strong{color:var(--ink)}.review-related{gap:var(--sp-4);flex-wrap:wrap;display:flex}.review-evidence__filters{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.review-evidence__filters label{gap:var(--sp-1);color:var(--muted);font-size:var(--fs-sm);flex-direction:column;display:flex}.review-evidence__list{gap:var(--sp-3);flex-direction:column;display:flex}.review-evidence__item{gap:var(--sp-2);flex-direction:column;display:flex}.review-evidence__item p{color:var(--muted)}.review-evidence__head,.review-evidence__meta{gap:var(--sp-3);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.review-evidence__head{justify-content:space-between}.rotation-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.rotation-heading-meta{gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.rotation-heading-meta span{border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in oklch, var(--surface-2) 64%, transparent);align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.rotation-heading-meta strong{color:var(--ink);font-weight:650}.rotation-filters{align-items:end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.rotation-filters label{color:var(--muted);font-size:var(--fs-xs);flex-direction:column;gap:5px;display:flex}.rotation-filters select{min-width:130px}.rotation-summary{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.rotation-breadth{gap:var(--sp-3);flex-direction:column;display:flex}.rotation-breadth__grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.rotation-breadth__grid>div{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:3px;display:flex}.rotation-breadth__grid span{color:var(--muted);font-size:var(--fs-sm)}.rotation-table-card{padding:0;overflow:hidden}.rotation-table-scroll{overflow-x:auto}.rotation-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.rotation-table th,.rotation-table td{padding:var(--sp-3);text-align:right;white-space:nowrap;border-bottom:1px solid var(--hairline)}.rotation-table th{z-index:1;background:color-mix(in oklch, var(--surface) 92%, var(--surface-2));color:var(--muted);font-size:var(--fs-xs);font-weight:700;position:sticky;top:0}.rotation-table th:nth-child(2),.rotation-table td:nth-child(2),.rotation-table th:nth-child(3),.rotation-table td:nth-child(3){text-align:left}.rotation-table tbody tr:last-child td{border-bottom:0}.rotation-table tbody tr:hover td{background:color-mix(in oklch, var(--overlay) 56%, transparent)}.rotation-table td small{color:var(--faint);margin-top:2px;font-size:11px;display:block}.rotation-table__identity{flex-direction:column;gap:2px;display:flex}.rotation-table__identity span{color:var(--muted);font-size:var(--fs-xs)}.ma-stack{color:var(--muted);font-size:var(--fs-xs);justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.ma-stack span{border-radius:var(--r-sm);background:var(--overlay);min-width:28px;color:var(--muted);text-align:center;padding:2px 4px}.ma-stack span.is-above{background:var(--gain-soft);color:var(--gain)}.rotation-unavailable{border-color:var(--danger-line);background:var(--danger-soft)}.rotation-unavailable p{color:var(--muted)}@media (width<=1060px){.rotation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-review-grid{grid-template-columns:1fr}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-top{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);padding-top:max(var(--sp-3), env(safe-area-inset-top));z-index:var(--z-sticky);background:color-mix(in oklch, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr auto;display:grid;position:sticky;top:0}.mobile-top__meta{color:var(--faint);font-size:var(--fs-xs);justify-self:center;font-weight:650}.mobile-top__actions{align-items:center;gap:4px;display:inline-flex}.content{padding:var(--sp-5) var(--page-pad-x) calc(var(--sp-9) + env(safe-area-inset-bottom));gap:var(--sp-5)}.today-review-layout{grid-template-columns:1fr}.today-secondary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.mobile-nav{z-index:var(--z-mobile-nav);padding:6px 4px max(6px, env(safe-area-inset-bottom));background:color-mix(in oklch, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--hairline);grid-template-columns:repeat(6,minmax(44px,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-nav__item{border-radius:var(--r-md);color:var(--muted);font-size:var(--fs-xs);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;padding:6px 2px;display:flex}.mobile-nav__item.is-active{color:var(--primary);background:var(--primary-soft)}.research-layout{grid-template-columns:1fr}}@media (width<=640px){.page-head{align-items:flex-start}.page-head__actions{width:100%}.today-head__actions{justify-content:flex-end;width:100%}.today-head__search{flex:1;min-width:0}.quick-note,.quick-note.is-expanded{padding:var(--sp-4)}.quick-note:not(.is-expanded) .textarea{min-height:70px}.quick-note.is-expanded .textarea{min-height:120px}.quick-note__head{align-items:flex-start}.observation-card{gap:var(--sp-3);grid-template-columns:1fr}.observation-card__actions{justify-content:flex-start}.observation-card__detail,.observation-card__edit{grid-column:1}.decision-panel{padding:var(--sp-4)}.recent-grid{grid-template-columns:1fr}.today-secondary{display:flex}.card-grid,.feature-grid{grid-template-columns:1fr}.cal{overflow-x:auto}.cal__weekdays,.cal__grid{min-width:460px}.pnl-value{font-size:1.5rem}.entry__head{padding:var(--sp-4) var(--sp-4) 0}.entry__title{font-size:var(--fs-lg);padding-inline:var(--sp-4)}.entry__body,.trades{padding-inline:var(--sp-4)}.decision-review .form-row{flex-direction:column}.rotation-toolbar{align-items:stretch}.rotation-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rotation-filters label,.rotation-filters select{width:100%;min-width:0}.rotation-summary{grid-template-columns:1fr 1fr}.rotation-table th,.rotation-table td{padding:var(--sp-2)}.monthly-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-pnl,.review-distribution{padding:var(--sp-3)}.review-evidence__filters{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:auto}.watchlist-onboarding{padding:var(--sp-5);flex-direction:column;align-items:stretch}.watchlist-onboarding .btn{width:100%}.watchlist-toolbar{grid-template-columns:1fr}.watchlist-item__actions{align-items:stretch}.watchlist-item__actions>:not(.icon-btn){text-align:center;flex:auto}.watchlist-item__actions .icon-btn{margin-left:0}.watchlist-dialog{align-items:end;padding:0}.watchlist-dialog__panel{width:100%;max-height:min(760px,94vh);padding:var(--sp-5);border-radius:var(--r-lg) var(--r-lg) 0 0}.tools-catalog,.tools-catalog__grid{grid-template-columns:1fr}.tools-catalog__card{min-height:0}.tool-workspace__grid,.tool-fields{grid-template-columns:1fr}.tool-result-card{min-height:260px}}@media (width<=420px){.rotation-summary,.monthly-review-stats{grid-template-columns:1fr}.review-month-nav h2{min-width:0}.login__card{padding:var(--sp-6)}}.landing__hero--split{gap:var(--sp-6);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;max-width:none;display:grid}.calendar-head__actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.calendar-toolbar{align-items:center;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.calendar-toolbar h2{font-size:var(--fs-xl);text-align:center;letter-spacing:var(--tracking-tight);margin:0}.calendar-toolbar__view{color:var(--muted);font-size:var(--fs-sm);text-align:right}.calendar-summary{gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.calendar-summary>div{justify-content:space-between;align-items:baseline;gap:var(--sp-3);min-width:0;display:flex}.calendar-summary span{color:var(--muted);font-size:var(--fs-sm)}.calendar-summary strong{color:var(--ink);font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.calendar-workspace{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;min-width:0;display:grid}.calendar-workspace.is-detail-closed{grid-template-columns:minmax(0,1fr)}.calendar-workspace .cal{min-width:0}.calendar-workspace.is-detail-closed .cal{max-width:none}.calendar-detail{gap:var(--sp-4);min-width:0;padding:var(--sp-5);flex-direction:column;display:flex}.calendar-detail__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.calendar-detail__head h2{margin:var(--sp-1) 0 0;font-size:var(--fs-xl);line-height:var(--lh-snug)}.calendar-detail__status{align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.calendar-detail__section{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--hairline);display:grid}.calendar-detail__section h3{font-size:var(--fs-md);margin:0}.calendar-detail__observations{gap:var(--sp-3);display:grid}.calendar-detail__observation{gap:var(--sp-2);min-width:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface-2) 74%, transparent);display:grid}.calendar-detail__observation-time{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.calendar-detail__observation h3{color:var(--ink);font-size:var(--fs-md);line-height:var(--lh-snug);overflow-wrap:anywhere;margin:0}.calendar-detail__observation p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-wrap:anywhere;margin:0}.calendar-detail__observation-meta{gap:var(--sp-2);flex-wrap:wrap;display:flex}.calendar-detail__list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.calendar-detail__list li{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);gap:3px;display:grid}.calendar-detail__list span{color:var(--muted);font-size:var(--fs-xs)}.calendar-detail__section blockquote{color:var(--ink);font-family:var(--font-serif);font-size:var(--fs-md);line-height:var(--lh-relaxed);margin:0}.calendar-detail__actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.calendar-detail__composer{gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--primary-line);border-radius:var(--r-md);background:color-mix(in oklch, var(--primary-soft) 30%, var(--surface));display:grid}.calendar-detail__composer .textarea{min-height:100px}.calendar-detail__composer-actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.calendar-detail__saved{color:var(--gain);font-size:var(--fs-sm);margin:0;font-weight:650}.calendar-detail__limitation{padding-top:var(--sp-3);border-top:1px dashed var(--border);color:var(--faint);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0}.calendar-detail__reopen{justify-self:start}.day{aspect-ratio:auto;min-height:96px;padding:var(--sp-3)}.day__top{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;display:flex}.day__today{color:var(--primary);font-size:10px;font-weight:700}.day__activity,.day__review{max-width:100%;color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-normal);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day.has-activity{border-color:color-mix(in oklch, var(--primary) 18%, var(--border))}.day.needs-review:after{content:"";background:var(--gain);width:6px;height:6px;box-shadow:0 0 0 3px var(--gain-soft);border-radius:50%;position:absolute;bottom:8px;right:8px}.day.is-today .day__num{color:var(--primary)}.day.is-selected .day__activity,.day.is-selected .day__review{color:var(--ink)}@media (width<=1060px){.calendar-workspace{grid-template-columns:minmax(0,1fr) minmax(270px,320px)}}@media (width<=920px){.calendar-workspace{grid-template-columns:1fr}.calendar-detail{order:2}.calendar-summary{gap:var(--sp-3)}}@media (width<=640px){.calendar-head__actions{width:100%}.calendar-head__actions .btn,.calendar-head__actions .btn--primary{flex:auto;justify-content:center}.calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.calendar-toolbar__view{text-align:left;grid-column:1/-1}.calendar-summary{gap:var(--sp-2);padding:var(--sp-4);grid-template-columns:1fr}.calendar-summary>div{padding-bottom:var(--sp-2);border-bottom:1px solid var(--hairline)}.calendar-summary>div:last-child{border-bottom:0;padding-bottom:0}.calendar-workspace .cal{overflow:visible}.calendar-workspace .cal__weekdays,.calendar-workspace .cal__grid{min-width:0}.calendar-workspace .cal__grid{gap:4px}.calendar-workspace .day{border-radius:var(--r-sm);min-height:66px;padding:6px}.calendar-workspace .day__num{font-size:var(--fs-xs)}.calendar-workspace .day__today{display:none}.calendar-workspace .day__activity,.calendar-workspace .day__review{font-size:10px}.calendar-workspace .day.needs-review:after{width:5px;height:5px;box-shadow:0 0 0 2px var(--gain-soft);bottom:5px;right:5px}.calendar-detail{padding:var(--sp-4)}.calendar-detail__actions>*{text-align:center;flex:auto}}.landing__hero-copy{gap:var(--sp-4);flex-direction:column;max-width:42rem;display:flex}.landing__preview-badge{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:.25rem;font-weight:700}.landing__workflow{gap:var(--sp-3);counter-reset:none;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.landing__workflow-step{padding:var(--sp-4);flex-direction:column;gap:6px;display:flex}.landing__workflow-step span:last-child{color:var(--muted);font-size:var(--fs-sm)}.landing__workflow-n{width:1.5rem;height:1.5rem;font-size:var(--fs-xs);background:var(--primary-soft);color:var(--primary);border-radius:999px;place-items:center;font-weight:700;display:grid}.landing__capability-grid{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.landing__capability-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.landing__capability-badge{font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:.15rem .5rem;font-weight:600}.landing__capability ul{gap:6px;padding:0;list-style:none;display:grid}.landing__capability li{color:var(--muted);font-size:var(--fs-sm)}.landing__tool-card{gap:8px}.landing__tool-top{justify-content:space-between;align-items:center;gap:var(--sp-2);color:var(--primary);display:flex}.landing__tool-free{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.landing__footer{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--hairline);flex-direction:column;display:flex}.landing__footer-links{gap:var(--sp-4);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;display:flex}.landing__footer-links a:hover{color:var(--ink)}.landing__footer-controls{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.landing__footer-disclaimer{color:var(--faint);font-size:var(--fs-xs);max-width:48rem;line-height:var(--lh-normal)}.public-shell__tools-menu a{align-items:flex-start;gap:.55rem;display:flex}.public-shell__tools-copy{gap:2px;min-width:0;display:grid}.public-shell__tools-copy strong{font-size:var(--fs-sm);font-weight:600}.public-shell__tools-copy span{font-size:var(--fs-xs);color:var(--muted);font-weight:400;line-height:1.35}.public-shell__drawer-tool{color:inherit;align-items:flex-start;gap:.55rem;text-decoration:none;display:flex}.public-shell__drawer-tool span{gap:2px;display:grid}.public-shell__drawer-tool strong{font-size:var(--fs-sm)}.public-shell__drawer-tool span span{font-size:var(--fs-xs);color:var(--muted);font-weight:400}@media (width<=900px){.landing__hero--split{grid-template-columns:1fr}.landing__workflow{grid-template-columns:1fr 1fr}.landing__capability-grid{grid-template-columns:1fr}}@media (width<=560px){.comparison-steps,.comparison-columns,.comparison-differences{grid-template-columns:1fr}.comparison-result__header{flex-direction:column}.comparison-result__header .btn{align-self:flex-start}.landing__workflow{grid-template-columns:1fr}}
