:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;color:#dbe7ef;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#090d12;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{background:#090d12;min-height:100%}body{min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}#root{min-height:100svh}.app{color:#eef3f2;background:#050505;min-height:100svh;overflow:hidden}.intro-scene{background:#050505;min-height:100svh;position:relative;overflow:hidden}.video-stage{background:#050505;position:absolute;inset:0;overflow:hidden}.video-layer{z-index:1;opacity:1;transform-origin:50% 54%;transition:opacity 1.45s cubic-bezier(.2,.8,.2,1),transform 1.45s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scale(1)}.intro-scene.is-enteringLock .video-layer,.intro-scene.is-locked .video-layer,.intro-scene.is-desktop .video-layer{opacity:0;transform:scale(1.18)}.intro-scene.is-exitingDesktop .video-layer{opacity:1;transform:scale(1)}.intro-scene.is-reversing .video-layer{opacity:1;transition-duration:.55s;transform:scale(1)}.close-frame-layer{z-index:2;opacity:0;pointer-events:none;background:#050505;transition:opacity 1.45s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:hidden}.close-frame-image{transform-origin:50% 31.6%;-webkit-user-select:none;user-select:none;width:auto;min-width:100%;max-width:none;height:100%;transition:transform 1.45s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.02)}.intro-scene.is-enteringLock .close-frame-layer,.intro-scene.is-locked .close-frame-layer,.intro-scene.is-desktop .close-frame-layer{opacity:1}.intro-scene.is-enteringLock .close-frame-image,.intro-scene.is-locked .close-frame-image,.intro-scene.is-desktop .close-frame-image{transform:translate(-50%,-50%)scale(1.55)}.intro-scene.is-exitingDesktop .close-frame-layer{opacity:0}.intro-scene.is-exitingDesktop .close-frame-image{transform:translate(-50%,-50%)scale(1.02)}.scene-video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .12s linear;display:block;position:absolute;inset:0}.scene-video.is-visible{opacity:1}.intro-loader{z-index:8;color:#f6f7f2;background:#050505;place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:0}.intro-loader span{border:2px solid #ffffff2e;border-top-color:#ffffffd6;border-radius:999px;width:34px;height:34px;animation:.8s linear infinite loader-spin}.intro-loader strong{letter-spacing:0;font-size:.78rem;font-weight:700}@keyframes loader-spin{to{transform:rotate(360deg)}}.laptop-screen-ui{top:var(--screen-top,46%);left:var(--screen-left,50%);z-index:4;width:var(--screen-width,min(54vw, 720px));height:var(--screen-height,min(32vw, 430px));box-shadow:none;opacity:0;pointer-events:none;transform-origin:50% 86%;background:0 0;border-radius:clamp(5px,.55vw,10px);transition:top 80ms linear,left 80ms linear,width 80ms linear,height 80ms linear,opacity 80ms,transform .12s;position:absolute;overflow:hidden;transform:translateZ(0)scale(.985)}.intro-scene.is-enteringLock .laptop-screen-ui,.intro-scene.is-exitingDesktop .laptop-screen-ui{transition:top 1.45s cubic-bezier(.2,.8,.2,1),left 1.45s cubic-bezier(.2,.8,.2,1),width 1.45s cubic-bezier(.2,.8,.2,1),height 1.45s cubic-bezier(.2,.8,.2,1),opacity .2s,transform 1.45s cubic-bezier(.2,.8,.2,1)}.intro-scene.is-enteringLock .laptop-screen-ui{pointer-events:none}.video-screen-ui{top:var(--screen-top,14.92vh);left:var(--screen-left,27.34vw);width:var(--screen-width,42.42vw);height:var(--screen-height,52.12vh);--display-inset-top:5%;--display-inset-right:3.8%;--display-inset-bottom:3.4%;--display-inset-left:4%;border-radius:clamp(3px,.38vw,7px)}.video-screen-ui:before{z-index:3;border-radius:inherit;pointer-events:none;content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14,inset 12px 0 18px #0000007a,inset -12px 0 18px #00000080,inset 0 -28px 26px #00000094}.laptop-screen-ui.is-active{opacity:1;transform:perspective(1200px)rotateX(1.6deg)translateZ(0)scale(1)}.video-screen-ui.screen-lock{pointer-events:none;background:linear-gradient(90deg,#ffffff12,#686f6c21 8%,#121514c2 50%,#6a706d21 92%,#ffffff0f),#050607;overflow:hidden}.video-screen-ui.screen-desktop{pointer-events:auto;background:linear-gradient(90deg,#ffffff12,#5e656224 8%,#0e1110d1 50%,#60676424 92%,#ffffff0f),#040505;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 58px #0000008a,0 0 36px #00000038}.video-screen-ui.screen-desktop:after{z-index:4;pointer-events:none;content:"";opacity:.58;background:linear-gradient(108deg,#ffffff1f,#0000 22% 70%,#ffffff0a),radial-gradient(circle at 48% 8%,#ffffff1f,#0000 32%),linear-gradient(#00000014,#0000 36%,#0000002e);position:absolute;inset:0}.screen-content,.mac-desktop-layer{inset:var(--display-inset-top) var(--display-inset-right) var(--display-inset-bottom) var(--display-inset-left);clip-path:inset(0 round clamp(2px,.18vw,4px));border-radius:clamp(2px,.18vw,4px);position:absolute;overflow:hidden}.lock-screen-content{text-align:center;background:radial-gradient(circle at 50% 38%,#ffffff0f,#0000 36%),linear-gradient(135deg,#050607,#010202 58%,#070808);place-content:center;justify-items:center;gap:clamp(7px,1vw,12px);display:grid}.lock-screen-content:before{content:"";background:linear-gradient(#ffffff14,#0000 28%,#0003),radial-gradient(circle at 50% 42%,#ffffff14,#0000 34%);position:absolute;inset:0}.lock-screen-content img,.lock-screen-content strong,.lock-screen-content span,.lock-screen-content button{position:relative}.lock-screen-content img{object-fit:cover;border:1px solid #ffffff38;border-radius:999px;width:clamp(34px,6.4vw,78px);height:clamp(34px,6.4vw,78px);box-shadow:0 12px 40px #00000061}.lock-screen-content strong{color:#f7efe1;font-size:clamp(.9rem,1.7vw,1.35rem);line-height:1}.lock-screen-content span{color:#f7efe1ad;font-size:clamp(.62rem,1vw,.82rem)}.lock-open-button{z-index:3;color:#f8faf7;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff42;border-radius:999px;min-width:clamp(70px,8vw,104px);min-height:clamp(28px,3.1vw,38px);margin-top:clamp(8px,1.4vw,16px);padding:0 18px;font-size:clamp(.72rem,1vw,.92rem);font-weight:800}.mac-desktop-layer{z-index:2;opacity:1;pointer-events:auto}.laptop-screen-ui .desktop-shell{filter:saturate(.9)brightness(.88)contrast(1.04);background:radial-gradient(circle at 62% 45%,#d6ad5d2e,#0000 35%),linear-gradient(90deg,#0000006b,#00000014 48%,#00000061),url(/images/macbook-wallpaper-screen.png) 50%/cover;width:100%;height:100%;min-height:0}.laptop-screen-ui .desktop-wallpaper{width:100%;height:100%;min-height:0;padding:24px 46px 43px;overflow:hidden}.laptop-screen-ui .menu-bar{height:24px;padding:0 46px;font-size:.62rem}.laptop-screen-ui .menu-bar svg{width:11px;height:11px}.laptop-screen-ui .desktop-layout{grid-template-columns:minmax(92px,118px) minmax(0,1fr);gap:9px;height:calc(100% - 36px);min-height:0}.laptop-screen-ui .desktop-layout.is-wallpaper-only{grid-template-columns:minmax(92px,118px) 1fr}.laptop-screen-ui .icon-grid{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:0;overflow:auto}.laptop-screen-ui .icon-grid::-webkit-scrollbar{width:0;height:0}.laptop-screen-ui .window-body::-webkit-scrollbar{width:0;height:0}.laptop-screen-ui .desktop-terminal-output::-webkit-scrollbar{width:0;height:0}.laptop-screen-ui .desktop-icon{border-radius:6px;gap:3px;min-height:48px;padding:3px 2px}.laptop-screen-ui .desktop-icon span{border-radius:7px;width:30px;height:30px}.laptop-screen-ui .desktop-icon svg{width:17px;height:17px}.laptop-screen-ui .desktop-icon small{text-overflow:ellipsis;max-width:100%;font-size:.54rem;line-height:1.05;overflow:hidden}.laptop-screen-ui .desktop-center{min-height:0;padding-top:3px}.laptop-screen-ui .desktop-layout.is-wallpaper-only .desktop-center{display:none}.laptop-screen-ui .app-window{border-radius:8px;width:100%;height:100%;min-height:0;max-height:none}.laptop-screen-ui .app-window>header{gap:8px;min-height:38px;padding:7px 9px}.laptop-screen-ui .traffic{gap:5px}.laptop-screen-ui .traffic button,.laptop-screen-ui .traffic span{width:8px;height:8px}.laptop-screen-ui .app-window header strong{font-size:.68rem}.laptop-screen-ui .app-window header small{font-size:.54rem}.laptop-screen-ui .window-body{padding:9px;font-size:.64rem}.laptop-screen-ui .panel-stack{gap:8px;max-width:none}.laptop-screen-ui .desktop-empty h1,.laptop-screen-ui .panel-stack h1{font-size:1rem;line-height:1.05}.laptop-screen-ui .desktop-empty p,.laptop-screen-ui .panel-stack p,.laptop-screen-ui .project-item p{font-size:.62rem;line-height:1.32}.laptop-screen-ui .eyebrow{font-size:.5rem}.laptop-screen-ui .project-list{gap:7px}.laptop-screen-ui .project-item{grid-template-columns:minmax(0,1fr);gap:7px;padding:9px}.laptop-screen-ui .project-item h2,.laptop-screen-ui .skill-card h2{font-size:.7rem}.laptop-screen-ui .project-item p{margin-top:4px}.laptop-screen-ui .pill-row{gap:4px;margin-top:7px}.laptop-screen-ui .pill-row span{min-height:18px;padding:0 6px;font-size:.48rem}.laptop-screen-ui .action-row{flex-flow:wrap;min-width:0}.laptop-screen-ui .action-row a,.laptop-screen-ui .primary-link,.laptop-screen-ui .game-launcher a,.laptop-screen-ui .game-launcher button,.laptop-screen-ui .game-header button{border-radius:5px;min-height:28px;font-size:.56rem}.laptop-screen-ui .skill-grid,.laptop-screen-ui .contact-grid,.laptop-screen-ui .game-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.laptop-screen-ui .skill-card,.laptop-screen-ui .action-card{min-height:86px;padding:9px}.laptop-screen-ui .action-card{gap:4px}.laptop-screen-ui .action-card span{font-size:.48rem}.laptop-screen-ui .action-card strong{font-size:.58rem}.laptop-screen-ui .game-launcher button,.laptop-screen-ui .game-launcher a{min-height:72px;padding:9px}.laptop-screen-ui .game-launcher button strong{font-size:.58rem}.laptop-screen-ui .game-launcher button span{font-size:.48rem}.laptop-screen-ui .game-header,.laptop-screen-ui .game-meta{font-size:.58rem}.laptop-screen-ui .desktop-terminal{min-height:0}.laptop-screen-ui .desktop-terminal-output{gap:5px;padding:9px}.laptop-screen-ui .desktop-terminal form{gap:5px;padding:8px 9px;font-size:.58rem}.laptop-screen-ui .game-shell canvas{max-height:132px}.laptop-screen-ui .berni-frame-shell iframe{min-height:152px}.laptop-screen-ui .calendar-widget{gap:8px}.laptop-screen-ui .calendar-day-grid,.laptop-screen-ui .calendar-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.laptop-screen-ui .calendar-day-grid button{gap:2px;min-height:54px;padding:6px}.laptop-screen-ui .calendar-day-grid button span,.laptop-screen-ui .calendar-day-grid button small{font-size:.44rem}.laptop-screen-ui .calendar-day-grid button strong{font-size:.92rem}.laptop-screen-ui .calendar-time-grid button,.laptop-screen-ui .calendar-actions button,.laptop-screen-ui .calendar-toolbar button{min-height:28px;font-size:.54rem}.laptop-screen-ui .calendar-summary p{gap:2px;padding:8px}.laptop-screen-ui .calendar-summary span{font-size:.48rem}.laptop-screen-ui .calendar-summary strong{font-size:.62rem}.laptop-screen-ui .game-controls{gap:5px}.laptop-screen-ui .game-controls button,.laptop-screen-ui .game-meta button{min-height:28px;font-size:.56rem}.laptop-screen-ui .dock{border-radius:12px;gap:5px;max-width:calc(100% - 86px);padding:6px;bottom:10px}.laptop-screen-ui .dock a,.laptop-screen-ui .dock button{border-radius:8px;width:31px;height:31px}.laptop-screen-ui .dock svg{width:17px;height:17px}.laptop-screen-ui .dock-tooltip{border-radius:6px;padding:4px 7px;font-size:.58rem;bottom:calc(100% + 7px)}.desktop-shell{background:linear-gradient(90deg,#00000061,#0000000d 48%,#0000006b),url(/images/macbook-wallpaper.png) 70%/cover;min-height:100svh}.desktop-wallpaper{min-height:100svh;padding:54px clamp(16px,3vw,42px) 98px;position:relative;overflow:hidden}.menu-bar{z-index:5;color:#eef3f2c2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0c0d8f;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:34px;padding:0 clamp(14px,3vw,32px);font-size:.82rem;display:flex;position:absolute;top:0;left:0;right:0}.menu-bar div{color:#f7efe1;align-items:center;gap:8px;display:inline-flex}.menu-actions{justify-content:flex-end}.menu-power{color:#eef3f2d1;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;width:24px;height:24px;display:inline-grid}.menu-power:hover,.menu-power:focus-visible{background:#ffffff12;border-color:#d4b57e57;outline:none}.desktop-layout{grid-template-columns:minmax(96px,132px) minmax(0,1fr);gap:clamp(18px,3vw,36px);height:calc(100svh - 152px);min-height:560px;display:grid}.desktop-layout.is-wallpaper-only{grid-template-columns:minmax(96px,132px) 1fr}.icon-grid{align-content:start;gap:14px;display:grid}.desktop-icon{color:#eef3f2db;text-align:center;background:0 0;border:1px solid #0000;border-radius:10px;justify-items:center;gap:8px;min-height:86px;padding:8px 6px;text-decoration:none;display:grid}.desktop-icon span{background:linear-gradient(145deg,#ffffff1f,#ffffff08),#101415bf;border:1px solid #ffffff1f;border-radius:13px;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 1px #ffffff1f,0 14px 30px #00000038}.desktop-icon small{color:#eef3f2d6;font-size:.76rem;line-height:1.15}.desktop-icon:hover,.desktop-icon:focus-visible{background:#ffffff0b;border-color:#d4b57e52;outline:none}.desktop-center{align-items:start;min-width:0;padding-top:clamp(18px,4svh,48px);display:grid}.desktop-layout.is-wallpaper-only .desktop-center{display:none}.app-window{-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);background:#0c0f10c7;border:1px solid #ffffff21;border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1020px,100%);height:min(640px,100svh - 190px);min-height:520px;display:grid;overflow:hidden;box-shadow:0 32px 90px #0000007a,inset 0 1px #ffffff1a}.app-window>header{background:linear-gradient(#ffffff13,#ffffff06);border-bottom:1px solid #ffffff17;align-items:center;gap:16px;min-height:58px;padding:12px 16px;display:flex}.traffic{gap:8px;display:flex}.traffic button,.traffic span{border:0;border-radius:999px;width:12px;height:12px}.traffic button{background:#ff6c5f}.traffic span:nth-child(2){background:#ffbf4c}.traffic span:nth-child(3){background:#62d46f}.app-window header strong,.app-window header small{display:block}.app-window header strong{color:#f7efe1}.app-window header small{color:#eef3f285;font-size:.76rem}.window-body{min-height:0;padding:clamp(18px,3vw,30px);overflow:auto}.desktop-empty{color:#eef3f2b8;align-content:center;gap:14px;max-width:560px;display:grid}.desktop-empty h1,.panel-stack h1,.project-item h2,.skill-card h2{color:#f7efe1;letter-spacing:0;margin:0}.desktop-empty h1{font-size:clamp(2rem,5vw,4.4rem);line-height:.95}.desktop-empty p,.panel-stack p,.project-item p{color:#eef3f2b3;margin:0}.panel-stack{gap:16px;max-width:780px;display:grid}.about-panel{font-size:1.02rem}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;font-size:.78rem;color:#d4b57e!important}.project-list{gap:14px;display:grid}.project-item,.skill-card,.action-card{background:#ffffff09;border:1px solid #ffffff17;border-radius:9px}button.action-card{color:#eef3f2bd;font:inherit;text-align:left;border-color:#ffffff17}.project-item{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;display:grid}.project-item h2,.skill-card h2{font-size:1.05rem}.project-item p{margin-top:8px}.pill-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pill-row span{color:#f0d9ad;background:#d4b57e14;border:1px solid #d4b57e29;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:.76rem;display:inline-flex}.action-row{flex-direction:column;gap:8px;min-width:118px;display:flex}.action-row a,.primary-link,.game-launcher a,.game-launcher button,.game-header button,.calendar-actions button,.calendar-toolbar button{color:#f7efe1;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;text-decoration:none;display:inline-flex}.action-row a:hover,.primary-link:hover,.game-launcher a:hover,.game-launcher button:hover,.game-header button:hover,.calendar-actions button:hover,.calendar-toolbar button:hover{background:#d4b57e1f;border-color:#d4b57e7a}.skill-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.skill-card{padding:18px}.action-card{color:#eef3f2bd;align-content:center;gap:7px;min-height:130px;padding:18px;text-decoration:none;display:grid}.action-card svg{color:#d4b57e}.action-card span{text-transform:uppercase;font-size:.78rem}.action-card strong{color:#f7efe1;overflow-wrap:anywhere;font-size:.94rem}.game-launcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.game-launcher button,.game-launcher a{flex-direction:column;min-height:112px;padding:14px}.game-launcher button strong{color:#f7efe1;font-size:.92rem}.game-launcher button span{color:#eef3f28a;font-size:.76rem}.game-panel{gap:12px;height:100%;min-height:0;display:grid}.game-focus-panel{grid-template-rows:auto minmax(0,1fr)}.game-header,.game-meta{color:#f7efe1;font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;display:flex}.desktop-terminal{color:#86ffc6;height:100%;min-height:430px;font-family:var(--font-mono);text-shadow:0 0 12px #86ffc647;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 4px),#06100d;border:1px solid #7fffcc21;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;display:grid}.desktop-terminal-output{align-content:start;gap:8px;min-height:0;padding:18px;display:grid;overflow:auto}.desktop-terminal-line{white-space:pre-wrap;gap:3px;display:grid}.tone-system{color:#f0d276}.tone-input{color:#f7efe1}.tone-error{color:#ff8a7b}.desktop-terminal form{border-top:1px solid #7fffcc1f;gap:10px;padding:14px 18px;display:flex}.desktop-terminal label{color:#f7efe1;flex:none}.desktop-terminal input{color:#86ffc6;caret-color:#f0d276;background:0 0;border:0;outline:0;width:100%}.game-shell{gap:10px;min-height:0;display:grid}.game-shell canvas{width:100%;max-height:min(42svh,100%);image-rendering:pixelated;background:#07100e;border:1px solid #7fffcc21;border-radius:6px;display:block}.berni-frame-shell{background:#05080b;border:1px solid #7fffcc21;border-radius:8px;min-height:0;position:relative;overflow:hidden}.berni-frame-shell iframe{background:#05080b;border:0;width:100%;height:100%;min-height:320px;display:block}.game-loader{z-index:2;color:#f7efe1;background:#05080b;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.game-loader span{border:2px solid #ffffff29;border-top-color:#ffcf6beb;border-radius:999px;width:28px;height:28px;animation:.8s linear infinite loader-spin}.game-loader strong{font-size:.82rem}.game-fallback-link{z-index:3;color:#f7efe1;background:#000000b8;border:1px solid #ffffff24;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px}.calendar-widget{gap:18px;display:grid}.calendar-day-grid,.calendar-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.calendar-day-grid button,.calendar-time-grid button{color:#f7efe1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px}.calendar-day-grid button{text-align:left;align-content:center;gap:5px;min-height:86px;padding:12px;display:grid}.calendar-day-grid button span,.calendar-day-grid button small{color:#eef3f28c;text-transform:uppercase;font-size:.68rem}.calendar-day-grid button strong{font-size:1.6rem}.calendar-time-grid button{min-height:42px}.calendar-day-grid button:hover,.calendar-day-grid button:focus-visible,.calendar-time-grid button:hover,.calendar-time-grid button:focus-visible{background:#d4b57e1f;border-color:#d4b57e7a;outline:none}.calendar-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendar-summary{gap:10px;display:grid}.calendar-summary p{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:4px;margin:0;padding:14px;display:grid}.calendar-summary span{color:#eef3f285;text-transform:uppercase;font-size:.72rem}.calendar-summary strong{color:#f7efe1}.calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.game-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.game-controls-two{grid-template-columns:repeat(2,minmax(0,1fr))}.game-controls button,.game-meta button{color:#f7efe1;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:6px;min-height:36px}.dock{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0c0d8a;border:1px solid #ffffff1f;border-radius:18px;gap:9px;max-width:calc(100vw - 28px);padding:9px;display:flex;position:absolute;bottom:20px;right:50%;transform:translate(50%);box-shadow:0 24px 70px #00000070}.dock a,.dock button{color:#f7efe1;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:13px;place-items:center;width:42px;height:42px;transition:border-color .16s,background .16s,transform .16s;display:grid;position:relative}.dock-tooltip{z-index:20;color:#f7efe1;opacity:0;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080a0bc7;border:1px solid #ffffff29;border-radius:8px;padding:5px 9px;font-size:.72rem;line-height:1;transition:opacity .14s,transform .14s;display:block;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(5px)scale(.96);box-shadow:0 14px 32px #0000005c}.dock a:hover,.dock button:hover,.dock a:focus-visible,.dock button:focus-visible{background:#ffffff17;border-color:#d4b57e73;outline:none;transform:translateY(-3px)scale(1.08)}.dock a:hover .dock-tooltip,.dock button:hover .dock-tooltip,.dock a:focus-visible .dock-tooltip,.dock button:focus-visible .dock-tooltip{opacity:1;transform:translate(-50%)translateY(0)scale(1)}@media (width<=860px){.desktop-wallpaper{padding:48px 12px 92px}.desktop-layout{grid-template-columns:1fr;height:auto;min-height:calc(100svh - 150px)}.icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.desktop-icon{min-height:74px}.desktop-icon span{width:42px;height:42px}.app-window{width:100%;height:min(660px,100svh - 250px);min-height:420px}.project-item,.skill-grid,.contact-grid,.game-launcher{grid-template-columns:1fr}.project-item{gap:14px}.action-row{flex-flow:wrap;min-width:0}.desktop-terminal form{flex-direction:column;gap:4px}}@media (width<=560px){.video-layer{aspect-ratio:2048/1012;transform-origin:50%;width:min(295vw,1220px);height:auto;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.intro-scene.is-reversing .video-layer{transform:translate(-50%,-50%)}.scene-video{object-fit:fill;width:100%;height:100%}.close-frame-image{transform-origin:50%;width:100%;min-width:0;height:auto;min-height:0}.intro-scene.is-enteringLock .close-frame-image,.intro-scene.is-locked .close-frame-image,.intro-scene.is-desktop .close-frame-image{transform:translate(-50%,-50%)scale(2.22)}.icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-icon small{font-size:.68rem}.dock{justify-content:flex-start;overflow-x:auto}.laptop-screen-ui .desktop-wallpaper{padding:22px 28px 38px}.laptop-screen-ui .menu-bar{padding:0 28px}.laptop-screen-ui .desktop-layout{grid-template-columns:1fr;gap:7px}.laptop-screen-ui .desktop-wallpaper:has(.desktop-layout.has-window){padding:24px 20px 12px}.laptop-screen-ui .desktop-layout.has-window{height:100%}.laptop-screen-ui .desktop-layout.has-window .icon-grid{display:none}.laptop-screen-ui .desktop-wallpaper:has(.desktop-layout.has-window) .dock{display:none}.laptop-screen-ui .desktop-layout.has-window .desktop-center{height:100%;padding-top:0}.laptop-screen-ui .desktop-layout.has-window .app-window{height:100%;min-height:0;max-height:none}.laptop-screen-ui .icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:48px;overflow:auto}.laptop-screen-ui .desktop-icon{min-height:38px}.laptop-screen-ui .desktop-icon span{width:23px;height:23px}.laptop-screen-ui .desktop-icon small{display:none}.laptop-screen-ui .skill-grid,.laptop-screen-ui .contact-grid,.laptop-screen-ui .game-launcher{grid-template-columns:1fr}.laptop-screen-ui .calendar-day-grid,.laptop-screen-ui .calendar-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
