:root{--page-bg: #f4f5fb;--surface: #ffffff;--surface-2: #f8f9fc;--surface-header: #ffffff;--surface-footer: #ffffff;--text: #2d3436;--text-secondary: #636e72;--accent: #6c5ce7;--border-soft: rgba(0, 0, 0, .1);--border-input: #cfd4d8;--border-chip: #dce0e6;--input-bg: #ffffff;--accent-focus-ring: rgba(108, 92, 231, .15);--menu-bg: #f8f5ff;--menu-text: #1f1743;--error-bg: #fff5f5;--error-border: #feb2b2;--error-text: #c53030;--code-bg: #ffffff;--code-border: #e9ecef;--btn-on-primary: #ffffff;--btn-secondary-bg: #495057;--btn-secondary-fg: #ffffff;--header-line: rgba(0, 0, 0, .04)}[data-theme=dark]{--page-bg: #0f0f14;--surface: #1a1a22;--surface-2: #22222c;--surface-header: #16161e;--surface-footer: #16161e;--text: #ececf1;--text-secondary: #a0a0b0;--accent: #a29bfe;--border-soft: rgba(255, 255, 255, .09);--border-input: #3d3d4a;--border-chip: #3a3a48;--input-bg: #1e1e28;--accent-focus-ring: rgba(162, 155, 254, .28);--menu-bg: #24242e;--menu-text: #ececf1;--error-bg: #2a1a1a;--error-border: #822727;--error-text: #fc8181;--code-bg: #252530;--code-border: #3d3d4a;--btn-on-primary: #16161e;--btn-secondary-bg: #5c6370;--btn-secondary-fg: #ffffff;--header-line: rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,sans-serif;background:var(--page-bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}button{font:inherit;cursor:pointer;border:none}input{font:inherit}.error-boundary{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:var(--page-bg)}.error-boundary button{margin-top:20px;background:var(--accent);color:var(--btn-on-primary);padding:12px 20px;border-radius:10px;font-weight:600;border:none;cursor:pointer}.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}.site-root{min-height:100%;display:flex;flex-direction:column}.site-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:2rem 1.25rem 4rem}.site-header{position:relative;z-index:100;background:var(--surface-header);border-bottom:1px solid var(--border-soft);box-shadow:0 1px 0 var(--header-line);transition:background-color .2s ease,border-color .2s ease}.site-header__inner{max-width:1040px;margin:0 auto;padding:.875rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.75rem 1rem}.site-header__end{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto;padding-left:.5rem}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text);font-size:.8125rem;font-weight:600;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle__icon{font-size:1rem;line-height:1}.site-header__brand-slot{flex-shrink:0;display:flex;justify-content:flex-start;align-items:center;padding:0}.site-brand{font-size:1.125rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.02em;text-align:left;line-height:1.25}.site-brand:hover{color:var(--accent)}.site-nav--desktop{display:none;flex:1 1 240px;min-width:0;flex-wrap:wrap;gap:.65rem 1.45rem;align-items:center;align-content:flex-start;padding-top:.35rem;padding-bottom:.15rem}.site-nav-menu-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text);font-size:.8125rem;font-weight:600;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.site-nav-menu-btn:hover{border-color:var(--accent);color:var(--accent)}.site-nav-menu-btn__icon{font-size:1.15rem;line-height:1}@media(min-width:900px){.site-nav--desktop{display:flex}.site-nav-menu-btn{display:none}.site-nav-mobile-shell{display:none!important}}.site-nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem 0;font-size:.9rem;font-weight:500;line-height:1.35;color:var(--text-secondary);text-decoration:none;white-space:nowrap}.site-nav-link:hover{color:var(--accent)}.site-nav-link--active{color:var(--accent);font-weight:600}.site-nav-link__emoji{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;line-height:1}.site-nav-mobile-shell{display:none}@media(max-width:899px){.site-nav-mobile-shell{display:block}}.site-nav-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;margin:0;padding:0;border:none;cursor:pointer;background:#0f0f1473;opacity:0;transition:opacity .2s ease;pointer-events:none}.site-nav-mobile-shell--open .site-nav-mobile-backdrop{opacity:1;pointer-events:auto}.site-nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:210;width:min(100%,320px);max-width:100vw;background:var(--surface-header);border-left:1px solid var(--border-soft);box-shadow:-8px 0 32px #0000002e;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease;overflow:hidden}.site-nav-mobile-shell--open .site-nav-drawer{transform:translate(0)}.site-nav-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-soft);flex-shrink:0}.site-nav-drawer__title{font-size:.9375rem;font-weight:700;color:var(--text)}.site-nav-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:8px;font-size:1.125rem;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer}.site-nav-drawer__close:hover{color:var(--accent);border-color:var(--border-soft);background:var(--surface-2)}.site-nav-drawer__nav{flex:1;overflow-y:auto;padding:.65rem 1.15rem 1.35rem;display:flex;flex-direction:column;gap:.4rem}.site-nav-drawer__nav .site-nav-link{white-space:normal;padding:.8rem .55rem;border-radius:8px}.site-nav-drawer__nav .site-nav-link:hover{background:var(--surface-2)}.site-nav-drawer__nav .site-nav-link--active{background:var(--menu-bg)}.site-footer{margin-top:auto;padding:2rem 1.25rem;background:var(--surface-footer);border-top:1px solid var(--border-soft);font-size:.875rem;color:var(--text-secondary);transition:background-color .2s ease,border-color .2s ease}.site-footer__inner{max-width:1040px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.site-footer a{color:var(--accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.hero{margin-bottom:2.5rem}.hero h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;margin:0 0 .75rem;color:var(--text)}.hero__lead{font-size:1.05rem;line-height:1.55;color:var(--text-secondary);max-width:56ch;margin:0}.section-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.tool-card{display:block;padding:1rem 1.125rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;text-decoration:none;color:inherit;transition:background-color .2s ease,border-color .15s ease}.tool-card:hover{border-color:var(--accent)}.tool-card h3{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.tool-card p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.breadcrumb{font-size:.8125rem;color:var(--text-secondary);margin-bottom:1.25rem}.breadcrumb a{color:var(--accent);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.tool-page__title{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;letter-spacing:-.02em}.tool-page__title--with-icon{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.topic-page__emoji{font-size:1.75rem;line-height:1}.tool-page__desc{font-size:.9375rem;line-height:1.55;color:var(--text-secondary);max-width:62ch;margin:0 0 1.75rem}.tool-form{max-width:420px;background:var(--surface);padding:1.5rem;border-radius:12px;border:1px solid var(--border-soft);transition:background-color .2s ease}.tool-form__field{margin-bottom:1rem}.tool-form__field label{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.tool-form__field input{width:100%;padding:.65rem .75rem;border:1px solid var(--border-input);border-radius:8px;font-size:1rem;background:var(--input-bg);color:var(--text);transition:border-color .15s ease,background-color .2s ease,color .2s ease}.tool-form__field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-focus-ring)}.tool-form__hint{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.btn-primary-site{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;font-size:.9375rem;font-weight:600;color:var(--btn-on-primary);background:var(--accent);border:none;border-radius:8px;cursor:pointer}.btn-primary-site:hover{filter:brightness(1.05)}.tool-result{margin-top:1.25rem;padding:1rem 1.125rem;background:var(--menu-bg);border-radius:10px;border:1px solid var(--border-soft)}.tool-result__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.35rem}.tool-result__value{font-size:1.0625rem;font-weight:600;color:var(--text);word-break:break-word}.tool-error{margin-top:1rem;padding:.75rem 1rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);font-size:.875rem}.expr-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:2rem;transition:background-color .2s ease}.expr-panel textarea{width:100%;min-height:5rem;padding:.75rem;border:1px solid var(--border-input);border-radius:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9375rem;resize:vertical;background:var(--input-bg);color:var(--text);transition:border-color .15s ease,background-color .2s ease,color .2s ease}.expr-panel textarea:focus{outline:none;border-color:var(--accent)}.expr-reference{margin-top:.75rem;padding:1rem 1.125rem 1.125rem;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;transition:background-color .2s ease}.expr-reference__intro{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.expr-reference__intro code{font-size:.85em;background:var(--code-bg);padding:.08em .35em;border-radius:4px;border:1px solid var(--code-border)}.expr-reference__section+.expr-reference__section{margin-top:1rem}.expr-reference__heading{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:var(--text-secondary);margin:0 0 .45rem}.expr-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.expr-chip{padding:.38rem .55rem;font-size:.8125rem;font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--surface);border:1px solid var(--border-chip);border-radius:6px;color:var(--text);transition:border-color .15s ease,color .15s ease,background-color .2s ease}.expr-chip:hover{border-color:var(--accent);color:var(--accent)}.expr-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.expr-actions__secondary{background:var(--btn-secondary-bg)!important;color:var(--btn-secondary-fg)!important}.expr-result-box{margin-top:1rem}.prose-block{font-size:.9375rem;line-height:1.6;color:var(--text-secondary);max-width:72ch}.prose-block ul{padding-left:1.25rem}.legal-page{max-width:72ch}.legal-page__hero{margin-bottom:2rem}.legal-page__lead{margin:0;font-size:1rem;line-height:1.55;color:var(--text-secondary)}.legal-prose{font-size:.9375rem;line-height:1.6}.legal-prose__meta{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-secondary)}.legal-prose h2{font-size:1.0625rem;font-weight:600;margin:1.75rem 0 .65rem;color:var(--text)}.legal-prose h2:first-of-type{margin-top:0}.legal-prose h3{font-size:.9375rem;font-weight:600;margin:1.25rem 0 .45rem;color:var(--text)}.legal-prose p,.legal-prose li{color:var(--text-secondary)}.legal-prose p{margin:0 0 .75rem}.legal-prose ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-prose a{color:var(--accent)}
