:root{--focus-yellow:#f6d969}button,input,textarea{touch-action:manipulation}
.note-editor ::selection,.note-editor::selection,.notes-list ::selection{background:#f5d65b;color:#29251b}
#dock{--dock-size:clamp(18px,calc((100vw - 52px)/(var(--dock-count,14)*1.36)),48px)}#dock .dock-art{transition:transform 300ms cubic-bezier(.16,1,.3,1)}#dock .dock-item:before{transition:opacity 160ms}
#dock [data-dock=trash]{--art-scale:1}.utility-icon{border-radius:22%;border:1px solid #ffffff55;background:linear-gradient(145deg,#a1b8d8,#4c6b9e);color:white;box-shadow:inset 0 1px 1px #fff8,0 2px 4px #0002}.utility-paint{background:linear-gradient(135deg,#f9bc76,#df6f93,#8774cb)}.utility-tasks{background:linear-gradient(#35444a,#1d282d);color:#8debba}.utility-store{background:linear-gradient(#5daaff,#2861dd)}.utility-editor{background:linear-gradient(145deg,#2d475e,#1d2c3d);color:#85d7f5}.utility-git{background:linear-gradient(145deg,#ffb072,#df634d)}.utility-textedit,.utility-documents{background:linear-gradient(#fff,#dce5ee);color:#6d849a}.utility-archive{background:linear-gradient(#d6b88a,#a3855c)}
#dock .utility-icon{width:100%;height:100%}#dock .utility-icon svg{width:60%;height:60%}.task-row .app-icon{width:30px;height:30px}
.app-sheet{position:absolute;inset:51px 0 0;z-index:150;background:#10192326;display:flex;align-items:flex-start;justify-content:center;border-radius:0 0 12px 12px}.app-sheet form{margin-top:0;width:min(390px,90%);padding:24px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 15px 45px #0004;animation:sheet-in 180ms ease-out}.app-sheet h3{margin:0 0 10px}.app-sheet p{white-space:pre-line;font-size:12px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.app-sheet input{width:100%}.app-sheet footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#desktop>.app-sheet{z-index:19000;inset:32px 0 0}.window .titlebar{flex-shrink:0}
@keyframes sheet-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
body.immersive #menubar{transform:translateY(-29px)}body.immersive #dock{transform:translate(-50%,calc(100% + 8px))}#menubar{transition:transform 220ms ease}body.immersive #dock{transition:transform 240ms ease}body.immersive #menubar:hover,body.immersive.reveal-bars #menubar{transform:translateY(0)}body.immersive #dock:hover,body.immersive.reveal-bars #dock{transform:translate(-50%,0)}
#app-switcher{position:fixed;z-index:30000;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:12px;max-width:90vw;overflow:auto;padding:20px;border:1px solid #ffffff50;border-radius:23px;background:#e7eaf1d9;backdrop-filter:blur(24px);box-shadow:0 25px 90px #0005;animation:menu-in 140ms ease-out}#app-switcher button{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:108px;padding:15px 12px}#app-switcher .selected{background:#ffffff80;box-shadow:0 0 0 2px #7e96b650}#app-switcher small{font-size:9px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark #app-switcher{background:#282c34e8;color:white}.dark #app-switcher .selected{background:#ffffff20}
.thumb{width:auto;height:auto;max-width:76px;max-height:58px;object-fit:contain}.file .thumb{align-self:center}.file-grid.list .thumb{width:34px;height:29px;object-fit:contain}#desktop-files .thumb{max-width:76px;max-height:58px}
.photo-viewer{min-height:0;overflow:hidden}.photo-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0;overflow:auto;padding:14px}.photo-stage img{display:block;flex:none;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;padding:0}.photo-stage.actual-size{display:block}.photo-stage.actual-size img{max-width:none;max-height:none;margin:auto}.photo-filmstrip{flex-shrink:0}.photo-edit,.photo-bottom{flex-shrink:0}.photo-bottom{flex-wrap:wrap;gap:5px}.photo-zoom{display:flex;align-items:center;gap:5px}.photo-zoom input{width:75px!important}.photo-filmstrip img{object-fit:contain}.photo-stage img{transition:width 130ms ease,height 130ms ease}
.music-theater{height:100%;overflow:auto;color:#f7f7fa;background:radial-gradient(ellipse at 50% 15%,#5a5675,transparent 75%),#1b1b23}.music-theater .toolbar{border-color:#ffffff15}.music-theater-content{min-height:calc(100% - 52px);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;gap:12px}.music-theater-content>img{width:min(38vh,320px);height:min(38vh,320px);border-radius:12px;box-shadow:0 15px 50px #0005;object-fit:cover}.music-theater h1{margin:12px 0 0;font-size:27px}.music-theater p{margin:0;color:#c3c1d0}.theater-controls{display:flex;align-items:center;gap:28px}.theater-controls button{padding:12px}.music-theater input{width:min(440px,80%)!important}.music-theater small{color:#c3c1d0;font-size:11px}
.segmented{display:flex;gap:2px;padding:3px;border-radius:8px;background:#88888818;flex-shrink:0}.segmented button{padding:5px 9px;font-size:11px}.segmented .active{background:var(--panel);box-shadow:0 1px 3px #0002}.calendar-main .toolbar{height:auto;min-height:58px;flex-wrap:wrap;padding:7px 12px}.calendar-main .toolbar h2{font-size:16px}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:25px;padding:24px;overflow:auto}.year-grid h3{color:#d65351;margin:4px 0 12px}.mini-month{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mini-month button{font-size:10px;padding:5px 2px;position:relative}.mini-month small{font-size:9px;color:var(--muted)}.mini-month .has-event:after{content:'';position:absolute;bottom:1px;left:48%;width:3px;height:3px;border-radius:50%;background:#e4655f}.day-timeline{overflow:auto;flex:1;padding:15px}.hour-row{display:grid;grid-template-columns:65px 1fr;min-height:55px;border-top:1px solid var(--line)}.hour-row>button{font-size:10px;color:var(--muted);align-self:start}.day-event{display:block;background:#6b95cb25;color:var(--text);border-left:3px solid #5b88c2;margin:3px;padding:8px 12px}.reminder-form input[type=time]{width:110px}.reminder-row input[type=checkbox]{appearance:none;width:20px;height:20px;border:2px solid #a0a3ad;border-radius:50%;padding:0;flex-shrink:0;transition:background 150ms,border-color 150ms}.reminder-row input:checked{background:#3988ec;border-color:#3988ec;box-shadow:inset 0 0 0 3px var(--panel)}.reminder-row.completed{opacity:.5;transition:opacity 180ms}.reminder-row.completed strong{text-decoration:line-through}.reminder-row strong{cursor:inherit}.reminder-form{flex-wrap:wrap}
.document-stage{flex:1;min-height:0;overflow:auto;background:#8a8d9322;padding:25px;text-align:center}.document-stage canvas{display:block;max-width:100%;margin:auto;background:white;box-shadow:0 3px 16px #0002}.slide-preview{max-width:100%;height:auto;box-shadow:0 3px 16px #0002}.text-document{padding:24px;flex:1;line-height:1.7;font-size:14px;overflow:auto}.code-pane{display:flex;flex:1;min-width:0;background:#1d232d;color:#dce5f2;overflow:hidden}.line-numbers{width:49px;flex-shrink:0;overflow:hidden;margin:0;padding:18px 9px;text-align:right;color:#657185;font:12px/1.7 Consolas,monospace;user-select:none}.code-editor{flex:1;min-width:0;padding:18px 12px;color:#dce5f2;white-space:pre;overflow:auto;tab-size:2;font:12px/1.7 Consolas,monospace}.code-editor::selection{background:#3c5c86}
.paint-toolbar{height:auto;min-height:52px;flex-wrap:wrap;padding:8px;gap:6px}.paint-toolbar input[type=color]{width:30px;height:28px;padding:2px}.paint-toolbar input[type=range]{width:75px}.paint-workspace{flex:1;overflow:auto;padding:25px;background-color:#b6bac1;background-image:linear-gradient(45deg,#ffffff18 25%,transparent 25%),linear-gradient(-45deg,#ffffff18 25%,transparent 25%);background-size:20px 20px}.paint-workspace .canvas-container{box-shadow:0 4px 22px #0003}.task-list,.git-main,.utility-main{padding:22px;overflow:auto;flex:1}.task-header{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:10px}.task-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.task-row strong{min-width:110px}.task-row small{color:var(--muted)}.task-row>span:not(.app-icon){margin-left:auto}.task-row>button{color:#d85858}.task-row .utility-icon svg{width:20px;height:20px}
.store-main{overflow:auto;padding:34px}.store-main>small{font-size:9px;letter-spacing:2px;color:var(--muted)}.store-main>h1{font-size:32px;letter-spacing:-1px;margin:12px 0}.store-main>p{color:var(--muted)}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:30px}.store-grid article{border:1px solid var(--line);padding:22px;border-radius:14px;background:#88888808}.store-grid h2{font-size:17px}.store-grid p{font-size:12px;line-height:1.6;min-height:75px;color:var(--muted)}.git-changes>div,.git-log>div{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.git-changes span{margin-left:auto;color:var(--muted)}.git-log strong{flex:1;white-space:pre-line}.git-log small{color:var(--muted)}.git-status{padding:15px;border-radius:9px;background:#7897bd16}.storage-file{display:flex;align-items:center;gap:15px;padding:7px 0;border-bottom:1px solid var(--line)}.storage-file span{flex:1;overflow-wrap:anywhere}.shortcut-list{font-size:11px;line-height:2;color:var(--muted)}.storage-settings input[type=file]{max-width:180px;font-size:10px}.storage-settings details{font-size:11px}.history-heading{display:flex;justify-content:space-between;align-items:center}.browser-history button{width:100%;display:flex;text-align:left;justify-content:space-between;gap:20px;padding:11px;border-bottom:1px solid var(--line)}.browser-history span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-history small{flex-shrink:0;color:var(--muted)}.external-link{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;background:var(--accent);color:white}
@media(prefers-reduced-motion:reduce){#dock .dock-art,#menubar,body.immersive #dock,.photo-stage img,.reminder-row{transition:none}.app-sheet form,#app-switcher{animation:none}}
/* Keep the transcript and editable prompt on the same baseline and rhythm. */
.terminal{font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;user-select:text}
.terminal-output{white-space:normal;margin:0}
.terminal-line{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.65em}
.terminal-prompt{display:flex;align-items:baseline;gap:1ch;margin:0;padding:0;line-height:1.65}
.terminal-prompt[hidden]{display:none}
.terminal-prompt label,.shell-prompt{color:#8fcea4;font:inherit;white-space:pre-wrap;max-width:none}
.terminal-prompt input{flex:1;min-width:5ch;border:0!important;padding:0!important;margin:0;background:transparent!important;color:#e6e9e7;box-shadow:none!important;font:inherit;line-height:inherit;height:auto;outline:none;caret-color:#8fcea4}
.terminal::selection,.terminal *::selection{background:#a4c9af55}
.music-theater-content{box-sizing:border-box}
.music-theater-content>img{width:min(32cqh,280px);height:auto;aspect-ratio:1}
.window[data-app=music] .win-content{container-type:size}

.terminal{white-space:normal}.terminal-stop{margin-top:10px;color:#8fcea4;border:1px solid #8fcea455;background:#8fcea412;border-radius:5px;padding:5px 9px;font:inherit}
.window[data-app=browser] .browser-toolbar{gap:7px;padding:10px 14px;min-height:54px}
.window[data-app=browser] .web-address{flex:1;min-width:100px;text-align:center;border-radius:8px;background:var(--panel);font-size:12px}
.reader-tools{display:flex;align-items:center;gap:8px;padding:5px 16px;border-bottom:1px solid var(--line);min-height:34px;font-size:11px;color:var(--muted)}
.reader-tools button{padding:2px 8px}.reader-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}
.reader-body{flex:1;min-height:0;overflow:auto;position:relative;background:var(--panel)}
.reader-home{max-width:740px;margin:0 auto;padding:45px 35px 40px}.reader-eyebrow{letter-spacing:2px;font-size:10px;font-weight:650;color:var(--muted)}
.reader-home h1{font-size:35px;line-height:1.15;margin:14px 0}.reader-home>p{color:var(--muted);line-height:1.7;max-width:580px}.reader-home>small{display:block;line-height:1.6;color:var(--muted);margin-top:30px}
.reader-search{display:flex;gap:8px;margin:25px 0 12px}.reader-search input{flex:1;min-width:0;border-radius:9px;padding:11px}.reader-search button{border-radius:9px;padding:9px 17px}
.reader-home-actions{display:flex;gap:10px;margin-bottom:30px}.reader-history-link{display:flex;width:100%;align-items:center;gap:10px;text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.reader-loading,.reader-error{max-width:590px;margin:65px auto;padding:24px;text-align:center}.reader-error p{line-height:1.7;color:var(--muted)}.reader-error small{display:block;overflow-wrap:anywhere;color:var(--muted)}.reader-error>div{display:flex;gap:12px;justify-content:center;margin-top:24px}.reader-error button{padding:9px 16px}
.reader-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:reader-spin .7s linear infinite}@keyframes reader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.reader-spinner{animation:none}}

/* Isolated interactive web surface */
.browser-content{position:relative;flex:1;min-height:0;overflow:hidden}.browser-content>.web-body{height:100%;overflow:auto}.browser-frame-slot{height:100%;width:100%;background:#fff}.browser-engine{display:block;width:100%;height:100%;border:0;background:#fff}.browser-content [hidden]{display:none!important}

.browser-warning{flex:none;background:#fff2ce;color:#654817;font-size:12px;line-height:1.45;padding:9px 16px;border-bottom:1px solid #e5cd91}.browser-warning[hidden]{display:none}
