/* Ubuntu-inspired portfolio directory. It is a familiar, direct entrance;
   the 3D cloud world remains available as the optional exploratory mode. */
#s-directory{display:block;overflow:hidden;background:#251433;color:#f3eff6;font-family:'Inter',sans-serif;isolation:isolate}
#s-directory.out{opacity:0;pointer-events:none;visibility:hidden}
.directory-topbar{position:absolute;inset:0 0 auto;height:31px;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:rgba(25,18,30,.96);box-shadow:0 1px 0 rgba(255,255,255,.06);font-size:.72rem}
.directory-brand{font-weight:650}.directory-topbar time,#directory-clock{color:rgba(255,255,255,.72);font-size:.66rem}.directory-research-link{position:absolute;left:50%;transform:translateX(-50%);color:#fff;text-decoration:none;font-weight:600}.directory-research-link:hover{text-decoration:underline}.directory-research-link:focus-visible{outline:2px solid #f4d090;outline-offset:3px;border-radius:2px}
.directory-wallpaper{position:absolute;inset:31px 0 0;overflow:hidden;background:radial-gradient(circle at 74% 22%,rgba(236,78,56,.42),transparent 25%),radial-gradient(circle at 27% 70%,rgba(89,43,113,.76),transparent 38%),linear-gradient(145deg,#3d173d 5%,#6d203d 48%,#2b153d 100%)}
.directory-wallpaper::before,.directory-wallpaper::after,.directory-wallpaper i{content:'';position:absolute;border:1px solid rgba(255,139,96,.16);border-radius:48% 52% 42% 58%;transform:rotate(-24deg)}
.directory-wallpaper::before{width:64vw;height:64vw;right:-17vw;top:-28vw;box-shadow:0 0 0 8vw rgba(121,42,77,.12),0 0 0 16vw rgba(225,75,61,.055)}
.directory-wallpaper::after{width:46vw;height:46vw;left:-20vw;bottom:-28vw;box-shadow:0 0 0 7vw rgba(119,72,148,.12)}
.directory-wallpaper i:first-child{width:28vw;height:28vw;right:5vw;bottom:-16vw}.directory-wallpaper i:last-child{width:16vw;height:16vw;left:36vw;top:9vh}
.directory-window{--win-x:0px;--win-y:0px;position:absolute;z-index:5;left:50%;top:50%;width:min(980px,86vw);height:min(650px,76vh);min-width:560px;min-height:390px;display:flex;flex-direction:column;overflow:hidden;resize:both;transform:translate(calc(-50% + var(--win-x)),calc(-50% + var(--win-y)));border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#f6f4f2;color:#2b2930;box-shadow:0 34px 90px rgba(16,5,24,.54),0 2px 9px rgba(0,0,0,.35)}
.directory-window:focus{outline:none}
.directory-window.is-dragging{user-select:none;box-shadow:0 42px 110px rgba(16,5,24,.62)}
.directory-window.is-maximized{inset:31px 0 0!important;width:100%!important;height:calc(100% - 31px)!important;min-width:0;min-height:0;transform:none!important;border:0;border-radius:0;resize:none}
.directory-window.is-minimized,.directory-window.is-closed{display:none}
.directory-titlebar{flex:0 0 39px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(#39363d,#2f2c32);color:#fff;cursor:grab;touch-action:none}
.directory-titlebar:active{cursor:grabbing}.directory-titlebar strong{font-size:.74rem;font-weight:600}.directory-titlebar strong span{margin-right:8px;color:#e78342}
.directory-window-controls{position:absolute;left:10px;display:flex;gap:7px}
.directory-window-controls button{width:21px;height:21px;padding:0;border:0;border-radius:50%;background:#565159;color:rgba(255,255,255,.8);font:600 .8rem/21px sans-serif;cursor:pointer}
.directory-window-controls button:first-child{background:#e95420}.directory-window-controls button:hover,.directory-window-controls button:focus-visible{filter:brightness(1.22);outline:2px solid rgba(255,255,255,.7);outline-offset:1px}
.directory-toolbar{flex:0 0 48px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-bottom:1px solid #d9d5d1;background:#eeecea}
.directory-toolbar>button:not(.directory-explore){width:31px;height:31px;border:1px solid #d2ceca;border-radius:5px;background:#f8f7f6;color:#5f5b62}.directory-toolbar>button:disabled{opacity:.42}
.directory-toolbar>span{flex:1;min-width:0;padding:8px 12px;border:1px solid #d6d2cf;border-radius:5px;background:white;color:#5a565c;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.directory-explore{padding:8px 13px;border:1px solid #6e426f;border-radius:5px;background:#5e2750;color:#fff;font:600 .65rem 'Inter',sans-serif;white-space:nowrap;cursor:pointer}.directory-explore:hover,.directory-explore:focus-visible{background:#762c64;outline:2px solid rgba(94,39,80,.28);outline-offset:2px}
.directory-body{min-height:0;flex:1;display:grid;grid-template-columns:178px 1fr}
.directory-sidebar{display:flex;flex-direction:column;gap:3px;padding:18px 10px;background:#e9e6e3;border-right:1px solid #d4d0cd;color:#5c585e;font-size:.72rem}
.directory-sidebar strong{padding:0 9px 10px;font-size:.64rem;color:#625d64;text-transform:uppercase;letter-spacing:.08em}.directory-sidebar span{padding:8px 10px;border-radius:5px}.directory-sidebar span.active{background:#d6d1ce;color:#2e2b30;font-weight:650}
.directory-files{align-content:start;display:grid;grid-template-columns:repeat(4,minmax(116px,1fr));gap:22px 14px;padding:27px 24px;overflow:auto;background:#fff}
.directory-file{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#343138;text-decoration:none;text-align:center;cursor:pointer}
.directory-file:hover,.directory-file:focus-visible{border-color:#b9cdeb;background:#e9f2ff;outline:none}.directory-file:active{background:#d7e8ff}
.directory-file strong{max-width:100%;font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-file small{font-size:.6rem;color:#69636b}
.folder-icon{position:relative;width:68px;height:50px;margin:3px 0 7px;border-radius:5px 7px 7px 7px;background:linear-gradient(135deg,#e6a13b,#c87823);box-shadow:inset 0 2px rgba(255,255,255,.38),0 3px 8px rgba(83,52,15,.18)}
.folder-icon::before{content:'';position:absolute;left:4px;top:-7px;width:31px;height:12px;border-radius:5px 5px 0 0;background:#d88b2c}.folder-icon::after{content:'';position:absolute;inset:7px 7px 8px;border-radius:3px;background:rgba(255,235,184,.3)}
.viewer-file .folder-icon{filter:hue-rotate(36deg)}.friend-file .folder-icon{filter:hue-rotate(72deg)}.personal-file .folder-icon{filter:hue-rotate(-16deg)}
.document-icon{display:grid;place-items:center;width:48px;height:58px;margin-bottom:2px;border:1px solid #b9b6b5;border-radius:3px;background:linear-gradient(135deg,#fff 0 79%,#dedbd9 80%);color:#716d72;font:500 2rem 'IBM Plex Mono',monospace;box-shadow:0 3px 8px rgba(0,0,0,.08)}
.shortcut-icon{display:grid;place-items:center;width:52px;height:52px;margin:3px 0 8px;border-radius:13px;background:linear-gradient(145deg,#5e2750,#33233c);color:#fff;font:600 1.25rem Inter,sans-serif;box-shadow:0 5px 14px rgba(42,20,50,.22)}
.directory-status{flex:0 0 31px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid #ddd9d6;background:#eeecea;color:#625d63;font-size:.62rem}
.directory-dock-item{position:relative;width:52px;min-height:52px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);color:#f5a04c;font-size:1.2rem;cursor:pointer}.directory-dock-item::after{content:'';position:absolute;left:-7px;top:18px;width:3px;height:13px;border-radius:2px;background:#e95420}.directory-dock-item small{display:block;max-width:46px;margin-top:2px;overflow:hidden;color:rgba(255,255,255,.72);font:500 .48rem/1.1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}.directory-dock-item.is-minimized{opacity:.68}.directory-dock-item[hidden]{display:none!important}
.world-home{position:absolute;right:24px;top:104px;z-index:32;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(18,25,38,.66);color:#fff;font:600 .58rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;pointer-events:auto}
.site-home{z-index:40}
body[data-home-view="directory"] #privacy-settings{top:3px!important;right:92px!important;bottom:auto!important;padding:5px 8px;border:0;background:transparent;color:rgba(255,255,255,.58);z-index:20}
@media(max-width:720px){
  .directory-body{grid-template-columns:1fr}.directory-sidebar{display:none}.directory-files{grid-template-columns:repeat(2,minmax(100px,1fr));gap:22px 8px;padding:24px 12px}.directory-toolbar>span{display:none}.directory-explore{margin-left:auto;font-size:.58rem}.directory-status span{display:none}.directory-dock-item{left:7px;top:auto;bottom:7px;width:44px;height:44px}.world-home{right:14px;top:136px}
}

/* Suspended Device applications survive a trip through Cloud mode without
   leaking their content into the Cloud scene. */
.directory-app-window.shell-hidden{display:none!important}


.webgl-notice{position:fixed;z-index:1100;left:50%;top:50%;width:min(430px,calc(100vw - 32px));padding:26px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#171b27;color:#f6f3ec;box-shadow:0 35px 100px rgba(0,0,0,.65);opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.96);transition:opacity .22s,transform .22s}
.webgl-notice[hidden]{display:none}.webgl-notice.open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.webgl-notice strong{display:block;font:600 1.25rem 'Cormorant Garamond',serif}.webgl-notice p{margin:10px 0 18px;color:#c6cad4;font:.78rem/1.6 Inter,sans-serif}.webgl-notice button{padding:9px 13px;border:1px solid #9da8c4;border-radius:6px;background:#f2eee5;color:#171b27;font:700 .62rem 'IBM Plex Mono',monospace;text-transform:uppercase;cursor:pointer;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.directory-window{transition:none!important}}

/* Stateful Portfolio OS windows */
.directory-brand,#directory-clock{background:transparent;color:inherit;font:inherit;cursor:pointer}.directory-brand{border:0;font-weight:700}#directory-clock{min-height:27px;padding:4px 10px;border:1px solid transparent;border-radius:7px}.directory-brand:hover,#directory-clock:hover{background:rgba(255,255,255,.1);border-radius:7px}#directory-clock:hover,#directory-clock:focus-visible{border-color:rgba(255,255,255,.2)}
.directory-desktop-icons{position:absolute;z-index:2;right:18px;top:54px;display:grid;grid-template-columns:repeat(2,76px);gap:14px 8px;max-height:calc(100% - 76px);overflow:auto;padding:4px}.directory-desktop-icons button,.directory-desktop-icons a{display:grid;justify-items:center;align-content:start;gap:5px;width:76px;border:0;background:transparent;color:#fff;font-size:.68rem;text-decoration:none;text-shadow:0 1px 3px #000;cursor:pointer}.directory-desktop-icons span{display:grid;place-items:center;width:48px;height:48px;border-radius:9px;background:rgba(43,32,52,.72);font-size:1.25rem;box-shadow:0 4px 14px rgba(0,0,0,.25)}.directory-desktop-icons .folder-icon{height:38px;margin:6px 0 4px}.directory-desktop-icons .document-icon,.directory-desktop-icons .shortcut-icon{width:44px;height:50px;margin:0 0 4px;border-radius:6px;background:linear-gradient(145deg,#f7f5f2 0 76%,#c9c4c1 77%);color:#514b53;font:600 1.2rem/1 Inter,sans-serif;text-shadow:none}.directory-desktop-icons .shortcut-icon{border-radius:12px;background:#322a39;color:#f2a25f}
.directory-window-controls{left:auto!important;right:10px}.directory-window-controls .window-close{background:#e95420!important}.directory-titlebar{justify-content:center}.directory-titlebar strong span{color:#e78342}
.directory-toolbar input{flex:1;min-width:0;height:32px;padding:0 12px;border:1px solid #cbc7c4;border-radius:5px;background:#fff;color:#474249;font:500 .7rem 'Inter',sans-serif}
.directory-sidebar button{display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:#514d53;font:inherit;text-align:left;cursor:pointer}.directory-sidebar button.active,.directory-sidebar button:hover{background:#d6d1ce;color:#242126;font-weight:650}.place-icon{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 17px;font-size:14px;line-height:1;color:inherit}.directory-sidebar button span{padding:0}
.profile-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:4px;border-radius:50%;background:linear-gradient(145deg,#77717a,#3d3840);color:#fff;font-size:1.6rem}.profile-file.admin .profile-icon{background:linear-gradient(145deg,#d7863d,#8d431e)}
.directory-window.is-minimizing,.directory-document-window.is-minimizing,.directory-app-window.is-minimizing{animation:windowMinimize .26s cubic-bezier(.55,0,.65,.2) both;pointer-events:none}.directory-window.is-closing,.directory-document-window.is-closing,.directory-app-window.is-closing{animation:windowClose .18s cubic-bezier(.55,0,1,.45) both;pointer-events:none}.directory-window.is-restoring,.directory-document-window.is-restoring,.directory-app-window.is-restoring{animation:windowRestore .32s cubic-bezier(.18,.82,.24,1) both}
@keyframes windowMinimize{to{opacity:0;transform:translate(calc(-50% - 45vw),-50%) scale(.08)}}@keyframes windowClose{to{opacity:0;transform:translate(calc(-50% + var(--win-x, 0px)),calc(-50% + var(--win-y, 0px))) scale(.94)}}@keyframes windowRestore{from{opacity:0;transform:translate(-50%,-45%) scale(.9)}to{opacity:1}}
.directory-document-window{--win-x:80px;--win-y:25px;position:absolute;z-index:12;left:50%;top:50%;width:min(720px,76vw);height:min(590px,72vh);min-width:430px;min-height:330px;display:flex;flex-direction:column;resize:both;overflow:hidden;transform:translate(calc(-50% + var(--win-x)),calc(-50% + var(--win-y)));border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#f8f7f4;color:#29262c;box-shadow:0 34px 90px rgba(16,5,24,.58)}.directory-document-window[hidden],.directory-document-window.is-minimized,.directory-document-window.is-closed{display:none}.directory-document-window.is-maximized{inset:31px 0 0!important;width:100%!important;height:calc(100% - 31px)!important;min-width:0;min-height:0;transform:none!important;border:0;border-radius:0;resize:none}.directory-document-window article{flex:1;overflow:auto;padding:clamp(28px,5vw,58px);font:400 .92rem/1.75 'Inter',sans-serif}.directory-document-window h1{margin:0 0 28px;font:650 clamp(2rem,5vw,3.8rem)/1 'Cormorant Garamond',serif}.directory-document-window h2{margin:32px 0 9px;font:650 1.35rem 'Cormorant Garamond',serif}.directory-document-window ul{padding-left:20px}.directory-document-window li+li{margin-top:7px}.directory-document-window a{color:#5d2a78}.doc-meta{font:600 .62rem 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#77717c}.doc-updated{color:#77717c;font-size:.75rem}.doc-credit{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #ded9d4}.doc-credit span{color:#6d6770;font-size:.76rem}.doc-credit a{font-size:.72rem}.placeholder-picture{display:grid;place-items:end start;min-height:300px;padding:24px;border-radius:9px;color:#fff;font:600 1rem 'IBM Plex Mono',monospace}.cloud-picture{background:radial-gradient(circle at 70% 28%,#ffd5b4,transparent 22%),radial-gradient(ellipse at 50% 90%,#a58fae 0 35%,#3a4263 66%,#15182a)}.ship-picture{background:radial-gradient(circle at 64% 43%,#ffcf9e,transparent 23%),linear-gradient(150deg,#314b74,#b87582 52%,#171a30)}
.directory-document-window article.directory-blog-document{padding:0;overflow:hidden;background:#0b0910}.directory-blog-frame{display:block;width:100%;height:100%;border:0;background:#0b0910}
.directory-overview{position:absolute;inset:31px 0 0;z-index:30;display:flex;align-items:center;justify-content:center;gap:32px;padding:50px;background:rgba(34,17,46,.78);backdrop-filter:blur(22px)}.directory-overview[hidden]{display:none}.overview-workspace{width:min(380px,38vw);height:240px;border:2px solid rgba(255,255,255,.35);border-radius:12px;background:linear-gradient(145deg,#ece9e5 0 14%,#fff 14%);box-shadow:0 25px 55px rgba(0,0,0,.34);color:#29252c;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:25px;cursor:pointer}.overview-workspace span{font-weight:700}.overview-workspace i{font-size:.7rem;color:#69636b}
.directory-calendar{position:absolute;z-index:40;right:12px;top:38px;width:310px;padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(34,29,38,.97);box-shadow:0 24px 70px rgba(0,0,0,.5)}.directory-calendar[hidden]{display:none}.directory-calendar header{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.directory-calendar header strong{text-transform:capitalize}.directory-calendar header span{font-size:.58rem;color:#b7afb9}.directory-calendar #calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:.68rem}.directory-calendar #calendar-grid b{color:#a99fac;font-size:.56rem}.directory-calendar #calendar-grid span{padding:6px;border-radius:50%}.directory-calendar #calendar-grid .today{background:#e95420;color:#fff}.directory-calendar>a{display:block;margin-top:17px;padding:9px;border-radius:5px;background:#5e2750;color:#fff;text-align:center;text-decoration:none;font-size:.7rem}
#directory-book-call[hidden]{display:none!important}
.experience-switch{position:fixed;z-index:980;left:50%;top:4px;display:flex;padding:2px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(22,18,27,.82);transform:translateX(-50%);backdrop-filter:blur(12px)}.experience-switch button{padding:5px 11px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.55);font:600 .56rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.experience-switch button[aria-pressed="true"]{background:#f0ede7;color:#262229}
.landscape-prompt{display:none;position:fixed;z-index:990;left:12px;right:12px;top:72px;bottom:auto;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(24,19,29,.92);color:#fff;font-size:.7rem;pointer-events:none;opacity:1;transition:opacity .35s ease,visibility 0s linear .35s}.landscape-prompt button{border:0;background:none;color:#fff;font-size:1rem;pointer-events:auto}.landscape-prompt.dismissed{opacity:0;visibility:hidden;pointer-events:none;animation:none}@keyframes landscapePromptAutoFade{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden}}
.directory-app-window{display:contents}.directory-app-window>.app-titlebar{display:none}.directory-app-content{display:contents}
body[data-shell-mode="directory"] .directory-app-window.active{--win-x:0px;--win-y:0px;position:fixed;z-index:55;left:50%;top:calc(50% + 16px);width:min(1180px,calc(100vw - 84px));height:min(820px,calc(100vh - 94px));min-width:650px;min-height:440px;display:flex;flex-direction:column;overflow:hidden;resize:both;transform:translate(calc(-50% + var(--win-x)),calc(-50% + var(--win-y)));border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#090a0d;box-shadow:0 38px 100px rgba(14,4,20,.68)}body[data-shell-mode="directory"] .directory-app-window.active>.app-titlebar{display:flex}body[data-shell-mode="directory"] .directory-app-window.active .directory-app-content{position:relative;display:block;flex:1;min-height:0;overflow:hidden;container-type:size}body[data-shell-mode="directory"] .directory-app-window.active .ps{position:absolute;inset:0}body[data-shell-mode="directory"] .directory-app-window.active .ps .site-home{display:none!important}body[data-shell-mode="directory"] .directory-app-window.is-minimized{display:none}body[data-shell-mode="directory"] .directory-app-window.is-maximized{inset:31px 0 0!important;width:100%!important;height:calc(100% - 31px)!important;min-width:0;min-height:0;transform:none!important;border:0;border-radius:0;resize:none}
body[data-shell-mode="directory"] #privacy-settings{left:auto!important;right:118px!important;top:3px!important;bottom:auto!important;border:0;background:transparent;color:rgba(255,255,255,.74);z-index:985}body[data-shell-mode="world"] #privacy-settings,body:not([data-shell-mode]) #privacy-settings{left:auto!important;right:18px!important;top:70px!important;bottom:auto!important}
@media(max-width:720px){.directory-desktop-icons{display:grid;grid-template-columns:repeat(2,64px);right:8px;top:84px;gap:13px 4px}.directory-desktop-icons button,.directory-desktop-icons a{width:64px}.directory-desktop-icons span{width:42px;height:42px}.directory-files{grid-template-columns:repeat(2,minmax(110px,1fr));align-content:start;padding-bottom:90px}.directory-file strong{white-space:normal}.directory-document-window article{padding:30px 20px}.directory-overview{flex-direction:column;padding:72px 16px 20px}.overview-workspace{width:min(90vw,360px);height:180px}.directory-calendar{left:8px;right:8px;width:auto}.experience-switch{top:36px}body[data-shell-mode="world"] .experience-switch:not(.is-mini-switch){top:4px}.directory-topbar{height:32px}.directory-toolbar input{font-size:.63rem}body[data-shell-mode="directory"] #privacy-settings{right:8px!important;top:36px!important}.landscape-prompt{display:flex}.landscape-prompt:not(.dismissed):not(:focus-within){animation:landscapePromptAutoFade .35s ease 3s forwards}.tl-mobile{overflow-x:hidden}.tl-mobile-route{overflow-x:hidden}.tl-mobile-event{max-width:100%}}
@media(max-width:900px) and (orientation:landscape){.landscape-prompt{display:none}}
@media(prefers-reduced-motion:reduce){.directory-window,.directory-document-window,.directory-app-window{animation:none!important}}
.directory-resize-handle{position:absolute;z-index:700;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;touch-action:none}.directory-resize-handle::after{content:'';position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.58);border-bottom:2px solid rgba(255,255,255,.58)}.directory-document-window .directory-resize-handle::after,.directory-window .directory-resize-handle::after{border-color:rgba(49,43,52,.52)}.is-resizing{user-select:none}
body[data-shell-mode="directory"] .directory-app-window.active>.app-titlebar{position:relative;z-index:450;flex:0 0 39px}
body[data-shell-mode="directory"] .directory-app-window.active .ps{z-index:1}
body[data-shell-mode="world"] #s-world .world-home{display:none}
@media(max-width:720px){body[data-shell-mode="world"]>#experience-switch{top:4px!important}}
.directory-document-window article>button{margin-top:18px;padding:9px 13px;border:0;border-radius:5px;background:#5e2750;color:#fff;font:600 .7rem Inter,sans-serif;cursor:pointer}

/* Running and minimized windows remain visible in the side switcher. */
body[data-shell-mode="directory"] .directory-dock{
  position:absolute;z-index:9015;left:8px;top:50%;bottom:auto;
  display:grid;gap:8px;padding:7px 5px;
  border:1px solid rgba(255,255,255,.12);border-radius:12px;
  background:rgba(35,24,42,.78);transform:translateY(-50%);backdrop-filter:blur(12px);
}
body[data-shell-mode="directory"] .directory-dock-item{
  left:auto;top:auto;bottom:auto;width:52px;height:52px;min-height:52px;padding:0;
  border-radius:10px;font-size:1.2rem;
}
body[data-shell-mode="directory"] .directory-dock-item small{display:block}
body[data-shell-mode="directory"] .directory-dock-item::after{
  left:-6px;right:auto;top:18px;bottom:auto;width:3px;height:13px;
}
body[data-shell-mode="directory"] #privacy-settings{
  left:auto!important;right:118px!important;top:3px!important;bottom:auto!important;
  min-height:25px;padding:5px 8px!important;
}
body[data-shell-mode="directory"] #mini{width:min(900px,calc(100vw - 40px))}

@media(pointer:coarse){
  body[data-shell-mode="directory"] #mini{top:39px;width:min(900px,calc(100vw - 32px))}
  body[data-shell-mode="directory"] #mini .mini-bar{flex-wrap:nowrap;gap:6px;padding:7px 10px}
  body[data-shell-mode="directory"] #mini .mini-role,body[data-shell-mode="directory"] #mini .mini-sep{display:block}
  body[data-shell-mode="directory"] #mini .mini-role{max-width:172px;font-size:7px;white-space:nowrap}
}

@media(max-width:720px){
  body[data-shell-mode="directory"] .directory-dock{left:6px;top:50%;transform:translateY(-50%)}
  body[data-shell-mode="directory"] .directory-dock-item{width:44px;height:44px;min-height:44px;font-size:1rem}
  body[data-shell-mode="directory"] .directory-dock-item::after{top:15px}
  body[data-shell-mode="directory"] #privacy-settings{left:auto!important;right:7px!important;top:35px!important}
  body[data-shell-mode="directory"] #mini{top:64px;width:calc(100vw - 12px)}
  body[data-shell-mode="directory"] #mini .mini-bar{overflow-x:auto;scrollbar-width:none}
  body[data-shell-mode="directory"] #mini .mini-bar::-webkit-scrollbar{display:none}
}

/* Directory paths open as large, genuine windows. They remain movable,
   resizable, minimizable, maximizable, and independently closable. */
body[data-shell-mode="directory"] .directory-app-window.active .directory-app-content,body[data-shell-mode="directory"] .directory-app-window.active .ps,body[data-shell-mode="directory"] .rec-scroll,body[data-shell-mode="directory"] .view-wrap,body[data-shell-mode="directory"] .pers-wrap{width:100%;height:100%;max-width:none}
body[data-shell-mode="directory"] .psec,body[data-shell-mode="directory"] .view-header,body[data-shell-mode="directory"] .pers-header,body[data-shell-mode="directory"] .frnd-c-header{width:min(1080px,calc(100% - 48px))}
body[data-shell-mode="directory"] #mini{top:39px;z-index:450;width:min(720px,calc(100vw - 240px))}
body[data-shell-mode="directory"] #mini .mini-bar{min-height:39px;padding:7px 15px 8px;border-radius:0 0 12px 12px}
body[data-shell-mode="directory"] #ps-recruiter #cfi{opacity:1}
body[data-shell-mode="directory"] #ps-recruiter #cg{display:none}
body[data-shell-mode="directory"] .directory-app-window.active .tl-scroll-shell{width:100%;max-width:100%;margin-inline:auto}
body[data-shell-mode="directory"] .directory-app-window.active .ps{transition:none!important}
.directory-dock{position:absolute;z-index:20;left:8px;top:50%;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;align-content:start;gap:8px;max-height:min(72vh,600px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.34) transparent;padding:7px 5px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(35,24,42,.78);transform:translateY(-50%);backdrop-filter:blur(12px)}#directory-dock-documents{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}.directory-dock .directory-dock-item{left:auto;top:auto;bottom:auto}.directory-dock button:hover,.directory-dock button:focus-visible{background:rgba(255,255,255,.14);outline:1px solid rgba(255,255,255,.35)}.directory-dock .directory-dock-item::after{left:-6px;top:18px}
.overview-world{background:linear-gradient(150deg,#171a2d,#343454 58%,#7c6585);color:#fff}.overview-world i{color:rgba(255,255,255,.62)}

@media(max-width:720px){
  .directory-resize-handle{display:block}
  .is-maximized>.directory-resize-handle{display:none}
  .experience-switch{top:3px}
  body[data-shell-mode="directory"] .directory-window:not(.is-maximized),body[data-shell-mode="directory"] .directory-document-window:not(.is-maximized),body[data-shell-mode="directory"] .directory-app-window.active:not(.is-maximized){left:10px;right:auto;top:72px;bottom:auto;width:calc(100% - 20px);height:calc(100% - 90px);min-width:min(280px,calc(100vw - 20px));min-height:min(260px,calc(100vh - 90px));border:1px solid rgba(255,255,255,.2);border-radius:10px;transform:none;resize:both}
  .directory-desktop-icons{z-index:2;left:auto;right:5px;top:44px;bottom:auto;display:grid;grid-template-columns:repeat(2,60px);gap:12px 3px;max-height:calc(100% - 54px);padding:4px;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0;background:transparent;backdrop-filter:none}
  .directory-desktop-icons button,.directory-desktop-icons a{width:60px;min-width:0;gap:3px;font-size:.54rem;color:#fff;text-shadow:0 1px 3px #000}
  .directory-desktop-icons span{width:40px;height:40px;font-size:1rem}
  .directory-dock{z-index:10;left:6px;top:50%;bottom:auto;padding:5px;transform:translateY(-50%)}
  body[data-shell-mode="directory"] #privacy-settings{top:36px!important;right:8px!important}
  body[data-shell-mode="world"] #privacy-settings{top:118px!important;right:10px!important}
  .directory-overview{padding:48px 12px 12px}
  .directory-app-window.active .tl-scroll-shell,.directory-app-window.active .psec{max-width:100%!important}
}

/* Keep the folded recruiter navigation inside the app content's containing
   block. A maximized window no longer has a transform, so viewport-fixed
   positioning placed the bar above the clipped content area. */
body[data-shell-mode="directory"] .directory-app-window.active .directory-app-content #mini{
  position:absolute;top:0;
}

/* Direct professional links stay available in Device mode. */
.directory-topbar-actions{display:flex;align-items:center;gap:5px}
.directory-topbar-actions .rss-icon{color:#fff}
.rss-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:5px;color:currentColor}
.rss-icon img{display:block;width:17px;height:17px;object-fit:contain}
.rss-icon:hover{background:rgba(255,255,255,.12)}
.audio-toggle{position:absolute;z-index:985;right:18px;top:12px;display:grid;place-items:center;width:34px;height:34px;padding:5px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(27,21,33,.72);color:#fff;cursor:pointer;pointer-events:auto;backdrop-filter:blur(10px)}.audio-toggle[hidden]{display:none!important}
.audio-toggle img{display:block;width:21px;height:21px;object-fit:contain}
.audio-toggle:hover,.audio-toggle:focus-visible{border-color:rgba(255,255,255,.55);background:rgba(45,34,55,.92);outline:2px solid rgba(255,255,255,.2);outline-offset:2px}
.directory-content-preview{margin:18px 0}
.directory-content-preview img{display:block;width:100%;max-height:46vh;object-fit:contain;border:1px solid #ddd7d3;border-radius:7px;background:#fff}
.directory-pdf-frame{display:block;width:100%;height:min(58vh,620px);margin:18px 0;border:1px solid #d8d3cf;border-radius:5px;background:#fff}
@media(max-width:720px){
  .directory-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .directory-sidebar{display:flex;flex-direction:row;align-items:center;gap:2px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:5px 7px;border-right:0;border-bottom:1px solid #d4d0cd;scrollbar-width:thin}
  .directory-sidebar strong{flex:0 0 auto;padding:0 6px;font-size:.53rem}
  .directory-sidebar button{flex:0 0 auto;padding:7px 8px;white-space:nowrap;font-size:.62rem}
  .directory-files{grid-row:2;grid-template-columns:repeat(2,minmax(100px,1fr))}
  .audio-toggle{right:10px;top:8px;width:31px;height:31px}
}
@media(prefers-reduced-motion:reduce){.audio-toggle{backdrop-filter:none}}

@media(max-width:720px){.directory-dock{display:none!important}}

/* Device paths close immediately, including after their window wrapper is removed. */
body[data-shell-mode="directory"] .ps{transition:none!important}
.reading-choice{position:fixed;z-index:1000;right:24px;bottom:88px;width:min(410px,calc(100vw - 32px));overflow:hidden;background:#f5f3f1;color:#28252b;border:1px solid #50464f;border-radius:8px;box-shadow:0 14px 48px #140b1a66;font:14px/1.65 Inter,sans-serif;transition:opacity .25s ease,transform .25s ease}
.reading-choice[hidden]{display:none}
.reading-choice-titlebar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(#443d46,#342e37);color:#f8f5f7;border-bottom:1px solid #211c24}
.reading-choice h2{font:600 .85rem/1.4 Inter,sans-serif;margin:0}
.reading-choice #reading-choice-close{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:1px solid #ffaf7a;border-radius:50%;background:#bf4521;color:#fff;font:500 18px/1 Inter,sans-serif;cursor:pointer}
.reading-choice-content{display:flex;align-items:flex-start;gap:16px;padding:24px 22px 12px}
.reading-choice-content p{margin:0}
.reading-choice-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-top:3px;border:2px solid #776482;border-radius:50%;color:#624c73;font:600 22px/1 Georgia,serif}
.reading-choice-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px 20px}
.reading-choice-actions button{display:inline-block;min-width:76px;margin:0;padding:7px 16px;background:linear-gradient(#fdfcfb,#e5e0dd);border:1px solid #b7afb9;border-radius:5px;color:#28252b!important;font:500 13px/1.5 Inter,sans-serif;text-decoration:none!important;text-align:center;cursor:pointer}
.reading-choice-actions button[hidden]{display:none}
.reading-choice :focus-visible{outline:3px solid #68418a;outline-offset:3px}
.reading-choice #reading-choice-close:focus-visible{outline-color:#ffcf9d}
@media(max-width:720px){.reading-choice{right:16px;bottom:32px}.reading-choice-content{padding:20px 18px 10px}}
@media(prefers-reduced-motion:reduce){.reading-choice{transition:none}}

/* Keep the invitation and its Desktop shortcut together without an overlay arrow. */
.reading-choice{right:112px;bottom:72px;width:min(390px,calc(100vw - 144px));overflow:visible}
.reading-choice::after{content:'';position:absolute;right:-8px;bottom:52px;width:15px;height:15px;background:#f5f3f1;border-top:1px solid #50464f;border-right:1px solid #50464f;transform:rotate(45deg)}
.reading-choice-icon{position:fixed!important;z-index:1001;right:20px;bottom:96px;display:flex!important;align-items:center;justify-content:center;flex-direction:column;width:82px;min-height:85px;text-align:center;border:0;border-radius:9px;background:transparent;box-shadow:none;color:#fff;text-decoration:none}
body.reading-choice-active .reading-choice-icon{border:2px solid #ffcb87;background:rgba(25,20,31,.96);box-shadow:0 12px 32px #0009}
.reading-choice-icon[hidden]{display:none!important}
.reading-choice-icon .shortcut-icon{font-size:26px;background:transparent;box-shadow:none}.reading-choice-icon strong{font-size:11px}
@media(max-width:600px){.reading-choice{left:16px;right:16px;bottom:20px;width:auto}.reading-choice::after{right:37px;top:-8px;bottom:auto;border-top:1px solid #50464f;border-right:0;border-left:1px solid #50464f;transform:rotate(45deg)}.reading-choice-icon{right:24px;bottom:min(240px,calc(100vh - 112px));width:70px;min-height:72px}}

.directory-content-preview video{display:block;max-width:100%;max-height:46vh;margin:auto;background:#111}

body[data-path] .reading-choice{display:none!important}

/* The invitation icon is the lasting Desktop shortcut; the file-manager copy remains in /Desktop. */
#directory-desktop-icons [data-simple-shortcut]{display:none!important}
body:not([data-shell-mode="directory"]) .reading-choice-icon{display:none!important}

/* Phones use the ordinary Desktop/folder shortcut, without a floating invitation. */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  #reading-choice,#reading-choice-icon{display:none!important}
  #directory-desktop-icons [data-simple-shortcut]{display:flex!important}
}
