@layer reset{@scope ([data-astryx-theme="neutral"]) to ([data-astryx-theme]){:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-family-heading);color:var(--color-text-primary)}:where(h1){font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.3333}:where(h2){font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.4}:where(h3){font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.4118}:where(h4){font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.4286}:where(h5){font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.6667}:where(h6){font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.6}:where(p){font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.4286;color:var(--color-text-primary)}:where(small){font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:1.6667;color:var(--color-text-secondary)}:where(code,pre){font-family:var(--font-family-code);font-size:var(--font-size-base);line-height:1.4286}:where(hr){border:none;border-top:1px solid var(--color-border)}}}@layer astryx-theme{:root{color-scheme:light dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@scope ([data-astryx-theme="neutral"]) to ([data-astryx-theme]){:scope{--font-size-4xs:0.375rem;--font-size-3xs:0.4375rem;--font-size-2xs:0.5rem;--font-size-xs:0.625rem;--font-size-sm:0.75rem;--font-size-base:0.875rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8125rem;--font-size-4xl:2.1875rem;--font-size-5xl:2.625rem;--text-heading-1-size:var(--font-size-2xl);--text-heading-1-weight:var(--font-weight-semibold);--text-heading-1-leading:1.3333;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-bold);--text-heading-3-leading:1.4118;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-bold);--text-heading-4-leading:1.4286;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.6667;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.4286;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4118;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.4286;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.4286;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.6667;--text-display-1-size:var(--font-size-5xl);--text-display-1-weight:var(--font-weight-normal);--text-display-1-leading:1.2381;--text-display-2-size:var(--font-size-4xl);--text-display-2-weight:var(--font-weight-normal);--text-display-2-leading:1.2571;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.3793;--duration-fast-min:95ms;--duration-fast:125ms;--duration-fast-max:165ms;--duration-medium-min:225ms;--duration-medium:300ms;--duration-medium-max:400ms;--duration-slow-min:525ms;--duration-slow:700ms;--duration-slow-max:935ms;--font-family-body:Figtree,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-family-heading:Figtree,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-family-code:ui-monospace,"SF Mono",Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-syntax-keyword:light-dark(#700084,#efa8ff);--color-syntax-string:light-dark(#005600,#a6d2a2);--color-syntax-comment:light-dark(#737373,#a3a3a3);--color-syntax-number:light-dark(#6e3500,#ffb37f);--color-syntax-function:light-dark(#00458c,#a0caff);--color-syntax-type:light-dark(#700084,#efa8ff);--color-syntax-variable:light-dark(#171717,#e5e5e5);--color-syntax-operator:light-dark(#737373,#a3a3a3);--color-syntax-constant:light-dark(#6e3500,#ffb37f);--color-syntax-tag:light-dark(#89001a,#ffaeaa);--color-syntax-attribute:light-dark(#584400,#eec12f);--color-syntax-property:light-dark(#005348,#83dac9);--color-syntax-punctuation:light-dark(#a3a3a3,#525252);--color-syntax-background:light-dark(#fafafa,#0a0a0a);--color-background-surface:light-dark(#ffffff,#262626);--color-background-body:light-dark(#f1f1f1,#1b1b1b);--color-background-card:light-dark(#ffffff,#1b1b1b);--color-background-popover:light-dark(#ffffff,#1b1b1b);--color-background-muted:light-dark(#f1f1f1,#1b1b1b);--color-accent:light-dark(#262626,#ebebeb);--color-accent-muted:light-dark(#f1f1f1,#262626);--color-neutral:light-dark(#0000000F,#FFFFFF1A);--color-overlay:light-dark(#00000080,#000000CC);--color-overlay-hover:light-dark(#0000000D,#FFFFFF0D);--color-overlay-pressed:light-dark(#0000001A,#FFFFFF1A);--color-text-primary:light-dark(#171717,#fafafa);--color-text-secondary:light-dark(#737373,#a3a3a3);--color-text-disabled:light-dark(#a3a3a3,#525252);--color-text-accent:light-dark(#262626,#ebebeb);--color-on-dark:#ffffff;--color-on-light:#171717;--color-on-accent:light-dark(#ffffff,#171717);--color-on-success:light-dark(#ffffff,#171717);--color-on-error:light-dark(#ffffff,#171717);--color-on-warning:#171717;--color-icon-accent:light-dark(#262626,#ebebeb);--color-icon-primary:light-dark(#171717,#fafafa);--color-icon-secondary:light-dark(#737373,#a3a3a3);--color-icon-disabled:light-dark(#a3a3a3,#525252);--color-success:light-dark(#007004,#9fe59b);--color-error:light-dark(#a50c25,#ffc6c1);--color-warning:light-dark(#745b00,#fdcf4f);--color-success-muted:light-dark(#c5e5c0,#84c9803D);--color-error-muted:light-dark(#facecb,#ff9e973D);--color-warning-muted:light-dark(#f8da9d,#deb4333D);--color-border:light-dark(#00000014,#FFFFFF1A);--color-border-emphasized:light-dark(#d4d4d4,#525252);--color-skeleton:light-dark(#ebebeb,#525252);--color-shadow:light-dark(#0000001A,#0000004D);--color-tint-hover:light-dark(black,white);--color-background-red:light-dark(#facecb,#ff9e973D);--color-border-red:light-dark(#e6bab8,#ff6f6c);--color-icon-red:light-dark(#89001a,#ff9e97);--color-text-red:light-dark(#89001a,#ffc6c1);--color-background-orange:light-dark(#fad0b5,#ffa2583D);--color-border-orange:light-dark(#e6bda2,#e2883e);--color-icon-orange:light-dark(#6e3500,#ffa258);--color-text-orange:light-dark(#6e3500,#ffc9a2);--color-background-yellow:light-dark(#f8da9d,#deb4333D);--color-border-yellow:light-dark(#e4c279,#c0990e);--color-icon-yellow:light-dark(#584400,#deb433);--color-text-yellow:light-dark(#584400,#fdcf4f);--color-background-green:light-dark(#c5e5c0,#84c9803D);--color-border-green:light-dark(#b2d1ac,#69ad67);--color-icon-green:light-dark(#0c5700,#84c980);--color-text-green:light-dark(#0c5700,#9fe59b);--color-background-teal:light-dark(#a5e3d6,#7ec6b83D);--color-border-teal:light-dark(#94d6c8,#63ab9d);--color-icon-teal:light-dark(#005348,#7ec6b8);--color-text-teal:light-dark(#005348,#99e2d3);--color-background-cyan:light-dark(#a3e0ef,#83c2d43D);--color-border-cyan:light-dark(#91d3e3,#67a7b8);--color-icon-cyan:light-dark(#00505f,#83c2d4);--color-text-cyan:light-dark(#00505f,#9edef0);--color-background-blue:light-dark(#c4ddfb,#9eb7ff3D);--color-border-blue:light-dark(#b1c9e7,#6d9cfe);--color-icon-blue:light-dark(#00458c,#9eb7ff);--color-text-blue:light-dark(#00458c,#c7d3ff);--color-background-purple:light-dark(#eccef3,#f297ff3D);--color-border-purple:light-dark(#d8bbdf,#dd74f0);--color-icon-purple:light-dark(#700084,#f297ff);--color-text-purple:light-dark(#700084,#fac1ff);--color-background-pink:light-dark(#fccadc,#ff99c33D);--color-border-pink:light-dark(#e7b7c8,#f273aa);--color-icon-pink:light-dark(#83004b,#ff99c3);--color-text-pink:light-dark(#83004b,#ffc3da);--color-background-gray:light-dark(#e5e5e5,var(--color-neutral));--color-border-gray:light-dark(#d4d4d4,#262626);--color-icon-gray:light-dark(#525252,#a3a3a3);--color-text-gray:light-dark(#262626,#e5e5e5);--radius-none:0.25rem;--radius-inner:0.375rem;--radius-element:0.625rem;--radius-container:0.75rem;--radius-page:1.75rem;--radius-full:9999px;--shadow-low:0 2px 4px light-dark(oklch(0 0 0/5%),oklch(0 0 0/25%)),0 4px 8px light-dark(oklch(0 0 0/10%),oklch(0 0 0/40%)),inset 0 0 0 1px light-dark(transparent,oklch(1 0 0/8%));--shadow-med:0 2px 4px light-dark(oklch(0 0 0/5%),oklch(0 0 0/35%)),0 4px 12px light-dark(oklch(0 0 0/10%),oklch(0 0 0/50%)),inset 0 0 0 1px light-dark(transparent,oklch(1 0 0/12%));--shadow-high:0 4px 6px light-dark(oklch(0 0 0/10%),oklch(0 0 0/50%)),0 12px 24px light-dark(oklch(0 0 0/15%),oklch(0 0 0/70%)),inset 0 0 0 1px light-dark(transparent,oklch(1 0 0/15%));--shadow-inset-hover:inset 0px 0px 0px 2px #0074e24D;--shadow-inset-selected:inset 0px 0px 0px 2px #0074e280;--shadow-inset-success:inset 0px 0px 0px 2px #1981004D;--shadow-inset-warning:inset 0px 0px 0px 2px #ffce2f4D;--shadow-inset-error:inset 0px 0px 0px 2px #e33f4a4D}.astryx-heading.level-1{font-family:var(--font-family-heading);font-size:var(--text-heading-1-size);font-weight:var(--text-heading-1-weight);line-height:var(--text-heading-1-leading)}.astryx-heading.level-2{font-family:var(--font-family-heading);font-size:var(--text-heading-2-size);font-weight:var(--text-heading-2-weight);line-height:var(--text-heading-2-leading)}.astryx-heading.level-3{font-family:var(--font-family-heading);font-size:var(--text-heading-3-size);font-weight:var(--text-heading-3-weight);line-height:var(--text-heading-3-leading)}.astryx-heading.level-4{font-family:var(--font-family-heading);font-size:var(--text-heading-4-size);font-weight:var(--text-heading-4-weight);line-height:var(--text-heading-4-leading)}.astryx-heading.level-5{font-family:var(--font-family-heading);font-size:var(--text-heading-5-size);font-weight:var(--text-heading-5-weight);line-height:var(--text-heading-5-leading)}.astryx-heading.level-6{font-family:var(--font-family-heading);font-size:var(--text-heading-6-size);font-weight:var(--text-heading-6-weight);line-height:var(--text-heading-6-leading)}.astryx-text.body{font-family:var(--font-family-body);font-size:var(--text-body-size);line-height:var(--text-body-leading)}.astryx-text.large{font-family:var(--font-family-body);font-size:var(--text-large-size);line-height:var(--text-large-leading)}.astryx-text.label{font-family:var(--font-family-body);font-size:var(--text-label-size);line-height:var(--text-label-leading)}.astryx-text.code{font-family:var(--font-family-code);font-size:var(--text-code-size);line-height:var(--text-code-leading)}.astryx-text.supporting{font-family:var(--font-family-body);font-size:var(--text-supporting-size);line-height:var(--text-supporting-leading)}.astryx-text.display-1{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-text.display-2{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-text.display-3{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-button.destructive{background-color:var(--color-error-muted);color:var(--color-error)}.astryx-badge.info{background-color:light-dark(#0074e2,#6d9cfe);color:light-dark(#ffffff,#171717)}.astryx-badge.neutral{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-badge.success{background-color:light-dark(#198100,#64af4c);color:light-dark(#ffffff,#171717)}.astryx-badge.warning{background-color:#ffce2f;color:#171717}.astryx-badge.error{background-color:light-dark(#e33f4a,#ff705d);color:light-dark(#ffffff,#171717)}.astryx-badge.red{background-color:var(--color-background-red);color:var(--color-text-red)}.astryx-badge.orange{background-color:var(--color-background-orange);color:var(--color-text-orange)}.astryx-badge.yellow{background-color:var(--color-background-yellow);color:var(--color-text-yellow)}.astryx-badge.green{background-color:var(--color-background-green);color:var(--color-text-green)}.astryx-badge.teal{background-color:var(--color-background-teal);color:var(--color-text-teal)}.astryx-badge.cyan{background-color:var(--color-background-cyan);color:var(--color-text-cyan)}.astryx-badge.blue{background-color:var(--color-background-blue);color:var(--color-text-blue)}.astryx-badge.purple{background-color:var(--color-background-purple);color:var(--color-text-purple)}.astryx-badge.pink{background-color:var(--color-background-pink);color:var(--color-text-pink)}.astryx-badge.gray{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-statusdot.success{background-color:light-dark(#198100,#64af4c)}.astryx-statusdot.warning{background-color:#ffce2f}.astryx-statusdot.error{background-color:light-dark(#e33f4a,#ff705d)}.astryx-statusdot.accent{background-color:light-dark(#0074e2,#6d9cfe)}.astryx-banner.info{background-color:var(--color-background-blue);--color-accent-muted:transparent;--color-text-primary:var(--color-text-blue);--color-text-secondary:var(--color-text-blue);--color-accent:var(--color-text-blue)}.astryx-banner.success{--color-text-primary:var(--color-text-green);--color-text-secondary:var(--color-text-green);--color-success:var(--color-text-green)}.astryx-banner.warning{--color-text-primary:var(--color-text-yellow);--color-text-secondary:var(--color-text-yellow);--color-warning:var(--color-text-yellow)}.astryx-banner.error{--color-text-primary:var(--color-text-red);--color-text-secondary:var(--color-text-red);--color-error:var(--color-text-red)}.astryx-switch{--color-background-gray:var(--color-border-emphasized)}.astryx-progressbar{--color-background-muted:var(--color-border-emphasized)}.astryx-progressbar.accent{--color-accent:#0074e2}.astryx-progressbar.success{--color-success:#198100}.astryx-progressbar.warning{--color-warning:#ffce2f}.astryx-progressbar.error{--color-error:#e33f4a}.astryx-card{--astryx-card-padding:var(--spacing-3)}.astryx-section{--astryx-section-padding:var(--spacing-3)}.astryx-heading.primary,.astryx-text.primary{color:var(--color-text-primary)}.astryx-heading.secondary,.astryx-text.secondary{color:var(--color-text-secondary)}.astryx-heading.disabled,.astryx-text.disabled{color:var(--color-text-disabled)}.astryx-heading.placeholder,.astryx-text.placeholder{color:var(--color-text-secondary)}.astryx-heading.accent,.astryx-text.accent{color:var(--color-text-accent)}.astryx-text.size-4xs{font-size:var(--font-size-4xs)}.astryx-text.size-3xs{font-size:var(--font-size-3xs)}.astryx-text.size-2xs{font-size:var(--font-size-2xs)}.astryx-text.xsm{font-size:var(--font-size-xs)}.astryx-text.sm{font-size:var(--font-size-sm)}.astryx-text.base{font-size:var(--font-size-base)}.astryx-text.lg{font-size:var(--font-size-lg)}.astryx-text.xl{font-size:var(--font-size-xl)}.astryx-text.size-2xl{font-size:var(--font-size-2xl)}.astryx-text.size-3xl{font-size:var(--font-size-3xl)}.astryx-text.size-4xl{font-size:var(--font-size-4xl)}[data-astryx-media=dark]{color-scheme:dark;--color-text-primary:var(--color-on-dark);--color-icon-primary:var(--color-on-dark);--color-accent:var(--color-on-dark)}[data-astryx-media=light]{color-scheme:light;--color-text-primary:var(--color-on-light);--color-icon-primary:var(--color-on-light);--color-accent:var(--color-on-light)}}}@layer astryx-theme{}:root{--n-surface:#ffffff;--n-paper:#f4f7fc;--n-ink:#0f2444;--n-ink-soft:#4b5f80;--n-ink-faint:#8c9cb5;--n-rule:#d5e0f0;--n-rule-soft:#e8eef8;--n-accent:#1b56d3;--n-accent-ink:#123fa0;--n-accent-wash:#e7eefc;--n-gold:#f2b705;--n-gold-ink:#8a6a00;--n-gold-wash:#fdf3d6;--n-hover:rgba(15,36,68,0.06);--n-active:rgba(27,86,211,0.12);--n-error:#a35a06;--n-error-wash:#fbeed4;--n-warn:#8a6a00;--n-warn-wash:#fdf7e2;--n-good:#1b56d3;--n-shadow:0 1px 2px rgba(15,36,68,0.08),0 6px 24px rgba(15,36,68,0.07);--n-shadow-lift:0 8px 40px rgba(15,36,68,0.2);--n-r:8px;--n-topbar:108px;--font-code:var(--font-sans),sans-serif;--n-scroll:#c3d3ea;--n-scroll-hover:#9fb6d8}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--n-paper);color:var(--n-ink);font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.area,.doctitle,.input,.msgbox,.search,input,select,textarea{font-family:var(--font-sans),sans-serif;font-size:14px;color:var(--n-ink)}::placeholder{color:var(--n-ink-faint);opacity:1}:root{color-scheme:light}.dhead h2,.dsection,.section>h2,.vhead h3{color:var(--n-ink)}::selection{background:var(--n-active)}*{scrollbar-width:thin;scrollbar-color:var(--n-scroll) transparent}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--n-scroll);border:3px solid transparent;border-radius:999px;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--n-scroll-hover);background-clip:content-box}::-webkit-scrollbar-thumb:active{background:var(--n-accent);background-clip:content-box}::-webkit-scrollbar-button{display:none;width:0;height:0}.shell{display:flex;flex-direction:column;height:100dvh}.body{flex:1 1;display:flex;min-height:0}.topbar{display:flex;align-items:flex-start;gap:12px;padding:8px 14px 0;background:var(--n-paper)}.logo{width:40px;height:40px;display:grid;place-items:center;flex:none;margin-top:2px;color:var(--n-accent)}.logo .mark{height:32px;width:auto;fill:currentColor}.titleblock{flex:1 1;min-width:0}.titlerow{display:flex;align-items:center;gap:2px}.doctitle{font-size:17px;font-weight:600;color:var(--n-ink);letter-spacing:-.01em;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:none;min-width:40px;max-width:380px}.doctitle:hover{border-color:var(--n-rule)}.doctitle:focus{outline:none;border-color:var(--n-accent);background:var(--n-surface)}.iconbtn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--n-ink-soft);flex:none}.iconbtn:hover{background:var(--n-hover);color:var(--n-ink)}.iconbtn.on{background:var(--n-active);color:var(--n-accent-ink)}.iconbtn.lg{width:34px;height:34px}.menurow{display:flex;align-items:center;gap:1px;margin-left:2px}.menu{padding:3px 8px;border-radius:4px;font-size:13px;color:var(--n-ink);position:relative}.menu.open,.menu:hover{background:var(--n-hover)}.saved{font-size:12px;color:var(--n-ink-faint);padding-left:8px;white-space:nowrap}.topright{display:flex;gap:6px;padding-top:2px}.btn,.topright{align-items:center}.btn{display:inline-flex;gap:8px;height:36px;padding:0 18px;border-radius:999px;font-size:13.5px;font-weight:500;white-space:nowrap}.btn.primary{background:var(--n-accent);color:#fff}.btn.primary:hover{background:var(--n-accent-ink)}.btn.ghost{color:var(--n-accent-ink)}.btn.ghost,.btn.ghost:hover{background:var(--n-accent-wash)}.btn.ghost:hover{color:var(--n-accent)}.btn.plain{border:1px solid var(--n-rule);color:var(--n-ink)}.btn.plain:hover{background:var(--n-hover)}.btn.text{color:var(--n-accent-ink);padding:0 14px}.btn.text:hover{background:var(--n-accent-wash)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:600;flex:none}.toolbar{display:flex;align-items:center;gap:2px;margin:6px 12px 8px;padding:4px 8px;background:var(--n-surface);border:1px solid var(--n-rule-soft);border-radius:999px;overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tdiv{width:1px;height:20px;background:var(--n-rule);margin:0 6px;flex:none}.tbtn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border-radius:6px;font-size:13px;color:var(--n-ink);white-space:nowrap;flex:none}.tbtn:hover{background:var(--n-hover)}.tbtn.open{background:var(--n-active);color:var(--n-accent-ink)}.tbtn:disabled{color:var(--n-ink-faint);cursor:default}.tbtn:disabled:hover{background:none}.tcount{min-width:17px;height:17px;padding:0 5px;background:var(--n-accent);color:#fff;font-size:10.5px;font-weight:600;display:grid;place-items:center}.seg,.tcount{border-radius:999px}.seg{display:inline-flex;background:var(--n-paper);padding:2px;flex:none}.seg button{height:26px;padding:0 13px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--n-ink-soft)}.seg button.on{color:var(--n-accent-ink);box-shadow:0 1px 2px rgba(15,36,68,.12)}.pop,.seg button.on{background:var(--n-surface)}.pop{position:absolute;z-index:60;border:1px solid var(--n-rule-soft);border-radius:10px;box-shadow:var(--n-shadow-lift);padding:6px;min-width:220px;max-height:60vh;overflow-y:auto}.pop h4{margin:6px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--n-ink-faint)}.popitem{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:6px;text-align:left;font-size:13px}.popitem:hover{background:var(--n-hover)}.popitem.on{background:var(--n-accent-wash)}.popitem .meta{margin-left:auto;font-family:var(--font-code)}.popitem .meta,.popitem .sub{font-size:11.5px;color:var(--n-ink-faint)}.popitem .sub{display:block}.popsplit{height:1px;background:var(--n-rule-soft);margin:5px 0}.check{width:15px;height:15px;border:1.5px solid var(--n-ink-faint);border-radius:3px;flex:none;display:grid;place-items:center}.check.on{background:var(--n-accent);border-color:var(--n-accent);color:#fff}.search{width:100%;height:32px;padding:0 10px;margin-bottom:4px;border:1px solid var(--n-rule);border-radius:6px;background:var(--n-paper)}.search:focus{outline:none;border-color:var(--n-accent);background:var(--n-surface)}.sidebar{width:236px;flex:none;padding:10px 8px 20px 14px;overflow-y:auto;border-right:1px solid var(--n-rule-soft)}.sidehead{gap:6px;padding:4px 8px 8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--n-ink-faint)}.outline,.sidehead{display:flex;align-items:center}.outline{width:100%;gap:9px;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--n-ink-soft);text-align:left}.outline:hover{background:var(--n-hover)}.outline.on{background:var(--n-active);color:var(--n-accent-ink);font-weight:500}.outline .n{margin-left:auto;font-size:11px;font-family:var(--font-code)}.outline .n,.sidenote{color:var(--n-ink-faint)}.sidenote{padding:10px 10px 0;font-size:12px;line-height:1.5;font-style:italic}.canvas{flex:1 1;min-width:0;overflow-y:auto;padding:0 0 80px}.page{width:min(816px,100% - 48px);margin:22px auto;background:var(--n-surface);border:1px solid var(--n-rule-soft);border-radius:4px;box-shadow:var(--n-shadow);padding:44px 62px 58px}.page.code{padding:0;overflow:hidden}.section{margin-bottom:34px;scroll-margin-top:20px}.section>h2{margin:0 0 4px;font-family:var(--font-serif),serif;font-size:21px;font-weight:500;letter-spacing:-.01em}.section>p.hint{margin:0 0 16px;font-size:12.5px;color:var(--n-ink-faint);line-height:1.5}.field{margin-bottom:16px}.field>label{display:block;font-size:12px;font-weight:600;color:var(--n-ink-soft);margin-bottom:5px}.field .desc{font-size:11.5px;color:var(--n-ink-faint);margin-top:5px;line-height:1.5}.area,.input{width:100%;padding:9px 11px;border:1px solid var(--n-rule);border-radius:var(--n-r);background:var(--n-surface);transition:border-color .12s,box-shadow .12s}.area:focus,.input:focus{outline:none;border-color:var(--n-accent);box-shadow:0 0 0 3px var(--n-accent-wash)}.area::-webkit-scrollbar{width:10px}.area::-webkit-scrollbar-thumb{border-width:2px}.area{min-height:132px;resize:vertical;line-height:1.6;font-family:var(--font-code);font-size:12.5px}.area.bad,.input.bad{border-color:var(--n-error)}.row2{grid-template-columns:1fr 1fr;grid-gap:14px}.row2,.row3{display:grid;gap:14px}.row3{grid-template-columns:1fr 1fr 1fr;grid-gap:14px}.slider{width:100%;accent-color:var(--n-accent)}.card{border:1px solid var(--n-rule-soft);border-radius:var(--n-r);padding:12px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px}.card .name{font-weight:600;font-size:13px}.card .path{font-family:var(--font-code);font-size:11.5px;color:var(--n-ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .grow{min-width:0;flex:1 1}.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;background:var(--n-paper);border:1px solid var(--n-rule);font-size:12px;font-family:var(--font-code)}.tag.allow{background:var(--n-accent-wash);color:var(--n-accent-ink)}.tag.allow,.tag.deny{border-color:transparent}.tag.deny{background:var(--n-error-wash);color:var(--n-error)}.tag button{color:inherit;opacity:.55;display:grid;place-items:center}.tag button:hover{opacity:1}.tagrow{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.switch{width:34px;height:19px;border-radius:999px;background:var(--n-rule);position:relative;flex:none;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .15s}.switch.on{background:var(--n-accent)}.switch.on:after{left:17px}.astryx-button{border-radius:999px!important;height:36px!important;padding:0 18px!important;font-family:var(--font-sans),sans-serif!important;font-size:13.5px!important;font-weight:500!important}.astryx-button[data-variant=primary]{background:var(--n-accent)!important;color:#fff!important;border:0!important}.astryx-button[data-variant=primary]:hover{background:var(--n-accent-ink)!important}.astryx-button[data-variant=ghost]{background:transparent!important;color:var(--n-accent-ink)!important}.astryx-button[data-variant=ghost]:hover{background:var(--n-accent-wash)!important}.astryx-button[data-variant=secondary]{background:var(--n-surface)!important;color:var(--n-ink)!important;border:1px solid var(--n-rule)!important}.astryx-switch{background:var(--n-rule)!important}.astryx-switch[data-checked=checked]{background:var(--n-accent)!important}.astryx-switch-thumb{background:#fff!important}.mono,.popitem .mono{font-family:var(--font-code);font-size:12.5px}.kindtag{margin-left:4px;padding:2px 8px;border-radius:999px;background:var(--n-accent-wash);color:var(--n-accent-ink);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.permblock{margin:0 0 12px;padding:14px 16px;background:var(--n-paper);font-family:var(--font-code);font-size:12px;line-height:1.6;overflow-x:auto}.permblock,.step{border:1px solid var(--n-rule-soft);border-radius:var(--n-r)}.step{display:flex;gap:14px;align-items:flex-start;padding:16px}.stepno{width:26px;height:26px;border-radius:50%;background:var(--n-accent);color:#fff;display:grid;place-items:center;font-size:12.5px;font-weight:600;flex:none}.stepbody{flex:1 1;min-width:0}.steparrow{display:grid;place-items:center;padding:6px 0}.emptyrow,.steparrow{color:var(--n-ink-faint)}.emptyrow{padding:14px;border:1px dashed var(--n-rule);border-radius:var(--n-r);font-size:12.5px;margin-bottom:8px}.editor{position:relative;display:flex;font-family:var(--font-code);font-size:13px;line-height:21px;overflow-x:auto;font-feature-settings:"tnum" 1,"calt" 0,"tnum"}.editor,.gutter{font-variant-numeric:tabular-nums}.gutter{flex:none;position:-webkit-sticky;position:sticky;left:0;z-index:2;padding:18px 10px 40px 16px;text-align:right;color:var(--n-ink-faint);background:var(--n-paper);border-right:1px solid var(--n-rule-soft);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-feature-settings:"tnum"}.gutter div{height:21px;position:relative}.gutter div.bad{color:var(--n-error);font-weight:700}.gutter div.warnline{color:var(--n-warn);font-weight:700}.codewrap{position:relative;flex:1 1;width:max-content;min-width:calc(100% - 60px)}.code-shared{padding:18px 20px 40px 14px;white-space:pre;overflow-wrap:normal;font-family:inherit;font-size:inherit;line-height:inherit;-moz-tab-size:2;tab-size:2}.hl{margin:0;pointer-events:none;min-height:420px;position:relative;z-index:1}.ta{position:absolute;inset:0;border:0;resize:none;background:transparent;color:transparent;caret-color:var(--n-ink);overflow:hidden}.ta:focus{outline:none}.tok-key{color:var(--n-accent-ink)}.tok-str{color:var(--n-gold-ink)}.tok-num{color:var(--n-accent)}.tok-bool{color:var(--n-accent-ink);font-weight:600}.tok-com,.tok-dash,.tok-punc{color:var(--n-ink-faint)}.tok-com{font-style:italic}.errline{position:absolute;left:0;right:0;height:21px;background:var(--n-error-wash);pointer-events:none;z-index:0}.errline.warn{background:var(--n-warn-wash)}.problems{border-top:1px solid var(--n-rule-soft);background:var(--n-paper)}.problems .phead{display:flex;align-items:center;gap:8px;padding:9px 16px;font-size:12px;font-weight:600;color:var(--n-ink-soft)}.problem{display:flex;gap:10px;align-items:baseline;width:100%;padding:7px 16px 7px 34px;text-align:left;font-size:12.5px}.problem:hover{background:var(--n-hover)}.problem .where{font-family:var(--font-code);font-size:11.5px;color:var(--n-ink-faint);flex:none}.problem.error .msg{color:var(--n-error)}.problem.warning .msg{color:var(--n-warn)}.okbar{align-items:center;gap:8px;padding:9px 16px;font-size:12.5px;color:var(--n-good);border-top:1px solid var(--n-rule-soft)}.okbar,.vpanel{display:flex;background:var(--n-paper)}.vpanel{width:316px;flex:none;border-left:1px solid var(--n-rule-soft);flex-direction:column;overflow:hidden}.vhead{display:flex;align-items:center;padding:14px 10px 12px 18px}.vhead h3{margin:0;font-size:17px;font-weight:500;flex:1 1}.vselect{margin:0 14px 10px;height:42px;padding:0 12px;border:1px solid var(--n-rule);border-radius:var(--n-r);background:var(--n-surface);display:flex;align-items:center;font-size:13.5px;width:calc(100% - 28px);text-align:left}.vlist,.vselect span{flex:1 1}.vlist{overflow-y:auto;padding:0 8px 20px}.vday{padding:12px 10px 6px;font-size:13px;font-weight:600}.ventry{width:100%;text-align:left;padding:11px 12px;border-radius:var(--n-r);display:block;border:1px solid transparent}.ventry:hover{background:var(--n-hover)}.ventry.on{background:var(--n-surface);border-color:var(--n-rule-soft);box-shadow:var(--n-shadow)}.ventry .t{font-size:13.5px;font-weight:500}.ventry .c{margin-top:2px}.ventry .c,.ventry .who{font-size:12.5px;color:var(--n-ink-soft)}.ventry .who{display:flex;align-items:center;gap:7px;margin-top:6px}.dot{width:8px;height:8px;border-radius:50%;flex:none}.vbanner{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--n-gold-wash);border-bottom:1px solid var(--n-gold);font-size:13px}.vbanner .grow{flex:1 1}.scrim{position:fixed;inset:0;background:rgba(15,36,68,.45);display:grid;place-items:center;z-index:100;padding:20px}.dialog{width:100%;max-width:512px;background:var(--n-surface);border-radius:10px;box-shadow:var(--n-shadow-lift);padding:22px 22px 18px;max-height:88vh;overflow-y:auto}.dialog.wide{max-width:560px}.dhead{display:flex;align-items:center;gap:10px;margin-bottom:18px}.dhead h2{margin:0;font-size:21px;font-weight:400;flex:1 1;letter-spacing:-.01em}.dsub{font-size:12.5px;color:var(--n-ink-faint);margin:-12px 0 16px;line-height:1.5}.fieldset{border:1px solid var(--n-accent);border-radius:var(--n-r);padding:8px 10px;min-height:52px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;position:relative;margin-bottom:16px}.fieldset>legend{padding:0 5px;font-size:11.5px;color:var(--n-accent)}.fieldset input{flex:1 1;min-width:120px;border:0;background:none;height:30px}.fieldset input:focus{outline:none}.chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 6px 0 4px;border-radius:999px;background:var(--n-paper);border:1px solid var(--n-rule);font-size:13px}.chip .avatar{width:24px;height:24px;font-size:11px}.person{display:flex;align-items:center;gap:12px;padding:7px 0}.person .who{flex:1 1;min-width:0}.person .who b{display:block;font-size:13.5px;font-weight:500}.person .who span{font-size:12.5px;color:var(--n-ink-soft)}.dsection{margin:20px 0 6px;font-size:15px;font-weight:500}.dfoot{display:flex;align-items:center;gap:8px;margin-top:22px}.dfoot .grow{flex:1 1}.selectish{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:6px;font-size:13.5px;border:1px solid var(--n-rule);background:var(--n-surface);position:relative}.selectish:hover{background:var(--n-hover)}.selectish.bare{border-color:transparent}.checkrow{display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:14px;cursor:pointer}.msgbox{width:100%;min-height:118px;padding:12px 14px;border:1px solid var(--n-rule);border-radius:var(--n-r);resize:vertical;line-height:1.5}.msgbox:focus{outline:none;border-color:var(--n-accent)}.access{display:flex;align-items:center;gap:12px}.lockcircle{width:34px;height:34px;border-radius:50%;background:var(--n-paper);display:grid;place-items:center;color:var(--n-ink-soft);flex:none}.difftable{border:1px solid var(--n-rule-soft);border-radius:var(--n-r);overflow:hidden;font-family:var(--font-code);font-size:12px;margin:4px 0 16px}.diffline{padding:3px 12px;white-space:pre;overflow-x:auto}.diffline.add{background:var(--n-accent-wash);color:var(--n-accent-ink)}.diffline.del{background:var(--n-error-wash);color:var(--n-error)}.diffline.ctx{color:var(--n-ink-faint)}.ghrow{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--n-rule-soft);border-radius:var(--n-r);margin-bottom:14px;font-size:13px}.spin{width:15px;height:15px;border-radius:50%;border:2px solid var(--n-rule);border-top-color:var(--n-accent);animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--n-ink);color:var(--n-paper);padding:11px 18px;border-radius:var(--n-r);font-size:13px;box-shadow:var(--n-shadow-lift);z-index:200;display:flex;align-items:center;gap:12px}.toast button{color:var(--n-gold);font-weight:600}@media (max-width:900px){.sidebar{display:none}.page{width:calc(100% - 24px);padding:28px 24px 40px}.vpanel{position:fixed;right:0;top:0;bottom:0;z-index:90;box-shadow:var(--n-shadow-lift)}}