@charset "UTF-8";html.is-software-page{--software-sidebar-w:148px;--software-gap:18px;--software-border:var(--sakura-color-divider);--software-text:var(--sakura-color-text);--software-text-muted:var(--sakura-color-text-muted);--software-text-bright:var(--sakura-color-text-deep);--software-accent:var(--sakura-color-primary);--software-card-bg:var(--sakura-color-background);--software-surface:var(--sakura-post-card-bg);--software-radius:var(--sakura-radius, 12px)}html.is-software-page,html.is-software-page body{height:100dvh;min-height:100dvh;overflow:hidden;background:var(--sakura-color-background)!important}html.is-software-page #content.site-content{display:flex;flex-direction:column;height:100dvh;min-height:0;padding:var(--sakura-navbar-height,58px)0 0!important;box-sizing:border-box;overflow:hidden;background:var(--sakura-color-background)!important;color:var(--sakura-color-text-deep)}html.is-software-page .sakura-footer{display:none!important;min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important}html.is-software-page .sakura-music{display:none!important}html.is-software-page:has(.processing-gate-root.is-locked),html.is-software-page:has(.processing-gate-root.is-locked) body{height:auto;min-height:100dvh;overflow:auto}html.is-software-page:has(.processing-gate-root.is-locked) #content.site-content{display:block;height:auto;min-height:100dvh;overflow:visible;background:var(--sakura-color-background)!important}.sakura-software-page{display:flex;flex:auto;flex-direction:column;min-height:0;width:100%;overflow:hidden}.software-board{display:flex;flex:auto;flex-direction:column;min-height:0;width:100%}.software-board__empty{margin:auto;padding:48px 16px;text-align:center;color:var(--software-text-muted);font-size:.92rem;background:var(--software-surface);border:1px dashed var(--sakura-color-border);border-radius:var(--software-radius);max-width:420px}.software-shell{display:grid;grid-template-columns:var(--software-sidebar-w)minmax(0,1fr);flex:auto;min-height:0;width:min(960px,100%);margin:0 auto;padding:20px var(--sakura-content-padding-x,16px)max(20px,env(safe-area-inset-bottom,0px));gap:var(--software-gap);box-sizing:border-box;overflow:hidden}.software-sidebar{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.software-cats{display:flex;flex-direction:column;gap:6px;position:sticky;top:0}.software-cats__btn{appearance:none;border:none;border-radius:var(--software-radius);background:0 0;color:var(--software-text);font:inherit;font-size:.9rem;line-height:1.35;text-align:left;padding:9px 12px;cursor:pointer;user-select:none;transition:background .2s ease,color .2s ease}.software-cats__btn:hover{background:color-mix(in srgb,var(--software-accent) 10%,transparent);color:var(--software-text-bright)}.software-cats__btn.is-active{background:color-mix(in srgb,var(--software-accent) 14%,transparent);color:var(--software-accent);font-weight:600}.software-cats__btn:focus-visible{outline:2px solid var(--software-accent);outline-offset:2px}.software-main{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:2px}.software-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.software-item{min-width:0}.software-item[hidden]{display:none!important}.software-card{display:flex;align-items:center;gap:12px;min-height:76px;height:100%;padding:14px;border-radius:var(--software-radius);border:1px solid var(--software-border);background:var(--software-card-bg);color:inherit;text-decoration:none;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}a.software-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--software-accent) 40%,var(--software-border));box-shadow:0 4px 16px color-mix(in srgb,var(--software-accent) 10%,transparent);background:color-mix(in srgb,var(--software-accent) 4%,var(--software-card-bg))}a.software-card:focus-visible{outline:2px solid var(--software-accent);outline-offset:2px}.software-card--disabled{opacity:.55;cursor:not-allowed;background:var(--software-surface)}.software-card__icon{flex:none;width:52px;height:52px;border-radius:max(6px,calc(var(--sakura-radius,12px) - 4px));overflow:hidden;background:color-mix(in srgb,var(--software-accent) 8%,var(--software-surface));border:1px solid var(--sakura-color-border);display:grid;place-items:center;box-sizing:border-box}.software-card__icon-img{width:70%;height:70%;object-fit:contain;display:block}.software-card__icon-fallback{width:36%;height:36%;border-radius:50%;background:color-mix(in srgb,var(--software-text-muted) 40%,transparent)}.software-card__text{min-width:0;display:flex;flex-direction:column;gap:4px}.software-card__desc{font-size:.8rem;line-height:1.35;color:var(--software-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.software-card__name{font-size:.95rem;font-weight:600;line-height:1.35;color:var(--software-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){html.is-software-page{--software-sidebar-w:100%;--sakura-navbar-height:68px;--sakura-navbar-height-expanded:68px;--sakura-navbar-layout-offset:68px}html.is-software-page #content.site-content{padding-top:68px!important}html.is-software-page .sakura-navbar .navbar-content{height:68px!important;min-height:68px!important;padding-top:6px;padding-bottom:6px;box-sizing:border-box}html.is-software-page .sakura-navbar[data-mobile-collapse="1"] .navbar-content{height:68px!important;min-height:68px!important}.software-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:12px var(--sakura-content-padding-x,16px)max(16px,env(safe-area-inset-bottom,0px));gap:12px}.software-sidebar{overflow:visible;padding-right:0}.software-cats{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:2px;position:static}.software-cats::-webkit-scrollbar{display:none}.software-cats__btn{flex:none;white-space:nowrap;text-align:center;padding:8px 14px;border-radius:999px}.software-cats__btn.is-active{background:color-mix(in srgb,var(--software-accent) 14%,transparent)}.software-list{grid-template-columns:1fr;gap:10px}}