.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:var(--color-text-inverse);padding:var(--space-5) var(--space-4);transition:all var(--transition-normal);display:flex;flex-direction:column}.sidebar .visitor-counter{margin-top:auto}.logo{font-weight:var(--font-extrabold);font-size:var(--text-2xl);margin-bottom:var(--space-5);color:var(--color-text-inverse);letter-spacing:-.025em;line-height:var(--leading-tight)}.sidebar nav{display:grid;gap:var(--space-2);flex-grow:1;flex-shrink:0}.sidebar .nav-item{color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-base);transition:all var(--transition-smooth);position:relative;overflow:hidden;cursor:pointer}.sidebar .nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--transition-normal)}.sidebar .nav-item:hover{background:#ffffff26;transform:translate(4px);box-shadow:var(--shadow-md)}.sidebar .nav-item:hover:before{left:100%}.sidebar .nav-item:active,.sidebar .nav-item.active{background:var(--color-accent);color:var(--color-text-inverse);transform:translate(6px) scale(1.02);box-shadow:var(--shadow-lg)}.sidebar .nav-item:active:after,.sidebar .nav-item.active:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-text-inverse);border-radius:0 var(--radius-sm) var(--radius-sm) 0;animation:slideIn var(--transition-bounce)}@keyframes slideIn{0%{width:0;opacity:0}to{width:4px;opacity:1}}.sidebar .nav-item:focus{outline:2px solid var(--color-text-inverse);outline-offset:2px}@media (max-width: 768px){.sidebar{height:auto;position:sticky;top:0;z-index:40;padding:var(--space-3);border-bottom:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-direction:column}.logo{font-size:var(--text-xl);margin-bottom:var(--space-4)}.sidebar nav{display:flex;align-items:center;gap:var(--space-3);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;padding-bottom:var(--space-2);flex-grow:1;flex-shrink:1;min-width:0;mask-image:linear-gradient(to right,transparent 0,black var(--space-4),black calc(100% - var(--space-4)),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--space-4),black calc(100% - var(--space-4)),transparent 100%)}.sidebar .visitor-counter{margin-left:auto;margin-top:0;flex-shrink:0}.sidebar .nav-item{flex:0 0 auto;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3) var(--space-4);min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-lg);scroll-snap-align:start;transition:all var(--transition-smooth);border:1px solid rgba(255,255,255,.1);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden}.sidebar .nav-item:before{left:-100%}.sidebar .nav-item:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px) scale(1.02)}.sidebar .nav-item:hover:before{left:100%}.sidebar .nav-item:active,.sidebar .nav-item.active{background:var(--color-accent);border-color:var(--color-accent);transform:translateY(0) scale(.98);box-shadow:var(--shadow-md)}.sidebar nav::-webkit-scrollbar{height:8px}.sidebar nav::-webkit-scrollbar-track{background:#ffffff1a;border-radius:var(--radius-full);margin:0 var(--space-4)}.sidebar nav::-webkit-scrollbar-thumb{background:#fff6;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1)}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#fff9}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{padding:var(--space-6) var(--space-4)}.logo{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.sidebar .nav-item{padding:var(--space-3) var(--space-3);font-size:var(--text-sm)}}@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape){.sidebar{padding:var(--space-5) var(--space-3)}.logo{font-size:var(--text-xl);margin-bottom:var(--space-5)}.sidebar nav{gap:var(--space-1)}.sidebar .nav-item{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}}@media (min-width: 1024px){.sidebar{padding:var(--space-10) var(--space-6);border-right:1px solid rgba(255,255,255,.1)}.logo{font-size:var(--text-3xl);margin-bottom:var(--space-10);letter-spacing:-.05em}.sidebar nav{gap:var(--space-3)}.sidebar .nav-item{padding:var(--space-4) var(--space-5);font-size:var(--text-base);position:relative;overflow:visible}.sidebar .nav-item:hover{transform:translate(8px);box-shadow:var(--shadow-lg)}.sidebar .nav-item:active,.sidebar .nav-item.active{transform:translate(12px);box-shadow:var(--shadow-xl)}}@media (min-width: 1440px){.sidebar{padding:var(--space-12) var(--space-8)}.logo{font-size:var(--text-4xl);margin-bottom:var(--space-12)}.sidebar nav{gap:var(--space-4)}.sidebar .nav-item{padding:var(--space-5) var(--space-6);font-size:var(--text-lg)}}@media (min-width: 1920px){.sidebar{padding:var(--space-16) var(--space-10)}.logo{font-size:var(--text-4xl);margin-bottom:var(--space-16)}.sidebar .nav-item{padding:var(--space-6) var(--space-8);font-size:var(--text-xl)}}.visitor-counter{margin-top:auto;padding:var(--space-3);text-align:center;font-size:var(--text-xs);color:#fff9;font-weight:var(--font-medium);border-top:1px solid rgba(255,255,255,.1);transition:all var(--transition-smooth)}.visitor-counter__label{display:inline-block;margin-right:var(--space-2);font-weight:var(--font-normal);opacity:.8}.visitor-counter__count{display:inline-block;font-weight:var(--font-semibold);color:#ffffffe6;background:#ffffff0d;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1)}.visitor-counter:hover{color:#fffc;border-top-color:#fff3}.visitor-counter:hover .visitor-counter__count{background:#ffffff1a;border-color:#fff3;color:var(--color-text-inverse)}@media (max-width: 768px){.visitor-counter{margin-top:0;margin-left:auto;padding:var(--space-2) var(--space-3);border-top:none;border-left:1px solid rgba(255,255,255,.1);flex-shrink:0;white-space:nowrap;display:flex;align-items:center;min-height:44px}.visitor-counter__label,.visitor-counter__count{font-size:var(--text-xs)}.visitor-counter__label{margin-right:var(--space-1)}.visitor-counter__count{padding:var(--space-1)}}@media (min-width: 768px) and (max-width: 1023px){.visitor-counter{padding:var(--space-3) var(--space-4);font-size:var(--text-xs)}}@media (min-width: 1024px){.visitor-counter{padding:var(--space-4) var(--space-5);font-size:var(--text-sm)}.visitor-counter__count{padding:var(--space-2) var(--space-3)}}@media (min-width: 1440px){.visitor-counter{padding:var(--space-5) var(--space-6)}}@media (min-width: 1920px){.visitor-counter{padding:var(--space-6) var(--space-8);font-size:var(--text-base)}}@media (prefers-reduced-motion: reduce){.visitor-counter,.visitor-counter__count{transition:none}}@media (prefers-contrast: high){.visitor-counter{color:var(--color-text-inverse);border-top-color:var(--color-text-inverse)}.visitor-counter__count{background:transparent;border-color:var(--color-text-inverse);color:var(--color-text-inverse)}}@media (forced-colors: active){.visitor-counter{color:ButtonText;border-top-color:ButtonText}.visitor-counter__count{background:ButtonFace;border-color:ButtonText;color:ButtonText}}section{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}section h2{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-accent);margin-bottom:var(--space-4);line-height:var(--leading-snug);letter-spacing:-.025em}section p{line-height:var(--leading-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-4)}.meta{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);margin-bottom:var(--space-2)}section>*+*{margin-top:var(--space-4)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.tag{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);border:1px solid var(--color-border-light);transition:all var(--transition-bounce);white-space:nowrap;cursor:pointer;position:relative;overflow:hidden}.tag:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:var(--color-accent);border-radius:50%;transition:all var(--transition-bounce);transform:translate(-50%,-50%);z-index:-1}.tag:hover{color:var(--color-text-inverse);border-color:var(--color-accent);transform:translateY(-1px) scale(1.05)}.tag:hover:before{width:200%;height:200%}.tag:active{transform:translateY(0) scale(.95)}.tag:focus{outline:2px solid var(--color-accent);outline-offset:2px}section>.tag-list{margin-top:var(--space-6)}.simple-list{margin:0;padding:0}.simple-item{margin-bottom:8px;padding:8px 0;border-bottom:1px solid #e5e7eb}.simple-item:last-child{border-bottom:none;margin-bottom:0}.simple-content{line-height:1.5;font-size:16px}.simple-content strong{color:#111827;font-weight:600}.simple-content span{color:#374151}.simple-content a{color:#3b82f6;text-decoration:none}.simple-content a:hover{text-decoration:underline}.experience-simple-list{margin:0;padding:0}.experience-simple-item{margin-bottom:20px;padding:12px 0;border-bottom:1px solid #e5e7eb}.experience-simple-item:last-child{border-bottom:none;margin-bottom:0}.experience-simple-header{line-height:1.4;font-size:16px;margin-bottom:4px}.experience-simple-header strong{color:#111827;font-weight:600}.experience-simple-header span{color:#374151}.compact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.compact-item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);transition:all var(--transition-fast);overflow:visible}.compact-item:last-child{border-bottom:none;padding-bottom:var(--space-3)}.compact-item:hover{background:var(--color-bg-tertiary);margin:0 calc(-1 * var(--space-2));padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);border-bottom:1px solid transparent;overflow:visible}.compact-item:hover:last-child{border-bottom:none}.compact-content{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);line-height:var(--leading-normal);min-height:36px;padding:var(--space-1) 0}.compact-title{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-base);line-height:var(--leading-normal)}.compact-sub{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.compact-meta{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.compact-link{color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-left:auto;min-height:32px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-sizing:border-box}.compact-link:hover{background:var(--color-accent);color:var(--color-text-inverse);transform:none;text-decoration:none}.compact-content-link-only{justify-content:flex-start}.compact-content-link-only .compact-link{margin-left:0}.compact-description{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.compact-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.compact-tag{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}@media (max-width: 768px){.compact-content{flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:36px}.compact-link{margin-left:0;align-self:flex-start;min-height:36px;padding:var(--space-2) var(--space-3)}.compact-content-link-only .compact-link{margin-left:0}.compact-title{font-size:var(--text-sm)}.compact-sub,.compact-meta{font-size:var(--text-xs)}}section{margin-bottom:var(--space-16);padding:var(--space-8)}section>*{margin-bottom:var(--space-6)}section>*:last-child{margin-bottom:0}section p+p{margin-top:var(--space-4)}section ul:not(.card-list),section ol{margin:var(--space-4) 0;padding-left:var(--space-6)}section li{margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}section a:not(.card a){color:var(--color-accent);text-decoration:none;font-weight:var(--font-medium);border-bottom:1px solid transparent;transition:all var(--transition-fast);position:relative}section a:not(.card a):hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}section a:not(.card a):focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}section>div+div{margin-top:var(--space-6)}section .meta+.meta{margin-top:var(--space-1)}@media (max-width: 768px){section{margin-bottom:var(--space-8);padding:var(--space-5);border-radius:var(--radius-md)}section h2{font-size:var(--text-xl);margin-bottom:var(--space-5);line-height:var(--leading-tight)}.tag-list{gap:var(--space-2);margin-top:var(--space-5)}.tag{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:32px;display:inline-flex;align-items:center}}@media (max-width: 480px){section{padding:var(--space-4);margin-bottom:var(--space-6)}}@media (min-width: 768px) and (max-width: 1023px){section{padding:var(--space-8) var(--space-6);margin-bottom:var(--space-10)}section h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.tag-list{gap:var(--space-2)}.tag{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}}@media (min-width: 768px) and (max-width: 1023px) and (orientation: portrait){.grid-2{grid-template-columns:1fr;gap:var(--space-4)}}@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}section{padding:var(--space-6)}}@media (min-width: 1024px){section{padding:var(--space-10);margin-bottom:var(--space-12);border-radius:var(--radius-xl);transition:all var(--transition-smooth);position:relative;overflow:hidden}section:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.02),transparent);transition:left var(--transition-slow)}section:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}section:hover:before{left:100%}section h2{font-size:var(--text-3xl);margin-bottom:var(--space-8)}.tag-list{gap:var(--space-3)}.tag{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);transition:all var(--transition-bounce)}.tag:hover{transform:translateY(-2px) scale(1.1);box-shadow:var(--shadow-md)}}@media (min-width: 1440px){section{padding:var(--space-12);margin-bottom:var(--space-16)}section h2{font-size:var(--text-3xl);margin-bottom:var(--space-10)}}@media (min-width: 1920px){section{padding:var(--space-16);margin-bottom:var(--space-20)}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-semibold);z-index:10000;transition:top var(--transition-fast)}.skip-link:focus{top:6px;outline:2px solid var(--color-text-inverse);outline-offset:2px}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--color-bg-secondary);gap:0}.app-content{padding:var(--space-6) var(--space-5);overflow:hidden;max-width:100%}.app-shell>*,.app-shell,.app-content,section,.card,.sidebar,nav{min-width:0}section{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}section:hover{box-shadow:var(--shadow-md)}section h2{margin:0 0 var(--space-4);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-snug);color:var(--color-accent)}.meta{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.list-reset{list-style:none;padding:0;margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--color-bg-tertiary);color:var(--color-accent);border:1px solid var(--color-border-light);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);max-width:100%;white-space:normal;overflow-wrap:anywhere;transition:all var(--transition-fast)}.tag:hover{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.app-shell{grid-template-columns:1fr}.app-content{padding:var(--space-3) var(--space-3);min-height:calc(100vh - 120px)}section{padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md)}.grid-2{grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 768px){.app-shell{grid-template-columns:240px 1fr;gap:var(--space-4)}.app-content{padding:var(--space-5) var(--space-4);max-width:none}section{padding:var(--space-5);margin-bottom:var(--space-6);border-radius:var(--radius-lg)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}}@media (min-width: 768px) and (max-width: 1023px){.app-shell{grid-template-columns:220px 1fr}.app-content{padding:var(--space-5) var(--space-4)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}@media (min-width: 1024px){.app-shell{grid-template-columns:280px 1fr;gap:var(--space-6)}.app-content{padding:var(--space-6) var(--space-5);max-width:none}section{padding:var(--space-6);margin-bottom:var(--space-6);border-radius:var(--radius-xl)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}}@media (min-width: 1440px){.app-shell{grid-template-columns:320px 1fr;max-width:1600px;margin:0 auto}.app-content{padding:var(--space-8) var(--space-6)}section{padding:var(--space-8);margin-bottom:var(--space-8)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}}@media (min-width: 1920px){.app-shell{grid-template-columns:360px 1fr;max-width:1800px}.app-content{padding:var(--space-10) var(--space-8)}.grid-2{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10)}}html,body{overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}p,li,.meta{overflow-wrap:anywhere;word-break:normal}a{overflow-wrap:anywhere;word-break:break-all}.go-top{position:fixed;right:var(--space-4);bottom:var(--space-4);width:48px;height:48px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-xl);line-height:1;display:grid;place-items:center;box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-normal);z-index:9999;opacity:.95}.go-top:active{transform:translateY(0)}html{font-size:clamp(16px,2.5vw,18px)}@media (max-width: 768px){html{font-size:16px}body{line-height:var(--leading-relaxed);-webkit-text-size-adjust:100%;text-size-adjust:100%}h1{font-size:var(--text-3xl);line-height:var(--leading-tight)}h2{font-size:var(--text-xl);line-height:var(--leading-snug)}h3{font-size:var(--text-lg);line-height:var(--leading-snug)}p{line-height:var(--leading-loose);margin-bottom:var(--space-5)}a{min-height:44px;display:inline-flex;align-items:center;padding:var(--space-1) 0}}p,li{margin-bottom:var(--space-4);line-height:var(--leading-relaxed);color:var(--color-text-primary)}ul,ol{margin:0 0 var(--space-4) 0;padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}a{color:var(--color-accent);text-decoration:none;transition:all var(--transition-fast);font-weight:var(--font-medium)}a:hover{color:var(--color-accent-hover);text-decoration:underline}*+h1,*+h2,*+h3{margin-top:var(--space-8)}.content-spacing>*+*{margin-top:var(--space-4)}.content-spacing>h2+*,.content-spacing>h3+*{margin-top:var(--space-3)}.go-top{position:fixed;right:var(--space-4);bottom:var(--space-4);width:56px;height:56px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-xl);line-height:1;display:grid;place-items:center;box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-normal);z-index:9999;opacity:.95;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.go-top:hover{opacity:1;background:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.go-top:active{transform:translateY(0);background:var(--color-accent-hover)}.go-top:focus{outline:3px solid var(--color-text-inverse);outline-offset:2px}@media (max-width: 768px){.go-top:active{transform:scale(.95);transition:transform .1s ease}}@media (min-width: 768px){.go-top{display:none}}@media (min-width: 1024px){section{transition:all var(--transition-normal)}section:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}section:focus-within{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-xl)}a:hover{transition:all var(--transition-fast)}.tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}@media (min-width: 1024px){p,li{line-height:var(--leading-relaxed)}.meta{font-size:var(--text-sm);line-height:var(--leading-normal)}}:root{--color-primary: #0f172a;--color-secondary: #1e293b;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-border-light: #e2e8f0;--color-border-medium: #cbd5e1;--color-border-strong: #94a3b8;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--transition-smooth: .2s cubic-bezier(.4, 0, .2, 1);--hover-scale: 1.02;--active-scale: .98;--lift-distance: -2px;--lift-distance-large: -4px;--card-bg: var(--color-bg-primary);--card-border: var(--color-border-light);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-radius: var(--radius-lg);--bg: var(--color-bg-secondary);--panel: var(--color-bg-primary);--text: var(--color-text-primary);--muted: var(--color-text-muted);--primary: var(--color-primary);--accent: var(--color-accent);--border: var(--color-border-light);--radius: var(--radius-lg);--shadow: var(--shadow-md)}*{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;padding:0;font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none;transition:all var(--transition-smooth);position:relative}a:hover{color:var(--color-accent-hover);text-decoration:underline;transform:translateY(-1px)}a:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm);transform:translateY(-1px)}a:active{transform:translateY(0)}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text-primary);margin-bottom:var(--space-3)}h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);line-height:var(--leading-tight);color:var(--color-primary)}h2{font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-snug);color:var(--color-accent)}h3{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--color-text-primary)}p{margin:0 0 var(--space-3) 0;line-height:var(--leading-relaxed);color:var(--color-text-primary)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-inverse{color:var(--color-text-inverse)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.border-light{border-color:var(--color-border-light)}.border-medium{border-color:var(--color-border-medium)}.border-strong{border-color:var(--color-border-strong)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.transition-bounce{transition:all var(--transition-bounce)}.transition-smooth{transition:all var(--transition-smooth)}.hover-lift:hover{transform:translateY(var(--lift-distance))}.hover-lift-large:hover{transform:translateY(var(--lift-distance-large))}.hover-scale:hover{transform:scale(var(--hover-scale))}.active-scale:active{transform:scale(var(--active-scale))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--transition-fast: .01ms;--transition-normal: .01ms;--transition-slow: .01ms;--transition-bounce: .01ms;--transition-smooth: .01ms;--hover-scale: 1;--active-scale: 1;--lift-distance: 0px;--lift-distance-large: 0px}.hover-lift:hover,.hover-lift-large:hover,.hover-scale:hover,.active-scale:active{transform:none!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:shimmer 2s infinite}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm);transition:outline var(--transition-fast)}button,[role=button],.btn{transition:all var(--transition-smooth);cursor:pointer;position:relative;overflow:hidden}button:hover,[role=button]:hover,.btn:hover{transform:translateY(-1px)}button:active,[role=button]:active,.btn:active{transform:translateY(0) scale(.98)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){.animate-fade-in-up,.animate-pulse,.animate-shimmer{animation:none!important}html{scroll-behavior:auto}@keyframes fadeInUp{0%,to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}}@keyframes shimmer{0%,to{background-position:0 0}}@keyframes slideIn{0%,to{width:4px;opacity:1}}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#f8fafc;color:#0f172a;line-height:1.625}section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2.5rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}section h2{color:#3b82f6;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.sidebar{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:2rem 1.25rem}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px #0000000d}.tag{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:9999px;padding:.5rem .75rem;font-size:.875rem;font-weight:500}a{color:#3b82f6}a:hover{color:#2563eb}}@supports (-webkit-appearance: none){.sidebar{-webkit-backdrop-filter:blur(8px)}.sidebar nav::-webkit-scrollbar{height:8px}.sidebar nav::-webkit-scrollbar-track{background:#ffffff1a;border-radius:9999px}.sidebar nav::-webkit-scrollbar-thumb{background:#fff6;border-radius:9999px}}@-moz-document url-prefix(){.sidebar nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.4) rgba(255,255,255,.1)}*:focus{outline:2px solid #3b82f6;outline-offset:2px}}@supports (-ms-ime-align: auto){.app-shell{display:-ms-grid;-ms-grid-columns:280px 1fr}.sidebar{-ms-grid-column:1}.app-content{-ms-grid-column:2}}.tag-list,.experience-meta{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports not (display: grid){.app-shell{display:table;width:100%;table-layout:fixed}.sidebar{display:table-cell;width:280px;vertical-align:top}.app-content{display:table-cell;vertical-align:top}.grid-2{display:block}.grid-2>*{display:inline-block;width:48%;vertical-align:top;margin-right:2%}.grid-2>*:nth-child(2n){margin-right:0}}@supports not (transform: translateY(-2px)){.card:hover,section:hover,.tag:hover{margin-top:-2px;margin-bottom:2px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.sidebar{display:none}.app-shell{display:block}.app-content{padding:0}section{break-inside:avoid;margin-bottom:1rem;padding:1rem;border:1px solid #ccc}.go-top{display:none}}@media (prefers-contrast: high){:root{--color-text-primary: #000000;--color-bg-primary: #ffffff;--color-accent: #0000ff;--color-border-light: #000000}section{border:2px solid black}.card{border:1px solid black}.tag{border:1px solid black;background:#fff;color:#000}}@media (forced-colors: active){section{border:1px solid ButtonText;background:ButtonFace}.card{border:1px solid ButtonText;background:ButtonFace}.sidebar{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}a{color:LinkText}a:hover{color:VisitedText}}
