:root{--ink: #26292e;--muted: #797c82;--green: #4ec98a;--blue: #6f9bff;--amber: #d6a04f;--os-text: #e6e8ec;--os-dim: #9aa0aa;--os-faint: #62666e;--accent: #5b6fd6;--wall-1: #16223c;--wall-2: #243a5e;--wall-3: #3b2c54;--wall-glow: rgba(120, 170, 255, .35);--menubar-bg: rgba(12, 16, 24, .5);--dock-bg: rgba(255, 255, 255, .1);--dock-border: rgba(255, 255, 255, .16);--win-bg: rgba(17, 21, 29, .86);--win-bar: rgba(31, 36, 47, .9);--glass-border: rgba(255, 255, 255, .1);--tl-close: #ff5f56;--tl-min: #ffbd2e;--tl-max: #27c93f}html,body{margin:0;padding:0;height:100%;background:#000;overflow:hidden}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.35}}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;font-family:JetBrains Mono,monospace}#scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:pointer}.top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px 32px;font-size:13px;z-index:5;pointer-events:none;transition:opacity .45s}.t-green{color:var(--green)}.t-blue{color:var(--blue)}.t-ink{color:#c8ccd4}.t-muted{color:var(--muted)}.hint{position:absolute;left:50%;bottom:54px;transform:translate(-50%);display:flex;align-items:center;gap:11px;font-size:13px;color:#9aa0a8;z-index:5;transition:opacity .45s}.hint-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 1.7s ease-in-out infinite}.overlay{position:absolute;left:0;top:0;width:0;height:0;opacity:0;pointer-events:none;z-index:4;overflow:hidden;--ui: 12px;--radius: calc(var(--ui) * .85);--menubar-h: calc(var(--ui) * 2.3);--blur: blur(calc(var(--ui) * .7));font-family:Space Grotesk,JetBrains Mono,sans-serif;color:var(--os-text);-webkit-font-smoothing:antialiased}.os-desktop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.os-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 82% 18%,var(--wall-glow),transparent 60%),linear-gradient(135deg,var(--wall-1),var(--wall-2) 55%,var(--wall-3))}.os-widgets{position:absolute;left:calc(var(--ui) * 1.4);top:calc(var(--menubar-h) + var(--ui) * 1.2);display:flex;flex-direction:column;gap:calc(var(--ui) * 1);width:calc(var(--ui) * 13);pointer-events:none}.wg{border:1px solid var(--glass-border);border-radius:var(--radius);background:#ffffff0d;padding:calc(var(--ui) * .8) calc(var(--ui) * 1)}.wg-time{font-size:calc(var(--ui) * 2.8);font-weight:700;line-height:1;letter-spacing:-.02em}.wg-date{margin-top:calc(var(--ui) * .3);font-size:calc(var(--ui) * .82);color:var(--os-dim)}.wg-status{display:flex;align-items:center;gap:calc(var(--ui) * .6)}.wg-status-dot{width:calc(var(--ui) * .7);height:calc(var(--ui) * .7);border-radius:50%;background:#6b7280;flex-shrink:0}.wg-status.is-on .wg-status-dot{background:var(--green);box-shadow:0 0 calc(var(--ui) * .6) var(--green)}.wg-status-text{font-size:calc(var(--ui) * .8);color:var(--os-text)}.wg-now{display:flex;align-items:center;gap:calc(var(--ui) * .7);width:100%;text-align:left;font:inherit;color:var(--os-text);cursor:pointer;pointer-events:auto;transition:background .15s,border-color .15s}.wg-now:hover{background:#ffffff1a;border-color:#fff3}.wg-now-btn{margin-left:auto;flex-shrink:0;width:calc(var(--ui) * 1.7);height:calc(var(--ui) * 1.7);display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1f;color:var(--os-text);transition:background .15s,color .15s}.wg-now-btn svg{width:54%;height:54%}.wg-now:hover .wg-now-btn{background:var(--accent);color:#fff}.wg-now-art{display:flex;align-items:flex-end;gap:calc(var(--ui) * .18);height:calc(var(--ui) * 1.8);width:calc(var(--ui) * 1.8);padding:calc(var(--ui) * .3);border-radius:calc(var(--ui) * .4);background:linear-gradient(135deg,var(--accent),#00000033);flex-shrink:0}.wg-now-art span{flex:1;background:#ffffffd9;border-radius:1px;transform:scaleY(.4);transform-origin:bottom;animation:eq 1.1s ease-in-out infinite;animation-play-state:paused}.wg-now.is-playing .wg-now-art span{animation-play-state:running}.wg-now-art span:nth-child(1){animation-delay:0s;height:40%}.wg-now-art span:nth-child(2){animation-delay:.2s;height:80%}.wg-now-art span:nth-child(3){animation-delay:.4s;height:55%}.wg-now-art span:nth-child(4){animation-delay:.1s;height:70%}@keyframes eq{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.wg-now-title{font-size:calc(var(--ui) * .86);font-weight:600}.wg-now-sub{font-size:calc(var(--ui) * .72);color:var(--os-dim)}.os-menubar{position:absolute;top:0;left:0;right:0;height:var(--menubar-h);z-index:9500;display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--ui) * 1.2);background:var(--menubar-bg);border-bottom:1px solid rgba(255,255,255,.06);pointer-events:auto;font-size:calc(var(--ui) * .85)}.mb-left,.mb-right{display:flex;align-items:center;gap:calc(var(--ui) * .9)}.mb-logo{width:calc(var(--ui) * .85);height:calc(var(--ui) * .85);border-radius:50%;background:var(--accent);box-shadow:0 0 calc(var(--ui) * .5) var(--accent)}.mb-os{font-weight:700}.mb-app{color:var(--os-dim);font-weight:600}.mb-ic{display:inline-flex;width:calc(var(--ui) * 1.15);height:calc(var(--ui) * 1.15);color:var(--os-text);opacity:.85}.mb-batt{display:inline-flex;align-items:center;gap:calc(var(--ui) * .35)}.mb-pct{font-size:calc(var(--ui) * .78);color:var(--os-dim)}.mb-clock{font-variant-numeric:tabular-nums;min-width:calc(var(--ui) * 4.2);text-align:right}.os-dock{position:absolute;bottom:calc(var(--ui) * .9);left:50%;transform:translate(-50%);z-index:9000;display:flex;align-items:flex-end;gap:calc(var(--ui) * .55);padding:calc(var(--ui) * .5) calc(var(--ui) * .7);background:var(--dock-bg);border:1px solid var(--dock-border);border-radius:calc(var(--ui) * 1.1);pointer-events:auto;box-shadow:0 calc(var(--ui) * .8) calc(var(--ui) * 2) #0006}.os-icon{position:relative;border:none;background:none;padding:0;cursor:pointer;color:var(--os-text);display:flex;flex-direction:column;align-items:center;transform-origin:bottom center;transition:transform .09s ease-out}.os-tile{width:calc(var(--ui) * 2.7);height:calc(var(--ui) * 2.7);border-radius:26%;background:linear-gradient(155deg,var(--accent),color-mix(in srgb,var(--accent) 45%,#000));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 1px #ffffff59,0 calc(var(--ui) * .25) calc(var(--ui) * .5) #0006}.os-tile svg{width:58%;height:58%}.os-dot{width:calc(var(--ui) * .32);height:calc(var(--ui) * .32);border-radius:50%;background:var(--os-text);margin-top:calc(var(--ui) * .28);opacity:0;transition:opacity .15s}.os-icon.running .os-dot{opacity:.9}.os-tip{position:absolute;bottom:calc(100% + var(--ui) * .5);left:50%;transform:translate(-50%) translateY(calc(var(--ui) * .3));padding:calc(var(--ui) * .3) calc(var(--ui) * .6);background:#080a10f2;color:#f2f4f8;font-weight:600;border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--ui) * .4);font-size:calc(var(--ui) * .78);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;z-index:9999}.os-icon:hover .os-tip{opacity:1;transform:translate(-50%) translateY(0)}.os-win-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.os-window{position:absolute;display:flex;flex-direction:column;background:var(--win-bg);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;pointer-events:auto;contain:layout paint;will-change:transform;box-shadow:0 calc(var(--ui) * 1.2) calc(var(--ui) * 3.5) #00000080;transition:transform .34s cubic-bezier(.2,.85,.3,1),opacity .3s,box-shadow .2s}.os-window.is-active{border-color:#fff3;box-shadow:0 calc(var(--ui) * 1.8) calc(var(--ui) * 5) #0000009e}.os-window.is-snapping{transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease}.os-window.is-opening{animation:os-open .42s cubic-bezier(.2,.85,.3,1) both}.os-window.is-closing{animation:os-close .22s ease-in both}@keyframes os-open{0%{opacity:0;transform:translateY(calc(var(--ui) * .7)) scale(.96)}to{opacity:1;transform:none}}@keyframes os-close{to{opacity:0;transform:scale(.95)}}.os-bar{flex:0 0 auto;height:calc(var(--ui) * 2.1);display:flex;align-items:center;padding:0 calc(var(--ui) * .8);background:var(--win-bar);border-bottom:1px solid rgba(255,255,255,.05);cursor:grab;-webkit-user-select:none;user-select:none}.os-bar:active{cursor:grabbing}.os-traffic{display:flex;gap:calc(var(--ui) * .45)}.tl{width:calc(var(--ui) * .85);height:calc(var(--ui) * .85);border-radius:50%;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#0000008c}.tl svg{width:74%;height:74%;opacity:0;transition:opacity .12s;stroke-width:2.4}.os-traffic:hover .tl svg{opacity:1}.tl--close{background:var(--tl-close)}.tl--min{background:var(--tl-min)}.tl--max{background:var(--tl-max)}.os-bar-title{flex:1;text-align:center;font-size:calc(var(--ui) * .85);font-weight:600;color:var(--os-dim);margin-right:calc(var(--ui) * 3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.os-body--terminal{display:flex;flex-direction:column;overflow:hidden}.overlay:not(.is-interactive),.overlay:not(.is-interactive) *{pointer-events:none}.overlay.is-interactive .os-menubar,.overlay.is-interactive .os-dock,.overlay.is-interactive .os-bar{backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.overlay.is-booting .os-menubar{animation:boot-down .5s cubic-bezier(.2,.8,.3,1) both}.overlay.is-booting .os-widgets{animation:boot-fade .55s .18s both}.overlay.is-booting .os-dock{animation:boot-up .5s .28s cubic-bezier(.2,.8,.3,1) both}.overlay.is-booting .os-window{animation:os-open .45s .4s cubic-bezier(.2,.85,.3,1) both}@keyframes boot-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes boot-fade{0%{opacity:0;transform:translateY(calc(var(--ui) * .8))}to{opacity:1;transform:none}}@keyframes boot-up{0%{opacity:0;transform:translate(-50%) translateY(140%)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-body{padding:calc(var(--ui) * 1.2) calc(var(--ui) * 1.4);font-size:calc(var(--ui) * .9);line-height:1.55;color:var(--os-text)}.dim{color:var(--os-faint)}.tag{display:inline-block;padding:calc(var(--ui) * .16) calc(var(--ui) * .5);border-radius:calc(var(--ui) * .35);font-size:calc(var(--ui) * .74);font-family:JetBrains Mono,monospace;margin:calc(var(--ui) * .12);margin-left:0}.tag--green{background:#4ec98a24;color:#4ec98a;border:1px solid rgba(78,201,138,.25)}.tag--blue{background:#6f9bff24;color:#6f9bff;border:1px solid rgba(111,155,255,.25)}.tag--amber{background:#d6a04f24;color:#d6a04f;border:1px solid rgba(214,160,79,.25)}.tag--ghost{background:#ffffff0d;color:var(--os-dim);border:1px solid var(--glass-border)}.sobre-head{display:flex;align-items:center;gap:calc(var(--ui) * 1)}.sobre-avatar{width:calc(var(--ui) * 3.6);height:calc(var(--ui) * 3.6);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--ui) * 1.3);font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 40%,#000));box-shadow:inset 0 1px #ffffff4d}.sobre-name{font-size:calc(var(--ui) * 1.4);font-weight:700;letter-spacing:-.01em}.sobre-role{color:var(--accent);font-size:calc(var(--ui) * .92);font-weight:600}.sobre-org{color:var(--os-dim);font-size:calc(var(--ui) * .8);margin-top:calc(var(--ui) * .1)}.sobre-bio{color:var(--os-dim);font-size:calc(var(--ui) * .85);margin:calc(var(--ui) * 1) 0}.sobre-stack{display:flex;flex-direction:column;gap:calc(var(--ui) * .55)}.stack-row{display:flex;align-items:baseline;gap:calc(var(--ui) * .6)}.stack-cat{flex:0 0 calc(var(--ui) * 3.6);font-size:calc(var(--ui) * .72);text-transform:uppercase;letter-spacing:.08em;color:var(--os-faint)}.stack-tags{flex:1}.contato-lead{font-size:calc(var(--ui) * 1.1);font-weight:600;margin-bottom:calc(var(--ui) * .8)}.contact-row{display:flex;align-items:center;gap:calc(var(--ui) * .85);padding:calc(var(--ui) * .7) calc(var(--ui) * .5);border-radius:calc(var(--ui) * .5);text-decoration:none;color:inherit;transition:background .12s}.contact-row:hover{background:#ffffff0d}.contact-ic{width:calc(var(--ui) * 1.8);height:calc(var(--ui) * 1.8);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent);border:1px solid var(--glass-border);border-radius:calc(var(--ui) * .5);background:#ffffff0a}.contact-ic svg{width:60%;height:60%}.contact-meta{display:flex;flex-direction:column;flex:1;min-width:0}.contact-label{font-size:calc(var(--ui) * .72);text-transform:uppercase;letter-spacing:.07em;color:var(--os-faint)}.contact-value{font-size:calc(var(--ui) * .85);font-family:JetBrains Mono,monospace;color:var(--os-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-go{color:var(--os-faint);font-size:calc(var(--ui) * .95)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--ui) * 13),1fr));gap:calc(var(--ui) * 1)}.proj-card{border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;background:#ffffff08;transition:transform .15s,border-color .15s}.proj-card:hover{transform:translateY(calc(var(--ui) * -.2));border-color:#fff3}.proj-thumb{position:relative;height:calc(var(--ui) * 6);background:linear-gradient(135deg,hsl(var(--h) 55% 42%),hsl(calc(var(--h) + 45) 50% 24%));display:flex;align-items:center;justify-content:center}.proj-thumb-bar{position:absolute;top:calc(var(--ui) * .5);left:calc(var(--ui) * .5);display:flex;gap:calc(var(--ui) * .25)}.proj-thumb-bar i{width:calc(var(--ui) * .4);height:calc(var(--ui) * .4);border-radius:50%;background:#ffffff80}.proj-thumb-glyph{font-size:calc(var(--ui) * 2.8);font-weight:700;color:#ffffffeb;text-shadow:0 calc(var(--ui) * .1) calc(var(--ui) * .4) rgba(0,0,0,.3)}.proj-info{padding:calc(var(--ui) * .8)}.proj-name{font-size:calc(var(--ui) * 1);font-weight:700}.proj-desc{font-size:calc(var(--ui) * .8);color:var(--os-dim);margin:calc(var(--ui) * .3) 0 calc(var(--ui) * .5)}.proj-tags{margin-bottom:calc(var(--ui) * .5)}.proj-link{font-size:calc(var(--ui) * .78);font-family:JetBrains Mono,monospace;color:var(--accent);text-decoration:none}.proj-link:hover{text-decoration:underline}.skill-group{margin-bottom:calc(var(--ui) * 1.1)}.skill-cat{display:flex;align-items:center;gap:calc(var(--ui) * .5);font-size:calc(var(--ui) * .78);text-transform:uppercase;letter-spacing:.08em;color:var(--os-faint);margin-bottom:calc(var(--ui) * .5)}.skill-dot{width:calc(var(--ui) * .6);height:calc(var(--ui) * .6);border-radius:50%}.skill-dot--green{background:#4ec98a}.skill-dot--blue{background:#6f9bff}.skill-dot--amber{background:#d6a04f}.skill-rows{display:flex;flex-direction:column;gap:calc(var(--ui) * .45)}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--ui) * .8)}.skill-name{font-size:calc(var(--ui) * .88)}.skill-meter{display:flex;gap:calc(var(--ui) * .25)}.skill-pip{width:calc(var(--ui) * .85);height:calc(var(--ui) * .5);border-radius:calc(var(--ui) * .15);background:#ffffff1a}.skill-pip.on{background:var(--os-dim)}.skill-pip--green.on{background:#4ec98a}.skill-pip--blue.on{background:#6f9bff}.skill-pip--amber.on{background:#d6a04f}.cfg-sec{margin-bottom:calc(var(--ui) * 1.2)}.cfg-title{font-size:calc(var(--ui) * .76);text-transform:uppercase;letter-spacing:.08em;color:var(--os-faint);margin-bottom:calc(var(--ui) * .55)}.cfg-swatches{display:flex;flex-wrap:wrap;gap:calc(var(--ui) * .6)}.cfg-wall{width:calc(var(--ui) * 3.6);height:calc(var(--ui) * 2.3);border-radius:calc(var(--ui) * .5);border:2px solid transparent;cursor:pointer;padding:0}.cfg-acc{width:calc(var(--ui) * 1.6);height:calc(var(--ui) * 1.6);border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.cfg-wall.sel,.cfg-acc.sel{border-color:#fff;box-shadow:0 0 0 calc(var(--ui) * .15) var(--accent)}.cfg-toggle-row{display:flex;align-items:center;justify-content:space-between}.cfg-toggle-label{font-size:calc(var(--ui) * .9)}.cfg-switch{width:calc(var(--ui) * 2.6);height:calc(var(--ui) * 1.4);border-radius:calc(var(--ui) * .7);background:#ffffff1f;border:none;cursor:pointer;padding:calc(var(--ui) * .15);display:flex;transition:background .18s}.cfg-switch.on{background:var(--green)}.cfg-knob{width:calc(var(--ui) * 1.1);height:calc(var(--ui) * 1.1);border-radius:50%;background:#fff;transition:transform .18s}.cfg-switch.on .cfg-knob{transform:translate(calc(var(--ui) * 1.2))}.app-empty{color:var(--os-faint);text-align:center;padding:calc(var(--ui) * 3) 0;font-size:calc(var(--ui) * .9);line-height:1.8}.term-body{flex:1 1 auto;padding:calc(var(--ui) * .9) calc(var(--ui) * 1.2);font-family:JetBrains Mono,monospace;font-size:calc(var(--ui) * .92);line-height:1.5;color:#d4d7dd;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap}.term-input-row{display:flex;align-items:baseline;white-space:pre}.term-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#d4d7dd;font:inherit;padding:0;caret-color:#4ec98a}.term-cursor{display:inline-block;width:.5em;height:1.05em;background:#d4d7dd;vertical-align:-.15em;animation:blink 1.1s step-end infinite}.back-btn{position:absolute;top:22px;left:32px;opacity:0;pointer-events:none;transition:opacity .45s;z-index:6;font-size:13px;color:var(--ink);background:#fff;border:1px solid rgba(0,0,0,.12);padding:9px 15px;border-radius:6px;cursor:pointer;box-shadow:0 1px 3px #0000000f}.mini-player{position:absolute;top:20px;right:28px;z-index:7;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;background:#10141ca8;border:1px solid rgba(255,255,255,.1);border-radius:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006;transition:opacity .45s;font-family:Space Grotesk,sans-serif;color:#e6e8ec;-webkit-font-smoothing:antialiased}.mini-eq{display:flex;align-items:flex-end;gap:2px;width:18px;height:18px}.mini-eq span{flex:1;background:var(--green);border-radius:1px;transform:scaleY(.4);transform-origin:bottom;animation:eq 1.1s ease-in-out infinite;animation-play-state:paused}.mini-player.is-playing .mini-eq span{animation-play-state:running}.mini-eq span:nth-child(1){animation-delay:0s;height:45%}.mini-eq span:nth-child(2){animation-delay:.2s;height:85%}.mini-eq span:nth-child(3){animation-delay:.4s;height:60%}.mini-eq span:nth-child(4){animation-delay:.1s;height:75%}.mini-meta{display:flex;flex-direction:column;line-height:1.25}.mini-title{font-size:13px;font-weight:600}.mini-sub{font-size:11px;color:#9aa0aa}.mini-btn{width:30px;height:30px;flex-shrink:0;border:none;border-radius:50%;background:#ffffff1a;color:#e6e8ec;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.mini-btn:hover{background:var(--green);color:#06160e}.mini-btn svg{width:16px;height:16px}
