
:root{--accent:#3378c5;--panel:#f8f8fa;--side:rgba(232,233,237,.91);--text:#27272b;--muted:#85858d;--line:rgba(35,35,50,.1)}
html,body{overscroll-behavior:none;cursor:url('assets/cursor.svg') 3 2,default}button,a,[role=option]{cursor:inherit}input,textarea{cursor:text}input[type=range],input[type=checkbox],select{cursor:inherit}*{scrollbar-width:thin;scrollbar-color:#90909965 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#90909965;border:2px solid transparent;background-clip:padding-box;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#707079a0}*{-webkit-tap-highlight-color:transparent}button{transition:background .12s,color .12s,opacity .12s}input[type=range]{accent-color:var(--accent);padding:0;height:18px;border:0;box-shadow:none;background:none}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}a{color:var(--accent)}#menubar{background:#e7eeeb9c}#system-menu{width:31px;display:grid;place-items:center;padding:0;line-height:1}#system-menu svg{display:block}.window{animation:none;min-width:440px;min-height:300px;border:1px solid #ffffff70;border-radius:12px;box-shadow:0 27px 80px #14231b55,0 1px 8px #0003;transform-origin:center;will-change:auto}.window[data-app=calculator]{min-width:280px;min-height:390px}.titlebar{height:44px;min-height:44px;background:linear-gradient(#fafafa,#f0f0f1);padding:0 15px}.window-title{text-align:center;padding-right:65px;font-size:12px}.traffic{gap:8px}.traffic button{width:12px;height:12px;display:grid;place-items:center;line-height:1}.win-content{position:relative}.dragging-window iframe{pointer-events:none}.window.inactive .traffic button{background:#c5c6c8!important;color:transparent}.toolbar{height:48px;min-height:48px;padding:0 15px}.toolbar>button:empty{display:none}.toolbar h2{font-size:21px;margin:0}.sidebar{width:181px;padding-top:23px;background:var(--side);backdrop-filter:blur(35px)}.sidebar small{text-transform:uppercase;letter-spacing:.5px;font-size:9px}.sidebar button.active{background:#657fa329}.sidebar button svg{color:#5b87b7}.file-grid{position:relative;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));padding:22px;gap:18px 10px;scroll-behavior:smooth}.file{border-radius:7px;min-height:104px}.file.selected{background:#2678d527;border-color:#287ad540}.file.selected .file-name{color:var(--text)}.file:hover{background:#607ca20c}.file-meta{font-size:9px}.file-name{font-size:11px;line-height:1.4}.folder-glyph{background:linear-gradient(#8ad4f5,#4aace0);width:55px;height:42px;box-shadow:inset 0 2px #c4eafd,0 2px 3px #0002}.folder-glyph:before{background:#7dc9ed}#desktop-files{inset:39px 10px 98px 10px;width:auto;display:block;pointer-events:auto}#desktop-files .file{position:absolute;width:96px;height:102px;min-height:102px;justify-content:center;padding:7px 3px;gap:5px}#desktop-files .file-meta{display:none}#desktop-files .file-name{font-weight:500;text-shadow:0 1px 4px #0008;padding:2px 5px;border-radius:4px}#desktop-files .file.selected{background:#ffffff12;border-color:#ffffff30}#desktop-files .file.selected .file-name{background:#286bc8d9;color:white}#desktop-files .file:focus-visible{outline:1px solid #fff8}#windows{position:absolute;inset:0;pointer-events:none}#windows>.window{pointer-events:auto}.selection-box{position:fixed;z-index:8500;border:1px solid #64a1f2;background:#4b8fe52b;pointer-events:none;border-radius:2px}.drag-source{opacity:.5}.drop-target{outline:2px solid #4794ef!important;outline-offset:-3px;background-color:#4294e813!important}.file-grid.drop-target{outline-offset:-5px}.popover{font-size:12px;background:#f3f4f4ed;border:1px solid #ffffffa0;padding:5px;backdrop-filter:blur(28px);box-shadow:0 10px 35px #0004;max-height:calc(100dvh - 45px);overflow:auto;animation:menu-in .12s ease-out}.popover button{padding:7px 10px;min-height:29px}.popover button:hover{background:#337de0}.popover .shortcut{color:inherit;opacity:.55}#dock{gap:3px;padding:7px 9px 6px;border-radius:20px;bottom:9px;background:linear-gradient(120deg,#ffffff40,#ffffff28);backdrop-filter:blur(28px) saturate(1.5);box-shadow:0 8px 35px #071b1640,inset 0 1px #fff8;border:1px solid #ffffff65;max-width:calc(100vw - 20px)}.dock-item{padding:0 0 6px;transform-origin:center bottom;transition:transform .22s cubic-bezier(.2,.8,.2,1);flex-shrink:1;min-width:0}.dock-item:hover{transform:translateY(-9px) scale(1.22)}.dock-item:has(+.dock-item:hover),.dock-item:hover+.dock-item{transform:translateY(-3px) scale(1.08)}img.app-icon{display:block!important;width:55px;height:55px;object-fit:contain;border:0!important;box-shadow:none!important;background:none!important;border-radius:0!important;filter:drop-shadow(0 3px 2px #0002)}.dock-item.running:after{bottom:0;background:#1f2b25;width:3px;height:3px}.dock-divider{height:42px;margin:0 4px}.dock-item:before{bottom:74px;background:#f2f3f1e8;backdrop-filter:blur(20px);font-size:11px;box-shadow:0 5px 20px #0002}.calculator{display:flex;flex-direction:column;min-height:0;padding:13px;gap:9px;background:#323334}.calc-expression{height:18px;min-height:18px;text-align:right;font-size:12px;color:#aaa;padding-right:7px}.calc-display{font-size:46px;padding:2px 6px 11px;line-height:1.1;min-height:65px;flex-shrink:0;font-weight:300}.calc-grid{flex:1;min-height:0;grid-template-rows:repeat(5,minmax(0,1fr));gap:7px}.calc-grid button{padding:0;min-height:0;background:#555657;font-size:23px;border-radius:9px;box-shadow:inset 0 1px #ffffff12}.calc-grid .operator{background:#f0a238;color:white}.calc-grid .utility{background:#737475}.save-state{font-size:10px;color:var(--muted)}.notes-list{background:#f2f1ec;width:210px}.notes-list button{padding:15px 10px}.notes-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-editor{padding:27px 32px}.note-editor textarea{font-size:14px;line-height:1.9}.photo-grid{gap:12px}.photo-card{border-radius:5px;transition:transform .15s}.photo-card:hover{transform:translateY(-3px);background:none}.photo-card img{height:auto;aspect-ratio:1.2;object-fit:cover}.photo-card span{padding:9px 0;color:var(--muted)}.photo-card span b{color:#ec5a7a}.gallery h1{font-size:31px;letter-spacing:-1px}.gallery{padding:26px 28px}.photo-size{max-width:100px}.photo-viewer{display:flex;flex-direction:column;height:100%;background:#18191b;color:#eee}.photo-viewer .toolbar{background:#242528;border-color:#ffffff12}.photo-viewer button:hover{background:#ffffff14}.photo-stage{flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;padding:18px}.photo-stage img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;transition:transform .25s,filter .15s;animation:photo-in .25s ease-out}.photo-bottom{display:flex;align-items:center;gap:7px;padding:5px 17px;font-size:11px}.spacer{flex:1}.photo-filmstrip{height:68px;min-height:68px;display:flex;justify-content:center;gap:5px;padding:7px;background:#111214;overflow:auto}.photo-filmstrip button{padding:0;border:2px solid transparent;border-radius:4px;flex-shrink:0}.photo-filmstrip button.active{border-color:#68a2f1}.photo-filmstrip img{height:46px;width:61px;object-fit:cover;border-radius:2px}.photo-edit{display:flex;align-items:center;gap:20px;justify-content:center;padding:10px;background:#242528;font-size:11px}.photo-edit label{display:flex;align-items:center;gap:10px}.photo-edit input{width:95px}.music-shell{display:flex;height:100%;min-height:0;background:var(--panel)}.music-sidebar{width:195px;flex-shrink:0;padding:22px 12px 16px;background:#f6f5f2;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}.music-wordmark{display:flex;align-items:center;gap:7px;font-weight:650;font-size:24px;letter-spacing:-1px;padding:0 8px 18px;color:#e84e65}.music-sidebar>input{width:100%;font-size:11px;margin-bottom:23px;padding:7px 8px;background:#00000005}.music-sidebar>small{font-size:10px;color:#96949a;padding:12px 10px 7px;font-weight:600}.music-sidebar>button{padding:8px 10px;display:flex;align-items:center;gap:10px;text-align:left;font-size:12px;min-height:33px}.music-sidebar>button svg{color:#e75b72;width:16px;height:16px}.music-sidebar>button.active{color:#e64e68;background:#ed4b6414;font-weight:600}.music-profile{display:flex;align-items:center;gap:9px;margin-top:auto;padding:25px 6px 0;font-size:11px;color:var(--muted)}.music-profile span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e7dcd7;color:#977a6e}.music-content{position:relative;min-width:0;flex:1;display:flex;flex-direction:column}.music-content .toolbar{background:var(--panel)}.music-library{padding:22px 25px 133px;overflow:auto;flex:1}.music-library-title{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}.music-library-title h1{font-size:30px;margin:0;letter-spacing:-1px}.music-library-title>span{font-size:11px;color:var(--muted)}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:24px 17px}.album-card{min-width:0;text-align:left;padding:0;background:transparent!important}.album-art{aspect-ratio:1;position:relative;overflow:hidden;border-radius:7px;box-shadow:0 2px 7px #00000012;border:1px solid #00000008}.album-art>img{width:100%;height:100%;object-fit:cover;transition:filter .2s,transform .3s}.album-play{position:absolute;inset:0;display:grid;place-items:center;background:#0002;opacity:0;transition:.2s}.album-play svg{box-sizing:content-box;background:#ffffffee;border-radius:50%;padding:12px;color:#242429;box-shadow:0 3px 15px #0003}.album-card:hover .album-play,.album-card.current .album-play{opacity:1}.album-card:hover img{transform:scale(1.025)}.album-info{min-width:0;margin-top:9px}.album-info strong{font-weight:600;font-size:11px;line-height:1.5;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-info small{font-size:10px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.preview-label{display:block;font-size:7px;letter-spacing:.65px;color:#a5a4ac;margin-top:5px}.album-card.current .album-info strong{color:#e64d68}.album-list{display:flex;flex-direction:column;gap:0}.album-list .album-card{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:8px 3px}.album-list .album-art{width:45px;height:45px;flex-shrink:0}.album-list .album-info{margin:0}.album-list .album-play svg{width:14px;height:14px;padding:5px}.music-source-note{color:var(--muted);font-size:10px;margin:30px 0 0;line-height:1.7}.music-player{position:absolute;bottom:18px;left:18px;right:18px;min-height:82px;border-radius:22px;padding:11px 13px 7px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#ffffffb8;backdrop-filter:blur(30px) saturate(1.4);border:1px solid #ffffffc0;box-shadow:0 6px 28px #00000016,inset 0 1px #fff}.playback-controls{display:flex;align-items:center;gap:1px}.playback-controls button{font-size:17px;padding:5px;min-width:24px}.playback-controls .enabled{color:#e64d68;background:#e64d6815}.music-player .now-playing{display:flex;align-items:center;gap:8px;min-width:80px;flex:1;overflow:hidden}.now-playing>img{width:34px;height:34px;border-radius:6px;object-fit:cover}.now-playing>div{min-width:0}.now-playing strong,.now-playing small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-playing strong{font-size:10px}.now-playing small{font-size:9px;color:var(--muted);margin-top:3px}.music-volume{width:60px!important}.music-player>button{padding:5px;font-size:18px}.music-progress{display:flex;align-items:center;gap:9px;width:100%;height:17px;padding:0 8px}.music-progress input{flex:1;min-width:0;height:12px;accent-color:#888}.track-time{font-size:8px;color:var(--muted);white-space:nowrap}.music-progress button{font-size:8px;padding:0;color:#e64d68;white-space:nowrap}.browser-home{padding:50px 55px;background:radial-gradient(ellipse at 90% 10%,#d4dfe7,transparent 65%),var(--panel)}.browser-home>small{letter-spacing:2px;font-size:10px;color:var(--muted)}.browser-home h1{margin-top:16px}.browser-help{font-size:11px!important}.browser-frame{flex:1;min-height:0}.setting-avatar{background:#a2b7ce!important;margin:0 0 14px!important;color:#fff;width:52px;height:52px;font-size:22px}.settings-current{padding:12px 0;display:flex;gap:10px;align-items:center}.settings-main h3{font-size:13px}.wallpapers{flex-wrap:wrap}.wallpapers button{width:91px;height:62px}.settings-footnote{font-size:11px;color:var(--muted);line-height:1.8}.calendar-shell{display:flex;min-height:0;height:100%}.calendar-main{flex:1;display:flex;flex-direction:column;min-width:0}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:9px 0;text-align:center;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));flex:1;min-height:0}.calendar-day{border-radius:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:5px;text-align:right;display:flex;flex-direction:column;align-items:end;gap:3px;overflow:hidden}.calendar-day>span{font-size:11px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.calendar-day.outside{color:#aaabb2;background:#88888805}.calendar-day.today>span{background:#ec5c61;color:white}.calendar-day.selected{box-shadow:inset 0 0 0 2px #4c90de}.calendar-day small{font-size:8px;background:#5b96df20;color:#3470b9;padding:2px 3px;border-radius:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda{width:210px;background:var(--side);padding:24px 19px;overflow:auto;border-left:1px solid var(--line)}.agenda>small{font-size:10px;color:var(--muted);line-height:1.6}.agenda h2{margin:8px 0 24px;font-size:23px}.agenda-events{margin-top:26px}.agenda-events>button{display:block;text-align:left;width:100%;border-left:3px solid #5b90cb;margin:12px 0;border-radius:0;padding:8px 10px}.agenda-events strong{display:block;font-size:12px;margin-top:5px}.agenda-events small{color:var(--muted);font-size:10px}.agenda-events p{font-size:12px;color:var(--muted);line-height:1.8}.reminders-main{padding:30px;overflow:auto;flex:1}.reminders-main h1{font-size:29px;color:#4381c9;margin:0 0 25px;display:flex;justify-content:space-between}.reminder-form{display:flex;gap:8px;margin-bottom:25px}.reminder-form input[name=title]{flex:1;min-width:90px}.reminder-form input[type=date]{width:135px}.reminder-list{display:flex;flex-direction:column}.reminder-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.reminder-row>div{flex:1}.reminder-row strong{font-size:13px;font-weight:500}.reminder-row small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.contacts-list{width:220px;flex-shrink:0;background:var(--side);padding:18px 12px;overflow:auto;border-right:1px solid var(--line)}.contacts-list>input{width:100%;margin-bottom:12px}.contacts-list>button{width:100%;display:block;text-align:left;padding:10px}.contacts-list>button.active{background:#3686df20}.contact-detail{flex:1;padding:40px;overflow:auto}.contact-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(#c8d4df,#8ea4b7);display:grid;place-items:center;font-size:35px;color:white}.contact-detail h1{font-size:27px;letter-spacing:-.7px}.contact-fields{margin:30px 0}.contact-fields label{display:block;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding:15px 0}.contact-fields a{display:block;font-size:14px;margin-top:6px;text-decoration:none}.contact-fields p{white-space:pre-wrap;user-select:text;font-size:13px;line-height:1.8}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;margin:17px 0;color:var(--muted)}.contact-form textarea{border:1px solid var(--line);border-radius:7px;height:90px;padding:10px;background:#88888805}.terminal{flex:1;overflow:auto;background:#1a1c22;color:#d8e7d8;padding:17px;font:12px/1.7 Consolas,'Courier New',monospace;user-select:text;cursor:text}.terminal-output{white-space:pre-wrap;overflow-wrap:anywhere}.terminal-prompt{display:flex;gap:9px;align-items:baseline;margin-top:4px}.terminal-prompt label{color:#90c8a1;white-space:nowrap;max-width:70%;overflow:hidden;text-overflow:ellipsis}.terminal-prompt input{flex:1;background:none;border:0;border-radius:0;color:#e3e8e2;padding:0;font:inherit;outline:none;min-width:70px}#launchpad{position:absolute;inset:32px 0 0;z-index:10000;background:#152a3765;backdrop-filter:blur(35px) saturate(1.3);display:flex;flex-direction:column;align-items:center;padding:7vh 8vw;color:white;animation:launch-in .25s ease-out}#launch-search{width:260px;color:white;background:#ffffff23;border:1px solid #ffffff4a;text-align:center;flex-shrink:0}#launch-search::placeholder{color:#ffffffaa}#launch-grid{display:grid;grid-template-columns:repeat(6,110px);gap:38px 35px;margin:6vh auto;overflow:auto;max-width:95vw}#launch-grid>button{display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;font-size:12px;padding:5px}#launch-grid .app-icon{width:76px;height:76px}#launchpad>small{font-size:10px;color:#fff9;margin-top:auto}#lock{will-change:transform,opacity;backdrop-filter:blur(25px);background:linear-gradient(#173b3510,#0d241d50),var(--wall) center/cover}#lock-time{font-size:100px;font-weight:650;letter-spacing:-5px;text-shadow:0 5px 30px #0001}#lock-date{font-size:20px}.lock-bottom .avatar{box-shadow:0 5px 22px #0002}.lock-bottom small{letter-spacing:.3px}#unlock-direct{padding:10px 20px;border:1px solid #ffffff30;border-radius:20px;font-size:12px;backdrop-filter:blur(15px)}#unlock-form{justify-content:center}#unlock-form input{border-radius:18px;font-size:12px;padding:9px 15px}#unlock-form button{border-radius:50%;width:35px;height:35px;padding:0}.search-panel img.app-icon{width:30px;height:30px}dialog p{white-space:pre-line}.dark{--panel:#29292d;--side:rgba(37,38,42,.94);--text:#e8e8ec;--muted:#9797a2;--line:#ffffff12}.dark .titlebar{background:linear-gradient(#38383d,#303035)}.dark #menubar{background:#242a28ad;color:#eee}.dark .music-sidebar{background:#242427}.dark .music-player{background:#2d2d33d0;border-color:#ffffff20;box-shadow:0 7px 25px #0005}.dark .notes-list{background:#2c2b27}.dark .notes-list button.active{background:#65592e}.dark .popover{background:#323339ed;border-color:#ffffff25;color:#eee}.dark .dock-item.running:after{background:#eee}.dark .music-profile span{background:#574d4d;color:#cabbb0}.dark .album-art{border-color:#ffffff12}.dark .music-source-note{color:#8a8993}.dark .browser-home{background:radial-gradient(ellipse at 90% 10%,#32404e,transparent 65%),var(--panel)}@keyframes menu-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:.5}to{opacity:1}}@keyframes launch-in{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){#dock img.app-icon{width:44px;height:44px}#dock{gap:1px;padding:6px}.music-sidebar{width:165px}.music-library{padding:20px 18px 130px}.music-player{left:10px;right:10px;gap:4px}.music-volume{width:43px!important}.now-playing>img{display:none}#launch-grid{grid-template-columns:repeat(4,95px);gap:30px}.agenda{width:175px}.calendar-day small{font-size:7px}.music-player .playback-controls button{font-size:14px;padding:4px}.contact-detail{padding:25px}}@media(max-width:600px){#dock img.app-icon{width:32px;height:32px}.dock-divider{margin:0 1px}#dock{border-radius:13px}.window{min-width:320px}.music-sidebar{width:135px;padding:15px 8px}.music-sidebar>button{font-size:11px;padding:7px 6px}.music-player{border-radius:14px;bottom:9px;gap:2px}.music-player .now-playing{flex-basis:70px}.music-player>.music-volume{display:none}.album-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.agenda{width:140px;padding:15px}.toolbar{padding:0 10px}.contacts-list{width:150px}.contact-detail{padding:20px}.reminder-form{flex-wrap:wrap}.sidebar{width:140px}.notes-list{width:140px}#launch-grid{grid-template-columns:repeat(3,80px);gap:25px}#launch-grid .app-icon{width:60px;height:60px}.photo-edit{gap:8px;flex-wrap:wrap}.photo-bottom{flex-wrap:wrap}.photo-bottom button{font-size:10px}.music-library-title h1{font-size:24px}.window-title{padding-right:40px}.setting-row{flex-wrap:wrap}.terminal-prompt label{max-width:55%}}

/* Magnification occupies real flex space, so adjacent icons never overlap. */
#dock{--dock-size:clamp(22px,calc((100vw - 100px)/14),55px);gap:3px;align-items:flex-end}
#dock .dock-item{--dock-scale:1;flex:0 0 auto;transform:translateY(0);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
#dock .dock-item img.app-icon{width:calc(var(--dock-size)*var(--dock-scale));height:calc(var(--dock-size)*var(--dock-scale));transition:width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1)}
#dock .dock-item:hover{--dock-scale:1.22;transform:translateY(-8px)}
#dock .dock-item:has(+.dock-item:hover),#dock .dock-item:hover+.dock-item{--dock-scale:1.08;transform:translateY(-3px)}
#dock .dock-item:before{bottom:calc(var(--dock-size)*var(--dock-scale) + 18px)}
