.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:var(--font-body);--font-code:var(--font-code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.flex{display:flex}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.font-pixel{font-family:var(--font-pixel-name)}.text-shadow{color:var(--shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}:root{--sky:#8fd3ff;--sand:#fff4d6;--ink-raw:#2b1d12;--lava:#ff6a1a;--grass:#5dbb3f;--grass-dark:#3e8e2a;--dirt:#8b5a2b;--star:#ffd84d;--bg-page:#8fd3ff;--bg-surface:#fffdf5;--bg-surface-2:#f2e6c9;--bg-panel:#fff4d6;--bg-code:#fffdf5;--text-main:#2b1d12;--text-soft:#5c4630;--text-faint:#93795c;--text-on-accent:#fffdf5;--line:#2b1d12;--line-soft:#c3ab8a;--shadow:#1b110a;--accent:#ff6a1a;--accent-2:#5dbb3f;--accent-3:#ffd84d;--bevel-light:#ffffffe6;--bevel-dark:#2b1d1238;--backdrop-veil:#fff4d6e0;--font-pixel-name:"Fusion Pixel 12px Proportional Simplified Chinese", "Fusion Pixel 12px Proportional SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, sans-serif;--font-code:ui-monospace, "Cascadia Mono", "JetBrains Mono", Consolas, "Courier New", monospace}[data-theme=night]{--sky:#0b1026;--sand:#1b2347;--ink-raw:#e8eeff;--lava:#ff6a1a;--grass:#4a9c33;--grass-dark:#357026;--dirt:#6b4a2f;--star:#ffd84d;--bg-page:#0b1026;--bg-surface:#151c3a;--bg-surface-2:#101632;--bg-panel:#1b2347;--bg-code:#0e1330;--text-main:#e8eeff;--text-soft:#b7c0e6;--text-faint:#7e88b8;--text-on-accent:#0b1026;--line:#e8eeff;--line-soft:#49548a;--shadow:#04060f;--accent:#ff6a1a;--accent-2:#5dbb3f;--accent-3:#ffd84d;--bevel-light:#e8eeff29;--bevel-dark:#04060f73;--backdrop-veil:#0b1026e0}html{scroll-behavior:smooth}body{background:var(--bg-page);color:var(--text-main);font-family:var(--font-body);line-height:1.75;transition:background-color .25s steps(3,end),color .25s steps(3,end);overflow-x:hidden}.font-pixel{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;font-smooth:never}::selection{background:var(--accent);color:var(--text-on-accent)}:focus-visible{outline:3px dashed var(--accent-3);outline-offset:3px}img.pixel-art{image-rendering:pixelated}.px-card{background:var(--bg-surface);border:3px solid var(--line);box-shadow:6px 6px 0 0 var(--shadow)}.px-bevel{position:relative}.px-bevel:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 2px var(--bevel-light), inset 0 -3px 0 0 var(--bevel-dark);position:absolute;inset:0}.px-btn{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;color:var(--text-on-accent);background:var(--accent);border:3px solid var(--line);box-shadow:4px 4px 0 0 var(--shadow);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:16px;line-height:1.2;text-decoration:none;display:inline-flex}.px-btn:hover{filter:brightness(1.08)}.px-btn:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(4px,4px)}.px-btn--green{background:var(--accent-2);color:var(--text-on-accent)}.px-btn--ghost{background:var(--bg-surface);color:var(--text-main)}.px-btn--ghost:hover{background:var(--accent-3)}.px-btn--sm{box-shadow:3px 3px 0 0 var(--shadow);padding:7px 12px;font-size:14px}.px-btn--sm:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(3px,3px)}.px-chip{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;border:2px solid var(--line);background:var(--bg-panel);color:var(--text-main);box-shadow:2px 2px 0 0 var(--shadow);align-items:center;gap:6px;padding:4px 10px;font-size:14px;line-height:1.4;display:inline-flex}.px-heading{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;color:var(--text-main);text-shadow:3px 3px 0 var(--shadow);letter-spacing:.04em}.px-heading--light{color:var(--text-on-accent);text-shadow:3px 3px 0 var(--shadow)}.px-grid-overlay{background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);opacity:.08;pointer-events:none;background-size:16px 16px}.px-terrain{border-block:3px solid var(--line);height:20px;image-rendering:pixelated}.px-terrain--grass{background:repeating-linear-gradient(90deg, var(--grass) 0 20px, var(--grass-dark) 20px 40px)}.px-terrain--dirt{background:repeating-linear-gradient(90deg, var(--dirt) 0 20px, var(--dirt) 20px 40px)}@supports (color:color-mix(in lab, red, red)){.px-terrain--dirt{background:repeating-linear-gradient(90deg, var(--dirt) 0 20px, color-mix(in srgb, var(--dirt) 78%, black) 20px 40px)}}.px-terrain--cave{background:repeating-linear-gradient(90deg, var(--dirt) 0 20px, var(--dirt) 20px 40px)}@supports (color:color-mix(in lab, red, red)){.px-terrain--cave{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--dirt) 55%, black) 0 20px, color-mix(in srgb, var(--dirt) 70%, black) 20px 40px)}}.px-terrain--lava{background:repeating-linear-gradient(90deg, var(--lava) 0 24px, var(--lava) 24px 48px)}@supports (color:color-mix(in lab, red, red)){.px-terrain--lava{background:repeating-linear-gradient(90deg, var(--lava) 0 24px, color-mix(in srgb, var(--lava) 70%, #ffd84d) 24px 48px)}}.hotbar{z-index:50;background:var(--backdrop-veil);backdrop-filter:blur(2px);border-bottom:3px solid var(--line);position:sticky;top:0}.hotbar__inner{justify-content:space-between;align-items:center;gap:12px;max-width:1080px;margin-inline:auto;padding:10px 16px;display:flex}.hotbar__brand{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;color:var(--text-main);text-shadow:2px 2px 0 var(--shadow);align-items:center;gap:8px;font-size:18px;text-decoration:none;display:inline-flex}.hotbar__slots{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hotbar__slot{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;color:var(--text-main);border:2px solid var(--line);background:var(--bg-surface);box-shadow:2px 2px 0 0 var(--shadow);align-items:center;gap:7px;padding:6px 12px;font-size:14px;text-decoration:none;display:flex}.hotbar__slot:hover{background:var(--accent-3);transform:translateY(-2px)}.hotbar__slot:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(2px,2px)}.hotbar__slot[aria-current=page]{background:var(--accent-3);box-shadow:0 0 0 3px var(--accent-3), 3px 3px 0 0 var(--shadow)}@media (width<=767px){.hotbar{border-bottom:none;border-top:3px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.hotbar__inner{justify-content:center;padding:8px}.hotbar__brand{display:none}.hotbar__slot{flex-direction:column;justify-content:center;gap:2px;min-width:52px;padding:5px 7px;font-size:12px}body{padding-bottom:86px}}.theme-toggle{background:var(--bg-surface);border:2px solid var(--line);box-shadow:2px 2px 0 0 var(--shadow);cursor:pointer;color:var(--text-main);align-items:center;gap:4px;padding:6px;display:inline-flex}.theme-toggle:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(2px,2px)}.theme-icon{display:none}[data-theme=day] .theme-icon--day,[data-theme=night] .theme-icon--night{display:block}.theme-toggle.is-switching svg{animation:.28s steps(3,end) theme-pop}@keyframes theme-pop{0%{transform:scale(1)rotate(0)}50%{transform:scale(.6)rotate(60deg)}to{transform:scale(1)rotate(0)}}.astro-code{font-family:var(--font-code);border:3px solid var(--line);box-shadow:4px 4px 0 0 var(--shadow);border-radius:0;padding:16px;font-size:14px;line-height:1.7;overflow-x:auto}[data-theme=night] .astro-code,[data-theme=night] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.code-block-header{font-family:var(--font-code);color:var(--text-soft);background:var(--bg-panel);border:3px solid var(--line);border-bottom:none;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.code-copy-btn{font-family:var(--font-pixel-name);-webkit-font-smoothing:none;color:var(--text-main);background:var(--bg-surface);border:2px solid var(--line);cursor:pointer;box-shadow:2px 2px 0 0 var(--shadow);padding:3px 10px;font-size:13px}.code-copy-btn:active{box-shadow:none;transform:translate(2px,2px)}.code-copy-btn.is-copied{background:var(--accent-2);color:var(--text-on-accent)}.reading-progress{z-index:60;pointer-events:none;width:100%;height:6px;position:fixed;top:0;left:0}.reading-progress__bar{background:var(--accent);border-bottom:2px solid var(--line);width:0;height:100%;transition:width .1s steps(2,end)}.skip-link{z-index:100;background:var(--accent-3);color:var(--ink-raw);font-family:var(--font-pixel-name);border:2px solid var(--line);padding:8px 14px;text-decoration:none;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.placeholder-box{border:3px dashed var(--line-soft);background:repeating-linear-gradient(-45deg, var(--bg-surface) 0 12px, var(--bg-surface-2) 12px 24px);color:var(--text-faint);font-family:var(--font-pixel-name);-webkit-font-smoothing:none;text-align:center;justify-content:center;align-items:center;gap:8px;padding:24px 16px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.img-viewer{border:3px solid var(--line);background:var(--bg-page);box-shadow:8px 8px 0 0 var(--shadow);width:100%;max-width:min(92vw,1000px);padding:0}.img-viewer::backdrop{background:#0009}.img-viewer__bar{background:var(--bg-panel);border-bottom:3px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.img-viewer__title{color:var(--text-main);font-size:14px}.img-viewer__controls{gap:8px;display:flex}.img-viewer__stage{cursor:grab;justify-content:flex-start;align-items:flex-start;max-height:76vh;padding:16px;display:flex;overflow:auto}.img-viewer__stage img{transform-origin:0 0;border:3px solid var(--line);max-width:100%}:root{--zone-sand:#fff4d6;--zone-dirt:#d9b98a;--zone-deep:#6b4a2f;--zone-hell:#4a1c10;--cloud:#fff}[data-theme=night]{--zone-sand:#232c55;--zone-dirt:#2e3760;--zone-deep:#211e35;--zone-hell:#2a1016;--cloud:#c9d4f2}body.page-home{background:linear-gradient(180deg, var(--sky) 0%, var(--sky) 18%, var(--zone-sand) 32%, var(--zone-dirt) 48%, var(--zone-deep) 68%, var(--zone-hell) 100%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.footer[data-astro-cid-jo6i4kqk]{background:var(--bg-panel);border-top:3px solid var(--line)}.footer__inner[data-astro-cid-jo6i4kqk]{max-width:1080px;margin-inline:auto;padding:40px 16px 48px}.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}.footer__title[data-astro-cid-jo6i4kqk]{color:var(--text-main);text-shadow:2px 2px 0 var(--shadow);margin-bottom:12px;font-size:16px}.footer__text[data-astro-cid-jo6i4kqk]{color:var(--text-soft);margin-top:6px;font-size:14px;line-height:1.8}.footer__links[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-soft);align-items:center;gap:8px;font-size:14px;text-decoration:none;display:inline-flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.footer__legal[data-astro-cid-jo6i4kqk]{border-top:3px dashed var(--line-soft);color:var(--text-faint);margin-top:36px;padding-top:16px;font-size:12.5px;line-height:1.9}.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-soft)}@media (width<=767px){.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr;gap:24px}.footer__inner[data-astro-cid-jo6i4kqk]{padding-top:28px}}
