.bento-wrap{display:flex;position:relative;flex-direction:column;justify-content:center;min-height:calc(100dvh - 52px - 6rem)}#scroll-down{display:flex;flex-direction:column;align-items:center;position:absolute;transform:translateX(-50%);inset-block-end:.5rem;inset-inline-start:50%;color:var(--accent-color);font-size:2rem;line-height:0;text-decoration:none;z-index:2}#scroll-down .icon{opacity:var(--disabled-opacity);animation:arrow-blink .6s ease-out alternate infinite}#scroll-down .icon:first-of-type{margin-block-end:-1.25rem}#scroll-down .icon:last-of-type{animation-delay:.2s}@media only screen and (max-width: 600px){#scroll-down{display:none}}@keyframes arrow-blink{to{opacity:.25;transform:translateY(.25rem)}}.bento{display:grid;grid-template-columns:repeat(5, 1fr);gap:.625rem;grid-template-areas:"hero      hero      hero      latest  latest" "github    github    clock     clock   clock";grid-template-rows:1fr auto}.bento-cell{min-width:0;transition:box-shadow var(--transition),transform var(--transition-bezier)}.cell-label{display:inline-flex;align-items:center;width:fit-content;gap:.375rem;padding:.25rem .625rem;background-color:var(--bg-muted-1);box-shadow:var(--edge-highlight);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border-radius:9999px;font-size:var(--font-size-xx-small);font-weight:var(--font-weight-semi-bold);color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;margin-block-end:.5rem}.cell-label .icon{font-size:.875rem}.hero{grid-area:hero;display:flex;align-items:center;gap:1.25rem;padding:1.5rem}.hero .hero-avatar{width:6rem;height:6rem;border-radius:50%;flex-shrink:0;box-shadow:var(--edge-highlight),var(--shadow);object-fit:cover;margin:0}.hero .hero-body{min-width:0}.hero .hero-body .buttons{margin-block-start:.75rem}.hero .hero-title{margin:0;font-size:var(--font-size-xx-large);line-height:1.2}.hero .hero-tagline{margin:.25rem 0 0;font-size:var(--font-size-small);color:var(--fg-muted-1);line-height:1.5}.latest-post{grid-area:latest;display:flex;flex-direction:column;text-decoration:none;overflow:hidden;position:relative;border-radius:var(--rounded-corner);box-shadow:var(--edge-highlight),var(--shadow);background-color:var(--bg-color);--accent-color: hsl(var(--accent-light-h), var(--accent-light-s), var(--accent-light-l));color:var(--fg-color)}.latest-post::before{content:"";position:absolute;inset:0;background-color:hsl(var(--accent-light-h), var(--accent-light-s), var(--accent-light-l));opacity:.4}.latest-post::after{content:"";position:absolute;inset:-2rem;background:var(--blurnail) center/cover;filter:blur(2rem) saturate(3);opacity:.2}@media (prefers-color-scheme: dark){.latest-post{--accent-color: hsl(var(--accent-dark-h), var(--accent-dark-s), var(--accent-dark-l))}}.latest-post:hover{box-shadow:var(--edge-highlight),var(--shadow-raised);transform:translateY(-.125rem)}.latest-post:hover .latest-post-banner::before{background-color:var(--shade-color)}.latest-post:hover .latest-post-banner img{transform:scale(1.1);filter:blur(.25rem)}.latest-post:hover .latest-post-title .icon{opacity:1}.latest-post .cell-label{color:var(--accent-color)}.latest-post .latest-post-body{position:relative;z-index:1;padding:1rem;flex:1;display:flex;flex-direction:column}.latest-post .latest-post-title{font-size:var(--font-size-normal);font-weight:var(--font-weight-semi-bold);line-height:1.3;color:var(--accent-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.latest-post .latest-post-title .icon{opacity:0;vertical-align:middle;transition:opacity var(--transition)}.latest-post .latest-post-desc{margin:.375rem 0 0;font-size:var(--font-size-x-small);color:var(--fg-muted-1);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.latest-post .latest-post-date{margin-block-start:auto;padding-block-start:.5rem;font-size:var(--font-size-xx-small);color:var(--fg-muted-2)}.latest-post .latest-post-banner{position:relative;z-index:1;height:5rem;overflow:hidden;flex-shrink:0;--mask-image: linear-gradient( to bottom, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, 0.15) 25%, hsla(0, 0%, 0%, 0.55) 55%, hsl(0, 0%, 0%) 100% );mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image)}.latest-post .latest-post-banner::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;transition:background-color var(--transition)}.latest-post .latest-post-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;margin:0;transition:transform var(--transition),filter var(--transition)}.github-card{grid-area:github;padding:1rem;border-radius:var(--rounded-corner);box-shadow:var(--edge-highlight),var(--shadow);background-color:var(--bg-muted-1);display:flex;flex-direction:column;justify-content:flex-start;gap:.75rem;min-width:0}.github-card .github-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.github-card .github-header .cell-label{margin-block-end:0}.github-card .github-header .github-user-link{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--font-size-xx-small);font-family:var(--font-monospace),var(--font-ui-monospace);color:var(--fg-muted-2);text-decoration:none;transition:color var(--transition)}.github-card .github-header .github-user-link:hover{color:var(--accent-color)}.github-card .github-header .github-user-link .icon{font-size:.75rem}.github-card .github-graph-wrap{margin:0;width:100%;overflow:hidden;display:flex;align-items:center}.github-card .github-graph-wrap svg{display:block;width:100%;height:auto}.github-card .github-loading-skeleton{display:flex;align-items:center;justify-content:center;height:4.5rem;font-size:var(--font-size-xx-small);color:var(--fg-muted-2)}.clock-card{grid-area:clock;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;padding:1rem;--sky-top: #5a7a98;--sky-bottom: #7e9bb5;background-color:var(--sky-bottom);background-image:linear-gradient(135deg, var(--sky-top), var(--sky-bottom));transition:background-color .5s ease}@media (prefers-color-scheme: dark){.clock-card{--sky-top: #1f2c44;--sky-bottom: #314360}}.clock-card>.cell-label{color:var(--fg-muted-1)}.clock-card.cloudy::before,.clock-card.showers::before,.clock-card.snowing::before{content:"";position:absolute;inset:0;background-size:512px;pointer-events:none;border-radius:inherit}.clock-card.cloudy::before{animation:perlin 30s linear infinite;background-image:url("/weather/perlin.png")}@media (prefers-color-scheme: dark){.clock-card.cloudy::before{background-image:url("/weather/perlin-dark.png")}}.clock-card.showers::before{animation:rain 8s linear infinite;background-image:url("/weather/rain.svg")}@media (prefers-color-scheme: dark){.clock-card.showers::before{background-image:url("/weather/rain-dark.svg")}}.clock-card.snowing::before{animation:snow 30s linear infinite;background-image:url("/weather/snow.svg")}@media (prefers-color-scheme: dark){.clock-card.snowing::before{background-image:url("/weather/snow-dark.svg")}}.clock-card>*{position:relative;z-index:1}@keyframes rain{to{background-position:512px 640px}}@keyframes perlin{to{background-position:-512px -128px}}@keyframes snow{to{background-position:1024px}}.clock-card .clock-content{display:flex;align-items:center;justify-content:space-between;flex:1;width:100%;gap:1rem}.clock-card .clock-side{display:flex;flex-direction:column}.clock-card .clock-display{display:flex;align-items:baseline;gap:.125rem;font-family:var(--font-monospace),var(--font-ui-monospace);font-size:var(--font-size-xx-large);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:rgba(255,255,255,.9);line-height:1}.clock-card .clock-separator{animation:clock-fade 2s ease-in-out infinite}@keyframes clock-fade{0%, 100%{opacity:1}50%{opacity:0}}.clock-card .clock-greeting{margin-block-start:.375rem;font-size:var(--font-size-x-small);color:rgba(255,255,255,.75);font-style:italic}.clock-card .weather-side{display:flex;flex-direction:column;align-items:flex-end}.clock-card .weather-side .weather-main{display:flex;align-items:center;gap:.5rem}.clock-card .weather-side .weather-icon-wrap{display:flex}.clock-card .weather-side .weather-icon-wrap .icon{box-shadow:var(--edge-highlight);border-radius:50%;background-color:var(--bg-muted-1);padding:.375rem;font-size:1rem}.clock-card .weather-side .weather-temp{font-size:var(--font-size-xx-large);font-weight:var(--font-weight-bold);color:rgba(255,255,255,.9);line-height:1}.clock-card .weather-side .weather-condition{margin-block-start:.25rem;font-size:var(--font-size-x-small);color:rgba(255,255,255,.75)}.clock-card .clock-meta{font-size:var(--font-size-xx-small);color:rgba(255,255,255,.75);font-variant-numeric:tabular-nums}.about-section{scroll-margin-top:4rem;margin-block-start:4rem;margin-block-end:4rem}.about-section h2{margin-block-start:0;margin-block-end:.5rem}.about-section>p,.about-section .about-intro{font-size:var(--font-size-small);color:var(--fg-muted-1);line-height:1.6;margin-block-end:1.5rem;max-width:65ch}.masonry{display:flex;flex-wrap:wrap;gap:.5rem}.masonry .column{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:16rem}.masonry .item{box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem}.masonry .item>:first-child{margin-block-start:0}.masonry .item>:last-child{margin-block-end:0}.masonry .item p{margin-block:0;font-size:var(--font-size-normal);line-height:1.55;color:var(--fg-color)}.masonry .item>strong{display:block;color:var(--accent-color);font-size:var(--font-size-medium);margin-block-start:0;margin-block-end:.5rem}.masonry .item.fancy-list>p:first-child,.masonry .item.fancy-list>strong:first-child{margin-block-start:0;margin-block-end:1rem;color:var(--fg-color)}.masonry .item.fancy-list>p:first-child strong,.masonry .item.fancy-list>strong:first-child strong{color:var(--fg-color)}.masonry .item.fancy-list ul{display:flex;flex-direction:column;gap:.25rem;margin-inline:-.5rem;margin-block-start:0;margin-block-end:-.5rem;padding-inline-start:0;list-style:none}.masonry .item.fancy-list ul li{margin-block:0;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.5rem .75rem;font-size:var(--font-size-normal);line-height:1.5;color:var(--fg-muted-1)}.masonry .item.fancy-list ul li strong{color:var(--fg-color)}.masonry .item.tech-quiz{display:flex;flex-direction:column}.masonry .item.tech-quiz .quiz-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-block-end:.625rem}.masonry .item.tech-quiz .quiz-title{display:inline-flex;align-items:center;gap:.375rem;color:var(--accent-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold)}.masonry .item.tech-quiz .quiz-title .icon{font-size:1.125rem}.masonry .item.tech-quiz .quiz-category{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:var(--font-size-xx-small);font-weight:var(--font-weight-semi-bold);color:var(--accent-color);background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight)}.masonry .item.tech-quiz .quiz-question{font-size:var(--font-size-small);font-weight:var(--font-weight-semi-bold);color:var(--fg-color);line-height:1.45;margin-block:0 .75rem}.masonry .item.tech-quiz .quiz-options{display:grid;grid-template-columns:repeat(2, 1fr);gap:.5rem;margin-block-end:.75rem}@media (max-width: 480px){.masonry .item.tech-quiz .quiz-options{grid-template-columns:1fr}}.masonry .item.tech-quiz .quiz-option{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-2);border:1px solid rgba(0,0,0,0);padding:.5rem .625rem;font-size:var(--font-size-x-small);font-weight:var(--font-weight-medium);color:var(--fg-muted-1);text-align:left;cursor:pointer;font-family:inherit;transition:all var(--transition)}.masonry .item.tech-quiz .quiz-option:hover:not(:disabled){color:var(--fg-color);background-color:var(--bg-muted-1);border-color:var(--accent-color)}.masonry .item.tech-quiz .quiz-option.selected-correct{color:#10b981 !important;background-color:rgba(16,185,129,.12) !important;border-color:#10b981 !important;font-weight:var(--font-weight-semi-bold)}.masonry .item.tech-quiz .quiz-option.selected-incorrect{color:#ef4444 !important;background-color:rgba(239,68,68,.12) !important;border-color:#ef4444 !important}.masonry .item.tech-quiz .quiz-option:disabled{cursor:default}.masonry .item.tech-quiz .quiz-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-block-start:auto}.masonry .item.tech-quiz .quiz-footer .quiz-feedback{font-size:var(--font-size-xx-small);color:var(--fg-muted-2);font-family:var(--font-monospace),var(--font-ui-monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.masonry .item.tech-quiz .quiz-footer .quiz-feedback.correct{color:#10b981;font-weight:var(--font-weight-semi-bold)}.masonry .item.tech-quiz .quiz-footer .quiz-feedback.incorrect{color:#ef4444}.masonry .item.tech-quiz .quiz-footer .quiz-timer{font-size:var(--font-size-xx-small);color:var(--fg-muted-2);font-family:var(--font-monospace),var(--font-ui-monospace);white-space:nowrap;flex-shrink:0}.masonry .item.games{display:flex;flex-direction:column;position:relative}.masonry .item.games>strong,.masonry .item.games>p:first-child{display:block;color:var(--fg-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);margin-block-start:0;margin-block-end:1rem}.masonry .item.games>strong strong,.masonry .item.games>p:first-child strong{color:var(--fg-color)}.masonry .item.games #show-more{position:absolute}.masonry .item.games #show-more+label{user-select:none;display:inline-flex;align-items:center;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;border-radius:var(--rounded-corner-small);padding:.75rem .5rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);line-height:1rem;cursor:pointer;transition:all var(--transition),transform var(--transition-bezier)}.masonry .item.games #show-more+label:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}.masonry .item.games #show-more+label:active{transform:scale(.96)}.masonry .item.games #show-more+label .less{display:none}.masonry .item.games #show-more:checked+label .more{display:none}.masonry .item.games #show-more:checked+label .less{display:inline}.masonry .item.games ul.games-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:.5rem;margin-inline:-.5rem;margin-block-start:0;margin-block-end:-.5rem;padding:0;list-style:none}.masonry .item.games ul.games-grid:hover li:not(:hover){opacity:.5;filter:blur(.125rem)}.masonry .item.games ul.games-grid li{margin:0;padding:0;list-style:none;border-radius:var(--rounded-corner-small);overflow:hidden;aspect-ratio:2/3;transition:transform var(--transition-bezier),filter var(--transition),opacity var(--transition);position:relative}.masonry .item.games ul.games-grid li.game-extra{display:none;opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform var(--transition-bezier),filter var(--transition)}.masonry .item.games ul.games-grid li:hover{transform:scale(1.08);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));z-index:2}.masonry .item.games ul.games-grid li a{display:block;width:100%;height:100%;text-decoration:none;border-radius:inherit}.masonry .item.games ul.games-grid li img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit;transform:none !important;transition:none !important}.masonry .item.games #show-more:checked~ul.games-grid li.game-extra,.masonry .item.games:has(#show-more:checked) ul.games-grid li.game-extra{display:list-item;opacity:1;transform:translateY(0)}.masonry .item.games #show-more:checked~ul.games-grid li.game-extra:hover,.masonry .item.games:has(#show-more:checked) ul.games-grid li.game-extra:hover{transform:scale(1.08)}.masonry .item.movies{display:flex;flex-direction:column;position:relative}.masonry .item.movies>strong,.masonry .item.movies>p:first-child{display:block;color:var(--fg-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);margin-block-start:0;margin-block-end:1rem}.masonry .item.movies>strong strong,.masonry .item.movies>p:first-child strong{color:var(--fg-color)}.masonry .item.movies #show-more-movies{position:absolute}.masonry .item.movies #show-more-movies+label{user-select:none;display:inline-flex;align-items:center;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;border-radius:var(--rounded-corner-small);padding:.75rem .5rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);line-height:1rem;cursor:pointer;transition:all var(--transition),transform var(--transition-bezier)}.masonry .item.movies #show-more-movies+label:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}.masonry .item.movies #show-more-movies+label:active{transform:scale(.96)}.masonry .item.movies #show-more-movies+label .less{display:none}.masonry .item.movies #show-more-movies:checked+label .more{display:none}.masonry .item.movies #show-more-movies:checked+label .less{display:inline}.masonry .item.movies ul.movies-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:.5rem;margin-inline:-.5rem;margin-block-start:0;margin-block-end:-.5rem;padding:0;list-style:none}.masonry .item.movies ul.movies-grid:hover li:not(:hover){opacity:.5;filter:blur(.125rem)}.masonry .item.movies ul.movies-grid li{margin:0;padding:0;list-style:none;border-radius:var(--rounded-corner-small);overflow:hidden;aspect-ratio:2/3;transition:transform var(--transition-bezier),filter var(--transition),opacity var(--transition);position:relative}.masonry .item.movies ul.movies-grid li.movie-extra{display:none;opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform var(--transition-bezier),filter var(--transition)}.masonry .item.movies ul.movies-grid li:hover{transform:scale(1.08);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));z-index:2}.masonry .item.movies ul.movies-grid li a{display:block;width:100%;height:100%;text-decoration:none;border-radius:inherit}.masonry .item.movies ul.movies-grid li img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit;transform:none !important;transition:none !important}.masonry .item.movies #show-more-movies:checked~ul.movies-grid li.movie-extra,.masonry .item.movies:has(#show-more-movies:checked) ul.movies-grid li.movie-extra{display:list-item;opacity:1;transform:translateY(0)}.masonry .item.movies #show-more-movies:checked~ul.movies-grid li.movie-extra:hover,.masonry .item.movies:has(#show-more-movies:checked) ul.movies-grid li.movie-extra:hover{transform:scale(1.08)}.masonry .item.books{display:flex;flex-direction:column;position:relative}.masonry .item.books .books-container{display:grid;grid-template-columns:repeat(4, 1fr);gap:.5rem;margin-inline:-.5rem;margin-block-start:0;margin-block-end:-.5rem}.masonry .item.books .books-container:has(.book-featured:hover,.finished-book:hover) .book-featured:not(:hover),.masonry .item.books .books-container:has(.book-featured:hover,.finished-book:hover) .finished-book:not(:hover){opacity:.5;filter:blur(.125rem)}.masonry .item.books .books-header-left{grid-column:1/span 2;grid-row:1;font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);color:var(--fg-color);margin-block-start:0;margin-block-end:.5rem;line-height:1.5;padding-inline-start:.5rem}.masonry .item.books .books-header-right{grid-column:3/span 2;grid-row:1;font-size:var(--font-size-small);font-weight:var(--font-weight-semi-bold);color:var(--fg-muted-1);text-align:right;margin-block-start:0;margin-block-end:.5rem;line-height:1.5;padding-inline-end:.5rem}.masonry .item.books .book-featured{grid-column:1/span 2;grid-row:2/span 2;position:relative;min-height:0;min-width:0;width:100%;height:100%;transition:transform var(--transition-bezier),filter var(--transition),opacity var(--transition)}.masonry .item.books .book-featured a{text-decoration:none;display:block;width:100%;height:100%}.masonry .item.books .book-featured .featured-cover-wrap{position:absolute;inset:0;border-radius:var(--rounded-corner-small);overflow:hidden;box-shadow:var(--edge-highlight);transition:transform var(--transition-bezier),filter var(--transition),opacity var(--transition)}.masonry .item.books .book-featured .featured-cover-wrap:hover{transform:scale(1.04);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));z-index:2}.masonry .item.books .book-featured .featured-cover-wrap img{display:block;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;margin:0;border-radius:inherit;transform:none !important;transition:none !important}.masonry .item.books .finished-book{width:100%;aspect-ratio:2/3;border-radius:var(--rounded-corner-small);overflow:hidden;box-shadow:var(--edge-highlight);position:relative;transition:transform var(--transition-bezier),filter var(--transition),opacity var(--transition)}.masonry .item.books .finished-book:hover{transform:scale(1.08);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));z-index:2}.masonry .item.books .finished-book a{display:block;width:100%;height:100%;overflow:hidden;text-decoration:none}.masonry .item.books .finished-book img{display:block;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;margin:0;border-radius:inherit;transform:none !important;transition:none !important}.masonry .item.bitcraft{display:flex;flex-direction:column;position:relative}.masonry .item.bitcraft>strong,.masonry .item.bitcraft>p:first-child{display:block;color:var(--fg-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);margin-block-start:0;margin-block-end:1rem}.masonry .item.bitcraft>strong strong,.masonry .item.bitcraft>p:first-child strong{color:var(--fg-color)}.masonry .item.bitcraft .bitcraft-card{display:flex;flex-direction:column;gap:.625rem;margin-inline:-.5rem;margin-block-end:-.5rem}.masonry .item.bitcraft .bitcraft-reset-btn{user-select:none;display:inline-flex;align-items:center;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;border:0;outline:0;background:rgba(0,0,0,0);box-shadow:none;border-radius:var(--rounded-corner-small);padding:.75rem .5rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);font-family:inherit;line-height:1rem;cursor:pointer;transition:all var(--transition),transform var(--transition-bezier)}.masonry .item.bitcraft .bitcraft-reset-btn:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}.masonry .item.bitcraft .bitcraft-reset-btn:active{transform:scale(.96)}.masonry .item.bitcraft .bitcraft-reset-btn:focus,.masonry .item.bitcraft .bitcraft-reset-btn:focus-visible{outline:none;box-shadow:none}.masonry .item.bitcraft .bitcraft-register-section{display:flex;flex-direction:column;gap:.625rem}.masonry .item.bitcraft .bitcraft-register-section .byte-group{display:flex;flex-direction:column;gap:.25rem}.masonry .item.bitcraft .bitcraft-register-section .byte-label{font-size:.6875rem;font-weight:var(--font-weight-semi-bold);color:var(--fg-muted-1);text-transform:uppercase;letter-spacing:.03em}.masonry .item.bitcraft .bitcraft-register-section .bits-row{display:grid;grid-template-columns:repeat(8, 1fr);gap:.25rem}.masonry .item.bitcraft .bitcraft-register-section .bit-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.375rem .125rem;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight);border:1px solid rgba(0,0,0,0);cursor:pointer;user-select:none;transition:all var(--transition),transform var(--transition-bezier)}.masonry .item.bitcraft .bitcraft-register-section .bit-box .bit-idx{font-size:.625rem;color:var(--fg-muted-1);font-family:var(--font-monospace),var(--font-ui-monospace);margin-block-end:.125rem}.masonry .item.bitcraft .bitcraft-register-section .bit-box .bit-val{font-size:var(--font-size-small);font-weight:var(--font-weight-bold);font-family:var(--font-monospace),var(--font-ui-monospace);color:var(--fg-muted-1)}.masonry .item.bitcraft .bitcraft-register-section .bit-box:hover{transform:translateY(-2px);background-color:var(--bg-muted-1);border-color:var(--accent-color)}.masonry .item.bitcraft .bitcraft-register-section .bit-box.active{background-color:var(--accent-color);box-shadow:0 0 8px rgba(137,180,250,.4),var(--edge-highlight)}.masonry .item.bitcraft .bitcraft-register-section .bit-box.active .bit-idx{color:rgba(17,17,27,.7)}.masonry .item.bitcraft .bitcraft-register-section .bit-box.active .bit-val{color:#11111b}.masonry .item.bitcraft .bitcraft-decoded-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:.5rem}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .625rem;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight)}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item.full-width{grid-column:1/-1}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item .decoded-label{font-size:.6875rem;color:var(--fg-muted-1)}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item .decoded-val{font-size:var(--font-size-small);font-weight:var(--font-weight-semi-bold);font-family:var(--font-monospace),var(--font-ui-monospace);color:var(--fg-color)}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item .decoded-val.highlight{color:var(--accent-color)}.masonry .item.bitcraft .bitcraft-decoded-grid .decoded-item .decoded-val.green{color:#a6e3a1}.masonry .item.bitcraft .bitcraft-toolbar{display:flex;flex-direction:column;gap:.5rem;width:100%}.masonry .item.bitcraft .bitcraft-toolbar .ops-buttons{display:grid;grid-template-columns:repeat(4, 1fr);gap:.375rem;width:100%}.masonry .item.bitcraft .bitcraft-toolbar .op-btn{width:100%;text-align:center;background-color:var(--bg-muted-2);color:var(--fg-color);border:none;border-radius:var(--rounded-corner-small);padding:.5rem .25rem;font-size:.75rem;font-weight:var(--font-weight-semi-bold);font-family:var(--font-monospace),var(--font-ui-monospace);cursor:pointer;box-shadow:var(--edge-highlight);transition:all var(--transition)}.masonry .item.bitcraft .bitcraft-toolbar .op-btn:hover{background-color:var(--accent-color);color:#11111b}.masonry .item.bitcraft .bitcraft-toolbar .op-btn:active{transform:scale(.95)}.masonry .item.bitcraft .bitcraft-toolbar .presets-wrap{width:100%}.masonry .item.bitcraft .bitcraft-toolbar .presets-select{width:100%;background-color:var(--bg-muted-2);color:var(--fg-muted-1);border:none;border-radius:var(--rounded-corner-small);padding:.5rem .625rem;font-size:.75rem;font-weight:var(--font-weight-medium);font-family:var(--font-ui),var(--font-sans);box-shadow:var(--edge-highlight);cursor:pointer;outline:none}.masonry .item.bitcraft .bitcraft-toolbar .presets-select:hover{color:var(--fg-color)}.masonry .item.bitcraft .bitcraft-toolbar .presets-select option{background-color:#1e1e2e;color:#cdd6f4}.masonry .item.game-of-life{display:flex;flex-direction:column;position:relative}.masonry .item.game-of-life>strong,.masonry .item.game-of-life>p:first-child{display:block;color:var(--fg-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);margin-block-start:0;margin-block-end:1rem}.masonry .item.game-of-life>strong strong,.masonry .item.game-of-life>p:first-child strong{color:var(--fg-color)}.masonry .item.game-of-life .life-reset-btn{user-select:none;display:inline-flex;align-items:center;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;border:0;outline:0;background:rgba(0,0,0,0);box-shadow:none;border-radius:var(--rounded-corner-small);padding:.75rem .5rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);font-family:inherit;line-height:1rem;cursor:pointer;transition:all var(--transition),transform var(--transition-bezier)}.masonry .item.game-of-life .life-reset-btn:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}.masonry .item.game-of-life .life-reset-btn:active{transform:scale(.96)}.masonry .item.game-of-life .life-reset-btn:focus,.masonry .item.game-of-life .life-reset-btn:focus-visible{outline:none;box-shadow:none}.masonry .item.game-of-life .life-content{display:flex;flex-direction:column;margin-inline:-.5rem;margin-block-end:-.5rem}.masonry .item.game-of-life .life-canvas-wrap{position:relative;width:100%;height:345px;border-radius:var(--rounded-corner-small);overflow:hidden;box-shadow:var(--edge-highlight);background-color:var(--bg-muted-2)}.masonry .item.game-of-life .life-canvas-wrap canvas{display:block;width:100%;height:100%;cursor:crosshair;background:rgba(0,0,0,0)}.masonry .item.game-of-life .life-canvas-wrap .life-controls-overlay{position:absolute;bottom:.5rem;right:.5rem;display:flex;gap:.375rem;opacity:0;transition:opacity var(--transition);pointer-events:none}.masonry .item.game-of-life .life-canvas-wrap .life-controls-overlay .life-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.25rem;background-color:rgba(17,17,27,.85);color:var(--fg-muted-1);border:1px solid rgba(255,255,255,.1);border-radius:var(--rounded-corner-small);padding:.25rem .5rem;font-size:.75rem;line-height:1;font-weight:var(--font-weight-semi-bold);cursor:pointer;backdrop-filter:blur(4px);transition:all var(--transition)}.masonry .item.game-of-life .life-canvas-wrap .life-controls-overlay .life-btn .btn-emoji{font-size:.875rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",emoji,sans-serif;flex-shrink:0}.masonry .item.game-of-life .life-canvas-wrap .life-controls-overlay .life-btn:hover{background-color:var(--accent-color);color:#11111b;border-color:var(--accent-color)}.masonry .item.game-of-life .life-canvas-wrap:hover .life-controls-overlay{opacity:1}.masonry .item.tools-grid{display:flex;flex-direction:column}.masonry .item.tools-grid .tools-title{display:inline-flex;align-items:center;gap:.375rem;color:var(--accent-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold);margin-block-end:.625rem}.masonry .item.tools-grid .tools-title .icon{font-size:1.125rem}.masonry .item.tools-grid .tools-chips{display:flex;flex-wrap:wrap;gap:.375rem}.masonry .item.tools-grid .tool-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight);font-size:var(--font-size-x-small);font-weight:var(--font-weight-semi-bold);color:var(--fg-color)}.masonry .item.tools-grid .tool-chip .icon{color:var(--accent-color);font-size:.875rem}.masonry .item.server-status{display:flex;flex-direction:column}.masonry .item.server-status .server-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.masonry .item.server-status .server-title{display:inline-flex;align-items:center;gap:.375rem;color:var(--accent-color);font-size:var(--font-size-medium);font-weight:var(--font-weight-semi-bold)}.masonry .item.server-status .server-title .icon{font-size:1.125rem}.masonry .item.server-status .server-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;border-radius:9999px;font-size:var(--font-size-xx-small);font-weight:var(--font-weight-bold);box-shadow:var(--edge-highlight);background-color:var(--bg-muted-2)}.masonry .item.server-status .server-badge.online{color:#10b981}.masonry .item.server-status .status-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:#10b981;box-shadow:0 0 .5rem #10b981;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%, 100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.masonry .item.server-status .server-host{font-size:var(--font-size-xx-small);color:var(--fg-muted-2);font-family:var(--font-monospace),var(--font-ui-monospace);margin-block-start:.125rem;margin-block-end:.75rem}.masonry .item.server-status .server-metrics{display:flex;flex-direction:column;gap:.625rem;margin-inline:-.5rem;margin-block-end:-.5rem}.masonry .item.server-status .metric-row{display:flex;flex-direction:column;gap:.25rem}.masonry .item.server-status .metric-label{display:flex;justify-content:space-between;font-size:var(--font-size-x-small);color:var(--fg-muted-1);padding-inline:.5rem}.masonry .item.server-status .metric-label strong{color:var(--fg-color);font-family:var(--font-monospace),var(--font-ui-monospace);font-variant-numeric:tabular-nums}.masonry .item.server-status .progress-bar{height:.875rem;border-radius:.5rem;background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight);overflow:hidden}.masonry .item.server-status .progress-bar .progress-fill{height:100%;border-radius:.375rem;transition:width 1s ease-in-out}.masonry .item.server-status .progress-bar .progress-fill.cpu{background-color:var(--accent-color)}.masonry .item.server-status .progress-bar .progress-fill.ram{background-color:#10b981}.masonry .item.server-status .metric-stats{display:flex;gap:.5rem;margin-block-start:.25rem}.masonry .item.server-status .metric-stats .stat-box{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.625rem .75rem;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-2);box-shadow:var(--edge-highlight)}.masonry .item.server-status .metric-stats .stat-label{font-size:var(--font-size-xx-small);color:var(--fg-muted-2);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-semi-bold)}.masonry .item.server-status .metric-stats .stat-val{font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--fg-color);font-family:var(--font-monospace),var(--font-ui-monospace);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:.375rem}.masonry .item.server-status .metric-stats .stat-val.green{color:#10b981}.masonry .item.server-status .metric-stats .stat-val .icon{font-size:1rem}@media (prefers-color-scheme: light){.bento{--card-surface: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.965) );--card-edge: inset 0 0 0 0.0625rem hsla(var(--accent-h), 30%, 45%, 0.07);--card-shadow: 0 0.0625rem 0.125rem hsla(var(--accent-h), 30%, 25%, 0.04), 0 0.625rem 1.5rem -0.5rem hsla(var(--accent-h), 35%, 30%, 0.13)}.hero{background-color:var(--card-surface);box-shadow:var(--card-edge),var(--card-shadow)}.latest-post{background-color:hsl(var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.3), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9));box-shadow:var(--card-edge),var(--card-shadow)}.latest-post::before{opacity:.1}.latest-post::after{opacity:.14}.clock-card{background-image:linear-gradient(160deg, rgba(251,247,239,.22), rgba(241,230,218,.1)),linear-gradient(135deg, var(--sky-top), var(--sky-bottom));box-shadow:var(--card-edge),var(--card-shadow)}.clock-card>.cell-label,.clock-card .weather-side .weather-icon-wrap .icon{color:rgba(255,255,255,.92);background-color:rgba(255,255,255,.18)}.clock-card>.cell-label,.clock-card .clock-display,.clock-card .clock-greeting,.clock-card .weather-side .weather-temp,.clock-card .weather-side .weather-condition,.clock-card .clock-meta{text-shadow:0 .0625rem .1875rem rgba(0,0,0,.28)}}@media (max-width: 768px){.bento{grid-template-columns:repeat(2, 1fr);grid-template-areas:"hero     hero" "latest   latest" "github   clock"}}@media (max-width: 600px){.bento{grid-template-columns:1fr;grid-template-areas:"hero" "latest" "github" "clock"}.hero{padding:1.25rem}.hero .hero-body .buttons{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;width:100%}.hero .hero-body .buttons a{flex:1 1 0%;min-width:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}}@media (max-width: 480px){.hero{gap:.75rem;padding:1rem}.hero .hero-avatar{width:4.25rem;height:4.25rem}.hero .hero-body .hero-title{font-size:var(--font-size-x-large)}.hero .hero-body .hero-tagline{font-size:var(--font-size-x-small)}.hero .hero-body .buttons{gap:.375rem;margin-block-start:.5rem}.hero .hero-body .buttons a{padding:.375rem .4rem;font-size:var(--font-size-x-small)}}