/* 0.24: compact chrome, painted controls, authoritative shared journeys. */
/* Restoration and view changes are immediate; intentional journeys request smooth scrolling explicitly. */
html{scroll-behavior:auto}
.topbar,#connection{display:none!important}#app{padding-top:max(12px,env(safe-area-inset-top));min-height:calc(100svh - 85px)}
#app .page-head{gap:8px;padding:0 0 9px;margin:0 0 10px;align-items:center;border:0;min-height:0}#app .page-head h1{font-size:clamp(1.2rem,3vw,1.6rem);line-height:1.2;margin:0}#app .page-head .eyebrow{display:none}#app .page-head p{font-size:.77rem;margin:3px 0 0;line-height:1.3}#app .page-head>.pill{white-space:nowrap}
.hero-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}.hero-tabs button{min-height:65px}.hero-tabs .menu-art,.hero-tabs .ui-art{width:35px;height:35px;flex-basis:35px}.hero-tabs .menu-label{font-size:clamp(10px,2.7vw,12px)}.hero-stats button.stat{color:inherit;font:inherit;min-width:0;cursor:pointer;border:1px solid #aa8d5355}.hero-stats button.stat:active{border-color:#e4c572}.stat-vital{border:0!important;background:none!important;padding:6px 0!important;color:inherit;font:inherit;min-height:32px}.hero-resists button{background:#263129;border:1px solid #806941;color:#e5d4b5;display:inline-flex;align-items:center;gap:4px;padding:6px;border-radius:6px}
.comfort-popup{position:fixed;inset:0;margin:auto;max-height:80svh;overflow:auto;width:min(370px,calc(100vw - 30px));box-sizing:border-box;border:2px solid #b69558;border-radius:14px;padding:24px;background:linear-gradient(135deg,#343a2b,#111e1a);color:#f3e4c5;box-shadow:0 20px 70px #000b,inset 0 0 0 3px #151c16}.comfort-popup::backdrop{background:#07100bb5;backdrop-filter:blur(3px)}.comfort-popup h2{font:1.4rem Georgia;margin:8px 20px 12px 0}.comfort-popup p{font-size:.9rem;line-height:1.6}.popup-x{position:absolute;right:6px;top:5px;min-width:40px;min-height:40px;padding:4px;border:0;background:none;color:#ebd39f;font-size:27px}.map-popup>.map-landmark{width:95px;height:95px}.map-popup-risk{color:#eac580;font-size:.8rem;margin-bottom:14px}.stat-current{font:2.3rem Georgia;color:#ffe1a1}.stat-popup-icon .ui-art{width:48px;height:48px}.stat-popup p{margin-bottom:0}
.departure-banner{position:relative;z-index:6;padding:12px;margin-bottom:12px;border:2px solid #bb9556;border-radius:12px;background:linear-gradient(110deg,#50412c,#202d22 70%);box-shadow:inset 0 0 0 2px #151a15,0 5px 20px #0005;animation:departure-in .4s ease-out}.departure-title{display:flex;gap:10px;align-items:center}.departure-title>.portrait{width:47px;height:55px;flex-shrink:0}.departure-title>div{display:grid;gap:3px}.departure-title small{font-size:.72rem;color:#d0b98d}.departure-title strong{font:1.1rem Georgia;color:#ffe3a5}.departure-title span{font-size:.68rem}.departure-response{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.departure-response .ready-portraits{gap:3px;margin:0;justify-content:flex-start;flex-wrap:wrap}.departure-response .ready-person .portrait{width:27px;height:32px}.departure-response>div:last-child{display:flex;align-items:center;flex-shrink:0}.departure-response .game-button{padding:8px;font-size:.72rem;min-height:42px}.departure-response .ui-art{width:22px;height:22px;flex-basis:22px}
.expedition-progress{height:auto;overflow:visible;margin:0 0 12px;background:none;display:grid;grid-template-columns:1fr auto;gap:5px 12px;color:#ddc58d;font-size:.67rem}.expedition-progress>strong{font:1rem Georgia}.expedition-progress .route-progress-track{height:11px;grid-column:1/-1;border:1px solid #b99250;border-radius:8px;background:#101e18;box-shadow:inset 0 2px 4px #0008;position:relative}.route-progress-track>i{border-radius:6px;background:linear-gradient(#edce86,#99703d);min-width:4px;position:relative}.route-progress-track>i:after{content:'◆';position:absolute;right:-5px;top:-4px;font-size:15px;color:#ffe3a1;text-shadow:0 0 8px #ffc94b}
.expedition-viewport{height:clamp(300px,calc(100svh - 245px),760px)}.chart-toolbar{padding:6px 10px}.chart-toolbar .game-button{min-height:34px}.expedition-chart{margin:0}.chart-key,.map-choice{display:none!important}
#travel-map .node.current .travel-lantern{position:absolute;left:50%;top:23px;width:38px;height:46px;margin:0;transform:translateX(-50%);animation:lantern-light 1.8s ease-in-out infinite;filter:drop-shadow(0 0 14px #ffce45)}#travel-map .travel-lantern:before{content:'';position:absolute;inset:-19px;border-radius:50%;background:radial-gradient(#ffe96899,#ffc33155 35%,transparent 70%);z-index:-1;animation:lantern-halo 1.8s ease-in-out infinite}.expedition-traveller:before{content:'';position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(#ffe27b88,transparent 70%);z-index:-1}.travel-caption{position:absolute;left:10px;right:10px;bottom:10px;z-index:6;text-align:center;pointer-events:none;padding:8px;border:1px solid #ad8a4f;border-radius:8px;color:#ffe3a4;background:#14231aeb;font:.8rem Georgia}.expedition-chart:has(.travel-caption) .chart-toolbar{border-color:#e0be6a}.expedition-chart{position:relative}
.quest-giver>.portrait{width:32px;height:38px;flex-shrink:0}.quest-travel-link{margin-top:8px!important}.hero-quest-panel .quest-book-cover{display:none}.hero-quest-panel .quest-tabs{margin-top:0}.hero-quest-panel .quest-tabs .game-button{font-size:.72rem;padding:8px}.hero-quest-panel .quest-tabs .ui-art{display:none}.hero-quest-panel .quest-book>.page-head{display:none!important}
@keyframes lantern-light{0%,100%{translate:0 -3px;rotate:-8deg;filter:drop-shadow(0 0 9px #ffc737)}50%{translate:0 4px;rotate:8deg;filter:drop-shadow(0 0 23px #ffe776)}}@keyframes lantern-halo{0%,100%{opacity:.45;scale:.8}50%{opacity:1;scale:1.3}}@keyframes departure-in{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(max-width:360px){.departure-response{align-items:flex-start}.departure-response .game-button{font-size:.67rem}.departure-response .ready-person .portrait{width:22px;height:29px}.departure-response .ready-person{width:24px}.comfort-popup{padding:18px}.hero-tabs{gap:3px;padding:4px}.hero-tabs .menu-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){#travel-map .node.current .travel-lantern,#travel-map .travel-lantern:before,.departure-banner{animation:none}}.reduce-motion #travel-map .node.current .travel-lantern,.reduce-motion #travel-map .travel-lantern:before,.reduce-motion .departure-banner{animation:none}
