/* Aqua's small metal windows + Human's warm selection accents, on the existing personal desktop. */
:root{--aqua-metal:linear-gradient(#f4f4ef,#b6bab9 48%,#cfd2cf 50%,#e8e9e3);--aqua-text:#25312f;--warm:#df8c58}
.shell{min-height:43px;padding:6px 22px;gap:17px;background:repeating-linear-gradient(0deg,#dddeda 0 1px,#edece7 1px 3px);border-bottom:1px solid #77827f;color:#26322e;box-shadow:0 2px 7px #0008;position:relative;z-index:110}
.shell .brand{font-size:20px;color:#24382f}.shell .brand .dot{color:#8c4332}.shell .logo-star{font-size:24px;color:#b35a36}.shell nav button{color:#26352f;font:12px 'Lucida Grande',Tahoma,sans-serif;padding:5px 10px;border-radius:4px}.shell nav button.active{color:#fff;border:1px solid #a45432;background:linear-gradient(#e3a176,#b56844);text-shadow:0 1px #6f3b2a;box-shadow:inset 0 1px #f8cdae}.shell .deck-launch{background:var(--aqua-metal);color:#30443c;border:1px solid #8e9a95;border-radius:12px;box-shadow:inset 0 1px white;font-size:11px;padding:5px 12px}.shell .motion{color:#6b5141}.shell .motion span{font-size:19px}
.portal-collage .web-desktop{background:radial-gradient(ellipse at 59% 39%,#17424775,transparent 65%),linear-gradient(145deg,#080d16,#101e28 62%,#06141b);transition:background-color .6s}
.portal-collage .web-desktop[data-wallpaper=dusk]{background:radial-gradient(ellipse at 63% 63%,#9c594558,transparent 63%),linear-gradient(140deg,#1b1523,#342530 56%,#142835)}
.portal-collage .web-desktop[data-wallpaper=lagoon]{background:radial-gradient(ellipse at 58% 34%,#315e7060,transparent 65%),linear-gradient(150deg,#0b1421,#143d42 62%,#0a2530)}
.wallpaper-switch{position:absolute;right:19px;top:17px;z-index:12;border:1px solid #8daca55e;border-radius:50%;width:34px;height:34px;background:#0c1c2580;color:#efdbb3;font:24px/1 Georgia;box-shadow:inset 0 1px #dcece726;transition:rotate .4s,scale .3s}.wallpaper-switch:hover{rotate:-25deg;scale:1.15}.wallpaper-switch:after{content:'wallpaper';position:absolute;right:0;top:40px;font:10px Tahoma;background:#e4e7df;color:#26332e;padding:5px 7px;border-radius:4px;opacity:0;pointer-events:none}.wallpaper-switch:hover:after,.wallpaper-switch:focus-visible:after{opacity:1}
.portal-collage .desktop-window,.portal-collage #desk-entry{padding:3px;background:#c7ccc8;border:1px solid #bdc8c4;border-bottom-color:#556762;border-right-color:#697b75;border-radius:9px 9px 5px 5px;box-shadow:0 2px 2px #000b,0 10px 22px #0006}
.portal-collage .desktop-window.is-front{box-shadow:0 2px 3px #000b,0 15px 32px #0009,0 0 0 1px #d4ded322}
.portal-collage .desktop-titlebar,.portal-collage #desk-entry .desktop-titlebar{position:relative;height:27px;border-radius:6px 6px 0 0;padding:3px 5px;background:repeating-linear-gradient(0deg,#c2c6c1 0 1px,#d5d8d1 1px 3px)!important;border-top:1px solid #f5f6ef;border-bottom:1px solid #929e96;gap:7px}
.portal-collage .window-grab{font:11px 'Lucida Grande',Tahoma,sans-serif;color:#24332d;text-shadow:0 1px #fff9;text-align:center;padding:2px 9px}
.portal-collage .desktop-titlebar>div{order:-1;flex-direction:row-reverse;gap:5px}
.portal-collage .desktop-titlebar>div>button{border:1px solid #825743;border-radius:50%;width:14px;height:14px;min-height:0;font:bold 12px/1 Arial;color:transparent;box-shadow:inset 0 1px #ffefce,0 1px #fff9;background:radial-gradient(circle at 48% 26%,#fff3d0,#e3aa42 49%,#b77528)}
.portal-collage .desktop-titlebar>div>[data-close-window]{border-color:#9e5047;background:radial-gradient(circle at 48% 26%,#ffe4d7,#e77a65 48%,#b54938)}
.portal-collage .desktop-titlebar>div>button:hover,.portal-collage .desktop-titlebar>div>button:focus-visible{color:#5b2d16}
.portal-collage .desktop-menu{background:linear-gradient(#e9ebe5,#c3cac2);padding:7px 8px;gap:18px;border-bottom:1px solid #87968e}.portal-collage .desktop-menu button{font:11px Tahoma;color:#304238;text-decoration:none}.portal-collage .desktop-menu button:hover{background:#b57750;color:white;border-radius:2px}.portal-collage .desktop-status{background:linear-gradient(#d9ded7,#bac5ba);border:0;border-top:1px solid #8d9b92;color:#3a4d42;padding:5px;border-radius:0 0 3px 3px}
.portal-collage #desk-entry{border-color:#f2d5ae #987354 #8c684c #e6c8a2;box-shadow:0 2px 3px #0009,0 12px 30px #0009,0 0 25px #e4ac4820}.portal-collage #desk-entry .desktop-titlebar{background:linear-gradient(#f1dec6,#c6ad8c 50%,#e1cbaa)!important;border-color:#fff0d8 #998569 #998569}.entry-light{color:#658846;filter:none}.visual-entry{margin-top:0;border:1px solid #697d74;border-radius:0 0 3px 3px;background:radial-gradient(ellipse at 0 100%,#1c47442e,transparent),#101f26}.visual-entry .shuffle-object b,.visual-entry .area-terminal>label>b{font-size:13px;color:#f0efdc}.visual-entry .entry-play{border:1px solid #928870;border-radius:12px;box-shadow:inset 0 1px #f7e7cb;background:linear-gradient(#ecd7ad,#bfa67d);padding:4px 23px;color:#24322b}.visual-entry .terminal-input{border-radius:10px;background:#061118;border-color:#758f89;overflow:hidden}.visual-entry .terminal-input input{font-size:12px}.visual-entry .area-suggestions button{font-size:11px;color:#c7e1d4}.visual-entry .area-terminal>label{gap:10px}
.portal-collage .desk-folders{gap:8px;background:#e6e9e2}.desk-folders>button>svg{width:46px;height:45px}.portal-collage .desk-folders>button{font-size:11px;width:33%}.portal-collage .folder-address{border:1px solid #9aa99d;border-radius:14px;margin:9px 7px 0;padding:6px 10px;background:#f8f8f0}.portal-collage .desktop-link{border:1px solid #8a9c8f;background:var(--aqua-metal);border-radius:4px;padding:6px;text-align:center}
/* A compact, icon-led dock, with breathing room inside the desktop. */
.portal-collage .desktop-taskbar{left:50%;right:auto;bottom:14px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);height:64px;padding:5px 11px;gap:10px;border:1px solid #c3d2cc99;border-top-color:#f3fff2bc;border-radius:12px;background:linear-gradient(#f1f4e644,#a2bbba44 48%,#50656e77 49%,#9cafb98f);box-shadow:inset 0 1px #fff7,0 5px 16px #000a;backdrop-filter:blur(14px);overflow:visible}
.portal-collage .desktop-tasks{gap:9px;overflow:visible;align-items:center}.portal-collage .desktop-taskbar button{position:relative;width:48px;height:49px;padding:3px;background:none;border:0;border-radius:7px;box-shadow:none;display:grid;place-items:center;transition:translate .2s,scale .2s;transform-origin:center bottom;color:#edf5e9}.portal-collage .desktop-taskbar button[aria-pressed=true]{background:#ecfce217;border:0}.desktop-taskbar svg{width:43px;height:43px;filter:drop-shadow(0 3px 2px #0008)}.desktop-taskbar .folder-art{width:40px;height:29px;margin-top:5px}.portal-collage .desktop-taskbar button[aria-pressed=true]:after{content:'';position:absolute;bottom:-3px;width:5px;height:5px;border-radius:50%;background:#ebffd3;box-shadow:0 0 3px #ebffd3}.portal-collage .desktop-taskbar button:hover{translate:0 -9px;scale:1.18;background:none}.dock-label{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;font:10px Tahoma;background:#f2f3e9ee;color:#27372e;border:1px solid #a2b1a5;border-radius:5px;padding:5px 8px;opacity:0;pointer-events:none;box-shadow:0 2px 6px #0007}.desktop-taskbar button:hover .dock-label,.desktop-taskbar button:focus-visible .dock-label{opacity:1}.portal-collage .desktop-taskbar .desk-reset{width:37px;border-left:1px solid #c3d1cf55;border-radius:0;margin-left:2px;padding-left:9px}.desk-reset>span:first-child{font:33px Georgia;text-shadow:0 2px #163731}.portal-collage .desktop-taskbar button.is-minimised{opacity:.7}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:12px 22px;margin:0;background:#091017;border-top:1px solid #53655f;font:10px/1.5 Tahoma;flex-wrap:wrap}.site-footer>*{margin:0}.site-footer .blueprint-link{margin-left:auto}.site-footer button{background:none;border:0;padding:0;font:10px Tahoma;color:#bac8c5}
/* Metro is a view inside Places. The two buttons stay visible above either collection. */
.places-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px 18px}.places-heading h1{margin:0}.places-switch{display:flex;flex:none;border:1px solid #8a9a92;border-radius:8px;overflow:hidden;box-shadow:0 2px 3px #0005}.places-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:96px;min-height:38px;border:0;border-right:1px solid #84978d;background:var(--aqua-metal);color:#283d32;font:12px Tahoma;padding:5px 15px}.places-switch button:last-child{border:0}.places-switch button[aria-pressed=true]{background:linear-gradient(#d2a77b,#aa724d);color:#fff9ec;text-shadow:0 1px #79553f;box-shadow:inset 0 1px 4px #643a2f55}.places-switch svg{width:24px;height:24px}#places-areas[hidden],#metro[hidden],#photo-pairs[hidden],.keepsake-wall[hidden]{display:none!important}#places #metro{padding:9px 30px 32px;min-height:0;background:none}.metro-heading{margin-bottom:16px;gap:11px}.metro-heading svg{width:35px;height:43px}.metro-heading h2{font:italic 33px/1.2 Georgia;color:#d8e7e3;margin:0;letter-spacing:-1px}.metro-media-window,.metro-station-window,.cinema-chrome{border:1px solid #bdc8c4;border-radius:8px 8px 4px 4px;background:#c5cdc7;box-shadow:0 8px 20px #0008}.metro-bar,.cinema-titlebar,.deck-title{background:var(--aqua-metal);border-radius:5px 5px 0 0;color:#293b32;text-shadow:0 1px #fff9}.metro-line-picks button{border:1px solid #819b96;border-radius:14px;background:linear-gradient(#36504e,#182d30);padding:7px 14px}.metro-line-picks button[aria-pressed=true]{background:#d5dfd3;color:#173b38;border-color:#eefbea}.metro-window-status{border:0;font-size:10px}.route-title{background:var(--aqua-metal);color:#293b32}.route-window{border:1px solid #b0c6bd;border-radius:6px;overflow:hidden}.transport{background:var(--aqua-metal)}.transport button,.transport #note-toggle{border-radius:10px;border:1px solid #879c90;background:linear-gradient(#f7f9f1,#b7c3bb);box-shadow:inset 0 1px white}.sound-deck{border-radius:8px 8px 3px 3px}
/* Play stays in the collection: the same photographs turn into pairs. */
#photo-pairs{margin:0 auto 24px;max-width:1000px}.pair-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#d5e6dc;font:12px Tahoma;margin-bottom:15px}.pair-toolbar button{font:11px Tahoma;border:1px solid #90a898;border-radius:10px;background:var(--aqua-metal);color:#2d4434;padding:5px 12px}.pair-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pair-card{position:relative;aspect-ratio:1.2;border:1px solid #96ada6;border-radius:6px;background:#122a34;box-shadow:0 4px 8px #0007;padding:0;perspective:800px;overflow:hidden;transition:scale .25s,box-shadow .25s}.pair-card img{width:100%;height:100%;object-fit:cover;opacity:0;transform:rotateY(90deg);transition:transform .35s,opacity .25s}.pair-card .pair-back{position:absolute;inset:0;display:grid;place-items:center;font:52px Georgia;color:#b9c9d7;background:repeating-radial-gradient(ellipse at 0 0,#253c4b 0 1px,transparent 1px 9px),linear-gradient(135deg,#263c4e,#12232f);transition:transform .35s,opacity .25s;backface-visibility:hidden}.pair-card:nth-child(3n) .pair-back{color:#e1b6cd;background:repeating-radial-gradient(ellipse at 100% 100%,#564257 0 1px,transparent 1px 9px),#251e31}.pair-card:hover{scale:1.025}.pair-card.revealed img,.pair-card.matched img{opacity:1;transform:rotateY(0)}.pair-card.revealed .pair-back,.pair-card.matched .pair-back{opacity:0;transform:rotateY(-90deg)}.pair-card.matched{border-color:#bddea9;box-shadow:0 0 0 2px #80af8066}.pair-card.matched:after{content:'♡';position:absolute;right:7px;bottom:7px;background:#142922c9;color:#d6f4c6;font:21px Georgia;border-radius:50%;width:29px;height:29px}.pair-grid.is-complete .pair-card{animation:pair-happy .5s both;animation-delay:calc(var(--card-index)*45ms)}@keyframes pair-happy{50%{translate:0 -8px;rotate:2deg}}
/* A sticker belongs on the desktop itself, rather than confined to a game window. */
.portal-collage #desk-stickers .sticker-board{height:105px}.portal-collage #desk-stickers .sticker-board>span{font-size:24px;color:#b4c9c2}.portal-collage #desk-stickers .sticker-play>small{font:10px/1.5 Tahoma;color:#c2d6cf}.desktop-sticker{position:absolute;z-index:95;touch-action:none;cursor:grab;user-select:none;border:0;background:none;padding:6px;color:var(--sticker-color);font:bold 43px/1 Georgia;transform:rotate(var(--rot));text-shadow:1px 1px #fff,2px 3px #0a1119,3px 4px #02070d;filter:drop-shadow(0 3px 4px #0006);transition:scale .15s}.desktop-sticker:hover{scale:1.12}.desktop-sticker:active{cursor:grabbing}.desktop-sticker:focus-visible{outline:1px dashed white;outline-offset:3px}.desktop-sticker[data-symbol=HYD]{font:italic bold 27px Georgia;color:#d9e8df}
@media(max-width:900px){.shell{padding:7px 13px;gap:10px}.shell nav button{font-size:11px;padding:5px 8px}.shell .brand{font-size:18px}.shell .deck-launch{font-size:10px;padding:5px 8px}.portal-collage #desk-notes{top:567px}.loose-disc{top:605px}.portal-collage .web-desktop{height:835px}.places-heading{padding:20px 23px 15px}.places-heading h1{font-size:43px}.pair-grid{gap:12px}}
@media(max-width:620px){.shell{gap:7px;flex-wrap:wrap;justify-content:space-between;padding:8px 12px}.shell .brand{font-size:18px}.shell nav{order:3;width:100%;justify-content:center;border-top:1px solid #a7b0a733;padding-top:4px;margin:0}.shell nav button{font-size:12px;padding:5px 16px}.shell .deck-launch{margin-left:auto}.shell .motion{margin:0;padding:0}.portal-collage .web-desktop{height:auto;padding-bottom:119px;padding-top:282px}.wallpaper-switch{top:100px;right:14px;width:29px;height:29px;font-size:22px}.portal-collage #desk-notes{top:auto}.loose-disc{top:auto}.portal-collage .desktop-taskbar{height:57px;padding:4px 7px;gap:4px;bottom:15px;width:max-content;max-width:calc(100% - 18px)}.portal-collage .desktop-tasks{gap:2px;overflow:visible}.portal-collage .desktop-taskbar button{width:38px;height:43px;padding:2px}.desktop-taskbar svg{width:35px;height:35px}.desktop-taskbar .folder-art{width:31px;height:23px}.portal-collage .desktop-taskbar .desk-reset{width:30px;padding-left:5px}.desk-reset>span:first-child{font-size:27px}.desktop-taskbar .dock-label{display:none}.portal-collage .desktop-taskbar button:hover{scale:1.08;translate:0 -4px}.portal-collage .desktop-titlebar{height:29px}.portal-collage .desktop-titlebar>div>button{width:18px;height:18px}.portal-collage .window-grab{font-size:10px;padding-inline:4px}.portal-collage #desk-entry .window-grab{font-size:11px}.site-footer{padding:12px 15px;gap:7px 15px;justify-content:flex-start}.site-footer>span{width:100%}.site-footer .blueprint-link{margin-left:0}.places-heading{padding:18px 15px;gap:10px}.places-heading h1{font-size:37px}.places-switch button{min-width:77px;min-height:36px;padding:4px 9px;font-size:11px}.places-switch svg{width:21px}#places #metro{padding:0 15px 25px}.metro-heading h2{font-size:29px}.metro-heading svg{width:29px;height:37px}.metro-layout{gap:22px}.pair-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pair-toolbar{font-size:11px}.pair-card{aspect-ratio:1.12}.pair-back{font-size:40px}.collection-tools{margin-bottom:20px}.collection-tools button{min-height:33px}.desktop-sticker{font-size:34px}.portal-collage #desk-view{width:58%}}
.motion-off .pair-card,.motion-off .pair-card *,.motion-off .wallpaper-switch{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.pair-card,.pair-card *,.wallpaper-switch,.desktop-sticker{animation:none!important;transition:none!important}}
/* One finder accepts neighbourhoods, stations and line names. */
.discovery-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 30px 20px;max-height:340px;overflow:auto}.discovery-result{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0;text-align:left;padding:11px 13px;background:#132a32;border:1px solid #526c65;border-left:3px solid var(--result-line,#a4ba94);border-radius:5px;color:#e8f0e7;font:12px/1.3 Tahoma}.discovery-result small{font:10px Tahoma;color:#aecaC2}.discovery-result:hover{background:#244239;border-color:#bec9a7}.discovery-results>p{font:12px Tahoma;color:#decaba;grid-column:1/-1}#places[data-view=metro] .map-tools>button,#places[data-view=metro] .map-status{display:none}.map-tools label{flex:1;max-width:440px;border:1px solid #729182;border-radius:14px;box-shadow:inset 0 2px 4px #0008}.map-tools input{width:100%;font-size:13px}.area-finder{margin:8px 0 17px;max-width:590px}.area-finder>input{width:100%;padding:10px 15px;background:#081b24;border:1px solid #718d80;border-radius:15px;font:12px Tahoma;color:#edf1e6}.area-finder>input::placeholder{color:#afc5bc}.area-finder .discovery-results{padding:10px 0;grid-template-columns:1fr 1fr;max-height:270px}
.visual-entry .area-suggestions{max-height:100px;overflow:auto;display:flex;flex-wrap:wrap}.visual-entry .area-suggestions .discovery-result{font-size:10px;padding:0;background:none;border:0;text-decoration:underline;color:#d3e6ce;display:block}.visual-entry .area-suggestions .discovery-result small{display:none}.visual-entry .area-suggestions.has-query{display:grid;grid-template-columns:1fr;gap:3px;justify-content:stretch}.visual-entry .area-suggestions.has-query .discovery-result{text-decoration:none;padding:4px 6px;background:#183139;display:flex;gap:3px}.visual-entry .area-suggestions.has-query .discovery-result small{display:block;color:#c5a990;font-size:9px}.visual-entry .area-terminal{min-width:0}
#metro-stations{max-height:315px;overflow:auto;overscroll-behavior:contain}#metro-station-context{position:relative;border:1px solid #64867d;border-left:3px solid var(--line);border-radius:5px;padding:12px 37px 12px 14px;margin:4px 0 18px;background:#162d34;display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap}#metro-station-context[hidden]{display:none}#metro-station-context strong{font:18px Georgia;color:#f0eee1}#metro-station-context>span{font:12px Tahoma;color:#c1d7cd}#metro-station-context small{font:10px Tahoma;color:#b9c5bf;width:100%}#metro-station-context>button{position:absolute;right:8px;top:8px;background:transparent;border:0;color:#d9e6dc;font:20px Tahoma}
@media(max-width:620px){.discovery-results{grid-template-columns:1fr 1fr;padding:0 15px 16px;gap:7px}.discovery-result{font-size:11px;padding:9px}.discovery-result small{font-size:9px}.map-tools input{font-size:12px}.area-finder .discovery-results{padding-inline:0}.visual-entry .terminal-input input{font-size:10px;padding-inline:6px}.visual-entry .area-suggestions{max-height:95px}}
#metro-preview[hidden],#metro-empty[hidden]{display:none!important}#metro-empty{min-height:259px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#10222b;color:#d8e4dc;font:italic 25px Georgia}#metro-empty svg{width:95px;height:95px;opacity:.75}#metro-empty button{font:11px Tahoma;border:1px solid #8faaa0;border-radius:12px;background:var(--aqua-metal);color:#324b3c;padding:7px 14px}
@media(min-width:621px){.portal-collage .desktop-icons{gap:13px}}
