html,body{height:100%;overflow:hidden;background-color:#000}.content-node{display:none}.icon-grid{position:absolute;top:10px;left:8px;display:grid;grid-template-columns:80px;grid-auto-rows:88px;gap:2px;z-index:var(--z-desktop, 0);pointer-events:none}.icon-grid>*{pointer-events:auto}.icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:80px;height:88px;background:none;border:1px solid transparent;border-radius:4px;padding:8px 4px 6px;cursor:default;transition:background var(--t-fast, .12s ease),border-color var(--t-fast, .12s ease)}.icon:hover{background:var(--icon-hover-bg, rgba(255,255,255,.14));border-color:var(--icon-hover-border, rgba(255,255,255,.32))}.icon:focus-visible,.icon--selected{outline:none;background:var(--icon-select-bg, rgba(205,230,251,.3));border-color:var(--icon-select-border, #92c0ee);box-shadow:0 0 0 1px var(--icon-select-border, #92c0ee)}.icon__emoji{font-size:32px;line-height:1;display:block;filter:brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0,0,0,.35));pointer-events:none}.icon__label{font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:11px;color:#fff;text-shadow:var(--icon-label-shadow, 1px 1px 2px rgba(0,0,0,.9), -1px -1px 2px rgba(0,0,0,.5));text-align:center;line-height:1.2;word-break:break-word;max-width:100%;pointer-events:none}@keyframes w-open{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.w{position:absolute;display:flex;flex-direction:column;border-radius:var(--window-radius, 8px);box-shadow:var(--window-shadow, 0 0 0 1px rgba(255,255,255,.18) inset, 0 5px 32px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.28));overflow:hidden;min-width:260px;min-height:120px;animation:w-open .14s cubic-bezier(.2,.9,.3,1) both;transform-origin:50% 30%;transition:box-shadow var(--t-fast, .12s ease)}.w--maximized{border-radius:0!important;top:0!important;left:0!important;width:100%!important;height:calc(100% - var(--taskbar-height, 40px))!important}.w__bar{display:flex;align-items:center;height:var(--titlebar-height, 30px);padding:0 3px 0 6px;gap:5px;flex-shrink:0;background:var(--titlebar-inactive-gradient);border-top:1px solid var(--glass-border-light, rgba(255,255,255,.52));border-left:1px solid var(--glass-border-light, rgba(255,255,255,.52));border-right:1px solid var(--glass-border-light, rgba(255,255,255,.52));border-bottom:1px solid rgba(55,110,185,.38);backdrop-filter:blur(var(--glass-blur, 12px));-webkit-backdrop-filter:blur(var(--glass-blur, 12px));border-radius:var(--window-radius, 8px) var(--window-radius, 8px) 0 0;cursor:default;user-select:none;-webkit-user-select:none}.w--active .w__bar{background:var(--titlebar-gradient)}.w--maximized .w__bar{border-radius:0}.w__bar-drag{display:flex;align-items:center;flex:1;gap:5px;overflow:hidden;cursor:move;height:100%}.w__icon{font-size:14px;line-height:1;flex-shrink:0;filter:brightness(0) invert(1)}.w__title{font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:12px;font-weight:600;color:#2a3650;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.w--active .w__title{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.w__controls{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}.w__btn{width:22px;height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter var(--t-fast, .12s ease);cursor:pointer}.w__btn svg{width:12px;height:12px;display:block;pointer-events:none}.w__btn--min,.w__btn--max{background:var(--btn-chrome-bg, linear-gradient(to bottom, rgba(198,214,232,.88), rgba(148,172,202,.82)));border:1px solid var(--btn-chrome-border, rgba(96,136,182,.62));color:var(--btn-chrome-text, #333a47)}.w__btn--close{background:var(--btn-close-bg, linear-gradient(to bottom, #f08080, #c0392b));border:1px solid var(--btn-close-border, rgba(140,28,28,.82));color:var(--btn-close-text, #fff)}.w__btn:hover{filter:brightness(1.22)}.w__btn:active{filter:brightness(.88)}.w__btn--close:hover{background:var(--btn-close-hover, linear-gradient(to bottom, #ff9898, #e74c3c));filter:none}.w__body{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--window-bg, rgba(240,246,255,.94));border-left:1px solid var(--glass-border-dark, rgba(100,160,220,.46));border-right:1px solid var(--glass-border-dark, rgba(100,160,220,.46));border-bottom:1px solid var(--glass-border-dark, rgba(100,160,220,.46));border-bottom-left-radius:var(--window-radius, 8px);border-bottom-right-radius:var(--window-radius, 8px);padding:14px 18px 20px;user-select:text;-webkit-user-select:text;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:13px;color:#1e2230;line-height:1.55;position:relative}.w--maximized .w__body{border-radius:0}.w__body::-webkit-scrollbar{width:9px}.w__body::-webkit-scrollbar-track{background:#b4d2be61}.w__body::-webkit-scrollbar-thumb{background:#508c648c;border-radius:5px;border:2px solid transparent;background-clip:padding-box}.w__body::-webkit-scrollbar-thumb:hover{background:#376e4bd1}.w__grip{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;background-image:radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(100,140,200,.45) 1.5px,transparent 1.5px);background-size:5px 5px;background-position:2px 2px,7px 2px,12px 2px,2px 7px,7px 7px,12px 7px;background-repeat:no-repeat;z-index:1}.taskbar{position:absolute;bottom:0;left:0;right:0;height:var(--taskbar-height, 40px);background:var(--taskbar-bg);border-top:1px solid var(--taskbar-border-top, rgba(108,158,230,.56));display:flex;align-items:center;padding:0;gap:2px;z-index:var(--z-taskbar, 9000);box-shadow:0 -1px 8px #0000006b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.taskbar--menu-open{z-index:calc(var(--z-startmenu, 9500) + 1)}.start-orb{position:relative;bottom:4px;left:4px;width:var(--orb-size, 54px);height:var(--orb-size, 54px);flex-shrink:0;background:var(--orb-bg);border:2px solid var(--orb-border, rgba(118,184,255,.74));border-radius:50%;box-shadow:var(--orb-shadow);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;cursor:pointer;transition:filter var(--t-fast, .12s ease),box-shadow var(--t-fast, .12s ease);z-index:calc(var(--z-taskbar, 9000) + 1)}.start-orb:hover{filter:brightness(1.18);box-shadow:var(--orb-shadow),0 0 20px var(--orb-glow, rgba(80,160,255,.66))}.start-orb:active{filter:brightness(.9)}.start-orb[aria-expanded=true]{filter:brightness(.95);box-shadow:var(--orb-shadow),0 0 24px var(--orb-glow, rgba(80,160,255,.8));z-index:calc(var(--z-startmenu, 9500) + 1)}.taskbar-windows{display:flex;align-items:center;flex:1;margin-left:60px;overflow:hidden;height:100%;padding:4px 0;gap:3px}.taskbar-btn{height:32px;min-width:100px;max-width:160px;padding:0 10px;display:flex;align-items:center;gap:6px;background:var(--taskbar-btn-bg);border:1px solid var(--taskbar-btn-border, rgba(94,146,222,.52));border-radius:3px;cursor:pointer;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:11px;color:var(--taskbar-text, #fff);text-shadow:0 1px 2px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--t-fast, .12s ease),border-color var(--t-fast, .12s ease);flex-shrink:0}.taskbar-btn:hover{background:var(--taskbar-btn-hover);border-color:#94c8ffa6}.taskbar-btn--active{background:var(--taskbar-btn-active);border-color:#64b4ffc7;box-shadow:inset 0 1px 4px #00000047}.taskbar-btn__icon{font-size:14px;line-height:1;flex-shrink:0;filter:brightness(0) invert(1)}.taskbar-btn__label{overflow:hidden;text-overflow:ellipsis}.sys-tray{display:flex;align-items:center;padding:0 6px;height:100%;border-left:1px solid rgba(100,150,220,.28);flex-shrink:0}.sys-tray__credit-wrap{position:relative;margin-right:4px}.sys-tray__credit{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;border-radius:3px;font-size:13px;line-height:1;color:#ffffffc7;cursor:pointer;transition:background var(--t-fast, .12s ease),color var(--t-fast, .12s ease)}.sys-tray__credit:hover,.sys-tray__credit:focus-visible,.sys-tray__credit[aria-expanded=true]{background:#ffffff1a;color:#fff}.sys-tray__credit-popup{position:absolute;bottom:calc(100% + 8px);right:-6px;width:280px;padding:8px 10px;border-radius:4px;background:var(--menu-bg, rgba(26,48,108,.95));border:1px solid var(--menu-border, rgba(98,148,228,.6));box-shadow:0 4px 18px #00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:11px;line-height:1.45;color:var(--menu-text, #fff);text-align:left;white-space:pre-line;z-index:var(--z-startmenu, 9500)}.clock{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 10px;border-radius:3px;cursor:default;min-width:72px;transition:background var(--t-fast, .12s ease)}.clock:hover{background:#ffffff1a}.clock__time{font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:12px;font-weight:400;color:#fff;line-height:1.25}.clock__date{font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:11px;color:#ffffffd1;line-height:1.25}.sm{position:absolute;bottom:var(--taskbar-height, 40px);left:0;width:380px;display:flex;flex-direction:column;border-radius:8px 8px 0 0;overflow:hidden;border:1px solid var(--menu-border, rgba(98,148,228,.6));border-bottom:none;background:var(--menu-bg, rgba(26,48,108,.95));box-shadow:4px -4px 24px #0000008c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:var(--z-startmenu, 9500);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--t-med, .2s ease),transform var(--t-med, .2s ease)}.sm--open{opacity:1;transform:translateY(0);pointer-events:auto}.sm__header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--menu-header-bg);border-bottom:1px solid var(--menu-divider, rgba(106,146,222,.28))}.sm__avatar{width:48px;height:48px;border-radius:6px;background:linear-gradient(135deg,#1e78da,#6a3cb8);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.5px;border:2px solid rgba(255,255,255,.6)}.sm__username{font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:14px;font-weight:600;color:#fff;line-height:1.2}.sm__subtitle{font-size:11px;color:var(--menu-subtext, rgba(200,218,246,.76));margin-top:2px}.sm__body{display:flex;flex:1}.sm__left{flex:1;padding:6px 0 22px;margin:0;list-style:none;border-right:1px solid var(--menu-divider, rgba(106,146,222,.28));background:var(--menu-left-bg, rgba(255,255,255,.06))}.sm__right{width:160px;padding:6px 0 22px;margin:0;list-style:none;background:var(--menu-right-bg, rgba(16,34,86,.92))}.sm__item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 14px;background:none;border:none;cursor:pointer;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:12px;color:var(--menu-text, #fff);text-align:left;text-decoration:none;transition:background var(--t-fast, .12s ease);border-radius:0}.sm__item:hover,.sm__item:focus-visible{background:var(--menu-hover, rgba(98,146,222,.4));outline:none}.sm__item-icon{font-size:18px;line-height:1;flex-shrink:0;filter:brightness(0) invert(1)}.sm__item-text{display:flex;flex-direction:column;gap:1px}.sm__item-label{font-weight:600;line-height:1.2}.sm__item-sub{font-size:10px;color:var(--menu-subtext, rgba(200,218,246,.76))}.sm__divider{height:1px;background:var(--menu-divider, rgba(106,146,222,.28));margin:4px 0}.w__btn:focus-visible{outline:2px solid var(--selection-border, #92c0ee);outline-offset:1px}.icon:focus-visible{outline:2px solid var(--selection-border, #92c0ee);outline-offset:2px;background:var(--icon-select-bg, rgba(205,230,251,.3));border-color:var(--icon-select-border, #92c0ee)}.taskbar-btn:focus-visible{outline:2px solid rgba(150,200,255,.85);outline-offset:1px}.start-orb:focus-visible{outline:3px solid rgba(150,200,255,.9);outline-offset:3px}.sm__item:focus-visible{outline:none;background:var(--menu-hover, rgba(98,146,222,.4))}@media(max-width:768px){#desktop{display:none!important}.content-node{display:block!important;margin:8px 10px;padding:16px;background:#f0f6ffeb;border:1px solid rgba(100,150,210,.28);border-radius:8px;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:13px;color:#1e2230}#content-about:before{content:"About Me"}#content-skills:before{content:"Skills"}#content-projects:before{content:"Projects"}#content-gallery:before{content:"Gallery"}#content-contact:before{content:"Contact"}#content-blog:before{content:"Blog"}.content-node:before{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5a6a8a;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid rgba(100,150,210,.2)}#content-recycle,.dcarousel{display:none!important}}@keyframes dc-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.dcarousel{position:absolute;right:22px;bottom:calc(var(--taskbar-height, 40px) + 18px);width:720px;border-radius:8px;overflow:hidden;background:#08100ab8;border:1px solid rgba(80,130,100,.42);box-shadow:0 4px 24px #0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:5;user-select:none;-webkit-user-select:none}.dcarousel__frame{position:relative;width:100%;overflow:hidden;background:#0c130e}.dcarousel__img{width:100%;height:100%;object-fit:cover;display:block;animation:dc-fade-in .45s ease both}.dcarousel__close{position:absolute;top:6px;right:6px;width:22px;height:22px;background:#0000008c;color:#fff;border:none;border-radius:50%;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--t-fast, .12s ease),background var(--t-fast, .12s ease);z-index:2}.dcarousel:hover .dcarousel__close{opacity:1}.dcarousel__close:hover{background:#b41e1ed1}.dcarousel__close:active{background:#8c1414f2}.dcarousel__nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:28px;height:40px;border-radius:4px;font-size:20px;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--t-fast, .12s ease),background var(--t-fast, .12s ease)}.dcarousel:hover .dcarousel__nav{opacity:1}.dcarousel__nav:hover{background:#000000b8}.dcarousel__nav:active{background:#000000e6}.dcarousel__nav--prev{left:5px}.dcarousel__nav--next{right:5px}.dcarousel__caption-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#08100acc;border-top:1px solid rgba(80,130,100,.25)}.dcarousel__caption{flex:1;min-width:0;margin:0;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:11px;color:#c8dccde6;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dcarousel__timer{flex-shrink:0;width:16px;height:16px;margin-left:auto;opacity:.85}.dcarousel__timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.dcarousel__timer-track{fill:none;stroke:#fff3;stroke-width:3}.dcarousel__timer-fill{fill:none;stroke:#ffffffeb;stroke-width:3;stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:0;animation:dc-timer-countdown linear forwards}@keyframes dc-timer-countdown{0%{stroke-dashoffset:0}to{stroke-dashoffset:97.4}}.dcarousel__dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:7px 0;background:#08100aa6}.dcarousel__dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:#b4d2be52;cursor:pointer;transition:background var(--t-fast, .12s ease),transform var(--t-fast, .12s ease)}.dcarousel__dot--on{background:#50a064eb;transform:scale(1.3)}.dcarousel__dot:hover:not(.dcarousel__dot--on){background:#82b991a6}.projects-empty[data-astro-cid-4a3obce4]{color:#5a7a6a;font-style:italic;font-size:13px}.projects-grid[data-astro-cid-4a3obce4]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.project-card[data-astro-cid-4a3obce4]{border-radius:6px;overflow:hidden;border:1px solid rgba(80,130,100,.3);background:#e1eee459;transition:border-color var(--t-fast, .12s ease),box-shadow var(--t-fast, .12s ease),transform var(--t-fast, .12s ease)}.project-card[data-astro-cid-4a3obce4]:hover{border-color:var(--selection-border, #7aab8c);box-shadow:0 4px 16px #28643c38;transform:translateY(-2px)}.project-card__link[data-astro-cid-4a3obce4]{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%}.project-card__thumb[data-astro-cid-4a3obce4]{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#0c130e}.project-card__thumb[data-astro-cid-4a3obce4] img[data-astro-cid-4a3obce4]{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-med, .2s ease)}.project-card[data-astro-cid-4a3obce4]:hover .project-card__thumb[data-astro-cid-4a3obce4] img[data-astro-cid-4a3obce4]{transform:scale(1.04)}.project-card__info[data-astro-cid-4a3obce4]{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;flex:1}.project-card__title[data-astro-cid-4a3obce4]{font-size:13px;font-weight:700;color:#0d1a0d;margin:0;line-height:1.2}.project-card__summary[data-astro-cid-4a3obce4]{font-size:11px;color:#3a4a3a;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__tags[data-astro-cid-4a3obce4]{list-style:none;padding:0;margin:auto 0 0;display:flex;flex-wrap:wrap;gap:4px}.project-card__tag[data-astro-cid-4a3obce4]{font-size:10px;padding:2px 6px;border-radius:3px;background:#3c785024;color:#1a4a30;border:1px solid rgba(60,120,80,.22);font-weight:600;letter-spacing:.03em}.pp{display:flex;flex-direction:column}.pp__hero{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#0c130e;margin-bottom:14px;border-radius:4px}.pp__hero img{width:100%;height:100%;object-fit:cover;display:block}.pp__header{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid rgba(80,130,100,.22)}.pp__title{font-size:1.2rem;font-weight:700;color:#0d1a0d;margin:0 0 8px;line-height:1.2}.pp__tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px}.pp__tag{font-size:10px;padding:2px 7px;border-radius:3px;background:#3c785024;color:#1a4a30;border:1px solid rgba(60,120,80,.22);font-weight:600}.pp__body{font-size:13px;color:#1e2a22;line-height:1.7}.pp__body p{margin:0 0 .9em}.pp__body h2{font-size:1rem;color:#1a3028;margin:1.2em 0 .4em}.pp__body h3{font-size:.9rem;color:#2a4038;margin:1em 0 .35em}.pp__body a{color:#3d7a52}.pp__body a:hover{text-decoration:underline}.pp__body iframe{max-width:100%;border-radius:6px;margin:8px 0;display:block}.pp__no-content{font-size:12px;color:#5a7a6a;font-style:italic}.pp__footer{margin-top:16px;padding-top:12px;border-top:1px solid rgba(80,130,100,.2);display:flex;flex-wrap:wrap;gap:8px}.pp__btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:4px;font-family:var(--font-ui, "Segoe UI", Tahoma, sans-serif);font-size:12px;font-weight:600;text-decoration:none;transition:filter .12s ease}.pp__btn:hover{filter:brightness(1.12)}.pp__btn--primary{background:linear-gradient(to bottom,#3a94e0,#1e6ab8);color:#fff;border:1px solid rgba(20,80,160,.7)}.pp__btn--secondary{background:#e1eee4e6;color:#1a4a30;border:1px solid rgba(60,120,80,.4)}
