@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-editor: "Fira Code", "Consolas", "Courier New", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--editor-font-size: 16px}body{--bg-editor: hsl(calc(var(--accent-hue, 191deg) + 23deg), 23%, 11%);--bg-sidebar: hsl(calc(var(--accent-hue, 191deg) + 23deg), 23%, 14%);--bg-activity: hsl(calc(var(--accent-hue, 191deg) + 23deg), 23%, 6%);--bg-activity-hover: hsl(calc(var(--accent-hue, 191deg) + 23deg), 17%, 18%);--bg-activity-active: hsl( calc(var(--accent-hue, 191deg) + 23deg), 14%, 11% );--bg-tab-active: hsl(calc(var(--accent-hue, 191deg) + 23deg), 14%, 11%);--bg-tab-inactive: hsl(calc(var(--accent-hue, 191deg) + 23deg), 15%, 8%);--bg-tab-hover: hsl(calc(var(--accent-hue, 191deg) + 23deg), 15%, 14%);--bg-statusbar: hsl(var(--accent-hue, 191deg), 86%, 40%);--bg-statusbar-hover: hsl(var(--accent-hue, 191deg), 86%, 26%);--bg-settings: hsl(calc(var(--accent-hue, 191deg) + 23deg), 15%, 9%);--bg-settings-hover: hsl(calc(var(--accent-hue, 191deg) + 23deg), 17%, 18%);--border-color: hsl(calc(var(--accent-hue, 191deg) + 23deg), 23%, 14%);--text-main: hsl(calc(var(--accent-hue, 191deg) + 23deg), 30%, 85%);--text-muted: hsl(calc(var(--accent-hue, 191deg) + 12deg), 17%, 57%);--text-active: hsl(calc(var(--accent-hue, 191deg) + 24deg), 60%, 93%);--text-link: hsl(var(--accent-hue, 191deg), 98%, 51%);--syntax-keyword: hsl(calc(var(--accent-hue, 191deg) - 2deg), 80%, 56%);--syntax-selector: hsl(var(--accent-hue, 191deg), 64%, 69%);--syntax-property: hsl(var(--accent-hue, 191deg), 64%, 69%);--syntax-string: hsl(calc(var(--accent-hue, 191deg) - 130deg), 37%, 58%);--syntax-comment: hsl(calc(var(--accent-hue, 191deg) + 12deg), 15%, 55%);--syntax-number: hsl(calc(var(--accent-hue, 191deg) + 97deg), 78%, 72%);--syntax-tag: hsl(calc(var(--accent-hue, 191deg) + 49deg), 23%, 83%);--editor-bg-opacity: rgba(24, 27, 32, .85);--editor-shadow: rgba(0, 0, 0, .2);--overlay-bg: var(--bg-sidebar);--overlay-text: var(--text-active);--about-card-bg: rgba(33, 47, 65, .8)}body.theme-light{--bg-editor: hsl(calc(var(--accent-hue, 191deg) - 2deg), 70%, 98%);--bg-sidebar: hsl(calc(var(--accent-hue, 191deg) + 5deg), 70%, 97%);--bg-activity: hsl(calc(var(--accent-hue, 191deg) + 23deg), 18%, 21%);--bg-activity-hover: hsl(calc(var(--accent-hue, 191deg) + 23deg), 18%, 30%);--bg-activity-active: hsl(calc(var(--accent-hue, 191deg) + 2deg), 30%, 95%);--bg-tab-active: hsl(calc(var(--accent-hue, 191deg) + 2deg), 30%, 95%);--bg-tab-inactive: hsl(calc(var(--accent-hue, 191deg) + 6deg), 20%, 88%);--bg-tab-hover: hsl(calc(var(--accent-hue, 191deg) + 8deg), 20%, 86%);--bg-statusbar: hsl(var(--accent-hue, 191deg), 92%, 45%);--bg-statusbar-hover: hsl(var(--accent-hue, 191deg), 92%, 38%);--bg-settings: hsl(calc(var(--accent-hue, 191deg) + 4deg), 25%, 91%);--bg-settings-hover: hsl(calc(var(--accent-hue, 191deg) + 8deg), 20%, 86%);--border-color: hsl(calc(var(--accent-hue, 191deg) + 8deg), 20%, 86%);--text-main: hsl(calc(var(--accent-hue, 191deg) + 23deg), 10%, 25%);--text-muted: hsl(calc(var(--accent-hue, 191deg) + 14deg), 12%, 46%);--text-active: hsl(calc(var(--accent-hue, 191deg) + 21deg), 17%, 24%);--text-link: hsl(var(--accent-hue, 191deg), 92%, 45%);--syntax-keyword: hsl(calc(var(--accent-hue, 191deg) - 2deg), 100%, 28%);--syntax-selector: hsl(var(--accent-hue, 191deg), 92%, 45%);--syntax-property: hsl(var(--accent-hue, 191deg), 92%, 38%);--syntax-string: hsl(calc(var(--accent-hue, 191deg) - 130deg), 100%, 28%);--syntax-comment: hsl(calc(var(--accent-hue, 191deg) + 14deg), 12%, 46%);--syntax-number: hsl(calc(var(--accent-hue, 191deg) + 96deg), 61%, 48%);--syntax-tag: hsl(calc(var(--accent-hue, 191deg) + 49deg), 17%, 62%);--editor-bg-opacity: rgba(238, 245, 247, .85);--editor-shadow: rgba(0, 0, 0, .1);--overlay-bg: hsl(calc(var(--accent-hue, 191deg)), 8%, 35%);--overlay-text: hsl(calc(var(--accent-hue, 191deg)), 5%, 96%);--about-card-bg: rgba(235, 243, 246, .85)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font-sans);font-size:16px;color:var(--text-main);background-color:var(--bg-editor);transition:background-color .2s ease,color .2s ease}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}.vscode-container{display:grid;width:100vw;flex:1;min-height:0;grid-template-columns:50px 240px 1fr;grid-template-rows:1fr;background-color:var(--bg-editor);transition:grid-template-columns .25s cubic-bezier(.1,.9,.2,1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}body.theme-dark ::-webkit-scrollbar-thumb{background:#79797966}body.theme-dark ::-webkit-scrollbar-thumb:hover{background:#646464b3}body.theme-light ::-webkit-scrollbar-thumb{background:#64646433}body.theme-light ::-webkit-scrollbar-thumb:hover{background:#64646466}.vscode-container.sidebar-closed{grid-template-columns:50px 0px 1fr!important}.activity-bar{grid-column:1 / 2;grid-row:1 / 2;background-color:var(--bg-activity);border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:10px 0;position:relative;z-index:150}.top-items,.bottom-items{display:flex;flex-direction:column;align-items:center;width:100%;gap:12px}.activity-btn{background:none;border:none;outline:none;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;position:relative;border-left:2px solid transparent;transition:color .15s ease}.activity-btn:hover{color:var(--text-active);background-color:var(--bg-activity-hover)}.activity-btn.active{color:#fff!important;border-left-color:var(--bg-statusbar)}.activity-btn svg{width:24px;height:24px}.badge{position:absolute;top:4px;right:4px;background-color:var(--bg-statusbar);color:#fff;font-size:9px;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bg-activity)}.settings-container{position:relative;width:100%;display:flex;justify-content:center}.settings-dropdown{display:none;position:absolute;bottom:10px;left:50px;background-color:var(--bg-settings);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--editor-shadow);border-radius:4px;width:180px;padding:4px 0;z-index:1000}.settings-dropdown.show{display:block;animation:fadeIn .1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.settings-item{width:100%;background:none;border:none;outline:none;display:flex;align-items:center;padding:8px 12px;color:var(--text-main);font-family:var(--font-sans);font-size:12px;cursor:pointer;text-align:left;transition:background-color .15s ease}.settings-item:hover{background-color:var(--bg-settings-hover);color:var(--text-active)}.settings-item .icon{margin-right:8px;font-size:14px}.settings-divider{height:1px;background-color:var(--border-color);margin:4px 0}.sidebar{grid-column:2 / 3;grid-row:1 / 2;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:40;overflow-y:auto;overflow-x:hidden;user-select:none}.sidebar-panel{display:none;flex-direction:column;height:100%;width:240px}.sidebar-panel.active{display:flex}.panel-header{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.panel-header .actions{cursor:pointer}.panel-section{display:flex;flex-direction:column}.section-title{height:24px;display:flex;align-items:center;padding-left:10px;background-color:transparent;cursor:pointer;font-size:11px;font-weight:700;color:var(--text-main)}.section-title .chevron{font-size:8px;margin-right:6px;display:inline-block;transition:transform .15s ease}.section-title.collapsed .chevron{transform:rotate(-90deg)}.section-content{display:flex;flex-direction:column;padding:4px 0}.section-title.collapsed+.section-content{display:none}.file-item{height:26px;display:flex;align-items:center;padding-left:24px;cursor:pointer;color:var(--text-muted);font-size:13px;transition:background-color .1s ease,color .1s ease}.file-item:hover{background-color:var(--bg-tab-hover);color:var(--text-main)}.file-item.active{background-color:var(--bg-tab-active);color:var(--text-active);font-weight:500}.file-icon{margin-right:8px;font-size:12px;width:16px;display:inline-flex;justify-content:center;align-items:center}.file-item[data-lang=json] .file-icon{color:#cbcb41;font-weight:700;font-size:10px}.file-item[data-lang=typescript] .file-icon{color:#519aba;font-weight:700;font-size:10px}.file-item[data-lang=markdown] .file-icon{color:#519aba}.panel-content{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.input-wrapper{position:relative;width:100%}.input-wrapper input{width:100%;background-color:var(--bg-editor);border:1px solid var(--border-color);color:var(--text-main);padding:6px 24px 6px 8px;font-size:12px;font-family:var(--font-sans);border-radius:2px;outline:none}.input-wrapper input:focus{border-color:var(--bg-statusbar)}.clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-muted);cursor:pointer;display:none}.clear-search.show{display:block}.search-results-info{font-size:11px;color:var(--text-muted)}.search-results{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:350px}.search-result-item{padding:6px;border-radius:4px;background-color:var(--bg-editor);cursor:pointer;border:1px solid transparent;transition:border-color .15s ease}.search-result-item:hover{border-color:var(--bg-statusbar)}.search-result-title{font-size:12px;font-weight:700;color:var(--text-active);margin-bottom:2px}.search-result-excerpt{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.git-status-header{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding-bottom:4px}.git-branch-info{font-family:var(--font-editor)}.git-inputs{display:flex;flex-direction:column;gap:8px}.git-inputs input{background-color:var(--bg-editor);border:1px solid var(--border-color);color:var(--text-main);padding:6px 8px;font-size:12px;border-radius:2px;outline:none}.git-inputs input:focus{border-color:var(--bg-statusbar)}.git-commit-btn{background-color:var(--bg-statusbar);color:#fff;border:none;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;border-radius:2px;transition:background-color .15s ease}.git-commit-btn:hover{background-color:var(--bg-statusbar-hover)}.git-changes-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.git-change-item{display:flex;align-items:center;height:24px;font-size:12px;padding:0 4px}.git-icon{font-family:var(--font-editor);font-weight:700;font-size:10px;margin-right:8px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:2px}.git-icon.modified{color:#e2c08d}.git-file{color:var(--text-main);margin-right:8px}.git-path{color:var(--text-muted);font-size:10px}.git-sync-progress{display:none;flex-direction:column;gap:6px;margin-top:12px}.git-sync-progress.show{display:flex}.progress-bar-container{width:100%;height:4px;background-color:var(--border-color);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;width:0%;background-color:var(--bg-statusbar);transition:width .1s linear}.progress-text{font-size:11px;color:var(--text-muted);text-align:center}.editor-area{grid-column:3 / 4;grid-row:1 / 2;display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-header{height:38px;background-color:var(--bg-tab-inactive);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;user-select:none}.tabs-container{display:flex;height:100%;overflow-x:auto;scrollbar-width:none}.tabs-container::-webkit-scrollbar{display:none}.tab{height:100%;display:flex;align-items:center;padding:0 16px;background-color:var(--bg-tab-inactive);border-right:1px solid var(--border-color);color:var(--text-muted);font-size:13px;cursor:pointer;position:relative;transition:background-color .15s ease,color .15s ease}.tab:hover{background-color:var(--bg-tab-hover);color:var(--text-main)}.tab.active{background-color:var(--bg-tab-active);color:var(--text-active);border-top:2px solid var(--bg-statusbar);height:100%}.tab-title{margin:0 8px}.tab-close{font-size:10px;color:var(--text-muted);width:14px;height:14px;border-radius:20%;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.tab-close:hover{background-color:var(--bg-settings-hover);color:var(--text-active)}.file-icon{font-size:11px}.tab[data-file=skills] .file-icon,.tab[data-file=contact] .file-icon,.tab[data-file=live2d] .file-icon{color:#cbcb41;font-weight:700;font-size:9px}.tab[data-file=works] .file-icon{color:#519aba;font-weight:700;font-size:9px}.tab[data-file=about] .file-icon{color:#519aba}.editor-actions{display:flex;align-items:center;height:100%;padding-right:10px;border-left:1px solid var(--border-color);background-color:var(--bg-tab-inactive)}.action-btn{background:none;border:none;outline:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:3px;font-family:var(--font-sans);font-size:11px;transition:background-color .15s ease,color .15s ease}.action-btn:hover{background-color:var(--bg-settings-hover);color:var(--text-active)}.action-btn svg{width:16px;height:16px}.main-editor{grid-column:3 / 4;grid-row:1 / 2;background-color:var(--bg-editor);display:flex;flex-direction:row;position:relative;overflow:hidden;flex:1}.editor-pane{flex:1;height:100%;overflow-y:auto;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.1,.9,.2,1),flex .3s cubic-bezier(.1,.9,.2,1)}.code-pane{background-color:var(--bg-editor);border-right:1px solid var(--border-color)}.file-code-content{display:none;flex:1;padding:20px 10px;font-family:var(--font-editor);font-size:var(--editor-font-size);line-height:1.6;overflow-x:auto}.file-code-content.active{display:flex}.line-numbers{display:flex;flex-direction:column;text-align:right;padding-right:16px;color:var(--text-muted);border-right:1px solid var(--border-color);user-select:none;min-width:30px}.code-lines{padding-left:16px;color:var(--text-main);white-space:pre}.syntax-keyword{color:var(--syntax-keyword);font-weight:700}.syntax-selector{color:var(--syntax-selector)}.syntax-property{color:var(--syntax-property)}.syntax-string{color:var(--syntax-string)}.syntax-comment{color:var(--syntax-comment);font-style:italic}.syntax-tag{color:var(--syntax-tag)}.syntax-number{color:var(--syntax-number)}.preview-pane{background-color:var(--bg-editor);border-left:1px solid var(--border-color)}.file-preview-content{display:none;flex:1;padding:30px}.file-preview-content.active{display:flex;flex-direction:column}.preview-markdown-body{max-width:700px;margin:0 auto;width:100%;font-family:var(--font-sans);color:var(--text-main);line-height:1.7;font-size:var(--editor-font-size)}.preview-markdown-body.full-width{max-width:100%}.preview-markdown-body h1{font-size:1.75em;font-weight:700;color:var(--text-active);margin-bottom:8px}.preview-markdown-body h2{font-size:1.25em;font-weight:600;color:var(--text-active);margin:28px 0 12px;border-bottom:1px solid var(--border-color);padding-bottom:6px}.preview-markdown-body p{margin-bottom:16px}.preview-markdown-body ul{margin-bottom:16px;padding-left:20px}.preview-markdown-body li{margin-bottom:6px}.preview-divider{border:0;height:1px;background-color:var(--border-color);margin:20px 0}.section-intro{color:var(--text-muted);font-size:.875em;margin-bottom:24px}.about-hero{display:flex;align-items:center;gap:24px;margin-top:10px}.avatar-glow{position:relative;width:100px;height:100px;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--bg-statusbar) 0%,var(--syntax-string) 100%);box-shadow:0 4px 15px var(--editor-shadow)}.about-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--bg-editor)}.about-hero-text{display:flex;flex-direction:column;gap:6px}.about-name{margin:0}.about-roles{display:flex;gap:8px;flex-wrap:wrap}.role-badge{background-color:var(--bg-tab-inactive);border:1px solid var(--border-color);color:var(--text-main);font-size:11px;padding:2px 10px;border-radius:4px}.about-status-text{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin:0!important}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#2ecc71}.status-dot.pulsing{box-shadow:0 0 #2ecc7166;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #2ecc71b3}70%{box-shadow:0 0 0 6px #2ecc7100}to{box-shadow:0 0 #2ecc7100}}.contact-links-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.social-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:6px;background-color:var(--bg-tab-inactive);border:1px solid var(--border-color);color:var(--text-main);font-weight:500;font-size:13px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.social-button:hover{background-color:var(--bg-settings-hover);color:var(--text-active);text-decoration:none}.social-button.twitter:hover{border-color:#1da1f2}.social-button.github:hover{border-color:var(--text-active)}.about-skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:768px){.about-skills-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px}.skill-category-card{background-color:var(--bg-tab-inactive);border:1px solid var(--border-color);padding:16px;border-radius:6px}.skill-category-card h3{font-size:14px;margin-bottom:16px;color:var(--text-active)}.skill-item{margin-bottom:14px}.skill-info{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px;color:var(--text-main)}.skill-bar{height:6px;background-color:var(--bg-editor);border-radius:3px;overflow:hidden}.skill-fill{height:100%;background-color:var(--bg-statusbar);border-radius:3px;box-shadow:0 0 6px var(--bg-statusbar);transition:width 1s ease-out}.works-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.filter-buttons{display:flex;gap:8px}.filter-btn{background-color:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#ccc;padding:4px 12px;border-radius:12px;font-size:.65em;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}body.theme-light .filter-btn{background-color:#0000000f;border:1px solid rgba(0,0,0,.15);color:#444}.filter-btn:hover{background-color:var(--bg-tab-hover);color:var(--text-main);border-color:var(--text-main);transform:translateY(-1px)}.filter-btn:active{transform:translateY(1px)}.filter-btn.active{background-color:var(--bg-statusbar)!important;border-color:var(--bg-statusbar)!important;color:#fff!important;transform:none!important;box-shadow:0 2px 4px #0003}.contact-container{background-color:var(--bg-tab-inactive);border:1px solid var(--border-color);padding:20px;border-radius:6px;margin-top:12px}.contact-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;color:var(--text-muted);font-weight:500}.form-group input,.form-group textarea{background-color:var(--bg-editor);border:1px solid var(--border-color);color:var(--text-main);padding:8px 12px;font-size:13px;border-radius:4px;font-family:var(--font-sans);outline:none;transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--bg-statusbar)}.submit-btn{background-color:var(--bg-statusbar);color:#fff;border:none;outline:none;padding:10px 16px;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start;transition:background-color .15s ease}.submit-btn:hover{background-color:var(--bg-statusbar-hover)}[data-preview-mode=code] .code-pane{width:100%!important;flex:1 0 100%}[data-preview-mode=code] .preview-pane,[data-preview-mode=preview] .code-pane{display:none}[data-preview-mode=preview] .preview-pane{width:100%!important;flex:1 0 100%;border-left:none}[data-preview-mode=split] .code-pane,[data-preview-mode=split] .preview-pane{width:50%}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(200px,calc((100% - 100px) / 6)),1fr));grid-auto-flow:dense;gap:20px;width:100%;box-sizing:border-box}.work-card{background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;height:100%;width:100%;position:relative;content-visibility:auto;contain-intrinsic-size:220px 280px;transition:transform .25s cubic-bezier(.1,.8,.2,1),box-shadow .25s cubic-bezier(.1,.8,.2,1),border-color .25s cubic-bezier(.1,.8,.2,1);box-shadow:0 4px 6px #0000001a;opacity:0;animation:workCardAppear .5s cubic-bezier(.1,.8,.2,1) forwards}@keyframes workCardAppear{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.works-code-row{opacity:0;animation:codeLineAppear .3s ease-out forwards}@keyframes codeLineAppear{0%{opacity:0;transform:translate(-10px);background-color:var(--bg-statusbar)}to{opacity:1;transform:translate(0);background-color:transparent}}@media(max-width:640px){.works-gallery-pane .preview-markdown-body h2,.works-gallery-pane .filter-buttons{padding-left:10px;padding-right:10px}.works-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.work-card{border:none!important;border-radius:4px!important;background-color:transparent!important;box-shadow:none!important}.work-card .card-content{display:none!important}.work-card .card-image-wrapper{border-bottom:none!important;border-radius:4px!important}.work-card.is-wide{grid-column:span 2!important}.work-card.is-wide .card-image-wrapper{aspect-ratio:16 / 9!important}}.work-card:hover{transform:translateY(-4px);border-color:transparent}.card-image-wrapper{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background-color:var(--bg-tab-hover)}.work-card.is-wide{grid-column:span 2}.work-card.is-wide .card-image-wrapper{aspect-ratio:2 / 1}.card-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s cubic-bezier(.1,.8,.2,1)}.work-card.is-wide .card-image{object-position:center}.work-card:hover .card-image{transform:scale(1.06)}.card-category-badge{position:absolute;top:10px;left:10px;background-color:var(--bg-statusbar);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:12px;box-shadow:0 2px 4px #0003}.card-content{padding:16px;display:flex;flex-direction:column;justify-content:flex-end;flex:1;position:absolute;inset:0;background:linear-gradient(to top,var(--overlay-bg) 0%,transparent 50%);opacity:0;transition:opacity .3s cubic-bezier(.1,.8,.2,1);z-index:10;pointer-events:none}.work-card:hover .card-content{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0;gap:8px}.card-title{font-size:.9em;color:var(--overlay-text);margin:0}.card-date{font-family:var(--font-editor);font-size:.6875em;color:var(--text-muted)}.card-description{font-size:.78125em;color:var(--text-main);line-height:1.6;margin-bottom:16px;flex:1}.card-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{font-family:var(--font-editor);font-size:.65625em;background-color:var(--bg-editor);color:var(--syntax-property);padding:2px 8px;border-radius:4px;border:1px solid var(--border-color)}.card-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background-color:var(--bg-editor);border:1px solid var(--border-color);color:var(--text-main);padding:6px 12px;font-size:12px;font-weight:500;border-radius:4px;align-self:flex-start;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.card-link-btn:hover{background-color:var(--bg-statusbar);border-color:var(--bg-statusbar);color:#fff;text-decoration:none}.link-icon{width:12px;height:12px}@media(max-width:1024px){.works-grid{column-count:3}}@keyframes modalFadeInUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalFadeOutDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes modalSlideInNext{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes modalSlideInPrev{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000d9;z-index:2000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;animation:overlayFadeIn .25s ease forwards}.modal-overlay.is-closing{animation:overlayFadeOut .2s ease forwards}.modal-window{background-color:var(--bg-editor, #1e1e1e);border:1px solid var(--border-color, #333);border-radius:8px;width:max-content;max-width:95vw;height:85vh;display:flex;flex-direction:row;overflow:hidden;box-shadow:0 8px 30px #0003;animation:modalFadeInUp .3s cubic-bezier(.2,.8,.2,1) forwards}.modal-window-content{display:inherit;flex-direction:inherit;width:100%;height:100%}.modal-window-content.slide-next{animation:modalSlideInNext .25s cubic-bezier(.2,.8,.2,1) forwards}.modal-window-content.slide-prev{animation:modalSlideInPrev .25s cubic-bezier(.2,.8,.2,1) forwards}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.modal-window-content.fade-in{animation:contentFadeIn .25s ease forwards}.modal-window.is-closing{animation:modalFadeOutDown .2s cubic-bezier(.2,.8,.2,1) forwards}.modal-image-container{flex:0 1 auto;background-color:#000;display:flex;justify-content:center;align-items:center;overflow:auto;position:relative;height:100%}.modal-image{max-height:100%;max-width:100%;width:auto;height:auto;cursor:zoom-in;object-fit:contain;transition:transform .15s ease}.modal-image.zoomed{max-height:none!important;max-width:none!important;cursor:zoom-out;margin:auto}.modal-info-container{width:300px;padding:25px;display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--border-color, #333);overflow-y:auto;background:var(--bg-tabs);box-sizing:border-box}.modal-close-btn{align-self:flex-end;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0 5px}@media(max-width:768px){.modal-window{width:95vw;flex-direction:column;height:90vh}.modal-image-container{height:50%;min-height:250px}.modal-info-container{width:100%;height:50%;border-left:none;border-top:1px solid var(--border-color, #333)}}.status-bar{grid-column:1 / 4;grid-row:2 / 3;background-color:var(--bg-statusbar);color:#fff;font-family:var(--font-sans);font-size:12px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;z-index:60;user-select:none;height:25px}.left-section,.right-section{display:flex;align-items:center;height:100%}.status-item{display:flex;align-items:center;height:100%;padding:0 8px;gap:6px;cursor:default;transition:background-color .15s ease}.status-item:hover{background-color:var(--bg-statusbar-hover)}.status-item.clickable{cursor:pointer}.branch-icon,.sync-icon{width:12px;height:12px}.diagnostics{gap:10px;font-weight:500}.error-count,.warning-count{font-size:11px}.git-sync.spinning svg{animation:spin 1s linear infinite}.breadcrumbs{height:22px;background-color:var(--bg-editor);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;font-size:11px;color:var(--text-muted);user-select:none;gap:4px}.breadcrumb-link{cursor:pointer;transition:color .15s ease}.breadcrumb-link:hover{color:var(--text-main)}.breadcrumb-separator{color:var(--text-muted);opacity:.5;margin:0 2px}.real-code-editor{counter-reset:line-number;font-family:var(--font-mono);font-size:calc(var(--editor-font-size) * .8125);line-height:1.6;color:var(--text-main);display:flex;flex-direction:column;width:100%;overflow-x:hidden;overflow-y:auto;padding:20px 0;box-sizing:border-box;background-color:var(--bg-editor);background-image:linear-gradient(to right,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 44px,var(--border-color) 44px,var(--border-color) 45px,transparent 45px)}.real-code-editor.transparent-bg{background-color:transparent}.real-code-editor .code-line{display:flex;width:100%}.real-code-editor .code-line:hover{background-color:#ffffff0a}body.theme-light .real-code-editor .code-line:hover{background-color:#0000000d}.real-code-editor .code-line:before{counter-increment:line-number;content:counter(line-number);display:inline-block;flex:0 0 45px;text-align:right;padding-right:12px;color:var(--text-muted);box-sizing:border-box;user-select:none}.real-code-editor .code-content{flex:1;white-space:pre-wrap;word-break:break-all;padding-left:16px;padding-right:20px}.bottom-panel{height:100px;flex-shrink:0;background-color:var(--bg-editor);border-top:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;z-index:80}.bottom-panel-header{height:30px;background-color:var(--bg-tab-inactive);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 10px;user-select:none}.bottom-panel-tab{padding:0 12px;height:100%;display:flex;align-items:center;color:var(--text-muted);font-size:11px;cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;transition:color .15s ease}.bottom-panel-tab:hover{color:var(--text-active)}.bottom-panel-tab.active{color:var(--text-active);font-weight:600;border-bottom:2px solid var(--bg-statusbar)}.bottom-panel-content{flex:1;overflow-y:auto;padding:8px 16px;font-family:var(--font-editor);font-size:12px;color:var(--text-main);background-color:var(--bg-editor);line-height:1.5}.git-badge{font-size:11px;font-family:var(--font-editor);font-weight:700;margin-left:auto;padding-right:8px}.git-badge.modified{color:#e2c08d}.git-badge.untracked{color:#73c991}.works-pane-divider{width:5px;flex-shrink:0;background:var(--border-color);cursor:col-resize;position:relative;transition:background .15s ease;z-index:10}.works-pane-divider:before{content:"";position:absolute;inset:0 -4px}.works-pane-divider:hover,.works-pane-divider:active{background:var(--bg-statusbar)}.bottom-panel-resize-handle{height:4px;flex-shrink:0;background:var(--border-color);cursor:row-resize;transition:background .15s ease;position:relative}.bottom-panel-resize-handle:before{content:"";position:absolute;inset:-4px 0}.bottom-panel-resize-handle:hover,.bottom-panel-resize-handle:active{background:var(--bg-statusbar)}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:cursor-blink 1s step-end infinite}.works-split-container{display:flex;flex:1;overflow:hidden}.works-code-pane{flex:0 0 22%;border-right:1px solid var(--border-color);display:flex;background-color:var(--bg-editor)}.works-gallery-pane{flex:1;padding:20px 7%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}@media(max-width:992px){.works-split-container{flex-direction:column}.works-code-pane{display:none!important}.token.attr-name{color:#9cdcfe}}.splash-overlay{position:fixed;inset:0;z-index:9999;background-color:var(--bg-statusbar);display:flex;justify-content:center;align-items:center;clip-path:inset(0 0 0 0);transition:clip-path .8s cubic-bezier(.7,0,.3,1)}.splash-overlay.is-revealing{clip-path:inset(0 100% 0 0)}.splash-content{display:flex;flex-direction:column;align-items:center;gap:20px}.splash-logo{width:80px;height:80px;filter:brightness(0) invert(1);animation:twitchLogo .3s ease-in-out .2s 1 forwards}@keyframes twitchLogo{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.splash-terminal{font-family:var(--font-editor);color:#fff;font-size:11px;min-height:40px;text-align:left;width:220px;opacity:.8}.splash-line{margin:4px 0;white-space:nowrap;overflow:hidden;border-right:2px solid transparent}.splash-line.typing{animation:typing 1s steps(30,end) forwards,blinkCursor .5s step-end infinite;border-right-color:#fff}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:#fff}}@media(max-width:640px){.splash-logo{width:70px;height:70px}.splash-terminal{font-size:11px;width:200px}.splash-content{gap:12px}}@media(max-width:640px){.works-gallery-pane{padding:16px 6px}}.works-category-card{position:relative;height:150px;border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid var(--border-color);transition:transform .25s,box-shadow .25s}.works-category-card:hover{transform:translateY(-2px)}.works-category-card:hover .card-bg{transform:scale(1.06)}.about-hero-visual{border-radius:10px}.about-container{display:flex;height:100%;width:100%;overflow:visible;position:relative;background-color:var(--bg-editor)}.about-code-pane{flex:0 0 22%;border-right:1px solid var(--border-color);display:flex;position:relative;background-color:var(--bg-editor)}.about-preview-pane{flex:1;overflow-y:auto;padding:24px 15vw;position:relative;display:flex;flex-direction:column;gap:20px;background-color:var(--bg-editor);min-width:300px}.about-info-col{width:100%;display:flex;flex-direction:column;gap:20px;z-index:2}.about-artwork-col{flex:.8;display:flex;align-items:flex-end;justify-content:center;position:relative;min-width:200px;z-index:1}.about-artwork-img{max-width:100%;max-height:85%;object-fit:contain;filter:drop-shadow(0 15px 30px rgba(0,0,0,.25));transition:all .3s ease;pointer-events:none}.about-card{background-color:var(--about-card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:8px;padding:24px;box-shadow:0 8px 32px 0 var(--editor-shadow);display:flex;flex-direction:column;gap:15px}.about-preview-pane.split-active{padding:16px 10%}@media(max-width:1100px){.about-preview-pane{padding:20px 7%}}@media(max-width:600px){.works-category-card{height:auto;aspect-ratio:1 / 1}.about-preview-pane{padding:0 0 40px}.about-hero-visual{border-radius:0}.about-card{background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;padding:16px 20px!important}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e0;z-index:2000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;transition:background-color .2s ease}body.theme-light .modal-overlay{background-color:#e6edf0f2}.modal-image-container{flex:0 1 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;position:relative;min-height:350px;padding:20px;background-color:#0d0f12}body.theme-light .modal-image-container{background-color:#e3ecef}.modal-image-preview{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;width:auto;max-width:100%;position:relative;background-image:linear-gradient(45deg,#2a2a2a 25%,transparent 25%),linear-gradient(-45deg,#2a2a2a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a2a 75%),linear-gradient(-45deg,transparent 75%,#2a2a2a 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0px;background-color:#151515;border-radius:4px;overflow:hidden}.carousel-img{max-width:none}.carousel-img.current{max-width:100%}@media(max-width:768px){.carousel-img{max-width:100%!important}}body.theme-light .modal-image-preview{background-image:linear-gradient(45deg,#e5e5e5 25%,transparent 25%),linear-gradient(-45deg,#e5e5e5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e5e5 75%),linear-gradient(-45deg,transparent 75%,#e5e5e5 75%);background-color:#fff}@media(min-width:769px){.about-preview-pane,.works-gallery-pane .preview-markdown-body{font-size:calc(var(--editor-font-size) * 1.15)!important;font-family:Noto Sans JP,sans-serif}.card-description{font-size:.85em}}@media(orientation:portrait){.vscode-container{grid-template-columns:1fr!important;grid-template-rows:50px 1fr!important;transition:none!important}.vscode-container.sidebar-closed{grid-template-columns:1fr!important}.sidebar{position:absolute!important;top:50px!important;left:0!important;width:100vw!important;height:auto!important;max-height:60vh!important;z-index:100!important;border-bottom:1px solid var(--border-color)!important;border-right:none!important;display:flex!important;transition:transform .35s cubic-bezier(.1,.9,.2,1)!important;background-color:var(--bg-sidebar)!important;box-shadow:0 10px 30px #00000026!important}.vscode-container.sidebar-closed .sidebar{transform:translateY(calc(-100% - 50px))!important;pointer-events:none!important}.vscode-container:not(.sidebar-closed) .sidebar{transform:translateY(0)!important;pointer-events:auto!important}.sidebar-panel{width:100vw!important}.main-editor-area{grid-column:1 / 2!important;grid-row:2 / 3!important;width:100%}.activity-bar{grid-column:1 / 2;grid-row:1 / 2;flex-direction:row;width:100%;height:50px;padding:0 10px;border-right:none;border-bottom:1px solid var(--border-color)}.top-items,.bottom-items{flex-direction:row;width:auto;height:100%;gap:5px}.activity-btn{border-left:none;border-bottom:2px solid transparent;height:46px;width:46px}.activity-btn.active{border-bottom-color:var(--bg-statusbar)}.settings-dropdown{inset:45px 5px auto auto}.editor-area{grid-column:1 / 2;grid-row:2 / 3;width:100%}.editor-header{height:40px}.action-label{display:none}.main-editor{grid-column:1 / 2;grid-row:2 / 3;width:100vw}[data-preview-mode=split] .code-pane{width:100%;flex:1 0 100%}[data-preview-mode=split] .preview-pane{display:none}.file-preview-content{padding:16px}.works-code-pane,.works-pane-divider{display:none!important}.about-hero{flex-direction:column;align-items:flex-start;gap:12px}.contact-links-grid,.skills-grid{grid-template-columns:1fr}.status-bar{grid-column:1 / 2;grid-row:3 / 4}.hide-mobile{display:none}.about-code-pane{display:none!important}.about-artwork-col{width:100%;opacity:.12}}@keyframes piBounce{0%,15%,to{transform:translateY(0)}3%{transform:translateY(-6px)}6%{transform:translateY(0)}9%{transform:translateY(-3px)}12%{transform:translateY(0)}}@keyframes characterSway{0%,to{transform:translate(0)}33%{transform:translate(-6px,-4px)}66%{transform:translate(6px,3px)}}.pi-waiting{animation:piBounce 6s infinite ease-in-out;animation-delay:1.2s;transform-origin:bottom center;display:inline-block}.pi-hover-effect{transition:color .3s ease;display:inline-block;padding-bottom:.2em;margin-bottom:-.2em!important;background-image:linear-gradient(120deg,var(--accent-color) 0%,var(--accent-color) 40%,#ffffff 50%,var(--accent-color) 60%,var(--accent-color) 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text}.pi-logo-wrapper:hover .pi-hover-effect{color:transparent!important;animation:piColorSlide .5s ease-out forwards}@keyframes piColorSlide{0%{background-position:100% 0}to{background-position:0% 0}}.character-waiting{animation:characterSway 8s infinite ease-in-out}@keyframes characterHoverBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.character-interact-wrapper:hover:not(:active) .character-inner-bounce{animation:characterHoverBounce .3s 1 ease-in-out}@keyframes layerPulseOut5{0%,to{transform:translate(0)}50%{transform:translate(-15px)}}@keyframes layerPulseOut4{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}@keyframes layerPulseOut3{0%,to{transform:translate(0)}50%{transform:translate(0)}}@keyframes layerPulseOut2{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes layerPulseOut1{0%,to{transform:translate(0)}50%{transform:translate(15px)}}.layer-anim-wrapper.layer-5.pulse{animation:layerPulseOut5 .3s ease-out}.layer-anim-wrapper.layer-4.pulse{animation:layerPulseOut4 .3s ease-out}.layer-anim-wrapper.layer-3.pulse{animation:layerPulseOut3 .3s ease-out}.layer-anim-wrapper.layer-2.pulse{animation:layerPulseOut2 .3s ease-out}.layer-anim-wrapper.layer-1.pulse{animation:layerPulseOut1 .3s ease-out}
