*{box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffd9;background-color:#121a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#5b8fb9;text-decoration:inherit}a:hover{color:#7ab3d4}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}html{overflow:hidden;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1e2d47;cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:#5b8fb9;background-color:#253756}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.landing-page{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;border-radius:8px;padding:8px;cursor:grab;-webkit-user-select:none;user-select:none;background:none;border:none;font-size:inherit;font-family:inherit}body.dragging-icon *{cursor:grabbing!important}.desktop-icon:hover .desktop-icon-label{background:#4682c8b3}.desktop-icon-emoji{font-size:52px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.desktop-icon-label{color:#fff;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.9);background:#00000040;padding:2px 6px;border-radius:3px;transition:background .15s}.dock-terminal-icon{background:transparent;border:1px solid transparent}.terminal-body{--term-bg: #1a1a1a;--term-base: #e0e0e0;--term-prompt: #4ec9b0;--term-link: #569cd6;--term-link-hover: #9cdcfe;--term-error: #f44747;--term-error-msg: #ce9178;--term-warning: #f5a623;--term-advice: #7dd3fc;--term-success: #4caf50;--term-purple: #c792ea;--term-pink: #f07178;--term-dim: #6b7280;background:var(--term-bg);padding:28px 28px 32px;flex:1;overflow-y:auto;font-family:Courier New,Courier,monospace}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:var(--term-bg)}.terminal-body::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#666}.terminal-line{color:var(--term-base);font-size:1.1rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:break-word}.terminal-prompt{color:var(--term-prompt);-webkit-user-select:none;user-select:none}.terminal-highlight{color:var(--term-prompt)}.terminal-link{color:var(--term-link);text-decoration:underline;text-underline-offset:2px}.terminal-link:hover{color:var(--term-link-hover)}.terminal-error-code{color:var(--term-error);font-weight:700}.terminal-error-msg{color:var(--term-error-msg)}.terminal-warning{color:var(--term-warning)}.terminal-advice{color:var(--term-advice)}.terminal-success{color:var(--term-success)}.terminal-purple{color:var(--term-purple)}.terminal-pink{color:var(--term-pink)}.terminal-dim{color:var(--term-dim)}.terminal-base{color:var(--term-base)}.terminal-bold{font-weight:700}.terminal-italic{font-style:italic}.terminal-cursor{display:inline-block;color:var(--term-base);animation:blink 1s step-end infinite;line-height:1}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-input-line{display:flex;align-items:center;cursor:text}.terminal-input-wrapper{position:relative;display:inline-flex;align-items:center;flex:1}.terminal-input-mirror{white-space:pre;color:var(--term-base)}.terminal-input-hidden{position:absolute;inset:0;opacity:0;background:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;cursor:text;width:100%;height:100%}.terminal-input-hidden::-webkit-search-cancel-button,.terminal-input-hidden::-webkit-search-decoration{display:none}.about-body{flex:1;overflow-y:auto;padding:24px;background:#1e1e2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#cdd6f4}.about-hero{display:flex;align-items:center;gap:20px;margin-bottom:24px}.about-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#89b4fa,#cba6f7);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#1e1e2e;flex-shrink:0}.about-name{margin:0 0 4px;font-size:1.4rem;color:#cdd6f4}.about-tagline{margin:0;font-size:.9rem;color:#89b4fa}.about-bio{font-size:.95rem;line-height:1.7;color:#bac2de;margin-bottom:24px}.about-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6c7086;margin:0 0 12px}.about-skills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.about-skill-badge{background:#89b4fa26;border:1px solid rgba(137,180,250,.3);color:#89b4fa;font-size:.8rem;padding:4px 10px;border-radius:4px}.about-timeline{display:flex;flex-direction:column;gap:16px}.about-timeline-item{display:flex;gap:16px;align-items:flex-start}.about-timeline-period{font-size:.78rem;color:#6c7086;white-space:nowrap;padding-top:2px;min-width:110px}.about-timeline-item strong{display:block;font-size:.95rem;color:#cdd6f4;margin-bottom:2px}.about-timeline-item p{margin:0;font-size:.85rem;color:#6c7086}.links-body{flex:1;overflow-y:auto;padding:16px;background:#0f172a;display:flex;flex-direction:column;gap:12px}.link-card{display:flex;align-items:center;gap:16px;padding:18px 20px;background-color:#1a2740;border:1px solid #253756;border-radius:10px;text-decoration:none;color:#c9d6e3;transition:background-color .2s,transform .2s,border-color .2s}.link-card-icon{font-size:28px;flex-shrink:0}.link-card-text{display:flex;flex-direction:column;gap:3px;flex:1}.link-card-label{font-size:16px;font-weight:600;color:#c9d6e3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.link-card-description{font-size:12px;color:#8fadc8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.link-card-arrow{font-size:18px;color:#8fadc8;flex-shrink:0}@media(max-width:600px){.terminal-body{padding:16px 16px 20px}}.window{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:windowOpen .7s cubic-bezier(.16,1,.3,1) forwards}@keyframes windowOpen{0%{transform:translate(var(--dock-x)) translateY(var(--dock-y)) scale(.05);opacity:0}to{transform:translate(0) translateY(0) scale(1);opacity:1}}.window.closing{animation:windowClose .5s cubic-bezier(.4,0,1,1) forwards}@keyframes windowClose{0%{transform:translate(0) translateY(0) scale(1);opacity:1}to{transform:translate(var(--dock-x)) translateY(var(--dock-y)) scale(.05);opacity:0}}.window-header{background:#282828bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 16px;display:flex;align-items:center;gap:8px;cursor:grab}.window-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;cursor:default}.window-dot.red{background:#ff5f57;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative}@media(pointer:coarse){.window-dot.red:before{content:"";position:absolute;inset:-14px}}.window-dot.yellow{background:#ffbd2e}.window-dot.green{background:#28c840}.window-dot.red:after{content:"×";font-size:9px;font-weight:700;font-family:sans-serif;color:#0009;opacity:0;transition:opacity .15s;pointer-events:none}.window-dot.red:hover:after{opacity:1}.window-title{margin-left:8px;color:#aaa;font-size:.85rem;font-family:Courier New,Courier,monospace;-webkit-user-select:none;user-select:none}.window-body{flex:1;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.window-body.no-scroll{overflow:hidden}.desktop-widget{width:190px;height:90px;border-radius:16px;background:linear-gradient(135deg,#1e2d47,#0f172a);border:1px solid rgba(137,180,250,.2);box-shadow:0 4px 20px #0006;cursor:grab;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;-webkit-user-select:none;user-select:none}.widget-date{font-size:12px;font-family:monospace;color:#fff9;letter-spacing:.5px}.widget-clock{font-size:22px;font-family:monospace;color:#fff;font-weight:600;letter-spacing:1px}.about-page{background:#0f172a;flex:1;position:relative;overflow:hidden}.timeline-scroll{position:absolute;inset:0;overflow-y:auto;padding:220px 16px}.timeline-scroll--locked{overflow:hidden}.about-page--locked .tl-overlay{pointer-events:all}.timeline{position:relative;max-width:680px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,#5b8fb9 8%,#253756 92%,transparent);pointer-events:none}.tl-row{display:grid;grid-template-columns:1fr 24px 1fr;column-gap:16px;align-items:center;margin-bottom:32px;transform-origin:center center;will-change:transform,opacity}.tl-center{display:flex;justify-content:center;align-items:center;z-index:1}.tl-dot{width:12px;height:12px;border-radius:50%;background:#5b8fb9;border:2px solid #0f172a;box-shadow:0 0 0 2px #5b8fb9;flex-shrink:0}.tl-slot{display:flex}.tl-row>.tl-slot:first-child{justify-content:flex-end}.tl-row>.tl-slot:last-child{justify-content:flex-start}.tl-card{background:#1a2740;border:1px solid #253756;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;width:100%;max-width:280px;padding:0;transition:border-color .2s,transform .2s,box-shadow .2s}.tl-card:hover{border-color:#5b8fb9;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.tl-card-img-wrap{width:100%;height:110px;background:linear-gradient(135deg,#1a2740,#0f172a);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #253756}.tl-emoji{font-size:3rem;line-height:1;-webkit-user-select:none;user-select:none}.tl-emoji--large{font-size:5rem}.tl-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}.tl-year{font-size:.72rem;font-family:monospace;color:#5b8fb9;font-weight:600;letter-spacing:1px;text-transform:uppercase}.tl-title{font-size:.92rem;font-weight:600;color:#c9d6e3;margin:0}.tl-preview{font-size:.8rem;color:#8fadc8;line-height:1.5;margin:2px 0 0}.tl-overlay{position:absolute;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;animation:tl-fade-in .2s ease}@keyframes tl-fade-in{0%{opacity:0}to{opacity:1}}.tl-expanded{background:#1a2740;border:1px solid #5b8fb9;border-radius:16px;width:88%;max-height:82%;overflow-y:auto;position:relative;animation:tl-scale-in .25s cubic-bezier(.34,1.4,.64,1)}@keyframes tl-scale-in{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}.tl-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;background:#0f172acc;border:1px solid #253756;color:#8fadc8;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;z-index:1;transition:border-color .2s,color .2s}.tl-close:hover{border-color:#5b8fb9;color:#c9d6e3}.tl-expanded-img-wrap{width:100%;height:160px;background:linear-gradient(135deg,#1a2740,#0f172a);border-bottom:1px solid #253756;display:flex;align-items:center;justify-content:center;margin-top:-28px}.tl-expanded-body{padding:20px 24px 28px;display:flex;flex-direction:column;gap:8px}.tl-expanded-title{font-size:1.25rem;font-weight:700;color:#c9d6e3;margin:0}.tl-expanded-text{font-size:.9rem;color:#8fadc8;line-height:1.7;margin:4px 0 0}@media(max-width:520px){.timeline:before{left:12px;transform:none}.tl-row{grid-template-columns:24px 1fr;column-gap:12px}.tl-center{grid-column:1;grid-row:1}.tl-row>.tl-slot:first-child,.tl-row>.tl-slot:last-child{grid-column:2;grid-row:1;justify-content:flex-start}.tl-card{max-width:100%}}.links-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:#0f172a;flex:1;overflow:hidden}.links-title{font-size:32px;color:#c9d6e3;margin-bottom:40px}.links-grid{display:flex;flex-direction:column;gap:16px;width:100%;max-width:500px}.link-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background-color:#1a2740;border:1px solid #253756;border-radius:12px;text-decoration:none;color:#c9d6e3;transition:background-color .2s,transform .2s,border-color .2s}.link-card:hover{background-color:#253756;border-color:#4a6fa5;transform:translateY(-2px)}.link-card-icon{width:32px;height:32px;flex-shrink:0}.link-card-text{display:flex;flex-direction:column;gap:4px;flex:1}.link-card-label{font-size:18px;font-weight:600;color:#c9d6e3}.link-card-description{font-size:13px;color:#8fadc8}.link-card-arrow{font-size:20px;color:#8fadc8;flex-shrink:0}
