/* bundled source: core-pages.css */
/* English core pages: worked example, diagram, sources, CSV and print (growth S6). */
.xe-core{margin:2rem 0;padding:1.25rem;border:1px solid var(--line,#dce3ee);border-radius:12px;background:var(--white,#fff);color:var(--ink,#172a47)}
.xe-core h2{margin-top:0;color:inherit}
.xe-core h3{margin:1.25rem 0 .5rem;font-size:1.05rem;color:inherit}
.xe-grid{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:1.25rem;align-items:start}
.xe-figure{margin:0;color:var(--ink,#172a47)}
.xe-svg{width:100%;height:auto;max-width:420px;display:block}
.xe-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin:.75rem 0}
.xe-result div{padding:.6rem .75rem;border:1px solid var(--line,#dce3ee);border-radius:8px;background:var(--paper,#f7f9fc)}
.xe-result dt{font-size:.85rem;color:var(--muted,#52627a)}
.xe-result dd{margin:.15rem 0 0;font-weight:600;color:var(--ink,#172a47)}
.xe-formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.55;padding:.6rem .75rem;border:1px solid var(--line,#dce3ee);border-left:3px solid var(--blue,#2456e8);border-radius:0 8px 8px 0;background:var(--paper,#f7f9fc);color:var(--ink,#172a47)}
.xe-table-scroll{overflow-x:auto;margin:.5rem 0}
.xe-table{border-collapse:collapse;width:100%;font-size:.9rem}
.xe-table caption{text-align:left;font-size:.85rem;color:var(--muted,#52627a);padding-bottom:.35rem}
.xe-table th,.xe-table td{border:1px solid var(--line,#dce3ee);padding:.4rem .55rem;text-align:left;vertical-align:top}
.xe-table th{background:var(--paper,#f7f9fc);color:var(--ink,#172a47);font-weight:600}
.xe-answer,.xe-dataset{margin:1rem 0;padding:.75rem 1rem;border:1px solid var(--line,#dce3ee);border-radius:10px;background:var(--paper,#f7f9fc)}
.xe-answer h3,.xe-dataset h3{margin-top:0}
.xe-answer p:last-child,.xe-dataset p:last-child{margin-bottom:0}
.xe-note{font-size:.92rem}
.xe-sources{padding-left:1.1rem;font-size:.92rem}
.xe-reviewed{font-size:.88rem;color:var(--muted,#52627a)}
.xe-actions,.xe-csv-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.xe-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:0;list-style:none}
.xe-core a:not(.btn){color:var(--blue,#2456e8);text-decoration:underline;text-underline-offset:.18em}
.xe-core .btn,.xe-csv-bar .btn{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:.45rem .85rem;border:1px solid var(--line,#dce3ee);border-radius:8px;background:var(--white,#fff);color:var(--ink,#172a47);font:inherit;font-size:.88rem;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}
.xe-core .btn:hover,.xe-csv-bar .btn:hover{border-color:var(--blue,#2456e8);color:var(--blue,#2456e8);background:var(--blue-soft,#ecf1ff)}
html[data-xunl-theme="dark"] .xe-core{background:var(--white,#131e30);border-color:var(--line,#34445e);color:var(--ink,#e5edf9)}
html[data-xunl-theme="dark"] .xe-figure{color:var(--ink,#e5edf9)}
html[data-xunl-theme="dark"] .xe-result div,html[data-xunl-theme="dark"] .xe-formula,html[data-xunl-theme="dark"] .xe-table th,html[data-xunl-theme="dark"] .xe-answer,html[data-xunl-theme="dark"] .xe-dataset{background:#18263d;border-color:var(--line,#34445e);color:var(--ink,#e5edf9)}
html[data-xunl-theme="dark"] .xe-formula{border-left-color:#789cff}
html[data-xunl-theme="dark"] .xe-result dt,html[data-xunl-theme="dark"] .xe-table caption,html[data-xunl-theme="dark"] .xe-reviewed{color:var(--muted,#adbad0)}
html[data-xunl-theme="dark"] .xe-core a:not(.btn){color:#a5bdff}
html[data-xunl-theme="dark"] .xe-core .btn,html[data-xunl-theme="dark"] .xe-csv-bar .btn{background:#18263d;border-color:var(--line,#34445e);color:var(--ink,#e5edf9)}
html[data-xunl-theme="dark"] .xe-core .btn:hover,html[data-xunl-theme="dark"] .xe-csv-bar .btn:hover{background:var(--blue-soft,#1b2c4a);border-color:#789cff;color:#fff}
@media (max-width:720px){.xe-grid{grid-template-columns:1fr}}
@media print{
  header,footer,nav.breadcrumbs,.xunl-language-menu,.xe-actions,.xe-csv-bar,aside,form button,.btn,button{display:none!important}
  body{background:#fff!important;color:#000!important}
  .xe-core,.xe-result div,.xe-formula,.xe-table th,.xe-answer,.xe-dataset{border:0;padding:0;background:#fff!important;color:#000!important}
  .xe-table-scroll{overflow:visible}
  .xe-table th,.xe-table td{border-color:#999}
  details{display:block}
  a{color:#000!important;text-decoration:none}
  table{page-break-inside:auto}tr{page-break-inside:avoid}
}

/* bundled source: public-tool-navigation.css */
@media(max-width:600px){.header .nav-wrap:has(.discovery-header-search){display:grid;grid-template-columns:minmax(32px,1fr) auto auto;gap:8px;padding-top:8px;padding-bottom:8px}.header .nav-wrap:has(.discovery-header-search)>.brand{grid-column:1;grid-row:1;min-width:32px;width:32px;flex:none}.header .nav-wrap:has(.discovery-header-search)>.brand>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.header .nav-wrap:has(.discovery-header-search) .brand-mark{width:32px;height:32px;flex:none}.header .nav-wrap:has(.discovery-header-search)>.xunl-preferences{grid-column:2;grid-row:1;margin-left:0}.header .nav-wrap:has(.discovery-header-search)>.nav-login{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;min-height:44px;max-width:128px;white-space:normal;text-align:center;line-height:1.3}.header .discovery-header-search{grid-column:1/-1;grid-row:2;max-width:none!important;width:100%;margin-left:0!important}.header .discovery-header-search input{flex:1;width:auto!important;height:44px;min-width:0}.header .discovery-header-search button{min-height:44px;min-width:44px}}

/* bundled source: command-palette.css */
:root{--xunl-search-styles:1;--palette-bg:#fff;--palette-text:#172a47;--palette-muted:#617187;--palette-border:#dce3ee;--palette-active:#f1f5fc;--palette-blue:#2456e8;--palette-blue-bg:#edf2ff}html:is([data-xunl-theme=dark],[data-theme=dark]){--palette-bg:#142034;--palette-text:#e7eef9;--palette-muted:#b0bfd3;--palette-border:#344156;--palette-active:#22324c;--palette-blue:#91b5ff;--palette-blue-bg:#243758}.xunl-header-search{position:relative;display:flex;align-items:center;gap:9px;box-sizing:border-box;flex:1 1 240px;min-width:180px;max-width:400px;height:44px;margin:0 4px 0 auto;padding:0 12px;border:1px solid var(--line,var(--palette-border));border-radius:10px;background:var(--white,var(--palette-bg));color:var(--muted,var(--palette-muted))}.xunl-header-search:focus-within{border-color:var(--blue,var(--palette-blue));box-shadow:0 0 0 3px var(--blue-soft,var(--palette-blue-bg))}.xunl-header-search>svg{width:18px;height:18px;flex:0 0 18px;fill:none;color:inherit}.xunl-header-search input[type=search],.xunl-header-search input[data-xunl-search]{display:block;flex:1 1 auto;box-sizing:border-box;width:100%;min-width:0;min-height:42px;height:42px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink,var(--palette-text));font:inherit;font-size:15px;line-height:1.4;outline:0}.xunl-header-search input::placeholder{color:var(--muted,var(--palette-muted));opacity:1}.xunl-header-search>kbd{flex:0 0 auto;padding:2px 5px;border:1px solid var(--line,var(--palette-border));border-radius:4px;background:var(--paper,var(--palette-active));color:var(--muted,var(--palette-muted));font-family:inherit;font-size:11px;line-height:1.3;white-space:nowrap}.header nav{margin-left:0}:is(.header,.pnav.xnav-header) .xunl-header-search input:focus-visible{outline:0;box-shadow:none}@media(max-width:1100px){.header .nav-wrap:has(>.xunl-header-search){flex-wrap:wrap;gap:10px 14px}.header .nav-wrap>.xunl-header-search{order:9;flex-basis:100%;max-width:none;min-width:0;margin:0}.xunl-header-search input[type=search],.xunl-header-search input[data-xunl-search]{font-size:16px}}@media(max-width:600px){.xunl-header-search>kbd{display:none}}.xunl-search-popover{position:fixed;z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--palette-border);border-radius:14px;background:var(--palette-bg);color:var(--palette-text);box-shadow:0 16px 48px rgba(15,23,42,.2);overflow:hidden;isolation:isolate}.xunl-search-popover[hidden]{display:none!important}.xunl-palette-suggestions{display:flex;flex:0 0 auto;align-items:center;gap:8px;min-height:48px;padding:7px 10px;border-bottom:1px solid var(--palette-border);background:var(--palette-active)}.xunl-suggestions-label{flex:0 0 auto;font-size:12px;color:var(--palette-muted)}.xunl-suggestion-chips{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:thin}.xunl-suggestion-chip{flex:0 0 auto;min-height:32px;padding:5px 10px;border:1px solid var(--palette-border);border-radius:999px;background:var(--palette-bg);color:var(--palette-text);font:inherit;font-size:12px;line-height:1.3;white-space:nowrap;cursor:pointer}.xunl-suggestion-chip:hover{border-color:var(--palette-blue);color:var(--palette-blue)}.xunl-palette-close{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--palette-muted);font-family:inherit;font-size:24px;line-height:1;cursor:pointer}.xunl-palette-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:5px;scrollbar-width:thin}.xunl-palette-item{display:flex;align-items:center;gap:2px;padding:0;border-radius:9px;color:var(--palette-text)}.xunl-palette-item:hover,.xunl-palette-item.active{background:var(--palette-active)}.xunl-palette-result{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;min-height:64px;padding:9px 8px;color:inherit;text-decoration:none}.xunl-palette-visual{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border:1px solid var(--palette-border);border-radius:9px;background:var(--palette-active);color:var(--palette-blue)}.xunl-palette-thumb{display:block;box-sizing:border-box;width:100%;height:100%;object-fit:cover}.xunl-palette-fallback-icon{font-size:24px;line-height:1}.xunl-palette-meta{display:block;flex:1 1 auto;min-width:0}.xunl-palette-title{display:block;color:var(--palette-text);font-size:14px;font-weight:650;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.xunl-palette-title mark,.xunl-palette-desc mark{background:transparent;color:var(--palette-blue);font-weight:700;text-decoration:underline}.xunl-palette-desc{display:block;margin-top:2px;color:var(--palette-muted);font-size:12px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xunl-palette-jump{flex:0 0 auto;color:var(--palette-muted);font-size:18px}.xunl-palette-star{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--palette-muted);font-size:22px;cursor:pointer}.xunl-palette-star:hover,.xunl-palette-star.starred{color:#a46300;background:var(--palette-blue-bg)}html:is([data-xunl-theme=dark],[data-theme=dark]) .xunl-palette-star.starred{color:#ffd377}.xunl-search-popover :is(a,button):focus-visible{outline:2px solid var(--palette-blue);outline-offset:-2px}.xunl-palette-empty{padding:24px 18px;color:var(--palette-muted);font-size:14px;line-height:1.6;text-align:center}.xunl-search-retry{display:block;min-height:44px;margin:12px auto 0;padding:8px 18px;border:1px solid var(--palette-blue);border-radius:8px;background:var(--palette-bg);color:var(--palette-blue);font:inherit;cursor:pointer}.xunl-palette-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:5px 12px;border-top:1px solid var(--palette-border);background:var(--palette-active);color:var(--palette-muted);font-size:11px;line-height:1.4}.xunl-palette-count{font-variant-numeric:tabular-nums}@media(max-width:600px){.xunl-search-popover{border-radius:11px}.xunl-suggestions-label{display:none}.xunl-palette-result{gap:9px}.xunl-palette-desc{max-width:100%}.xunl-palette-visual{flex-basis:38px;width:38px;height:38px}.xunl-palette-star{flex-basis:40px;width:40px}.xunl-palette-hints{font-size:10px}}@media print{.xunl-header-search,.xunl-search-popover{display:none!important}}@media(max-width:1100px){.header>.nav-wrap.nav-wrap{flex-wrap:wrap!important}.header>.nav-wrap>.brand{flex:0 0 auto;min-width:0}.header>.nav-wrap>.xunl-header-search{flex:1 0 100%;min-width:0;width:100%;max-width:none;box-sizing:border-box}}@media(max-width:600px){.header>.nav-wrap>.brand{flex:1 1 auto}.header>.nav-wrap>.nav-login{display:none}.header>.nav-wrap>nav{order:10;flex:1 0 100%;min-width:0;max-width:100%;overflow-x:auto}.header>.nav-wrap>.xunl-preferences{margin-left:0}.header>.nav-wrap>.nav-signup{flex:0 0 auto}}

/* bundled source: interaction-play.css */
/* Small, truthful interaction cues. Loaded in <head> so icon space is reserved. */
:root{--xplay-accent:var(--blue,#2855eb);--xplay-good:#14866d;--xplay-bad:#c64155;--xplay-icon-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 5 11 7-11 7z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");--xplay-icon-copy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='12' height='13' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");--xplay-icon-download:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 16v4h16v-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--xplay-icon-reset:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9a8 8 0 1 1 1 9M4 3v6h6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--xplay-icon-example:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13 3-8 10h6l-1 8 9-12h-7z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");--xplay-icon-chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4v16h17M8 15v-4m5 4V7m5 8v-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");--xplay-icon-controls:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M8 3v6m8 0v6m-5 0v6' stroke='black' stroke-width='3'/%3E%3C/svg%3E")}
:where(button,a[role="button"],a.button,a.primary-link,input[type="submit"]){touch-action:manipulation;transition:transform 120ms ease,box-shadow 140ms ease,border-color 140ms ease,background-color 140ms ease}
:where(button,a[role="button"],a.button,a.primary-link,input[type="submit"]):not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px) scale(.978)}
:where(button,a[role="button"],a.button,a.primary-link,input[type="submit"]):focus-visible{outline:3px solid color-mix(in srgb,var(--xplay-accent) 55%,transparent);outline-offset:3px}
:where(main input,main textarea,main select){transition:border-color 140ms ease,box-shadow 140ms ease;accent-color:var(--xplay-accent)}
:where(main input,main textarea,main select):focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--xplay-accent) 12%,transparent)}
:is(#run-button,#copy-button,#download-button,#example-button,#clear-button,#mw-copy,#mw-share,#el-copy,#el-share){position:relative;padding-inline-start:36px}
:is(#run-button,#copy-button,#download-button,#example-button,#clear-button,#mw-copy,#mw-share,#el-copy,#el-share)::before{content:"";position:absolute;inset-inline-start:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);background:currentColor;mask:var(--xplay-action-icon,var(--xplay-icon-play)) center/contain no-repeat;pointer-events:none}
:where(#copy-button,#mw-copy,#mw-share,#el-copy,#el-share){--xplay-action-icon:var(--xplay-icon-copy)}
#download-button{--xplay-action-icon:var(--xplay-icon-download)}
#example-button{--xplay-action-icon:var(--xplay-icon-example)}
#clear-button{--xplay-action-icon:var(--xplay-icon-reset)}
:is(.input-panel h2,.output-panel h2,.mw-overline){position:relative;padding-inline-start:29px}
:is(.input-panel h2,.output-panel h2,.mw-overline)::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:20px;height:20px;transform:translateY(-50%);background:var(--xplay-accent);mask:var(--xplay-section-icon,var(--xplay-icon-controls)) center/contain no-repeat;pointer-events:none}
:is(.output-panel h2,.mw-overline){--xplay-section-icon:var(--xplay-icon-chart)}
:where(.mw-shapes label,.el-choice label,[role="tab"],[aria-pressed="true"]){transition:border-color 120ms ease,background-color 120ms ease,box-shadow 120ms ease}
:where(.mw-shapes label:has(input:checked),.el-choice label:has(input:checked)){box-shadow:inset 0 0 0 1px var(--xplay-accent)}
.xplay-result-pane{position:relative}
.xplay-result-pane::after{content:"";position:absolute;inset-inline-end:13px;top:13px;width:9px;height:9px;border:2px solid var(--xplay-accent);border-radius:50%;opacity:0;pointer-events:none;z-index:1}
.xplay-result-pane.xplay-updated::after{animation:xplay-result-pulse 520ms ease-out both}
.xplay-confirmed{animation:xplay-confirm 420ms ease-out both}
.xplay-invalid{outline:2px solid var(--xplay-bad);outline-offset:2px;animation:xplay-nudge 240ms ease-out}
.xplay-input-touched{animation:xplay-input 330ms ease-out}
.xplay-active-control{box-shadow:0 0 0 3px color-mix(in srgb,var(--xplay-accent) 16%,transparent)}
@keyframes xplay-result-pulse{0%{opacity:0;transform:scale(.6)}25%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
@keyframes xplay-confirm{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--xplay-good) 35%,transparent)}100%{box-shadow:0 0 0 7px transparent}}
@keyframes xplay-nudge{0%,100%{translate:0}30%{translate:-3px}65%{translate:3px}}
@keyframes xplay-input{0%{outline:2px solid color-mix(in srgb,var(--xplay-accent) 45%,transparent);outline-offset:2px}100%{outline:2px solid transparent;outline-offset:4px}}
@media(hover:hover) and (pointer:fine){:where(main button,header button):not(:disabled):hover{border-color:var(--xplay-accent)}:where(.tool-card,.kit-card){transition:transform 140ms ease,box-shadow 140ms ease}:where(.tool-card,.kit-card):hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){:where(button,a[role="button"],a.button,a.primary-link,input[type="submit"],main input,main select,main textarea,.tool-card,.kit-card){transition:none!important}:where(button,a[role="button"],a.button,a.primary-link,input[type="submit"]):active{transform:none}.xplay-updated::after,.xplay-confirmed,.xplay-invalid,.xplay-input-touched{animation:none!important}:where(.tool-card,.kit-card):hover{transform:none}}
html.xplay-paused .xplay-updated::after,html.xplay-paused :is(.xplay-confirmed,.xplay-invalid,.xplay-input-touched){animation:none!important}

