*{box-sizing:border-box;margin:0;padding:0}:root{--vh:1vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f0f0f,#1a1a2e 50%,#16213e);font-family:JetBrains Mono,Fira Code,Courier New,monospace;margin:0;min-height:-webkit-fill-available;min-height:100vh;min-height:calc(var(--vh, 1vh)*100);overflow-x:hidden}code{font-family:JetBrains Mono,Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:-webkit-fill-available;min-height:100vh;min-height:calc(var(--vh, 1vh)*100);overflow-x:hidden;width:100vw}.terminal-container{background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e);color:#e0e0e0;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;height:100vh;height:100dvh;overflow:hidden;position:relative;width:100vw}.terminal-container:before{background:radial-gradient(circle at 25% 25%,#00ff881a 0,#0000 50%),radial-gradient(circle at 75% 75%,#4a90e21a 0,#0000 50%);z-index:1}.terminal-container:after,.terminal-container:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.terminal-container:after{background:repeating-linear-gradient(0deg,#00000008,#00000008 1px,#0000 0,#0000 3px);z-index:3}.terminal-header{align-items:center;background:linear-gradient(135deg,#2a2a3e,#1f1f35);border-bottom:clamp(1px,.3vw,3px) solid #0f83;box-shadow:0 clamp(2px,1vw,6px) clamp(8px,4vw,24px) #0000004d;display:flex;flex-shrink:0;gap:clamp(12px,3vw,24px);justify-content:space-between;min-height:clamp(40px,8vw,60px);padding:clamp(.5rem,2vw,1.25rem) clamp(1rem,4vw,2rem);position:relative;z-index:2}.terminal-header:after{background:linear-gradient(90deg,#0000,#0f8,#0000);bottom:-2px;content:"";height:2px;left:0;opacity:.7;position:absolute;right:0}.terminal-buttons{align-items:center;display:flex;gap:clamp(6px,1.5vw,10px)}.terminal-button{border:none;border-radius:50%;box-shadow:0 clamp(1px,.5vw,3px) clamp(2px,1vw,6px) #0000004d;cursor:pointer;height:clamp(12px,3vw,16px);min-height:12px;min-width:12px;transition:all .2s ease;width:clamp(12px,3vw,16px)}.terminal-button:hover{box-shadow:0 4px 8px #0006;transform:scale(1.1)}.terminal-button.close{background:linear-gradient(135deg,#ff6b6b,#ff5252)}.terminal-button.close:hover{background:linear-gradient(135deg,#ff5252,#f44336)}.terminal-button.minimize{background:linear-gradient(135deg,#ffd93d,#ffcc02)}.terminal-button.minimize:hover{background:linear-gradient(135deg,#ffcc02,#ff9800)}.terminal-button.maximize{background:linear-gradient(135deg,#51cf66,#4caf50)}.terminal-button.maximize:hover{background:linear-gradient(135deg,#4caf50,#388e3c)}.terminal-title{color:#fff;flex-shrink:1;font-size:clamp(11px,2.2vw,16px);font-weight:500;letter-spacing:clamp(.3px,.1vw,.6px);line-height:1.3;margin-left:clamp(12px,3vw,0px);min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;text-shadow:0 1px 2px #00000080;white-space:nowrap}.terminal-body{-webkit-overflow-scrolling:touch;background:#0000;flex:1 1;font-size:clamp(.8rem,2vw,1rem);line-height:clamp(1.3,1.5,1.6);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:clamp(1rem,4vw,2rem);position:relative;scrollbar-color:#00ff884d #0000;scrollbar-width:thin;z-index:2}.terminal-body::-webkit-scrollbar{width:clamp(6px,1.5vw,10px)}.terminal-body::-webkit-scrollbar-track{background:#0000}.terminal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ff884d,#4a90e24d);border:clamp(.5px,.2vw,1px) solid #00ff881a;border-radius:clamp(2px,.75vw,5px)}.terminal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00ff8880,#4a90e280)}.terminal-line{align-items:flex-start;animation:fadeIn .3s ease-out;display:flex;flex-wrap:wrap;height:auto;margin-bottom:clamp(6px,1.5vw,10px);min-height:clamp(20px,5vw,28px);width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.terminal-prompt{color:#0f8;flex-shrink:0;font-size:clamp(.875rem,2.2vw,1rem);font-weight:500;line-height:1.4;margin-right:clamp(8px,2vw,12px);text-shadow:0 0 10px #00ff884d;white-space:nowrap}.terminal-input-container{gap:clamp(3px,1vw,6px)}.terminal-input-container,.terminal-input-wrapper{align-items:center;display:flex;flex:1 1;min-width:0}.terminal-input,.terminal-input-wrapper{position:relative}.terminal-input{background:#0000;border:none;border-radius:clamp(2px,.5vw,4px);color:#fff;font-family:inherit;font-size:clamp(.875rem,2.2vw,1rem);font-weight:400;line-height:clamp(1.3,1.4,1.5);min-width:0;outline:none;padding:clamp(2px,.5vw,4px) clamp(3px,1vw,6px);text-shadow:0 1px 2px #0000004d;transition:all .2s ease;width:100%;z-index:2}.terminal-input:focus{background:#00ff880d;box-shadow:0 0 8px #0f83;outline:1px solid #00ff884d;outline-offset:1px}.terminal-suggestion-background{align-items:center;bottom:0;display:flex;font-family:inherit;font-size:clamp(.875rem,2.2vw,1rem);font-weight:400;left:0;line-height:clamp(1.3,1.4,1.5);overflow:hidden;padding:clamp(2px,.5vw,4px) clamp(3px,1vw,6px);pointer-events:none;position:absolute;right:0;top:0;white-space:nowrap;z-index:1}.terminal-suggestion-typed{color:#0000;white-space:nowrap}.terminal-suggestion-ghost{color:#fff6;opacity:.6;white-space:nowrap}.terminal-suggestion{display:none}.terminal-output{word-wrap:break-word;display:block;font-size:clamp(.875rem,2.2vw,1rem);font-weight:400;height:auto;line-height:clamp(1.4,1.6,1.8);min-height:fit-content;overflow-wrap:break-word;white-space:pre-wrap;width:100%;word-break:break-word}.terminal-output.success{color:#5ee6d0;text-shadow:0 0 10px #5ee6d033}.terminal-output.error{color:#ff6b6b;font-weight:500;text-shadow:0 0 10px #ff6b6b4d}.terminal-output.warning{color:#ffd93d;text-shadow:0 0 10px #ffd93d4d}.terminal-output.info{color:#7bb8ff;font-weight:500;text-shadow:0 0 12px #7bb8ff59}.terminal-output.output{color:#e8e8e8;text-shadow:0 1px 2px #0003}.terminal-output.input-line{color:#0f8;text-shadow:0 0 10px #0f83}.cursor{animation:blink 1.2s infinite;background:linear-gradient(135deg,#0f8,#4a90e2);border-radius:2px;box-shadow:0 0 8px #0f86;display:inline-block;flex-shrink:0;height:clamp(16px,3vw,20px);transition:all .2s ease;width:clamp(8px,1.5vw,10px)}@keyframes blink{0%,50%{box-shadow:0 0 8px #0f86;opacity:1;transform:scaleY(1) scaleX(1)}51%,to{box-shadow:0 0 4px #0f83;opacity:.2;transform:scaleY(.9) scaleX(.95)}}.terminal-output h1,.terminal-output h2,.terminal-output h3{color:#fff;font-weight:600;line-height:clamp(1.2,1.3,1.4);margin:clamp(12px,3vw,20px) 0 clamp(6px,1.5vw,10px);text-shadow:0 clamp(1px,.5vw,3px) clamp(2px,1vw,6px) #0000004d}.terminal-output h1{font-size:clamp(1.25rem,3vw,1.75rem)}.terminal-output h2{font-size:clamp(1.125rem,2.5vw,1.5rem)}.terminal-output h3{font-size:clamp(1rem,2.2vw,1.25rem)}.terminal-line:has(.terminal-prompt){background:#00ff8805;border-left:3px solid #00ff884d;border-radius:6px;margin:4px 0;padding:4px 8px}.terminal-output:first-child{background:linear-gradient(45deg,#00ff881a,#4a90e21a);border:1px solid #0f83;border-radius:8px;box-shadow:0 4px 12px #0000004d;height:auto!important;margin:8px 0;min-height:fit-content!important;overflow:visible!important;padding:16px}.terminal-output.ascii-banner{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#00ff881a,#4a90e21a);border:1px solid #00ff884d;border-radius:8px;box-sizing:border-box;color:#0f8;font-family:JetBrains Mono,SF Mono,monospace;font-size:clamp(.45rem,2vw,.8rem);font-weight:400;letter-spacing:clamp(-.03em,-.01em,.01em);line-height:clamp(1.05,1.15,1.3);margin:clamp(12px,3vw,20px) 0;max-width:100%;min-height:fit-content;overflow-x:hidden;overflow-y:visible;padding:clamp(8px,2vw,20px);scrollbar-width:none;text-shadow:0 0 10px #00ff884d;white-space:pre}.ascii-banner::-webkit-scrollbar{display:none}@media (max-width:1024px){.terminal-header{padding:clamp(.75rem,3vw,1rem) clamp(1rem,4vw,1.5rem)}.terminal-body{padding:clamp(1rem,3vw,1.5rem)}}@media (max-width:768px){.terminal-container{height:100vh;height:100dvh;padding:0}.terminal-header{padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1rem)}.terminal-title{font-size:clamp(12px,3vw,14px)}.terminal-body{display:flex;flex-direction:column;font-size:clamp(.875rem,2.5vw,1rem);gap:clamp(.5rem,2vw,.75rem);padding:clamp(.75rem,3vw,1rem)}.terminal-line{height:auto!important;margin-bottom:clamp(.25rem,1vw,.5rem);min-height:fit-content!important}.terminal-line:has(.ascii-banner){height:auto!important;min-height:fit-content!important;overflow:visible!important}.terminal-output.success{color:#5ee6d0;text-shadow:0 0 5px #5ee6d01a}.terminal-output.info{color:#93b3e0;text-shadow:0 0 8px #93b3e033}.terminal-output.output{color:#e8e8e8;text-shadow:0 1px 2px #0003}.terminal-output.ascii-banner{color:#0f8;font-size:clamp(.4rem,1.8vw,.65rem);height:auto!important;letter-spacing:-.02em;line-height:1.1;margin:clamp(8px,2vw,12px) 0;min-height:fit-content!important;overflow-y:visible;padding:clamp(6px,2vw,12px);text-shadow:0 0 8px #00ff884d}}@media (max-width:480px){.terminal-container{font-size:clamp(.8rem,2.5vw,.9rem)}.terminal-header{padding:clamp(.4rem,2vw,.6rem) clamp(.6rem,3vw,.8rem)}.terminal-body{padding:clamp(.6rem,3vw,.8rem)}.terminal-line{align-items:stretch;flex-direction:column;margin-bottom:clamp(.4rem,1.5vw,.6rem);min-height:auto;padding:clamp(.5rem,2vw,.75rem)}.terminal-prompt{font-size:clamp(.8rem,2.5vw,.9rem);margin-bottom:.5rem;margin-right:0;width:100%}.terminal-input-container{align-items:center;display:flex!important;flex-direction:row!important;gap:clamp(2px,1vw,4px);width:100%}.terminal-input-wrapper{flex:1 1;min-width:0}.terminal-output.ascii-banner{color:#0f8;font-size:clamp(.35rem,1.6vw,.55rem);height:auto;letter-spacing:-.03em;line-height:1.05;margin:clamp(6px,1.5vw,10px) 0;min-height:fit-content;overflow-y:visible;padding:clamp(4px,1.5vw,8px);text-shadow:0 0 8px #00ff884d;transform:none}.terminal-button{height:clamp(16px,5vw,20px);min-height:16px;min-width:16px;touch-action:manipulation;width:clamp(16px,5vw,20px)}.terminal-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.terminal-input{background:#00ff8805;border:1px solid #00ff881a;border-radius:4px;font-size:16px;min-width:0;min-width:auto;padding:clamp(.2rem,1vw,.25rem) clamp(.25rem,1.5vw,.4rem);transform:none;width:100%}.terminal-input:focus{background:#00ff8814;border-color:#00ff884d;box-shadow:0 0 8px #0f83;transform:none}.terminal-suggestion-ghost{color:#ffffff59;opacity:.5}.terminal-suggestion-background{border-radius:4px;font-size:16px;padding:clamp(.2rem,1vw,.25rem) clamp(.25rem,1.5vw,.4rem)}.cursor{height:clamp(14px,4vw,16px);width:clamp(6px,2vw,8px)}}.welcome-message{background:linear-gradient(135deg,#4a90e21a,#9333ea1a);border-left:clamp(2px,.5vw,4px) solid #4a90e280;border-radius:clamp(4px,1vw,8px);font-size:clamp(.875rem,2.2vw,1rem);font-weight:400;line-height:clamp(1.4,1.6,1.8);margin:clamp(8px,2vw,16px) 0;padding:clamp(12px,3vw,20px) clamp(16px,4vw,24px)}.terminal-line:has(.terminal-prompt){background:linear-gradient(135deg,#00ff8805,#4a90e205);border:1px solid #00ff881a;margin:clamp(4px,1.5vw,8px) 0;overflow:hidden;padding:clamp(6px,2vw,12px);position:relative;transition:all .3s ease}.terminal-line:has(.terminal-prompt):before{background:linear-gradient(90deg,#0000,#00ff881a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.terminal-line:has(.terminal-prompt):hover{background:linear-gradient(135deg,#00ff880a,#4a90e20a);border-color:#00ff884d #00ff884d #00ff884d #0f89;box-shadow:0 2px 8px #00ff881a}.terminal-line:has(.terminal-prompt):hover:before{left:100%}.terminal-line:has(.terminal-prompt):focus-within{background:linear-gradient(135deg,#00ff880f,#4a90e20f);border-color:#00ff8880 #00ff8880 #00ff8880 #0f8c;box-shadow:0 4px 12px #00ff8826}::selection{background:#0f86;text-shadow:0 0 8px #0f89}.terminal-line:has(.terminal-output:contains("Processing")){animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ascii-art{color:#0f0;font-size:clamp(.75rem,2vw,.875rem);line-height:clamp(1.05,1.1,1.15);white-space:pre}.ascii-art,.command-list{margin:clamp(8px,2vw,12px) 0}.command-list{color:#74c0fc}.command-item,.command-list{font-size:clamp(.875rem,2.2vw,1rem)}.command-item{color:#fff;line-height:clamp(1.4,1.5,1.6);margin:clamp(1px,.5vw,3px) 0;padding-left:clamp(16px,4vw,24px)}.command-item .command{color:#0f0;font-size:clamp(.875rem,2.2vw,1rem);font-weight:700}.command-item .description{color:#888;font-size:clamp(.8rem,2vw,.9rem);margin-left:clamp(16px,4vw,24px)}.social-links{color:#74c0fc;margin:clamp(8px,2vw,12px) 0}.social-link,.social-links{font-size:clamp(.875rem,2.2vw,1rem)}.social-link{color:#51cf66;text-decoration:none;transition:all .2s ease}.social-link:hover{color:#0f8;text-decoration:underline}.terminal-link{color:#51cf66;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:all .2s ease}.terminal-link:hover{color:#0f8;text-decoration-style:solid;text-shadow:0 0 8px #0f86}:root{--mc-bg:#0a0a0a;--mc-card:#0e0e0e;--mc-line:#242424;--mc-text:#e5e5e5;--mc-muted:#8a8a8a;--mc-green:#22c55e;--mc-blue:#60a5fa;--mc-orange:#f97316;--mc-purple:#a855f7;--mc-red:#ef4444}.terminal-container,body{background:#0a0a0a;background:var(--mc-bg)}.terminal-container{color:#e5e5e5;color:var(--mc-text)}.terminal-container:before{background:none}.terminal-container:after{opacity:.6}.terminal-header{background:#0a0a0a;background:var(--mc-bg);border-bottom:1px solid #242424;border-bottom:1px solid var(--mc-line);box-shadow:none;padding:clamp(.5rem,1.5vw,.85rem) clamp(.75rem,2.5vw,1.25rem)}.terminal-header:after{display:none}.terminal-button{box-shadow:none}.terminal-button.close,.terminal-button.close:hover{background:#ef4444;background:var(--mc-red)}.terminal-button.minimize,.terminal-button.minimize:hover{background:#f97316;background:var(--mc-orange)}.terminal-button.maximize,.terminal-button.maximize:hover{background:#22c55e;background:var(--mc-green)}.terminal-title{align-items:center;display:flex;gap:clamp(8px,2vw,16px);justify-content:flex-end;letter-spacing:0;overflow:visible;text-shadow:none;white-space:normal}.terminal-title-name{color:#e5e5e5;color:var(--mc-text);font-size:clamp(12px,2vw,15px);font-weight:700;white-space:nowrap}.terminal-title-mark{color:#8a8a8a;color:var(--mc-muted);font-weight:400}.terminal-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.terminal-chip{align-items:center;background:#0e0e0e;background:var(--mc-card);border:1px solid #242424;border:1px solid var(--mc-line);border-radius:4px;color:#e5e5e5;color:var(--mc-text);display:inline-flex;font-size:clamp(9px,1.6vw,11px);font-weight:600;gap:6px;padding:3px 8px;white-space:nowrap}.terminal-chip-dot{background:#22c55e;background:var(--mc-green);border-radius:50%;box-shadow:0 0 8px #22c55e;box-shadow:0 0 8px var(--mc-green);height:6px;width:6px}@media (prefers-reduced-motion:no-preference){.terminal-chip-dot{animation:mc-pulse 2.4s ease-in-out infinite}@keyframes mc-pulse{50%{opacity:.35}}}@media (max-width:480px){.terminal-chips{display:none}}.terminal-body{background:#0e0e0e;background:var(--mc-card);border:1px solid #242424;border:1px solid var(--mc-line);border-radius:10px;margin:clamp(8px,1.5vw,12px);scrollbar-color:#333 #0000}.terminal-body::-webkit-scrollbar-thumb,.terminal-body::-webkit-scrollbar-thumb:hover{background:#333;border:none}.terminal-prompt{color:#22c55e;color:var(--mc-green)}.terminal-output.output{color:#e5e5e5;color:var(--mc-text)}.terminal-output.success{color:#22c55e;color:var(--mc-green)}.terminal-output.error{color:#ef4444;color:var(--mc-red)}.terminal-output.warning{color:#f97316;color:var(--mc-orange)}.terminal-output.info{color:#60a5fa;color:var(--mc-blue);font-weight:400}.terminal-output.input-line{color:#22c55e;color:var(--mc-green)}.terminal-output h1,.terminal-output h2,.terminal-output h3{text-shadow:none}.cursor{background:#22c55e;background:var(--mc-green);box-shadow:none}.terminal-output.ascii-banner{border:1px solid var(--mc-line);color:#22c55e;color:var(--mc-green);text-shadow:none}.terminal-output.ascii-banner,.welcome-message{background:#0a0a0a;background:var(--mc-bg);border:1px solid #242424}.welcome-message{border-left:3px solid #60a5fa;border:1px solid var(--mc-line);border-left:3px solid var(--mc-blue);border-radius:8px}.terminal-line:has(.terminal-prompt){background:#0a0a0a;background:var(--mc-bg);border:1px solid #242424;border:1px solid var(--mc-line);border-left:3px solid #1f3d2a;border-radius:8px}.terminal-line:has(.terminal-prompt):before{display:none}.terminal-line:has(.terminal-prompt):hover{background:#0a0a0a;background:var(--mc-bg);border-color:#333 #333 #333 #2a6b3f;box-shadow:none}.terminal-line:has(.terminal-prompt):focus-within{background:#0a0a0a;background:var(--mc-bg);border-color:#2a2a2a #2a2a2a #2a2a2a #22c55e;border-left-color:var(--mc-green)}::selection{background:#22c55e59;color:#fff;text-shadow:none}.terminal-output.info.welcome-message,.terminal-output.welcome-message{background:#0a0a0a;background:var(--mc-bg);border:1px solid #242424;border-left:3px solid #60a5fa;border:1px solid var(--mc-line);border-left:3px solid var(--mc-blue);box-shadow:none}.terminal-input,.terminal-input:focus{background:#0000;border:none;box-shadow:none;outline:none}.terminal-output:first-child{background:#0000;border:none;box-shadow:none;margin:0;padding:0}.terminal-output.ascii-banner:first-child,.terminal-output.welcome-message:first-child{border:1px solid #242424;border:1px solid var(--mc-line);margin:clamp(8px,2vw,16px) 0;padding:clamp(12px,3vw,20px) clamp(16px,4vw,24px)}.terminal-output.welcome-message:first-child{border-left:3px solid #60a5fa;border-left:3px solid var(--mc-blue)}.terminal-body{background:radial-gradient(900px 420px at 0 0,#22c55e12,#0000 60%),radial-gradient(700px 380px at 100% 100%,#60a5fa0d,#0000 60%),#0e0e0e;background:radial-gradient(900px 420px at 0 0,#22c55e12,#0000 60%),radial-gradient(700px 380px at 100% 100%,#60a5fa0d,#0000 60%),var(--mc-card);box-shadow:inset 0 0 0 1px #ffffff05,0 12px 40px #0000008c}.terminal-header{background:linear-gradient(180deg,#101010,#0a0a0a);background:linear-gradient(180deg,#101010,var(--mc-bg))}.terminal-header:after{background:linear-gradient(90deg,#0000,#22c55e80,#0000);bottom:-1px;display:block;height:1px;opacity:1}.terminal-button.close{box-shadow:0 0 8px #ef444459}.terminal-button.minimize{box-shadow:0 0 8px #f9731659}.terminal-button.maximize{box-shadow:0 0 8px #22c55e59}.terminal-output.ascii-banner,.terminal-output.ascii-banner:first-child{background:linear-gradient(135deg,#22c55e14,#22c55e05 45%,#0000);border-color:#22c55e4d;box-shadow:inset 0 0 24px #22c55e14;text-shadow:0 0 12px #22c55e59}.terminal-output.welcome-message,.terminal-output.welcome-message:first-child{background:linear-gradient(135deg,#60a5fa12,#0000 60%);border-color:#60a5fa40 #60a5fa40 #60a5fa40 #60a5fa;border-left-color:var(--mc-blue)}.terminal-prompt{text-shadow:0 0 10px #22c55e59}.terminal-output.success{text-shadow:0 0 10px #22c55e40}.terminal-output.info{text-shadow:0 0 10px #60a5fa33}.terminal-output.error{text-shadow:0 0 10px #ef44444d}.terminal-output.warning{text-shadow:0 0 10px #f973164d}.cursor{box-shadow:0 0 10px #22c55e99}.terminal-line:has(.terminal-prompt){background:linear-gradient(90deg,#22c55e0d,#0000 40%);border-left-color:#22c55e73}.terminal-line:has(.terminal-prompt):focus-within{border-color:#22c55e4d;box-shadow:0 0 20px #22c55e14}.terminal-output.info.welcome-message,.terminal-output.welcome-message,.terminal-output.welcome-message:first-child{border:1px solid #242424;border:1px solid var(--mc-line);border-left:1px solid #60a5fa40}.terminal-line:has(.terminal-prompt),.terminal-line:has(.terminal-prompt):focus-within,.terminal-line:has(.terminal-prompt):hover{border-left-width:1px}.terminal-line:has(.terminal-prompt){border-left-color:#242424;border-left-color:var(--mc-line)}.terminal-line:has(.terminal-prompt):hover{border-left-color:#333}.terminal-line:has(.terminal-prompt):focus-within{border-left-color:#22c55e4d}.terminal-output{line-height:1.7}.terminal-output.output{color:#d9d9d9;text-shadow:none}.terminal-output.info{color:#cbd8ec;text-shadow:none}.terminal-output.success{color:#4ade80;text-shadow:none}.terminal-output.warning{color:#fb923c;text-shadow:none}.terminal-output.error{color:#f87171;font-weight:400;text-shadow:none}.terminal-output.input-line{color:#8a8a8a;text-shadow:none}.terminal-output.welcome-message{color:#cbd8ec}.os-window .terminal-input,.os-window .terminal-output,.os-window .terminal-prompt{font-size:.9rem}.terminal-output.ascii-banner,.terminal-output.ascii-banner:first-child{background:#0a0a0a;background:var(--mc-bg);border-color:#242424;border-color:var(--mc-line);box-shadow:none;text-shadow:none}.terminal-prompt{text-shadow:none}.terminal-line:has(.terminal-prompt):focus-within{box-shadow:none}.terminal-button.close,.terminal-button.maximize,.terminal-button.minimize{box-shadow:none}.terminal-output.ascii-banner,.terminal-output.ascii-banner:first-child{background:linear-gradient(135deg,#22c55e17,#22c55e05 50%,#0000);border-color:#22c55e38}.terminal-output.info.welcome-message,.terminal-output.welcome-message,.terminal-output.welcome-message:first-child{background:linear-gradient(135deg,#60a5fa14,#0000 60%);border-color:#60a5fa33 #60a5fa33 #60a5fa33 #60a5fa4d}.terminal-line:has(.terminal-prompt){background:linear-gradient(90deg,#22c55e0d,#0000 45%)}.terminal-line:has(.terminal-prompt):focus-within{border-color:#22c55e47 #22c55e47 #22c55e47 #22c55e80}.tk-heading{color:#f2f2f2;font-weight:700}.terminal-output.info .tk-heading{color:#9cc4ff}.tk-bullet{color:#5a5a5a}.tk-bullet.tk-sub{color:#444}.tk-label{color:#e5e5e5;font-weight:600}.terminal-output.info .tk-label{color:#dbe7fb}.tk-cmd{color:#4ade80}.tk-rule{color:#3a3a3a}.terminal-output.ascii-banner .tk-cmd,.terminal-output.ascii-banner .tk-heading,.terminal-output.ascii-banner .tk-rule{color:inherit;font-weight:inherit}.terminal-output.output.ascii-banner{color:#22c55e;color:var(--mc-green)}.os-window .terminal-output.ascii-banner{font-size:clamp(.42rem,1.6vw,.78rem)}.os-root.is-mobile .terminal-output{font-size:.82rem;line-height:1.6}.os-root.is-mobile .terminal-input,.os-root.is-mobile .terminal-prompt{font-size:.82rem}.os-root.is-mobile .terminal-body{padding:.75rem}.os-root.is-mobile .terminal-output.ascii-banner{font-size:clamp(.36rem,1.9vw,.6rem);padding:10px}.os-root.is-mobile .terminal-output.welcome-message{padding:12px 14px}.p-root{--bg:#050505;--card:#161618d1;--line:#ffffff14;--text:#f2f2f7;--muted:#9a9aa0;--dim:#5c5c62;--green:#22c55e;--blue:#60a5fa;--orange:#f97316;--purple:#a855f7;--red:#ef4444;--ios-blue:#0a84ff;-webkit-touch-callout:none;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;font-size:15px;height:100dvh;inset:0;line-height:1.4;overflow:hidden;position:fixed;user-select:none;-webkit-user-select:none}.p-root .os-wallpaper{inset:0;position:absolute;z-index:0}.p-status{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;justify-content:space-between;left:0;padding:max(12px,env(safe-area-inset-top)) 22px 0;pointer-events:none;position:absolute;right:0;top:0;z-index:30}.p-status-icons{fill:currentColor;align-items:center;display:inline-flex;gap:6px}.p-homebar{background:#ffffffd9;border-radius:3px;bottom:max(8px,env(safe-area-inset-bottom));height:5px;left:50%;position:absolute;transform:translateX(-50%);width:134px;z-index:60}.p-homebar-live{background:#0000;border-radius:0;bottom:0;height:44px;touch-action:none;width:100%}.p-homebar-live:after{background:#ffffffd9;border-radius:3px;bottom:max(8px,env(safe-area-inset-bottom));content:"";height:5px;left:50%;position:absolute;transform:translateX(-50%);width:134px}.p-lock{align-items:center;background:linear-gradient(180deg,#05050559,#050505b3);display:flex;flex-direction:column;inset:0;padding:calc(64px + env(safe-area-inset-top)) 20px 60px;position:absolute;touch-action:none;z-index:20}.p-lock-date{color:#ffffffe6;font-size:17px;font-weight:600}.p-lock-time{font-feature-settings:"tnum";font-size:82px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em;line-height:1;margin:2px 0 26px}.p-lock-notif{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#1c1c1eb8;border:1px solid var(--line);border-radius:18px;padding:12px 14px;width:100%}.p-lock-notif-head{color:var(--muted);display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.p-lock-notif-app{color:var(--green);font-weight:700}.p-lock-notif-title{font-size:14px;font-weight:700}.p-lock-notif-body{color:#fffc;font-size:13px;margin-top:2px}.p-lock-hint{background:none;border:0;color:#fffc;font:inherit;font-size:14px;font-weight:600;margin-top:auto;padding:10px 16px}@media (prefers-reduced-motion:no-preference){.p-lock-hint{animation:p-bob 1.8s ease-in-out infinite}@keyframes p-bob{50%{transform:translateY(-5px)}}}.p-code{align-items:center;display:flex;flex:1 1;flex-direction:column;padding-top:24px;width:100%}.p-code-title{font-size:20px;font-weight:600}.p-code-dots{display:flex;gap:22px;margin:22px 0 10px}.p-code-dots i{background:#0000;border:1px solid #fff;border-radius:50%;height:13px;transition:background .1s;width:13px}.p-code-dots i.is-on{background:#fff}.p-code-hint{color:var(--muted);font-size:12px;margin-bottom:26px}.p-keypad{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-template-columns:repeat(3,76px)}.p-key,.p-keypad{justify-content:center}.p-key{-webkit-tap-highlight-color:transparent;align-items:center;background:#ffffff24;border:0;border-radius:50%;color:#fff;display:flex;flex-direction:column;font:inherit;height:76px;width:76px}.p-key:active{background:#ffffff59}.p-key b{font-size:30px;font-weight:400;line-height:1}.p-key span{font-size:10px;font-weight:700;letter-spacing:.14em;min-height:12px}.p-key-text{background:#0000;font-size:22px}.p-code-cancel{background:none;border:0;color:#fff;font:inherit;font-size:16px;margin-top:auto;padding:12px}.p-home{display:flex;flex-direction:column;inset:0;padding-top:calc(50px + env(safe-area-inset-top));position:absolute;transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .3s;z-index:10}.p-home.is-hidden{opacity:0;pointer-events:none;transform:scale(.9)}.p-home-scroll{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 16px 16px}.p-widgets{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.pw{-webkit-tap-highlight-color:transparent;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--card);border:1px solid var(--line);border-radius:22px;color:var(--text);display:flex;flex-direction:column;font:inherit;gap:6px;min-height:150px;padding:12px 14px;text-align:left}.pw:active{transform:scale(.98)}.pw-medium{grid-column:span 2;min-height:140px}.pw-head{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:700;gap:6px}.pw-head svg{border-radius:5px}.pw-body{display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center}.pw-kicker{color:var(--muted);font-size:11px}.pw-title{font-size:18px;font-weight:700;letter-spacing:-.01em}.pw-sub{color:#ffffffd9;font-size:13px}.pw-meta{color:var(--muted);font-size:11px}.pw-big{font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1}.pw-unit{color:var(--muted);font-size:16px;margin-left:4px}.pw-row{align-items:baseline;display:flex;gap:8px}.pw-dots{display:flex;gap:6px;margin-top:6px}.pw-dots i{border-radius:50%;height:10px;width:10px}.pw-bars{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:repeat(5,1fr);height:84px}.pw-bar{align-items:center;display:flex;flex-direction:column;gap:4px;height:100%;justify-content:flex-end}.pw-bar i{border-radius:4px 4px 2px 2px;display:block;width:100%}.pw-bar span{color:var(--muted);font-size:9px}.pw-heat{grid-gap:3px;display:grid;gap:3px;margin-top:6px}.pw-heat-col{grid-gap:3px;display:grid;gap:3px;grid-template-rows:repeat(7,1fr)}.pw-heat i{aspect-ratio:1;border-radius:2px;display:block}.pw-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pw-tags span{border:1px solid var(--line);border-radius:999px;font-size:11px;padding:3px 8px}.lvl-0,.pw-tags span{background:#ffffff14}.p-grid{grid-gap:20px 0;display:grid;gap:20px 0;grid-template-columns:repeat(4,1fr);padding:26px 4px 8px}.p-icon{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:0;color:#fff;display:flex;flex-direction:column;font:inherit;font-size:11px;gap:5px;text-shadow:0 1px 3px #000000b3}.p-icon svg{border-radius:14px;transition:transform .12s}.p-icon:active svg{transform:scale(.9)}.p-desktop-link{background:none;border:0;color:var(--muted);display:block;font:inherit;font-size:12px;margin:8px auto 0;padding:8px;text-decoration:underline}.p-dock{backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#c8c8c824;border-radius:30px;display:flex;flex:0 0 auto;justify-content:space-around;margin:6px 12px calc(30px + env(safe-area-inset-bottom));padding:12px 16px}.p-app{background:#0a0a0a;display:flex;flex-direction:column;inset:0;position:absolute;transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1);visibility:hidden;z-index:40}.p-app.is-open{transform:translateY(0);visibility:visible}@media (prefers-reduced-motion:reduce){.p-app,.p-home{transition:none}}.p-app-head{grid-gap:8px;align-items:center;background:linear-gradient(180deg,#121212,#0a0a0a);border-bottom:1px solid var(--line);display:grid;flex:0 0 auto;gap:8px;grid-template-columns:34px 1fr 60px;padding:calc(50px + env(safe-area-inset-top)) 16px 10px}.p-app-glyph svg{border-radius:6px;display:block}.p-app-name{font-size:17px;font-weight:700}.p-app-close{background:none;border:0;color:var(--ios-blue);font:inherit;font-size:16px;font-weight:600;padding:6px 0;text-align:right}.p-app-body{-webkit-overflow-scrolling:touch;color:#e5e5e5;flex:1 1;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:44px}.p-app-body>*{min-height:100%}.p-app-body .app-projects,.p-app-body .app-research,.p-app-body .app-skills{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto}.p-app-body .app-bars,.p-app-body .app-projects-tree,.p-app-body .app-research-graph{border-bottom:1px solid var(--line);border-right:0}.p-app-body .app-projects-tree{display:flex;gap:4px;overflow-x:auto;padding:8px}.p-app-body .app-projects-tree .app-tree-head{display:none}.p-app-body .app-tree-item{white-space:nowrap;width:auto}.p-app-body .app-bars{min-height:180px}.p-app-body .app-console{height:calc(100dvh - 120px)}.p-app-body .app-console-stats{grid-template-columns:repeat(3,1fr)}.p-app-body .app-experience{height:auto}.p-app-body .app-gantt-row{grid-template-columns:72px 1fr}.p-app-body .app-gantt-axis{margin-left:86px}.p-app-body .app-resume{height:calc(100dvh - 120px)}.p-app-body .app-settings{min-height:0}.p-switcher{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#00000059;display:flex;gap:16px;inset:0;overflow-x:auto;padding:110px 30px 120px;position:absolute;scroll-snap-type:x mandatory;z-index:50}.p-switcher-empty{color:var(--muted);margin:auto}.p-switch-card{background:linear-gradient(180deg,#161616,#0d0d0d);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #0009;display:flex;flex:0 0 72vw;flex-direction:column;height:52vh;scroll-snap-align:center;touch-action:pan-x;transition:transform .22s ease,opacity .22s ease}.p-switch-card.is-leaving{opacity:0;transform:translateY(-60vh)}.p-switch-label{align-items:center;color:var(--muted);display:flex;font-size:13px;font-weight:700;gap:8px;padding:10px 14px}.p-switch-label svg{border-radius:5px}.p-switch-preview{align-items:center;color:var(--text);display:flex;flex:1 1;flex-direction:column;font-weight:600;gap:10px;justify-content:center}.p-switch-preview svg{border-radius:12px}.os-root{--bg:#0a0a0a;--card:#0e0e0e;--line:#242424;--line-strong:#333;--text:#e5e5e5;--muted:#8a8a8a;--dim:#555;--green:#22c55e;--blue:#60a5fa;--orange:#f97316;--purple:#a855f7;--red:#ef4444;--menu-h:30px;--dock-h:78px;background:radial-gradient(1100px 600px at 12% 0,#22c55e12,#0000 60%),radial-gradient(900px 500px at 100% 100%,#60a5fa0f,#0000 60%),var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,SF Mono,Menlo,monospace;font-size:12px;inset:0;line-height:1.5;overflow:hidden;position:fixed}.os-root:before{background-image:linear-gradient(hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0);background-size:28px 28px;content:"";inset:0;mask-image:radial-gradient(ellipse at center,#000 30%,#0000 85%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,#0000 85%);pointer-events:none;position:absolute}.os-root.year-2025{--tint:#a855f71a}.os-root.year-2024{--tint:#f973161a}.os-root.year-2024,.os-root.year-2025{background:radial-gradient(1100px 600px at 12% 0,var(--tint),#0000 60%),radial-gradient(900px 500px at 100% 100%,var(--tint),#0000 60%),var(--bg)}.os-boot{align-items:flex-start;background:#050505;color:var(--green);cursor:pointer;display:flex;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;inset:0;justify-content:flex-start;padding:32px;position:fixed}.os-boot-text{line-height:1.7;margin:0;text-shadow:0 0 10px #22c55e59;white-space:pre-wrap}.os-boot-hint{color:var(--muted);text-shadow:none}.os-boot-cursor{animation:os-blink 1s steps(2) infinite}@keyframes os-blink{50%{opacity:0}}.os-menubar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0ad9;border-bottom:1px solid var(--line);display:flex;gap:12px;height:var(--menu-h);justify-content:space-between;padding:0 12px;top:0;z-index:1000}.os-menubar,.os-menubar:after{left:0;position:absolute;right:0}.os-menubar:after{background:linear-gradient(90deg,#0000,#22c55e80,#0000);bottom:-1px;content:"";height:1px}.os-menubar.is-timetravel:after{background:linear-gradient(90deg,#0000,#f97316b3,#0000)}.os-menubar-left,.os-menubar-right{align-items:center;display:flex;gap:8px;min-width:0}.os-menubar-brand{background:none;border:0;border-radius:4px;color:var(--text);cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:2px 4px}.os-menubar-brand:focus-visible,.os-menubar-brand:hover{background:#161616;outline:none}.os-menubar-mark{color:var(--muted);font-weight:400}.os-menubar-app{color:var(--muted);font-size:11px}.os-chip{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:4px;color:var(--text);display:inline-flex;font-size:10px;font-weight:600;gap:6px;padding:2px 8px;white-space:nowrap}.os-chip-btn{color:var(--muted);cursor:pointer;font:inherit;font-size:10px;font-weight:700}.os-chip-btn:focus-visible,.os-chip-btn:hover{border-color:#1f3d2a;color:var(--green);outline:none}.os-chip-year{border-color:#f9731666;color:var(--orange)}.os-chip-clock{font-feature-settings:"tnum";color:var(--muted);font-variant-numeric:tabular-nums}.os-dot{background:var(--green);border-radius:50%;box-shadow:0 0 8px var(--green);height:6px;width:6px}.os-dot-orange{background:var(--orange);box-shadow:0 0 8px var(--orange)}@media (prefers-reduced-motion:no-preference){.os-dot{animation:os-pulse 2.4s ease-in-out infinite}@keyframes os-pulse{50%{opacity:.35}}}.os-desktop{inset:var(--menu-h) 0 var(--dock-h);position:absolute}.os-panel{background:#0e0e0eeb;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #00000059;color:var(--text);padding:10px 12px 12px;position:absolute;top:16px;width:232px;z-index:1}.os-panel-sys{left:16px}.os-panel-proc{right:16px}.os-panel-head{color:var(--text);display:flex;font-size:10.5px;font-weight:700;justify-content:space-between;margin-bottom:8px}.os-panel-head span:last-child{font-feature-settings:"tnum";color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.os-panel-head-sub{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.os-sys-list{display:flex;flex-direction:column;font-size:10.5px;gap:3px;margin:0}.os-sys-list div{grid-gap:8px;display:grid;gap:8px;grid-template-columns:52px 1fr}.os-sys-list dt{color:var(--dim)}.os-sys-list dd{color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-proc-cols,.os-proc-row{grid-gap:8px;align-items:center;display:grid;font-size:10.5px;gap:8px;grid-template-columns:34px 1fr 34px}.os-proc-cols{color:var(--dim);font-size:9px;letter-spacing:.06em;padding:0 6px 4px}.os-proc-row{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text);cursor:pointer;font:inherit;font-size:10.5px;padding:5px 6px;text-align:left;text-decoration:none;width:100%}.os-proc-row:focus-visible,.os-proc-row:hover{background:#161616;border-color:var(--line);outline:none}.os-proc-row:hover .os-proc-name{color:var(--green)}.os-proc-pid{font-feature-settings:"tnum";color:var(--dim);font-variant-numeric:tabular-nums}.os-proc-name{align-items:center;display:flex;font-weight:600;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-proc-name i{border-radius:50%;flex:0 0 auto;height:6px;width:6px}.os-proc-state{color:var(--muted);text-align:right}.os-heat{grid-gap:3px;display:grid;gap:3px;text-decoration:none}.os-heat-col{grid-gap:3px;display:grid;gap:3px;grid-template-rows:repeat(7,1fr)}.os-heat i{aspect-ratio:1;border-radius:2px;display:block}.lvl-0{background:#1c1c1c}.lvl-1{background:#14532d}.lvl-2{background:#166534}.lvl-3{background:#16a34a}.lvl-4{background:#22c55e}.os-desktop-icons{grid-gap:10px 6px;display:grid;gap:10px 6px;grid-template-columns:repeat(2,84px);position:absolute;right:18px;top:18px;z-index:1}.os-desktop-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;padding:8px 4px;text-decoration:none;width:84px}.os-desktop-icon:focus-visible,.os-desktop-icon:hover{background:#ffffff0d;border-color:#ffffff14;outline:none}.os-desktop-icon-label{font-size:10px;line-height:1.25;max-width:80px;text-align:center;text-shadow:0 1px 2px #000}.os-empty{align-items:center;color:var(--muted);gap:12px;inset:0;justify-content:center}.os-empty,.os-window{display:flex;flex-direction:column;position:absolute}.os-window{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px #0009,inset 0 0 0 1px #ffffff05;min-width:0;overflow:hidden}.os-window.is-active{border-color:var(--line-strong);box-shadow:0 24px 70px #000000b3,0 0 28px color-mix(in srgb,var(--win-accent) 12%,#0000)}.os-root.no-glow .os-window.is-active{box-shadow:0 24px 70px #000000b3}.os-window.is-minimized{display:none}.os-titlebar{align-items:center;background:linear-gradient(180deg,#121212,var(--card));border-bottom:1px solid var(--line);cursor:grab;display:grid;flex:0 0 34px;grid-template-columns:70px 1fr 70px;height:34px;padding:0 10px;touch-action:none;-webkit-user-select:none;user-select:none}.os-titlebar:active{cursor:grabbing}.os-traffic{display:flex;gap:7px}.os-tl{border:0;border-radius:50%;cursor:pointer;height:12px;opacity:.85;padding:0;width:12px}.os-tl:focus-visible,.os-tl:hover{opacity:1;outline:none;transform:scale(1.1)}.os-tl-close{background:var(--red);box-shadow:0 0 8px #ef444459}.os-tl-min{background:var(--orange);box-shadow:0 0 8px #f9731659}.os-tl-max{background:var(--green);box-shadow:0 0 8px #22c55e59}.os-window:not(.is-active) .os-tl{background:#3a3a3a;box-shadow:none}.os-title{color:var(--muted);font-size:11px;font-weight:700;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.os-window.is-active .os-title{color:var(--text)}.os-title-glyph{color:var(--win-accent)}.os-content{flex:1 1;min-height:0;overflow:auto;position:relative}.os-resize{background:linear-gradient(135deg,#0000 50%,var(--line-strong) 50%,var(--line-strong) 60%,#0000 60%,#0000 75%,var(--line-strong) 75%,var(--line-strong) 85%,#0000 85%);bottom:0;cursor:nwse-resize;height:18px;opacity:.7;position:absolute;right:0;touch-action:none;width:18px}.os-window .terminal-container{background:#0000;height:100%;width:100%}.os-window .terminal-container:after,.os-window .terminal-container:before,.os-window .terminal-header{display:none}.os-window .terminal-body{background:#0000;border:0;border-radius:0;box-shadow:none;margin:0}.os-dock{align-items:flex-end;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#101010b8;border:1px solid #ffffff14;border-radius:16px;bottom:10px;box-shadow:0 8px 28px #0006;display:flex;gap:2px;left:50%;max-width:calc(100vw - 24px);padding:6px 8px;position:absolute;transform:translateX(-50%);z-index:1000}.os-dock-item{align-items:center;background:#0000;border:0;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font:inherit;padding:2px 3px 8px;position:relative;transform-origin:bottom center;transition:transform .16s ease}.os-dock-item:focus-visible,.os-dock-item:hover{outline:none;transform:translateY(-6px) scale(1.18);z-index:2}.os-dock-icon{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.os-dock-item.is-open .os-dock-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) drop-shadow(0 0 8px color-mix(in srgb,var(--app-accent) 45%,transparent))}.os-root.no-glow .os-dock-item.is-open .os-dock-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.os-dock-tip{background:#161616;border:1px solid var(--line-strong);border-radius:6px;bottom:calc(100% + 6px);color:var(--text);font-size:10px;font-weight:600;left:50%;opacity:0;padding:3px 8px;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.9);transition:opacity .12s ease,transform .12s ease;white-space:nowrap}.os-dock-item:focus-visible .os-dock-tip,.os-dock-item:hover .os-dock-tip{opacity:1;transform:translateX(-50%) scale(1)}.os-dock-dot{background:#0000;border-radius:50%;bottom:2px;height:4px;position:absolute;width:4px}.os-dock-item.is-open .os-dock-dot{background:var(--text)}.os-dock-item.is-min .os-dock-dot{background:var(--dim)}.os-palette-backdrop{align-items:flex-start;background:#0000008c;display:flex;inset:0;justify-content:center;padding-top:12vh;position:fixed;z-index:2000}.os-palette{background:var(--card);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 30px 80px #000000b3;overflow:hidden;width:min(560px,calc(100vw - 32px))}.os-palette-input-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:10px;padding:12px 14px}.os-palette-prompt{color:var(--green);font-weight:700}.os-palette-input{background:#0000;border:0;color:var(--text);flex:1 1;font:inherit;font-size:13px;outline:none}.os-palette-kbd{border:1px solid var(--line);border-radius:4px;color:var(--muted);font:inherit;font-size:10px;padding:1px 6px}.os-palette-list{list-style:none;margin:0;max-height:50vh;overflow:auto;padding:6px}.os-palette-item{border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 10px}.os-palette-item.is-selected{background:#161616;color:var(--green)}.os-palette-hint{color:var(--dim);font-size:10px}.os-palette-empty{color:var(--muted);padding:12px}.app-detail-path{color:var(--dim);font-size:10px}.app-link{border-bottom:1px solid #22c55e4d;color:var(--green);font-weight:600;text-decoration:none}.app-link:hover{border-bottom-color:var(--green)}.app-chips{display:flex;flex-wrap:wrap;gap:6px}.app-chip{background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:10.5px;padding:2px 8px}.app-badge{border:1px solid;border-radius:4px;font-size:10px;font-weight:700;padding:2px 8px;white-space:nowrap}.app-btn{background:var(--bg);border:1px solid #1f3d2a;border-radius:6px;color:var(--green);cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:6px 12px}.app-btn:focus-visible,.app-btn:hover{box-shadow:0 0 0 1px var(--green);outline:none}.app-projects{display:grid;grid-template-columns:200px 1fr;height:100%}.app-projects-tree{background:var(--bg);border-right:1px solid var(--line);overflow:auto;padding:10px 8px}.app-tree-head{color:var(--dim);font-size:10px;padding:4px 8px 8px}.app-tree-item{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font:inherit;gap:8px;padding:6px 8px;text-align:left;width:100%}.app-tree-item:hover{background:#141414;color:var(--text)}.app-tree-item.is-selected{background:#161616;color:var(--text)}.app-tree-dot{border-radius:50%;flex:0 0 auto;height:7px;width:7px}.app-projects-detail{display:flex;flex-direction:column;gap:14px;overflow:auto;padding:18px 22px}.app-detail-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.app-detail-title{font-size:20px;letter-spacing:-.02em;margin:2px 0 0}.app-detail-highlight{color:var(--orange);font-weight:600;margin:0}.app-detail-desc{color:#c4c4c4;font-size:12.5px;margin:0;max-width:70ch}.app-detail-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:12px}.app-experience{display:grid;grid-template-rows:auto 1fr;height:100%}.app-gantt{background:var(--bg);border-bottom:1px solid var(--line);padding:16px 18px 6px}.app-gantt-row{grid-gap:10px;align-items:center;background:#0000;border:0;border-radius:4px;color:var(--muted);cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:92px 1fr;padding:3px 4px;text-align:left;width:100%}.app-gantt-row.is-selected,.app-gantt-row:hover{background:#141414;color:var(--text)}.app-gantt-name{font-size:10.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-gantt-lane{background:#000;border:1px solid #1c1c1c;border-radius:3px;display:block;height:10px;position:relative}.app-gantt-bar{border-radius:2px;bottom:1px;position:absolute;top:1px}.app-gantt-axis{color:var(--dim);font-size:10px;height:16px;margin-left:106px;position:relative}.app-gantt-axis span{position:absolute;transform:translateX(-50%)}.app-exp-detail{background:var(--bg);border:1px solid var(--line);border-left:3px solid;border-radius:6px;margin:12px 14px;overflow:auto;padding:16px 20px}.app-exp-detail h2{font-size:16px;margin:0}.app-exp-role{color:var(--text);font-weight:600;margin-top:2px}.app-exp-meta{color:var(--muted);font-size:10.5px;margin-bottom:10px}.app-exp-detail ul{color:#c4c4c4;display:flex;flex-direction:column;gap:6px;margin:0;padding-left:18px}.app-skills{display:grid;grid-template-columns:1fr 1fr;height:100%}.app-bars{grid-gap:8px;align-items:end;background:var(--bg);border-right:1px solid var(--line);display:grid;gap:8px;grid-template-columns:repeat(5,1fr);padding:18px}.app-bar-col{align-items:center;background:#0000;border:0;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;height:100%;padding:0}.app-bar-col.is-active{color:var(--text)}.app-bar-val{font-size:11px;font-weight:700}.app-bar-track{align-items:flex-end;background:#000;border:1px solid var(--line);border-radius:4px;display:flex;flex:1 1;min-height:120px;overflow:hidden;width:100%}.app-bar-col.is-active .app-bar-track{border-color:var(--line-strong)}.app-bar-fill{background-image:repeating-linear-gradient(0deg,#00000059 0 2px,#0000 2px 6px);border-radius:2px 2px 0 0;display:block;width:100%}.app-bar-key{font-size:10px;font-weight:600}.app-skills-list{overflow:auto;padding:18px}.app-skills-list h3{font-size:13px;margin:0 0 12px}.app-research{display:grid;grid-template-columns:220px 1fr;height:100%}.app-research-graph{background:var(--bg);border-right:1px solid var(--line);display:grid;padding:12px;place-items:center}.app-research-graph svg{max-width:220px;width:100%}.app-research-detail{border-left:3px solid;display:flex;flex-direction:column;gap:10px;overflow:auto;padding:16px 18px}.app-research-detail h3{font-size:13px;margin:0}.app-research-detail p{color:#c4c4c4;margin:0}.app-research-edu{border-top:1px solid var(--line);color:var(--muted);font-size:11px;gap:6px;margin-top:auto;padding-top:12px}.app-contact,.app-research-edu{display:flex;flex-direction:column}.app-contact{gap:14px;height:100%;padding:18px}.app-contact-block{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--blue);font-size:12px;margin:0;overflow:auto;padding:14px}.app-contact-links{display:flex;gap:16px}.app-resume{display:flex;flex-direction:column;height:100%}.app-resume-bar{align-items:center;background:var(--bg);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:8px 14px}.app-resume-frame{background:#1a1a1a;border:0;flex:1 1;width:100%}.app-console{display:grid;grid-template-rows:auto 1fr auto;height:100%}.app-console-stats{grid-gap:8px;background:var(--bg);border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:repeat(5,1fr);padding:12px 14px}.app-console-stats div{align-items:center;display:flex;flex-direction:column;text-align:center}.app-console-stats b{color:var(--green);font-size:15px;letter-spacing:-.02em}.app-console-stats span{color:var(--muted);font-size:9.5px}.app-console-log{font-size:11px;line-height:1.6;overflow:auto;padding:10px 14px}.app-console-line{color:#c4c4c4;white-space:pre}.app-console-line.is-ok{color:#9a9a9a}.app-console-line.is-info{color:var(--blue)}.app-console-line.is-warn{color:var(--orange)}.app-console-time{color:var(--dim)}.app-console-foot{border-top:1px solid var(--line);color:var(--dim);font-size:9.5px;padding:6px 14px}.app-settings{display:flex;flex-direction:column;padding:12px 16px}.app-settings-row{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 0}.app-settings-row>div:first-child{flex:1 1 200px}.app-settings-label{font-weight:700}.app-settings-hint{color:var(--muted);font-size:10.5px}.app-settings-about{color:var(--dim);font-size:10px;margin-top:auto;padding-top:12px}.app-toggle{background:var(--bg);border:1px solid var(--line-strong);border-radius:11px;cursor:pointer;flex:0 0 auto;height:22px;padding:0;position:relative;width:40px}.app-toggle i{background:var(--dim);border-radius:50%;height:14px;left:3px;position:absolute;top:3px;transition:left .15s ease,background .15s ease;width:14px}.app-toggle.is-on{border-color:#1f3d2a}.app-toggle.is-on i{background:var(--green);box-shadow:0 0 8px var(--green);left:21px}.os-wallpaper{height:100%;inset:0;pointer-events:none;position:absolute;width:100%;z-index:0}.os-login{background:#070707;color:#e5e5e5;display:grid;font-family:JetBrains Mono,Fira Code,monospace;inset:0;place-items:center;position:fixed;transition:opacity .25s ease}.os-login.is-leaving{opacity:0}.os-login-card{align-items:center;display:flex;flex-direction:column;gap:6px}.os-login-avatar{background:#0e0e0e;border:1px solid #242424;border-radius:50%;box-shadow:0 0 40px #22c55e2e;color:#22c55e;display:grid;font-size:26px;font-weight:700;height:84px;margin-bottom:8px;place-items:center;width:84px}.os-login-user{font-size:16px;font-weight:700}.os-login-host{color:#8a8a8a;font-size:11px;margin-bottom:14px}.os-login-btn{align-items:center;background:#0a0a0a;border:1px solid #1f3d2a;border-radius:6px;color:#22c55e;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:8px;padding:8px 16px}.os-login-btn:focus-visible,.os-login-btn:hover{box-shadow:0 0 0 1px #22c55e,0 0 20px #22c55e40;outline:none}.os-login-key{border:1px solid #1f3d2a;border-radius:4px;font-size:11px;padding:0 6px}.os-login-hint{color:#555;font-size:10px;margin-top:6px}@media (prefers-reduced-motion:no-preference){.os-window{animation:os-win-in .18s cubic-bezier(.2,.8,.2,1)}@keyframes os-win-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.os-window.is-leaving{pointer-events:none}.os-window.is-leaving-min{animation:os-win-min .19s ease-in forwards}.os-window.is-leaving-close{animation:os-win-close .16s ease-in forwards}@keyframes os-win-min{to{opacity:0;transform:translateY(45vh) scale(.6)}}@keyframes os-win-close{to{opacity:0;transform:scale(.96)}}}.os-menu-wrap{position:relative}.os-menubar-brand.is-open{background:#161616}.os-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0e0ef5;border:1px solid #333;border-radius:8px;box-shadow:0 16px 40px #0009;left:0;min-width:240px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:1001}.os-menu-item{background:#0000;border:0;border-radius:5px;color:#e5e5e5;cursor:pointer;display:flex;font:inherit;font-size:11.5px;gap:16px;justify-content:space-between;padding:7px 10px;text-align:left;white-space:nowrap;width:100%}.os-menu-item:focus-visible,.os-menu-item:hover{background:#1a1a1a;color:#22c55e;outline:none}.os-menu-hint{color:#555;font-size:10px}.os-menu-sep{background:#242424;height:1px;margin:6px 4px}.app-changelog{background:var(--bg);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;font-size:11px;gap:4px;margin-top:4px;padding:10px 12px}.app-changelog-line{color:#c4c4c4;white-space:normal}.app-changelog-hash{font-weight:700;margin-right:4px}.os-menubar:after{display:none}.os-dot{animation:none}.os-dot,.os-dot-orange{box-shadow:none}.os-window.is-active{box-shadow:0 24px 70px #000000b3}.os-title-glyph{color:var(--muted)}.os-tl-close,.os-tl-max,.os-tl-min{box-shadow:none}.os-dock-item.is-open .os-dock-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.os-login-avatar{box-shadow:none}.os-login-btn:focus-visible,.os-login-btn:hover{box-shadow:0 0 0 1px #22c55e}.app-changelog-hash{color:var(--muted)}.app-bar-fill,.app-gantt-bar{box-shadow:none!important}.app-toggle.is-on i{box-shadow:none}.os-boot-text{text-shadow:none}.os-window{background:linear-gradient(180deg,#131313,#0d0d0d);box-shadow:inset 0 1px 0 #ffffff0a,0 20px 60px #0009}.os-window.is-active{border-color:#3a3a3a;box-shadow:inset 0 1px 0 #ffffff0f,0 28px 80px #000000bf}.os-titlebar{background:linear-gradient(180deg,#1a1a1a,#101010)}.os-window .terminal-body{background:radial-gradient(900px 420px at 0 0,#22c55e0d,#0000 60%),radial-gradient(700px 380px at 100% 100%,#60a5fa0a,#0000 60%)}.os-panel{background:linear-gradient(180deg,#141414f0,#0c0c0cf0);box-shadow:inset 0 1px 0 #ffffff0a,0 10px 30px #00000059}.os-dock{background:linear-gradient(180deg,#181818d1,#0c0c0cd1);box-shadow:inset 0 1px 0 #ffffff0d,0 8px 28px #00000073}.os-menubar{background:linear-gradient(180deg,#121212eb,#0a0a0ae0)}.os-chip{background:linear-gradient(180deg,#151515,#0e0e0e)}.os-desktop-icon:hover{background:linear-gradient(180deg,#ffffff0f,#ffffff08)}.os-login-avatar{background:linear-gradient(180deg,#171717,#0c0c0c);border-color:#2c2c2c}.os-menu{background:linear-gradient(180deg,#141414f7,#0c0c0cf7)}.app-changelog,.app-contact-block,.app-exp-detail{background:linear-gradient(180deg,#0d0d0d,#0a0a0a)}.app-chip{background:linear-gradient(180deg,#121212,#0b0b0b)}@media (max-width:1099px) and (min-width:768px){.os-panel-sys{display:none}.os-desktop-icons{gap:6px;grid-template-columns:84px;right:12px;top:12px}.os-desktop-icon{padding:6px 2px}.os-menubar-app{display:none}}.os-root.is-mobile .os-dock{gap:0;padding:6px}.os-root.is-mobile .os-dock-icon{height:38px;width:38px}.os-root.is-mobile .os-titlebar{grid-template-columns:70px 1fr 70px}.os-notice{align-items:center;background:linear-gradient(180deg,#161616f5,#0e0e0ef5);border:1px solid #333;border-radius:8px;box-shadow:0 10px 30px #00000080;color:var(--text);display:flex;font-size:10.5px;gap:10px;left:50%;line-height:1.4;max-width:calc(100vw - 24px);padding:7px 8px 7px 12px;position:absolute;top:calc(var(--menu-h) + 8px);transform:translateX(-50%);z-index:1500}.os-notice-btn{border:1px solid #1f3d2a;border-radius:5px;color:var(--green);font:inherit;font-size:10.5px;font-weight:700;padding:3px 8px}.os-notice-btn,.os-notice-x{background:#0000;cursor:pointer}.os-notice-x{border:1px solid var(--line);border-radius:4px;color:var(--muted);font:inherit;font-size:13px;line-height:1;padding:2px 6px}.os-snap-preview{background:#22c55e0f;border:1px solid #22c55e73;border-radius:10px;pointer-events:none;position:absolute;z-index:5}@media (prefers-reduced-motion:no-preference){.os-window.is-snapped{transition:left .14s ease,top .14s ease,width .14s ease,height .14s ease}}.os-title-right{display:flex;justify-content:flex-end}.os-tile{background:#0000;border:1px solid var(--line);border-radius:5px;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;line-height:1;padding:3px 7px}.os-tile:focus-visible,.os-tile:hover{border-color:var(--line-strong);color:var(--text);outline:none}.os-root.is-touch .os-titlebar{flex-basis:42px;grid-template-columns:84px 1fr 84px;height:42px}.os-root.is-touch .os-tl{height:15px;width:15px}.os-root.is-touch .os-traffic{gap:9px}.os-root.is-touch .os-tile{font-size:14px;padding:6px 10px}.os-root.is-touch .os-resize{height:28px;width:28px}.os-root.is-touch{--dock-h:100px}.os-root.is-touch .os-dock-item{padding:4px 4px 10px}.os-root.is-touch .os-dock-item:after{color:var(--muted);content:attr(data-label);display:block;font-size:9px;margin-top:2px}.os-root.is-touch .os-dock-item:hover{transform:none}.os-root.is-touch .os-dock-tip{display:none}.os-root.is-touch .os-desktop-icon,.os-root.is-touch .os-dock-item{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.os-root.is-touch .os-content{overscroll-behavior:contain}.app-seg{border:1px solid var(--line);border-radius:6px;display:inline-flex;flex:0 0 auto;overflow:hidden}.app-seg-btn{background:#0000;border:0;border-right:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;font-size:10.5px;font-weight:600;padding:5px 9px}.app-seg-btn:last-child{border-right:0}.app-seg-btn.is-on{background:#121a14;color:var(--green)}
/*# sourceMappingURL=main.4fa17e6f.css.map*/