.world-main.view-ships,.world-main.view-log,.world-main.view-career{position:relative;display:block;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 0 calc(92px + env(safe-area-inset-bottom));background:#243f41}
.fullscreen-main-view{position:relative;isolation:isolate;min-height:100%;overflow:hidden;color:#1f3535}
.fullscreen-main-view__backdrop{position:absolute;z-index:0;inset:0;min-height:100%;background-color:#28484a;background-image:var(--fullscreen-art),var(--fullscreen-fallback);background-position:center;background-size:cover;background-repeat:no-repeat}
.fullscreen-main-view__overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(17,43,45,.78),rgba(17,43,45,.38) 48%,rgba(17,43,45,.62)),linear-gradient(180deg,rgba(14,35,37,.34),rgba(14,35,37,.72))}
.fullscreen-main-view__content{position:relative;z-index:2;width:min(1500px,100%);margin:0 auto;padding:clamp(20px,4vw,52px) clamp(14px,4vw,52px) 28px}
.fullscreen-main-view__header{max-width:760px;margin-bottom:18px;padding:18px 22px;border:1px solid rgba(255,250,231,.25);border-radius:16px;background:rgba(255,251,235,.78);box-shadow:0 10px 30px rgba(10,28,29,.2);backdrop-filter:blur(7px)}
.fullscreen-main-view__header h1{margin:4px 0 5px;color:#203b3b;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}
.fullscreen-main-view__header p{margin:0;color:#526864;line-height:1.45}
.fullscreen-view-panel{min-width:0;border:1px solid rgba(255,250,231,.28);border-radius:18px;background:rgba(247,245,232,.84);box-shadow:0 14px 35px rgba(10,28,29,.24);backdrop-filter:blur(8px)}
.fullscreen-view-panel--ships{padding:clamp(12px,2vw,24px)}
.fullscreen-view-panel--ships .fleet-operations-center{background:transparent;border:0;box-shadow:none;padding:0}
.fullscreen-view-panel--ships .fleet-operations-center>.button.full{display:none}
.fullscreen-view-panel--office{padding:clamp(12px,2vw,24px)}
.fullscreen-view-panel--office .office-directory-view{padding:0;background:transparent;min-height:0}
.fullscreen-view-panel--log,.fullscreen-view-panel--career{padding:clamp(16px,3vw,32px)}
.fullscreen-logbook{min-width:0}.fullscreen-section-heading{margin-bottom:16px}.fullscreen-section-heading h2{margin:5px 0}.fullscreen-section-heading p{margin:0;color:var(--muted)}
.fullscreen-log-list{display:grid;gap:10px;max-height:none;overflow:visible}.fullscreen-log-list .log-entry{display:grid;grid-template-columns:minmax(110px,18%) minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid rgba(91,108,101,.18)}.fullscreen-log-list .log-entry:first-child{border-top:0}.fullscreen-log-list .log-entry small{color:var(--muted);font-size:.78rem}.fullscreen-log-list .log-entry strong{display:block}.fullscreen-log-list .log-entry p{margin:4px 0 0;color:var(--muted);line-height:1.45}
.fullscreen-view-panel--career .career-overview-stack{display:grid;gap:18px}.fullscreen-view-panel--career .career-overview,.fullscreen-view-panel--career .career-national-card{background:rgba(255,253,247,.82)}
.fullscreen-main-view--hub .fullscreen-main-view__content{min-height:100%;padding:clamp(12px,3vw,34px) clamp(10px,3vw,34px) calc(82px + env(safe-area-inset-bottom))}
.hub-scene-heading{position:relative;z-index:3;max-width:520px;margin:0 0 8px;padding:8px 12px;color:#fffaf0;text-shadow:0 2px 10px rgba(8,25,27,.8)}.hub-scene-heading h1{margin:3px 0;font:clamp(1.45rem,3vw,2.5rem)/1 Georgia,serif}.hub-scene-heading p{margin:0;font-size:.86rem;opacity:.94}
.hub-scene{position:relative;min-height:clamp(520px,calc(100dvh - 180px),850px);margin:-4px -4px 0}.hub-hotspots{position:absolute;inset:0}.hub-hotspot{position:absolute;left:var(--hotspot-x);top:var(--hotspot-y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;min-width:126px;max-width:190px;padding:7px 10px;border:1px solid rgba(255,250,231,.7);border-radius:12px;background:rgba(35,57,55,.78);color:#fffaf0;box-shadow:0 5px 18px rgba(5,22,23,.38);font-size:.74rem;font-weight:700;text-align:left;backdrop-filter:blur(3px);touch-action:manipulation;transition:transform .15s ease,background .15s ease}.hub-hotspot:hover,.hub-hotspot:focus-visible{transform:translate(-50%,-50%) scale(1.05);background:rgba(117,83,42,.92);outline:2px solid #fff4c9;outline-offset:2px}.hub-hotspot-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:7px;background:rgba(255,250,231,.88)}.hub-hotspot-icon img{width:24px;height:24px;object-fit:contain}.hub-hotspot-badge{display:grid;place-items:center;min-width:20px;height:20px;margin-left:auto;border-radius:50%;background:#b74d3f;color:#fff;font-size:.72rem}.hub-status-bar{position:absolute;z-index:3;right:8px;top:4px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:58%;padding:7px 9px;border:1px solid rgba(255,250,231,.45);border-radius:10px;background:rgba(25,48,48,.64);color:#fffaf0;font-size:.68rem;backdrop-filter:blur(3px)}.hub-status-bar span{white-space:nowrap}.hub-status-bar b{color:#f6d894}.hub-scene-hint{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%);margin:0;padding:5px 10px;border-radius:8px;background:rgba(25,48,48,.55);color:#fffaf0;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.fullscreen-main-view__content{padding-top:16px}.fullscreen-main-view__header{padding:15px 17px}.fullscreen-view-panel--ships{padding:10px}.fullscreen-view-panel--office{padding:10px}.fullscreen-view-panel--career{padding:14px}}
@media(max-width:600px){.fullscreen-main-view__overlay{background:linear-gradient(180deg,rgba(17,43,45,.58),rgba(17,43,45,.82))}.fullscreen-main-view__content{padding-inline:10px}.fullscreen-log-list .log-entry{grid-template-columns:1fr;gap:4px}.fullscreen-view-panel--log,.fullscreen-view-panel--career{padding:12px}}
@media(max-width:760px){.hub-scene{min-height:calc(100dvh - 210px)}.hub-hotspot{min-width:108px;max-width:145px;padding:6px 7px;font-size:.66rem}.hub-hotspot-icon{flex-basis:24px;width:24px;height:24px}.hub-hotspot-icon img{width:20px;height:20px}.hub-status-bar{position:relative;right:auto;top:auto;max-width:100%;justify-content:center;margin:4px 4px 0}.hub-scene{margin-top:4px}.hub-scene-heading{padding-inline:7px}.hub-hotspot--crew,.hub-hotspot--manager,.hub-hotspot--politics{transform:translate(-65%,-50%)}}

/* Sprint 10B.1: the city scene is the shared visual language for hubs. */
.world-main.view-ships,.world-main.view-office,.world-main.view-log,.world-main.view-career{min-height:calc(100dvh - 178px);padding-bottom:0;background:transparent}
.fullscreen-main-view--hub,.fullscreen-main-view--hub .fullscreen-main-view__content{min-height:calc(100dvh - 178px)}
.fullscreen-main-view--hub .fullscreen-main-view__content{padding-bottom:0}
.fullscreen-main-view--hub .fullscreen-main-view__overlay{background:linear-gradient(90deg,rgba(255,248,225,.05),rgba(255,248,225,.01) 52%,rgba(17,43,45,.16)),linear-gradient(180deg,rgba(255,248,225,.03),rgba(17,43,45,.2))}
.fullscreen-main-view--hub .hub-scene{height:calc(100dvh - 250px);min-height:460px;max-height:none;margin-top:0}
.fullscreen-main-view--hub .hub-hotspot{min-width:126px;max-width:190px;padding:9px 16px 9px 8px;border:1px solid #c3b38c;border-radius:10px;background:#fff7e5f2;color:#243e42;box-shadow:0 3px 9px #3a392b55;font-family:Georgia,serif;font-size:.86rem;font-weight:400;backdrop-filter:none}
.fullscreen-main-view--hub .hub-hotspot:hover,.fullscreen-main-view--hub .hub-hotspot:focus-visible{background:#fffbeef7;color:#243e42;outline:3px solid #267b80;outline-offset:2px;transform:translate(-50%,-50%) scale(1.04)}
.fullscreen-main-view--hub .hub-hotspot-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#75603e}
.fullscreen-main-view--hub .hub-hotspot-icon img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(20,30,25,.28))}
.fullscreen-main-view--hub .hub-hotspot-icon.is-missing{display:none}
.fullscreen-main-view--hub .hub-hotspot-badge{background:#267b80;color:#fff8e7}
.fullscreen-main-view--hub .hub-status-bar{background:#fff7e5e8;color:#243e42;border:1px solid #c3b38c;box-shadow:0 3px 9px #3a392b55;backdrop-filter:none}
.fullscreen-main-view--hub .hub-status-bar b{color:#155860}
.fullscreen-main-view--hub .hub-scene-heading{color:#fffaf0;text-shadow:0 2px 10px rgba(8,25,27,.45)}
.fullscreen-main-view--hub .hub-scene-hint{display:none}
@media(max-width:760px){.fullscreen-main-view--hub,.fullscreen-main-view--hub .fullscreen-main-view__content{min-height:calc(100dvh - 178px)}.fullscreen-main-view--hub .hub-scene{height:calc(100dvh - 240px);min-height:460px}.fullscreen-main-view--hub .hub-hotspot{min-width:108px;max-width:145px;padding:6px 9px 6px 6px;font-size:.72rem}.fullscreen-main-view--hub .hub-hotspot-icon{flex-basis:28px;width:28px;height:28px}.fullscreen-main-view--hub .hub-hotspot-icon img{width:23px;height:23px}}

/* Sprint 10D.1: subviews are direct full-bleed tavern/shipyard-style rooms. */
.fullscreen-main-view--subview,.fullscreen-main-view--subview .fullscreen-main-view__content{min-height:calc(100dvh - 178px);height:calc(100dvh - 178px);background:#eef1ea}
.fullscreen-main-view--subview .fullscreen-main-view__content{width:100%;max-width:none;margin:0;padding:0;overflow:hidden}
.hub-subview-shell{display:grid;grid-template-columns:minmax(300px,40%) minmax(0,1fr);width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;background:#fffefa;color:#243e42;overflow:hidden}
.hub-subview-header{display:grid;gap:4px;padding:16px 20px 14px;border-bottom:1px solid rgba(117,96,62,.2);background:rgba(255,251,239,.78)}
.hub-subview-header h1{margin:0;font:clamp(1.45rem,3vw,2.25rem)/1.1 Georgia,serif;color:#203b3b}
.hub-subview-back{justify-self:start;padding:4px 0;border:0;background:transparent;color:#267b80;font:600 .82rem/1.2 Georgia,serif;cursor:pointer;touch-action:manipulation}
.hub-subview-back:hover,.hub-subview-back:focus-visible{text-decoration:underline;outline:2px solid #267b80;outline-offset:3px;border-radius:3px}
.hub-subview-body{min-width:0;max-width:100%;padding:clamp(14px,2.5vw,28px);overflow:auto;max-height:none}
.hub-subview-body>.hub-dialog-context{padding:0;background:transparent;box-shadow:none;border:0}
.hub-subview-body .fleet-operations-center,.hub-subview-body .convoy-overview,.hub-subview-body .route-overview,.hub-subview-body .office-view,.hub-subview-body .office-directory-view{max-width:none;margin:0}
.hub-subview-body .fleet-operations-center>.button.full,.hub-subview-body [data-fleet-close],.hub-subview-body [data-route-close],.hub-subview-body [data-convoy-close]{display:none}
.hub-subview-body .hub-log-dialog h2{margin-top:4px}
@media(max-width:760px){.fullscreen-main-view--subview .fullscreen-main-view__content{padding-inline:8px}.hub-subview-shell{border-radius:14px}.hub-subview-header{padding:13px 15px}.hub-subview-body{padding:12px;max-height:calc(100dvh - 285px)}}

/* Direct-pane overrides keep the existing room pattern and remove the old floating shell. */
.hub-subview-shell>*{min-width:0}
.hub-subview-art{position:relative;height:100%;min-height:0;background:#27474a var(--subview-art) center/cover no-repeat;border:0;border-radius:0}
.hub-subview-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,48,49,.04),rgba(19,48,49,.18));pointer-events:none}
.hub-subview-art img{display:block;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center}
.hub-subview-content{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;background:#fffefa}
.hub-subview-content .hub-subview-header{flex:0 0 auto}
.hub-subview-content .hub-subview-body{flex:1 1 auto;min-height:0;max-height:none}
.hub-subview-body{padding:clamp(14px,2.5vw,28px);overflow:auto}
.hub-subview-body>.hub-dialog-context{padding:0;background:transparent;box-shadow:none;border:0}
.hub-subview-body .fleet-operations-center,.hub-subview-body .convoy-overview,.hub-subview-body .route-overview,.hub-subview-body .office-view,.hub-subview-body .office-directory-view{max-width:none;margin:0}
@media(max-width:760px){.fullscreen-main-view--subview,.fullscreen-main-view--subview .fullscreen-main-view__content{height:auto;min-height:calc(100dvh - 178px);overflow:visible}.fullscreen-main-view--subview .fullscreen-main-view__content{padding:0}.hub-subview-shell{display:flex;flex-direction:column;height:auto;min-height:calc(100dvh - 178px);border-radius:0}.hub-subview-art{flex:0 0 clamp(180px,30dvh,280px);height:auto;min-height:0;border:0}.hub-subview-art img{min-height:0}.hub-subview-content{height:auto;min-height:calc(100dvh - 458px);flex:1}.hub-subview-header{padding:13px 15px}.hub-subview-body{padding:12px;max-height:none;overflow:visible}}
