:root{--bg:silver;--desktop:teal;--light:#fff;--lighter:#dfdfdf;--dark:gray;--darker:#0a0a0a;--title-a:navy;--title-b:#1084d0;--highlight:navy;--highlight-text:#fff;--text:#000;--link:#00e;--link-visited:#551a8b;--error:#c00000;--font-ui:Tahoma, "MS Sans Serif", "Microsoft Sans Serif", Verdana, Arial, sans-serif;--font-mono:"Lucida Console", "Fixedsys", "Courier New", monospace;--raised:inset -1px -1px var(--darker), inset 1px 1px var(--light), inset -2px -2px var(--dark), inset 2px 2px var(--lighter);--sunken:inset -1px -1px var(--light), inset 1px 1px var(--dark), inset -2px -2px var(--lighter), inset 2px 2px var(--darker);--raised-thin:inset -1px -1px var(--dark), inset 1px 1px var(--light);--sunken-thin:inset -1px -1px var(--light), inset 1px 1px var(--dark);--dither:linear-gradient(45deg, var(--light) 25%, transparent 25%, transparent 75%, var(--light) 75%), linear-gradient(45deg, var(--light) 25%, transparent 25%, transparent 75%, var(--light) 75%);--taskbar-h:30px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--desktop);color:var(--text);font:12px/1.45 var(--font-ui);min-height:100vh;padding-bottom:var(--taskbar-h);overflow-x:hidden}a{color:var(--link)}a:visited{color:var(--link-visited)}h1,h2,h3,h4{margin:0 0 8px;line-height:1.25}h1{font-size:16px}h2{font-size:14px}h3{font-size:12px}p{margin:0 0 10px}ul,ol{margin:0 0 10px;padding-left:20px}code,pre{font-family:var(--font-mono);font-size:12px}pre{color:silver;box-shadow:var(--sunken);background:#000;margin:0 0 10px;padding:8px 10px;overflow-x:auto}code:not(pre code){background:var(--light);box-shadow:var(--sunken-thin);padding:0 3px}hr{height:2px;box-shadow:inset 0 1px var(--dark), inset 0 -1px var(--light);border:none;margin:10px 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,.button{font:inherit;color:var(--text);background:var(--bg);box-shadow:var(--raised);cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;border-radius:0;justify-content:center;align-items:center;gap:4px;min-width:75px;height:23px;padding:0 12px;text-decoration:none;display:inline-flex}button:active:not(:disabled),.button:active,.is-pressed{box-shadow:var(--sunken);padding-top:1px}button:focus-visible,.button:focus-visible{outline:1px dotted var(--text);outline-offset:-4px}button:disabled{color:var(--dark);text-shadow:1px 1px var(--light)}button.compact{min-width:0;height:21px;padding:0 6px}button.icon-button{width:21px;min-width:0;height:21px;padding:0;font-weight:700;line-height:1}input[type=text],input[type=email],input[type=date],input[type=search],textarea,select{font:inherit;color:var(--text);background:var(--light);box-shadow:var(--sunken);border:none;border-radius:0;height:23px;padding:3px 5px}textarea{resize:vertical;height:auto;line-height:1.4}select{padding:1px 2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px dotted var(--text);outline-offset:-3px}input:disabled,textarea:disabled,select:disabled{background:var(--bg);color:var(--dark)}input[type=checkbox],input[type=radio]{appearance:none;background:var(--light);width:13px;height:13px;box-shadow:var(--sunken);vertical-align:middle;flex-shrink:0;margin:0;position:relative}input[type=radio]{box-shadow:inset 1px 1px var(--dark), inset -1px -1px var(--light), inset 2px 2px var(--darker), inset -2px -2px var(--lighter);border-radius:50%}input[type=checkbox]:checked:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13' shape-rendering='crispEdges'%3E%3Cpath fill='%23000' d='M3 5h1v1H3zM4 6h1v1H4zM5 7h1v1H5zM6 6h1v1H6zM7 5h1v1H7zM8 4h1v1H8zM9 3h1v1H9zM3 6h1v1H3zM4 7h1v1H4zM5 8h1v1H5zM6 7h1v1H6zM7 6h1v1H7zM8 5h1v1H8zM9 4h1v1H9z'/%3E%3C/svg%3E") 50% no-repeat;position:absolute;inset:0}input[type=radio]:checked:after{content:"";background:var(--text);border-radius:50%;position:absolute;inset:4px}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:1px dotted var(--text);outline-offset:2px}label{-webkit-user-select:none;user-select:none}.field-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.field-row-stacked{flex-direction:column;gap:3px;margin-bottom:8px;display:flex}.field-row-stacked input,.field-row-stacked textarea,.field-row-stacked select{width:100%}.check-row{align-items:center;gap:5px;display:inline-flex}fieldset{border:2px groove var(--lighter);min-width:0;margin:0 0 10px;padding:8px 12px 10px}legend{padding:0 3px}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.error-text{color:var(--error)}.muted{color:var(--dark)}.window{background:var(--bg);box-shadow:var(--raised);flex-direction:column;min-width:0;padding:3px;display:flex}.title-bar{background:linear-gradient(90deg, var(--title-a), var(--title-b));height:18px;color:var(--light);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:0 2px 0 3px;display:flex}.title-bar-text{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;min-width:0;font-weight:700;display:flex;overflow:hidden}.title-bar-text svg{flex-shrink:0}.title-bar-controls{flex-shrink:0;display:flex}.title-bar-controls button,.title-bar-controls a.button{width:16px;min-width:0;height:14px;color:var(--text);place-items:center;padding:0;display:grid}.title-bar-controls button:active,.title-bar-controls a.button:active{padding:0}.title-bar-controls .close{margin-left:2px}.title-bar-controls svg{display:block}.menu-bar{align-items:center;padding:1px 0;display:flex}.menu-bar button,.menu-bar a{box-shadow:none;min-width:0;height:auto;color:var(--text);background:0 0;gap:0;padding:2px 6px;text-decoration:none}.menu-bar button:hover:not(:disabled),.menu-bar a:hover,.menu-bar button[aria-expanded=true]{box-shadow:var(--raised-thin)}.menu-bar button:active:not(:disabled){box-shadow:var(--sunken-thin);padding-top:2px}.window-body{min-width:0;padding:8px}.status-bar{gap:2px;margin-top:3px;display:flex}.status-bar-field{box-shadow:var(--sunken-thin);white-space:nowrap;text-overflow:ellipsis;flex:1;min-height:19px;padding:2px 5px;overflow:hidden}.status-bar-field:first-child{flex:2}.sunken-panel{background:var(--light);box-shadow:var(--sunken);padding:2px;overflow:auto}.tabs{z-index:1;flex-wrap:wrap;margin-bottom:-2px;padding-left:2px;display:flex;position:relative}.tab{min-width:0;height:21px;box-shadow:inset -1px 0 var(--darker), inset 1px 1px var(--light), inset -2px 0 var(--dark);border-radius:3px 3px 0 0;margin-right:-2px;padding:0 10px;position:relative}.tab:active:not(:disabled){box-shadow:inset -1px 0 var(--darker), inset 1px 1px var(--light), inset -2px 0 var(--dark);padding-top:0}.tab[aria-selected=true]{z-index:2;height:25px;margin-top:-2px;margin-bottom:-2px;padding:0 12px 2px}.tab:focus-visible{outline-offset:-5px}.tab-panel{box-shadow:var(--raised);background:var(--bg);padding:12px;position:relative}.list-view{border-collapse:collapse;background:var(--light);width:100%}.list-view th{background:var(--bg);box-shadow:var(--raised-thin);text-align:left;white-space:nowrap;padding:2px 6px;font-weight:400;position:sticky;top:0}.list-view td{white-space:nowrap;vertical-align:middle;padding:1px 6px}.list-view td.wrap{white-space:normal}.list-view tbody tr:hover td,.list-view tbody tr:focus-within td{background:var(--highlight);color:var(--highlight-text)}.list-view tbody tr:hover a,.list-view tbody tr:focus-within a{color:var(--highlight-text)}.list-view a{color:var(--text);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.list-view a:focus-visible{outline:1px dotted var(--highlight-text);outline-offset:1px}.dialog-body{align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.dialog-body svg{flex-shrink:0}.desktop{min-height:calc(100vh - var(--taskbar-h));align-items:flex-start;display:flex}.desktop-icons{flex-direction:column;flex-shrink:0;gap:16px;width:92px;padding:10px 4px;display:flex}.desktop-icon{width:84px;color:var(--light);outline:none;flex-direction:column;align-items:center;gap:4px;padding:2px 0;text-decoration:none;display:flex}.desktop-icon:visited{color:var(--light)}.desktop-icon span{text-align:center;text-shadow:1px 1px var(--darker);max-width:100%;padding:1px 3px;line-height:1.2}.desktop-icon svg{width:32px;height:32px}.desktop-icon:hover span,.desktop-icon:focus-visible span,.desktop-icon.is-active span{background:var(--highlight);outline-offset:-1px;text-shadow:none;outline:1px dotted #ffff80}.desktop-main{flex-direction:column;flex:1;gap:16px;min-width:0;padding:20px 24px 24px 12px;display:flex}.window-stack{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.window-stack>.window{flex:360px;max-width:100%}.content-window{width:100%;max-width:860px}.taskbar{height:var(--taskbar-h);background:var(--bg);box-shadow:inset 0 1px var(--light), 0 -1px var(--lighter);z-index:100;align-items:center;gap:3px;padding:3px 2px 2px;display:flex;position:fixed;bottom:0;left:0;right:0}.start-button{flex-shrink:0;min-width:0;height:22px;padding:0 6px 0 3px;font-weight:700}.start-button[aria-expanded=true]{box-shadow:var(--sunken);background-image:var(--dither);background-position:0 0,1px 1px;background-size:2px 2px;padding-top:1px}.taskbar-divider{width:2px;height:22px;box-shadow:inset 1px 0 var(--dark), inset -1px 0 var(--light);flex-shrink:0;margin:0 1px}.taskbar-tasks{flex:1;gap:3px;min-width:0;display:flex;overflow:hidden}.task-button{min-width:0;height:22px;color:var(--text);flex:0 160px;justify-content:flex-start;padding:0 6px 0 4px;text-decoration:none;overflow:hidden}.task-button:visited{color:var(--text)}.task-button span{text-overflow:ellipsis;overflow:hidden}.task-button svg{flex-shrink:0}.task-button.is-active{box-shadow:var(--sunken);background-image:var(--dither);background-position:0 0,1px 1px;background-size:2px 2px;font-weight:700}.tray{height:22px;box-shadow:var(--sunken-thin);flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:70px;margin-left:auto;padding:0 8px;display:flex}.tray time{font-variant-numeric:tabular-nums}.start-menu{left:2px;bottom:calc(var(--taskbar-h) - 2px);background:var(--bg);width:210px;box-shadow:var(--raised);z-index:200;padding:3px;display:flex;position:fixed}.start-menu-band{background:linear-gradient(180deg, var(--title-b), var(--title-a) 70%);flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;width:22px;padding-bottom:8px;display:flex}.start-menu-band span{writing-mode:vertical-rl;white-space:nowrap;color:var(--bg);letter-spacing:.5px;font-size:15px;line-height:1;transform:rotate(180deg)}.start-menu-band b{color:var(--light)}.start-menu-items{flex-direction:column;flex:1;min-width:0;display:flex}.start-menu-item{height:36px;color:var(--text);box-shadow:none;min-width:0;font:inherit;text-align:left;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:0 10px 0 8px;text-decoration:none;display:flex}.start-menu-item:visited{color:var(--text)}.start-menu-item:hover,.start-menu-item:focus-visible{background:var(--highlight);color:var(--highlight-text);outline:none}.start-menu-item:active{box-shadow:none;padding-top:0}.start-menu-item svg{flex-shrink:0;width:24px;height:24px}.start-menu-separator{height:2px;box-shadow:inset 0 1px var(--dark), inset 0 -1px var(--light);margin:3px 2px}.welcome-header{align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.welcome-header h1{margin-bottom:2px}.avatar{background:var(--light);width:64px;height:64px;box-shadow:var(--sunken);flex-shrink:0;place-items:center;padding:4px;display:grid}.avatar svg{width:100%;height:100%}.link-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tip-box{box-shadow:inset 0 0 0 1px var(--text);background:#ffffe1;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.tip-box svg{flex-shrink:0}.tip-box p{margin:0}.resume-entry{margin-bottom:14px}.resume-entry:last-child{margin-bottom:0}.resume-entry-head{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:2px;display:flex}.resume-entry-head h3{margin:0}.resume-entry ul{margin-top:4px;margin-bottom:0}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.skill-grid fieldset{margin:0}.skill-grid ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.skill-grid li{background:var(--light);box-shadow:var(--sunken-thin);padding:1px 6px}.article-list-wrap{max-height:420px}.article-meta{color:var(--dark);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.article-tags{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.article-tags li{background:var(--bg);box-shadow:var(--raised-thin);color:var(--text);padding:0 5px}.article-content{background:var(--light);box-shadow:var(--sunken);max-height:60vh;padding:12px 14px;font-size:13px;line-height:1.55;overflow:auto}.article-content h2{margin-top:14px}.article-content h2:first-child{margin-top:0}.todo-add{grid-template-columns:1fr auto auto auto;gap:4px;margin-bottom:6px;display:grid}.todo-add input[type=text]{min-width:0}.todo-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.todo-filters .field-row{gap:4px;margin:0}.todo-list-panel{min-height:120px;max-height:320px}.todo-list{margin:0;padding:0;list-style:none}.todo-item{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;min-height:25px;padding:2px 4px;display:grid}.todo-item:nth-child(2n){background:#f4f4f4}.todo-item.is-selected{background:var(--highlight);color:var(--highlight-text)}.todo-item.is-selected .muted,.todo-item.is-selected .todo-due{color:inherit}.todo-item-main{cursor:default;align-items:center;gap:6px;min-width:0;display:flex}.todo-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.todo-item.is-done .todo-title{color:var(--dark);text-decoration:line-through}.todo-item.is-selected.is-done .todo-title{color:inherit}.todo-badge{text-transform:uppercase;letter-spacing:.3px;box-shadow:var(--raised-thin);background:var(--bg);color:var(--text);flex-shrink:0;padding:0 4px;font-size:10px;line-height:14px}.todo-badge.high{background:#ff8080}.todo-badge.low{background:#c0e0c0}.todo-due{color:var(--dark);flex-shrink:0;font-size:11px}.todo-due.is-overdue{color:var(--error);font-weight:700}.todo-item-actions{gap:2px;display:flex}.todo-item-actions button{width:19px;min-width:0;height:19px;padding:0;font-size:11px;line-height:1}.todo-edit-form{grid-column:1/-1;grid-template-columns:1fr auto auto auto;gap:4px;padding:2px 0;display:grid}.todo-edit-form input[type=text]{min-width:0}.todo-empty{text-align:center;color:var(--dark);padding:20px 10px}.todo-progress{align-items:center;gap:8px;margin-top:6px;display:flex}.progress{height:16px;box-shadow:var(--sunken-thin);flex:1;gap:2px;padding:2px;display:flex;overflow:hidden}.progress-block{background:var(--highlight);flex-shrink:0;width:8px;height:100%}.contact-grid{grid-template-columns:1fr;gap:12px;display:grid}.contact-form .field-row>label:first-child{text-align:right;min-width:56px}.contact-form .field-row input{flex:1;min-width:0}.contact-form textarea{width:100%;min-height:140px}.contact-info dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.contact-info dt{color:var(--dark)}.contact-info dd{overflow-wrap:anywhere;margin:0}@media (max-width:720px){.desktop{flex-direction:column}.desktop-icons{flex-flow:wrap;justify-content:center;gap:6px;width:100%;padding:8px 4px 0}.desktop-main{width:100%;padding:12px 8px 16px}.window-stack>.window{flex-basis:100%}.todo-add{grid-template-columns:1fr 1fr 1fr}.todo-add input[type=text]{grid-column:1/-1}.task-button span{display:none}.task-button{flex:none;padding:0 5px}.tray-date{display:none}}@media (min-width:900px){.contact-grid{grid-template-columns:1fr 260px;align-items:start}}
