.app{min-height:100vh;overflow-x:hidden}.app section{padding:100px 0;position:relative;background:transparent}.app .hero~section{padding-top:160px;scroll-margin-top:100px}.app h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;color:var(--text-primary);transition:color var(--duration-normal) var(--ease-default)}.wip-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--warning, #c49234);background:var(--warning-muted, rgba(196, 146, 52, .12));border:1px solid var(--warning, #c49234);border-radius:var(--radius-sm);padding:4px 12px;margin-left:10px;vertical-align:middle;opacity:.85}.wip-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warning, #c49234);animation:wip-pulse 2s ease-in-out infinite}@keyframes wip-pulse{0%,to{opacity:1}50%{opacity:.3}}[data-style="8bit"] .wip-chip{border-radius:0}[data-style="8bit"] .wip-chip:before{border-radius:0}@media(max-width:768px){.app section{padding:70px 0}.app .hero~section{padding-top:120px;scroll-margin-top:80px}.app h2{font-size:2rem}}.os-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;font-family:var(--font-mono);color:var(--text-primary);background:radial-gradient(ellipse at 20% 10%,color-mix(in srgb,var(--accent) 18%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 90% 85%,color-mix(in srgb,var(--accent) 12%,transparent) 0%,transparent 50%),var(--bg-primary)}.os-menubar{position:fixed;top:0;left:0;right:0;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:.72rem;font-weight:500;letter-spacing:.01em;color:var(--text-primary);background:color-mix(in srgb,var(--bg-primary) 40%,rgba(0,0,0,.2));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--glass-border);z-index:1000;-webkit-user-select:none;user-select:none}[data-theme=light] .os-menubar{background:color-mix(in srgb,#ffffff 60%,transparent)}.os-menubar__left,.os-menubar__right{display:flex;align-items:center;gap:14px}.os-menubar__logo{font-size:.95rem;line-height:1;opacity:.85}.os-menubar__active{font-weight:700}.os-menubar__clock{font-variant-numeric:tabular-nums;opacity:.85}.os-menubar__spotlight{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:5px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--text-primary) 6%,transparent);color:var(--text-primary);font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.02em;cursor:pointer;opacity:.75;transition:opacity .12s ease,background .12s ease}.os-menubar__spotlight kbd{all:unset;font-family:inherit;font-size:inherit;letter-spacing:.02em}.os-menubar__spotlight:hover{opacity:1;background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}[data-style="8bit"] .os-menubar__spotlight{border-radius:0}.os-desktop{position:absolute;top:28px;left:0;right:0;bottom:0;overflow:hidden}.os-window{position:absolute;top:0;left:0;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 1px #ffffff14 inset,0 30px 60px -15px #00000073,0 10px 25px -10px #0000004d;overflow:hidden;min-width:320px;min-height:200px}[data-theme=light] .os-window{background:color-mix(in srgb,#ffffff 92%,transparent);box-shadow:0 1px #fff9 inset,0 30px 60px -15px #00000038,0 10px 25px -10px #0000001f}.os-window--minimized{pointer-events:none;opacity:0;transform:scale(.8) translateY(80vh);transition:transform .25s ease,opacity .25s ease}.os-window--maximized{border-radius:0;border-left:none;border-right:none}.os-window__titlebar{display:flex;align-items:center;gap:12px;padding:8px 12px;height:36px;border-bottom:1px solid var(--glass-border);-webkit-user-select:none;user-select:none;cursor:grab;background:color-mix(in srgb,var(--bg-secondary, var(--bg-primary)) 50%,transparent)}.os-window__titlebar:active{cursor:grabbing}.os-window__traffic{display:flex;gap:8px;flex-shrink:0}.os-window__light{width:12px;height:12px;border-radius:50%;border:none;padding:0;cursor:pointer;position:relative;transition:filter .15s ease}.os-window__light--close{background:#ff5f57;box-shadow:inset 0 0 0 .5px #0003}.os-window__light--min{background:#febc2e;box-shadow:inset 0 0 0 .5px #0003}.os-window__light--max{background:#28c840;box-shadow:inset 0 0 0 .5px #0003}.os-window__light{display:inline-flex;align-items:center;justify-content:center;color:#0000008c;font-size:9px;line-height:1}.os-window__light-glyph{opacity:0;transition:opacity .12s ease;font-weight:700;pointer-events:none}.os-window__titlebar:hover .os-window__light-glyph{opacity:1}.os-window__light:hover{filter:brightness(1.08)}.os-window__title{flex:1;text-align:center;font-size:.78rem;font-weight:600;color:var(--text-primary);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-window__titlebar-spacer{width:52px;flex-shrink:0}.os-window__body{flex:1;overflow:auto;min-height:0;color:var(--text-primary)}.os-window__loading{padding:24px;opacity:.6;font-size:.85rem}.os-dock{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:900;pointer-events:none}.os-dock__surface{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--bg-primary) 60%,rgba(255,255,255,.05));backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 1px #ffffff1a inset,0 16px 40px -12px #0006;pointer-events:auto}[data-theme=light] .os-dock__surface{background:color-mix(in srgb,#ffffff 70%,transparent);box-shadow:0 1px #fffc inset,0 16px 40px -12px #0000002e}.os-dock__icon{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--glass-border);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--bg-secondary, var(--bg-primary)));cursor:pointer;transition:transform .15s cubic-bezier(.2,.8,.2,1),background .15s ease;color:var(--text-primary)}.os-dock__icon:hover{transform:translateY(-6px) scale(1.1);background:color-mix(in srgb,var(--accent) 20%,var(--bg-secondary, var(--bg-primary)))}.os-dock__glyph{font-size:1.8rem;line-height:1;color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.os-dock__glyph svg{width:26px;height:26px}.os-dock__label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:3px 8px;font-size:.7rem;white-space:nowrap;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s ease}.os-dock__icon:hover .os-dock__label{opacity:1}.os-dock__dot{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--text-primary);opacity:.7}.os-dock__separator{width:1px;align-self:stretch;margin:4px;background:var(--glass-border);opacity:.8}[data-style="8bit"] .os-dock__separator{width:2px;opacity:1}.os-app-terminal{height:100%;padding:14px;display:flex;justify-content:center;align-items:stretch;background:var(--bg-primary)}.os-app-terminal .chat-terminal{max-width:100%;width:100%;height:100%;border:none;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;transform:none;filter:none}.os-app-terminal .chat-terminal__body{max-height:none;flex:1 1 0;min-height:0}.os-app-terminal .chat-prompts,.os-app-terminal .chat-input-form{flex-shrink:0}.os-app-finder{display:grid;grid-template-columns:180px 1fr;height:100%;font-size:.82rem}.os-finder__sidebar{display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-secondary, var(--bg-primary)) 70%,transparent)}.os-finder__sidebar-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5;padding:4px 8px}.os-finder__sidebar-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:inherit;cursor:pointer;text-align:left;transition:background .15s ease}.os-finder__sidebar-item:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent)}.os-finder__sidebar-item--active{background:color-mix(in srgb,var(--accent) 20%,transparent);font-weight:600}.os-finder__sidebar-item:disabled{opacity:.4;cursor:default}.os-finder__main{display:flex;flex-direction:column;min-width:0}.os-finder__pathbar{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:.72rem;opacity:.7;border-bottom:1px solid var(--glass-border)}.os-finder__chevron{opacity:.5}.os-finder__list{list-style:none;margin:0;padding:6px;overflow:auto;flex:1}.os-finder__row{display:grid;grid-template-columns:28px 1fr 1.2fr .8fr;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:1px solid transparent;border-radius:6px;color:inherit;font-family:inherit;font-size:inherit;text-align:left;text-decoration:none;cursor:pointer}.os-finder__row:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.os-finder__row--disabled{cursor:default;opacity:.55}.os-finder__row--disabled:hover{background:transparent}.os-finder__icon{font-size:1.1rem}.os-finder__name{font-weight:600}.os-finder__meta{font-size:.75rem;opacity:.65}.os-finder__meta--year{text-align:right}.os-app-about{padding:28px 32px;font-size:.85rem;line-height:1.6}.os-app-about__meta{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:8px}.os-app-about h1{font-size:1.6rem;margin:0 0 10px;font-family:var(--font-mono)}.os-app-about h2{font-size:1rem;margin:20px 0 10px;opacity:.8;font-family:var(--font-mono)}.os-app-about__grid{display:flex;flex-direction:column;gap:14px}.os-app-about__card{padding:14px;border:1px solid var(--glass-border);border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,transparent)}.os-app-about__num{font-size:.7rem;letter-spacing:.08em;opacity:.5}.os-app-about__card h3{margin:4px 0 6px;font-size:1rem}.os-app-about__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:.72rem;opacity:.7}.os-app-settings{padding:24px;display:flex;flex-direction:column;gap:18px}.os-settings__panel h2{font-size:1.05rem;margin:0 0 4px}.os-settings__hint{margin:0 0 18px;opacity:.65;font-size:.8rem;line-height:1.5}.os-settings__row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--glass-border)}.os-settings__row:first-of-type{border-top:none}.os-settings__label{display:block;font-weight:600;font-size:.85rem;margin-bottom:2px}.os-settings__sub{margin:0;font-size:.74rem;opacity:.6}.os-window__resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 55%,color-mix(in srgb,var(--text-primary) 25%,transparent) 55% 62%,transparent 62% 75%,color-mix(in srgb,var(--text-primary) 25%,transparent) 75% 82%,transparent 82%)}.os-app-music{display:flex;flex-direction:column;gap:18px;padding:22px 0 18px;height:100%}.os-app-music__header{padding:0 24px}.os-app-music__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.os-app-music h1{margin:4px 0 6px;font-size:1.3rem}.os-app-music p{margin:0;opacity:.7;font-size:.8rem}.os-app-music__state{padding:24px;opacity:.6;font-size:.85rem;text-align:center}.os-app-music__cards{display:flex;flex-wrap:wrap;gap:24px;padding:16px 24px 8px;justify-content:center}.os-app-music__card-link{flex-shrink:0;text-decoration:none;display:block}.os-app-music__attribution{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.72rem;color:var(--text-tertiary);opacity:.65}.os-app-music__spotify-icon{width:14px;height:14px}.os-app-mail{display:grid;grid-template-columns:160px 1fr;height:100%}.os-app-mail__sidebar{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-secondary, var(--bg-primary)) 70%,transparent)}.os-app-mail__sidebar-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5;padding:4px 8px}.os-app-mail__sidebar-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:none;border:none;border-radius:6px;font-family:inherit;font-size:.82rem;color:var(--text-primary);cursor:pointer;text-align:left}.os-app-mail__sidebar-item--active{background:color-mix(in srgb,var(--accent) 20%,transparent);font-weight:600}.os-app-mail__sidebar-item:disabled{opacity:.4;cursor:default}.os-app-mail__count{margin-left:auto;font-size:.7rem;opacity:.6;font-variant-numeric:tabular-nums}.os-app-mail__list{overflow:auto;padding:6px}.os-app-mail__row{display:grid;grid-template-columns:8px 1fr 16px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;color:var(--text-primary);border-bottom:1px solid var(--glass-border);transition:background .12s ease}.os-app-mail__row:last-child{border-bottom:none}.os-app-mail__row:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.os-app-mail__dot{width:8px;height:8px;border-radius:50%;align-self:start;margin-top:6px}.os-app-mail__from{font-weight:700;font-size:.84rem}.os-app-mail__subject{font-size:.78rem;opacity:.85;margin-top:2px}.os-app-mail__preview{font-size:.72rem;opacity:.6;margin-top:4px}.os-app-mail__chevron{opacity:.4;font-size:1rem}.os-app-project{padding:28px 32px;line-height:1.65}.os-app-project--empty{opacity:.6;font-size:.9rem}.os-app-project__header{margin-bottom:14px}.os-app-project__meta{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin-bottom:6px}.os-app-project h1{margin:0;font-size:1.6rem;font-family:var(--font-mono)}.os-app-project__blurb{font-size:.92rem;opacity:.85}.os-app-project__actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.os-app-project__cta{padding:7px 14px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--text-primary);background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease}.os-app-project__cta:hover{background:color-mix(in srgb,var(--accent) 28%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.os-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.os-boot__center{display:flex;flex-direction:column;align-items:center;gap:18px}.os-boot__logo{font-size:2.4rem;opacity:.9;animation:bootPulse 1.4s ease-in-out infinite}.os-boot__bar{width:200px;height:2px;background:#ffffff26;border-radius:2px;overflow:hidden}.os-boot__bar-fill{height:100%;background:#fffc}.os-boot__hint{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.35}@keyframes bootPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.os-spotlight__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:#0000002e;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:18vh}.os-spotlight{width:min(560px,92vw);border-radius:14px;background:color-mix(in srgb,var(--bg-primary) 70%,rgba(255,255,255,.05));backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-border);box-shadow:0 1px #ffffff1a inset,0 30px 60px -15px #00000073;overflow:hidden;font-family:var(--font-mono)}[data-theme=light] .os-spotlight{background:color-mix(in srgb,#ffffff 80%,transparent)}.os-spotlight__input{width:100%;padding:18px 22px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:1.2rem;font-weight:500;outline:none;caret-color:var(--accent)}.os-spotlight__input::placeholder{color:var(--text-secondary);opacity:.5}.os-spotlight__results{list-style:none;margin:0;padding:6px;border-top:1px solid var(--glass-border);max-height:320px;overflow:auto}.os-spotlight__row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-primary)}.os-spotlight__row--active{background:color-mix(in srgb,var(--accent) 28%,transparent)}.os-spotlight__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.os-spotlight__name{font-weight:600}.os-spotlight__hint{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5}.os-spotlight__empty{padding:18px 22px;border-top:1px solid var(--glass-border);opacity:.6;font-size:.85rem}.os-context{position:fixed;z-index:1400;min-width:200px;padding:5px;border-radius:8px;background:color-mix(in srgb,var(--bg-primary) 75%,rgba(255,255,255,.05));backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--glass-border);box-shadow:0 10px 28px -8px #00000080;font-family:var(--font-mono);transform-origin:top left}[data-theme=light] .os-context{background:color-mix(in srgb,#ffffff 90%,transparent)}.os-context__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;border-radius:5px;border:none;background:none;color:var(--text-primary);font-family:inherit;font-size:.78rem;text-align:left;text-decoration:none;cursor:pointer;transition:background .08s ease}.os-context__item:hover{background:color-mix(in srgb,var(--accent) 30%,transparent)}.os-context__item--secondary{opacity:.85}.os-context__shortcut{opacity:.5;font-size:.72rem;margin-left:14px}.os-context__divider{height:1px;margin:4px 8px;background:var(--glass-border)}.os-app-snake{display:flex;flex-direction:column;gap:10px;padding:16px;height:100%}.os-app-snake__head{display:flex;align-items:center;gap:16px;font-size:.8rem}.os-app-snake__score,.os-app-snake__best{display:flex;gap:6px;align-items:baseline;opacity:.85}.os-app-snake__score strong,.os-app-snake__best strong{font-size:1.1rem;color:var(--accent);font-variant-numeric:tabular-nums}.os-app-snake__btn{margin-left:auto;padding:6px 12px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--text-primary);background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;cursor:pointer;transition:background .1s ease}.os-app-snake__btn:hover{background:color-mix(in srgb,var(--accent) 30%,transparent)}.os-app-snake__board{flex:1;display:grid;gap:1px;padding:4px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);border:1px solid var(--glass-border);border-radius:6px;aspect-ratio:18 / 14;max-height:380px}.os-app-snake__cell{background:color-mix(in srgb,var(--bg-primary) 80%,transparent);border-radius:1px}.os-app-snake__cell.is-body{background:color-mix(in srgb,var(--accent) 70%,var(--bg-primary))}.os-app-snake__cell.is-head{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 70%,transparent)}.os-app-snake__cell.is-food{background:#ff5f57;border-radius:50%}.os-app-snake__foot{font-size:.75rem;opacity:.6;text-align:center}@keyframes dockBounce{0%,to{transform:translateY(0)}35%{transform:translateY(-22px) scale(1.08)}60%{transform:translateY(-6px)}80%{transform:translateY(-2px)}}.os-dock__icon--bouncing{animation:dockBounce .6s cubic-bezier(.2,.8,.2,1)}.os-widgets{position:absolute;top:16px;right:24px;bottom:110px;display:flex;flex-direction:column;gap:14px;pointer-events:none;z-index:1}.os-widget{width:240px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--bg-primary) 60%,rgba(255,255,255,.04));backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 1px #ffffff0f inset,0 12px 30px -10px #0000004d;color:var(--text-primary);font-family:var(--font-mono);cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;flex-shrink:0}[data-theme=light] .os-widget{background:color-mix(in srgb,#ffffff 80%,transparent)}.os-widget:active{cursor:grabbing}.os-widget__header{display:flex;align-items:center;justify-content:space-between}.os-widget__title{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);opacity:.95}.os-widget__extra{display:flex;align-items:center;gap:4px}.os-widget__body{display:flex;flex-direction:column;gap:4px}.os-widget__state{font-size:.75rem;opacity:.55;padding:2px 0}.os-widget-clock__time{font-size:2.2rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:flex;align-items:baseline}.os-widget-clock__colon{opacity:.8;animation:clockColonBlink 2s ease-in-out infinite}@keyframes clockColonBlink{50%{opacity:.3}}.os-widget-clock__seconds{font-size:1rem;opacity:.5;margin-left:4px}.os-widget-clock__date{font-size:.78rem;opacity:.8}.os-widget-clock__tz{font-size:.68rem;opacity:.72;font-variant-numeric:tabular-nums}.os-widget-weather__cities{display:inline-flex;gap:2px;padding:2px;border-radius:6px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);border:1px solid var(--glass-border)}.os-widget-weather__city{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-primary);opacity:.55;padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.04em;line-height:1;cursor:pointer;transition:opacity .12s ease,background .12s ease}.os-widget-weather__city:hover{opacity:.9}.os-widget-weather__city.is-active{opacity:1;color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}[data-style="8bit"] .os-widget-weather__cities,[data-style="8bit"] .os-widget-weather__city{border-radius:0}.os-widget-weather__row{display:flex;align-items:center;gap:10px}.os-widget-weather__icon{font-size:1.6rem;line-height:1}.os-widget-weather__temp{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.os-widget-weather__condition{font-size:.8rem;opacity:.85}.os-widget-weather__meta{font-size:.68rem;opacity:.72}.os-widget-system__rows{margin:0;display:flex;flex-direction:column;gap:5px;font-size:.72rem}.os-widget-system__rows>div{display:flex;justify-content:space-between;gap:10px}.os-widget-system__rows dt{opacity:.7;margin:0;flex-shrink:0}.os-widget-system__rows dd{margin:0;font-weight:500;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-widget-system__rows dd.is-ok{color:#28c840}.os-widget-system__rows dd.is-down{color:#ff5f57}.os-widget-system__status{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:500;color:#28c840;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:opacity .12s ease}.os-widget-system__status:hover{opacity:.75;text-decoration:underline;text-underline-offset:2px}.os-widget-gh__stats{display:flex;gap:18px}.os-widget-gh__stat{display:flex;flex-direction:column}.os-widget-gh__k{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.os-widget-gh__v{font-size:.62rem;opacity:.72;text-transform:uppercase;letter-spacing:.08em}.os-widget-gh__graph{display:grid;grid-template-columns:repeat(14,1fr);gap:3px}.os-widget-gh__cell{aspect-ratio:1;border-radius:2px;background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.os-widget-gh__cell--i1{background:color-mix(in srgb,var(--accent) 30%,transparent)}.os-widget-gh__cell--i2{background:color-mix(in srgb,var(--accent) 55%,transparent)}.os-widget-gh__cell--i3{background:color-mix(in srgb,var(--accent) 80%,transparent)}.os-widget-gh__cell--i4{background:var(--accent)}.os-widget-gh__latest{display:flex;justify-content:space-between;align-items:baseline;padding-top:6px;border-top:1px solid var(--glass-border);text-decoration:none;color:var(--text-primary);font-size:.72rem;transition:opacity .12s ease}.os-widget-gh__latest:hover{opacity:.7}.os-widget-gh__latest-repo{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.os-widget-gh__latest-time{opacity:.72;flex-shrink:0;margin-left:8px}@media(max-width:960px){.os-widgets{display:none}}[data-style="8bit"] .os-window,[data-style="8bit"] .os-dock__surface,[data-style="8bit"] .os-dock__icon,[data-style="8bit"] .os-window__light,[data-style="8bit"] .os-menubar,[data-style="8bit"] .os-finder__row,[data-style="8bit"] .os-app-about__card,[data-style="8bit"] .os-dock__label{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}[data-style="8bit"] .os-window,[data-style="8bit"] .os-dock__surface{border-width:2px}[data-style="8bit"] .os-app-project__cta,[data-style="8bit"] .os-app-mail__row,[data-style="8bit"] .os-app-mail__sidebar-item,[data-style="8bit"] .os-spotlight,[data-style="8bit"] .os-spotlight__row,[data-style="8bit"] .os-context,[data-style="8bit"] .os-context__item,[data-style="8bit"] .os-app-snake__board,[data-style="8bit"] .os-app-snake__cell,[data-style="8bit"] .os-app-snake__btn,[data-style="8bit"] .os-widget,[data-style="8bit"] .os-widget-gh__cell{border-radius:0}[data-style="8bit"] .os-widget{border-width:2px;backdrop-filter:none;-webkit-backdrop-filter:none}@media(max-width:767px){.os-root{display:none}}.os-mobile-fallback{display:none}@media(max-width:767px){.os-mobile-fallback{display:block}}.hero{position:relative;height:100vh;display:grid;place-items:center;background:transparent;color:var(--text-hero);padding:20px;transition:color var(--duration-normal) var(--ease-default)}.hero-content{width:100%;max-width:700px;padding:0 20px;display:flex;flex-direction:column;align-items:center;gap:24px}.hero-chat-header{text-align:center;animation:fadeInUp .6s var(--ease-out) backwards}.hero-typing{font-family:var(--font-heading);font-size:2.4rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;min-height:3.2rem}.hero-subtitle{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);opacity:.6;margin-top:8px;letter-spacing:.02em;animation:fadeInUp .6s var(--ease-out) .3s backwards}.hero-intro{font-size:1.4rem;font-weight:400;margin-bottom:.5rem;opacity:.8;letter-spacing:.05em}.hero-title{font-size:7rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.03em;line-height:1;color:var(--text-primary)}.hero-roles{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.4rem;font-weight:500;margin-bottom:2rem}.hero-role{opacity:.9}.hero-role-divider{opacity:.4;font-weight:300}.hero-description{font-size:1.2rem;max-width:500px;margin:0 auto;opacity:.75;line-height:1.7}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:2;animation:fadeInUp .6s var(--ease-out) .8s backwards}.scroll-arrow{display:block;font-size:1.5rem;color:var(--text-hero);opacity:.6;animation:bounce 2s infinite;cursor:pointer;transition:opacity var(--duration-normal) var(--ease-default)}.scroll-indicator:hover .scroll-arrow{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(10px)}60%{transform:translateY(5px)}}[data-style=glassmorphic] .hero-title,[data-style=glassmorphic] .hero-typing{background:linear-gradient(135deg,var(--text-primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-style="8bit"] .hero-typing{text-shadow:2px 2px 0 var(--accent-muted);font-size:1.6rem;min-height:2.2rem}[data-style="8bit"] .hero-subtitle{font-size:.55rem;letter-spacing:.06em;line-height:1.8}@media(max-width:768px){.hero{padding-top:100px}.hero-typing{font-size:1.8rem;min-height:2.4rem}.hero-subtitle{font-size:.78rem}.hero-title{font-size:4rem}.hero-intro{font-size:1.1rem}.hero-roles{flex-wrap:wrap;font-size:1.1rem}.hero-description{font-size:1rem}}.chat-terminal{--cc-accent: #c96442;--cc-accent-soft: color-mix(in srgb, var(--cc-accent) 12%, transparent);width:100%;max-width:640px;border-radius:var(--radius-card);overflow:hidden;font-family:var(--font-mono);font-size:.9rem;line-height:1.6;text-align:left;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;opacity:0;transform:translateY(12px) scale(.98);filter:blur(4px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),filter .5s var(--ease-out),box-shadow var(--duration-normal) var(--ease-default)}[data-theme=dark] .chat-terminal{--cc-accent: #e08260}[data-style=glassmorphic] .chat-terminal,[data-style="8bit"] .chat-terminal{--cc-accent: var(--accent);--cc-accent-soft: color-mix(in srgb, var(--accent) 14%, transparent)}.chat-terminal--booted{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.chat-terminal:hover{box-shadow:var(--shadow-xl)}.chat-terminal__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--card-border);background:#ffffff08}.chat-terminal__header-left{display:flex;align-items:center;gap:8px}.chat-terminal__status-dot{width:7px;height:7px;border-radius:50%;background:#28c840;box-shadow:0 0 6px #28c84066;flex-shrink:0}.chat-terminal__model{font-size:.78rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.chat-terminal__title{font-size:.7rem;color:var(--text-secondary);opacity:.75}.chat-terminal__counter{font-variant-numeric:tabular-nums}.chat-terminal__header-right{display:flex;align-items:center}.chat-terminal__version{font-size:.65rem;color:var(--text-tertiary);opacity:.5;letter-spacing:.03em}.chat-terminal__body{padding:20px 16px 12px;min-height:80px;max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--card-border) transparent;transition:max-height .3s var(--ease-default)}.chat-terminal__body::-webkit-scrollbar{width:4px}.chat-terminal__body::-webkit-scrollbar-track{background:transparent}.chat-terminal__body::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:2px}.chat-message{margin-bottom:16px;animation:messageIn .25s var(--ease-out) backwards}.chat-message__label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.75;margin-bottom:4px;-webkit-user-select:none;user-select:none}.chat-message__label--ai{color:var(--accent);opacity:.7}.chat-message__prefix{color:var(--text-secondary);margin-right:8px;-webkit-user-select:none;user-select:none;opacity:.6}.chat-message__command{color:var(--text-primary);font-weight:500}.chat-message__text{color:var(--text-secondary);margin-top:4px;padding-left:18px}.chat-message--system .chat-message__command{color:var(--text-secondary);font-weight:400;font-style:italic}.chat-welcome-text{color:var(--text-secondary);padding-left:0;line-height:1.7}.chat-message--user{display:flex;align-items:baseline;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--glass-border)}.chat-message--user .chat-message__label{width:100%;color:var(--text-tertiary)}.chat-message--user .chat-message__prefix{color:var(--cc-accent);opacity:1;font-weight:700}.chat-message--assistant{background:#ffffff08;border-radius:var(--radius);padding:10px 12px;margin-left:-4px;margin-right:-4px}.chat-message--assistant .chat-message__text{color:var(--text-primary);border-left:2px solid var(--accent);padding-left:12px;margin-left:2px;margin-top:0}.chat-linkedin-cta,.chat-spotify-cta,.chat-section-cta{display:inline-flex;align-items:center;gap:8px;padding:2px 0;font-family:var(--font-mono);font-size:.78rem;font-weight:500;line-height:1.4;background:none;border:none;border-radius:0;text-decoration:none;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.chat-linkedin-cta svg,.chat-spotify-cta svg,.chat-section-cta svg{flex-shrink:0;width:12px;height:12px}.chat-linkedin-cta{color:#0a66c2;margin-top:8px;margin-left:16px;animation:messageIn .25s var(--ease-out) backwards}.chat-spotify-cta{color:#1db954;margin-top:4px;margin-left:16px}.chat-section-cta{color:var(--cc-accent)}.chat-linkedin-cta:hover,.chat-spotify-cta:hover,.chat-section-cta:hover{opacity:.75;text-decoration:underline;text-underline-offset:3px}.chat-section-cta:active{opacity:.6}[data-theme=dark] .chat-linkedin-cta{color:#5ba3e0}[data-theme=dark] .chat-spotify-cta{color:#4cd97a}.chat-cta-group{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:4px;margin-top:8px;margin-left:16px}.chat-cta-group .chat-linkedin-cta,.chat-cta-group .chat-spotify-cta,.chat-cta-group .chat-section-cta{margin-top:0;margin-left:0}.chat-message--error .chat-message__text{color:var(--text-secondary);font-style:italic;opacity:.7;padding-left:0}.chat-message--ratelimit{animation:messageIn .3s var(--ease-out) backwards}.chat-ratelimit__lines{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--text-secondary);opacity:.7;padding:10px 12px;background:var(--accent-subtle);border-radius:var(--radius);border:1px dashed var(--glass-border)}.chat-ratelimit__warn{color:#d2691e;font-weight:600;opacity:1}.chat-ratelimit__warn--global{color:#5b9aff}.chat-message--global-limit .chat-ratelimit__lines{border-color:#5b9aff4d;background:#5b9aff0a}.chat-ratelimit__msg{margin-top:6px;color:var(--text-primary);opacity:1;font-weight:500}.chat-ratelimit__ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chat-ratelimit__ctas .chat-linkedin-cta{margin-left:0;margin-top:0}.chat-ratelimit__browse{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--text-secondary);background:var(--accent-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.chat-ratelimit__browse:hover{color:var(--accent);border-color:var(--card-hover-border);background:var(--accent-muted)}.chat-ratelimit__browse:active{transform:scale(.97)}.chat-message--thinking{display:flex;align-items:center;gap:10px;padding:6px 0;animation:messageIn .25s var(--ease-out) backwards}.chat-thinking__spinner{width:22px;aspect-ratio:1;padding:2.5px;box-sizing:border-box;display:grid;background:#fff;filter:blur(1.5px) contrast(10) hue-rotate(300deg);mix-blend-mode:darken;flex-shrink:0}[data-theme=dark] .chat-ratelimit__warn{color:#f0943a}[data-theme=dark] .chat-thinking__spinner{background:#000;mix-blend-mode:lighten}.chat-thinking__spinner:before,.chat-thinking__spinner:after{content:"";grid-area:1/1;width:8.5px;height:8.5px;background:#ff0;animation:thinkingLoader 2s infinite}.chat-thinking__spinner:after{animation-delay:-1s}[data-style=glassmorphic] .chat-thinking__spinner{background:transparent;filter:none;mix-blend-mode:normal}[data-style=glassmorphic] .chat-thinking__spinner:before,[data-style=glassmorphic] .chat-thinking__spinner:after{background:var(--accent);border-radius:50%;opacity:.75}.chat-thinking__text{font-size:.78rem;color:var(--text-secondary);opacity:.7;font-style:italic;animation:thinkingFade 1.8s ease-in-out infinite}@keyframes thinkingLoader{0%{transform:translate(0)}25%{transform:translate(100%)}50%{transform:translate(100%,100%)}75%{transform:translateY(100%)}to{transform:translate(0)}}@keyframes thinkingFade{0%,to{opacity:.5}50%{opacity:.9}}.chat-cursor{display:inline-block;width:8px;height:1.1em;background:var(--text-primary);vertical-align:text-bottom;animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.chat-input-form{border-top:1px solid var(--card-border);background:var(--accent-subtle);padding:10px 12px}.chat-input-wrapper{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--card-border);border-radius:6px;background:#00000005;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}[data-theme=dark] .chat-input-wrapper{background:#ffffff05}.chat-input-wrapper:focus-within{border-color:var(--cc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cc-accent) 18%,transparent)}.chat-input__prefix{color:var(--cc-accent);opacity:1;-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:700}.chat-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;caret-color:var(--cc-accent)}.chat-input::placeholder{color:var(--text-secondary);opacity:.7}.chat-input:disabled{opacity:.5}.chat-input__submit{display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:50%;color:var(--accent-text);width:28px;height:28px;padding:0;cursor:pointer;transition:all var(--duration-fast) var(--ease-default);flex-shrink:0}.chat-input__submit:hover:not(:disabled){background:var(--accent-hover)}.chat-input__submit:active:not(:disabled){transform:scale(.92)}.chat-input__submit:disabled{opacity:.2;cursor:not-allowed}.chat-prompts{border-top:1px solid var(--card-border);padding:10px 16px 8px}.chat-prompts__label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.75;margin-bottom:6px;-webkit-user-select:none;user-select:none}.chat-prompts__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-prompts__option{display:flex;align-items:center;gap:10px;width:100%;padding:5px 8px;background:none;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary);cursor:pointer;text-align:left;transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.chat-prompts__bullet{display:inline-block;color:var(--cc-accent);font-weight:700;font-size:.95rem;line-height:1;flex-shrink:0;width:10px;text-align:center;transform:translate(0);transition:transform var(--duration-fast) var(--ease-default)}.chat-prompts__text{flex:1;min-width:0}.chat-prompts__key{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-family:var(--font-mono);font-size:.6rem;font-weight:600;color:var(--text-tertiary);background:transparent;border:1px solid var(--card-border);border-radius:3px;opacity:.6;flex-shrink:0;line-height:1;transition:opacity var(--duration-fast) var(--ease-default)}.chat-prompts__option:hover{color:var(--text-primary);background:var(--cc-accent-soft)}.chat-prompts__option:hover .chat-prompts__bullet{transform:translate(2px)}.chat-prompts__option:hover .chat-prompts__key{opacity:.9}.chat-prompts__option:active{transform:scale(.99)}@media(max-width:768px){.chat-terminal{max-width:100%;font-size:.82rem;border-radius:var(--radius-card)}.chat-terminal__body{max-height:420px;padding:16px 12px 8px}.chat-input-wrapper{padding:10px 12px}.chat-prompts{padding:8px 12px 6px}.chat-prompts__option{font-size:.74rem;padding:7px 8px}}.chat-debug-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-top:1px dashed rgba(255,95,87,.3);background:#ff5f570a}.chat-debug-ctas{display:flex;gap:6px}.chat-debug-ctas .chat-linkedin-cta,.chat-debug-ctas .chat-spotify-cta{margin:0;animation:none}.chat-debug-toolbar button{font-family:var(--font-mono);font-size:.65rem;padding:3px 10px;border-radius:4px;border:1px solid rgba(255,95,87,.3);background:#ff5f5714;color:#ff5f57;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.chat-debug-toolbar button:hover{background:#ff5f572e;border-color:#ff5f57}[data-style="8bit"] .chat-terminal{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid var(--glass-border)}[data-style="8bit"] .chat-terminal__header{border-radius:0}[data-style="8bit"] .chat-header__dot{border-radius:0;width:8px;height:8px}[data-style="8bit"] .chat-message,[data-style="8bit"] .chat-message--assistant,[data-style="8bit"] .chat-message--user{border-radius:0}[data-style="8bit"] .chat-input-form{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}[data-style="8bit"] .chat-input-wrapper{border-radius:0;border-width:2px}[data-style="8bit"] .chat-input__submit,[data-style="8bit"] .chat-prompts__option{border-radius:0}[data-style="8bit"] .chat-prompts__key{border-radius:0;border-width:2px}[data-style="8bit"] .chat-ratelimit__lines{border-radius:0}[data-style="8bit"] .chat-thinking__spinner{border-radius:0;width:10px;height:10px;aspect-ratio:auto;padding:0;display:block;filter:none;mix-blend-mode:normal;background:var(--accent);animation:eightbitBlink .8s steps(1) infinite}[data-style="8bit"] .chat-thinking__spinner:before,[data-style="8bit"] .chat-thinking__spinner:after{display:none}@keyframes eightbitBlink{0%,to{opacity:1}50%{opacity:0}}[data-style="8bit"] .chat-debug-toolbar button{border-radius:0}.about{background:transparent;transition:color var(--duration-normal) var(--ease-default);position:relative;padding-top:0}.section-divider{position:absolute;left:0;right:0;height:120px;pointer-events:none}.section-divider--top{top:-60px;background:transparent}.about-header{text-align:center;margin-bottom:4rem}.about-label{display:inline-block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:1rem}.about h2{color:var(--text-primary);font-size:3rem;margin-bottom:1.5rem}.about-intro{font-size:1.15rem;max-width:700px;margin:0 auto;color:var(--text-secondary);line-height:1.7}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.expertise-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:2.5rem;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.expertise-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-lg);border-color:var(--card-hover-border)}.expertise-card:active{transform:scale(.98)}.expertise-number{display:block;font-size:.8rem;font-weight:600;color:var(--accent);margin-bottom:1rem;letter-spacing:.1em}.expertise-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.expertise-description{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.expertise-tags{display:flex;flex-wrap:wrap;gap:.75rem}.expertise-tag{font-size:.8rem;font-weight:500;color:var(--text-secondary);opacity:.8}@media(max-width:768px){.about h2{font-size:2.2rem}.about-intro{font-size:1rem}.expertise-card{padding:1.5rem}}.projects{background:transparent;transition:color var(--duration-normal) var(--ease-default);padding-top:0;overflow:hidden}.projects-header{text-align:center;margin-bottom:3rem}.projects-label{display:inline-block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:1rem}.projects h2{color:var(--text-primary);font-size:3rem}.projects-scroll-container{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-top:8px;padding-bottom:2rem}.projects-scroll-container::-webkit-scrollbar{display:none}.projects-scroll{display:flex;gap:1.5rem;padding:0 max(2rem,calc((100vw - 1200px)/2));width:max-content}.project-card{flex-shrink:0;width:380px;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-card);text-decoration:none;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);overflow:hidden}.project-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-xl);border-color:var(--card-hover-border)}.project-card:active{transform:scale(.98)}.project-card-thumbnail{height:160px;position:relative;display:flex;align-items:flex-end;justify-content:flex-end;padding:1rem;background:var(--bg-tertiary)}[data-style=glassmorphic] .project-card:nth-child(5n+1) .project-card-thumbnail{background:linear-gradient(135deg,#7c3aed,#c084fc)}[data-style=glassmorphic] .project-card:nth-child(5n+2) .project-card-thumbnail{background:linear-gradient(135deg,#ec4899,#f9a8d4)}[data-style=glassmorphic] .project-card:nth-child(5n+3) .project-card-thumbnail{background:linear-gradient(135deg,#f59e0b,#fcd34d)}[data-style=glassmorphic] .project-card:nth-child(5n+4) .project-card-thumbnail{background:linear-gradient(135deg,#3b82f6,#93c5fd)}[data-style=glassmorphic] .project-card:nth-child(5n+5) .project-card-thumbnail{background:linear-gradient(135deg,#10b981,#6ee7b7)}[data-style=glassmorphic] .project-card-number{color:#ffffff4d}.project-card-number{font-size:2.5rem;font-weight:800;color:var(--text-secondary);opacity:.4;line-height:1}.project-card-inner{padding:1.75rem;display:flex;flex-direction:column;min-height:140px}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}.project-category{font-size:.8rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.project-year{font-size:.85rem;color:var(--text-secondary);opacity:.7;margin-left:auto;white-space:nowrap}.project-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:1.25rem 0 .75rem;line-height:1.2}.project-arrow{font-size:1.5rem;color:var(--text-secondary);opacity:0;transform:translate(-10px);transition:opacity var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.project-card:hover .project-arrow{opacity:1;transform:translate(0)}.projects-scroll-container:after{content:"";position:absolute;right:0;top:0;bottom:0;width:100px;background:none;pointer-events:none}[data-style="8bit"] .project-card:nth-child(4n+1) .project-card-thumbnail{background:#306230}[data-style="8bit"] .project-card:nth-child(4n+2) .project-card-thumbnail{background:#0f380f}[data-style="8bit"] .project-card:nth-child(4n+3) .project-card-thumbnail{background:#4a7a3a}[data-style="8bit"] .project-card:nth-child(4n+4) .project-card-thumbnail{background:#245524}[data-style="8bit"] .project-card-number{color:#9bbc0f;opacity:.6}[data-style="8bit"] .project-card{border-width:2px;backdrop-filter:none;-webkit-backdrop-filter:none}@media(max-width:768px){.projects h2{font-size:2.2rem}.project-card{width:300px}.project-card-thumbnail{height:120px}.project-title{font-size:1.4rem}.projects-scroll{padding:0 1rem}}.tilted-card-figure{position:relative;width:100%;height:100%;perspective:800px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tilted-card-mobile-alert{position:absolute;top:1rem;text-align:center;font-size:.875rem;color:var(--text-tertiary);display:none}@media(max-width:640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption{display:none}}.tilted-card-inner{position:relative;transform-style:preserve-3d}.tilted-card-img{position:absolute;top:0;left:0;object-fit:cover;border-radius:var(--radius-card);will-change:transform;transform:translateZ(0)}.tilted-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;padding:12px;z-index:2;will-change:transform;transform:translateZ(30px);border-radius:var(--radius-card);background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 60%)}.tilted-card-overlay-text{font-family:var(--font-body);color:#fff;font-size:.8rem;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.5)}.tilted-card-overlay-text strong{display:block;font-size:.9rem;font-weight:600}.tilted-card-caption{pointer-events:none;position:absolute;left:0;top:0;border-radius:var(--radius-sm);background:var(--bg-elevated);padding:4px 10px;font-family:var(--font-body);font-size:10px;color:var(--text-primary);opacity:0;z-index:3;white-space:nowrap;box-shadow:var(--shadow-md)}.spotify{background:transparent;transition:color var(--duration-normal) var(--ease-default);padding:5rem 0;position:relative}.spotify-header{text-align:center;margin-bottom:1.5rem}.spotify-label{display:inline-block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:.5rem}.spotify h2{color:var(--text-primary);font-size:3rem}.spotify-intro{font-size:1.05rem;max-width:500px;margin:.5rem auto 0;color:var(--text-secondary);line-height:1.6}.spotify-cards-row{display:flex;justify-content:center;gap:1.5rem;padding:0 var(--container-padding);max-width:var(--container-max);margin:0 auto}.spotify-card-link{text-decoration:none;display:block;flex-shrink:0}.spotify-attribution{text-align:center;margin-top:1.5rem;font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;gap:.4rem}.spotify-attribution__icon{width:16px;height:16px}@media(max-width:1024px){.spotify-cards-row{gap:1rem;flex-wrap:wrap}}@media(max-width:768px){.spotify{padding:3rem 0}.spotify h2{font-size:2.2rem}.spotify-cards-row{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--card-border) transparent}}.contact{background:transparent;color:var(--text-primary);text-align:center;transition:color var(--duration-normal) var(--ease-default)}.contact h2{color:var(--text-primary)}.contact p{font-size:1.2rem;margin-bottom:2rem;color:var(--text-secondary)}.contact-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.contact-link{color:var(--text-primary);text-decoration:none;font-size:1.2rem;padding:.8rem 2rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-button);transition:background var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.contact-link:hover{background:var(--accent-muted);border-color:var(--card-hover-border);color:var(--accent);transform:translateY(var(--hover-lift))}.contact-link:active{transform:scale(.97)}@media(max-width:768px){.contact p,.contact-link{font-size:1rem}}.target-cursor-wrapper{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;mix-blend-mode:difference}.target-cursor-dot{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.target-cursor-corner{position:absolute;width:7px;height:7px;border:1.5px solid white;box-sizing:border-box}.corner-tl{border-right:none;border-bottom:none;transform:translate(-10.5px,-10.5px)}.corner-tr{border-left:none;border-bottom:none;transform:translate(3.5px,-10.5px)}.corner-br{border-left:none;border-top:none;transform:translate(3.5px,3.5px)}.corner-bl{border-right:none;border-top:none;transform:translate(-10.5px,3.5px)}.lock-logo{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;transition:transform var(--duration-fast) var(--ease-default)}.lock-logo:active{transform:scale(.95)}.lock-logo__bg{fill:var(--text-inverse)}.lock-logo__fg{fill:var(--text-primary)}[data-style="8bit"] .lock-logo__bg{rx:0}.style-selector{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:6px 28px 6px 14px;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none}.style-selector:hover{border-color:var(--card-hover-border);background-color:var(--toggle-hover-bg)}.style-selector:focus-visible{box-shadow:var(--shadow-focus)}.style-selector option{background:var(--bg-elevated);color:var(--text-primary)}@property --shimmer-angle{syntax: "<angle>"; inherits: false; initial-value: 90deg;}.style-selector-shimmer{border-radius:var(--radius-pill);padding:2px;overflow:hidden;pointer-events:none;--shimmer-angle: 90deg;background:linear-gradient(var(--shimmer-angle),transparent,rgba(120,120,120,.4),rgba(80,80,80,.5),rgba(140,140,140,.4),transparent);background-size:200% 200%;animation:ai-shimmer 8s ease-in-out infinite}.style-selector-shimmer .style-selector{position:static;pointer-events:auto;border:none;border-radius:calc(var(--radius-pill) - 2px)}[data-theme=dark] .style-selector-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(180,180,200,.5),rgba(140,160,210,.5),rgba(200,200,220,.5),transparent);background-size:200% 200%}[data-style=glassmorphic][data-theme=light] .style-selector-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(191,89,255,.5),rgba(102,217,255,.5),rgba(38,51,217,.5),transparent);background-size:200% 200%}[data-style=glassmorphic][data-theme=dark] .style-selector-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(167,139,250,.5),rgba(102,217,255,.5),rgba(139,92,246,.5),transparent);background-size:200% 200%}[data-style="8bit"][data-theme=light] .style-selector-shimmer{padding:4px;background:#9bbc0f;border:2px solid #306230;animation:none}[data-style="8bit"][data-theme=dark] .style-selector-shimmer{padding:4px;background:#306230;border:2px solid #9bbc0f;animation:none}[data-style="8bit"] .style-selector{border-radius:0;height:32px;padding-top:0;padding-bottom:0;line-height:30px;font-size:8px}[data-style="8bit"] .style-selector option{font-size:10px}[data-style="8bit"] .style-selector-shimmer,[data-style="8bit"] .style-selector-shimmer .style-selector{border-radius:0}[data-style="8bit"][data-theme=light] .style-selector-shimmer .style-selector{border:2px solid #306230}[data-style="8bit"][data-theme=dark] .style-selector-shimmer .style-selector{border:2px solid #9bbc0f}@keyframes ai-shimmer{0%{background-position:200% 0;--shimmer-angle: 90deg}20%{background-position:50% 80%;--shimmer-angle: 135deg}40%{background-position:-100% 20%;--shimmer-angle: 70deg}60%{background-position:-200% 90%;--shimmer-angle: 150deg}80%{background-position:0% 10%;--shimmer-angle: 100deg}to{background-position:200% 0;--shimmer-angle: 90deg}}.theme-toggle{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-default);color:var(--toggle-color)}.theme-toggle:hover{transform:scale(1.1);background:var(--toggle-hover-bg);border-color:var(--card-hover-border)}.theme-toggle:active{transform:scale(.93)}.theme-toggle svg{transition:transform var(--duration-normal) var(--ease-default)}.theme-toggle:hover svg{transform:rotate(15deg)}[data-style="8bit"] .theme-toggle{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}.card-nav-container{position:fixed;top:2em;left:50%;transform:translate(-50%);width:90%;max-width:800px;z-index:99;box-sizing:border-box}.card-nav{display:block;height:60px;padding:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);position:relative;overflow:hidden;will-change:height}.card-nav-top{position:absolute;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:.5rem .45rem .55rem 1.1rem;z-index:2}.hamburger-menu{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;gap:6px;transition:transform var(--duration-fast) var(--ease-default)}.hamburger-menu:active{transform:scale(.93)}.hamburger-menu:hover .hamburger-line{opacity:.75}.hamburger-line{width:24px;height:2px;background-color:var(--text-primary);transition:transform .25s var(--ease-default),opacity .2s var(--ease-default),margin .3s var(--ease-default);transform-origin:50% 50%}.hamburger-menu.open .hamburger-line:first-child{transform:translateY(4px) rotate(45deg)}.hamburger-menu.open .hamburger-line:last-child{transform:translateY(-4px) rotate(-45deg)}.card-nav-logo{display:flex;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.card-nav-controls{display:flex;align-items:center;gap:8px;height:100%}.card-nav-content{position:absolute;left:0;right:0;top:60px;bottom:0;padding:.5rem;display:flex;align-items:flex-end;gap:12px;visibility:hidden;pointer-events:none;z-index:1}.card-nav.open .card-nav-content{visibility:visible;pointer-events:auto}.nav-card{height:100%;flex:1 1 0;min-width:0;border-radius:calc(var(--radius-card) - 2px);position:relative;display:flex;flex-direction:column;padding:12px 16px;gap:8px;-webkit-user-select:none;user-select:none;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--glass-border)}.nav-card:nth-child(1){background:var(--card-bg)}.nav-card:nth-child(2){background:var(--bg-elevated)}.nav-card:nth-child(3){background:var(--bg-secondary)}.nav-card-label{font-family:var(--font-heading);font-weight:400;font-size:22px;letter-spacing:-.5px;color:var(--text-primary);background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:opacity var(--duration-fast) var(--ease-default)}.nav-card-label:hover{opacity:.7}.nav-card-links{margin-top:auto;display:flex;flex-direction:column;gap:2px}.nav-card-link{font-family:var(--font-body);font-size:14px;cursor:pointer;text-decoration:none;color:var(--text-secondary);background:none;border:none;padding:0;transition:opacity var(--duration-fast) var(--ease-default);display:inline-flex;align-items:center;gap:6px;text-align:left}.nav-card-link:hover{opacity:.75}.nav-card-link:active{transform:scale(.97)}@media(max-width:768px){.card-nav-container{width:90%;top:1.2em}.card-nav-top{padding:.5rem 1rem;justify-content:space-between}.hamburger-menu{order:2}.card-nav-logo{position:static;transform:none;order:1}.card-nav-controls{display:none}.card-nav-content{flex-direction:column;align-items:stretch;gap:8px;padding:.5rem;bottom:0;justify-content:flex-start}.nav-card{height:auto;min-height:60px;flex:1 1 auto;max-height:none}.nav-card-label{font-size:18px}.nav-card-link{font-size:13px}}[data-style="8bit"] .card-nav{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;border-width:2px}[data-style="8bit"] .nav-card{border-radius:0}[data-style="8bit"] .nav-card-label{font-size:14px}.chat-widget{position:fixed;bottom:24px;right:24px;z-index:98;pointer-events:none;opacity:0;transform:scale(.9);transition:opacity .2s var(--ease-default),transform .2s var(--ease-default)}.chat-widget--visible{opacity:1;transform:scale(1);pointer-events:auto}.chat-widget__fab-shimmer{border-radius:50%;padding:2px;--shimmer-angle: 90deg;background:linear-gradient(var(--shimmer-angle),transparent,rgba(120,120,120,.4),rgba(80,80,80,.5),rgba(140,140,140,.4),transparent);background-size:200% 200%;animation:ai-shimmer 8s ease-in-out infinite;transition:opacity var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}[data-theme=dark] .chat-widget__fab-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(180,180,200,.5),rgba(140,160,210,.5),rgba(200,200,220,.5),transparent);background-size:200% 200%}[data-style=glassmorphic][data-theme=light] .chat-widget__fab-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(191,89,255,.5),rgba(102,217,255,.5),rgba(38,51,217,.5),transparent);background-size:200% 200%}[data-style=glassmorphic][data-theme=dark] .chat-widget__fab-shimmer{background:linear-gradient(var(--shimmer-angle),transparent,rgba(167,139,250,.5),rgba(102,217,255,.5),rgba(139,92,246,.5),transparent);background-size:200% 200%}[data-style="8bit"][data-theme=light] .chat-widget__fab-shimmer{padding:4px;background:#9bbc0f;border:2px solid #306230;animation:none}[data-style="8bit"][data-theme=dark] .chat-widget__fab-shimmer{padding:4px;background:#306230;border:2px solid #9bbc0f;animation:none}.chat-widget__fab--hidden{opacity:0;pointer-events:none;transform:scale(.8)}.chat-widget__fab{width:52px;height:52px;border-radius:50%;border:none;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--duration-fast) var(--ease-default)}.chat-widget__fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.08)}.chat-widget__fab:active{transform:scale(.95)}.chat-widget__panel{position:absolute;bottom:72px;right:0;width:420px;max-height:70vh;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);overflow:hidden;opacity:0;pointer-events:none;transform:scale(.95) translateY(8px);transform-origin:bottom right;transition:opacity .2s var(--ease-default),transform .2s var(--ease-default)}.chat-widget__panel--open{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.chat-widget__close{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.chat-widget__close:hover{color:var(--text-primary);background:var(--accent-subtle)}.chat-widget__panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chat-widget__panel-body .chat-terminal{max-width:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;opacity:1;transform:none;filter:none}.chat-widget__panel-body .chat-terminal__header{padding-right:36px}.chat-widget__panel-body .chat-terminal__body{max-height:none;flex:1;min-height:0}[data-style="8bit"] .chat-widget__fab-shimmer{border-radius:0}[data-style="8bit"] .chat-widget__fab{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}[data-style="8bit"][data-theme=light] .chat-widget__fab-shimmer .chat-widget__fab{border:2px solid #306230}[data-style="8bit"][data-theme=dark] .chat-widget__fab-shimmer .chat-widget__fab{border:2px solid #9bbc0f}[data-style="8bit"] .chat-widget__panel{border-radius:0;border-width:2px;backdrop-filter:none;-webkit-backdrop-filter:none}[data-style="8bit"] .chat-widget__close{border-radius:0}@media(max-width:768px){.chat-widget{bottom:16px;right:16px}.chat-widget__fab{width:44px;height:44px}.chat-widget__fab svg{width:18px;height:18px}.chat-widget__fab-shimmer{padding:2px}.chat-widget__panel{width:calc(100vw - 32px);max-height:80vh;bottom:64px;right:0}}@tailwind base;@tailwind components;@tailwind utilities;:root,[data-theme=light]{--bg-gradient: #f8f7f4;--bg-primary: #f8f7f4;--bg-secondary: #f0efec;--bg-tertiary: #e6e5e1;--bg-hero: #f5f4f1;--bg-elevated: #fdfcfa;--bg-overlay: rgba(17, 17, 17, .5);--text-primary: #1a1a1a;--text-secondary: #5c5c5c;--text-tertiary: #8a8a8a;--text-hero: #1a1a1a;--text-inverse: #ffffff;--text-on-accent: #ffffff;--accent: #1a1a1a;--accent-hover: #333333;--accent-muted: rgba(26, 26, 26, .1);--accent-subtle: rgba(26, 26, 26, .05);--accent-text: #ffffff;--success: #4a9e6e;--success-muted: rgba(74, 158, 110, .12);--warning: #c49234;--warning-muted: rgba(196, 146, 52, .12);--error: #c4564a;--error-muted: rgba(196, 86, 74, .12);--info: #5a8ec4;--info-muted: rgba(90, 142, 196, .12);--card-bg: #fdfcfa;--card-border: #dddcd8;--card-hover-border: #1a1a1a;--input-bg: #fdfcfa;--input-border: #d0cfcb;--input-focus-border: var(--accent);--glass-bg: #fdfcfa;--glass-border: #dddcd8;--glass-blur: 0px;--toggle-bg: rgba(253, 252, 250, .9);--toggle-border: #d0cfcb;--toggle-color: #1a1a1a;--toggle-hover-bg: #f0efec;--particle-color: #c0bfbb;--gradient-1: rgba(200, 200, 200, .35);--gradient-2: rgba(180, 180, 180, .25);--gradient-3: rgba(160, 160, 160, .2);--gradient-base: #f8f7f4;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .14);--shadow-focus: 0 0 0 3px var(--accent-muted)}[data-theme=dark]{--bg-gradient: #0a0a0a;--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hero: #0a0a0a;--bg-elevated: #1a1a1a;--bg-overlay: rgba(10, 10, 10, .7);--text-primary: #f0f0f0;--text-secondary: #888888;--text-tertiary: #555555;--text-hero: #f0f0f0;--text-inverse: #0a0a0a;--text-on-accent: #0a0a0a;--accent: #e0e0e0;--accent-hover: #cccccc;--accent-muted: rgba(224, 224, 224, .14);--accent-subtle: rgba(224, 224, 224, .06);--accent-text: #0a0a0a;--success: #5cba80;--success-muted: rgba(92, 186, 128, .14);--warning: #d4a644;--warning-muted: rgba(212, 166, 68, .14);--error: #e06060;--error-muted: rgba(224, 96, 96, .14);--info: #6aa0d8;--info-muted: rgba(106, 160, 216, .14);--card-bg: #141414;--card-border: #2a2a2a;--card-hover-border: #e0e0e0;--input-bg: #141414;--input-border: #2a2a2a;--input-focus-border: var(--accent);--glass-bg: #141414;--glass-border: #2a2a2a;--glass-blur: 0px;--toggle-bg: rgba(20, 20, 20, .9);--toggle-border: #2a2a2a;--toggle-color: #f0f0f0;--toggle-hover-bg: #1a1a1a;--particle-color: #3a3a3a;--gradient-1: rgba(60, 60, 60, .35);--gradient-2: rgba(50, 50, 50, .25);--gradient-3: rgba(40, 40, 40, .2);--gradient-base: #0a0a0a;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .16);--shadow-md: 0 4px 12px rgba(0, 0, 0, .24);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .32);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4);--shadow-focus: 0 0 0 3px var(--accent-muted)}[data-style=glassmorphic][data-theme=light]{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: var(--font-sans);--font-body: var(--font-sans);--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--bg-gradient: linear-gradient( 135deg, #bacbde 0%, #a2b5ca 20%, #c8bfb5 50%, #d9c4ae 75%, #c6b6a1 88%, #bacbde 100% );--bg-primary: transparent;--bg-secondary: transparent;--bg-tertiary: rgba(255, 255, 255, .32);--bg-hero: transparent;--bg-elevated: rgba(255, 255, 255, .58);--bg-overlay: rgba(10, 20, 36, .45);--text-primary: #0d1a2e;--text-secondary: #243a55;--text-tertiary: #3d556f;--text-hero: #0d1a2e;--text-inverse: #ffffff;--text-on-accent: #ffffff;--accent: #a84e1d;--accent-hover: #8c3e10;--accent-muted: rgba(168, 78, 29, .18);--accent-subtle: rgba(168, 78, 29, .08);--accent-text: #ffffff;--success: #3d8b9e;--success-muted: rgba(61, 139, 158, .12);--warning: #d98e3a;--warning-muted: rgba(217, 142, 58, .12);--error: #c4564a;--error-muted: rgba(196, 86, 74, .12);--info: #4a7bb3;--info-muted: rgba(74, 123, 179, .12);--card-bg: rgba(255, 255, 255, .8);--card-border: rgba(255, 255, 255, .6);--card-hover-border: rgba(192, 93, 44, .5);--input-bg: rgba(255, 255, 255, .72);--input-border: rgba(255, 255, 255, .55);--input-focus-border: var(--accent);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .55);--glass-blur: 18px;--toggle-bg: rgba(255, 255, 255, .8);--toggle-border: rgba(255, 255, 255, .55);--toggle-color: #0d1a2e;--toggle-hover-bg: rgba(255, 255, 255, .9);--particle-color: rgba(208, 106, 56, .3);--gradient-1: rgba(130, 170, 215, .35);--gradient-2: rgba(220, 160, 115, .3);--gradient-3: rgba(180, 200, 228, .22);--gradient-base: var(--bg-gradient);--shadow-xs: 0 1px 2px rgba(20, 40, 80, .04);--shadow-sm: 0 2px 4px rgba(20, 40, 80, .06);--shadow-md: 0 4px 12px rgba(20, 40, 80, .08);--shadow-lg: 0 8px 24px rgba(20, 40, 80, .12);--shadow-xl: 0 16px 48px rgba(20, 40, 80, .16);--shadow-focus: 0 0 0 3px var(--accent-muted);--radius-card: 16px;--radius-button: 12px;--hover-lift: -5px;--hover-shift: 4px}[data-style=glassmorphic][data-theme=dark]{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: var(--font-sans);--font-body: var(--font-sans);--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--bg-gradient: linear-gradient( 135deg, #07173a 0%, #0f2c6c 32%, #3a2318 66%, #5a2e15 86%, #07173a 100% );--bg-primary: transparent;--bg-secondary: transparent;--bg-tertiary: rgba(255, 255, 255, .03);--bg-hero: transparent;--bg-elevated: rgba(255, 255, 255, .05);--bg-overlay: rgba(5, 10, 24, .7);--text-primary: #eaf2ff;--text-secondary: #bccfe6;--text-tertiary: #88a0bc;--text-hero: #eaf2ff;--text-inverse: #0a1730;--text-on-accent: #0a1730;--accent: #ff9a5c;--accent-hover: #ffb584;--accent-muted: rgba(255, 154, 92, .2);--accent-subtle: rgba(255, 154, 92, .09);--accent-text: #0a1730;--success: #68bda0;--success-muted: rgba(104, 189, 160, .14);--warning: #ffb14a;--warning-muted: rgba(255, 177, 74, .14);--error: #ff7060;--error-muted: rgba(255, 112, 96, .14);--info: #7ab3e8;--info-muted: rgba(122, 179, 232, .14);--card-bg: rgba(255, 255, 255, .06);--card-border: rgba(180, 210, 240, .16);--card-hover-border: rgba(255, 154, 92, .4);--input-bg: rgba(255, 255, 255, .05);--input-border: rgba(180, 210, 240, .14);--input-focus-border: var(--accent);--glass-bg: rgba(255, 255, 255, .06);--glass-border: rgba(180, 210, 240, .16);--glass-blur: 14px;--toggle-bg: rgba(255, 255, 255, .08);--toggle-border: rgba(180, 210, 240, .18);--toggle-color: #eaf2ff;--toggle-hover-bg: rgba(255, 255, 255, .14);--particle-color: rgba(255, 154, 92, .3);--gradient-1: rgba(50, 110, 190, .35);--gradient-2: rgba(210, 110, 60, .28);--gradient-3: rgba(30, 60, 120, .22);--gradient-base: var(--bg-gradient);--shadow-xs: 0 1px 2px rgba(5, 10, 24, .2);--shadow-sm: 0 2px 4px rgba(5, 10, 24, .25);--shadow-md: 0 4px 12px rgba(5, 10, 24, .3);--shadow-lg: 0 8px 24px rgba(5, 10, 24, .35);--shadow-xl: 0 16px 48px rgba(5, 10, 24, .45);--shadow-focus: 0 0 0 3px var(--accent-muted);--radius-card: 16px;--radius-button: 12px;--hover-lift: -5px;--hover-shift: 4px}[data-style="8bit"][data-theme=light]{--font-sans: "Press Start 2P", monospace;--font-heading: "Press Start 2P", monospace;--font-body: "Press Start 2P", monospace;--font-mono: "Press Start 2P", monospace;--bg-gradient: #9bbc0f;--bg-primary: #9bbc0f;--bg-secondary: #8bac0f;--bg-tertiary: #7a9a00;--bg-hero: #9bbc0f;--bg-elevated: #8bac0f;--bg-overlay: rgba(15, 56, 15, .7);--text-primary: #0f380f;--text-secondary: #306230;--text-tertiary: #4a7a3a;--text-hero: #0f380f;--text-inverse: #9bbc0f;--text-on-accent: #9bbc0f;--accent: #0f380f;--accent-hover: #306230;--accent-muted: rgba(15, 56, 15, .2);--accent-subtle: rgba(15, 56, 15, .08);--accent-text: #9bbc0f;--success: #306230;--success-muted: rgba(48, 98, 48, .2);--warning: #0f380f;--warning-muted: rgba(15, 56, 15, .15);--error: #0f380f;--error-muted: rgba(15, 56, 15, .15);--info: #306230;--info-muted: rgba(48, 98, 48, .15);--card-bg: #8bac0f;--card-border: #306230;--card-hover-border: #0f380f;--input-bg: #8bac0f;--input-border: #306230;--input-focus-border: #0f380f;--glass-bg: #8bac0f;--glass-border: #306230;--glass-blur: 0px;--toggle-bg: #8bac0f;--toggle-border: #306230;--toggle-color: #0f380f;--toggle-hover-bg: #7a9a00;--particle-color: #306230;--gradient-1: rgba(48, 98, 48, .3);--gradient-2: rgba(15, 56, 15, .2);--gradient-3: rgba(48, 98, 48, .15);--gradient-base: #9bbc0f;--shadow-xs: 1px 1px 0 #306230;--shadow-sm: 2px 2px 0 #306230;--shadow-md: 3px 3px 0 #306230;--shadow-lg: 4px 4px 0 #0f380f;--shadow-xl: 6px 6px 0 #0f380f;--shadow-focus: 0 0 0 3px #306230;--radius-card: 0;--radius-button: 0;--radius-pill: 0;--hover-lift: -2px;--hover-shift: 2px}[data-style="8bit"][data-theme=dark]{--font-sans: "Press Start 2P", monospace;--font-heading: "Press Start 2P", monospace;--font-body: "Press Start 2P", monospace;--font-mono: "Press Start 2P", monospace;--bg-gradient: #0f380f;--bg-primary: #0f380f;--bg-secondary: #1a4a1a;--bg-tertiary: #245524;--bg-hero: #0f380f;--bg-elevated: #1a4a1a;--bg-overlay: rgba(9, 30, 9, .8);--text-primary: #9bbc0f;--text-secondary: #8bac0f;--text-tertiary: #6a8a00;--text-hero: #9bbc0f;--text-inverse: #0f380f;--text-on-accent: #0f380f;--accent: #9bbc0f;--accent-hover: #8bac0f;--accent-muted: rgba(155, 188, 15, .2);--accent-subtle: rgba(155, 188, 15, .08);--accent-text: #0f380f;--success: #8bac0f;--success-muted: rgba(139, 172, 15, .2);--warning: #9bbc0f;--warning-muted: rgba(155, 188, 15, .15);--error: #9bbc0f;--error-muted: rgba(155, 188, 15, .15);--info: #8bac0f;--info-muted: rgba(139, 172, 15, .15);--card-bg: #1a4a1a;--card-border: #306230;--card-hover-border: #9bbc0f;--input-bg: #1a4a1a;--input-border: #306230;--input-focus-border: #9bbc0f;--glass-bg: #1a4a1a;--glass-border: #306230;--glass-blur: 0px;--toggle-bg: #1a4a1a;--toggle-border: #306230;--toggle-color: #9bbc0f;--toggle-hover-bg: #245524;--particle-color: #8bac0f;--gradient-1: rgba(139, 172, 15, .25);--gradient-2: rgba(155, 188, 15, .18);--gradient-3: rgba(106, 138, 0, .15);--gradient-base: #0f380f;--shadow-xs: 1px 1px 0 #245524;--shadow-sm: 2px 2px 0 #306230;--shadow-md: 3px 3px 0 #306230;--shadow-lg: 4px 4px 0 #8bac0f;--shadow-xl: 6px 6px 0 #9bbc0f;--shadow-focus: 0 0 0 3px #306230;--radius-card: 0;--radius-button: 0;--radius-pill: 0;--hover-lift: -2px;--hover-shift: 2px}:root{--font-sans: "JetBrains Mono", monospace;--font-heading: "JetBrains Mono", monospace;--font-body: "JetBrains Mono", monospace;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--text-6xl: 4.5rem;--text-7xl: 6rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.7;--leading-loose: 2;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--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;--space-24: 6rem;--space-32: 8rem;--radius-none: 0;--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--radius-card: 8px;--radius-pill: 9999px;--radius-button: 5px;--hover-lift: -3px;--hover-shift: 2px;--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .8s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-toast: 600;--z-cursor: 9999;--container-max: 1200px;--container-padding: 20px;--content-max: 700px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.fade-in-section{opacity:0;transform:translateY(20px);filter:blur(4px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out),filter .6s var(--ease-out)}.fade-in-section.visible{opacity:1;transform:translateY(0);filter:blur(0)}.stagger-children>*{opacity:0;transform:translateY(12px);filter:blur(2px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),filter .5s var(--ease-out)}.stagger-children.visible>*:nth-child(1){transition-delay:.1s}.stagger-children.visible>*:nth-child(2){transition-delay:.2s}.stagger-children.visible>*:nth-child(3){transition-delay:.3s}.stagger-children.visible>*:nth-child(4){transition-delay:.4s}.stagger-children.visible>*:nth-child(5){transition-delay:.5s}.stagger-children.visible>*:nth-child(6){transition-delay:.6s}.stagger-children.visible>*{opacity:1;transform:translateY(0);filter:blur(0)}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;line-height:1.6;transition:color var(--duration-normal) var(--ease-default)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.container{max-width:1200px;margin:0 auto;padding:0 20px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fade-in-section,.stagger-children>*{filter:none!important}}
