@property --bg-start{syntax: "<color>"; inherits: true; initial-value: #130d0a;}@property --bg-end{syntax: "<color>"; inherits: true; initial-value: #070608;}:root{--bg-start: #130d0a;--bg-end: #070608;--fg: #d0cac2;--fg-muted: #585450;--fg-dim: #787068;--accent: #d4b09a;--stroke: #b8b2aa;--border: #252220;--fill: #d0cac2;--fill-text: #080608;--panel-bg: rgba(7,6,8,.96);--card-bg: rgba(10,8,9,.88);--dot-ring: #383530;--dot-active:#1fc94e}body.theme-tide{--bg-start: #090e15;--bg-end: #030508;--fg: #c4d8e8;--fg-muted: #485870;--fg-dim: #607888;--accent: #7ab0cc;--stroke: #7aa8c4;--border: #182434;--fill: #c4d8e8;--fill-text: #030810;--panel-bg: rgba(3,5,10,.96);--card-bg: rgba(5,8,14,.88);--dot-ring: #283848;--dot-active:#1fc9c0}body.theme-moss{--bg-start: #090d0a;--bg-end: #030506;--fg: #c0d8c4;--fg-muted: #485850;--fg-dim: #607868;--accent: #80b890;--stroke: #80a890;--border: #18241a;--fill: #c0d8c4;--fill-text: #030806;--panel-bg: rgba(4,6,5,.96);--card-bg: rgba(6,10,7,.88);--dot-ring: #283828;--dot-active:#1fc98e}body.theme-void{--bg-start: #0d0d0d;--bg-end: #050505;--fg: #d0d0d0;--fg-muted: #585858;--fg-dim: #787878;--accent: #b0b0b0;--stroke: #909090;--border: #222222;--fill: #d0d0d0;--fill-text: #080808;--panel-bg: rgba(5,5,5,.96);--card-bg: rgba(8,8,8,.88);--dot-ring: #303030;--dot-active:#d8d8d8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:radial-gradient(ellipse at 64% 50%,var(--bg-start) 0%,var(--bg-end) 65%);overflow:hidden;font-family:Space Grotesk,sans-serif;-webkit-font-smoothing:antialiased;transition:--bg-start .6s ease,--bg-end .6s ease}canvas{position:fixed;top:0;left:0;width:100%;height:100%;cursor:grab}canvas:active{cursor:grabbing}.name{position:fixed;top:2.4rem;left:2.5rem;line-height:.88;letter-spacing:-.04em;font-family:Space Grotesk,sans-serif;font-weight:700;pointer-events:none}.name-v{font-size:clamp(3.2rem,6.5vw,6rem);color:var(--accent);transition:color .6s;line-height:.88}.name-heda{display:block;font-size:clamp(3.2rem,6.5vw,6rem);color:transparent;-webkit-text-stroke:1.5px var(--stroke);transition:-webkit-text-stroke-color .6s}.projects{position:fixed;top:5.2rem;right:2.5rem;display:flex;flex-direction:column;gap:.6rem;z-index:100;pointer-events:none}.projects.open{pointer-events:auto}.project-card{display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;border:1.5px dashed var(--border);border-radius:.5rem;text-decoration:none;position:relative;overflow:hidden;width:220px;background:var(--card-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translate(calc(100% + 70px));opacity:0;transition:transform .45s cubic-bezier(0,.55,.45,1),opacity .3s ease,border-color .4s cubic-bezier(0,.55,.45,1)}.projects.open .project-card{transform:translate(0);opacity:1;transition-delay:var(--delay, 0s)}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform:translateY(105%);transition:transform .48s cubic-bezier(0,.55,.45,1)}.project-card:hover:before{transform:translateY(0)}.project-card:hover{border-color:var(--accent)}.project-card:hover .p-icon,.project-card:hover .p-name{color:var(--fill-text)}.project-card:hover .p-domain{color:var(--fill-text);opacity:.5}.p-icon{position:relative;z-index:1;width:18px;height:18px;flex-shrink:0;color:var(--fg-dim);transition:color .4s}.p-icon svg{width:100%;height:100%;display:block}.p-info{position:relative;z-index:1;display:flex;flex-direction:column;gap:.08rem}.p-name{font-family:Space Mono,monospace;font-size:.6rem;color:var(--fg);letter-spacing:.02em;transition:color .4s}.p-domain{font-family:Space Mono,monospace;font-size:.46rem;color:var(--fg-muted);letter-spacing:.04em;transition:color .4s,opacity .4s}#proj-btn{position:fixed;top:2.4rem;right:2.5rem;display:block;font-family:Space Mono,monospace;font-size:.55rem;color:var(--fg-dim);letter-spacing:.1em;border:1.5px dashed var(--fg-muted);border-radius:999px;padding:.45rem 1.1rem;background:transparent;cursor:pointer;white-space:nowrap;transition:color .35s,border-color .35s,border-style .35s;z-index:101}#proj-btn:hover{color:var(--fg);border-color:var(--fg-muted)}#proj-btn.open{color:var(--fg);border-style:solid;border-color:var(--fg-muted)}@media (max-width: 800px){.projects{top:auto;right:auto;bottom:0;left:0;width:100%;height:auto;padding:1.4rem 1.5rem 2.2rem;background:var(--panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);transform:translateY(110%);transition:transform .48s cubic-bezier(0,.55,.45,1)}.projects.open{transform:translateY(0);pointer-events:auto}.project-card{transform:none!important;opacity:1!important;transition:border-color .4s!important;width:100%;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}}.bottom-left{position:fixed;bottom:2.5rem;left:2.5rem;display:flex;flex-direction:column;gap:.5rem}.local-time-label{font-family:Space Mono,monospace;font-size:.6rem;color:var(--fg-dim);letter-spacing:.08em}.clock-row{display:flex;align-items:flex-start;gap:.55rem}.clock{font-family:Space Mono,monospace;font-weight:700;font-size:clamp(2.2rem,4vw,3rem);color:var(--fg);letter-spacing:-.03em;display:flex;align-items:baseline;line-height:1;transition:color .6s}.clock-colon{line-height:1;padding:0 .02em;animation:colon-pulse 2s step-start infinite}@keyframes colon-pulse{0%,49%{opacity:1}50%,to{opacity:.15}}.digit{position:relative;overflow:hidden;display:inline-block;height:1.05em;vertical-align:top}.digit:before{content:"0";visibility:hidden;display:block;line-height:1}.digit span{position:absolute;top:0;left:0;width:100%;text-align:center;line-height:1}@keyframes d-out{0%{transform:translateY(0)}to{transform:translateY(-115%)}}@keyframes d-in{0%{transform:translateY(115%)}to{transform:translateY(0)}}.ampm-indicator{display:flex;flex-direction:column;gap:4px;margin-top:5px}.ampm-indicator span{font-family:Space Mono,monospace;font-size:.45rem;color:var(--fg-muted);letter-spacing:.04em;transition:color .6s}.dot-row{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--dot-ring);flex-shrink:0;transition:background .4s,border-color .4s}.dot.active{background:var(--dot-active);border-color:var(--dot-active);animation:dot-breathe 2s ease-in-out infinite}@keyframes dot-breathe{0%,to{opacity:1;box-shadow:0 0 5px 1px color-mix(in srgb,var(--dot-active) 45%,transparent)}50%{opacity:.2;box-shadow:none}}.role-block{margin-top:.1rem}.role{font-family:Space Mono,monospace;font-size:.75rem;color:var(--fg-dim);letter-spacing:.1em;text-transform:uppercase;transition:color .6s}.location{font-family:Space Mono,monospace;font-size:.7rem;color:var(--fg-dim);margin-top:.25rem;letter-spacing:.06em;text-transform:uppercase;transition:color .6s}.theme-switcher{position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:row;gap:.65rem;align-items:center;z-index:10}.theme-dot{width:8px;height:8px;border-radius:50%;cursor:pointer;padding:0;border:1.5px solid transparent;opacity:.35;transition:opacity .2s,transform .2s,box-shadow .2s}.theme-dot[data-theme=dusk]{background:#d4b09a}.theme-dot[data-theme=tide]{background:#7ab0cc}.theme-dot[data-theme=moss]{background:#80b890}.theme-dot[data-theme=void]{background:#b0b0b0}.theme-dot:hover{opacity:.75;transform:scale(1.25)}.theme-dot.active{opacity:1;transform:scale(1.15)}.theme-dot[data-theme=dusk].active{border-color:#d4b09a;box-shadow:0 0 5px 1px #d4b09a80}.theme-dot[data-theme=tide].active{border-color:#7ab0cc;box-shadow:0 0 5px 1px #7ab0cc80}.theme-dot[data-theme=moss].active{border-color:#80b890;box-shadow:0 0 5px 1px #80b89080}.theme-dot[data-theme=void].active{border-color:#b0b0b0;box-shadow:0 0 5px 1px #b0b0b080}.links{position:fixed;bottom:2.5rem;right:2.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.links a{font-family:Space Mono,monospace;font-size:.62rem;color:var(--fg-dim);text-decoration:none;letter-spacing:.06em;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.52rem 1.25rem;border:1.5px dashed var(--fg-muted);border-radius:999px;overflow:hidden;transition:color .45s cubic-bezier(0,.55,.45,1),border-color .45s cubic-bezier(0,.55,.45,1)}.links a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fill);transform:translateY(105%);transition:transform .5s cubic-bezier(0,.55,.45,1)}.links a:hover{color:var(--fill-text);border-color:var(--fill)}.links a:hover:before{transform:translateY(0)}.links a span{position:relative;z-index:1}.links button{font-family:Space Mono,monospace;font-size:.62rem;color:var(--fg-dim);text-decoration:none;letter-spacing:.06em;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.52rem 1.25rem;border:1.5px dashed var(--fg-muted);border-radius:999px;overflow:hidden;background:transparent;cursor:pointer;transition:color .45s cubic-bezier(0,.55,.45,1),border-color .45s cubic-bezier(0,.55,.45,1)}.links button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fill);transform:translateY(105%);transition:transform .5s cubic-bezier(0,.55,.45,1)}.links button:hover{color:var(--fill-text);border-color:var(--fill)}.links button:hover:before{transform:translateY(0)}.links button span{position:relative;z-index:1}.soon-badge{font-family:Space Mono,monospace;font-size:.38rem;letter-spacing:.08em;color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;padding:.18rem .45rem;position:absolute;top:.35rem;right:.45rem;z-index:1}#drag-hint{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:200;opacity:1;transition:opacity .9s ease}#drag-hint.gone{opacity:0}@media (prefers-reduced-motion: reduce){@keyframes d-out{0%{opacity:1}to{opacity:0}}@keyframes d-in{0%{opacity:0}to{opacity:1}}.project-card,.links a,.links button,.project-card:before,.links a:before,.links button:before{transition-duration:.01ms!important}.dot.active,.clock-colon{animation:none}}#drag-hint span{font-family:Space Mono,monospace;font-size:.6rem;color:var(--fg);letter-spacing:.16em;padding:.55rem 1.4rem;background:#0000008c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:999px}
