:root{--xp-blue-dark: #0850c4;--xp-blue-mid: #3f9cff;--xp-blue-deep: #0b3d91;--xp-face: #ece9d8;--xp-face-border: #0850c4;--xp-panel-border: #b5b0a0;--xp-green: #3c8f2f;--xp-green-dark: #2c6b22;--xp-pink: #ff3d7f;--xp-pink-dark: #c4004f;--xp-yellow: #ffb703;--xp-text: #1c1c1c;--xp-text-muted: #5a5a5a;--xp-radius: 3px;--font-ui: Tahoma, "MS Sans Serif", Verdana, sans-serif;--font-mono: "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--xp-text);background:radial-gradient(ellipse 120% 80% at 50% -10%,#bfe3ff 0%,transparent 55%),linear-gradient(180deg,#4fa8ff,#1f6fdc 38%,#0b3d91);background-attachment:fixed;min-height:100%}a{color:#0b3d91}button{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.app-shell:before{content:"";position:fixed;left:0;right:0;bottom:46px;height:40vh;background:radial-gradient(ellipse 60% 100% at 20% 100%,#5fbf5f 0%,transparent 60%),linear-gradient(180deg,transparent 0%,#3f9c3f 45%,#2f7a2f 100%);clip-path:polygon(0% 100%,0% 55%,15% 40%,32% 58%,50% 32%,68% 55%,84% 38%,100% 60%,100% 100%);pointer-events:none;z-index:0;opacity:.9}.app-main{flex:1;position:relative;z-index:1;padding-bottom:64px}.desktop{max-width:1080px;margin:0 auto;padding:28px 20px}.desktop-icons{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:28px}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:6px;width:78px;padding:8px 4px;text-decoration:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);border-radius:2px;border:1px dotted transparent;background:none;font-family:inherit;cursor:pointer}.desktop-icon:hover,.desktop-icon:focus-visible{background:#ffffff2e;border-color:#ffffff59;outline:none}.desktop-icon__glyph{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.desktop-icon__label{font-size:12px;text-align:center;line-height:1.2}.window-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.window-grid--single{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}.xp-window{background:var(--xp-face);border:1px solid var(--xp-face-border);border-radius:var(--xp-radius) var(--xp-radius) 0 0;box-shadow:3px 3px #0000004d;overflow:hidden;scroll-margin-top:20px}.xp-window--focused{box-shadow:4px 4px #0006}.xp-window--dragging{box-shadow:5px 5px #00000073;cursor:grabbing}.xp-window--maximized{position:fixed!important;top:0;right:0;bottom:46px;left:0;width:auto!important;max-width:none!important;height:auto;border-radius:0;display:flex;flex-direction:column}.xp-window--maximized .xp-window__body{flex:1;overflow-y:auto}@keyframes window-wiggle{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.xp-window--wiggle{animation:window-wiggle .4s ease}.xp-titlebar{display:flex;align-items:center;gap:6px;padding:5px 5px 5px 8px;background:linear-gradient(180deg,var(--xp-blue-mid) 0%,var(--xp-blue-dark) 45%,var(--xp-blue-dark) 60%,var(--xp-blue-deep) 100%);border-bottom:1px solid var(--xp-blue-deep);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.xp-window--maximized .xp-titlebar{cursor:default}.xp-window--pink .xp-titlebar{background:linear-gradient(180deg,#ff8fb5 0%,var(--xp-pink) 45%,var(--xp-pink) 60%,var(--xp-pink-dark) 100%);border-bottom-color:var(--xp-pink-dark)}.xp-window:not(.xp-window--focused) .xp-titlebar{background:linear-gradient(180deg,#9db3d1,#7f96b8 45%,#7f96b8 60%,#5c729a);border-bottom-color:#5c729a}.xp-titlebar__icon{display:flex;color:#fff}.xp-titlebar__text{flex:1;color:#fff;font-weight:700;font-size:13px;letter-spacing:.2px;text-shadow:0 1px 1px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-titlebar__buttons{display:flex;gap:3px}.xp-btn{width:21px;height:19px;border-radius:2px;border:1px solid rgba(0,0,0,.35);background:linear-gradient(180deg,#7ec0ff,#2f6fd6);box-shadow:inset 1px 1px #ffffffb3,inset -1px -1px #00000040;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.xp-btn--close{background:linear-gradient(180deg,#ff9585,#d3372a)}.xp-btn:active{filter:brightness(.85);box-shadow:inset -1px -1px #ffffff80,inset 1px 1px #0000004d}.xp-window__body{padding:14px 20px 20px;background:#fffef8;font-size:14px;line-height:1.6}.xp-window__footer{border-top:1px solid var(--xp-panel-border);padding:8px 16px;background:var(--xp-face)}.xp-button{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--xp-text);background:linear-gradient(180deg,#fdfdfd,#ece9d8);border:1px solid #8f8f8f;border-radius:2px;cursor:pointer;text-decoration:none}.xp-button:hover{border-color:var(--xp-blue-dark)}.xp-button--link{margin-top:6px}.about-window__header{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.avatar{flex-shrink:0;width:56px;height:56px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;background:linear-gradient(160deg,var(--xp-pink),var(--xp-blue-dark));border:2px solid #fff;box-shadow:1px 2px #0000004d}.about-window__header h1{margin:0 0 2px;font-size:18px}.tagline{margin:0 0 2px;color:var(--xp-text-muted);font-style:italic}.location{margin:0;font-size:12px;color:var(--xp-text-muted)}.link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.link-row a,.link-row button,.link-row span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--xp-face);border:1px solid var(--xp-panel-border);border-radius:2px;text-decoration:none;font-size:13px;font-family:inherit;color:var(--xp-text);cursor:pointer}.link-row a:hover,.link-row button:hover{border-color:var(--xp-blue-dark)}.link-row span[aria-disabled]{cursor:default;opacity:.6}.visitor-counter{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--xp-text-muted)}.visitor-counter__digits{display:flex;gap:1px;font-family:var(--font-mono)}.visitor-counter__digit{background:#111;color:#3cff3c;padding:1px 4px;font-size:13px;border-radius:2px;min-width:12px;text-align:center}.project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.project-list__item{display:flex;gap:12px;align-items:flex-start;padding:8px;border-radius:2px;text-decoration:none;color:inherit;width:100%;text-align:left;background:none;border:none;font-family:inherit;cursor:pointer}.project-list__item[aria-disabled]{cursor:default;opacity:.55}.project-list__item:hover{background:#dcebff}.project-list__name{margin:0 0 2px;font-weight:700;font-size:14px}.project-list__years{font-weight:400;font-size:11px;color:var(--xp-text-muted)}.project-list__desc{margin:0;font-size:13px;color:var(--xp-text-muted)}.webring__intro{margin-top:0;font-size:13px;color:var(--xp-text-muted)}.webring__text{margin-top:13;font-size:13px;color:var(--xp-text-muted)}.webring__buttons{display:flex;flex-wrap:wrap;gap:10px}.webring__button{display:flex;align-items:center;justify-content:center;width:88px;height:31px;border:1px solid rgba(0,0,0,.4);border-radius:2px;color:#fff;font-size:11px;font-weight:700;text-decoration:none;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.4);padding:2px 4px}.linkback__code{-webkit-user-select:all;user-select:all;font-size:11px;background:#e2e1e4}.blog-list__intro{margin-top:0}.blog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.blog-list__item{display:flex;gap:12px;align-items:flex-start;padding:10px 8px;border-radius:4px;text-decoration:none;color:inherit;border-bottom:1px dashed var(--xp-panel-border)}.blog-list__item:hover{background:#ffe3ee}.blog-list__title{margin:0 0 2px;font-weight:700;font-size:14px}.blog-list__meta{margin:0 0 4px;font-size:11px;color:var(--xp-text-muted)}.blog-list__excerpt{margin:0;font-size:13px;color:var(--xp-text-muted)}.blog-list__empty{padding:12px 8px;color:var(--xp-text-muted)}.blog-post__nav{margin-top:0}.blog-post__title{margin:4px 0;font-size:20px}.blog-post__meta{margin:0 0 16px;font-size:12px;color:var(--xp-text-muted)}.blog-post__content{font-size:14px}.blog-post__content h2{font-size:16px;margin:20px 0 8px;border-bottom:1px solid var(--xp-panel-border);padding-bottom:4px}.blog-post__content p{line-height:1.7}.blog-post__content code{background:#eee;padding:1px 5px;border-radius:3px;font-family:var(--font-mono);font-size:13px}.blog-post__content pre{background:#1e1e1e;color:#eee;padding:12px;border-radius:4px;overflow-x:auto}.blog-post__content pre code{background:none;padding:0;color:inherit}.blog-post__content ul,.blog-post__content ol{padding-left:22px}.blog-post__content img{display:block;max-width:100%;height:auto;margin:14px 0;border:1px solid var(--xp-panel-border);border-radius:2px;background:#fff;padding:4px;box-shadow:1px 1px 3px #00000026}.blog-post__content figure{margin:14px 0}.blog-post__content figure img{margin:0}.blog-post__content figcaption{margin-top:6px;font-size:12px;color:var(--xp-text-muted);text-align:center}.xp-taskbar{position:fixed;left:0;right:0;bottom:0;height:46px;display:flex;align-items:center;gap:8px;padding:0 6px;background:linear-gradient(180deg,#2c85ff,#1257d8 20%,#0b3d91);border-top:1px solid #7fb8ff;z-index:50}.xp-start{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 8px;border:none;border-radius:3px;background:linear-gradient(180deg,#6fce5c 0%,var(--xp-green) 45%,var(--xp-green-dark) 100%);color:#fff;font-weight:800;font-style:italic;font-size:15px;cursor:pointer;box-shadow:inset 0 0 0 1px #fff6}.xp-start--active,.xp-start:active{filter:brightness(.9)}.xp-start__logo{width:18px;height:18px;border-radius:3px;background:linear-gradient(90deg,var(--xp-pink) 50%,var(--xp-yellow) 50%) 0 0 / 100% 50%,linear-gradient(90deg,#08c47a 50%,var(--xp-blue-dark) 50%) 0 100% / 100% 50%;background-repeat:no-repeat;display:inline-block}.xp-taskbar__tasks{flex:1;display:flex;gap:6px;min-width:0}.xp-taskbar__task{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:2px;background:#ffffff1f;color:#fff;font-size:12px;font-family:inherit;border:1px solid rgba(255,255,255,.2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;max-width:180px}.xp-taskbar__task:hover{background:#fff3}.xp-taskbar__task--active{background:#00000040;box-shadow:inset 1px 1px #0000004d,inset -1px -1px #ffffff26}.xp-taskbar__task--minimized{opacity:.75}.xp-tray{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:2px;background:#0000002e;color:#fff;font-size:12px}.xp-tray__status{width:8px;height:8px;border-radius:50%;background:#4dff4d;box-shadow:0 0 4px #4dff4d}.xp-clock{font-variant-numeric:tabular-nums}.xp-startmenu__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.xp-startmenu{position:fixed;left:6px;bottom:50px;width:220px;background:var(--xp-face);border:1px solid var(--xp-blue-deep);border-radius:3px 3px 0 0;box-shadow:3px 3px #0006;overflow:hidden;z-index:60}.xp-startmenu__header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,var(--xp-blue-mid),var(--xp-blue-dark));color:#fff;font-weight:700}.xp-startmenu__avatar{width:34px;height:34px;border-radius:3px;background:linear-gradient(160deg,var(--xp-pink),var(--xp-blue-deep));display:flex;align-items:center;justify-content:center;border:2px solid #fff}.xp-startmenu__body{display:flex;flex-direction:column;padding:6px;gap:2px}.xp-startmenu__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:1px;text-decoration:none;color:var(--xp-text);font-size:13px;background:none;border:none;cursor:pointer;text-align:left;width:100%}.xp-startmenu__item:hover{background:var(--xp-blue-mid);color:#fff}.xp-startmenu__footer{border-top:1px solid var(--xp-panel-border);padding:6px}.xp-startmenu__item--danger:hover{background:var(--xp-pink)}.xp-modal__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:80;padding:20px}.xp-modal{width:min(360px,100%);background:var(--xp-face);border:1px solid var(--xp-blue-deep);border-radius:3px;overflow:hidden;box-shadow:3px 4px #00000073}.xp-modal__body{padding:18px;font-size:13px}.xp-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;font-family:var(--font-ui);z-index:200}.boot-screen__mark{display:grid;grid-template-columns:repeat(2,22px);grid-template-rows:repeat(2,22px);gap:4px}.boot-screen__mark span{border-radius:3px;display:block}.boot-screen__title{font-size:22px;font-weight:800;letter-spacing:.5px;margin:0}.boot-screen__bar{width:220px;height:12px;border-radius:0;background:#222;overflow:hidden;border:1px solid #444}.boot-screen__bar-fill{height:100%;background:repeating-linear-gradient(90deg,transparent 0,transparent 10px,#000 10px,#000 12px),linear-gradient(90deg,var(--xp-blue-mid),var(--xp-pink));transition:width .15s steps(8,end)}.boot-screen__hint{font-size:12px;color:#999;margin:0}.boot-screen__skip{position:absolute;bottom:24px;right:24px;background:none;border:1px solid #444;color:#999;padding:6px 12px;border-radius:1px;font-size:12px;cursor:pointer}.boot-screen__skip:hover{color:#fff;border-color:#888}@media (min-width: 781px){.app-main{zoom:clamp(.75,calc(100vw/1700px),1.3)}}@media (max-width: 780px){.window-grid{grid-template-columns:minmax(0,1fr)}.desktop{padding:18px 12px 30px}.app-shell:before{display:none}}@media (max-width: 480px){.xp-taskbar{height:52px;gap:4px}.xp-start{height:38px;font-size:13px;padding:0 10px}.xp-tray{height:36px;font-size:11px}.about-window__header{flex-direction:column;align-items:center;text-align:center}.desktop-icon{width:68px}.xp-window--maximized{top:0;right:0;bottom:52px;left:0}}@media (prefers-reduced-motion: reduce){.xp-window,.xp-window--wiggle{animation:none!important}}
