:root { --blue:#0a58d6; --light-blue:#3f94ff; --task:#176bd8; --border:#083eae; --cream:#f4f1e8; }
* { box-sizing:border-box; }
html, body { margin:0; width:100%; height:100%; overflow:hidden; font-family:Tahoma, Verdana, sans-serif; font-size:12px; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.desktop { position:relative; width:100%; height:100%; overflow:hidden; background:linear-gradient(#138bd6 0%,#62c9f7 58%,#7eca3d 59%,#4b9c22 100%); }
.desktop::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.16) 51%,transparent 65%); }
.cloud { position:absolute; background:#fff; border-radius:50%; opacity:.78; filter:blur(1px); }
.cloud::before,.cloud::after { content:""; position:absolute; background:inherit; border-radius:50%; }
.cloud-one { width:150px; height:40px; top:12%; right:10%; }.cloud-one::before{width:70px;height:70px;left:25px;bottom:0}.cloud-one::after{width:95px;height:80px;right:10px;bottom:0}
.cloud-two { width:100px; height:28px; top:25%; left:35%; opacity:.5 }.cloud-two::before{width:50px;height:45px;left:14px;bottom:0}.cloud-two::after{width:55px;height:55px;right:8px;bottom:0}
.hill { position:absolute; border-radius:50% 50% 0 0; transform-origin:center bottom; }
.hill-back { width:120%; height:38%; left:-20%; bottom:25px; background:linear-gradient(20deg,#66b832,#92d84e); transform:rotate(4deg); box-shadow:inset 0 15px 35px rgba(255,255,255,.25); }
.hill-front { width:120%; height:34%; right:-35%; bottom:25px; background:linear-gradient(160deg,#4b9c22,#78c93a 65%,#46911e); transform:rotate(-5deg); }
.hill-sign { position:absolute; right:17%; bottom:10%; color:#23670d; font:bold clamp(38px,7vw,98px)/.78 Impact,sans-serif; transform:skew(-8deg) rotate(-7deg); text-shadow:3px 5px 2px rgba(0,0,0,.28); opacity:.78; letter-spacing:4px; text-align:center; }
.desktop-icons { position:absolute; z-index:3; top:20px; left:18px; display:grid; gap:12px; }
.desktop-icon { width:86px; min-height:92px; padding:5px 3px; border:1px solid transparent; background:transparent; color:#fff; text-shadow:1px 1px #000,-1px -1px #000; display:flex; align-items:center; flex-direction:column; gap:6px; }
.desktop-icon:hover,.desktop-icon:focus { background:rgba(20,80,190,.35); border:1px dotted #fff; outline:none; }
.icon-orb { display:inline-grid; place-items:center; width:50px; height:50px; border-radius:50%; border:3px solid #eee; box-shadow:0 0 0 2px #333,inset 0 0 8px #000; font:bold 28px Georgia; color:#fff; text-shadow:1px 2px #222; }
.icon-avatar { background:conic-gradient(#ef5e35 0 25%,#f6d846 0 50%,#58bc50 0 75%,#2a94db 0); }
.icon-browser { background:linear-gradient(145deg,#42d4ff,#0072c5); font:bold italic 39px Georgia; border-color:#8de7ff; }
.file-icon { position:relative; width:42px; height:53px; padding-top:17px; background:#fff; color:#e20c21; text-shadow:none; border:1px solid #bbb; font-weight:bold; clip-path:polygon(0 0,70% 0,100% 25%,100% 100%,0 100%); }
.file-icon::before { content:"PDF"; position:absolute; top:2px; left:-5px; padding:1px 5px; color:#fff; background:#e20c21; }
.mail-icon { display:grid; place-items:center; width:58px; height:43px; background:#fff; border:2px solid #9dd2ee; color:#1688dc; font-size:32px; text-shadow:none; transform:rotate(-4deg); }
.window { display:none; position:absolute; z-index:10; top:7%; left:18%; width:min(850px,76vw); height:min(650px,78vh); min-width:460px; min-height:330px; border:3px solid var(--blue); border-radius:7px 7px 2px 2px; background:var(--cream); box-shadow:3px 5px 16px rgba(0,0,0,.35); overflow:hidden; resize:both; }
.window.open { display:flex; flex-direction:column; }
.window.active { z-index:30; }
.window.maximized { inset:0 0 31px 0 !important; width:100% !important; height:auto !important; max-width:none; min-width:0; border-radius:0; resize:none; }
.compact-window { left:28%; top:12%; width:min(690px,65vw); height:min(610px,72vh); }
.titlebar { height:29px; flex:0 0 auto; padding:3px 4px; color:#fff; background:linear-gradient(#3f98ff 0%,#0866e9 20%,#064bc7 80%,#2f7df1); display:flex; gap:6px; align-items:center; text-shadow:1px 1px #17366e; user-select:none; }
.titlebar .title-icon { width:19px;height:19px;font-size:11px;border-width:1px;box-shadow:0 0 0 1px #333; }
.window-actions { display:flex; gap:2px; margin-left:auto; }
.window-actions button { width:23px;height:21px;padding:0;border:1px solid #fff;border-radius:3px;background:linear-gradient(135deg,#7eb4ff,#1764dd);color:white;font-weight:bold;box-shadow:inset -1px -1px #17439b; }
.window-actions button:last-child { background:linear-gradient(135deg,#f29879,#d63819);font-size:18px;line-height:14px; }
.menu-bar { position:relative;flex:0 0 auto;display:flex;gap:2px;padding:2px 5px;border-bottom:1px solid #ccc;background:#f5f3ea;color:#222; }
.menu-bar>button{padding:2px 7px;border:1px solid transparent;background:transparent;color:#222}.menu-bar>button:hover,.menu-bar>button.active{border-color:#7f9db9;background:#dcecff}
.window-menu-popup{position:absolute;z-index:250;top:100%;min-width:165px;padding:2px;border:1px solid #777;background:#fff;box-shadow:2px 3px 5px rgba(0,0,0,.28)}
.window-menu-popup button{display:block;width:100%;padding:5px 20px;text-align:left;border:0;background:transparent;color:#222}.window-menu-popup button:hover{background:#316ac5;color:#fff}
.toolbar { flex:0 0 auto; display:flex;align-items:center;gap:10px;padding:6px 9px;border-bottom:1px solid #bbb;background:#f5f3ea; }
.soft-button { border:0;background:transparent;color:#333;padding:4px 7px; }.soft-button:hover{background:#dcecff}.soft-button span{margin-left:3px}
.address-bar { flex:0 0 auto; display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;padding:3px 5px;border-bottom:1px solid #aaa;color:#777;background:#f5f3ea; }
.address-input { min-width:0;padding:3px 7px;border:1px solid #9eaac1;background:white;color:#222; }.address-bar button,.xp-button{border:1px solid #315c9b;border-radius:3px;padding:5px 12px;background:linear-gradient(#fff,#d8e5f6);box-shadow:inset 1px 1px white;color:#111}
.window-content { flex:1; min-height:0; overflow:auto; }
.statusbar { flex:0 0 auto;height:19px;padding:2px 6px;border-top:1px solid #bbb;background:#f4f2e9;color:#555; }
.about-content { display:grid;grid-template-columns:190px 1fr;background:linear-gradient(110deg,#5da5dc 0 190px,#5f6be0 190px,#324bbe 100%);color:#fff; }
.sidebar { padding:10px; }.side-card{margin-bottom:10px;background:#dceeff;border:1px solid #fff;color:#314b6a}.side-card-title{display:flex;justify-content:space-between;width:100%;padding:5px 8px;border:0;background:#1772b4;color:#fff;font-weight:bold;text-align:left}.side-card p,.side-card a{display:block;margin:4px 9px;color:#244d79;text-decoration:none;font-size:11px}.side-card.collapsed .side-card-body{display:none}
.about-main { padding:24px 38px;font-size:15px;line-height:1.45;text-shadow:1px 1px #28347f; }.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:bold;margin:0 0 6px}.about-main h2,.projects-content h2,.contact-content h2,.resume-content h2{margin:0 0 18px;font-size:32px}.about-main p{max-width:640px}.profile-portrait{float:right;width:160px;height:160px;margin:0 0 18px 22px;border:3px solid #fff;border-radius:8px;object-fit:cover;box-shadow:3px 4px 0 rgba(0,0,0,.25)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.stat-grid div{background:rgba(255,255,255,.14);padding:12px;border:1px solid rgba(255,255,255,.4)}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:22px}
.projects-content { padding:22px;background:#eef5f8; }.projects-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.projects-heading h2{color:#17375c}.online-pill{padding:6px 10px;border:1px solid #83b986;border-radius:20px;background:#e6f7e4;color:#26732a;text-decoration:none}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:14px}.project-card{min-height:150px;padding:17px;border:1px solid #9aa8bb;background:white;box-shadow:2px 3px 0 rgba(0,0,0,.12);position:relative;overflow:hidden}.project-card::after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-35px;top:-40px;background:var(--card)}.project-card span{font-size:10px;letter-spacing:1px;color:#68788b}.project-card h3{font-size:19px;margin:12px 0 5px;color:#183b62}.project-card p{color:#5a6774;line-height:1.4}.project-card a{color:#075aca;font-weight:bold;text-decoration:none}.project-card.blue{--card:#46a9e9}.project-card.orange{--card:#ffaf58}.project-card.green{--card:#65c178}.project-card.purple{--card:#a77adb}
.project-tools{display:none;margin:-8px 0 14px;padding:8px;border:1px solid #9db5d0;background:#dbeafa}.project-tools.show-search,.project-tools.show-folders{display:block}.project-search{display:none;gap:5px;color:#23496e;font-weight:bold}.project-tools.show-search .project-search{display:grid}.project-search input{padding:7px;border:1px solid #7f9db9}.project-folders{display:none;flex-wrap:wrap;gap:5px;margin-top:8px}.project-tools.show-folders .project-folders{display:flex}.project-folders button{padding:5px 8px;border:1px solid #8aa6c5;background:#fff;color:#23496e}.project-folders button.active{background:#316ac5;color:#fff}.project-card[hidden]{display:none}
.resume-content,.contact-content{flex:1;overflow:auto;padding:28px;background:white;color:#293543}.resume-content header{display:flex;justify-content:space-between;align-items:start}.resume-content h2{margin-bottom:5px;color:#163d72}.resume-content h3{margin:20px 0 6px;color:#1555a0;border-bottom:2px solid #d2e3f7;padding-bottom:3px}.resume-row{display:flex;justify-content:space-between;margin-top:13px}.resume-content p{line-height:1.5;color:#536170}.resume-content a,.contact-content a{color:#075aca}.experience-list .resume-row{margin-top:18px}.experience-list p{margin:5px 0 12px}
.contact-content{background:linear-gradient(#fff,#e4effb)}.contact-intro{display:flex;gap:18px;align-items:center;margin-bottom:20px}.big-mail{font-size:48px}.contact-content h2{margin-bottom:4px;color:#153f73}.contact-content form{display:grid;gap:12px;max-width:570px}.contact-content label{display:grid;gap:4px;font-weight:bold;color:#315170}.contact-content input,.contact-content textarea{width:100%;border:1px solid #7f9db9;padding:8px;background:#fff}.contact-content .xp-button{justify-self:start}.contact-content #form-status{color:#217224;font-weight:bold}
.utility-content{flex:1;min-height:0;overflow:auto;padding:24px;background:#fff;color:#28394f}.utility-content h2{margin:0 0 8px;color:#154b88}.playlist{display:grid;gap:8px;margin:20px 0}.playlist button{padding:10px;border:1px solid #7f9db9;background:linear-gradient(#fff,#dceafb);color:#143c69;text-align:left}.playlist .featured-track{border-color:#2d7cc6;background:linear-gradient(#edf8ff,#b9dcfa);font-weight:bold}.music-player audio{width:100%}.media-player{text-align:center;background:#141414;color:#fff}.media-screen{position:relative;display:grid;place-items:center;min-height:250px;margin-bottom:18px;background:#000;border:2px inset #aaa}.media-screen iframe{display:none;width:100%;aspect-ratio:16/9;border:0}.media-screen iframe.playing{display:block}.media-placeholder{display:grid;gap:8px;color:#ddd}.media-placeholder[hidden]{display:none}.media-placeholder strong{font-size:24px}.paint-toolbar label{display:flex;align-items:center;gap:5px}.paint-toolbar input[type="color"]{width:30px;height:26px;padding:0}.paint-content{flex:1;min-height:0;padding:8px;background:#9d9d9d;overflow:auto}.paint-content canvas{display:block;width:100%;height:100%;min-height:300px;background:#fff;cursor:crosshair;touch-action:none}.terminal-content{flex:1;min-height:0;padding:12px;background:#000;color:#ddd;font:14px/1.45 Consolas,monospace;overflow:auto}.terminal-content pre{margin:0;white-space:pre-wrap}.terminal-content form{margin-top:4px}.terminal-content label{display:flex;gap:6px}.terminal-content input{flex:1;border:0;outline:0;background:#000;color:#fff;font:inherit}.viewer-content{display:grid;place-items:center;flex:1;min-height:0;padding:16px;background:#202020;overflow:auto}.viewer-content img{max-width:100%;max-height:100%;object-fit:contain}
.minesweeper-window{width:360px;height:470px;min-width:330px;min-height:440px;resize:none}.minesweeper-content{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;background:#c0c0c0}.mine-panel{width:300px;display:flex;align-items:center;justify-content:space-between;padding:8px;border:3px solid;border-color:#777 #fff #fff #777;background:#c0c0c0}.mine-display{min-width:70px;padding:2px 4px;background:#160000;color:#f22;font:bold 28px/1 "Courier New",monospace;letter-spacing:2px;text-align:center;text-shadow:0 0 4px #f00}.mine-reset{width:42px;height:42px;padding:0;border:4px solid;border-color:#fff #777 #777 #fff;background:#c0c0c0;font-size:23px;line-height:32px}.mine-reset:active{border-color:#777 #fff #fff #777}.mine-board{display:grid;grid-template-columns:repeat(9,32px);grid-template-rows:repeat(9,32px);border:4px solid;border-color:#777 #fff #fff #777;background:#aaa}.mine-cell{display:grid;place-items:center;width:32px;height:32px;padding:0;border:3px solid;border-color:#fff #777 #777 #fff;background:#c0c0c0;color:#111;font:bold 18px/1 Arial}.mine-cell:focus-visible{outline:2px dotted #111;outline-offset:-5px}.mine-cell.revealed{border:1px solid #888;background:#c0c0c0}.mine-cell.flagged{font-size:18px}.mine-cell.mine-hit{background:#f33}.mine-cell[data-count="1"]{color:#0000f5}.mine-cell[data-count="2"]{color:#087b08}.mine-cell[data-count="3"]{color:#f20d0d}.mine-cell[data-count="4"]{color:#00007b}.mine-cell[data-count="5"]{color:#7b0000}.mine-cell[data-count="6"]{color:#087b7b}.mine-instructions{margin:0;color:#333;font-size:11px}
.json-studio-window{left:22%;top:9%;width:min(920px,75vw);height:min(650px,78vh)}.json-toolbar{gap:3px;flex-wrap:wrap}.json-toolbar .soft-button{border:1px solid #9ca9b9;background:linear-gradient(#fff,#dce6f1)}.json-studio-content{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#c0c0c0}.json-studio-content label{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:4px;color:#243f61;font-weight:700}.json-studio-content textarea{width:100%;height:100%;min-height:240px;resize:none;border:2px inset #fff;background:#101923;color:#d8e7f4;padding:10px;font:13px/1.45 Consolas,"Courier New",monospace;outline:none;tab-size:2}.json-studio-content textarea:focus{box-shadow:inset 0 0 0 1px #4c9ae8}.json-studio-content textarea[readonly]{background:#0c2332;color:#8ee28e}
#json-status.error{color:#b50000;font-weight:700}
.taskbar { position:absolute; z-index:100; left:0;right:0;bottom:0;height:31px;display:flex;background:linear-gradient(#2b8bf1 0%,#1168df 12%,#0b55c5 85%,#3c8cf0);border-top:1px solid #72b5ff;color:#fff; }
.start-button { flex:0 0 105px;border:0;border-radius:0 14px 14px 0;color:#fff;font:bold italic 18px Arial;background:linear-gradient(#74ce62,#2b9b2c 50%,#258327);text-shadow:1px 1px #145d1a;box-shadow:inset -2px 0 5px rgba(0,0,0,.3); }.start-button span{color:#f3d62d}
.task-items{display:flex;gap:3px;flex:1;padding:3px 8px;overflow:hidden}.task-item{width:165px;border:1px solid #0a4aa6;border-radius:2px;background:#3e8bea;color:#fff;text-align:left;padding:2px 8px}.task-item.active{background:#1d58b6;box-shadow:inset 1px 1px 3px #0c377b}
.system-tray{display:flex;gap:3px;align-items:center;padding:0 10px;background:linear-gradient(#20a2f1,#0b82dc);border-left:1px solid #54c5ff}.system-tray button{border:0;background:transparent;color:#fff;padding:2px 4px}.system-tray span{min-width:52px;text-align:right}
.start-menu{display:none;position:absolute;z-index:90;left:0;bottom:31px;width:360px;border:2px solid #1460c8;border-radius:7px 7px 0 0;background:#fff;box-shadow:4px -3px 12px rgba(0,0,0,.25);overflow:hidden}.start-menu.open{display:block}.start-menu header{height:55px;padding:6px 10px;display:flex;align-items:center;gap:10px;background:linear-gradient(#2386ed,#1464cf);color:#fff;font-size:17px;text-shadow:1px 1px #174488}.start-avatar{display:grid;place-items:center;width:42px;height:42px;border:2px solid #fff;border-radius:5px;background:#e8a85d;color:#523b26}.start-columns{display:grid;grid-template-columns:1fr 1fr;min-height:300px}.start-left,.start-right{padding:8px}.start-left{border-right:1px solid #9ac3e9}.start-right{background:#d9ebfa}.start-menu button,.start-menu a{width:100%;display:flex;align-items:center;gap:8px;padding:6px;border:0;background:transparent;color:#1f2a36;text-align:left;text-decoration:none}.start-menu button:hover,.start-menu a:hover{background:#2c79db;color:#fff}.start-menu button span{font-size:21px}.start-menu small{display:block;font-weight:normal;color:#78889b}.start-menu hr{border:0;border-top:1px solid #b8cddd}.all-programs{display:block;text-align:center;margin-top:12px}.start-menu footer{height:44px;background:linear-gradient(#2e8df0,#1769d2);display:flex;justify-content:flex-end;padding:5px 9px}.start-menu footer button{width:auto;color:#fff}
.crt-overlay { pointer-events:none;position:absolute;z-index:200;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.13) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.24; }
.desktop.crt-off .crt-overlay{display:none}.toast{position:absolute;z-index:150;right:14px;bottom:45px;padding:10px 14px;border:1px solid #1d4f98;background:#fff8ca;color:#1e3554;box-shadow:2px 3px 8px rgba(0,0,0,.3);transform:translateY(120px);transition:.25s}.toast.show{transform:none}
@media (max-width:700px){.desktop-icons{grid-template-columns:repeat(4,72px);left:8px;top:8px;gap:1px}.desktop-icon{width:72px;min-height:82px;font-size:10px}.icon-orb{width:42px;height:42px}.window,.compact-window{min-width:0;left:3%!important;top:12%!important;width:94%!important;height:72%!important}.about-content{grid-template-columns:1fr;background:#435ac7}.sidebar{display:none}.about-main{padding:20px}.project-grid{grid-template-columns:1fr}.start-menu{width:min(360px,100%)}.start-button{flex-basis:90px}.toolbar{gap:1px}.toolbar span{display:none}.hill-sign{right:5%;bottom:14%}.system-tray button{display:none}}
@media print{body{overflow:visible}.desktop>*{display:none!important}#window-resume{display:block!important;position:static;width:100%;height:auto;border:0;box-shadow:none}.resume-content{display:block}.titlebar,.menu-bar,.statusbar{display:none}}

/* XP asset-based desktop treatment inspired by the visual reference. */
@font-face{font-family:TahomaXP;src:url("/assets/fonts/tahoma.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:TahomaXP;src:url("/assets/fonts/tahomabd.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
html,body{font-family:TahomaXP,Tahoma,Arial,sans-serif;font-size:11px}
.startup-pending .desktop{pointer-events:none}
.boot-screen,.login-overlay,.welcome-screen{position:fixed;inset:0;z-index:10000}
.boot-screen{display:flex;align-items:center;justify-content:center;background:#000;color:#fff;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s}
.boot-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.boot-loading{display:flex;flex-direction:column;align-items:center;gap:23px;opacity:0;animation:bootReveal .5s .2s forwards}
.os-brand{display:flex;flex-direction:column;align-items:center;color:#fff;font-family:TahomaXP,Tahoma,Arial,sans-serif;text-align:center}
.os-symbol{display:block;position:relative;width:300px;height:150px;overflow:hidden}
.os-symbol img{position:absolute;top:0;left:50%;display:block;width:300px;height:auto;transform:translateX(-50%)}
.os-name{margin-top:-3px;font-size:54px;font-weight:400;line-height:.9;letter-spacing:-3px}.os-name em{margin-left:6px;color:#e7562c;font-size:30px;font-style:normal;font-weight:700;letter-spacing:-2px}
.os-tagline{align-self:flex-start;margin:5px 0 0 62px;font-size:15px;font-style:italic;font-weight:700}
.boot-progress{width:180px;height:22px;padding:2px 1px;border:2px solid #b2b2b2;border-radius:7px;overflow:hidden;white-space:nowrap}
.boot-progress span{display:inline-block;width:9px;height:100%;margin-right:2px;background:linear-gradient(#2838c7,#5979ef 17%,#869ef3 32% 45%,#5979ef 59%,#2838c7);animation:xpLoader 2s linear infinite}
.boot-progress span:nth-child(2){animation-delay:.12s}.boot-progress span:nth-child(3){animation-delay:.24s}
.boot-tip{position:absolute;left:7%;bottom:48px;display:flex;flex-direction:column;font-size:16px;line-height:1.4;opacity:0;animation:bootReveal .5s .4s forwards}
.boot-wordmark{position:absolute;right:7%;bottom:50px;height:32px;width:auto;opacity:0;animation:bootReveal .5s .4s forwards}
.startup-skip{position:absolute;z-index:2;right:20px;top:18px;padding:5px 10px;border:1px solid #777;border-radius:3px;background:#111;color:#ddd;opacity:.62}
.startup-skip:hover,.startup-skip:focus{opacity:1;color:#fff}
.login-overlay{display:flex;align-items:center;justify-content:center;background:#002d99;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.login-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.login-overlay.is-leaving{opacity:0;visibility:visible;pointer-events:none}
.login-panel{position:absolute;inset:100px 0;display:grid;grid-template-columns:1fr 2px 1fr;align-items:center;gap:72px;padding:0 10%;background:#587cdb}
.login-panel::before,.login-panel::after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#bad7f8,transparent,transparent)}
.login-panel::before{top:0}.login-panel::after{bottom:0;background:linear-gradient(90deg,transparent,#f8953d,transparent,transparent)}
.login-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.login-copy .os-brand{align-items:flex-end}.login-copy .os-tagline{align-self:flex-end;margin-right:41px}.login-copy p{margin:22px 0 0;font-size:19px}
.login-divider{align-self:stretch;margin:11vh 0;background:linear-gradient(rgba(186,215,248,0),#bad7f8 40% 60%,rgba(186,215,248,0));opacity:.4}
.login-user{position:relative;display:flex;align-items:center;justify-self:start;min-width:280px;padding:12px 18px;border:0;border-radius:6px;background:transparent;color:#fff;text-align:left;transition:background .2s}
.login-user:hover,.login-user:focus,.login-user.active{outline:0;background:linear-gradient(90deg,#113fa6,#113fa6,#587cdb)}
.login-user>img{width:72px;height:72px;object-fit:cover;border:3px solid #fff;border-radius:5px}.login-user:hover>img,.login-user:focus>img{border-color:#fdbd32}
.login-user span{display:grid;gap:2px;margin-left:20px}.login-user strong{font-size:26px;font-weight:400}.login-user small{color:navy;font-size:13px;font-weight:700}.login-user:hover small,.login-user:focus small{color:#fdbd32}
.login-restart{position:absolute;left:50px;bottom:34px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#fff;font-size:16px}.login-restart img{width:32px;height:32px;opacity:.8}.login-restart:hover img{opacity:1}
.login-detail{position:absolute;right:50px;bottom:35px;margin:0;font-size:14px}
.welcome-screen{display:flex;align-items:center;justify-content:center;background:#587cdb;color:#fff;font-size:3rem;font-style:italic;font-weight:700;letter-spacing:.3px;text-shadow:1px 1px 3px #000a,0 1px 0 #36c;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s}
.welcome-screen.is-visible{opacity:1;visibility:visible}
@keyframes xpLoader{0%{transform:translateX(-42px)}100%{transform:translateX(180px)}}@keyframes bootReveal{to{opacity:1}}
.desktop{position:fixed;inset:0;background:#5b9bd5 url("/assets/wallpaper/roland-portfolio.webp") center center/cover no-repeat}
.desktop::before,.cloud,.hill,.hill-sign{display:none}
.desktop-icons{top:18px;left:20px;gap:10px}
.desktop-icon{width:76px;min-height:82px;padding:3px 2px;border-radius:2px;gap:2px;font-size:11px;line-height:15px}
.desktop-icon img{display:block;width:52px;height:52px;object-fit:contain;filter:drop-shadow(1px 2px 1px rgba(0,0,0,.28))}
.desktop-icon[data-open="resume"] img{width:50px;height:52px}
.desktop-icon-label{padding:1px 3px;color:#fff;text-shadow:1px 1px 1px #000,-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000}
.desktop-icon:hover,.desktop-icon:focus{background:rgba(11,75,175,.38);border-color:rgba(255,255,255,.85)}
.desktop-icon:hover .desktop-icon-label,.desktop-icon:focus .desktop-icon-label{background:#0b4baf}
.mail-icon{display:none!important}
.window{border:2px solid #0055e5;border-radius:8px 8px 2px 2px;box-shadow:4px 5px 14px rgba(0,0,0,.36)}
.titlebar{height:28px;padding:3px 4px;background:linear-gradient(#4096ee 0%,#166ad6 10%,#0055c5 72%,#2b81e9 100%);font-weight:700}
.titlebar .title-icon{width:20px;height:20px;object-fit:contain;border:0;box-shadow:none}
.window-actions button{width:22px;height:21px;border-radius:3px;font-family:Arial,sans-serif}
.menu-bar,.toolbar,.address-bar,.statusbar{background:#ece9d8}
.taskbar{position:fixed;height:30px;background:url("/assets/taskbar/taskbar-bg.webp") repeat-x 0 0/auto 100%;border:0}
.start-button{flex:0 0 94px;width:94px;height:30px;padding:0;background:transparent url("/assets/taskbar/start-button.webp") no-repeat left top/94px 30px;border:0;border-radius:0;font-size:0;box-shadow:none}
.start-button span{display:none}
.task-items{padding:3px 6px;gap:3px}
.task-item{height:24px;display:flex;align-items:center;gap:5px;background:linear-gradient(#3c91f2,#1769d2);border:1px solid #0b4b9c;color:#fff}
.task-item img{width:17px;height:17px;object-fit:contain}
.system-tray{position:relative;min-width:148px;padding:0 8px 0 25px;gap:3px;background:transparent url("/assets/taskbar/system-tray.webp") no-repeat right top/148px 30px;border:0}
.system-tray button{width:18px;height:18px;padding:0;background:transparent center/16px 16px no-repeat;font-size:0}
.system-tray #welcome-button{background-image:url("/assets/taskbar/welcome.webp")}
.system-tray #crt-toggle{background-image:url("/assets/taskbar/crt.webp")}
.system-tray #fullscreen-toggle{background-image:url("/assets/taskbar/fullscreen.webp")}
.system-tray span{min-width:52px;color:#fff;font-size:11px;font-weight:700;text-shadow:1px 1px #07509b}
.start-menu{bottom:30px;width:380px;border:2px solid #1668ce;border-radius:8px 8px 0 0;font-size:11px}
.start-menu header{height:60px;padding:6px 9px;background:linear-gradient(#3d94ee,#0e66ca);font-size:17px}
.start-avatar{width:48px;height:48px;background:#fff url("/assets/profile/roland-cartoon.png") center 25%/cover no-repeat;border:2px solid #fff;border-radius:4px;font-size:0}
.start-columns{min-height:310px}
.start-left,.start-right{padding:7px}
.start-menu button,.start-menu a{min-height:38px;padding:4px 5px;gap:7px}
.start-menu button span{flex:0 0 32px;width:32px;height:32px;background:center/contain no-repeat;font-size:0}
.start-left button[data-open="projects"] span{background-image:url("/assets/desktop/projects.webp")}
.start-left button[data-open="contact"] span{background-image:url("/assets/desktop/contact.webp")}
.start-left button[data-open="about"] span{background-image:url("/assets/desktop/about.webp")}
.start-left button:nth-of-type(4) span{background-image:url("/assets/start-menu/music.webp")}
.start-left button:nth-of-type(5) span{background-image:url("/assets/start-menu/mediaPlayer.webp")}
.start-left button:nth-of-type(6) span{background-image:url("/assets/start-menu/paint.webp")}
.start-left button[data-open="minesweeper"] span{background-image:url("/assets/start-menu/minesweeper.svg")}
.start-right a::before,.start-right button::before,.start-menu footer button::before{content:"";flex:0 0 28px;width:28px;height:28px;background:center/contain no-repeat}
.start-right a:nth-of-type(1)::before{background-image:url("/assets/start-menu/instagram.webp")}
.start-right a:nth-of-type(2)::before{background-image:url("/assets/start-menu/github.webp")}
.start-right a:nth-of-type(3)::before{background-image:url("/assets/start-menu/linkedin.webp")}
.start-right a:nth-of-type(4)::before{border-radius:4px;background:linear-gradient(#5cc46f,#168433)}
.start-right button[data-open="resume"]::before{background-image:url("/assets/desktop/resume.webp")}
.start-right button:nth-of-type(2)::before{background-image:url("/assets/start-menu/cmd.webp")}
.start-right button:nth-of-type(3)::before{background-image:url("/assets/start-menu/photos.webp")}
.all-programs{justify-content:flex-end!important;margin-top:5px;padding:7px 8px!important;border-top:1px solid #b8cddd!important;font-weight:700}
.all-programs img{width:25px;height:25px;object-fit:contain}.all-programs.active{background:#2c79db!important;color:#fff!important}
.all-programs-menu{display:none;position:fixed;z-index:95;left:380px;bottom:30px;width:230px;max-height:calc(100vh - 44px);padding:3px;border:1px solid #003c74;background:#fff;box-shadow:3px 3px 8px rgba(0,0,0,.4);overflow:auto}
.all-programs-menu.open{display:block}
.all-programs-menu button{display:flex;align-items:center;gap:7px;width:100%;min-height:34px;padding:3px 6px;border:0;background:transparent;color:#111;text-align:left}
.all-programs-menu button:hover,.all-programs-menu button:focus{outline:0;background:#2c79db;color:#fff}
.all-programs-menu img{flex:0 0 28px;width:28px;height:28px;object-fit:contain}
.all-programs-menu hr{margin:3px 4px;border:0;border-top:1px solid #b8cddd}
.start-menu footer{height:44px;background:linear-gradient(#3c91ee,#0e65c8)}
.start-menu footer button{width:auto}
.start-menu footer button:first-child::before{background-image:url("/assets/start-menu/logoff.webp")}
.start-menu footer button:last-child::before{background-image:url("/assets/start-menu/shutdown.webp")}
.crt-overlay{background:repeating-linear-gradient(0deg,rgba(0,0,0,.13) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.3}
.project-image{display:block;width:100%;height:auto;margin:0 0 10px;border-radius:5px}
@media(max-width:700px){
  .boot-tip{display:none}.boot-wordmark{left:50%;right:auto;bottom:30px;height:26px;transform:translateX(-50%)}
  .login-panel{inset:70px 0;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:20px}
  .os-symbol{width:230px;height:116px}.os-symbol img{width:230px}.os-name{font-size:42px}.os-name em{font-size:24px}.os-tagline{margin-left:46px;font-size:12px}
  .login-copy{align-items:center;text-align:center}.login-copy .os-brand{align-items:center}.login-copy .os-tagline{align-self:flex-start;margin-right:0}.login-copy p{display:none}.login-divider{width:75%;height:2px;margin:0;background:linear-gradient(90deg,transparent,#bad7f8 40% 60%,transparent)}
  .login-user{justify-self:auto;min-width:0;padding:16px 24px}.login-user span{margin-left:14px}.login-user strong{font-size:22px}
  .login-restart{display:none}.login-detail{left:15px;right:15px;bottom:25px;text-align:center}
  .desktop{background-position:center center}
  .json-studio-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.json-studio-content textarea{min-height:150px}
  .profile-portrait{float:none;width:120px;height:120px;margin:0 0 14px}
  .desktop-icons{grid-template-columns:1fr;left:10px;top:10px;gap:4px}
  .desktop-icon{width:70px;min-height:72px}
  .desktop-icon img{width:44px;height:44px}
  .start-button{flex-basis:94px}
  .system-tray{min-width:102px;padding-left:15px}
  .all-programs-menu{left:auto;right:0;width:240px}
}
