@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-vietnamese-400-normal.BNOj0Qhp.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-400-normal.B0PMp_xB.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-ext-400-normal.DTLbW2xa.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-400-normal.D4cJI_B-.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-mono-latin-400-normal.Rg4St2Dn.woff2)format("woff2"),url(/_astro/space-mono-latin-400-normal._3DlpgIW.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-vietnamese-700-normal.DWQgDHuA.woff2)format("woff2"),url(/_astro/space-mono-vietnamese-700-normal.D-KrLuLr.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-ext-700-normal.B2s3bDs2.woff2)format("woff2"),url(/_astro/space-mono-latin-ext-700-normal.B_E7P90g.woff)format("woff");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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-mono-latin-700-normal.mWgeinG7.woff2)format("woff2"),url(/_astro/space-mono-latin-700-normal.D7A851RN.woff)format("woff");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{--color-primary:#b5641e;--color-primary-strong:#8a4a16;--color-primary-soft:#f5e9dd;--color-orange:#e8631f;--color-brick:#9b2e1a;--color-gold:#f2b807;--color-ink:#1b1712;--color-ink-strong:#120f0b;--color-on-ink:#f1ebe2;--color-on-ink-muted:#b3a892;--color-ink-border:#3a3026;--color-bg:#f7f3ee;--color-surface:#fffdf6;--color-surface-alt:#f0eae2;--color-text:#1b1712;--color-text-muted:#6b6155;--color-text-faint:#a39a8d;--color-border:#e2dace;--color-border-strong:#c9bfb0;--color-done:#3f6f47;--color-done-soft:#e6efe6;--color-due:#8a4a16;--color-due-soft:#f5e9dd;--color-weak:#9b2e1a;--color-weak-soft:#f7e4e0;--font-body:"Hanken Grotesk Variable", "Hanken Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", "Courier New", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--container:72rem;--measure:38rem;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#d98b4a;--color-primary-strong:#e8a76e;--color-primary-soft:#33231a;--color-bg:#14100c;--color-surface:#1e1913;--color-surface-alt:#292219;--color-text:#f1ebe2;--color-text-muted:#a89c8c;--color-text-faint:#6f6558;--color-border:#322a21;--color-border-strong:#4a3f32;--color-done:#7fae86;--color-done-soft:#1d2a1f;--color-due:#d98b4a;--color-due-soft:#33231a;--color-weak:#d97a63;--color-weak-soft:#33201b}@media (prefers-reduced-motion:no-preference){body{transition:background-color .2s,color .2s}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}html.smooth-scroll{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html.smooth-scroll{scroll-behavior:auto}}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);flex-direction:column;min-height:100vh;line-height:1.6;display:flex}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ul,ol{list-style:none}img,svg{max-width:100%;height:auto;display:block}fieldset{min-width:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{left:-999px;top:var(--space-2);background:var(--color-surface);padding:var(--space-2) var(--space-4);border:1px solid var(--color-primary);z-index:100;position:absolute}.skip-link:focus{left:var(--space-2)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:800;line-height:1.2}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.35rem,2.5vw,1.75rem)}h3{font-size:1.15rem;font-weight:700}h4{font-size:1rem;font-weight:700}p{max-width:var(--measure)}p+p{margin-top:var(--space-4)}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:700}.mono{font-family:var(--font-mono);font-size:.85em}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.lede{color:var(--color-text-muted);max-width:44rem;font-size:1.1rem}a.link{color:var(--color-primary-strong);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}a.link:hover{text-decoration-thickness:2px}.container{width:100%;max-width:var(--container);padding-inline:var(--space-5);margin-inline:auto}main{padding-block:var(--space-10) var(--space-16);flex:1}.page-head{margin-bottom:var(--space-8)}.page-head h1{margin-block:var(--space-2)}.band{background:var(--color-surface-alt);border-block:1px solid var(--color-border);padding-block:var(--space-10)}.band--ink{background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink-border)}.band--ink .muted,.band--ink .eyebrow{color:var(--color-on-ink-muted)}.stack>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-8)}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}:root{--masthead-inner-h:60px;--masthead-h:0px}.has-masthead{--masthead-h:calc(var(--masthead-inner-h) + 1px);scroll-padding-top:calc(var(--masthead-h) + var(--space-2))}.masthead{z-index:50;background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.masthead__inner{justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--masthead-inner-h);display:flex;position:relative}.masthead__brand{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.masthead__logo{width:auto;height:34px;display:block}.masthead__logo--dark,[data-theme=dark] .masthead__logo--light{display:none}[data-theme=dark] .masthead__logo--dark{display:block}.masthead__tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);padding-top:14px;font-size:.65rem;font-weight:700}.site-nav{align-items:center;gap:var(--space-5);display:flex}.site-nav__link{align-items:center;gap:var(--space-2);padding-block:var(--space-1);letter-spacing:.02em;white-space:nowrap;font-size:.875rem;font-weight:600;transition:color .16s;display:inline-flex;position:relative}.site-nav__link:hover{color:var(--color-primary-strong)}.site-nav__link[aria-current=page]:after{content:"";background:var(--color-primary);height:2px;position:absolute;bottom:-2px;left:0;right:0}.site-nav__icon{padding:var(--space-1);color:var(--color-text-muted);display:inline-flex}.site-nav__icon:hover{color:var(--color-primary-strong)}.site-nav__icon--signedin{color:var(--color-primary)}.theme-switch{align-items:center;display:inline-flex}.theme-switch[hidden]{display:none}.theme-switch__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:.65rem;display:none}.theme-switch__opts{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}.theme-switch__opt{padding:2px var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;font-size:.6875rem;transition:color .16s,background-color .16s}.theme-switch__opt:hover{color:var(--color-text)}.theme-switch__opt[aria-pressed=true]{background:var(--color-surface-alt);color:var(--color-text)}.account-menu{position:relative}.account-menu__panel{right:0;top:calc(100% + var(--space-2));z-index:60;background:var(--color-bg);border:1px solid var(--color-border-strong);min-width:12rem;padding:var(--space-2) 0;position:absolute}.account-menu__item{text-align:left;width:100%;padding:var(--space-2) var(--space-4);background:0 0;border:0;font-size:.875rem;display:block}.account-menu__item:hover,.account-menu__item:focus-visible{color:var(--color-primary-strong);background:var(--color-surface-alt);outline:none}.account-menu__signout{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-2)}.nav-toggle{display:none}@media (width<=59.99rem){.has-masthead:has(.masthead:not([data-nav-ready])){--masthead-h:0px}.masthead:not([data-nav-ready]){position:static}.masthead:not([data-nav-ready]) .masthead__inner{height:auto;min-height:var(--masthead-inner-h);padding-block:var(--space-2);flex-wrap:wrap}.masthead:not([data-nav-ready]) .site-nav{gap:var(--space-2) var(--space-4);flex-wrap:wrap}[data-nav-ready] .nav-toggle:not([hidden]){width:2.75rem;height:2.75rem;margin-right:calc(-1 * var(--space-2));-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;padding:.6rem;display:inline-flex}.nav-toggle__bar{background:var(--color-text);height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(2){transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(3){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(4){transform:translateY(-7px)rotate(-45deg)}[data-nav-ready] .site-nav{max-height:calc(100dvh - var(--masthead-h));overscroll-behavior:contain;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-5) var(--space-5);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}[data-nav-ready].is-open .site-nav{display:flex}[data-nav-ready] .site-nav__link{min-height:44px;font-size:1rem}[data-nav-ready] .site-nav__link[aria-current=page]:after{left:calc(-1 * var(--space-3));width:3px;height:auto;top:10px;bottom:10px;right:auto}[data-nav-ready] .account-menu__toggle{display:none}[data-nav-ready] .account-menu__panel{min-width:0;margin-top:var(--space-2);border:0;border-top:1px solid var(--color-border);padding:var(--space-2) 0 0;background:0 0;display:block;position:static}[data-nav-ready] .account-menu__item{min-height:44px;padding-inline:0;font-size:1rem}[data-nav-ready] .account-menu__signout{border-top:0;margin-top:0;padding-top:0}[data-nav-ready] .theme-switch{margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);order:1;justify-content:space-between}[data-nav-ready] .theme-switch__label{display:block}[data-nav-ready] .theme-switch__opt{min-height:40px;padding-inline:var(--space-4)}}.nav-scrim{z-index:40;background:color-mix(in srgb, var(--color-ink-strong) 45%, transparent);cursor:pointer;position:fixed;inset:0}.nav-scrim[hidden]{display:none}html.nav-open,html.nav-open body{overflow:hidden}@media (width>=60rem){.nav-scrim{display:none}html.nav-open,html.nav-open body{overflow:visible}}@media (prefers-reduced-motion:no-preference){.nav-scrim{animation:.16s nav-scrim-in}}@keyframes nav-scrim-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.nav-toggle__bar{transition:none}}.draft-strip{background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);padding-block:var(--space-2);font-size:.8rem}[data-theme=dark] .draft-strip{background:var(--color-primary-soft)}.site-footer{background:var(--color-ink);color:var(--color-on-ink-muted);border-top:3px solid var(--color-primary);padding-block:var(--space-8);font-size:.85rem}.site-footer a{color:var(--color-on-ink);text-decoration:underline}.site-footer h2{font-size:.75rem}.rows{border-top:1px solid var(--color-border)}.row{align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);border-left:3px solid #0000;display:flex}a.row:hover,a.row:focus-visible{border-left-color:var(--color-primary);background:var(--color-surface-alt)}.row__code{font-family:var(--font-mono);color:var(--color-primary-strong);min-width:3.25rem;font-size:.8rem;font-weight:700}.row__body{flex:1;min-width:0}.row__title{font-weight:700}.row__meta{font-family:var(--font-mono);color:var(--color-text-faint);white-space:nowrap;font-size:.72rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border-strong);padding:var(--space-5)}.panel--accent{border-left-color:var(--color-primary)}.panel--done{border-left-color:var(--color-done)}.panel--weak{border-left-color:var(--color-weak)}.panel[role=status],.panel[role=alert]{margin-bottom:var(--space-4)}.panel__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}fieldset.panel>legend.panel__head{float:left;width:100%;padding:0}fieldset.panel>legend.panel__head+*{clear:both}.facets{border-top:1px solid var(--color-border);gap:0;display:grid}.facet{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:8rem 1fr;display:grid}.facet dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding-top:2px;font-size:.72rem;font-weight:700}.facet dd{max-width:var(--measure)}@media (width<=34rem){.facet{gap:var(--space-1);grid-template-columns:1fr}}.btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:1px solid var(--color-border-strong);background:var(--color-surface);font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--color-surface-alt)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px var(--space-2);border:1px solid var(--color-border-strong);color:var(--color-text-muted);font-size:.68rem;display:inline-block}.tag--done{border-color:var(--color-done);color:var(--color-done);background:var(--color-done-soft)}.tag--due{border-color:var(--color-due);color:var(--color-due);background:var(--color-due-soft)}.tag--weak{border-color:var(--color-weak);color:var(--color-weak);background:var(--color-weak-soft)}.meter{background:var(--color-surface-alt);border:1px solid var(--color-border);height:6px;overflow:hidden}.meter__fill{background:var(--color-primary);height:100%}.meter__fill--done{background:var(--color-done)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;max-width:32rem;font-size:.9rem}table.data th,table.data td{text-align:left;padding:var(--space-2) var(--space-4) var(--space-2) 0;border-bottom:1px solid var(--color-border)}table.data th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem}table.data td:last-child{font-family:var(--font-mono)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.prose h2,.prose h3{margin-top:var(--space-8)}.prose ul{padding-left:var(--space-5);list-style:outside}.prose ul>li+li{margin-top:var(--space-2)}.prose table{border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-4) var(--space-2) 0;border-bottom:1px solid var(--color-border)}.prose th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem}.prose td:first-child{white-space:nowrap;font-weight:700}.prose strong{font-weight:700}.question{border-left:3px solid var(--color-border-strong);padding-left:var(--space-4)}.question--correct{border-left-color:var(--color-done)}.question--wrong{border-left-color:var(--color-weak)}.question__stem{max-width:44rem;font-weight:600}.options{margin-top:var(--space-4);gap:var(--space-2);max-width:44rem;display:grid}.option{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;align-items:flex-start;display:flex}.option:hover{background:var(--color-surface-alt)}.option input{accent-color:var(--color-primary);margin-top:4px}.option__key{font-family:var(--font-mono);color:var(--color-text-muted);font-weight:700}.option[data-state=correct]{border-color:var(--color-done);background:var(--color-done-soft)}.option[data-state=wrong]{border-color:var(--color-weak);background:var(--color-weak-soft)}.rationale{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border-left:3px solid var(--color-primary);max-width:44rem;font-size:.9rem}.timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.timer--warning{color:var(--color-primary-strong)}.timer--expired{color:var(--color-weak)}.sticky-bar{top:var(--masthead-h);z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex;position:sticky}details.reveal{border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface);padding:var(--space-3) var(--space-4)}details.reveal+details.reveal{margin-top:var(--space-2)}details.reveal>summary{cursor:pointer;font-weight:600;list-style:none}details.reveal>summary::-webkit-details-marker{display:none}details.reveal>summary:before{content:"+ ";font-family:var(--font-mono);color:var(--color-primary-strong)}details.reveal[open]>summary:before{content:"- "}details.reveal>:not(summary){margin-top:var(--space-3)}@media print{.masthead,.site-footer,.draft-strip,.no-print{display:none!important}body{color:#000;background:#fff}.panel,.row{border-color:#999}a[href^=http]:after{content:" (" attr(href) ")";font-size:.75em}}.field{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);background:var(--color-bg);font-family:var(--font-body);color:inherit;max-width:100%;font-size:.9rem}.field:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.field--inline{width:auto}textarea.field{resize:vertical}.inplace-toast{left:50%;bottom:var(--space-5);z-index:60;max-width:min(32rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-3) var(--space-4);background:var(--color-text);color:var(--color-bg);font-size:.9rem;animation:.16s ease-out inplace-toast-in;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.inplace-toast--alert{border-left:4px solid var(--color-weak)}@keyframes inplace-toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media (prefers-reduced-motion:reduce){.inplace-toast{animation:none}}
