/* ED.OS: shared sizing and interaction tokens, shared component behavior. */
:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--text-small:.75rem;--text-body:1rem;--muted:#625466;--line:#88768a;--focus:#5342ad;--control-border:.0625rem solid var(--line);--control-shadow:.125rem .125rem 0 #573e6140;--touch:2.75rem}
body{font-size:var(--text-body)}
.help,.mini-heading,.window-status,.memory-date-basis,.memory-tile,.memory-frame-bottom,.game-card p,.rig-tabs button,.copy-button,.link-tile,.edition,.clock span,.desktop-icon span,.task-button,.music-caption{font-size:var(--text-small)}
.lead,.section-intro{font-size:var(--text-body);line-height:1.6}
.action,select{font:var(--text-small)/1.4 var(--mono);padding:var(--space-2) var(--space-3);border:var(--control-border);background:var(--paper);color:var(--ink);box-shadow:var(--control-shadow);min-height:2.25rem}
button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:not(.window):focus-visible{outline:.1875rem solid var(--focus);outline-offset:.1875rem}
button:disabled,select:disabled{color:#625466;background:#eee7ed;box-shadow:none;cursor:default}
.action[aria-pressed="true"],.task-button[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:inset 0 -.1875rem var(--pink)}
.window.is-front>.window-titlebar{box-shadow:inset 0 -.1875rem var(--ink)}
.window-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-title .pixel-icon{flex-shrink:0}.window-controls{flex-shrink:0}
.memory-library-toolbar{position:sticky;top:calc(-1 * var(--library-content-padding,0px));z-index:2;background:var(--paper);padding:var(--space-3) 0;border-bottom:var(--control-border)}
.memory-library-heading{gap:var(--space-3)}.memory-years{gap:var(--space-2);margin:var(--space-3) 0}.memory-month{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font:var(--text-small) var(--mono);margin:var(--space-3) 0}.memory-month select{min-width:0;max-width:100%;flex:1}.memory-library-status{margin:var(--space-2) 0 0}
.memory-viewer .memory-actions{position:sticky;bottom:0;z-index:1;background:var(--paper);padding:var(--space-3) 0;border-top:var(--control-border);gap:var(--space-2)}
.memory-grid{gap:var(--space-3)}.memory-tile{padding:var(--space-2);border:var(--control-border)}.memory-tile img{display:block}.memory-library-items h4,.memory-tile{scroll-margin-top:var(--library-toolbar-height,14rem)}
#tasks{min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.task-button{flex-shrink:0}
@media(max-width:700px){
 .window-controls button{width:var(--touch);height:var(--touch);line-height:1;box-shadow:none}.window-titlebar{height:3.25rem;min-height:3.25rem;gap:var(--space-2)}
 .action,select,.start-button,.task-button,#home-button,#settings-button,.weather summary,.start-menu button,.rig-tabs button,.copy-button{min-height:var(--touch);min-width:var(--touch)}
 .task-button{flex:0 0 var(--touch);max-width:var(--touch)}.taskbar{height:calc(4rem + env(safe-area-inset-bottom));padding:.375rem max(.5rem,env(safe-area-inset-right)) calc(.375rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));gap:var(--space-1)}
 .weather summary{display:flex;align-items:center;justify-content:center}
 .clock{position:fixed;top:.375rem;right:.5rem;z-index:3;border:0;padding:0;font-size:.75rem}.clock span{display:none}.topbar .edition{display:none}.window{top:3rem!important;height:calc(100dvh - 7.75rem - env(safe-area-inset-bottom))!important}.window-content{padding:var(--space-4)}#desktop{height:calc(100dvh - 6.375rem - env(safe-area-inset-bottom))}.start-menu{bottom:calc(4.5rem + env(safe-area-inset-bottom))}
 .memory-library-heading{flex-wrap:wrap}.memory-years button{flex:1;padding:var(--space-2)}.memory-library-toolbar>.action{min-height:2.75rem}.memory-library-toolbar .memory-library-status{font-size:var(--text-small)}
 .memory-viewer .memory-actions .memory-status{flex-basis:100%}.window-status{gap:var(--space-2);flex-wrap:wrap}.window-status span:last-child{display:none}
}

.tag,.pronounce,.soft-note,.text-button,.menu-header small,.project .badge,.project small,.rig-banner p,.part small,.handle,.watch-badge,.watch-card time,.watch-pagination,.rig-device small,.steam-card p,.gaming-links .action{font-size:var(--text-small)}

.desktop-icon span{min-height:2.25rem;display:flex;align-items:center;justify-content:center}
.pronounce{min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center}

.memory-tile:focus{outline:.1875rem solid var(--focus);outline-offset:.1875rem}
