/* A full opaque passenger POV. Scroll remains available without tracks or bars. */
#caravan-cabin{position:fixed;inset:var(--game-chrome-height,0px) 0 0;z-index:90000;display:flex;flex-direction:column;background:#0d1416 url('/assets/ui/caravan/interior-v1.png') center center/cover no-repeat;color:#e7dfc5;isolation:isolate;font-family:Outfit,sans-serif;image-rendering:pixelated;overscroll-behavior:contain}
.caravan-cabin-active #canvas{visibility:hidden}
.cabin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left));background:#111a20 var(--art-stone) repeat;border-bottom:2px solid #8f7b4d;box-shadow:0 3px #0d1416}
.cabin-header h2{font-family:Cinzel,serif;font-size:clamp(16px,2.4vw,24px);color:#e1c77d;margin:4px 0}
.cabin-header small{color:#aab6a7}.cabin-header>.rpg-btn{flex-shrink:0;min-height:44px}
.cabin-content{flex:1;min-height:0;overflow:auto;scrollbar-width:none;padding:clamp(16px,8vh,88px) 16px max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.cabin-content::-webkit-scrollbar{display:none}
.cabin-panel{box-sizing:border-box;width:min(600px,100%);margin:0 auto;border:1px solid #8f7b4d;box-shadow:inset 0 0 0 2px #0d1416,0 4px #0d1416;padding:16px;background:#111a20 var(--art-stone) repeat;line-height:1.45}
.cabin-company{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding-bottom:12px;border-bottom:1px solid #8f7b4d;color:#e1c77d}.cabin-company span{color:#aab6a7}
.cabin-table h3{font-family:Cinzel,serif;color:#e1c77d;margin:12px 0}.cabin-table small{color:#aab6a7;display:block}
.cabin-table .rpg-btn{min-height:44px;white-space:normal;margin:4px 6px 4px 0}
#caravan-cabin .rpg-btn{background:#152b20 var(--art-wood) repeat!important;background-size:96px 64px!important;border:1px solid #8f7b4d;border-radius:0;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #3c4e46;color:#e7dfc5;transform:none;filter:none}
#caravan-cabin .rpg-btn:hover{background-image:var(--art-wood-hover)!important;border-color:#e1c77d;transform:none;filter:none}
#caravan-cabin .rpg-btn:active{background-image:var(--art-wood-selected)!important;transform:none;filter:none}
.cabin-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.cabin-games .rpg-btn{margin:0}
.cabin-game-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cabin-game-head h3{margin-right:auto}.cabin-game-head span{overflow-wrap:anywhere}
.cabin-game-head .rpg-btn{font-size:12px}.cabin-score{color:#e1c77d;font-weight:700;font-size:20px;margin:10px 0}
.cabin-reveal{font-size:32px;text-align:center}.cabin-moves{display:flex;flex-wrap:wrap;gap:6px}
.cabin-promotion{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:10px}.cabin-promotion select{padding:6px;background:#152b20;color:#e7dfc5;border:1px solid #8f7b4d;min-height:36px}
.cabin-chess{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,400px);margin:0 auto;border:3px solid #8f7b4d;box-sizing:border-box}
#caravan-cabin .cabin-square{position:relative;aspect-ratio:1;border:0;border-radius:0;padding:0;margin:0;min-width:0;color:#0d1416;font:clamp(22px,6.5vw,38px)/1 'Segoe UI Symbol',serif;cursor:pointer;background:#a99d77 var(--art-stone) repeat;box-shadow:inset 0 0 0 100px #b6aa7caa}
#caravan-cabin .cabin-square.dark{background-color:#213d30;box-shadow:inset 0 0 0 100px #132b1fbb}
#caravan-cabin .cabin-square:not(.white-piece){text-shadow:1px 0 #d6c89c,-1px 0 #d6c89c,0 1px #d6c89c,0 -1px #d6c89c}
#caravan-cabin .cabin-square.white-piece{color:#fff0cd;text-shadow:1px 1px #0d1416,-1px -1px #0d1416}
#caravan-cabin .cabin-square.selected{outline:3px solid #e1c77d;outline-offset:-3px}
#caravan-cabin .cabin-square.legal::after{content:'';position:absolute;width:8px;height:8px;background:#e1c77d;bottom:3px;right:3px;border:1px solid #0d1416;pointer-events:none}
.cabin-piles,.cabin-trick,.cabin-hand{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}
.cabin-trick{min-height:48px;justify-content:center}.cabin-hand{justify-content:center;align-items:flex-start}.cabin-hand>div{display:flex;flex-direction:column;max-width:74px}
.cabin-card{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:62px;min-height:80px;border:2px solid #8f7b4d;box-shadow:inset 0 0 0 2px #0d1416;background:#e7dfc5 var(--art-stone) repeat;color:#e7dfc5;font:700 20px Outfit,sans-serif;text-shadow:1px 1px #0d1416;cursor:default}
button.cabin-card{cursor:pointer}.cabin-card.red{color:#ff9a8a}button.cabin-card:disabled{opacity:1;cursor:default;border-color:#66747c}
.cabin-piles>.cabin-card,.cabin-trick>.cabin-card{min-height:48px;width:48px;font-size:16px}
.cabin-table details{font-size:12px;color:#aab6a7;margin-top:12px}.cabin-table summary{cursor:pointer;color:#e1c77d}
.cabin-game-body{border:0;margin:0;padding:0;min-inline-size:0}
.cabin-paused{color:#e1c77d;border:1px solid #8f7b4d;padding:10px;background:var(--art-wood) repeat}
.cabin-saved{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.cabin-saved>b{flex-basis:100%;color:#e1c77d}
.cabin-card.illustrated{position:relative;border:0;background:transparent;box-shadow:none;text-shadow:none;padding:0;isolation:isolate}
.cabin-card-art{position:absolute;inset:0;display:block;background-repeat:no-repeat;image-rendering:pixelated;pointer-events:none;z-index:-1}
.cabin-card-rank{position:absolute;top:4px;left:4px;padding:0 2px;color:#172019;background:#e7dfc5;font:700 13px/16px Outfit,sans-serif;pointer-events:none}
.cabin-card.red .cabin-card-rank{color:#8e2828}
.cabin-card-back{display:inline-block;flex:none;width:32px;height:44px;background:transparent url('/assets/ui/caravan/card-back-v1.png') 51% 51%/130% 115% no-repeat;image-rendering:pixelated}
.cabin-opponent-cards{display:flex;justify-content:center;gap:3px;margin:8px 0}
.cabin-opponent-cards .cabin-card-back{width:25px;height:34px}
#caravan-cabin :is(button,select,summary):focus-visible{outline:2px solid #e1c77d;outline-offset:2px}
@media(max-width:600px){.cabin-header{gap:8px;padding:12px}.cabin-header h2{font-size:16px}.cabin-header>.rpg-btn{max-width:120px;font-size:12px}.cabin-content{padding:18px 8px max(16px,env(safe-area-inset-bottom))}.cabin-panel{padding:12px}.cabin-card{width:48px;min-height:66px;font-size:17px}.cabin-hand{gap:6px}.cabin-hand>div{max-width:50px}.cabin-games{gap:6px}}

/* Miscare de fundal: interiorul se leagana pe drum (doar fundalul, UI-ul sta pe loc) */
#caravan-cabin{background:#0d1416!important;overflow:hidden;isolation:isolate}
#caravan-cabin>*{position:relative;z-index:1}
#caravan-cabin::before{content:'';position:absolute;inset:-5%;z-index:0;background:url('/assets/ui/caravan/interior-v1.png') center center/cover no-repeat;animation:cabin-ride 9s ease-in-out infinite;will-change:transform;animation-play-state:paused;transition:none}
#caravan-cabin.moving::before{animation-play-state:running}
#caravan-cabin::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 17% 32%,#ffb44a55 0,#ffb44a22 14%,transparent 34%),radial-gradient(ellipse at center,transparent 55%,#00000099 100%);mix-blend-mode:screen;animation:cabin-lantern 3.2s ease-in-out infinite}
@keyframes cabin-ride{
  0%{transform:translate(-6px,0) rotate(-.35deg)}
  18%{transform:translate(4px,2px) rotate(.3deg)}
  22%{transform:translate(5px,-5px) rotate(.4deg)}  /* hop pe o groapa */
  26%{transform:translate(4px,3px) rotate(.25deg)}
  50%{transform:translate(7px,1px) rotate(.35deg)}
  72%{transform:translate(-3px,3px) rotate(-.25deg)}
  76%{transform:translate(-4px,-4px) rotate(-.3deg)}
  80%{transform:translate(-5px,2px) rotate(-.3deg)}
  100%{transform:translate(-6px,0) rotate(-.35deg)}
}
@keyframes cabin-lantern{0%,100%{opacity:.85}30%{opacity:1}55%{opacity:.7}75%{opacity:.95}}
@media (prefers-reduced-motion:reduce){#caravan-cabin::before,#caravan-cabin::after{animation:none}}

/* Chatul ramane vizibil si utilizabil in interiorul caravanei */
.caravan-cabin-active #chat{position:fixed!important;z-index:90001!important;left:12px;bottom:14px}
