@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";.social-links[data-v-e31e9b61]{display:flex;gap:10px;flex-shrink:0}.social-link[data-v-e31e9b61]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-accent);text-decoration:none;border:var(--border-subtle);border-radius:var(--radius-tag);background:var(--panel-bg-elevated);transition:color .2s ease,border-color .2s ease,background .2s ease}.social-link svg[data-v-e31e9b61]{width:20px;height:20px}.social-link[data-v-e31e9b61]:hover{color:var(--color-text);border-color:var(--color-accent);background:var(--color-surface-4)}.social-link[data-v-e31e9b61]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media screen and (max-width:600px){.social-link[data-v-e31e9b61]{width:40px;height:40px}.social-link svg[data-v-e31e9b61]{width:22px;height:22px}}.character-panel[data-v-4a04df0f]{display:flex;flex-direction:row;align-items:center;gap:14px;height:auto;padding:22px 24px;box-sizing:border-box;background:transparent}.identity[data-v-4a04df0f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.identity-top[data-v-4a04df0f]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.identity-heading[data-v-4a04df0f]{display:flex;flex-direction:column;gap:6px;margin-top:14px;min-width:0}.char-name[data-v-4a04df0f]{font-size:1.625rem;font-weight:700;line-height:1.15;margin:0;letter-spacing:-.02em;color:var(--color-text)}.char-class[data-v-4a04df0f]{font-size:1rem;font-weight:600;line-height:1.3;margin:0;color:var(--color-text)}.char-tagline[data-v-4a04df0f]{font-size:.875rem;font-weight:400;line-height:1.4;margin:0;color:var(--color-text-muted);opacity:.75}@media screen and (max-width:600px){.character-panel[data-v-4a04df0f]{padding:40px 24px 36px}.identity[data-v-4a04df0f]{gap:20px}.identity-heading[data-v-4a04df0f]{gap:6px;margin-top:14px}.char-name[data-v-4a04df0f]{font-size:1.5rem}.char-class[data-v-4a04df0f]{font-size:1.0625rem}.char-tagline[data-v-4a04df0f]{font-size:.9375rem}}.inv-item[data-v-fd710aad]{flex:1;min-width:0;display:flex;width:100%;align-items:center;gap:14px;padding:8px;margin-bottom:4px;border:1px solid transparent;border-radius:var(--radius-item);background:transparent;box-sizing:border-box;transition:background .15s ease,border-color .15s ease;text-decoration:none;color:inherit;cursor:pointer}@media(hover:hover){.inv-item[data-v-fd710aad]:hover{background:var(--color-surface-4)}a.inv-item:hover .inv-name[data-v-fd710aad]{color:var(--color-text)}}.inv-item.is-selected[data-v-fd710aad]{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface-4));border-color:color-mix(in srgb,var(--color-accent) 30%,transparent)}.inv-item.is-selected .inv-name[data-v-fd710aad]{color:var(--color-accent)}@media(hover:hover){.inv-item.is-selected[data-v-fd710aad]:hover{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface-4))}}.inv-icon[data-v-fd710aad]{flex-shrink:0;width:60px;height:60px;overflow:hidden;border-radius:var(--radius-tag);background:var(--color-surface-2)}.inv-icon img[data-v-fd710aad]{width:100%;height:100%;object-fit:cover;display:block}.inv-details[data-v-fd710aad]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inv-name[data-v-fd710aad]{font-size:var(--text-md);font-weight:500;color:var(--color-text);margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-desc[data-v-fd710aad]{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.inv-tags[data-v-fd710aad]{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}@media screen and (min-width:601px){.inv-item[data-v-fd710aad]{padding:6px;gap:12px}.inv-desc[data-v-fd710aad]{-webkit-line-clamp:1}}@media screen and (max-width:600px){.inv-icon[data-v-fd710aad]{width:72px;height:72px}.inv-name[data-v-fd710aad]{font-size:var(--text-md)}.inv-desc[data-v-fd710aad]{font-size:var(--text-sm)}}.inventory[data-v-e69d8f6f]{padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.inv-section[data-v-e69d8f6f]{display:flex;flex-direction:column;gap:2px}.inv-section-title[data-v-e69d8f6f]{font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;margin:0 0 8px;padding:0;letter-spacing:.06em}@media screen and (min-width:601px){.inventory[data-v-e69d8f6f]{padding:0 24px 24px;gap:0}.inv-section[data-v-e69d8f6f]{gap:0}.inv-section-title[data-v-e69d8f6f]{display:none}}@media screen and (max-width:600px){.inv-section-title[data-v-e69d8f6f]{padding-left:9px}}.project-metadata[data-v-8c38336d]{margin:0 0 16px;padding:12px;background:var(--color-surface-2);border:var(--border-subtle);border-radius:var(--radius-item);display:flex;flex-direction:column;gap:8px}.metadata-row[data-v-8c38336d]{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:start;margin:0}.metadata-row--ai[data-v-8c38336d]{align-items:center}.metadata-label[data-v-8c38336d]{margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.metadata-value[data-v-8c38336d]{margin:0;font-size:var(--text-sm);line-height:1.4;color:var(--color-text)}.metadata-tags[data-v-8c38336d]{display:flex;flex-wrap:wrap;gap:6px}.ai-scale[data-v-8c38336d]{display:flex;align-items:center;gap:8px;width:100%}.ai-scale-emoji[data-v-8c38336d]{flex-shrink:0;font-size:1.125rem;line-height:1}.ai-scale-track-wrap[data-v-8c38336d]{position:relative;flex:1;padding:6px 0;cursor:help}.ai-scale-track[data-v-8c38336d]{position:relative;height:8px;overflow:hidden;background:var(--color-surface-5);border:1px solid var(--color-accent-muted);border-radius:4px;box-shadow:inset 0 1px 2px #00000040}.ai-scale-fill[data-v-8c38336d]{height:100%;background:var(--color-accent);border-radius:3px 0 0 3px;transition:width .2s ease}.ai-scale-tooltip[data-v-8c38336d]{position:absolute;bottom:calc(100% + 4px);left:50%;z-index:1;max-width:220px;padding:6px 10px;font-size:var(--text-xs);font-weight:500;line-height:1.35;letter-spacing:normal;text-transform:none;color:var(--color-text);text-align:center;white-space:normal;background:var(--panel-bg-elevated);border:var(--border-subtle);border-radius:var(--radius-tag);box-shadow:var(--shadow-panel);opacity:0;visibility:hidden;transform:translate(-50%) translateY(4px);transition:opacity .15s ease,visibility .15s ease,transform .15s ease;pointer-events:none}.ai-scale-track-wrap:hover .ai-scale-tooltip[data-v-8c38336d],.ai-scale-track-wrap:focus-within .ai-scale-tooltip[data-v-8c38336d]{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.pixel-frame{border:none;border-radius:var(--radius-tag);box-shadow:none;background:var(--color-surface-3)}.pixel-frame--thin{border:none;border-radius:var(--radius-tag);background:var(--color-surface-4)}.chip-tag{display:inline-block;box-sizing:border-box;font-size:.625rem;font-weight:600;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 9px;background:var(--panel-bg-elevated);border:var(--border-subtle);border-radius:var(--radius-tag)}.portfolio-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent}.portfolio-layout{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.portfolio-sidebar{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:0;height:100%;border-radius:0;border:none;background:var(--panel-bg-sidebar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:none}.portfolio-header{flex-shrink:0}.portfolio-main{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;border:none;border-radius:0;background:transparent;box-shadow:none}.portfolio-main-body{flex:1;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;background:transparent}.portfolio-main-scroll{flex:1;min-height:0;overflow-y:auto}.project-preview{display:none}.preview-pane{display:none;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:28px 32px;height:100%;box-sizing:border-box}.preview-media{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;width:100%}.preview-media.is-pausable{cursor:pointer}.preview-stage{position:relative;width:256px;height:256px}.preview-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:256px;height:256px;object-fit:contain;opacity:0;transition:none;pointer-events:none}.preview-layer.is-visible{opacity:1}.preview-stage--fade .preview-layer{transition:opacity 1.2s ease-in-out}@media(prefers-reduced-motion:reduce){.preview-layer{transition:none}}.preview-media img,.preview-media video{width:256px;height:256px;object-fit:contain;display:block;flex-shrink:0}.preview-media img.preview-icon-fallback{border-radius:var(--radius-item);background:var(--color-surface-2)}.preview-detail{flex-shrink:0;width:100%;max-width:420px;padding:0;background:transparent;border:none;box-sizing:border-box}.preview-heading{margin-bottom:12px}.preview-title{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.preview-desc{margin:0 0 16px;font-size:var(--text-sm);line-height:1.45;color:var(--color-text-muted)}.preview-actions{display:flex;gap:8px;width:100%}.preview-btn-primary{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:none;border-radius:var(--radius-tag);background:var(--color-accent);color:var(--color-bg);font-size:var(--text-sm);font-weight:700;text-decoration:none;text-align:center;cursor:pointer;transition:background .2s ease,color .2s ease}.preview-btn-primary:link,.preview-btn-primary:visited{color:var(--color-bg)}.preview-btn-primary:hover{background:var(--color-text);color:var(--color-bg)}.preview-btn-label{flex-shrink:0}.preview-btn-enter{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:1.5rem;padding:3px 7px;font-size:.8125rem;font-weight:700;line-height:1;border-radius:4px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 12%,transparent);opacity:.9}.preview-btn-github{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:var(--border-subtle);border-radius:var(--radius-tag);background:var(--panel-bg-elevated);text-decoration:none;transition:border-color .2s ease,background .2s ease}.preview-btn-github:hover{border-color:var(--color-accent);background:var(--color-surface-4)}.preview-btn-github img{width:22px;height:22px;display:block;object-fit:contain}@media screen and (min-width:601px){.portfolio-layout{display:grid;grid-template-columns:minmax(360px,min(600px,40%)) minmax(0,1fr);gap:0;align-items:stretch;height:100%}.portfolio-sidebar{grid-column:1;height:100%;min-height:0}.portfolio-main{flex:1}.project-preview{display:flex;flex-direction:column;min-height:0;min-width:0;margin:0;padding:14px;overflow:hidden;border-radius:0;border:none;background:var(--panel-bg-sidebar);box-shadow:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-sizing:border-box}.preview-pane{display:flex;flex:1;min-height:0;background:var(--panel-bg-preview);border-radius:var(--radius-panel);overflow:hidden}.preview-actions{margin-bottom:20px}}.home-stage{position:relative;width:100%;height:100%;min-height:0;padding:24px;box-sizing:border-box;overflow:hidden}.home-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:#2a1e16}.home-backdrop-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(32px);transform:scale(1.08)}.home-backdrop-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c090799;pointer-events:none}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;gap:16px;width:100%;height:100%;min-height:0;font-family:var(--font-sans)}.app-shell>*{min-height:0;min-width:0}@media screen and (min-width:601px){.home-stage{padding:clamp(24px,4vw,56px)}.app-shell{gap:0;width:100%}}@media screen and (max-width:600px){.home-stage{padding:0;height:auto;min-height:100dvh;overflow:visible}.app-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);height:auto;min-height:100dvh;gap:0}}:root{--color-bg: #1a1410;--color-surface-1: rgba(22, 18, 14, .32);--color-surface-2: rgba(32, 26, 20, .45);--color-surface-3: rgba(38, 32, 26, .52);--color-surface-4: rgba(48, 40, 32, .6);--color-surface-5: rgba(58, 48, 38, .68);--color-text: #f5e6d3;--color-text-muted: #a67c65;--color-accent: #e8a54b;--color-accent-muted: rgba(232, 165, 75, .25);--color-success: #c4b87a;--color-overlay: rgba(255, 255, 255, .054);--border-subtle: 1px solid var(--color-accent-muted);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: clamp(1.5rem, 2.5vw, 2rem);--text-tab: .8125rem;--text-nav: 1.5rem}@media screen and (max-width:600px){:root{--text-xl: clamp(1.25rem, 5vw, 1.75rem)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}h1{font-size:36px}h2{font-size:26px}h3{font-size:22px}h4{font-size:18px}h5{font-size:14px}h6{font-size:12px}p{line-height:150%;font-family:var(--font-sans)}ul{padding-left:16px}li{margin:0;padding-bottom:8px;line-height:150%;font-family:var(--font-sans)}html{height:100%}body{background-color:var(--color-bg);color:var(--color-text);margin:0;min-height:100%;font-family:var(--font-sans)}html.layout-full,html.layout-full body{height:100%;overflow:hidden}#app{margin:auto;padding-left:20px;padding-right:20px;max-width:920px}html.layout-full #app{margin:0;padding:0;max-width:none;width:100%;height:100dvh;min-height:100dvh;box-sizing:border-box}a:link{color:var(--color-accent)}a:visited{color:var(--color-text-muted)}@media screen and (max-width:600px){#app{padding-left:12px;padding-right:12px}html.layout-full,html.layout-full body{overflow:auto;height:auto;min-height:100dvh}html.layout-full #app{height:auto;min-height:100dvh}}:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif}:root{--layout-max-width: 1120px;--radius-panel: 12px;--radius-item: 8px;--radius-tag: 6px;--panel-bg: rgba(32, 26, 20, .72);--panel-bg-sidebar: rgba(14, 11, 8, .92);--panel-bg-elevated: rgba(38, 32, 26, .82);--panel-bg-preview: rgba(32, 26, 20, .52);--shadow-panel: 0 8px 32px rgba(0, 0, 0, .22)}
