@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&family=Inter:wght@400;500;700&display=swap";
@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";
:root{--font-display:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Pretendard Variable","Pretendard","Inter",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono","Menlo","Consolas","Liberation Mono",monospace}
:root{--semantic-success:#10b981;--semantic-success-bg:#10b9811f;--semantic-success-border:#10b98166;--semantic-success-text:#6ee7b7;--semantic-warning:#f59e0b;--semantic-warning-bg:#f59e0b1f;--semantic-warning-border:#f59e0b66;--semantic-warning-text:#fcd34d;--semantic-danger:#f43f5e;--semantic-danger-bg:#f43f5e1f;--semantic-danger-border:#f43f5e66;--semantic-danger-text:#fda4af;--semantic-info:#38bdf8;--semantic-info-bg:#38bdf81a;--semantic-info-border:#38bdf859;--semantic-info-text:#bae6fd}.chip-success{background:var(--semantic-success-bg);border:1px solid var(--semantic-success-border);color:var(--semantic-success-text)}.chip-warning{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);color:var(--semantic-warning-text)}.chip-danger{background:var(--semantic-danger-bg);border:1px solid var(--semantic-danger-border);color:var(--semantic-danger-text)}.chip-info{background:var(--semantic-info-bg);border:1px solid var(--semantic-info-border);color:var(--semantic-info-text)}.panel-success{border-color:var(--semantic-success-border)}.panel-warning{border-color:var(--semantic-warning-border)}.panel-danger{border-color:var(--semantic-danger-border)}.panel-info{border-color:var(--semantic-info-border)}
:root{--bg-color:#050505;--bg-gradient:radial-gradient(circle at top,#111115,#050505 70%);--accent-neon:#7c3aed;--accent-cyan:#06b6d4;--text-main:#f8fafc;--text-muted:#94a3b8;--glass-bg:#ffffff08;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;font-family:var(--font-body);background:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-main);scroll-behavior:smooth;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.02em}a{color:inherit;text-decoration:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;transition:transform .4s,background .3s;box-shadow:0 8px 32px #0000004d}.glass-btn{color:var(--text-main);cursor:pointer;padding:15px 40px;font-size:1.1rem;font-weight:600;display:inline-block}.glass-btn-primary{transition:transform .3s,background .3s}.glass-btn-primary:hover{background:#ffffff1a;transform:translateY(-5px)}.glass-btn-outline{border:1px solid var(--glass-border);border-radius:20px;transition:background .3s}.glass-btn-outline:hover{background:#ffffff0d}.portfolio-card{cursor:pointer;height:350px;position:relative;overflow:hidden}.portfolio-card:hover{transform:scale(1.02)}.portfolio-card .overlay{opacity:0;flex-direction:column;justify-content:flex-end;padding:30px;transition:opacity .3s;display:flex;position:absolute;inset:0}.portfolio-card:hover .overlay{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:1s cubic-bezier(.16,1,.3,1) forwards fadeIn}.text-gradient{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(90deg,var(--text-main),var(--text-muted))}.text-glow{text-shadow:0 0 20px #7c3aed4d}.chip{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.chip-accent{color:#e9d5ff;background:#7c3aed38;border:1px solid #7c3aed66}.chip-muted{color:var(--text-muted);border:1px solid var(--glass-border);background:#ffffff0d}.chip-tag{color:#a5f3fc;background:#06b6d41a;border:1px solid #06b6d440;padding:3px 9px;font-size:.72rem}.project-card{transition:transform .4s,border-color .3s;position:relative;overflow:hidden}.project-card:hover{border-color:#7c3aed66;transform:translateY(-4px)}.filter-tab{color:var(--text-muted);border:1px solid var(--glass-border);cursor:pointer;background:0 0;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:.92rem;font-weight:500;transition:background .25s,color .25s,border-color .25s}.filter-tab:hover{color:var(--text-main);background:#ffffff0a}.filter-tab-active{color:var(--text-main);background:#7c3aed2e;border-color:#7c3aed80}.filter-tab-count{color:var(--text-muted);margin-left:2px;font-size:.82rem}.filter-tab-active .filter-tab-count{color:#e9d5ff}.career-timeline{flex-direction:column;gap:24px;display:flex}.career-entry{padding:40px 40px 36px;position:relative}.career-header{border-bottom:1px solid var(--glass-border);margin-bottom:26px;padding-bottom:24px}.career-projects{flex-direction:column;gap:20px;list-style:none;display:flex}.career-project{background:#ffffff05;border:1px solid #ffffff0d;border-radius:14px;padding:20px 22px}@media (max-width:600px){.career-entry{padding:24px 20px 22px}.career-project{padding:16px}}.career-cards-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.career-ig-card{flex-direction:column;padding:24px 20px;display:flex}@media (max-width:1023px){.career-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.career-cards-grid{grid-template-columns:1fr}}.skill-cloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:900px;margin:0 auto;padding:20px 10px;display:flex}.skill-bubble{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;border-radius:999px;font-family:Outfit,sans-serif;font-weight:600;line-height:1.2;transition:transform .3s,border-color .3s}.skill-bubble:hover{transform:scale(1.08)}.skill-bubble.group-backend{border-color:#7c3aed73}.skill-bubble.group-frontend{border-color:#06b6d473}.skill-bubble.group-data{border-color:#06b6d459}.skill-bubble.group-infra{background:linear-gradient(135deg,#7c3aed26,#06b6d426);border-color:#ffffff2e}.skill-bubble.group-media{border-color:#7c3aed66}.skill-bubble.group-ai{background:linear-gradient(135deg,#7c3aed2e,#06b6d42e);border-color:#fff3}.stack-layers{flex-direction:column;gap:8px;max-width:900px;margin:0 auto;display:flex}.stack-layer{background:var(--glass-bg);border:1px solid var(--glass-border);border-left:3px solid var(--accent-neon);border-image:var(--layer-color,none);border-image-slice:1;border-radius:12px;grid-template-columns:110px 1fr;align-items:center;gap:16px;padding:14px 20px;transition:transform .3s;display:grid}.stack-layer:hover{transform:translate(4px)}.stack-layer h4{color:var(--text-main);margin:0;font-family:Outfit,sans-serif;font-size:1rem;font-weight:700}.stack-items{flex-wrap:wrap;gap:8px;display:flex}.stack-chip{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;padding:4px 10px;font-size:.85rem}@media (max-width:600px){.stack-layer{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){.skill-bubble,.stack-layer{transition:none}}
