@import "https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) 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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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]){-webkit-text-decoration:underline dotted;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;-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{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 utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-void:#3a3a3c;--color-surface-0:#3232348c;--color-surface-1:#3e3e4166;--color-surface-2:#4b4b4e59;--color-grid:#ffffff12;--color-ink:#edeae4;--color-ink-muted:#a8a8a8;--color-ink-faint:#707070;--color-prism-pink:#ff6b9d;--color-prism-coral:#ff8a65;--color-prism-teal:#4dd0e1;--color-prism-mint:#69f0ae;--color-prism-lavender:#b388ff;--gradient-prismatic:linear-gradient(135deg, var(--color-prism-pink), var(--color-prism-coral), var(--color-prism-teal), var(--color-prism-mint), var(--color-prism-lavender));--gradient-prismatic-subtle:linear-gradient(135deg, #ff6b9d26, #ff8a651f, #4dd0e126, #69f0ae1f, #b388ff26);--color-win:#69f0ae;--color-highlight:#ff6b9d;--glass-bg:#1e1e1e73;--glass-blur:20px;--glass-border:#ffffff1a;--glass-highlight:#ffffff0d;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--radius-circle:50%;--shadow-md:0 4px 16px #00000026;--shadow-glow:0 0 40px #ff6b9d0f, 0 0 80px #4dd0e10a;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--font-mono:"Space Mono", monospace;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}body{font-family:var(--font-sans);background-color:var(--color-void);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}::selection{color:var(--color-ink);background:#ff6b9d4d}@keyframes fadeInFromBlur{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur()}}:focus-visible{outline:2px solid var(--color-prism-teal,#64c8c899);outline-offset:2px}.tab{height:36px;font-family:var(--font-mono);letter-spacing:.02em;clip-path:polygon(10% 0,90% 0,100% 100%,0% 100%);cursor:pointer;justify-content:center;align-items:center;min-width:130px;margin-right:-12px;padding:0 28px;font-size:13px;text-decoration:none;transition:transform .2s;display:flex}.note-item.active{border-left-color:var(--color-highlight);background:#ff6b9d0a}.breadcrumb{padding:var(--space-xs) var(--space-md);font-family:var(--font-mono);color:var(--color-ink-muted);border-bottom:1px solid var(--glass-border);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:4px;font-size:.7rem;display:flex}.app-window{z-index:1;flex-direction:column;width:95%;max-width:1400px;height:85vh;display:flex;position:relative}.editor-page{padding:var(--space-lg) var(--space-lg) var(--space-2xl);max-width:800px;animation:.6s forwards fadeInFromBlur}.editor-meta{font-family:var(--font-mono);color:var(--color-ink-faint);margin-bottom:var(--space-sm);font-size:.75rem}.editor-title{font-family:var(--font-sans);color:var(--color-ink);letter-spacing:-.01em;margin:0 0 var(--space-lg) 0;background:0 0;border:none;font-size:2rem;font-weight:400}.editor-content{font-family:var(--font-sans);color:var(--color-ink);font-size:1rem;line-height:1.7}.editor-content p{margin:0 0 var(--space-md) 0}.editor-content a{color:var(--color-ink);border-bottom:1px solid var(--color-ink-faint);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.editor-content a:hover{border-color:var(--color-prism-teal);color:var(--color-prism-teal)}.blog-post-content img{max-width:100%;max-height:60vh;margin:var(--space-sm) auto;object-fit:contain;border-radius:6px;display:block}.blog-post-content video{max-width:100%;max-height:60vh;margin:var(--space-sm) auto;border-radius:6px;display:block}.blog-post-content figure img,.blog-post-content figure video{margin:0}.blog-post-content h2{margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-ink);font-size:1.4rem;font-weight:600}.blog-post-content h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-ink);font-size:1.15rem;font-weight:600}.blog-post-content pre{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--space-sm) var(--space-md);margin:var(--space-md) 0;border-radius:6px;overflow-x:auto}.blog-post-content ul,.blog-post-content ol{margin:var(--space-md) 0;padding-left:1.5rem}.blog-post-content ul{list-style:outside}.blog-post-content ol{list-style:decimal}.blog-post-content li{margin-bottom:.35rem}.blog-post-content hr{background:var(--glass-border);height:1px;margin:var(--space-lg) 0 var(--space-md);border:none}.blog-post-content hr+p{font-family:var(--font-mono);color:var(--color-ink-faint);border-left:2px solid var(--glass-border);padding-left:var(--space-sm);font-size:.72rem;line-height:1.6}.blog-post-content hr+p a{color:var(--color-ink-muted);border-bottom-color:var(--glass-border)}.blog-post-content hr+p a:hover{color:var(--color-prism-teal);border-bottom-color:var(--color-prism-teal)}.blog-post-content pre.mermaid{padding:var(--space-sm) 0;margin:var(--space-md) 0;background:0 0;border:none;overflow-x:auto}.blog-post-content pre.mermaid svg{max-width:100%;height:auto}.blog-post-content table{border-collapse:collapse;width:100%;margin:var(--space-md) 0;font-size:.85rem;display:block;overflow-x:auto}.blog-post-content thead{border-bottom:2px solid var(--glass-border)}.blog-post-content th{font-family:var(--font-mono);text-align:left;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:8px 12px;font-size:.75rem;font-weight:600}.blog-post-content td{border-bottom:1px solid var(--glass-border);color:var(--color-ink);padding:8px 12px}.blog-post-content tbody tr:hover{background:#ffffff08}.blog-post-content iframe{border-radius:6px}.blog-post-content blockquote{border-left:3px solid var(--color-prism-teal);padding-left:var(--space-md);margin:var(--space-md) 0;color:var(--color-ink-faint)}.blog-post-content img{cursor:zoom-in;transition:opacity .15s}.blog-post-content img:hover{opacity:.85}.blog-post-content figure{margin:var(--space-sm) 0;padding:0}.blog-post-content figcaption{font-family:var(--font-mono);color:var(--color-ink-faint);text-align:center;margin-top:2px;font-size:.75rem;line-height:1.3}.blog-post-content .img-pair{gap:var(--space-sm);margin:var(--space-md) 0;grid-template-columns:1fr 1fr;display:grid}.blog-post-content .img-pair img,.blog-post-content .img-pair video{object-fit:cover;border-radius:6px;width:100%;height:auto;margin:0}@media (width<=600px){.blog-post-content .img-pair{grid-template-columns:1fr}}.blog-lightbox{z-index:9999;cursor:zoom-out;background:#000000e6;justify-content:center;align-items:center;animation:.15s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.blog-lightbox-img{object-fit:contain;cursor:default;border-radius:8px;box-shadow:0 8px 40px #0009;width:auto!important;max-width:90vw!important;height:auto!important;max-height:85vh!important}.blog-lightbox-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;transition:color .15s;position:absolute;top:16px;right:20px}.blog-lightbox-close:hover{color:#fff}.blog-post-content .img-gallery{margin:var(--space-lg) 0;flex-wrap:wrap;max-width:450px;display:flex}.blog-post-content .img-gallery figure{background:#00000026;border-radius:4px;margin:0 2% 2% 0;position:relative;overflow:hidden}.blog-post-content .img-gallery figure:first-child:last-child{width:100%;max-width:360px}.blog-post-content .img-gallery figure:first-child:last-child img{object-fit:contain;max-height:50vh}.blog-post-content .img-gallery figure:not(:first-child:last-child) img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;top:0;left:0}.blog-post-content .img-gallery figure:first-child:nth-last-child(2),.blog-post-content .img-gallery figure:nth-child(2):last-child{width:48%;padding-bottom:48%}.blog-post-content .img-gallery figure:first-child:nth-last-child(3),.blog-post-content .img-gallery figure:nth-child(2):nth-last-child(2),.blog-post-content .img-gallery figure:nth-child(3):last-child{width:31%;padding-bottom:31%}.blog-post-content .img-gallery figure:first-child:nth-last-child(4),.blog-post-content .img-gallery figure:nth-child(2):nth-last-child(3),.blog-post-content .img-gallery figure:nth-child(3):nth-last-child(2),.blog-post-content .img-gallery figure:nth-child(4):last-child{width:48%;padding-bottom:48%}.blog-post-content .img-gallery figure:nth-child(n+5),.blog-post-content .img-gallery figure:first-child:nth-last-child(n+5),.blog-post-content .img-gallery figure:first-child:nth-last-child(n+5)~figure{width:31%;padding-bottom:31%}.blog-post-content .img-gallery img{cursor:zoom-in;border-radius:0;width:100%;max-height:none;margin:0;transition:transform .15s;display:block}.blog-post-content .img-gallery img:hover{transform:scale(1.05)}.blog-post-content .img-gallery figcaption{display:none}.blog-post-content .img-gallery-label{font-family:var(--font-mono);color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.7rem}@media (width<=768px){.app-window{border-radius:0;width:100%;max-width:100%;height:100vh}.breadcrumb{padding:6px var(--space-sm);font-size:.6rem}.editor-page{padding:var(--space-sm)}.editor-title{font-size:1.2rem}.editor-content{font-size:.9rem}.blog-post-content h2{font-size:1.2rem}.blog-post-content h3{font-size:1rem}.blog-post-content pre,.blog-post-content table{font-size:.75rem}.blog-post-content th,.blog-post-content td{padding:6px 8px}}.editor-divider{background:var(--gradient-prismatic-subtle);height:1px;margin:var(--space-lg) 0;opacity:.6}.editor-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-muted);margin-bottom:var(--space-sm);font-size:.7rem}.auth-button{align-items:flex-end;padding-bottom:8px;padding-right:16px;display:flex;position:relative}.auth-signin{font-family:var(--font-mono);color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.75rem;transition:color .15s}.auth-signin:hover{color:var(--color-ink)}.auth-trigger{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:flex}.auth-trigger:hover{background:#ffffff0d}.auth-avatar-wrapper{display:flex;position:relative}.auth-avatar{border-radius:var(--radius-circle);border:1px solid var(--glass-border);width:20px;height:20px}.auth-badge{border-radius:var(--radius-circle);background:var(--color-prism-pink);border:1.5px solid var(--color-void);width:8px;height:8px;position:absolute;top:-2px;right:-2px}.auth-username{font-family:var(--font-mono);color:var(--color-ink-muted);font-size:.7rem}.auth-dropdown{-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-sm);z-index:50;min-width:120px;box-shadow:var(--shadow-md);background:#1e1e1ee6;margin-top:4px;position:absolute;top:100%;right:16px;overflow:hidden}.auth-dropdown-item{width:100%;font-family:var(--font-mono);color:var(--color-ink-muted);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.72rem;text-decoration:none;transition:background .15s,color .15s;display:block}.auth-dropdown-item:hover{background:var(--glass-highlight);color:var(--color-ink)}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}.music-player-bar{height:40px;padding:0 var(--space-md);align-items:center;gap:var(--space-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);z-index:20;border-radius:0 0 12px 12px;transition:transform .3s,opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.music-player-bar--hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.music-player-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.music-player-btn{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:14px;transition:color .15s;display:flex}.music-player-btn:hover{color:var(--color-ink)}.music-player-btn--active,.music-player-btn--active:hover{color:var(--color-prism-pink)}.music-player-progress{align-items:center;gap:var(--space-xs);flex:1;min-width:0;display:flex}.music-player-progress-bar{background:var(--glass-border);cursor:pointer;border-radius:2px;flex:1;height:3px;position:relative;overflow:hidden}.music-player-progress-fill{background:var(--gradient-prismatic-subtle);border-radius:2px;height:100%;transition:width .1s linear}.music-player-time{font-family:var(--font-mono);color:var(--color-ink-faint);flex-shrink:0;min-width:70px;font-size:.6rem}.music-player-info{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:200px;overflow:hidden}.music-player-track-name{font-family:var(--font-mono);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.music-player-track-genre{font-family:var(--font-mono);color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.music-player-repeat{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:14px;transition:color .15s;display:flex}.music-player-repeat:hover{color:var(--color-ink)}.music-player-repeat--all,.music-player-repeat--one,.music-player-repeat--all:hover,.music-player-repeat--one:hover{color:var(--color-prism-teal)}.music-player-repeat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.5rem}@media (width<=600px){.music-player-bar{padding:0 var(--space-xs);gap:var(--space-xs)}.music-player-info{display:none}.music-player-progress{min-width:0}.music-player-time{min-width:60px;font-size:.55rem}}.document-layout{--color-void:#faf9f6;--color-ink:#242421;--color-ink-muted:#68675f;--color-ink-faint:#68675f;--color-surface-0:#f2f1ec;--color-surface-1:#f2f1ec;--color-surface-2:#eae9e2;--color-grid:#deddd6;--glass-border:#deddd6;--color-prism-teal:#244cb3;--color-prism-pink:#244cb3;--color-prism-mint:#315b43;--soul-accent:#244cb3;--soul-line:#deddd6;isolation:isolate;background:var(--color-void);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);font-size:16px;line-height:1.65;position:relative}.document-layout .soul-paper{z-index:-1;background:var(--color-void);position:fixed;inset:0}.document-layout .soul-frame{max-width:1200px;margin:auto;padding:0 32px}.document-layout a{color:var(--soul-accent);text-decoration:none}.document-layout a:hover{text-underline-offset:4px;text-decoration:underline}.document-layout :focus-visible{outline:2px solid var(--soul-accent);outline-offset:4px}.document-layout ::selection{color:var(--color-ink);background:#dce4f7}.document-layout .soul-mono{font-family:var(--font-mono);font-size:12px;font-weight:400}.document-layout .soul-topbar{border-bottom:1px solid var(--soul-line);justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex}.document-layout .soul-brand{letter-spacing:-.6px;color:var(--color-ink);align-items:center;gap:16px;font-size:22px;font-weight:500;display:flex}.document-layout .soul-brand svg{flex-shrink:0;width:17px;height:24px}.document-layout .soul-topbar nav{align-items:center;gap:24px;font-size:14px;display:flex}.document-layout .soul-topbar nav a{color:var(--color-ink-muted)}.document-layout .soul-topbar nav a:last-child{color:var(--soul-accent)}.document-layout .soul-columns{grid-template-columns:192px minmax(0,1fr);display:grid}.document-layout .soul-index{border-right:1px solid var(--soul-line)}.document-layout .soul-index-disclosure{max-height:calc(100vh - 24px);padding:32px 24px 32px 0;position:sticky;top:24px;overflow-y:auto}.document-layout .soul-index-toggle{display:none}.document-layout .soul-index-disclosure>.soul-index-content{display:block}.document-layout .soul-directory{color:var(--color-ink-muted)}.document-layout .soul-index-label{margin:0 0 24px}.document-layout .soul-directory-group{margin-bottom:24px}.document-layout .soul-directory-group p{font:12px var(--font-mono);margin:0 0 8px}.document-layout .soul-directory a{color:var(--color-ink-muted);border-left:2px solid #0000;padding:4px 8px;font-size:14px;display:block}.document-layout .soul-directory>a{border:0;padding-left:0;font-size:12px}.document-layout .soul-directory a[aria-current=page]{border-left-color:var(--soul-accent);color:var(--color-ink)}.document-layout .soul-archive{margin-top:24px}.document-layout summary{cursor:pointer}.document-layout .soul-archive summary{margin-bottom:8px}.document-layout main{min-width:0;padding-left:32px}.document-layout .soul-breadcrumb{color:var(--color-ink-muted);padding:32px 0 0}.document-layout .soul-breadcrumb span{color:var(--color-ink-muted)}.document-layout .soul-page-content{overflow-wrap:anywhere;max-width:720px;padding:0 0 24px}.document-layout .soul-hero{padding:32px 0}.document-layout h1{letter-spacing:-1px;color:var(--color-ink);margin:0 0 24px;font-size:36px;font-weight:500;line-height:1.2}.document-layout .soul-lead{color:var(--color-ink);white-space:pre-line;margin:0;font-size:16px;line-height:1.65}.document-layout .soul-section{border-top:1px solid var(--soul-line);padding:32px 0}.document-layout .soul-bio-secondary{color:var(--color-ink-muted);white-space:pre-line;margin-top:16px}.document-layout h2{color:var(--color-ink);letter-spacing:0;margin:0 0 24px;font-size:18px;font-weight:500;line-height:1.3}.document-layout h3{letter-spacing:0;color:var(--color-ink);margin:0;font-size:16px;font-weight:500;line-height:1.5}.document-layout .soul-project-row{margin-bottom:24px}.document-layout .soul-section .soul-project-row:last-child{margin-bottom:0}.document-layout .soul-project-row p{color:var(--color-ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;display:-webkit-box;overflow:hidden}.document-layout .soul-post-row{grid-template-columns:minmax(0,1fr) auto;gap:16px;margin-bottom:24px;display:grid}.document-layout .soul-post-row h3 a{color:var(--color-ink)}.document-layout .soul-post-row p{color:var(--color-ink-muted);margin:8px 0 0}.document-layout .soul-post-row time{color:var(--color-ink-muted);white-space:nowrap;padding-top:0}.document-layout .soul-project-meta{color:var(--color-ink-muted)}.document-layout .soul-footer{border-top:1px solid var(--soul-line);color:var(--color-ink-muted);justify-content:space-between;gap:24px;margin-top:32px;padding:24px 0 32px;display:flex}.document-layout .soul-footer nav{flex-wrap:wrap;gap:24px;display:flex}.document-layout .soul-skip{background:var(--color-void);z-index:10;position:absolute;top:8px;left:12px;transform:translateY(-200%)}.document-layout .soul-skip:focus{transform:none}.document-layout .soul-reveal-pending{opacity:0;transform:translateY(8px)}.document-layout .soul-reveal-entered{opacity:1;transition:opacity .45s,transform .45s;transform:none}.document-layout .editor-page{max-width:none;padding:32px 0 16px}.document-layout .editor-content{max-width:none}.document-layout .cli-block,.document-layout .admin-editor{border-color:var(--soul-line);background:var(--color-surface-0);box-shadow:none;-webkit-backdrop-filter:none}.document-layout .admin-bar{border-color:var(--soul-line);margin-top:24px}.document-layout .memory-feedback-input{background:var(--color-void);color:var(--color-ink);border:1px solid var(--soul-line)}.document-layout .soul-canvas-page canvas{background:var(--color-void)}.document-layout .music-player-bar{background:var(--color-void);-webkit-backdrop-filter:none;border-radius:0;position:sticky;bottom:0}.document-layout .music-player-progress-fill{background:var(--color-ink-muted)}.document-layout .soul-graph-page{min-height:620px}.document-layout .soul-graph-page .editor-page{min-height:600px}@media (width<=1100px){.document-layout .soul-frame{padding:0 24px}.document-layout .soul-columns{grid-template-columns:176px minmax(0,1fr)}.document-layout main{padding-left:24px}}@media (width<=900px){.document-layout .soul-topbar{flex-wrap:wrap;gap:16px;min-height:0;padding:24px 0}.document-layout .soul-topbar nav{flex-wrap:wrap;gap:16px;font-size:14px}.document-layout .soul-columns{display:block}.document-layout .soul-index{border-right:0;border-bottom:1px solid var(--soul-line)}.document-layout .soul-index-disclosure{max-height:none;padding:16px 0;position:static}.document-layout .soul-index-toggle{width:100%;color:var(--color-ink);font:12px var(--font-mono);cursor:pointer;background:0 0;border:0;justify-content:space-between;padding:0;display:flex}.document-layout .soul-index-disclosure:not(.soul-index-open)>.soul-index-content{display:none}.document-layout .soul-directory{padding-top:24px}.document-layout main{padding-left:0}.document-layout .soul-breadcrumb{padding-top:24px}.document-layout .soul-footer{flex-wrap:wrap}}@media (width<=540px){.document-layout{font-size:16px}.document-layout .soul-frame{padding:0 24px}.document-layout .soul-brand{font-size:22px}.document-layout .soul-topbar nav{gap:16px;font-size:14px}.document-layout h1{font-size:32px}.document-layout .soul-post-row{display:block}.document-layout .soul-post-row time{margin-top:8px;display:block}.document-layout .soul-footer nav{gap:16px}.document-layout .soul-mono{font-size:12px}}@media (prefers-reduced-motion:reduce){.document-layout .soul-reveal{opacity:1;transition:none;transform:none}.document-layout *,.document-layout :before,.document-layout :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.document-layout .document-muted{color:var(--color-ink-muted)}.document-layout .document-category{padding-left:20px}.document-layout .editor-meta,.document-layout .editor-label{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted);letter-spacing:0;text-transform:none}.document-layout .editor-meta{margin-bottom:16px}.document-layout .editor-content{font-size:16px;line-height:1.65}.document-layout .editor-content p{font-size:inherit;line-height:inherit}.document-layout .editor-divider{background:var(--soul-line);height:1px;margin:32px 0}.document-layout .cli-block,.document-layout .cli-output{font:inherit;box-shadow:none;background:0 0;border:0;padding:0}.document-layout .cli-skill-entry{margin:0 0 24px;padding:0}.document-layout .cli-skill-entry p{margin:6px 0}.document-layout .cli-skill-tested{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted)}.document-layout .skill-nav-cards{flex-wrap:wrap;gap:32px;display:flex}.document-layout .skill-nav-card{box-shadow:none;background:0 0;border:0;padding:0;display:block;transform:none}.document-layout .skill-nav-card-title{font:500 16px/1.65 var(--font-sans);color:var(--soul-accent)}.document-layout .skill-nav-card-stat{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted)}.document-layout .experience-block{background:0 0;border:0;margin:0 0 32px;padding:0}.document-layout .experience-block:before,.document-layout .experience-highlights li:before{content:none}.document-layout .experience-date,.document-layout .experience-location,.document-layout .resume-compact-detail{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted)}.document-layout .experience-narrative,.document-layout .experience-note{color:var(--color-ink-muted);font:inherit;border:0;padding:0}.document-layout .experience-highlights{padding-left:20px;list-style:outside}.document-layout .experience-highlights li{color:var(--color-ink);padding:0;font-size:15px;line-height:1.65}.document-layout .resume-compact-item{border:0;margin-bottom:20px;padding:0;display:block}.document-layout .resume-compact-title{font-size:16px;display:block}.document-layout .document-year{margin-top:32px}.document-layout .document-year+.document-year{border-top:1px solid var(--soul-line);padding-top:32px}.document-layout .cli-log-line{color:var(--color-ink);background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:24px;padding:0;display:flex}.document-layout .cli-log-name{font:500 16px/1.65 var(--font-sans);color:var(--color-ink)}.document-layout .cli-log-date{width:100%;font:12px/1.65 var(--font-mono);color:var(--color-ink-muted)}.document-layout .cli-log-result,.document-layout .cli-log-solo{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted);background:0 0;border:0;padding:0}.document-layout .cli-log-project{font:15px/1.65 var(--font-sans)}.document-layout .document-filters{flex-wrap:wrap;gap:12px 24px;margin-bottom:32px;font-size:14px;display:flex}.document-layout .document-filters a{color:var(--color-ink-muted)}.document-layout .document-filters a[aria-current=page]{color:var(--color-ink);text-underline-offset:5px;text-decoration:underline}.document-layout .memory-index-filters{flex-wrap:wrap;gap:8px 20px;margin-bottom:40px;font-size:13px;display:flex}.document-layout .memory-index-filters a{color:var(--color-ink-muted)}.document-layout .memory-index-filters a[aria-current=page]{color:var(--color-ink);text-underline-offset:5px;text-decoration:underline}.document-layout .memory-index-year{margin-bottom:36px}.document-layout .memory-index-year h2{font:400 13px/1.65 var(--font-mono);color:var(--color-ink-muted);margin:0 0 12px}.document-layout .memory-index-row{grid-template-columns:5ch minmax(0,1fr);align-items:baseline;column-gap:24px;padding:8px 0;display:grid}.document-layout .memory-index-row time{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted);white-space:nowrap}.document-layout .memory-index-row h3{overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:400;line-height:1.6}.document-layout .memory-index-entry{overflow-wrap:anywhere;min-width:0}.document-layout .memory-index-meta{font:11px/1.65 var(--font-mono);color:var(--color-ink-muted);margin-top:2px}.document-layout .memory-index-row h3 a{color:var(--color-ink)}.document-layout .memory-index .memory-archive{border-top:0;margin-top:40px;padding-top:0}.document-layout .memory-index .memory-archive li a{overflow-wrap:anywhere;min-width:0}@media (width<=600px){.document-layout .memory-index-row{column-gap:16px}.document-layout .memory-index .memory-archive li{flex-wrap:wrap;gap:2px 16px}}.document-layout .blog-post-content{max-width:680px;color:var(--color-ink);font-size:17px;line-height:1.7}.document-layout .blog-post-content p,.document-layout .blog-post-content li{font-size:inherit;line-height:inherit;color:inherit}.document-layout .blog-post-content h2{margin-top:32px;margin-bottom:16px}.document-layout .blog-post-content h3{margin-top:24px;margin-bottom:12px}.document-layout .blog-post-content pre{background:var(--color-surface-0);font:13px/1.7 var(--font-mono);border:0;border-radius:0;padding:16px}.document-layout .blog-post-content code{background:var(--color-surface-0);color:var(--color-ink);font-family:var(--font-mono)}.document-layout .blog-post-content pre.mermaid{background:0 0;padding:16px 0}.document-layout .blog-post-content blockquote{border-left:1px solid var(--soul-line);color:var(--color-ink-muted)}.document-layout .blog-post-content th{font:12px/1.65 var(--font-mono);text-transform:none}.document-layout .blog-post-content thead,.document-layout .blog-post-content td{border-bottom:1px solid var(--soul-line)}.document-layout .blog-post-content tbody tr:hover{background:0 0}.document-layout .blog-post-content img,.document-layout .blog-post-content video,.document-layout .blog-post-content iframe{border-radius:0}.document-layout .blog-post-content figcaption{font:12px/1.65 var(--font-mono);margin-top:8px}.document-layout .blog-post-content hr+p{color:var(--color-ink-muted);font-size:12px}.document-layout.blog-lightbox{z-index:9999;background:#faf9f6f5;position:fixed}.document-layout.blog-lightbox .blog-lightbox-close{background:var(--color-void);color:var(--color-ink);border:1px solid var(--soul-line);border-radius:0}.document-layout .post-interactions{max-width:680px;margin-top:32px;padding-top:24px}.document-layout .post-like-btn,.document-layout .post-like-btn:hover,.document-layout .guestbook-github-btn,.document-layout .guestbook-github-btn:hover{box-shadow:none;color:var(--color-ink-muted);background:0 0;border:0;border-radius:0;padding:6px 0}.document-layout .post-like-btn.liked{color:var(--soul-accent)}.document-layout .guestbook-entry{border:0;margin:24px 0;padding:0}.document-layout .guestbook-time,.document-layout .guestbook-username{font-size:12px}.document-layout .guestbook-message{color:var(--color-ink);font-size:16px;line-height:1.65}.document-layout .memory-feedback-input{-webkit-backdrop-filter:none;box-shadow:none;border-radius:0;font-size:16px}.document-layout .memory-feedback-input:focus{border-color:var(--color-ink-muted);box-shadow:none}.document-layout .memory-feedback-submit{background:var(--soul-accent);font:12px/1.65 var(--font-mono);letter-spacing:0;border-radius:0;padding:8px 16px}.document-layout .document-contact-links{margin:0 0 32px;padding:0;list-style:none}.document-layout .document-contact-links li{margin:0 0 12px}.document-layout #contact-status{font-size:14px}.document-layout .document-track-row{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px;display:flex}.document-layout .document-track-row p{margin:4px 0 0}.document-layout .document-track-row p.soul-mono{font:12px/1.65 var(--font-mono);letter-spacing:0;color:var(--color-ink-muted)}.document-layout .document-play{color:var(--soul-accent);font:14px/1.65 var(--font-sans);cursor:pointer;background:0 0;border:0;padding:4px 0}.document-layout .music-player{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:24px 0;padding:16px 0}.document-layout .music-waveform{background:0 0;border-radius:0}.document-layout .music-waveform-bar-active{background:var(--soul-accent)}.document-layout .music-play-btn,.document-layout .music-play-btn:hover{color:var(--soul-accent);background:0 0;border:0;border-radius:0}.document-layout .music-progress-fill,.document-layout .music-player-progress-fill{background:var(--soul-accent);border-radius:0}.document-layout .music-track-meta,.document-layout .music-time span{font:12px/1.65 var(--font-mono);color:var(--color-ink-muted)}.document-layout .music-platforms{margin:0}.document-layout .music-platforms .music-status{font:12px/1.65 var(--font-mono);letter-spacing:0;color:var(--color-ink-muted);overflow-wrap:anywhere;margin:0 0 24px}.document-layout .music-platforms h2{margin:0 0 12px}.document-layout .music-platform-links{flex-wrap:wrap;gap:8px 24px;margin:0;display:flex}.document-layout .music-platform-links a{overflow-wrap:anywhere;min-width:0;font:15px/1.65 var(--font-sans);color:var(--soul-accent);text-underline-offset:4px;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline}.document-layout .music-player-bar{border-top:1px solid var(--soul-line);height:48px;box-shadow:none;gap:16px;padding:0}.document-layout .music-player-time,.document-layout .music-player-repeat-label{font-size:11px}.document-layout .music-player-track-name{font:14px/1.3 var(--font-sans)}.document-layout .music-player-track-genre{display:none}@media (width<=600px){.document-layout .music-player-bar{gap:8px}.document-layout .music-player-info{max-width:80px;display:block}.document-layout .music-player-track-name{font-size:12px}}.document-layout{--color-prism-lavender:#68675f;--color-prism-mint:#68675f;--color-win:#315b43;--color-highlight:#9b3232;--glass-bg:#f2f1ec;--glass-highlight:#f2f1ec;--shadow-glow:none;--gradient-prismatic:#244cb3;--gradient-prismatic-subtle:#deddd6}.document-layout .admin-bar,.document-layout .admin-bar-active{border:0;border-bottom:1px solid var(--soul-line);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:12px;padding:8px 0}.document-layout .admin-bar-label{letter-spacing:0;color:var(--color-ink-muted);font-size:11px}.document-layout .admin-bar-indicator{display:none}.document-layout .admin-editor{background:0 0;border:0;border-radius:0;padding:16px 0}.document-layout .admin-btn,.document-layout .admin-bar-btn,.document-layout .editable-item-btn{border:1px solid var(--soul-line);background:var(--color-void);color:var(--color-ink);letter-spacing:0;box-shadow:none;border-radius:0;font-size:11px}.document-layout .admin-btn:hover,.document-layout .admin-bar-btn:hover,.document-layout .editable-item-btn:hover{background:var(--color-surface-0);border-color:var(--color-ink-muted);color:var(--color-ink);box-shadow:none}.document-layout .admin-btn-primary,.document-layout .admin-bar-btn-save{color:var(--color-void);background:var(--soul-accent);border-color:var(--soul-accent)}.document-layout .admin-btn-danger,.document-layout .editable-item-btn-delete{color:#9b3232}.document-layout .editable-item-active{border-color:var(--soul-line);background:0 0;border-radius:0}.document-layout .admin-post-item,.document-layout .admin-feedback-item,.document-layout .admin-notification-item{background:0 0;border:0;border-radius:0;gap:12px;padding:12px 0}.document-layout .admin-notification-unread{border-left:2px solid var(--soul-accent);padding-left:12px}.document-layout .admin-category-badge{color:var(--color-ink-muted);font:11px/1.65 var(--font-mono);background:0 0;border:0;border-radius:0;padding:0}.document-layout .admin-draft-split{grid-template-columns:minmax(0,1fr)}.document-layout .admin-draft-preview{border:1px solid var(--soul-line);background:var(--color-void);border-radius:0}.document-layout .admin-actions,.document-layout .admin-bar-actions,.document-layout .admin-btn-row{flex-wrap:wrap}.document-layout .memory-feedback-label{letter-spacing:0;text-transform:none;font-size:12px}.document-layout .auth-button{margin-top:24px;padding:0;font-size:12px;display:block}.document-layout .auth-trigger{color:var(--color-ink);padding:4px 0}.document-layout .auth-dropdown{background:var(--color-void);min-width:0;box-shadow:none;-webkit-backdrop-filter:none;border:0;border-radius:0;margin-top:8px;position:static}.document-layout .auth-dropdown-item{font-size:12px}.document-layout .media-upload-bar,.document-layout .media-upload-chip{border-color:var(--soul-line);background:var(--color-void);box-shadow:none;border-radius:0}@media (width<=600px){.document-layout .admin-post-item{flex-wrap:wrap}.document-layout .admin-actions{margin-left:0}}.document-layout .editor-page{animation:none}.document-layout .editable-item,.document-layout .editable-item:hover{border:0;border-bottom:1px solid var(--soul-line);background:0 0;border-radius:0}.document-layout .soul-directory>a[aria-current=page]{border-left:2px solid var(--soul-accent);padding-left:8px}.document-layout .soul-archive{border-top:1px solid var(--soul-line);padding-top:16px}.document-layout .soul-index-disclosure{scrollbar-color:var(--soul-line) transparent}.document-layout .admin-error{color:#9b3232;background:0 0;border:0;border-radius:0;padding:0}.document-layout .admin-traffic-meta{color:var(--color-ink-muted);font:11px/1.65 var(--font-mono);margin:8px 0}.document-layout .admin-traffic-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.document-layout .admin-traffic-range .admin-btn[aria-pressed=true]{color:var(--soul-accent);border-color:var(--soul-accent);background:0 0}.document-layout .admin-traffic-summary{flex-wrap:wrap;gap:12px 28px;margin:24px 0 8px;display:flex}.document-layout .admin-traffic-summary>div{align-items:baseline;gap:6px;display:flex}.document-layout .admin-traffic-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:24px}.document-layout .admin-traffic-summary dt{color:var(--color-ink-muted);font:11px var(--font-mono)}.document-layout .admin-traffic-section{border-top:1px solid var(--soul-line);margin-top:24px;padding-top:20px}.document-layout .admin-traffic-section h2,.document-layout .admin-traffic-empty h2{margin:0 0 12px;font-size:16px}.document-layout .admin-traffic-empty{border-left:2px solid var(--soul-accent);margin-top:24px;padding:8px 16px}.document-layout .admin-traffic-chart{width:100%;height:auto;display:block;overflow:visible}.document-layout .admin-traffic-chart polyline{fill:none;stroke-width:1.5px;stroke-linejoin:round}.document-layout .admin-traffic-chart polyline,.document-layout .admin-traffic-chart line{vector-effect:non-scaling-stroke}.document-layout .admin-traffic-baseline{stroke:var(--soul-line)}.document-layout .admin-traffic-visitors{stroke:var(--soul-accent);fill:var(--soul-accent)}.document-layout .admin-traffic-views{stroke:var(--color-ink-muted);fill:var(--color-ink-muted);stroke-dasharray:4 4}.document-layout .admin-traffic-legend{flex-wrap:wrap;gap:4px 16px;display:flex}.document-layout .admin-traffic-legend span:first-child{color:var(--soul-accent)}.document-layout .admin-traffic-dates{justify-content:space-between;gap:12px;display:flex}.document-layout .admin-traffic-table{border-collapse:collapse;width:100%;margin:0;font-size:13px}.document-layout .admin-traffic-table th,.document-layout .admin-traffic-table td{border:0;border-bottom:1px solid var(--soul-line);text-align:right;background:0 0;padding:8px 0 8px 12px;font-weight:400}.document-layout .admin-traffic-table th:first-child{text-align:left;overflow-wrap:anywhere;padding-left:0}.document-layout .admin-traffic-table thead th{color:var(--color-ink-muted);font:11px/1.65 var(--font-mono)}.document-layout .admin-traffic-table thead th:not(:first-child){white-space:nowrap}.document-layout .admin-traffic-table td{white-space:nowrap;width:1%;font:11px/1.65 var(--font-mono);font-variant-numeric:tabular-nums}.document-layout .admin-traffic-table tbody tr:last-child>*{border-bottom:0}.document-layout .admin-traffic-bot{margin-top:20px}.document-layout .admin-traffic-bot-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.document-layout .admin-traffic-bot-heading h3{font:13px/1.65 var(--font-mono);overflow-wrap:anywhere}.document-layout .admin-traffic-bot-heading>:last-child{margin-left:auto}.document-layout .admin-traffic-ai{color:var(--soul-accent);border-bottom:1px solid var(--soul-accent)}.document-layout .media-upload-count{background:0 0;border:0;border-radius:0;font-size:11px}.document-layout .media-upload-actions{flex-wrap:wrap}@media (width<=400px){.document-layout .music-player-info{display:none}}.document-layout .soul-project-meta{color:var(--color-ink-muted);margin:2px 0 6px;font-size:12px}.document-layout .soul-directory .soul-directory-group>p>a{font:inherit;color:inherit;border:0;padding:0;text-decoration:none;display:inline}.document-layout .soul-directory .soul-directory-group>p>a:hover{color:var(--color-ink)}.document-layout .cv-toolbar{color:var(--color-ink-muted);flex-wrap:wrap;align-items:baseline;gap:20px;margin:0 0 20px;font-size:12px;display:flex}.document-layout .cv-toolbar button,.document-layout .cv-source-tabs button{font:inherit;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;padding:0}.document-layout .cv-toolbar button[aria-pressed=true],.document-layout .cv-source-tabs button[aria-pressed=true]{color:var(--color-ink);text-underline-offset:4px;text-decoration:underline}.document-layout .cv-toolbar a,.document-layout .cv-toolbar button[aria-expanded]{color:var(--soul-accent)}.document-layout .cv-frame iframe{border:1px solid var(--color-divider,#deddd6);background:#fff;width:100%;height:min(80vh,1000px);display:block}.document-layout .cv-fallback{color:var(--color-ink-muted);margin:8px 0 0;font-size:11px}.document-layout .cv-source-tabs{gap:16px;margin-bottom:8px;font-size:12px;display:flex}.document-layout .cv-source pre{border:1px solid var(--color-divider,#deddd6);max-height:80vh;font:12px/1.6 var(--font-mono);color:var(--color-ink);white-space:pre;background:0 0;margin:0;padding:16px;overflow:auto}.document-layout .soul-readme .soul-section{border-top:0;padding:28px 0;scroll-margin-top:24px}.document-layout .soul-previously{margin:16px 0 0}.document-layout .soul-currently{margin:16px 0 20px}.document-layout .soul-readme a,.document-layout .soul-footer a{text-underline-offset:3px;text-decoration:underline}.document-layout .soul-social-links{flex-wrap:wrap;gap:20px;display:flex}.document-layout .soul-section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.document-layout .soul-section-heading h2{margin:0}.document-layout .soul-section-heading>a{white-space:nowrap;font-size:14px}.document-layout .soul-readme .soul-project-row{margin-bottom:32px}.document-layout .soul-project-row h3 a{color:var(--soul-accent);text-decoration:none}.document-layout .soul-project-row h3 a:hover{text-underline-offset:4px;text-decoration:underline}.document-layout .soul-project-row p{margin:4px 0;display:block;overflow:visible}.document-layout .soul-project-meta{font-size:11px}.document-layout .soul-readme .soul-post-row{grid-template-columns:minmax(0,1fr) auto;gap:0 16px;display:grid}.document-layout .soul-post-row p{white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;margin:2px 0 0;overflow:hidden}.document-layout .soul-background-row{grid-template-columns:110px minmax(0,1fr) auto;gap:12px;margin-bottom:8px;display:grid}.document-layout .soul-background-row a{color:var(--color-ink);font-weight:500}.document-layout .soul-education{margin:28px 0 0;font-weight:500}.document-layout .soul-education+p{margin-top:0}.document-layout .soul-featured-track{grid-template-columns:32px minmax(0,1fr);gap:20px;margin:24px 0;display:grid}.document-layout .soul-track-play{color:var(--color-ink);cursor:pointer;background:0 0;border:0;align-self:start;padding:4px 0}.document-layout .soul-featured-track p{margin:0}.document-layout .soul-track-timeline{color:var(--color-ink-muted);align-items:center;gap:16px;display:flex}.document-layout .soul-track-timeline progress{appearance:none;background:var(--soul-line);min-width:0;height:3px;color:var(--soul-accent);border:0;flex:1}.document-layout .soul-track-timeline progress::-webkit-progress-bar{background:var(--soul-line)}.document-layout .soul-track-timeline progress::-webkit-progress-value{background:var(--soul-accent)}.document-layout .soul-track-timeline progress::-moz-progress-bar{background:var(--soul-accent)}.document-layout .soul-track-timeline .soul-mono{white-space:nowrap;flex:none;font-size:12px}.document-layout .soul-footer{max-width:720px;margin-top:0;font-size:14px}.document-layout .soul-footer p{margin:0}.document-layout .soul-footer-right{text-align:right}.document-layout .soul-footer-right p{margin-top:4px}.document-layout .soul-footer nav a:last-child{color:var(--soul-accent)}@media (width<=900px){.document-layout .soul-readme .soul-project-row{grid-template-columns:minmax(0,1fr)}}@media (width<=540px){.document-layout .soul-background-row{grid-template-columns:minmax(0,1fr) auto;gap:0 12px}.document-layout .soul-background-row a{grid-column:1/-1}.document-layout .soul-readme .soul-post-row{gap:0 8px}.document-layout .soul-post-row time{margin-top:0;font-size:10px}.document-layout .soul-footer-right{text-align:left}}.document-layout .soul-directory .dir-tree,.document-layout .soul-directory .dir-children{margin:0;padding:0;list-style:none}.document-layout .soul-directory .dir-tree>li{margin-bottom:6px}.document-layout .soul-directory a.dir-file,.document-layout .soul-directory summary.dir-file{font:13px/1.5 var(--font-mono);color:var(--color-ink-muted);border-left:2px solid #0000;padding:4px 0 4px 10px;text-decoration:none;display:block}.document-layout .soul-directory .dir-children{margin:2px 0 8px 10px}.document-layout .soul-directory a.dir-child{font:14px/1.5 var(--font-sans);color:var(--color-ink-muted);border-left:2px solid #0000;padding:3px 0 3px 12px;text-decoration:none;display:block}.document-layout .soul-directory a.dir-file:hover,.document-layout .soul-directory a.dir-child:hover,.document-layout .soul-directory summary.dir-file:hover{color:var(--color-ink)}.document-layout .soul-directory a.dir-file[aria-current=page],.document-layout .soul-directory a.dir-child[aria-current=page]{border-left-color:var(--soul-accent);color:var(--color-ink)}.document-layout .dir-archive{border-top:1px solid var(--soul-line);margin-top:16px;padding-top:12px}.document-layout .dir-archive summary{cursor:pointer;list-style:none}.document-layout .dir-archive summary::-webkit-details-marker{display:none}.document-layout .dir-archive summary:before{content:"+ "}.document-layout .dir-archive[open] summary:before{content:"− "}.document-layout .soul-directory .auth-button{font:12px var(--font-mono);padding-left:12px}.document-layout .soul-directory .dir-admin{border-top:1px solid var(--soul-line);margin-top:16px;padding-top:12px}.document-layout .soul-directory .dir-admin>a.dir-file[aria-current=page]{border-left-color:#0000}.document-layout .soul-directory .auth-button{margin-top:16px;padding-left:12px}.document-layout .memory-archive summary{color:var(--color-ink-muted);letter-spacing:.08em;font-size:11px}.document-layout .memory-archive ul{margin:12px 0 0;padding:0;list-style:none}.document-layout .memory-archive li{justify-content:space-between;gap:16px;padding:8px 0;display:flex}.document-layout .memory-archive time{color:var(--color-ink-muted);flex-shrink:0;font-size:11px}.post-archived-marker{font-family:var(--font-mono);color:var(--color-ink-faint);margin:0 6px 0 0;font-size:11px;font-weight:400}.document-layout .hackathon-atlas{border-top:1px solid var(--soul-line);margin:8px 0 48px;padding-top:20px}.document-layout .hackathon-atlas-heading,.document-layout .hackathon-atlas-events-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;display:flex}.document-layout .hackathon-atlas-heading h2{margin:0;font-size:20px}.document-layout .hackathon-atlas-heading>span,.document-layout .hackathon-atlas-events-heading>span{font:11px/1.6 var(--font-mono);color:var(--color-ink-muted)}.document-layout .hackathon-atlas-views{flex-wrap:wrap;gap:4px;margin:20px 0 12px;display:flex}.document-layout .hackathon-atlas-views button{border:1px solid var(--soul-line);min-height:44px;color:var(--color-ink-muted);font:12px var(--font-mono);cursor:pointer;background:0 0;padding:8px 16px}.document-layout .hackathon-atlas-views button[aria-pressed=true]{color:var(--soul-accent);border-color:var(--soul-accent);background:var(--color-surface-0)}.document-layout .hackathon-atlas-map-frame{width:100%;position:relative;overflow:hidden}.document-layout .hackathon-atlas-geography{width:100%;display:block}.document-layout .hackathon-atlas-dot{fill:var(--color-ink-muted);opacity:.65}.document-layout .hackathon-atlas-pin-target{cursor:pointer}.document-layout .hackathon-atlas-geographic-pin{fill:var(--color-void);stroke:var(--soul-accent);stroke-width:1.4px;vector-effect:non-scaling-stroke}.document-layout .hackathon-atlas-geographic-pin.is-selected,.document-layout .hackathon-atlas-context-pin{fill:var(--soul-accent)}.document-layout .hackathon-atlas-leaders{pointer-events:none;position:absolute;inset:0}.document-layout .hackathon-atlas-leaders line{stroke:var(--color-ink-muted);stroke-width:.7px;opacity:.65}.document-layout .hackathon-atlas-place{background:var(--color-void);max-width:100%;min-height:44px;color:var(--color-ink);cursor:pointer;font:500 13px/1.4 var(--font-sans);white-space:nowrap;overflow-wrap:normal;word-break:normal;border:0;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:4px 7px;display:inline-flex}.document-layout .hackathon-atlas-place>span:first-child{text-overflow:ellipsis;overflow:hidden}.document-layout .hackathon-atlas-label{position:absolute;transform:translate(-50%,-50%)}.document-layout .hackathon-atlas-place[aria-pressed=true]{color:var(--soul-accent);text-underline-offset:4px;text-decoration:underline}.document-layout .hackathon-atlas-place:hover{color:var(--soul-accent)}.document-layout .hackathon-atlas-place:focus-visible{z-index:1;outline:2px solid var(--soul-accent);outline-offset:2px}.document-layout .hackathon-atlas-count{font:11px var(--font-mono);color:var(--color-ink-muted);flex-shrink:0}.document-layout .hackathon-atlas-other{flex-wrap:wrap;gap:4px 16px;margin:12px 0 20px;display:flex}.document-layout .hackathon-atlas-caption{color:var(--color-ink-muted);font:10px/1.6 var(--font-mono);margin:12px 0 20px}.document-layout .hackathon-atlas-events{border-block:1px solid var(--soul-line);padding:16px 0}.document-layout .hackathon-atlas-events-heading h3{font-size:18px}.document-layout .hackathon-atlas-events-heading h3 span{font:11px var(--font-mono);color:var(--color-ink-muted);margin-left:8px}.document-layout .hackathon-atlas-events ul{overscroll-behavior-y:contain;scrollbar-width:thin;max-height:240px;margin:12px 0 0;padding:0 12px 0 0;list-style:none;overflow-y:auto}.document-layout .hackathon-atlas-events li{overflow-wrap:anywhere;grid-template-columns:66px minmax(0,1fr);gap:12px;padding:8px 0;font-size:14px;line-height:1.5;display:grid}.document-layout .hackathon-atlas-events time,.document-layout .hackathon-atlas-events small{font:11px/1.7 var(--font-mono);color:var(--color-ink-muted)}.document-layout .hackathon-atlas-events small{display:block}.document-layout .hackathon-atlas-events small.hackathon-atlas-win{color:var(--soul-accent)}.document-layout .hackathon-atlas-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
