.home-logo{position:relative;display:block;flex:0 0 64px;inline-size:64px;block-size:64px;color:var(--primary)}.home-logo-contour{position:absolute;inset:0;background:conic-gradient(from -30deg,color-mix(in srgb,var(--primary) 18%,transparent),color-mix(in srgb,var(--secondary) 8%,transparent),color-mix(in srgb,var(--tertiary) 13%,transparent),color-mix(in srgb,var(--primary) 18%,transparent));transition:-webkit-clip-path var(--ms-spatial-slow-dur,.58s) var(--ms-spatial-slow-ease,ease);transition:clip-path var(--ms-spatial-slow-dur,.58s) var(--ms-spatial-slow-ease,ease);transition:clip-path var(--ms-spatial-slow-dur,.58s) var(--ms-spatial-slow-ease,ease),-webkit-clip-path var(--ms-spatial-slow-dur,.58s) var(--ms-spatial-slow-ease,ease);animation:home-logo-breathe 8s ease-in-out infinite alternate}.home-logo svg{position:relative;display:block;opacity:.92}.home-logo-knot,.home-logo-rim,.home-logo-sparks,.home-logo-thread{transform-box:view-box;transform-origin:center;transform:rotate(var(--logo-angle));animation:home-logo-orbit var(--logo-period) linear infinite}.home-logo-rim{--logo-angle:-30deg;--logo-period:48s;stroke-linecap:round;opacity:.48;animation-direction:reverse}.home-logo-knot{--logo-angle:-12deg;--logo-period:32s;stroke-width:1}.home-logo-thread{--logo-angle:37deg;--logo-period:43s;stroke:var(--secondary);opacity:.65;animation-direction:reverse}.home-logo-sparks{--logo-angle:0deg;--logo-period:27s;fill:var(--tertiary);stroke:none}.home-logo-core{fill:currentColor;stroke:none}.home-logo-glint{fill:var(--surface)}@keyframes home-logo-breathe{0%{transform:scale(.96) rotate(-12deg)}to{transform:scale(1.05) rotate(8deg)}}@keyframes home-logo-orbit{0%{transform:rotate(var(--logo-angle))}to{transform:rotate(calc(var(--logo-angle) + 1turn))}}@media (prefers-reduced-motion:reduce){.home-logo-contour,.home-logo-knot,.home-logo-rim,.home-logo-sparks,.home-logo-thread{animation:none}}.card-wrapper{display:block;min-inline-size:0;border-radius:var(--shape-leaf)}.card-wrapper:focus-visible,.card-wrapper:hover{text-decoration:none}.card{grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--s5);gap:var(--s5);padding:var(--s5);background:var(--surface-container);border-radius:var(--shape-leaf);overflow:hidden;transition:transform var(--ms-spatial-fast-dur,.36s) var(--ms-spatial-fast-ease,ease)}.card,.card-copy{position:relative;display:grid}.card-copy{z-index:1;grid-gap:var(--s2);gap:var(--s2);min-inline-size:0}.card[data-cover=true] .card-copy{min-block-size:0}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--on-surface);opacity:0;pointer-events:none;transition:opacity var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease)}.card-wrapper:focus-visible .card:after,.card-wrapper:hover .card:after{opacity:var(--state-hover)}.card-top{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2)}.card-no{color:var(--on-surface-variant)}.card-title{margin:0;color:var(--on-surface);overflow-wrap:anywhere}.card-desc{margin:0;max-inline-size:var(--measure);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-desc,.card-foot{color:var(--on-surface-variant)}.card-foot{display:flex;flex-wrap:wrap;gap:var(--s3)}.card-cover{display:block;inline-size:100%;block-size:160px}.card-cover--image{object-fit:cover;border-radius:var(--r-lg)}.card-sigil{display:block;inline-size:108px;block-size:108px;color:var(--primary);opacity:.16;pointer-events:none;transition:transform var(--ms-spatial-slow-dur,.58s) var(--ms-spatial-slow-ease,ease),opacity var(--ms-effects-dur,.23s) var(--ms-effects-ease,ease)}.card-sigil svg{display:block;inline-size:100%;block-size:100%}.card-wrapper:focus-visible .card-sigil,.card-wrapper:hover .card-sigil{transform:rotate(6deg)}.card-wrapper--feature:focus-visible .card-sigil,.card-wrapper--feature:hover .card-sigil{opacity:.28}.card-wrapper--twin{height:100%;border-radius:var(--r-lg)}.card--twin{display:block;height:100%;padding:var(--s4);border:1px solid var(--outline-variant);border-radius:var(--r-lg);background:var(--surface-low);transition:transform var(--ms-spatial-fast-dur,.36s) var(--ms-spatial-fast-ease,ease),border-color var(--ms-effects-fast-dur,.15s) ease}.card--twin .card-copy{gap:var(--s3)}.card--twin .card-top .post-date{-webkit-margin-start:auto;margin-inline-start:auto}.card--twin .card-sigil{position:absolute;inset-inline-end:var(--s3);inset-block-end:var(--s3);inline-size:64px;block-size:64px;opacity:.08}.card--twin .card-cover{position:static;inline-size:100%;block-size:120px}.card-wrapper--twin:focus-visible .card,.card-wrapper--twin:hover .card{transform:translateY(-2px);border-color:var(--primary)}.post-row{display:block;border-radius:var(--r-md)}.post-row-inner{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto auto;align-items:start;grid-gap:var(--s2) var(--s4);gap:var(--s2) var(--s4);padding-block:var(--s4);-webkit-border-after:1px solid var(--outline-variant);border-block-end:1px solid var(--outline-variant);transition:background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease)}.post-list>:first-child .post-row-inner{-webkit-border-before:1px solid var(--outline-variant);border-block-start:1px solid var(--outline-variant)}.post-row:hover{text-decoration:none}.post-row:focus-visible .post-row-inner,.post-row:hover .post-row-inner{background-color:var(--surface-low)}.post-row:focus-visible .post-row-title,.post-row:hover .post-row-title{color:var(--primary)}.post-row-index{display:flex;align-items:center;gap:var(--s2);min-block-size:1.2em}.post-row-no{color:var(--on-surface-variant);white-space:nowrap}.post-row-body{min-inline-size:0}.post-row-title{margin:0 0 var(--s1);color:var(--on-surface);overflow-wrap:anywhere}.post-row-desc{margin:0;max-inline-size:var(--measure);color:var(--on-surface-variant);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-row-thumb{inline-size:56px;block-size:56px;object-fit:cover;border-radius:var(--r-sm)}.post-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s2)}.post-date{color:var(--on-surface-variant);white-space:nowrap}.memory-draw{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-block:var(--s5);padding:var(--s4) var(--s5);background:linear-gradient(90deg,var(--surface-container) 0,var(--surface-low) 100%);border:1px solid var(--outline-variant);border-radius:var(--shape-leaf-alt)}.memory-hexagram{display:flex;flex:0 0 auto;color:var(--primary)}.memory-hexagram svg{inline-size:33px;block-size:36px}.memory-draw-copy{flex:1 1 auto;min-inline-size:0}.memory-draw h2{margin:0 0 var(--s2);color:var(--on-surface-variant)}.memory-result-link{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);min-inline-size:0;color:var(--on-surface)}.memory-result-meta{display:inline-flex;align-items:center;gap:var(--s2);color:var(--on-surface-variant)}.memory-result-link:hover{text-decoration:none}.memory-result-link:hover .memory-result-title{color:var(--primary);text-decoration:underline;text-underline-offset:.2em}.memory-result-title{min-inline-size:0;overflow-wrap:anywhere}.memory-draw-empty{margin:0;color:var(--on-surface-variant)}.memory-draw-button{flex:0 0 auto;min-block-size:44px;padding-inline:var(--s4);border:1px solid var(--outline-variant);border-radius:var(--r-full);background:var(--surface-lowest);color:var(--primary);cursor:pointer;transition:background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease)}.memory-draw-button:hover{background:var(--primary-container)}.memory-draw-button:disabled{cursor:default;opacity:.5}@media (max-width:767px){.card--feature{grid-template-columns:minmax(0,1fr)}.card--feature .card-sigil{position:absolute;inset-block-end:var(--s4);inset-inline-end:var(--s4)}.post-row-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"index meta" "body body";gap:var(--s2) var(--s3)}.post-row-index{grid-area:index}.post-row-body{grid-area:body}.post-row-meta{grid-area:meta}.post-row-thumb{display:none}.memory-draw{flex-wrap:wrap;gap:var(--s3);padding:var(--s4)}.memory-draw-copy{flex-basis:calc(100% - 50px)}.memory-draw-button{-webkit-margin-start:auto;margin-inline-start:auto}}@media (max-width:480px){.card--feature{padding:var(--s4)}.card--feature .card-sigil{opacity:.08}}@media (prefers-reduced-motion:reduce){.card,.card--twin{transition:none}.card-wrapper--twin:focus-visible .card,.card-wrapper--twin:hover .card{transform:none}.card-wrapper:focus-visible .card-sigil,.card-wrapper:hover .card-sigil{transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-block-size:40px;padding-inline:var(--s4);border:1px solid transparent;border-radius:var(--r-full);background:var(--primary);color:var(--on-primary);font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:border-radius var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),transform var(--ms-spatial-fast-dur,.36s) var(--ms-spatial-fast-ease,ease)}.btn:hover{text-decoration:none}.btn:active{border-radius:var(--r-lg);transform:scale(.96)}.btn.is-selected,.btn[aria-current=page],.btn[aria-pressed=true]{border-radius:var(--r-lg);background:var(--primary-container);color:var(--on-primary-container)}.btn-tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn-outline{background:transparent;border-color:var(--outline-variant);color:var(--on-surface)}.btn-outline:hover{background:var(--surface-container)}.chip{display:inline-flex;align-items:center;gap:.35em;min-block-size:32px;padding-inline:var(--s3);border:0;border-radius:var(--r-full);background:transparent;color:var(--on-surface-variant);font-family:var(--font-body);font-size:var(--fs-label);line-height:1.2;transition:background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease)}.chip:hover{background:var(--surface-container);color:var(--on-surface);text-decoration:none}.chip.is-selected,.chip[aria-current=page],.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.topbar .icon-btn{inline-size:40px;block-size:40px;transition:border-radius var(--ms-spatial-fast-dur,.36s) var(--ms-spatial-fast-ease,ease),background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease)}.topbar .icon-btn[aria-pressed=true]{border-radius:var(--r-lg)}@media (min-width:840px){.topbar-title{display:none}}.floating-toolbar{display:none}@media (max-width:839px){.floating-toolbar{position:fixed;inset-inline:var(--page-margin);inset-block-end:calc(var(--s3) + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:space-between;gap:var(--s1);block-size:64px;padding:var(--s1) calc((100% - 5 * 64px) / 10);border-radius:var(--r-full);background:var(--surface-high);transition:transform var(--ms-spatial-dur,.43s) var(--ms-spatial-ease,ease)}.floating-toolbar[data-hidden=true]{transform:translateY(calc(100% + 24px))}.floating-toolbar-item{display:grid;place-items:center;inline-size:64px;block-size:32px;border-radius:var(--r-full);color:var(--on-surface-variant);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:background-color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),color var(--ms-effects-fast-dur,.15s) var(--ms-effects-fast-ease,ease),border-radius var(--ms-spatial-fast-dur,.36s) var(--ms-spatial-fast-ease,ease)}.floating-toolbar-item:hover{text-decoration:none}.floating-toolbar-item[aria-current=page]{background:var(--primary-container);color:var(--on-primary-container)}.floating-toolbar-item:active{border-radius:var(--r-lg)}.content-wrap{-webkit-padding-after:calc(64px + var(--s6) + env(safe-area-inset-bottom));padding-block-end:calc(64px + var(--s6) + env(safe-area-inset-bottom))}.back-to-top{inset-block-end:calc(64px + var(--s5) + env(safe-area-inset-bottom))}}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:var(--s3) 0 0;color:var(--on-surface-variant)}.post-badge{display:block;inline-size:18px;block-size:18px;-webkit-margin-end:var(--s1);margin-inline-end:var(--s1)}.post-desc{margin:var(--s4) 0 0}.post-body h2{-webkit-margin-before:var(--s6);margin-block-start:var(--s6)}.post-body h3{-webkit-margin-before:var(--s5);margin-block-start:var(--s5)}.post-body h2 .h2-index{display:block;-webkit-margin-after:var(--s2);margin-block-end:var(--s2);color:var(--on-surface-variant);font-weight:500}.section-divider{display:flex;align-items:center;gap:var(--s4);margin-block:var(--s6) var(--s3);color:var(--outline)}.section-divider:after,.section-divider:before{content:"";flex:1 1;block-size:1px;background:var(--outline-variant)}.section-divider svg{display:block;flex:0 0 auto}.post-body figure{margin-block:var(--s5)}.post-body figure img{border-radius:var(--r-xl)}.post-body figcaption{-webkit-margin-before:var(--s2);margin-block-start:var(--s2);color:var(--on-surface-variant)}.md-scheme blockquote{margin:var(--s5) 0;padding:var(--s4);border:0;border-radius:var(--r-xxl) var(--r-sm) var(--r-xxl) var(--r-sm);background:var(--tertiary-container);color:var(--on-tertiary-container)}.md-scheme blockquote .quote-mark{display:block;inline-size:22px;block-size:24px;-webkit-margin-after:var(--s2);margin-block-end:var(--s2);color:var(--on-tertiary-container);opacity:.55}.md-scheme blockquote .quote-mark svg{display:block;inline-size:100%;block-size:100%}.md-scheme blockquote p{margin:0}.md-scheme blockquote blockquote{margin-inline:0;padding:0;background:transparent;-webkit-border-start:2px solid var(--outline-variant);border-inline-start:2px solid var(--outline-variant);-webkit-padding-start:var(--s3);padding-inline-start:var(--s3);color:var(--on-surface-variant)}.md-scheme blockquote blockquote .quote-mark{display:none}.md-scheme blockquote p+p{-webkit-margin-before:.8em;margin-block-start:.8em}.code-block{margin:var(--s5) 0;border:0;border-radius:var(--r-lg);background:var(--surface-lowest)}.code-header{min-block-size:40px;padding-inline:var(--s4) var(--s2);border-bottom:1px solid var(--outline-variant)}.code-header,.code-header .code-lang{background:transparent;color:var(--on-surface-variant)}.code-header .code-lang{padding:0;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.05em}.code-copy{min-block-size:32px;padding-inline:var(--s3);border-radius:var(--r-full);color:var(--on-surface-variant);font-size:var(--fs-label)}.code-copy:hover{background:var(--surface-container);color:var(--on-surface)}.md-scheme pre{padding:var(--s4);background:transparent;font-size:.875rem;line-height:1.7}.js-enchant #post-content .enchant-pending,.js-enchant .post-title.enchant-pending{opacity:0}.w{white-space:nowrap}.ch,.w{display:inline-block}.ch{position:relative;color:transparent}.ch:after{content:attr(data-g);position:absolute;inset:0;display:grid;place-items:center;font:400 .85em/1 var(--font-glyph);color:var(--glyph);text-shadow:0 0 .6em var(--glow);opacity:0;transition:opacity var(--ms-effects-dur,.23s) var(--ms-effects-ease,ease)}@supports (content:attr(data-g)/""){.ch:after{content:attr(data-g) /""}}.enchanting .ch:after{opacity:1}.enchanting .ch{animation:enc-move var(--enc-flight,var(--ms-spatial-slow-dur,.58s)) var(--ms-spatial-slow-ease,ease) var(--d,0s) both,enc-fade var(--enc-fade,var(--ms-effects-slow-dur,.31s)) var(--ms-effects-slow-ease,ease) var(--d,0s) both}.enchanting .ch.lock{animation:enc-lock var(--enc-fade,var(--ms-effects-slow-dur,.31s)) var(--ms-effects-slow-ease,ease) both;color:var(--ch-color)}.enchanting .ch.lock:after{opacity:0}@keyframes enc-move{0%{transform:translate(var(--dx,0),var(--dy,0)) rotate(var(--rot,0deg)) scale(.5)}to{transform:none}}@keyframes enc-fade{0%{opacity:0}to{opacity:1}}@keyframes enc-lock{0%{color:var(--tertiary)}to{color:var(--ch-color)}}.odometer-digit{position:relative;display:inline-block;inline-size:1ch;overflow:hidden;color:transparent;vertical-align:bottom}.odometer-digit:after{content:attr(data-digit);position:absolute;inset:0;color:var(--on-surface-variant);animation:odometer-roll 50ms var(--ms-effects-fast-ease,ease) infinite}@supports (content:attr(data-digit)/""){.odometer-digit:after{content:attr(data-digit) /""}}.odometer-digit.is-settled{color:inherit}.odometer-digit.is-settled:after{content:none;animation:none}@keyframes odometer-roll{0%{transform:translateY(65%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.js-enchant #post-content .enchant-pending,.js-enchant .post-title.enchant-pending{opacity:1}}