:root{--color-bg-primary:#151515;--color-bg-secondary:#1d1f21;--color-bg-tertiary:#303030;--color-bg-card:#1d1f21;--color-bg-nav:rgba(48, 48, 48, 0.95);--color-text-primary:#ffffff;--color-text-secondary:#e8e6e3;--color-text-muted:#7f8c8d;--color-accent:#1abc9c;--color-accent-hover:#16a085;--color-accent-light:#4fe7c9;--color-border:#303030;--color-border-hover:#1abc9c;--color-positive:#2ecc71;--color-negative:#e74c3c;--font-family-base:'Source Code Pro','Consolas','Monaco',monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--line-height-relaxed:1.75;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:999px;--grid-columns:12;--grid-unit:101.5px;--grid-gap:1rem;--container-max-width:1400px;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal:400;--z-tooltip:500}[data-theme=light]{--color-bg-primary:#f5f5f5;--color-bg-secondary:#ffffff;--color-bg-tertiary:#e8e8e8;--color-bg-card:#ffffff;--color-bg-nav:rgba(255, 255, 255, 0.95);--color-text-primary:#1a1a1a;--color-text-secondary:#333333;--color-text-muted:#666666;--color-border:#d0d0d0}@media (max-width:1200px){:root{--grid-columns:8;--grid-unit:100px}}@media (max-width:768px){:root{--grid-columns:4;--grid-unit:90px;--grid-gap:0.75rem}.bento-container{padding:var(--spacing-3)}}@media (max-width:480px){:root{--grid-columns:2;--grid-unit:80px;--grid-gap:0.625rem}.bento-container{padding:var(--spacing-2)}}@media (max-width:360px){:root{--grid-gap:0.5rem}.bento-container{padding:var(--spacing-1)}.bento-card{padding:var(--spacing-2)!important}}@media (max-width:1200px){.bento-grid>.bento-card{grid-column-start:auto!important;grid-row-start:auto!important}.bento-card[data-width="1"],.bento-card[data-width="2"]{grid-column:span 2!important}.bento-card[data-width="3"],.bento-card[data-width="4"]{grid-column:span 4!important}.bento-card[data-width="5"],.bento-card[data-width="6"]{grid-column:span 4!important}.bento-card[data-width="10"],.bento-card[data-width="11"],.bento-card[data-width="12"],.bento-card[data-width="7"],.bento-card[data-width="8"],.bento-card[data-width="9"]{grid-column:span 8!important}}@media (max-width:768px){.bento-card[data-width="1"],.bento-card[data-width="2"],.bento-card[data-width="3"]{grid-column:span 2!important}.bento-card[data-width="4"]{grid-column:span 2!important}.bento-card[data-width="5"],.bento-card[data-width="6"]{grid-column:span 4!important}.bento-card[data-width="10"],.bento-card[data-width="11"],.bento-card[data-width="12"],.bento-card[data-width="7"],.bento-card[data-width="8"],.bento-card[data-width="9"]{grid-column:span 4!important}.bento-card[data-height="1"]{grid-row:span 1!important}.bento-card[data-height="2"]{grid-row:span 2!important}.bento-card[data-height="3"],.bento-card[data-height="4"],.bento-card[data-height="5"],.bento-card[data-height="6"]{grid-row:span 2!important}}@media (max-width:480px){.bento-card[data-width="1"],.bento-card[data-width="2"]{grid-column:span 1!important}.bento-card[data-width="10"],.bento-card[data-width="11"],.bento-card[data-width="12"],.bento-card[data-width="3"],.bento-card[data-width="4"],.bento-card[data-width="5"],.bento-card[data-width="6"],.bento-card[data-width="7"],.bento-card[data-width="8"],.bento-card[data-width="9"]{grid-column:span 2!important}.bento-grid{grid-auto-rows:auto!important}.bento-card{grid-row:span 1!important;min-height:120px;height:auto!important}.bento-card--profile{min-height:280px}.bento-card--bio{min-height:200px}.bento-card--github{min-height:160px}.bento-card--song{min-height:140px}.bento-card--featuredPost,.bento-card--latestPost{min-height:180px}.bento-card--chart{min-height:200px}.bento-card--stat{min-height:100px}.bento-card--image{min-height:150px}.bento-card--code{min-height:150px}.bento-card--list{min-height:150px}.bento-card--text{min-height:100px}.bento-card--empty{min-height:80px}}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-4)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-4);color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}ol,ul{padding-left:var(--spacing-6);margin-bottom:var(--spacing-4)}li{margin-bottom:var(--spacing-2);color:var(--color-text-secondary)}code,pre{font-family:var(--font-family-base);background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm)}code{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}pre{padding:var(--spacing-4);overflow-x:auto;margin-bottom:var(--spacing-4)}pre code{padding:0;background:0 0}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.bento-nav{max-width:var(--container-max-width);margin:var(--spacing-4) auto;padding:var(--spacing-1) var(--spacing-6);background:var(--color-bg-nav);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:space-between}.bento-nav__logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-2)}.bento-nav__logo:hover{color:var(--color-accent)}.bento-nav__logo-text{display:inline-block}.bento-nav__logo svg,.bento-nav__logo-img{height:24px;width:auto;display:block}.bento-nav__logo svg{fill:currentColor}.bento-nav__links{display:flex;align-items:center;gap:var(--spacing-6);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin-left:auto}.bento-nav__links::-webkit-scrollbar{display:none}.bento-nav__link{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;transition:color var(--transition-base)}.bento-nav__link--active,.bento-nav__link:hover{color:var(--color-accent)}.bento-nav__actions{display:flex;align-items:center;gap:var(--spacing-6);margin-left:var(--spacing-6)}.bento-nav__theme-toggle{background:0 0;border:none;cursor:pointer;padding:var(--spacing-2);margin-right:calc(var(--spacing-6) * -1 + var(--spacing-2));color:var(--color-text-primary);font-size:var(--font-size-lg);transition:color var(--transition-base);display:flex;align-items:center;justify-content:center}.bento-nav__theme-toggle:hover{color:var(--color-accent)}.bento-nav__theme-toggle svg{width:1.25rem;height:1.25rem;fill:currentColor}@media (max-width:768px){.bento-nav{margin:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.bento-nav__links{gap:var(--spacing-4)}.bento-nav__theme-toggle{margin-right:calc(var(--spacing-4) * -1 + var(--spacing-2))}}@media (max-width:480px){.bento-nav{margin:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg)}.bento-nav__logo{font-size:var(--font-size-base)}.bento-nav__links{gap:var(--spacing-3)}.bento-nav__link{font-size:var(--font-size-xs)}.bento-nav__theme-toggle{padding:var(--spacing-1)}.bento-nav__theme-toggle svg{width:1rem;height:1rem}}.bento-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-4)}.bento-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);grid-auto-rows:var(--grid-unit);gap:var(--grid-gap)}.bento-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);overflow:hidden;transition:border-color var(--transition-base);display:flex;flex-direction:column}.bento-card:hover{border-color:var(--color-border-hover)}.bento-card__content{flex:1;display:flex;flex-direction:column;overflow:hidden}.bento-card--text .bento-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.bento-card--text .bento-card__description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);flex:1}.bento-card--text .bento-card__footer{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:auto;padding-top:var(--spacing-4);border-top:1px solid var(--color-border)}.bento-text-bold{font-weight:var(--font-weight-bold)}.bento-text-italic{font-style:italic}.bento-text-underline{text-decoration:underline;text-underline-offset:2px}.bento-text-strike{text-decoration:line-through}.bento-text-jump{display:inline}.bento-text-jump-char{display:inline-block;animation:bento-jump .6s ease-in-out infinite;animation-delay:var(--jump-delay,0s);white-space:pre}@keyframes bento-jump{0%,100%{transform:translateY(0)}50%{transform:translateY(-.3em)}}.bento-text-rainbow{display:inline}.bento-text-rainbow-word{display:inline-block;white-space:nowrap}.bento-text-rainbow-char{display:inline-block;animation:bento-rainbow 2s linear infinite;animation-delay:var(--rainbow-delay,0s)}@keyframes bento-rainbow{0%{color:red}16.67%{color:#ff8000}33.33%{color:#ff0}50%{color:#0f0}66.67%{color:#0080ff}83.33%{color:#8000ff}100%{color:red}}.bento-text-highlight{background-color:var(--bento-highlight-color,var(--color-accent));color:var(--color-bg-primary);padding:.1em .3em;border-radius:var(--radius-sm);transition:all var(--transition-base)}.bento-text-code{background-color:var(--color-bg-tertiary);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.9em}.bento-text-colored{transition:color var(--transition-base)}.bento-text-styled{transition:all var(--transition-base)}.bento-card--inline-styled-hover .bento-text-bold{font-weight:inherit}.bento-card--inline-styled-hover .bento-text-italic{font-style:inherit}.bento-card--inline-styled-hover .bento-text-underline{text-decoration:none}.bento-card--inline-styled-hover .bento-text-strike{text-decoration:none}.bento-card--inline-styled-hover .bento-text-highlight{background-color:transparent!important;color:inherit;padding:0}.bento-card--inline-styled-hover .bento-text-code{background-color:transparent;padding:0}.bento-card--inline-styled-hover .bento-text-colored{color:inherit!important}.bento-card--inline-styled-hover .bento-text-styled{color:inherit!important;background-color:transparent!important;font-weight:inherit!important;font-style:inherit!important;text-decoration:inherit!important;font-size:inherit!important;letter-spacing:inherit!important}.bento-card--inline-styled-hover .bento-text-jump-char{animation:none;transform:none}.bento-card--inline-styled-hover .bento-text-rainbow-char{animation:none;color:inherit}.bento-card:hover .bento-card--inline-styled-hover .bento-text-bold{font-weight:var(--font-weight-bold)}.bento-card:hover .bento-card--inline-styled-hover .bento-text-italic{font-style:italic}.bento-card:hover .bento-card--inline-styled-hover .bento-text-underline{text-decoration:underline;text-underline-offset:2px}.bento-card:hover .bento-card--inline-styled-hover .bento-text-strike{text-decoration:line-through}.bento-card:hover .bento-card--inline-styled-hover .bento-text-highlight{background-color:var(--bento-highlight-color,var(--color-accent))!important;color:var(--color-bg-primary);padding:.1em .3em}.bento-card:hover .bento-card--inline-styled-hover .bento-text-code{background-color:var(--color-bg-tertiary);padding:.15em .4em}.bento-card:hover .bento-card--inline-styled-hover .bento-text-colored{color:var(--bento-text-color)!important}.bento-card:hover .bento-card--inline-styled-hover .bento-text-styled{color:var(--bento-style-color,inherit)!important;background-color:var(--bento-style-backgroundcolor,transparent)!important;font-weight:var(--bento-style-fontweight,inherit)!important;font-size:var(--bento-style-fontsize,inherit)!important;font-style:var(--bento-style-fontstyle,inherit)!important;text-decoration:var(--bento-style-textdecoration,inherit)!important;letter-spacing:var(--bento-style-letterspacing,inherit)!important}.bento-card:hover .bento-card--inline-styled-hover .bento-text-jump-char{animation:bento-jump .6s ease-in-out infinite;animation-delay:var(--jump-delay,0s)}.bento-card:hover .bento-card--inline-styled-hover .bento-text-rainbow-char{animation:bento-rainbow 2s linear infinite;animation-delay:var(--rainbow-delay,0s)}.bento-card--inline-styled-hover .bento-card__description,.bento-card--inline-styled-hover .bento-card__footer,.bento-card--inline-styled-hover .bento-card__title{transition:all var(--transition-base)}.bento-card--inline-styled-hover .bento-text-bold,.bento-card--inline-styled-hover .bento-text-code,.bento-card--inline-styled-hover .bento-text-colored,.bento-card--inline-styled-hover .bento-text-highlight,.bento-card--inline-styled-hover .bento-text-italic,.bento-card--inline-styled-hover .bento-text-strike,.bento-card--inline-styled-hover .bento-text-styled,.bento-card--inline-styled-hover .bento-text-underline{transition:all var(--transition-base)}.bento-card--image{padding:0}.bento-card--image .bento-card__image-wrapper{flex:1;overflow:hidden;position:relative}.bento-card--image .bento-card__image{width:100%;height:100%;object-fit:cover}.bento-card--image .bento-card__caption{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-3) var(--spacing-4);background:linear-gradient(transparent,rgba(0,0,0,.8));color:var(--color-text-primary);font-size:var(--font-size-sm)}.bento-card--stat{justify-content:center;align-items:center;text-align:center}.bento-card--stat .bento-card__content{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.bento-card--stat .bento-card__value{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-accent);line-height:1}.bento-card--stat .bento-card__label{font-size:var(--font-size-base);color:var(--color-text-muted);margin-top:var(--spacing-2)}.bento-card--stat .bento-card__trend{display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);font-size:var(--font-size-sm);margin-top:var(--spacing-3)}.bento-card--stat .bento-card__trend--positive{color:var(--color-positive)}.bento-card--stat .bento-card__trend--negative{color:var(--color-negative)}.bento-card--stat .bento-card__trend-icon{width:1rem;height:1rem}.bento-card--chart .bento-card__chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.bento-card--chart .bento-card__chart-container{flex:1;display:flex;align-items:flex-end;gap:var(--spacing-2);padding-bottom:var(--spacing-4)}.bento-card--chart .bento-card__bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bento-card--chart .bento-card__bar{width:100%;max-width:40px;background-color:var(--color-accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:background-color var(--transition-base);margin-top:auto}.bento-card--chart .bento-card__bar:hover{background-color:var(--color-accent-light)}.bento-card--chart .bento-card__bar-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-2);text-align:center}.bento-card--empty{justify-content:center;align-items:center;border-style:dashed}.bento-card--empty .bento-card__message{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.bento-card--bio{text-align:center}.bento-card--bio .bento-card__avatar{width:80px;height:80px;border-radius:var(--radius-full);object-fit:cover;margin:0 auto var(--spacing-4);border:3px solid var(--color-accent)}.bento-card--bio .bento-card__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.bento-card--bio .bento-card__role{font-size:var(--font-size-sm);color:var(--color-accent);margin-bottom:var(--spacing-3)}.bento-card--bio .bento-card__bio-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);flex:1}.bento-card--bio .bento-card__social-links{display:flex;justify-content:center;gap:var(--spacing-4);margin-top:var(--spacing-4)}.bento-card--bio .bento-card__social-link{color:var(--color-text-muted);transition:color var(--transition-base)}.bento-card--bio .bento-card__social-link:hover{color:var(--color-accent)}.bento-card--bio .bento-card__social-link svg{width:1.25rem;height:1.25rem;fill:currentColor}.bento-card--media{padding:0}.bento-card--media .bento-card__media-wrapper{flex:1;display:flex;flex-direction:column}.bento-card--media audio,.bento-card--media video{width:100%;flex:1;object-fit:cover;background-color:var(--color-bg-tertiary)}.bento-card--media audio{flex:none;height:54px;margin-top:auto}.bento-card--media .bento-card__media-caption{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-bg-card)}.bento-card--list .bento-card__list-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.bento-card--list .bento-card__list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.bento-card--list .bento-card__list-item{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.bento-card--list .bento-card__list-item:last-child{border-bottom:none}.bento-card--list .bento-card__list-bullet{width:6px;height:6px;background-color:var(--color-accent);border-radius:var(--radius-full);flex-shrink:0;margin-top:.5em}.bento-card--code .bento-card__code-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.bento-card--code .bento-card__code-block{flex:1;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-4);overflow:auto;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.bento-card--code .bento-card__code{color:var(--color-text-secondary);white-space:pre;display:block}.bento-card--code .syntax-keyword{color:#c678dd}.bento-card--code .syntax-string{color:#98c379}.bento-card--code .syntax-number{color:#d19a66}.bento-card--code .syntax-comment{color:#5c6370;font-style:italic}.bento-card--code .syntax-function{color:#61afef}.bento-card--code .syntax-variable{color:#e06c75}.bento-card--github{padding:var(--spacing-3)}.bento-card--github .bento-card__github-content{display:flex;flex-direction:column;height:100%;gap:var(--spacing-2)}.bento-card--github .bento-card__github-header{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.bento-card--github .bento-card__github-icon{display:flex;align-items:center;justify-content:center}.bento-card--github .bento-card__github-icon svg{width:1.25rem;height:1.25rem;fill:var(--color-text-primary)}.bento-card--github .bento-card__github-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.bento-card--github .bento-card__github-username{font-size:var(--font-size-sm);color:var(--color-accent);margin-left:auto}.bento-card--github .bento-card__github-username:hover{color:var(--color-accent-light)}.bento-card--github .bento-card__github-graph{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.bento-card--github .bento-card__github-graph svg{width:100%;height:100%;max-height:100%}.bento-card--profile{padding:var(--spacing-4)}.bento-card--profile .bento-card__profile-content{display:flex;flex-direction:column;height:100%;gap:var(--spacing-3)}.bento-card--profile .bento-card__profile-header{display:flex;align-items:center;gap:var(--spacing-4)}.bento-card--profile .bento-card__profile-avatar{width:72px;height:72px;border-radius:var(--radius-lg);object-fit:cover;border:2px solid var(--color-accent);flex-shrink:0}.bento-card--profile .bento-card__profile-info{flex:1;min-width:0}.bento-card--profile .bento-card__profile-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-1) 0;line-height:1.2}.bento-card--profile .bento-card__profile-alias{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-accent);opacity:.8}.bento-card--profile .bento-card__profile-role{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.bento-card--profile .bento-card__profile-location{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.bento-card--profile .bento-card__profile-location svg{width:.875rem;height:.875rem;fill:currentColor}.bento-card--profile .bento-card__profile-bio{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0;flex-shrink:0;white-space:pre-wrap;word-break:break-word}.bento-card--profile .bento-card__profile-interests{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.bento-card--profile .bento-card__profile-interest{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-bg-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.bento-card--profile .bento-card__profile-interest svg{width:.875rem;height:.875rem;fill:var(--color-accent)}.bento-card--profile .bento-card__profile-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:auto}.bento-card--profile .bento-card__profile-skill{font-size:var(--font-size-xs);color:var(--color-accent);background-color:transparent;border:1px solid var(--color-accent);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);white-space:nowrap}.bento-card--profile .bento-card__profile-social{display:flex;gap:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-border);margin-top:auto}.bento-card--profile .bento-card__profile-social-link{color:var(--color-text-muted);transition:color var(--transition-base),transform var(--transition-fast)}.bento-card--profile .bento-card__profile-social-link:hover{color:var(--color-accent);transform:translateY(-2px)}.bento-card--profile .bento-card__profile-social-link svg{width:1.25rem;height:1.25rem;fill:currentColor}.bento-back-to-top{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);width:3rem;height:3rem;background-color:var(--color-accent);color:var(--color-text-primary);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base),background-color var(--transition-base);z-index:var(--z-fixed)}.bento-back-to-top--visible{opacity:1;visibility:visible}.bento-back-to-top:hover{background-color:var(--color-accent-hover)}.bento-back-to-top svg{width:1.5rem;height:1.5rem;fill:currentColor}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bento-card--song{padding:var(--spacing-3)}.bento-card--song .bento-card__song-content{display:flex;flex-direction:column;height:100%}.bento-card--song .bento-card__song-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.bento-card--song .bento-card__song-icon{display:flex;align-items:center;justify-content:center}.bento-card--song .bento-card__song-icon svg{width:1rem;height:1rem;fill:var(--color-text-secondary)}.bento-card--song .bento-card__song-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.bento-card--song .bento-card__song-username{font-size:var(--font-size-xs);color:var(--color-accent);margin-left:auto}.bento-card--song .bento-card__song-username:hover{color:var(--color-accent-light)}.bento-card--song .bento-card__song-info{flex:1;display:flex;align-items:center}.bento-card--song .bento-card__song-error,.bento-card--song .bento-card__song-loading{font-size:var(--font-size-sm);color:var(--color-text-secondary);width:100%;text-align:center}.bento-card--song .bento-card__song-track{display:flex;align-items:center;gap:var(--spacing-4);width:100%;height:100%}.bento-card--song .bento-card__song-art{height:60%;aspect-ratio:1;max-height:120px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background-color:var(--color-bg-tertiary)}.bento-card--song .bento-card__song-art--placeholder{display:flex;align-items:center;justify-content:center}.bento-card--song .bento-card__song-art--placeholder svg{width:32px;height:32px;fill:var(--color-text-tertiary)}.bento-card--song .bento-card__song-details{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-1)}.bento-card--song .bento-card__song-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bento-card--song .bento-card__song-name:hover{color:var(--color-accent)}.bento-card--song .bento-card__song-artist{font-size:var(--font-size-base);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bento-card--song .bento-card__song-album{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bento-card--song .bento-card__song-playing{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.bento-card--song .bento-card__song-bars{display:flex;align-items:flex-end;gap:2px;height:16px}.bento-card--song .bento-card__song-bars span{width:3px;background-color:var(--color-accent);border-radius:1px;animation:songBars .8s ease-in-out infinite}.bento-card--song .bento-card__song-bars span:nth-child(1){animation-delay:0s}.bento-card--song .bento-card__song-bars span:nth-child(2){animation-delay:.2s}.bento-card--song .bento-card__song-bars span:nth-child(3){animation-delay:.4s}@keyframes songBars{0%,100%{height:4px}50%{height:16px}}.bento-card--wakatime .bento-card__wakatime-content{display:flex;flex-direction:column;height:100%}.bento-card--wakatime .bento-card__wakatime-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3);flex-shrink:0}.bento-card--wakatime .bento-card__wakatime-header-left{display:flex;align-items:center;gap:var(--spacing-2)}.bento-card--wakatime .bento-card__wakatime-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.bento-card--wakatime .bento-card__wakatime-icon svg{width:1rem;height:1rem;fill:var(--color-text-secondary)}.bento-card--wakatime .bento-card__wakatime-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.bento-card--wakatime .bento-card__wakatime-info{flex:1;min-height:0;overflow:hidden}.bento-card--wakatime .bento-card__wakatime-error,.bento-card--wakatime .bento-card__wakatime-loading{font-size:var(--font-size-sm);color:var(--color-text-muted);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.bento-card--wakatime .bento-card__wakatime-languages{display:flex;flex-direction:column;gap:var(--spacing-2)}.bento-card--wakatime .bento-card__wakatime-language{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-1) 0}.bento-card--wakatime .bento-card__wakatime-lang-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.bento-card--wakatime .bento-card__wakatime-lang-icon svg{width:20px;height:20px;display:block}.bento-card--wakatime .bento-card__wakatime-bar-container{flex:1;background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);height:8px;overflow:hidden;position:relative;min-width:0}.bento-card--wakatime .bento-card__wakatime-bar-container::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.2) 50%,transparent 100%);animation:wakatimeShimmer 2s ease-in-out infinite;pointer-events:none}.bento-card--wakatime .bento-card__wakatime-bar{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-slow);position:relative;min-width:2px}.bento-card--wakatime .bento-card__wakatime-lang-time{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0;min-width:60px;text-align:right}@keyframes wakatimeShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.bento-card__latestpost-content{display:flex;height:100%}.bento-card__latestpost-info{display:flex;width:100%;height:100%}.bento-card__latestpost-error,.bento-card__latestpost-loading{font-size:var(--font-size-sm);color:var(--color-text-muted);width:100%;display:flex;align-items:center;justify-content:center}.bento-card__latestpost-accent{width:4px;background:linear-gradient(180deg,var(--color-accent) 0,var(--color-accent-hover) 100%);border-radius:var(--radius-full);flex-shrink:0}.bento-card__latestpost-main{flex:1;display:flex;flex-direction:column;padding-left:var(--spacing-4);min-width:0}.bento-card__latestpost-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-1);flex-shrink:0}.bento-card__latestpost-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.bento-card__latestpost-topmeta{display:flex;align-items:center;gap:var(--spacing-2)}.bento-card__latestpost-date,.bento-card__latestpost-readtime{font-size:var(--font-size-xs);color:var(--color-text-muted)}.bento-card__latestpost-separator{font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:.5}.bento-card__latestpost-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-decoration:none;line-height:var(--line-height-tight);margin-bottom:var(--spacing-2);flex-shrink:0;transition:color var(--transition-base)}.bento-card__latestpost-name:hover{color:var(--color-accent)}.bento-card__latestpost-excerpt{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed);flex:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.bento-card__latestpost-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-3);flex-shrink:0}.bento-card__latestpost-tags{display:flex;gap:var(--spacing-3)}.bento-card__latestpost-tag{font-size:var(--font-size-xs);color:var(--color-text-muted)}.bento-card__latestpost-readmore{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}.bento-card__latestpost-readmore:hover{color:var(--color-accent-light)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.m-0{margin:0}.mt-4{margin-top:var(--spacing-4)}.mb-4{margin-bottom:var(--spacing-4)}.p-0{padding:0}.p-4{padding:var(--spacing-4)}@media (max-width:768px){.bento-card--profile .bento-card__profile-header{flex-direction:column;text-align:center}.bento-card--profile .bento-card__profile-avatar{margin:0 auto var(--spacing-3)}.bento-card--profile .bento-card__profile-info{text-align:center}.bento-card--profile .bento-card__profile-location{justify-content:center}.bento-card--profile .bento-card__profile-interests,.bento-card--profile .bento-card__profile-skills{justify-content:center}.bento-card--profile .bento-card__profile-social{justify-content:center}.bento-card--song .bento-card__song-art{height:50%;max-height:80px}.bento-card--song .bento-card__song-name{font-size:var(--font-size-base)}.bento-card--song .bento-card__song-artist{font-size:var(--font-size-sm)}.bento-card--github .bento-card__github-header{flex-wrap:wrap;gap:var(--spacing-2)}.bento-card--github .bento-card__github-username{width:100%;margin-left:0;text-align:center}.bento-card__latestpost-top{flex-wrap:wrap;gap:var(--spacing-1)}.bento-card__latestpost-topmeta{width:100%;justify-content:flex-start}.bento-card__latestpost-name{font-size:var(--font-size-base)}.bento-card--stat .bento-card__value{font-size:var(--font-size-3xl)}.bento-card--bio .bento-card__avatar{width:60px;height:60px}}@media (max-width:480px){.bento-card{padding:var(--spacing-3)}.bento-card__content{overflow:visible;height:auto}.bento-card--profile .bento-card__profile-avatar{width:56px;height:56px}.bento-card--profile .bento-card__profile-name{font-size:var(--font-size-lg)}.bento-card--profile .bento-card__profile-skill{font-size:.65rem;padding:var(--spacing-1)}.bento-card--profile .bento-card__profile-bio{-webkit-line-clamp:unset;line-clamp:unset;display:block;white-space:pre-wrap;word-break:break-word}.bento-card--song .bento-card__song-track{flex-direction:row;gap:var(--spacing-3)}.bento-card--song .bento-card__song-art{height:60px;width:60px;max-height:60px;flex-shrink:0}.bento-card--song .bento-card__song-details{text-align:left;min-width:0}.bento-card--song .bento-card__song-name{font-size:var(--font-size-sm)}.bento-card--song .bento-card__song-artist{font-size:var(--font-size-xs)}.bento-card--song .bento-card__song-album{display:none}.bento-card--featuredPost .bento-card__featuredpost-readtime,.bento-card--featuredPost .bento-card__featuredpost-separator,.bento-card--latestPost .bento-card__latestpost-readtime,.bento-card--latestPost .bento-card__latestpost-separator{display:none}.bento-card--featuredPost .bento-card__featuredpost-tags,.bento-card--latestPost .bento-card__latestpost-tags{display:none}.bento-card--featuredPost .bento-card__featuredpost-excerpt,.bento-card--latestPost .bento-card__latestpost-excerpt{-webkit-line-clamp:3!important;line-clamp:3!important}.bento-card--featuredPost .bento-card__featuredpost-name,.bento-card--latestPost .bento-card__latestpost-name{font-size:var(--font-size-base)}.bento-card--stat .bento-card__value{font-size:var(--font-size-2xl)}.bento-card--stat .bento-card__label{font-size:var(--font-size-sm)}.bento-card--bio .bento-card__avatar{width:50px;height:50px}.bento-card--bio .bento-card__name{font-size:var(--font-size-lg)}.bento-card--bio .bento-card__bio-description{font-size:var(--font-size-xs)}.bento-card--chart .bento-card__chart-container{min-height:100px}.bento-card--chart .bento-card__bar-label{font-size:.625rem}.bento-card--list .bento-card__list{max-height:none;overflow:visible}.bento-card--list .bento-card__list-item{padding:var(--spacing-1) 0;font-size:var(--font-size-xs)}.bento-card--code .bento-card__code-block{padding:var(--spacing-2);font-size:var(--font-size-xs);max-height:200px;overflow:auto}.bento-card--text .bento-card__description{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}.bento-card--github .bento-card__github-graph{min-height:80px}.bento-card--image .bento-card__image-wrapper{max-height:200px}.bento-card--image .bento-card__image{max-height:200px;object-fit:cover}}.bento-mobile-warning{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.bento-mobile-warning--visible{opacity:1;visibility:visible}.bento-mobile-warning__backdrop{position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer}.bento-mobile-warning__box{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);max-width:340px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.4);animation:mobileWarningSlideIn .3s ease-out}@keyframes mobileWarningSlideIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bento-mobile-warning__icon{width:48px;height:48px;margin:0 auto var(--spacing-4);color:var(--color-accent)}.bento-mobile-warning__icon svg{width:100%;height:100%;fill:currentColor}.bento-mobile-warning__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.bento-mobile-warning__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-4)}.bento-mobile-warning__message strong{color:var(--color-accent)}.bento-mobile-warning__dismiss{background-color:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-fast)}.bento-mobile-warning__dismiss:hover{background-color:var(--color-accent-hover)}.bento-mobile-warning__dismiss:active{transform:scale(.97)}.bento-mobile-warning__note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-3);font-style:italic}.bento-footer{max-width:var(--container-max-width);margin:var(--spacing-8) auto var(--spacing-4);padding:var(--spacing-4) var(--spacing-6);text-align:center;border-top:1px solid var(--color-border)}.bento-footer__tagline{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-2) 0}.bento-footer__copyright{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}@media (max-width:768px){.bento-footer{margin:var(--spacing-6) auto var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.bento-footer__tagline{font-size:var(--font-size-xs)}}