:root{--color-paper: #fdfdf6;--color-paper-lines: #e6e6e6;--color-ink-primary: #2c2c2c;--color-ink-secondary: #555555;--color-highlight: #fffaaa;--border-width: 2px;--font-family-hand: "Courier New", Courier, monospace;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px}body{background-color:var(--color-paper);background-image:linear-gradient(var(--color-paper-lines) 1px,transparent 1px),linear-gradient(90deg,var(--color-paper-lines) 1px,transparent 1px);background-size:20px 20px;color:var(--color-ink-primary);font-family:var(--font-family-hand);margin:0;height:100vh;overflow:hidden}.doodle-box{border:var(--border-width) solid var(--color-ink-primary);border-radius:var(--border-radius-imperfect);padding:var(--spacing-md);background:#fff;box-shadow:2px 3px #0000001a;transition:transform .1s ease}.doodle-btn{cursor:pointer;background:var(--color-highlight);font-weight:700}.doodle-btn:active{transform:scale(.98)}@keyframes flash-re-render{0%{box-shadow:0 0 10px 2px #ff4500}50%{box-shadow:0 0 10px 4px #f0f}to{box-shadow:0 0 0 0 transparent}}.re-render-highlight{animation:flash-re-render .5s ease-out}:root{--breakpoint-phone: 768px;--breakpoint-tablet: 1024px;--taskbar-height: 48px;--taskbar-height-mobile: 56px;--grid-size-mobile: 60px;--icon-size-mobile: 40px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 10px;--spacing-lg: 12px;--spacing-xl: 16px;--spacing-2xl: 20px}@media (max-width: 767px){.hide-on-phone{display:none!important}}@media (min-width: 1024px){.hide-on-desktop{display:none!important}}@media (max-width: 1023px){.hide-on-mobile{display:none!important}}.window-content{padding:0}.projects,.education,.experience,.stack,.contacts,.email-form{padding:var(--spacing-md);max-height:100%}.project-card,.edu-card,.exp-card{background:var(--color-paper);border:2px solid var(--color-ink-primary);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:transform .2s,box-shadow .2s}.project-card:hover,.edu-card:hover,.exp-card:hover{transform:translateY(-2px);box-shadow:4px 4px #0000001a}.project-card h3,.edu-card h3,.exp-card h3{margin:0 0 8px;font-size:1.1rem;color:var(--color-ink-primary)}.project-card p,.edu-card p,.exp-card p{margin:4px 0;color:var(--color-ink-secondary);line-height:1.5}.exp-card .company{font-weight:700;color:var(--color-ink-primary)}.exp-card .period{font-size:.9rem;color:var(--color-ink-secondary);font-style:italic}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{background:var(--color-highlight);border:1px solid var(--color-ink-primary);padding:2px 8px;border-radius:12px;font-size:.85rem}.stack{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stack-category{animation:fadeIn .5s ease-in}.stack-category h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;color:var(--color-ink-primary);border-bottom:2px solid var(--color-ink-primary);padding-bottom:4px}.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.stack-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid var(--color-ink-primary);border-radius:8px;background:var(--color-paper);transition:transform .2s ease,box-shadow .2s ease;opacity:0;animation:fadeInUp .4s ease forwards}.stack-item:hover{transform:translateY(-4px);box-shadow:4px 4px 0 var(--color-ink-primary)}.stack-icon{font-size:40px;line-height:1;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.stack-icon svg{width:100%;height:100%}.stack-item span{font-size:.85rem;text-align:center;color:var(--color-ink-primary)}.contacts{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-paper-lines);border-radius:8px;transition:all .2s ease;text-decoration:none;color:var(--color-ink-primary)}.contact-item:hover{background:var(--color-highlight);border-color:var(--color-ink-primary);transform:translate(4px)}.contact-item .icon{font-size:24px}.contact-item .info{flex:1}.contact-item .label{font-weight:700;display:block;margin-bottom:2px}.contact-item .value{font-size:.9rem;color:var(--color-ink-secondary)}.email-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:700;font-size:.9rem;color:var(--color-ink-primary)}.form-field input,.form-field textarea{padding:8px 12px;border:2px solid var(--color-ink-primary);border-radius:4px;font-family:var(--font-family-hand);font-size:.9rem;background:#fff;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-ink-primary);box-shadow:0 0 0 3px #2c2c2c1a}.form-field textarea{min-height:120px;resize:vertical}.form-field.error input,.form-field.error textarea{border-color:#d32f2f}.form-error{color:#d32f2f;font-size:.85rem;margin-top:4px}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn{padding:8px 20px;border:2px solid var(--color-ink-primary);border-radius:4px;background:var(--color-highlight);font-family:var(--font-family-hand);font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.btn:hover{transform:translateY(-2px);box-shadow:2px 2px #0003}.btn:active{transform:translateY(0);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff}.form-success{padding:var(--spacing-md);background:#4caf50;color:#fff;border-radius:8px;text-align:center;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.os-taskbar{height:48px;background:linear-gradient(to bottom,#f8f9fa,var(--color-paper));border-top:var(--border-width) solid var(--color-ink-primary);display:flex;align-items:center;padding:0 var(--spacing-md);gap:var(--spacing-lg);z-index:99999;box-shadow:0 -2px 10px #0000000d}.os-start-btn{font-weight:700;padding:6px var(--spacing-xl);background:linear-gradient(to bottom,#ffffff,var(--color-highlight));border:var(--border-width) solid var(--color-ink-primary);border-radius:4px;cursor:pointer;display:flex;align-items:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.os-start-btn:hover{background:linear-gradient(to bottom,#fff,#e8f0fe);box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.os-start-btn.active{background:var(--color-ink-primary);color:#fff;box-shadow:inset 0 2px 4px #0003;transform:translateY(0)}.os-task-list{flex:1;display:flex;gap:var(--spacing-sm);overflow-x:auto}.os-task-item{padding:6px var(--spacing-lg);border:var(--border-width) solid var(--color-ink-primary);border-radius:4px;background:#fff;cursor:pointer;max-width:160px;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;font-size:.9rem;transition:all .2s;display:flex;align-items:center}.os-task-item:hover{background:#f0f0f0}.os-task-item.active{background:var(--color-ink-primary);color:#fff;box-shadow:inset 2px 2px #0003}.os-system-tray{display:flex;align-items:center;gap:var(--spacing-xl);padding-left:var(--spacing-xl);border-left:2px solid #ddd}.system-icons{display:flex;gap:var(--spacing-lg)}.system-icon{transition:transform .2s ease,filter .2s ease;-webkit-user-select:none;user-select:none}.system-icon:hover{transform:scale(1.15);filter:brightness(1.2)}.os-min-all-btn{width:10px;height:40px;border-left:1px solid var(--color-ink-primary);cursor:pointer;margin-left:var(--spacing-md);transition:background .2s ease}.os-min-all-btn:hover{background:linear-gradient(to right,transparent,#e0e0e0)}@media (max-width: 1023px){.os-taskbar{position:fixed;bottom:0;left:0;right:0;width:100%;height:var(--taskbar-height-mobile);z-index:99999}.os-task-list{overflow-x:auto;scrollbar-width:none}.os-task-list::-webkit-scrollbar{display:none}.os-task-item{flex-shrink:1;min-width:80px;max-width:120px}}@media (max-width: 767px){.os-start-btn{padding:6px var(--spacing-lg);font-size:.85rem}.os-start-btn span:last-child{display:none}.os-task-item{min-width:60px;max-width:90px;font-size:.75rem;padding:4px var(--spacing-sm)}.system-icons{gap:var(--spacing-sm)}.system-icon{font-size:14px}.os-system-tray{gap:var(--spacing-md);padding-left:var(--spacing-md)}.os-system-tray span{font-size:.8rem}.os-min-all-btn{width:8px;margin-left:6px}}.os-shortcut{width:90px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--spacing-md);border:1px solid transparent;cursor:pointer;border-radius:8px;transition:background .1s,transform .1s}.os-shortcut:hover{background:#0000000d}.os-shortcut:active{transform:scale(.95)}.os-shortcut.selected{background:#2c2c2c1a;border:1px dashed var(--color-ink-primary);box-shadow:2px 2px #0000001a}.os-shortcut-icon{width:48px;height:48px;margin-bottom:var(--spacing-sm)}.os-shortcut-icon svg{width:100%;height:100%;fill:none;stroke:var(--color-ink-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.os-shortcut-label{text-align:center;font-size:.9rem;font-weight:500;color:var(--color-ink-primary);-webkit-user-select:none;user-select:none;background:#fffc;padding:2px var(--spacing-xs);border-radius:4px}.os-window{position:absolute;display:flex;flex-direction:column;background:var(--color-paper);border:var(--border-width) solid var(--color-ink-primary);border-radius:5px;box-shadow:8px 8px #00000026;transform-origin:top left;overflow:hidden}.os-window.dragging{z-index:999999!important}.os-window.resizing{-webkit-user-select:none;user-select:none}.os-window.resizing .os-window-content{pointer-events:none}.os-window.focused{border-color:#000}.os-window.minimized{display:none}.os-window.maximized{top:0!important;left:0!important;width:100%!important;height:100%!important;border-radius:0;transform:none;box-shadow:none}.os-titlebar{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);border-bottom:var(--border-width) solid var(--color-ink-primary);-webkit-user-select:none;user-select:none;background:#00000008;cursor:grab}.os-titlebar:active{cursor:grabbing}.os-titlebar-title{font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-titlebar-controls{display:flex;gap:var(--spacing-sm)}.os-control-btn{width:18px;height:18px;border:2px solid var(--color-ink-primary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:transform .1s}.os-control-btn:hover{transform:scale(1.1);background:var(--color-ink-primary);color:#fff}.os-window-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;background:#fff;padding:var(--spacing-md)}::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);border-radius:var(--border-radius-imperfect)}::view-transition-old(*),::view-transition-new(*){height:100%;width:100%;object-fit:none}@media (max-width: 1023px){.os-window:not(.minimized){position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:var(--taskbar-height-mobile)!important;width:100%!important;height:auto!important;max-height:calc(100vh - var(--taskbar-height-mobile))!important;border-radius:0;transform:none!important;box-shadow:none}.os-window.maximized{bottom:var(--taskbar-height-mobile)!important;height:auto!important;max-height:calc(100vh - var(--taskbar-height-mobile))!important}.os-titlebar{cursor:default}}.os-background-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}.os-background-canvas{width:100%;height:100%;display:block}.os-desktop{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.os-workspace{flex:1;position:relative;padding:var(--spacing-2xl);z-index:1}@media (max-width: 1023px){.os-workspace{padding:var(--spacing-sm);padding-bottom:calc(var(--taskbar-height-mobile) + var(--spacing-sm))}}@media (max-width: 767px){.os-workspace{padding:var(--spacing-xs);padding-bottom:calc(var(--taskbar-height-mobile) + var(--spacing-xs))}}
