/* Desktop chrome. Original browser artwork; reference provenance in README.md. */
:root {
  color-scheme: light;
  --gg-menu-h: calc(28px + env(safe-area-inset-top));
  --gg-dock-h: 78px;
  --menu-h: var(--gg-menu-h);
  --dock-h: var(--gg-dock-h);
  --gg-sidebar-w: 180px;
  --gg-blue: #087cf0;
  --gg-text: #242424;
  --gg-secondary: #6e6c6a;
  --text: #242424;
  --muted: #6e6c6a;
  --gg-wallpaper-brightness: 1;
  --gg-content: #fcfcfc;
  --gg-edge: rgb(255 255 255 / .65);
  --gg-popover: rgb(245 243 240 / .86);
  --gg-sep: rgb(0 0 0 / .13);
}
html,body {font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;color:var(--text);background:#756b5d}
button,input {font:inherit}
button {cursor:default}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {outline:2px solid #087cf0;outline-offset:3px}
.desktop-shell {min-height:0;height:100dvh}
.wallpaper {background:#756b5d url('./assets/golden-ribbons.svg') center center / cover no-repeat;filter:brightness(var(--gg-wallpaper-brightness))}
.wallpaper::before,.wallpaper::after,.wallpaper-glow,.wallpaper-noise {display:none}
.glass {background:linear-gradient(150deg,rgb(255 255 255 / .24),transparent 48%),var(--gg-popover);border:1px solid var(--gg-edge);box-shadow:inset 0 1px 0 #ffffff70,0 12px 35px #0003;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
/* Menu bar retains system density, including a safe-area top inset. */
.menu-bar {height:var(--gg-menu-h);padding:env(safe-area-inset-top) 12px 0;border:0;border-radius:0;color:white;text-shadow:0 1px 3px #0006;background:rgb(38 31 25 / .12);box-shadow:none;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.menu-left,.menu-right {gap:3px}
.menu-trigger {height:24px;min-height:24px;padding:1px 8px;font-size:13px;font-weight:450;border-radius:5px}
.menu-owner {font-weight:650}
.apple-mark {display:grid;place-items:center;width:27px;padding:0}
.apple-symbol {display:block;width:14px;height:17px;fill:currentColor}
.menu-right {gap:10px}
.status-icon,.gg-status-button {width:19px;height:24px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:inherit;border-radius:5px}
.status-icon svg,.gg-status-button svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gg-status-button:hover,.gg-status-button.active {background:#ffffff28}
.menu-clock {min-width:0;font-size:12px;white-space:nowrap}
.battery {width:24px;height:12px}
.menu-popover {top:calc(var(--gg-menu-h) + 3px);min-width:240px;max-width:calc(100vw - 12px);padding:5px;border-radius:10px;text-shadow:none;color:var(--text);animation:ggPop .14s ease-out}
.menu-popover button,.gg-context-menu button {min-height:25px;padding:4px 9px;border-radius:5px;font-size:13px}
.menu-popover button:hover:not(:disabled),.menu-popover button:focus-visible,.gg-context-menu button:hover:not(:disabled),.gg-context-menu button:focus-visible {background:var(--gg-blue);color:white;outline:none}
.menu-popover button:disabled {color:#96938f;background:transparent}
.menu-popover .separator {background:var(--gg-sep);margin:5px 7px}
/* Finder desktop folders use the same vector at every density. */
.desktop {inset:var(--gg-menu-h) 0 0}
.desktop-icons {inset:22px 18px calc(var(--gg-dock-h) + 16px) auto;width:210px;grid-template-columns:repeat(2,98px);grid-auto-rows:104px;gap:10px 10px;align-content:start;justify-content:end;overflow-y:auto;scrollbar-width:none}
.desktop-icon {width:98px;gap:3px;padding:2px 0;border-radius:5px;align-self:start}
.desktop-icon:hover,.desktop-icon.selected {background:transparent}
.folder-art {width:76px;height:63px;background:url('./assets/icons/folder.svg') center / contain no-repeat;filter:drop-shadow(0 3px 2px #0003);transform:none;transition:none}
.folder-art::before,.folder-art::after,.folder-glyph {display:none}
.desktop-icon:hover .folder-art {transform:none}
.desktop-icon.selected .folder-art {background-color:#0002;border-radius:5px;outline:1px solid #fff4}
.desktop-icon .label {max-width:98px;padding:2px 4px;border-radius:3px;font-size:12px;line-height:1.18;font-weight:550;text-shadow:0 1px 3px #000b,0 0 5px #0005}
.desktop-icon.selected .label {background:#076bcd;color:white}
/* One backdrop surface per window; the sidebar occupies its full height. */
.finder-window {display:grid;grid-template-columns:var(--gg-sidebar-w) minmax(0,1fr);grid-template-rows:54px minmax(0,1fr) 27px;width:min(980px,76vw);height:min(650px,calc(100dvh - 145px));min-width:620px;min-height:min(360px,calc(100dvh - 130px));max-width:calc(100vw - 12px);max-height:calc(100dvh - var(--gg-menu-h) - 90px);border:1px solid #ffffff8c;border-radius:14px;background:linear-gradient(135deg,#ffffffa8,#e9e4dcbd);box-shadow:0 22px 65px #0004,0 3px 10px #0002,inset 0 1px 0 #fff9;backdrop-filter:blur(25px) saturate(130%);-webkit-backdrop-filter:blur(25px) saturate(130%);overflow:hidden;resize:both;animation:windowOpen .22s cubic-bezier(.2,.8,.2,1)}
.finder-window::after {content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #00000012}
.finder-window.inactive {filter:none;box-shadow:0 12px 35px #0003,0 2px 8px #0002}
.finder-window.inactive .window-title,.finder-window.inactive .gg-toolbar-btn {color:#999}
.finder-window.inactive .traffic {background:#c4c3c2;border-color:#b8b7b6}
.finder-window.maximized {inset:6px 8px calc(var(--gg-dock-h) + 8px) 8px!important;max-height:none;border-radius:12px}
.window-toolbar {grid-column:2;grid-row:1;height:54px;padding:0 14px;gap:7px;border-bottom:1px solid #0000000d;background:#f8f7f4b8;box-shadow:none;backdrop-filter:none;cursor:default;touch-action:none}
.window-toolbar:active {cursor:default}
.traffic-lights {position:absolute;left:20px;top:21px;gap:8px;margin:0;z-index:4}
.traffic {width:12px;height:12px;border:1px solid #0002;box-shadow:inset 0 .5px 0 #ffffff50}
.traffic::before {content:"";position:absolute;inset:-5px}
.traffic::after {inset:0;font-size:10px;line-height:10px;color:#0008}
.traffic.max::after {font-size:8px}
.window-title-wrap {gap:0;min-width:0}
.window-title {font-size:13px;font-weight:650;max-width:225px}
.window-subtitle,.mini-folder {display:none}
.window-spacer {min-width:0}
.gg-toolbar-actions {display:flex;gap:2px;margin-right:6px;flex-shrink:0}
.gg-toolbar-btn,.gg-search,.finder-view {display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;padding:0;border:0;background:transparent;color:#595754;border-radius:7px}
.gg-toolbar-btn:disabled {opacity:.3}
.gg-toolbar-btn:hover:not(:disabled),.gg-search:hover,.finder-view:hover {background:#0000000a}
.gg-toolbar-btn svg,.gg-search svg,.finder-view svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.gg-search {margin-left:3px}
.gg-search span {display:none}
.view-pill {display:flex;gap:1px;padding:2px;border:1px solid #ffffff70;border-radius:8px;background:linear-gradient(#fff9,#fff2);box-shadow:0 1px 2px #00000008}
.finder-view {width:27px;height:25px;border-radius:5px}
.finder-view[aria-pressed=true] {background:#0000000d;box-shadow:inset 0 0 0 .5px #00000008}
.gg-window-body {display:contents}
.gg-sidebar {grid-column:1;grid-row:1 / 4;min-width:0;overflow:auto;padding:65px 9px 16px;background:linear-gradient(135deg,#ffffff25,#b8b0a212);border-right:1px solid #00000008}
.gg-sidebar-group {margin-bottom:19px}
.gg-sidebar-label {font-size:11px;font-weight:600;color:#746f68;padding:0 10px 5px}
.gg-sidebar-item {width:100%;height:29px;display:flex;align-items:center;gap:8px;padding:0 9px;border:0;background:transparent;color:#35322e;border-radius:6px;font-size:12px;text-align:left}
.gg-sidebar-item:hover {background:#00000006}
.gg-sidebar-item.active {background:#a5a19938;font-weight:550}
.gg-side-icon {width:17px;height:17px;display:grid;place-items:center;color:var(--side-color)}
.gg-side-icon svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.window-content {grid-column:2;grid-row:2;height:auto;min-height:0;padding:0 18px 18px;background:var(--gg-content);scrollbar-color:#0004 transparent;font-size:12px;overscroll-behavior:contain}
.library-header {position:relative;top:auto;display:flex;align-items:center;gap:12px;margin:0 -18px 18px;padding:13px 18px 10px;background:transparent;border-bottom:1px solid #00000008}
.library-header h2 {font-size:13px;font-weight:600;letter-spacing:0}
.library-header p {font-size:11px;line-height:1.4;color:var(--muted);margin-top:4px;max-width:620px}
.collection-count {font-size:10px;color:var(--muted);padding:0;border:0;background:transparent;white-space:nowrap}
.finder-status {grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 15px;background:#f4f3f1e6;border-top:1px solid #0000000a;font-size:10px;color:#73706b;white-space:nowrap;overflow:hidden}
/* Content is retained, with Finder-sized items and a functional list view. */
.project-gallery {grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px 12px}
.project-card {display:flex;flex-direction:column;gap:8px;padding:8px 6px;min-width:0;border:0;border-radius:5px;background:transparent;text-align:center;box-shadow:none;align-items:center;transition:background .12s}
.project-card:hover {transform:none;background:#00000004}
.project-mark,.project-card:nth-child(2n) .project-mark {width:51px;height:61px;flex-shrink:0;border:1px solid #c8d9e5;border-radius:4px;background:linear-gradient(135deg,#fbfdff,#e3eef8);box-shadow:0 2px 3px #0001;color:#4e839f;font-size:15px;letter-spacing:-.04em;font-weight:500;position:relative}
.project-mark::after {content:"";position:absolute;right:-1px;top:-1px;width:13px;height:13px;background:linear-gradient(45deg,#cfdfec 49%,#fcfcfc 51%);border-bottom-left-radius:3px}
.project-card h3 {font-size:12px;font-weight:550;line-height:1.3;margin:4px 0}
.project-card .category {font-size:9px;color:#85817b;line-height:1.4}
.project-card p {font-size:10px;line-height:1.4;margin:6px 0;color:var(--muted)}
.open-link {padding:3px 7px;font-size:10px;background:#f1f1f1;border:1px solid #00000010;border-radius:4px;color:#3c3a37}
.open-link:hover {background:#e7f1ff;color:#086cce}
.finder-item {border-radius:5px;outline-offset:1px}
.finder-item.selected {background:#e8f1ff}
.finder-item.selected h3 {color:#0763bc}
.media-strip {display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:20px 18px;overflow:visible;padding:6px 0 16px}
.media-item {min-width:0;flex-basis:auto;padding:5px;text-align:center}
.media-button {text-align:center}
.media-cover,.media-cover.has-real-cover {width:min(100%,142px);margin-inline:auto;min-height:0;aspect-ratio:2/3;border-radius:3px;box-shadow:0 2px 5px #0003!important;border:1px solid #0001;transform:none}
.media-cover:hover {transform:none}
.media-cover::before,.has-real-cover::after {display:none}
.media-cover.has-real-cover>img {object-fit:contain;transform:none!important;filter:none!important;background:#eee}
.media-item h3 {font-size:12px;font-weight:550;line-height:1.3;margin:8px 0 4px}
.media-item p {font-size:10px;line-height:1.45;color:var(--muted);margin-top:5px}
.media-meta {font-size:10px;color:#85817b;line-height:1.4}
.cover-fallback {color:#6c6a66;font-size:12px}
.book-cover {border-radius:3px 5px 5px 3px;box-shadow:inset 4px 0 #0002,0 3px 5px #0002;width:113px;transform:none;color:white}
.book:hover .book-cover {transform:none}
.bookshelf {grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px;padding:10px 0 24px;align-items:start}
.bookshelf::after {display:none}
.book {padding:8px}
.book h3 {font-size:12px;font-weight:550}
.book p {font-size:10px;line-height:1.5}
.photo-grid {grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}
.photo-tile {border-radius:3px;box-shadow:0 2px 5px #0002;color:white}
.music-layout {grid-template-columns:minmax(175px,.7fr) minmax(0,1.3fr);gap:18px}
.now-playing {min-height:0;border:0;border-radius:6px;background:#f1f1f1;padding:15px}
.now-playing::after {display:none}
.big-album.has-real-cover {width:min(170px,100%);border-radius:4px;box-shadow:0 3px 8px #0002!important}
.track {grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:8px 4px;border-radius:4px;border-bottom:1px solid #00000008}
.track strong {font-size:12px;font-weight:550}
.track small,.track time {font-size:10px}
.track:hover {transform:none;background:#00000004}
.album-thumb.has-real-cover {width:36px;height:36px;min-width:36px;border-radius:3px;box-shadow:none!important}
.player-btn {background:#00000008;color:#383634}
.player-btn.primary {background:#e2e2e2;color:#383634}
.window-content[data-view=list] .project-gallery,.window-content[data-view=list] .media-strip,.window-content[data-view=list] .bookshelf {display:flex;flex-direction:column;gap:0}
.window-content[data-view=list] .project-card {display:grid;grid-template-columns:35px minmax(0,1fr);text-align:left;gap:15px;padding:9px 10px;border-bottom:1px solid #00000008}
.window-content[data-view=list] .project-mark {width:28px;height:35px;font-size:10px}
.window-content[data-view=list] .project-card .category {float:right;max-width:40%;margin-left:10px}
.window-content[data-view=list] .project-card p {margin:4px 0}
.window-content[data-view=list] .media-item {text-align:left;padding:9px 8px;border-bottom:1px solid #00000008;min-height:89px}
.window-content[data-view=list] .media-button {text-align:left}
.window-content[data-view=list] .media-cover {width:44px;float:left;margin:0 14px 0 0}
.window-content[data-view=list] .media-item h3 {margin:3px 0}
.window-content[data-view=list] .book {text-align:left;padding:10px;border-bottom:1px solid #00000008}
.window-content[data-view=list] .book-cover {float:left;width:40px;height:54px;margin:0 14px 0 0;padding:4px}
.window-content[data-view=list] .book-cover b {font-size:12px}
.window-content[data-view=list] .book-cover small {display:none}
/* Dock icons are local vectors, never generic symbol tiles. */
.dock-wrap {bottom:max(7px,env(safe-area-inset-bottom));max-width:calc(100vw - 12px)}
.dock {position:relative;min-height:67px;padding:5px 7px 7px;gap:3px;border-radius:19px;background:linear-gradient(180deg,#fff5,#ffffff1a 48%,#ffffff32),#d6d0c454;border:1px solid #ffffff8c;box-shadow:inset 0 1px 0 #fff7,inset 0 -1px 0 #0000000d,0 5px 18px #0002;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);overflow:visible;max-width:none}
.dock-app {flex:0 0 52px;width:52px;height:52px;transform:none;transition:width .1s ease-out,flex-basis .1s ease-out;display:flex;align-items:flex-end;justify-content:center;will-change:auto}
.dock-app:hover,.dock-app:hover+.dock-app,.dock-app:has(+.dock-app:hover) {transform:none}
.dock-app.bounce {animation:none}
.dock-app .dock-icon {flex-shrink:0;width:52px;height:52px;border:0;border-radius:0;overflow:visible;background:transparent!important;box-shadow:none;transform-origin:center bottom;transition:transform .11s ease-out}
.dock-icon::before,.dock-icon::after {display:none}
.dock-art {display:block;width:100%;height:100%;filter:drop-shadow(0 2px 2px #0003);pointer-events:none}
.dock-app::after {bottom:-4px;width:3px;height:3px;background:#34312a;box-shadow:none}
.gg-dock-separator {width:1px;height:39px;background:#0003;align-self:center;margin:0 5px}
.tooltip {bottom:calc(100% + 15px);padding:5px 9px;font-size:12px;font-weight:450;background:#eee9e3e8;color:#333;border:1px solid #fffc;border-radius:7px;box-shadow:0 3px 9px #0002;backdrop-filter:blur(16px);z-index:9;transition:opacity .12s;transform:translateX(-50%)}
/* Quick Look uses a quiet neutral sheet and preserves the existing viewers. */
.viewer-backdrop,.detail-backdrop {background:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.photo-stage,.detail-card {background:#f6f4f0ed;border-radius:14px;color:var(--text);border:1px solid #ffffff9c;max-height:calc(100dvh - 32px);overflow:auto}
.detail-card {width:min(580px,calc(100vw - 24px));padding:24px}
.detail-card h2 {font-size:21px;letter-spacing:-.025em}
.detail-card p {font-size:13px;line-height:1.6}
.detail-close,.viewer-close {background:#e4e1dc;color:#4e4a44}
.detail-hero.has-real-cover {width:min(195px,48vw);max-height:40dvh;border-radius:4px}
.detail-chip {background:#00000006;border:1px solid #00000009;border-radius:5px}
.gg-system-hero {display:grid;place-items:center;height:120px;background:#e3e3e3;color:#555;border-radius:10px}
.gg-system-hero .apple-symbol {width:50px;height:62px}
@keyframes windowOpen {from {opacity:0;transform:translateY(7px) scale(.975)} to {opacity:1;transform:none}}
@keyframes windowClose {to {opacity:0;transform:scale(.97)}}
@keyframes minimizeToDock {to {opacity:0;transform:translate(var(--gg-min-x,0px),var(--gg-min-y,30px)) scale(.08)}}
.finder-window.minimizing {transform-origin:center center;animation:minimizeToDock .23s cubic-bezier(.3,.1,.65,1) forwards}
.finder-window.closing {animation:windowClose .18s ease-in forwards}
@keyframes ggPop {from {opacity:0;transform:translateY(-3px)} to {opacity:1;transform:none}}
@keyframes ggSpot {from {opacity:0;transform:translateX(-50%) translateY(-5px)} to {opacity:1;transform:translateX(-50%)}}
.gg-control-center{position:fixed;z-index:9800;top:34px;right:8px;width:312px;padding:10px;border-radius:17px;color:white;background:linear-gradient(155deg,rgb(255 255 255/.1),transparent 42%),rgb(36 38 44/.76);border:1px solid var(--gg-edge);box-shadow:0 20px 54px rgb(0 0 0/.42),inset 0 1px 0 rgb(255 255 255/.16);backdrop-filter:blur(30px) saturate(138%);-webkit-backdrop-filter:blur(30px) saturate(138%);animation:ggPop .14s ease-out}.gg-control-center.hidden{display:none}.gg-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gg-cc-toggle{min-height:54px;display:flex;align-items:center;gap:8px;padding:8px;border:0;border-radius:11px;background:rgb(255 255 255/.065);color:white;text-align:left}.gg-cc-toggle:hover{background:rgb(255 255 255/.09)}.gg-cc-dot{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:rgb(255 255 255/.12)}.gg-cc-toggle.enabled .gg-cc-dot{background:var(--gg-blue)}.gg-cc-dot svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9}.gg-cc-toggle strong,.gg-cc-toggle small{display:block}.gg-cc-toggle strong{font-size:11.5px}.gg-cc-toggle small{color:rgb(255 255 255/.52);font-size:9.5px}.gg-slider-card,.gg-cc-media{margin-top:7px;padding:9px 11px;border-radius:11px;background:rgb(255 255 255/.065)}.gg-slider-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11.5px;font-weight:610}.gg-slider-head svg{width:14px;height:14px;fill:none;stroke:currentColor}.gg-slider{width:100%;accent-color:white}.gg-cc-media{display:flex;align-items:center;gap:9px}.gg-cc-art{width:35px;height:35px;flex:0 0 auto;border-radius:7px;background:linear-gradient(145deg,#2b2d31,#6f2639)}.gg-cc-media>div:nth-child(2){min-width:0;flex:1}.gg-cc-media strong,.gg-cc-media small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gg-cc-media strong{font-size:11px}.gg-cc-media small{font-size:9.5px;color:rgb(255 255 255/.5)}.gg-media-controls{font-size:10px;white-space:nowrap}
.gg-spotlight{position:fixed;z-index:9900;top:18vh;left:50%;width:min(650px,calc(100vw - 28px));transform:translateX(-50%);overflow:hidden;border-radius:18px;background:linear-gradient(180deg,rgb(255 255 255/.075),transparent 34%),rgb(33 35 41/.78);border:1px solid var(--gg-edge);box-shadow:0 34px 90px rgb(0 0 0/.49),inset 0 1px 0 rgb(255 255 255/.15);backdrop-filter:blur(34px) saturate(138%);-webkit-backdrop-filter:blur(34px) saturate(138%);animation:ggSpot .14s cubic-bezier(.2,.78,.2,1)}.gg-spotlight.hidden{display:none}.gg-spot-input-wrap{height:59px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--gg-sep)}.gg-spot-input-wrap svg{width:20px;height:20px;fill:none;stroke:rgb(255 255 255/.5);stroke-width:1.8}.gg-spot-input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:white;font-size:20px}.gg-spot-input::placeholder{color:rgb(255 255 255/.34)}.gg-spot-results{max-height:290px;overflow:auto;padding:7px}.gg-spot-result{width:100%;min-height:43px;display:flex;align-items:center;gap:10px;padding:4px 9px;border:0;border-radius:7px;background:transparent;color:white;text-align:left}.gg-spot-result:hover,.gg-spot-result.active{background:rgb(31 114 214/.94)}.gg-spot-folder{width:28px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:5px;background:linear-gradient(155deg,#65baf5,#339be7);color:rgb(255 255 255/.85)}.gg-spot-folder svg{width:14px;height:14px;fill:none;stroke:currentColor}.gg-spot-result strong{font-size:12.5px}.gg-spot-result small{display:block;color:rgb(255 255 255/.48);font-size:9.5px}.gg-spot-result.active small,.gg-spot-result:hover small{color:rgb(255 255 255/.76)}.gg-spot-empty{padding:13px 10px;color:var(--gg-secondary);font-size:12px}

/* Native-like desktop context menu */
.gg-context-menu{
  position:fixed;
  z-index:12000;
  width:224px;
  padding:5px;
  border-radius:12px;
  color:white;
  animation:ggPop .12s ease-out;
}
.gg-context-menu.hidden{display:none}
.gg-context-menu button{
  width:100%;
  min-height:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:4px 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:12.5px;
  text-align:left;
}
.gg-context-menu button:hover:not(:disabled){background:rgb(17 113 226/.95)}
.gg-context-menu button:disabled{color:rgb(255 255 255/.40)}
.gg-context-menu .separator{height:1px;margin:4px 7px;background:rgb(255 255 255/.10)}
.gg-context-menu kbd{font:inherit;color:rgb(255 255 255/.48)}

/* Finder-style Get Info panel */
.gg-info-panel{
  position:fixed;
  z-index:12100;
  top:50%;left:50%;
  width:min(312px,calc(100vw - 28px));
  transform:translate(-50%,-50%);
  padding:15px;
  border-radius:14px;
  color:white;
}
.gg-info-panel.hidden{display:none}
.gg-info-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.gg-info-folder{width:58px;height:46px;position:relative;filter:drop-shadow(0 5px 5px rgb(0 0 0/.24))}
.gg-info-folder::before{
  content:"";position:absolute;inset:0;
  border-radius:7px 7px 10px 10px;
  clip-path:polygon(0 14%,5% 5%,11% 0,42% 0,50% 15%,100% 15%,100% 100%,0 100%);
  background:linear-gradient(165deg,#70c5fb,#3ea5ed 58%,#2c90d9);
}
.gg-info-head h3{margin:0;font-size:15px}
.gg-info-head p{margin:2px 0 0;color:rgb(255 255 255/.5);font-size:11px}
.gg-info-row{
  display:flex;justify-content:space-between;gap:16px;
  padding:7px 1px;
  border-top:1px solid rgb(255 255 255/.08);
  font-size:11.5px;
}
.gg-info-row span:last-child{color:rgb(255 255 255/.55);text-align:right}
.gg-info-close{
  position:absolute;right:10px;top:9px;
  width:20px;height:20px;border:0;border-radius:50%;
  background:rgb(255 255 255/.08);color:white;
}

/* Shared popover material; single outer blur keeps compositing inexpensive. */
.gg-control-center,.gg-spotlight,.gg-context-menu,.gg-info-panel {background:linear-gradient(150deg,#ffffff55,transparent 55%),var(--gg-popover);border:1px solid var(--gg-edge);color:var(--text);box-shadow:inset 0 1px 0 #fffc,0 15px 45px #0003;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}
.gg-control-center {top:calc(var(--gg-menu-h) + 7px);border-radius:17px}
.gg-cc-toggle,.gg-slider-card,.gg-cc-media {background:#ffffff70;border:1px solid #fff9;color:var(--text);box-shadow:0 1px 4px #00000007}
.gg-cc-toggle small,.gg-cc-media small,.gg-info-head p,.gg-info-row span:last-child {color:var(--muted)}
.gg-cc-dot {color:white}
.gg-cc-dot.neutral {background:#b9b6b1;color:#49453f}
.gg-slider {accent-color:#77716a}
.gg-slider-head {color:#4c4842}
.gg-spotlight {top:min(22vh,190px);border-radius:17px;width:min(630px,calc(100vw - 24px));max-height:70dvh;overflow:hidden}
.gg-spot-input-wrap {height:61px;border-bottom:1px solid #00000010}
.gg-spot-input-wrap>svg {color:#716c65}
.gg-spot-input {font-size:23px;color:var(--text)}
.gg-spot-input::placeholder {color:#8b857e}
.gg-spot-results {max-height:48dvh;overflow:auto}
.gg-spot-result {color:var(--text);border-radius:7px}
.gg-spot-result small {color:var(--muted)}
.gg-spot-result.active {background:var(--gg-blue);color:white}
.gg-spot-result.active small,.gg-spot-result.active .gg-spot-folder {color:#ffffffe0}
.gg-spot-result .gg-spot-folder {color:#168dec}
.gg-spot-empty {color:var(--muted)}
.gg-context-menu {border-radius:10px}
.gg-context-menu button:disabled {color:#96938f}
.gg-context-menu .separator,.gg-info-row {border-color:#0001}
.gg-context-menu .separator {background:#0001}
.gg-context-menu kbd {color:#888}
.gg-info-close {background:#0001;color:#444}
.gg-info-folder {background:url('./assets/icons/folder.svg') center/contain no-repeat}
.gg-info-folder::before {display:none}
.gg-info-row {font-size:12px}
/* Tablet retains sidebar where it is useful. Touch targets grow without huge dots. */
@media(max-width:1100px) and (min-width:821px) {
  .finder-window {width:82vw;--gg-sidebar-w:160px}
  .window-title {max-width:190px}
  .desktop-icons {right:10px}
}
@media(max-width:820px) {
  :root {--gg-menu-h:calc(32px + env(safe-area-inset-top));--gg-dock-h:70px}
  .menu-bar {padding-inline:8px}
  .menu-trigger:not(.apple-mark):not(.menu-owner) {display:none}
  .menu-owner {max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  .menu-right {gap:8px}
  .hide-small,.battery {display:none!important}
  .desktop-icons {inset:20px 16px calc(var(--gg-dock-h) + 15px);width:auto;grid-template-columns:repeat(3,minmax(90px,1fr));grid-auto-rows:108px;gap:12px;justify-items:center;justify-content:stretch}
  .finder-window {width:calc(100vw - 12px)!important;height:calc(100dvh - var(--gg-menu-h) - var(--gg-dock-h) - max(18px,env(safe-area-inset-bottom)))!important;max-height:none;min-width:0;min-height:0;left:6px!important;top:6px!important;resize:none;border-radius:13px;--gg-sidebar-w:145px}
  .finder-window.maximized {inset:6px!important;width:calc(100vw - 12px)!important}
  .window-toolbar {padding:0 9px;gap:4px}
  .gg-toolbar-actions {margin-right:0}
  .window-title {max-width:190px}
  .project-gallery {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .music-layout {grid-template-columns:1fr}
  .now-playing {position:relative}
  .dock {gap:2px;padding:5px 6px 7px;min-height:59px;max-width:none}
  .dock-app {flex:0 0 44px;width:44px;height:44px}
  .dock-app .dock-icon {width:44px;height:44px}
  .gg-dock-separator {height:33px;margin-inline:3px}
  .tooltip {display:none}
}
@media(max-width:620px) {
  .finder-window {grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr) 26px}
  .window-toolbar,.window-content,.finder-status {grid-column:1}
  .gg-sidebar,.gg-toolbar-actions {display:none}
  .traffic-lights {position:static;gap:10px;margin:0 8px 0 4px;flex-shrink:0}
  .traffic {width:12px;height:12px}
  .traffic::before {inset:-6px}
  .window-title {max-width:180px;font-size:12px}
  .window-title-wrap {flex:1}
  .window-spacer {display:none}
  .view-pill {display:flex;flex-shrink:0}
  .finder-view {width:25px}
  .gg-search {width:26px;margin:0}
  .window-content {padding:0 12px 16px}
  .library-header {margin:0 -12px 12px;padding:12px}
  .library-header h2 {font-size:12px}
  .library-header p {font-size:10px}
  .collection-count {display:none}
  .media-strip {grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:15px 10px}
  .photo-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
  .bookshelf {grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-clock {font-size:11px;max-width:none;min-width:0}
  .status-icon {display:none}
  .finder-status {font-size:9px;padding:0 12px}
  .gg-control-center {right:6px;width:min(312px,calc(100vw - 12px))}
}
@media(max-width:430px) {
  .desktop-icons {grid-template-columns:repeat(2,minmax(90px,1fr));gap:14px 10px}
  .menu-owner {max-width:142px;font-size:11px}
  .menu-right {gap:7px}
  .dock-app {flex:0 0 clamp(31px,10.1vw,43px);width:clamp(31px,10.1vw,43px);height:43px}
  .dock-app .dock-icon {width:clamp(31px,10.1vw,43px);height:clamp(31px,10.1vw,43px)}
  .dock {gap:1px;min-height:55px;padding-inline:5px;border-radius:16px}
  .gg-dock-separator {margin-inline:3px}
  .window-title {max-width:140px}
  .traffic-lights {gap:9px;margin-right:5px}
  .view-pill {padding:1px}
  .finder-view {width:23px}
}
@media(max-width:360px) {
  .menu-owner {max-width:108px}
  .window-title {max-width:109px}
  .desktop-icons {grid-auto-rows:99px;gap:8px}
  .gg-search {width:23px}
}
@media(max-height:500px) {
  .desktop-icons {grid-template-columns:repeat(3,98px);grid-auto-rows:94px;width:auto}
  .folder-art {height:52px}
  .gg-spotlight {top:calc(var(--gg-menu-h) + 10px);max-height:80dvh}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(prefers-reduced-transparency:reduce) {
  .glass,.finder-window,.dock,.menu-popover,.gg-spotlight,.gg-control-center,.gg-context-menu,.gg-info-panel {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#efede8!important}
  .menu-bar {background:#665f54!important}
}
