.si[data-v-3260c212]{display:inline-flex;align-items:center;justify-content:center;flex:none;height:var(--si-size);min-width:var(--si-size);line-height:1}.si--svg[data-v-3260c212],.si--img[data-v-3260c212]{width:var(--si-size)}.si__svg[data-v-3260c212],.si__svg[data-v-3260c212] svg{display:block;width:100%;height:100%}.si__svg[data-v-3260c212] svg:not([fill]){fill:currentColor}.si__img[data-v-3260c212]{width:100%;height:100%;object-fit:contain}.si__text[data-v-3260c212]{display:inline-flex;align-items:center;justify-content:center;font-size:var(--si-size);line-height:1}.cursor-layer[data-v-770af570]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-cursor);pointer-events:none;opacity:0;transition:opacity var(--dur) var(--ease-out)}.cursor-layer.is-active[data-v-770af570]{opacity:1}.cursor-core[data-v-770af570],.cursor-dot[data-v-770af570],.cursor-spark[data-v-770af570]{position:absolute;left:0;top:0;border-radius:50%;will-change:transform}.cursor-core[data-v-770af570]{box-sizing:border-box;background:transparent;border:clamp(2px,calc(var(--cursor-size, 22px) / 7),4px) solid var(--cursor-color, #ff9ec4);box-shadow:0 0 8px 1px #ff9ec48c,inset 0 0 6px #ff9ec459;transition:border-width .12s ease-out,box-shadow .12s ease-out}.cursor-layer.is-pressed .cursor-core[data-v-770af570]{border-width:clamp(2.6px,calc(var(--cursor-size, 22px) / 5.5),5px);box-shadow:0 0 12px 3px #ff9ec4a6,inset 0 0 8px #ff9ec473}.cursor-dot--dots[data-v-770af570]{background:radial-gradient(circle at 34% 30%,#fff 8%,var(--cursor-color, #ff9ec4) 70%);box-shadow:0 0 6px 1px #ff9ec473}.cursor-dot--ring[data-v-770af570]{box-sizing:border-box;background:transparent;border:2px solid var(--cursor-color, #ff9ec4);box-shadow:0 0 5px 1px #ff9ec466}.cursor-dot--heart[data-v-770af570],.cursor-dot--sparkle[data-v-770af570]{display:block;border-radius:0;color:var(--cursor-color, #ff9ec4);filter:drop-shadow(0 0 4px rgba(255,158,196,.55))}.cursor-dot__shape[data-v-770af570]{width:100%;height:100%;display:block}.cursor-line[data-v-770af570]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.cursor-sparks[data-v-770af570]{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.cursor-spark[data-v-770af570]{position:absolute;background:#fff;box-shadow:0 0 8px 2px #ff9ec4bf}.cursor-spark--alt[data-v-770af570]{background:var(--cursor-color, #ff9ec4)}.toast-host[data-v-684d6bd3]{position:fixed;top:calc(var(--nav-h) + 14px);right:16px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;max-width:min(360px,86vw);pointer-events:none}.toast[data-v-684d6bd3]{display:flex;align-items:flex-start;gap:9px;padding:11px 15px;border-radius:var(--r-md);background:#fffffff5;border:1.5px solid var(--panel-border);box-shadow:var(--shadow-md);font-size:var(--fs-small);color:var(--ink-strong);pointer-events:auto;cursor:pointer}.toast--ok[data-v-684d6bd3]{border-color:#b6ecd0;background:#f4fffa}.toast--error[data-v-684d6bd3]{border-color:#ffc4cc;background:#fff5f6;color:#a3243c}.toast--warn[data-v-684d6bd3]{border-color:#ffe4a3;background:#fffdf3}.toast__icon[data-v-684d6bd3]{flex:none}.toast__text[data-v-684d6bd3]{line-height:1.5;word-break:break-word}.toast-enter-active[data-v-684d6bd3],.toast-leave-active[data-v-684d6bd3]{transition:all var(--dur) var(--ease-cute)}.toast-enter-from[data-v-684d6bd3],.toast-leave-to[data-v-684d6bd3]{opacity:0;transform:translate(30px) scale(.95)}.confirm[data-v-684d6bd3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-confirm);display:grid;place-items:center;padding:20px;background:#4b324047;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm__box[data-v-684d6bd3]{width:min(420px,100%);padding:24px;border-radius:var(--r-lg);background:var(--panel-solid);border:1.5px solid var(--panel-border);box-shadow:var(--shadow-lg);animation:popIn var(--dur) var(--ease-cute)}.confirm__title[data-v-684d6bd3]{margin:0 0 10px;font-size:1.15rem}.confirm__message[data-v-684d6bd3]{margin:0 0 20px;color:var(--ink-soft);font-size:var(--fs-small);line-height:1.7;white-space:pre-wrap}.confirm__input[data-v-684d6bd3]{width:100%;margin-bottom:16px}.confirm__input[data-v-684d6bd3]:focus{outline:none;border-color:var(--panel-border-strong);box-shadow:0 0 0 3px var(--accent-faint)}.confirm__actions[data-v-684d6bd3]{display:flex;justify-content:flex-end;gap:10px}.fade-enter-active[data-v-684d6bd3],.fade-leave-active[data-v-684d6bd3]{transition:opacity var(--dur-fast)}.fade-enter-from[data-v-684d6bd3],.fade-leave-to[data-v-684d6bd3]{opacity:0}:root{--accent: #ff9ec4;--accent-strong: #ff7fb0;--accent-soft: #ffd6e6;--accent-faint: #fff0f6;--mint: #a8e6cf;--sky: #9bf6ff;--lilac: #c7b9ff;--lemon: #fff3b0;--peach: #ffc9a3;--berry: #f6a6c1;--ink: #4b3240;--ink-strong: #38222e;--ink-soft: #7a6272;--ink-faint: #7d6572;--ink-on-accent: #4a1f31;--paper: #fffafc;--panel: rgba(255, 255, 255, .82);--panel-solid: #ffffff;--panel-border: rgba(255, 158, 196, .32);--panel-border-strong: rgba(255, 127, 176, .55);--overlay: rgba(255, 250, 252, .66);--shadow-sm: 0 2px 10px rgba(255, 143, 187, .16);--shadow-md: 0 8px 26px rgba(255, 143, 187, .2);--shadow-lg: 0 18px 48px rgba(214, 120, 165, .26);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .7);--r-xs: 10px;--r-sm: 14px;--r-md: 20px;--r-lg: 28px;--r-xl: 40px;--r-pill: 999px;--font-cute: "ZCOOL KuaiLe", "Baloo 2", "LXGW WenKai", "Klee One", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-body: "LXGW WenKai", "Klee One", "Baloo 2", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-hero: clamp(3rem, 11vw, 9rem);--fs-title: clamp(1.6rem, 3.4vw, 2.6rem);--fs-h2: clamp(1.2rem, 2.2vw, 1.7rem);--fs-body: clamp(.94rem, 1.05vw, 1.05rem);--fs-small: .86rem;--fs-tiny: .76rem;--gap-xs: 6px;--gap-sm: 10px;--gap-md: 18px;--gap-lg: 28px;--gap-xl: 44px;--page-max: 1180px;--reading-max: 780px;--console-max: 2200px;--nav-h: 64px;--bp-wide: 1600px;--bp-desktop: 1280px;--bp-narrow: 900px;--bp-mobile: 640px;--ease-cute: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .18s;--dur: .32s;--dur-slow: .6s;--bg-blur: 12px;--bg-dim: .38;--bg-saturation: 1.05;--bg-scale: 1.06;--bg-mobile-scale: 1.12;--bg-overlay: #ffeaf3;--cursor-size: 22px;--cursor-color: #ff9ec4;--z-bg: 0;--z-content: 10;--z-nav: 60;--z-dock: 9990;--z-modal: 10000;--z-editor-full: 10010;--z-modal-top: 10020;--z-confirm: 10040;--z-toast: 10060;--z-cursor: 100000}@media(max-width:720px){:root{--nav-h: 56px;--gap-lg: 20px;--gap-xl: 30px}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: .01s;--dur: .01s;--dur-slow: .01s}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.75;color:var(--ink);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.has-custom-cursor,body.has-custom-cursor *{cursor:none!important}@media(pointer:coarse){body.has-custom-cursor,body.has-custom-cursor *{cursor:auto!important}}h1,h2,h3,h4,h5,h6{font-family:var(--font-cute);color:var(--ink-strong);font-weight:700;margin:0 0 .6em;line-height:1.35}p{margin:0 0 1em}a{color:var(--accent-strong);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),opacity var(--dur-fast)}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit;color:inherit}ul,ol{padding-left:1.4em}code{font-family:var(--font-mono);font-size:.9em;background:var(--accent-faint);border-radius:6px;padding:.12em .4em;color:#b5386b}pre{font-family:var(--font-mono);background:#282c34;color:#abb2bf;border-radius:var(--r-md);padding:16px 18px;overflow-x:auto;font-size:.88rem;line-height:1.72;border:1px solid rgba(255,255,255,.08)}pre code{background:none;color:inherit;padding:0}.article-body pre code.hljs{background:transparent;padding:0}::selection{background:var(--accent-soft);color:var(--ink-strong)}*{scrollbar-width:thin;scrollbar-color:var(--accent-soft) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--accent-soft);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:content-box}.boot-splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;font-family:var(--font-cute);color:var(--accent-strong);background:linear-gradient(160deg,#fff6fa,#ffeaf3 60%,#f6f0ff)}.boot-splash__dot{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 32%,#fff,var(--accent));box-shadow:var(--shadow-md);animation:bootPulse 1.2s var(--ease-cute) infinite}@keyframes bootPulse{0%,to{transform:scale(.9);opacity:.75}50%{transform:scale(1.12);opacity:1}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-220% 0}to{background-position:220% 0}}.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.reveal.is-in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.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}.page{position:relative;z-index:var(--z-content);width:100%;max-width:var(--page-max);margin:0 auto;padding:calc(var(--nav-h) + 26px) 20px 70px}.page--narrow{max-width:var(--reading-max)}.page__head{text-align:center;margin-bottom:var(--gap-lg)}.page__title{font-family:var(--font-cute);font-size:var(--fs-title);margin-bottom:6px}.page__title .spark{display:inline-block;animation:twinkle 2.4s ease-in-out infinite}.page__subtitle{color:var(--ink-soft);font-size:var(--fs-small);margin:0}.panel{background:var(--panel);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);border:1.5px solid var(--panel-border);border-radius:var(--r-lg);box-shadow:var(--shadow-md),var(--shadow-inset);padding:var(--gap-lg)}.panel--tight{padding:var(--gap-md);border-radius:var(--r-md)}.panel--flat{box-shadow:var(--shadow-sm)}.card{position:relative;background:var(--panel-solid);border:1.5px solid var(--panel-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm),var(--shadow-inset);padding:var(--gap-md);transition:transform var(--dur) var(--ease-cute),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.card--hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--panel-border-strong)}.card--cute:after{content:"♥";position:absolute;top:10px;right:14px;font-size:.8rem;color:var(--accent-soft);pointer-events:none}.section-title{display:flex;align-items:center;gap:10px;font-family:var(--font-cute);font-size:var(--fs-h2);margin:0 0 var(--gap-md)}.section-title:after{content:"";flex:1;height:3px;border-radius:var(--r-pill);background:repeating-linear-gradient(90deg,var(--accent-soft) 0 12px,transparent 12px 20px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--r-pill);border:1.5px solid var(--panel-border-strong);background:var(--panel-solid);color:var(--ink-strong);font-family:var(--font-cute);font-size:.95rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-cute),box-shadow var(--dur-fast),background var(--dur-fast),color var(--dur-fast),opacity var(--dur-fast);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;filter:grayscale(.35);box-shadow:none}.btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-color:transparent;text-shadow:0 1px 2px rgba(120,40,70,.25)}.btn--ghost{background:#ffffff8c;border-color:var(--panel-border);box-shadow:none}.btn--soft{background:var(--accent-faint);border-color:var(--accent-soft);color:var(--accent-strong)}.btn--danger{background:#ffe9ec;border-color:#ffb3c1;color:#c0344f}.btn--sm{padding:6px 14px;font-size:.84rem}.btn--icon{padding:8px;width:40px;height:40px;border-radius:50%;font-size:1rem}.btn--block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:var(--gap-sm);align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--r-pill);font-size:var(--fs-tiny);font-weight:700;line-height:1.9;border:1.5px solid currentColor;background:color-mix(in srgb,currentColor 12%,#fff);color:var(--accent-strong);transition:transform var(--dur-fast) var(--ease-cute),box-shadow var(--dur-fast),filter var(--dur-fast)}.chip--clickable{cursor:pointer}.chip--clickable:hover{transform:translateY(-2px) scale(1.04)}.chip.is-active{color:#fff;background:var(--accent);border-color:transparent;box-shadow:var(--shadow-sm)}.chip--muted{color:var(--ink-faint)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--r-pill);background:var(--accent-faint);border:1px solid var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-tiny);font-weight:700}.badge--off{background:var(--surface-sunken, #f2f2f5);border-color:var(--line-soft, #ddd);color:var(--ink-faint)}.field{display:block;margin-bottom:var(--gap-md)}.field__label{display:block;font-family:var(--font-cute);font-size:var(--fs-small);margin-bottom:6px;color:var(--ink-strong)}.field__hint{display:block;margin-top:5px;font-size:var(--fs-tiny);color:var(--ink-faint)}.input,.textarea,.select{width:100%;padding:11px 16px;border-radius:var(--r-md);border:1.6px solid var(--panel-border);background:#ffffffe6;color:var(--ink-strong);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-faint);background:#fff}.textarea{resize:vertical;min-height:96px;line-height:1.7}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--accent-strong) 50%),linear-gradient(135deg,var(--accent-strong) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.input-row{display:flex;gap:var(--gap-sm)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{position:relative;width:48px;height:26px;border-radius:var(--r-pill);background:#f0dde6;border:1.5px solid var(--panel-border);transition:background var(--dur) var(--ease-out);flex:none}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #c8789b59;transition:transform var(--dur) var(--ease-cute)}.switch input:checked+.switch__track{background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.switch input:checked+.switch__track:after{transform:translate(21px)}.switch input:focus-visible+.switch__track{box-shadow:0 0 0 4px var(--accent-faint)}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent-soft),#f2e6ff);outline:none}.range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 12%,var(--accent) 70%);border:2px solid #fff;box-shadow:var(--shadow-sm);cursor:pointer}.range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #fff;cursor:pointer}.empty{text-align:center;padding:var(--gap-xl) var(--gap-md);color:var(--ink-faint)}.empty__icon{font-size:2.6rem;display:block;margin-bottom:10px;animation:floatY 3.4s ease-in-out infinite}.alert{border-radius:var(--r-md);padding:12px 16px;border:1.5px solid var(--panel-border);background:var(--accent-faint);color:var(--ink-strong);font-size:var(--fs-small)}.alert--error{background:#fff0f1;border-color:#ffc4cc;color:#b3243c}.alert--ok{background:#f0fff7;border-color:#b6ecd0;color:#1b7a4d}.alert--warn{background:#fffbea;border-color:#ffe4a3;color:#8a6a12}.loading{display:grid;place-items:center;padding:var(--gap-xl);color:var(--ink-faint);gap:10px}.loading__ring{width:34px;height:34px;border-radius:50%;border:3px solid var(--accent-faint);border-top-color:var(--accent);animation:spinSlow .9s linear infinite}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,#f7eef3 25%,#fdf6f9 37%,#f7eef3 63%);background-size:220% 100%;animation:shimmer 1.4s ease-in-out infinite}.divider{height:1px;background:repeating-linear-gradient(90deg,var(--accent-soft) 0 8px,transparent 8px 16px);border:0;margin:var(--gap-lg) 0}.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--ink-faint);font-size:var(--fs-tiny)}.meta-row__dot:before{content:"·";margin-right:12px;opacity:.5}.article-body{font-size:1.02rem;line-height:1.95;color:var(--ink);overflow-wrap:break-word}.article-body h1,.article-body h2,.article-body h3{margin-top:1.8em;padding-bottom:.3em;border-bottom:2px dashed var(--accent-soft)}.article-body h1{font-size:1.7rem}.article-body h2{font-size:1.42rem}.article-body h3{font-size:1.2rem}.article-body p{margin:0 0 1.15em}.article-body img{border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin:.4em auto;display:block}.article-body blockquote{margin:1.2em 0;padding:12px 18px;border-left:5px solid var(--accent);background:var(--accent-faint);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--ink-soft)}.article-body ul,.article-body ol{margin:0 0 1.15em}.article-body li{margin-bottom:.4em}.article-body .task-item,.ed__split-preview .task-item{list-style:none;margin-left:-1.2em}.article-body .task-box,.ed__split-preview .task-box{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-right:6px;vertical-align:-2px;border:1.5px solid var(--accent);border-radius:4px;background:#fff;color:#fff;font-size:10px;font-weight:700;line-height:1}.article-body .task-box.is-done,.ed__split-preview .task-box.is-done{border-color:transparent;background:var(--accent)}.article-body .task-box.is-done:after,.ed__split-preview .task-box.is-done:after{content:"✓"}.article-body mark,.ed__split-preview mark{padding:0 2px;border-radius:4px;background:#fff3b0;color:var(--ink-strong)}.article-body table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.94rem;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm)}.article-body th,.article-body td{border:1px solid var(--accent-soft);padding:9px 12px;text-align:left}.article-body th[align=center],.article-body td[align=center],.ed__split-preview th[align=center],.ed__split-preview td[align=center]{text-align:center}.article-body th[align=right],.article-body td[align=right],.ed__split-preview th[align=right],.ed__split-preview td[align=right]{text-align:right}.article-body th{background:var(--accent-faint);font-family:var(--font-cute)}.article-body hr{border:0;height:2px;margin:2em 0;background:repeating-linear-gradient(90deg,var(--accent-soft) 0 10px,transparent 10px 20px)}.article-body a{border-bottom:2px dotted var(--accent)}.article-body :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--nav-h) + 24px)}.article-body .mxyx-more{display:none}.article-body .pdf-page-marker{text-align:center;color:var(--ink-faint);font-size:var(--fs-tiny);letter-spacing:.2em;margin:1.6em 0}.article-body .gb-figure{margin:1.4em 0}.article-body .gb-figure img{margin-left:auto;margin-right:auto}.article-body .gb-figure--left img{margin-left:0}.article-body .gb-figure--right img{margin-right:0}.article-body .gb-figure--w25 img{width:25%}.article-body .gb-figure--w50 img{width:50%}.article-body .gb-figure--w75 img{width:75%}.article-body .gb-figure figcaption,.article-body .gb-media figcaption{margin-top:7px;text-align:center;font-size:var(--fs-tiny);color:var(--ink-faint)}.article-body .gb-gallery{display:grid;gap:10px;margin:1.4em 0}.article-body .gb-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr))}.article-body .gb-gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}.article-body .gb-gallery--4{grid-template-columns:repeat(4,minmax(0,1fr))}.article-body .gb-gallery img{width:100%;height:100%;margin:0;border-radius:var(--r-sm);object-fit:cover}.article-body .gb-media video,.article-body .gb-media audio{display:block;width:100%;border-radius:var(--r-md)}.article-body .gb-media--w25{width:25%}.article-body .gb-media--w50{width:50%}.article-body .gb-media--w75{width:75%}.article-body .gb-media--left{margin-left:0;margin-right:auto}.article-body .gb-media--right{margin-left:auto;margin-right:0}.article-body .gb-media--w25,.article-body .gb-media--w50,.article-body .gb-media--w75{margin-left:auto;margin-right:auto}.article-body .gb-media--w25.gb-media--left,.article-body .gb-media--w50.gb-media--left,.article-body .gb-media--w75.gb-media--left{margin-left:0;margin-right:auto}.article-body .gb-media--w25.gb-media--right,.article-body .gb-media--w50.gb-media--right,.article-body .gb-media--w75.gb-media--right{margin-left:auto;margin-right:0}.article-body p.gb-media--w25,.article-body p.gb-media--w50,.article-body p.gb-media--w75{display:block}.article-body .gb-file a{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-bottom:0;border-radius:var(--r-pill);background:var(--accent-faint);color:var(--accent-strong);font-size:.92rem}.grid{display:grid;gap:var(--gap-md)}.grid--2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid--3{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.stack{display:flex;flex-direction:column;gap:var(--gap-md)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);flex-wrap:wrap}@media(max-width:640px){.panel{padding:var(--gap-md);border-radius:var(--r-md)}.page{padding:calc(var(--nav-h) + 18px) 14px 60px}}
