/* Restoration trail: readable objectives and a visible home for every relic. */
.exp-icon{width:24px;height:24px;display:block;flex:none}
.workshop-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr);gap:24px;border:2px solid #d6e0c6;border-radius:26px;background:linear-gradient(130deg,#fffcf0,#eff5df);padding:20px;margin:22px 0;box-shadow:0 5px 0 #dfe5d0;overflow:hidden}
.workshop-picture{min-width:0;position:relative}.workshop-scene{width:100%;height:100%;max-height:310px;filter:drop-shadow(0 5px 0 #688f6c19)}
.workshop-info{align-self:center}.workshop-info h2{font-size:30px;margin:8px 0 12px}.workshop-info p{font-size:16px;max-width:450px}
.workshop-route{grid-column:1/-1;display:flex;align-items:center;gap:9px;overflow-x:auto;padding:6px 3px 10px;scrollbar-width:thin}
.route-stop{width:44px;height:44px;flex:0 0 44px;border:2px solid #acbfa4;background:#fffcef;border-radius:15px;color:#34715a;font-weight:800;box-shadow:0 4px 0 #cbd6b7}
.route-stop.done{background:#418a69;color:#fff8cc;border-color:#377b5e}.route-stop.locked{background:#e6e8dc;color:#899485;box-shadow:0 3px 0 #d9ddcd}
.workshop-decor{display:flex;flex-wrap:wrap;gap:8px}.workshop-decor button{min-height:44px;border-radius:15px;border:2px solid #d5dec6;background:#fffdf5;padding:7px 13px;font-size:14px;font-weight:650}
.workshop-decor button[aria-pressed=true]{border-color:#3b8064;box-shadow:0 3px 0 #aecba8}.workshop-decor button.decor-coral{background:#ffe5d9}.workshop-decor button.decor-moon{background:#e4e4fa}
.workshop-light{animation:workshop-shimmer 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes workshop-shimmer{50%{filter:drop-shadow(0 0 8px #ffe7a7);opacity:.8}}
.exp-mode-tabs{display:flex;gap:6px;background:#e9efdf;padding:5px;border-radius:16px;margin:16px 0 12px;flex-shrink:0}
.exp-mode-tabs button{flex:1;min-height:45px;border:0;border-radius:12px;background:transparent;color:#58755c;font-weight:700;padding:8px 12px}
.exp-mode-tabs button[aria-pressed=true]{background:#fffdf0;color:#276448;box-shadow:0 3px 7px #325e4215}
.exp-choice-info{width:100%!important;aspect-ratio:auto!important;margin:8px 0 0!important;font-size:13px;color:#497357}.exp-choice-info>span{font-size:12px;font-weight:750}.exp-choice-info small{margin:5px 0}.exp-locked .art{filter:grayscale(.8);opacity:.5}
.exp-stars{display:inline-flex;align-items:center;justify-content:center;gap:3px;margin-top:8px;color:#c3c5ac}.exp-stars i{display:block}.exp-stars .exp-icon{width:20px;height:20px;stroke-width:1.5}.exp-stars .earned{color:#d09a2b}.exp-stars .earned svg{fill:#ffd777;filter:drop-shadow(0 2px 0 #c48b3320)}
.result-stars{display:flex;margin:10px 0 18px}.result-stars .exp-icon{width:34px;height:34px}#expNext{width:100%;margin-bottom:12px}.exp-tip{font-size:14px;line-height:1.45;color:#527661;max-width:650px;margin-top:6px}
.exp-objectives{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:12px}.goal{display:flex;align-items:center;gap:8px;background:#f6edcf;border:1px solid #ded3a6;border-radius:12px;padding:8px 10px;font-size:14px;text-align:left;color:#80643c}.goal>span{display:grid;place-items:center;color:#a78143}.goal>b{flex:1;font-weight:600}.goal>strong{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}.goal.done{background:#e4f3d4;border-color:#a2cd94;color:#3c764e}.goal.done>span{color:#3c764e}
.exp-helpers{width:100%;margin-top:12px;display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.exp-helpers>b{width:100%;font-size:14px;font-weight:650}.exp-helpers button{min-height:44px;font-size:13px;padding:7px 10px;max-width:100%;overflow-wrap:anywhere}
.expedition-playing .relic-panel>.eyebrow{font-size:11px}.expedition-playing .relic-assembly{width:min(90%,22vh);margin:4px auto}.expedition-playing .assembly-count{margin-bottom:8px}.expedition-playing .color-progress{gap:4px}.expedition-playing .color-chip{font-size:12px;padding:4px}.expedition-playing .relic-hint{margin:8px 0 0;font-size:12px;line-height:1.45}.expedition-playing .relic-panel{overflow-y:auto;scrollbar-width:thin}
.board{isolation:isolate}.tile{z-index:2}.tile.exp-special{z-index:3}.tile.exp-fragment{z-index:3}.tile.exp-special .tile-face{background:linear-gradient(135deg,#fff0af 0,#ffd463 45%,#e7a53e 100%);color:#a9662c;border:2px solid #fff5c7;box-shadow:inset 0 -4px #ab733d30,0 2px 0 #ad7d4930}
.tile.exp-special .tile-face>svg{opacity:.15}.power-mark{position:absolute;inset:9%;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#fff7c9;filter:drop-shadow(0 2px 0 #9e6125)}.power-mark .exp-icon{width:74%;height:74%;stroke-width:2.5}
.tile[data-special=pulse] .tile-face{background:linear-gradient(135deg,#ffbac6,#ec7e99 60%,#bd5c88)}.tile[data-special=pulse] .power-mark{filter:drop-shadow(0 2px 0 #aa466c)}
.tile[data-special=prism] .tile-face{background:conic-gradient(from 30deg,#a8dce9,#c2a3ec,#f6b6d0,#fbe291,#a8e1c2,#a8dce9)}.tile[data-special=prism] .power-mark{filter:drop-shadow(0 2px 0 #6c7d99)}
.tile.exp-fragment .tile-face{background:linear-gradient(135deg,#dcfff9,#7edbd7 55%,#43aeb5);border:2px solid #e2ffef;color:#fff4b7;box-shadow:inset 0 -5px #297b922c}.tile.exp-fragment .power-mark{filter:drop-shadow(0 2px 0 #338387)}.tile.exp-fragment .tile-face>svg{visibility:hidden}
.exp-board-overlay{position:absolute;inset:0;pointer-events:none;z-index:4}.objective-floor{position:absolute;width:calc(100% / 7);height:calc(100% / 7);padding:6px;pointer-events:none;border-radius:10px}
.objective-floor.dusty{background:radial-gradient(ellipse at 28% 28%,#f5e4aa99 0 7%,transparent 8%),radial-gradient(ellipse at 73% 63%,#e8cf8b90 0 10%,transparent 11%),linear-gradient(145deg,#efdfa028,#dec18655);border:1px dashed #d0b98699}
.objective-floor.sealed{display:grid;place-items:center;border:2px solid #9f839c;background:#b199ac20}.objective-floor.sealed .exp-icon{width:40%;height:40%;padding:2px;background:#f7dfce;border-radius:5px;color:#9a6d77;box-shadow:0 2px 0 #835d6a;position:absolute;right:1px;top:1px}.objective-floor[data-layers="1"]{border-style:dashed;border-color:#c18b77}.objective-floor[data-layers="1"] .exp-icon{transform:rotate(14deg)}
.expedition-playing .own .board:after{content:"";position:absolute;bottom:-4px;left:43%;width:14%;height:7px;border-radius:6px;background:#66c6c4;box-shadow:0 2px 0 #398f94;z-index:5}
.expedition-playing .player-panel:not(.own) .objective-floor{padding:1px}.expedition-playing .match-bar .match-actions{flex-shrink:0}.expedition-playing .board-toast{max-width:95%;white-space:normal;text-align:center;font-size:16px}
@media(min-width:951px){.expedition-playing .stage{grid-template-columns:minmax(0,1.35fr) minmax(245px,.9fr) minmax(0,.65fr)}.expedition-playing .relic-panel{justify-content:flex-start}.expedition-playing .relic-panel>h2{font-size:22px}.expedition-playing .player-panel:not(.own){flex-direction:column;justify-content:center}.expedition-playing .player-panel:not(.own) .board{display:none}.expedition-playing .player-panel:not(.own) .player-header{width:100%}.expedition-playing .player-panel:not(.own) .player-header .avatar{width:44px}.expedition-playing .player-panel:not(.own) .player-header small{font-size:12px}.expedition-playing .empty-panel{opacity:.45}}
@media(max-width:950px){.workshop-panel{gap:16px;padding:16px}.workshop-info h2{font-size:25px}.workshop-info p{font-size:15px}.exp-tip{max-width:340px;font-size:12px}.expedition-playing .relic-assembly{width:70px}.expedition-playing .assembly-count{display:none}.expedition-playing .relic-panel>.eyebrow,.expedition-playing .relic-panel>h2,.expedition-playing .relic-hint{display:none}.expedition-playing .exp-objectives{margin-top:6px;gap:4px}.goal{padding:5px;font-size:12px;gap:4px}.goal .exp-icon{width:17px;height:17px}.goal>strong{font-size:12px}.exp-helpers{margin-top:5px}.exp-helpers>b{font-size:12px}.exp-helpers button{min-height:36px;font-size:12px}.expedition-playing .relic-panel{padding:7px}.expedition-playing .color-progress{gap:3px}.expedition-playing .color-chip{font-size:11px}.expedition-playing .relic-panel{overflow:visible}}
@media(max-width:720px) and (orientation:portrait){.workshop-panel{grid-template-columns:1fr;gap:8px;padding:12px;margin:16px 0}.workshop-picture{max-width:480px;width:100%;margin:auto}.workshop-scene{max-height:225px}.workshop-info{padding:4px}.workshop-info h2{font-size:25px}.workshop-info p{margin-bottom:10px}.workshop-route{grid-column:1}.workshop-decor button{min-height:42px;font-size:13px}.exp-mode-tabs button{padding:8px 5px;font-size:14px}.exp-tip{font-size:12px;line-height:1.35;margin-top:4px;max-width:100%;min-height:32px}.expedition-playing .stage{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 95px;gap:6px}.expedition-playing .relic-panel{grid-column:1/-1;display:grid;grid-template-columns:52px minmax(0,1fr);gap:3px 7px;padding:6px 8px}.expedition-playing .relic-assembly{width:52px;height:52px;margin:0;grid-row:1;grid-column:1}.expedition-playing .color-progress{grid-column:2;grid-row:1;grid-template-columns:repeat(4,minmax(0,1fr))}.expedition-playing .exp-objectives{grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;margin:0}.expedition-playing .goal{flex:1 1 auto;font-size:11px;padding:3px 5px;gap:3px}.expedition-playing .goal .exp-icon{width:15px;height:15px}.expedition-playing .goal>strong{font-size:11px}.expedition-playing .exp-helpers{grid-column:1/-1;grid-row:3;margin:0;justify-content:flex-start;gap:4px}.expedition-playing .exp-helpers:empty{display:none}.expedition-playing .exp-helpers>b{width:auto;align-self:center;font-size:11px}.expedition-playing .exp-helpers button{min-height:36px;font-size:11px;padding:4px}.expedition-playing .slot-zero .player-panel{height:min(calc(100vw + 40px),calc(100dvh - 310px));min-height:220px}.expedition-playing .player-panel:not(.own) .board{display:none}.expedition-playing .player-panel:not(.own){justify-content:center}.expedition-playing .own .player-header{min-height:35px}.expedition-playing .own .player-header .avatar{width:30px;height:30px}.expedition-playing .own .player-header .info>small{display:none}.expedition-playing .color-mark{width:14px;height:14px}.expedition-playing .match-actions button{font-size:12px;padding:7px 9px}.expedition-playing .color-chip{padding:3px}.expedition-playing .board-toast{font-size:13px}.objective-floor{border-radius:5px;padding:2px}}
@media(max-width:380px) and (orientation:portrait){.expedition-playing .slot-zero .player-panel{min-height:200px}.expedition-playing .own .player-header b{font-size:13px}.expedition-playing .own-label{display:none}.expedition-playing .goal>b{font-size:10px}.expedition-playing .goal{padding:3px}.expedition-playing .exp-tip{min-height:34px}}
@media(max-width:950px) and (orientation:landscape){.expedition-playing .stage{grid-template-columns:minmax(0,1.25fr) minmax(190px,.9fr) minmax(100px,.5fr)}.expedition-playing .relic-panel{display:flex;grid-row:1/4;grid-column:2;flex-direction:column;overflow-y:auto;justify-content:flex-start}.expedition-playing .relic-assembly{width:55px;height:55px;flex-shrink:0}.expedition-playing .exp-objectives{flex-shrink:0}.expedition-playing .exp-tip{max-width:420px;font-size:11px;line-height:1.3}.expedition-playing .match-bar h2{font-size:17px}.expedition-playing .player-panel:not(.own) .board{display:none}.expedition-playing .slot-one,.expedition-playing .slot-two,.expedition-playing .slot-three{grid-column:3}.expedition-playing .slot-zero{grid-column:1;grid-row:1/4}.expedition-playing .player-panel:not(.own) .player-header .avatar{display:none}.expedition-playing .exp-helpers button{min-height:32px}}
@media(prefers-reduced-motion:reduce){.workshop-light{animation:none}.tile.exp-special{animation:none}}
.workshop-treasures{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.workshop-treasure{width:52px;height:52px;border:2px solid #c1cca9;border-radius:13px;background:#fff5d5;padding:3px;box-shadow:0 3px 0 #cfdbb5}.workshop-treasure svg{width:100%;height:100%}
.exp-team{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:auto;padding-top:12px}.exp-team .board-slot{min-height:58px;flex:0 0 auto}.exp-team .player-panel{height:auto;padding:8px;box-shadow:none;border-radius:12px}.exp-team .player-header{width:100%;min-height:40px;margin:0}.exp-team .empty-panel{display:none}.exp-team .board{display:none!important}.exp-team .player-header .info>small{display:none}.exp-team .player-header .avatar{width:34px!important;height:34px!important}.exp-team .player-header b{font-size:14px}.exp-team .contribution{font-size:17px}.exp-team .contribution small{font-size:11px}
.expedition-playing .match-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;margin-bottom:10px}.expedition-playing .match-bar>.exp-tip{grid-column:1/-1;max-width:100%;margin:0;min-height:0}.expedition-playing .match-actions{width:auto}.expedition-playing .relic-panel{padding-bottom:10px}
@media(min-width:951px){.expedition-playing .stage{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.expedition-playing .relic-panel{grid-column:2;grid-row:1/4}.expedition-playing .exp-team .player-panel{flex-direction:row;justify-content:flex-start}.expedition-playing .exp-team .player-header{display:flex}}
@media(max-width:950px) and (orientation:landscape){.expedition-playing .stage{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.exp-team{padding-top:5px}.exp-team .board-slot{min-height:36px}.exp-team .player-panel{padding:4px}.exp-team .player-header{min-height:24px;display:flex}.exp-team .player-header b{font-size:12px}.exp-team .player-header .avatar{display:none}.exp-team .contribution{font-size:14px}}
@media(max-width:720px) and (orientation:portrait){.expedition-playing .stage{grid-template-rows:auto auto;grid-template-columns:1fr}.expedition-playing .slot-zero{grid-column:1;grid-row:2}.expedition-playing .relic-panel{grid-column:1;grid-row:1}.exp-team{grid-column:1/-1;grid-row:4;flex-direction:row;gap:4px;padding-top:0;margin-top:0;display:none}.exp-team .board-slot{flex:1;min-height:0}.exp-team .player-panel{padding:4px}.exp-team .player-header{display:flex;gap:3px}.exp-team .player-header .avatar{display:none}.exp-team .contribution small{display:none}.exp-team .player-header b{font-size:11px}.expedition-playing .slot-zero .player-panel{height:min(calc(100vw + 40px),calc(100dvh - 280px))}}
@media(max-width:720px) and (orientation:portrait){.expedition-playing .match-bar h2{font-size:15px;line-height:20px;white-space:normal}.expedition-playing .match-actions button{font-size:12px;padding:7px;min-height:38px}.expedition-playing .match-bar{gap:4px 5px;margin-bottom:7px}.expedition-playing .relic-panel{padding-bottom:6px}.expedition-playing .slot-zero .player-panel{min-height:170px}}

@media(min-width:951px){.exp-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.exp-team .player-header{display:grid!important;grid-template-columns:28px minmax(0,1fr);gap:4px}.exp-team .player-header .avatar{width:28px!important;height:28px!important}.exp-team .player-header b{font-size:12px}.exp-team .contribution{grid-column:1/-1;display:flex;gap:4px;justify-content:center}.exp-team .contribution small{margin:0;font-size:11px}.exp-team .board-slot{min-height:0}.exp-team .player-panel{padding:6px}}

.tile[data-special=beam][data-direction=col] .power-mark svg{transform:rotate(90deg)}.expedition-playing .own .board:after{display:none}.exp-has-fragment .own .board:after{display:block;left:1%;width:98%;height:5px;background:repeating-linear-gradient(90deg,#66c6c4 0 10px,#c9f3e2 10px 14px)}
.exp-helpers>button{display:flex;align-items:center;gap:6px}.exp-helpers>button .exp-icon{width:20px;height:20px}#teamHelpDialog{width:min(480px,calc(100vw - 24px));padding-top:40px}.gift-recipients{display:flex;flex-direction:column;gap:10px}.gift-recipients button{display:flex;align-items:center;gap:14px;min-height:58px;text-align:left}.gift-recipients .avatar{width:40px;height:40px}.gift-error{color:#a1464b;font-size:15px;margin:12px 0 0}.gift-error:empty{display:none}
@media(max-width:720px) and (orientation:portrait){.expedition-playing .relic-panel{grid-template-columns:36px minmax(0,1fr);gap:4px 7px}.expedition-playing .relic-assembly{width:36px;height:36px;grid-column:1;grid-row:1;align-self:center}.expedition-playing .color-progress{display:none}.expedition-playing .exp-objectives{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:4px}.expedition-playing .goal{min-width:0;padding:4px;font-size:11px;line-height:1.2}.expedition-playing .goal>b{min-width:0;font-size:11px}.expedition-playing .goal>.exp-icon{width:15px}.expedition-playing .goal>strong{font-size:11px}.expedition-playing .exp-helpers{grid-row:2}.expedition-playing .exp-helpers button{min-height:36px}.expedition-playing .exp-team{grid-row:3}}

/* Compact lobby: keep play, progress and rooms together on a laptop screen. */
:root{--mosaic-header:60px}
.topbar{height:var(--mosaic-header);padding:0 20px;gap:12px}.brand{font-size:17px;gap:8px}.brand small{display:none}.brand-icon{width:36px;height:36px;border-radius:12px}.brand-icon .ui-icon{width:24px;height:24px}.topbar #navigation button{min-height:40px;padding:8px 10px;font-size:13px}.round-btn,.top-avatar{width:38px;height:38px;border-radius:11px}.round-btn{padding:8px}.top-actions{gap:6px}
.menu-scroll{height:calc(100dvh - var(--mosaic-header));padding:14px 20px 20px}.page{max-width:1320px}.game{height:calc(100dvh - var(--mosaic-header));padding:10px 16px 14px;max-width:1480px}.primary,.secondary,.soft-button{min-height:40px;padding:8px 14px;font-size:14px}.section-heading h2{font-size:20px}.page-heading{margin:4px 0 16px}.page-heading h1{font-size:28px;margin:6px 0 10px}.page-heading p{font-size:14px;line-height:1.5;margin-bottom:10px}
.welcome-grid{gap:14px;grid-template-columns:195px minmax(0,1fr)}.lobby-profile{padding:12px;gap:7px 10px;border-radius:18px;grid-template-columns:44px minmax(0,1fr)}.lobby-profile #profilePortrait{width:44px}.lobby-profile>h2{font-size:16px}.lobby-profile .profile-numbers{gap:12px;min-width:0}.lobby-profile .profile-numbers b{font-size:19px}.lobby-profile .profile-numbers span{display:block;font-size:11px;line-height:1.3;margin-top:3px}.lobby-profile>.soft-button{font-size:13px;margin:3px 0 0;min-height:36px;padding:7px}
.lobby-hero{min-height:0;padding:16px 22px;border-radius:18px}.hero-copy{width:calc(100% - 145px)}.hero-copy>.eyebrow,.hero-tags{display:none}.hero-copy h1{font-size:27px;line-height:1.15;margin:0 0 8px}.hero-copy p{font-size:14px;line-height:1.4;margin:0 0 10px;max-width:570px}.hero-art{width:140px;right:14px;top:0;animation:none}.hero-copy .primary{min-height:40px;padding:8px 15px;font-size:14px}
.workshop-panel{margin:0;border-radius:18px;padding:12px;gap:8px 12px;grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) auto;align-items:center}.workshop-picture{height:140px;min-width:0}.workshop-scene{height:108px;max-height:108px;object-fit:contain}.workshop-info h2{font-size:20px;line-height:1.15;margin:4px 0 7px}.workshop-info .eyebrow{font-size:10px;letter-spacing:.8px}.workshop-info p{font-size:13px;line-height:1.4;margin-bottom:9px}.workshop-decor{gap:5px}.workshop-decor button{min-height:34px;font-size:12px;padding:5px 8px;border-radius:11px}.workshop-treasures{height:34px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;gap:4px;margin-top:3px;scrollbar-width:thin}.workshop-treasures:empty{display:none}.workshop-treasure{width:29px;height:29px;flex:0 0 29px;border-radius:8px;padding:1px}.workshop-route{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;padding:3px 0 5px;overflow:visible}.route-stop{width:100%;height:31px;min-width:0;font-size:12px;border-radius:10px;box-shadow:0 2px 0 #cbd6b7}
.how-strip{padding:8px 14px;gap:12px;margin:0;border-radius:14px}.how-strip>div{gap:9px}.how-strip>div>[data-icon]{width:30px;height:30px;border-radius:9px}.how-strip .ui-icon{width:18px;height:18px}.how-strip b{font-size:13px;margin:0 0 2px}.how-strip p span{font-size:12px}.how-strip .step-number{display:none}
.room-heading{gap:6px 8px;margin:0}.room-heading .eyebrow{font-size:10px;letter-spacing:.7px}.room-heading h2{font-size:19px;margin:1px 0 0}.room-heading form{gap:6px}.room-heading input{min-height:38px;height:38px;padding:7px 9px;font-size:13px}.room-heading #joinCode{width:125px}.room-heading button{min-height:38px;padding:7px 10px;font-size:13px}.room-row{padding:9px 10px;gap:10px;border-radius:13px}.room-row .room-art{width:48px}.room-info b{font-size:15px}.room-info span,.room-info small{font-size:12px;margin-top:2px}.room-row button{padding:7px 10px;min-height:38px;font-size:13px}.empty-rooms{padding:14px;font-size:14px;line-height:1.4;border-radius:13px}
.collection-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.collection-card{padding:12px;border-radius:16px;box-shadow:0 3px 0 #e0e5d3}.collection-card>div{width:86px}.collection-card h2{font-size:16px;line-height:1.2;margin:8px 0 6px}.collection-card p{font-size:13px;line-height:1.4;min-height:0;margin-bottom:9px}.collection-card .pill,.collected-label{font-size:12px;padding:4px 8px}.collection-card small{font-size:12px;margin:8px 0 10px}.collection-card button{font-size:13px;min-height:38px;padding:7px 10px}
.profile-editor{padding:20px;gap:24px;grid-template-columns:180px minmax(0,1fr);max-width:900px}.profile-editor>aside{padding:16px}.profile-editor #avatarPreview{max-width:130px;margin-bottom:10px}.profile-editor aside>b{font-size:20px}.profile-editor .avatar-choices{max-width:340px;gap:8px}.profile-editor .field-label>input{margin-bottom:12px}.profile-editor h3{font-size:17px;margin:12px 0 8px}.hue-choices{gap:10px;margin-bottom:15px}
dialog{border-radius:19px;padding:20px;max-height:calc(100dvh - 28px)}dialog h2{font-size:24px}.close{top:9px;right:9px}#quickDialog{width:min(1120px,calc(100vw - 28px));padding:18px}#quickDialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 28px)}#quickDialog>h2{font-size:23px;line-height:1.15;margin:3px 0 0;padding-right:32px}#quickDialog>.eyebrow{font-size:10px}#quickDialog>.quick-note{font-size:13px;line-height:1.4;margin:5px 0 6px}.exp-mode-tabs{margin:7px 0;gap:4px;padding:4px;border-radius:12px}.exp-mode-tabs button{min-height:36px;font-size:13px;padding:6px 10px}.quick-status{min-height:0;font-size:13px;margin:3px 0 7px}.quick-status:empty{display:none}.relic-choices{grid-template-columns:repeat(6,minmax(0,1fr));flex:1 1 auto;min-height:0;max-height:none;overflow:auto;gap:8px;padding:3px}
.relic-choice,.relic-choice[aria-pressed=true]{display:grid;grid-template-columns:45px minmax(0,1fr);grid-template-rows:auto 1fr;gap:3px 7px;align-items:center;padding:7px;min-height:98px;border-radius:12px;border-width:1px;box-shadow:0 2px 0 #dde3cf;text-align:left}.relic-choice[aria-pressed=true]{border-color:#34755b;box-shadow:0 0 0 1px #34755b,0 2px 0 #c6d6b4}.relic-choice>.art{grid-column:1;grid-row:1/3;width:45px;margin:0}.relic-choice>b{grid-column:2;grid-row:1;font-size:13px;line-height:1.2;margin:0;overflow-wrap:anywhere}.exp-choice-info{grid-column:2;grid-row:2;width:auto!important;margin:0!important;line-height:1.2}.exp-choice-info>span{font-size:10px}.exp-choice-goals{display:flex;gap:4px;margin:4px 0 0}.exp-choice-goals>span{display:block;color:#6e8b62}.exp-choice-goals .exp-icon{width:15px;height:15px}.exp-choice-info .exp-stars{margin:4px 0 0;gap:1px}.exp-choice-info .exp-stars .exp-icon{width:14px;height:14px}.relic-choice .owned{width:18px;height:18px;right:3px;top:3px}.relic-choice .owned .ui-icon{width:12px;height:12px}.relic-choice>small{grid-column:2;font-size:11px}.relic-choice .rating-note{font-size:10px;margin:0}
#createDialog{width:min(600px,calc(100vw - 28px));padding:20px}#createForm{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}#createForm>label:first-child{grid-column:1/-1}#createForm .field-label{font-size:13px}#createForm .field-label>select{min-height:40px;margin:5px 0 6px;padding:7px 10px}#createForm #createArt{display:none}#createForm>p,#createForm>button{grid-column:1/-1;margin:0}#createForm>p{font-size:13px;line-height:1.4}#createForm>button{margin-top:4px}
.match-bar h2{font-size:21px}.expedition-playing .match-bar{gap:3px 10px;margin-bottom:7px}.exp-tip{font-size:13px}.player-panel.own{padding:12px}.own .player-header{min-height:42px;margin-bottom:6px}.own .player-header .avatar{width:36px;height:36px}.own .player-header b{font-size:15px}.own .player-header small{font-size:12px}.own-label{font-size:10px}.expedition-playing .relic-panel>h2{font-size:19px}.expedition-playing .relic-assembly{width:min(90%,145px)}.expedition-playing .assembly-count strong{font-size:21px}.expedition-playing .assembly-count span{font-size:12px}.exp-objectives{gap:5px;margin-top:8px}.goal{padding:6px 8px;font-size:13px}.goal>strong{font-size:13px}.goal .exp-icon{width:19px;height:19px}
@media(min-width:951px){
 #roomsPage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr);grid-template-rows:150px 70px minmax(120px,min(22vh,165px)) 50px;gap:12px 16px}.welcome-grid{grid-column:1/-1;grid-row:1}.workshop-panel{grid-column:1;grid-row:2/4;height:100%;min-height:0}.room-heading{grid-column:2;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.room-heading>div{grid-column:1/-1}.room-heading>button{grid-column:2;grid-row:2}.room-heading form{grid-column:1;grid-row:2;min-width:0}.room-heading #joinCode{width:min(135px,100%)}.rooms-list{grid-column:2;grid-row:3;grid-template-columns:1fr;overflow:auto;min-height:0;max-height:100%;align-content:start;padding:0 2px 4px}.how-strip{grid-column:1/-1;grid-row:4}
}
@media(min-width:951px) and (max-width:1100px){.relic-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.workshop-info h2{font-size:18px}.workshop-info .eyebrow{display:none}.workshop-picture{height:130px}.workshop-scene{height:100px}}
@media(max-width:950px){.topbar{padding-inline:12px}.menu-scroll{padding:12px}.welcome-grid{grid-template-columns:175px minmax(0,1fr)}.hero-copy h1{font-size:24px}.lobby-hero{min-height:150px;padding:14px 18px}.hero-art{width:120px;top:8px}.hero-copy{width:calc(100% - 120px)}.workshop-panel{margin:12px 0}.how-strip{margin:12px 0}.room-heading{margin:12px 0 8px}.rooms-list{gap:8px}.relic-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px) and (orientation:portrait){
 :root{--mosaic-header:98px}body:not(.playing) .topbar{height:98px;padding:8px 10px}.topbar{height:56px}.topbar .round-btn,.topbar .top-avatar{width:36px;height:36px}.brand{font-size:14px;gap:6px}.brand-icon{width:30px;height:32px}.brand-icon .ui-icon{width:20px;height:20px}.topbar #navigation{bottom:4px!important;padding-inline:6px!important;overflow-x:auto;justify-content:flex-start!important;scrollbar-width:none}.topbar #navigation button{font-size:12px;min-height:38px;flex:1 0 auto;padding:7px 8px}.top-actions{gap:3px}.game-language-menu summary{min-height:36px!important;font-size:12px!important}.top-actions .game-language-menu{max-width:85px}body:not(.playing) .menu-scroll{height:calc(100dvh - 98px);padding:10px 10px 16px}.welcome-grid{display:grid;grid-template-columns:1fr;gap:7px}.lobby-hero{grid-row:1;padding:12px;min-height:128px}.hero-copy{width:calc(100% - 72px)}.hero-copy h1{font-size:21px;line-height:1.1;margin:0 0 5px}.hero-copy p{font-size:12px;line-height:1.3;margin-bottom:7px;max-width:100%}.hero-copy .primary{min-height:40px;font-size:14px;padding:7px 12px}.hero-art{width:85px;right:-4px;top:22px}.lobby-profile{grid-row:2;display:flex;gap:8px;padding:8px 10px;min-height:52px;border-radius:13px}.lobby-profile #profilePortrait{width:32px;flex:0 0 32px}.lobby-profile>h2{font-size:14px;max-width:95px;flex:1}.lobby-profile .profile-numbers{margin-left:auto;gap:14px}.lobby-profile .profile-numbers b{font-size:16px}.lobby-profile .profile-numbers span{font-size:10px;margin-top:1px}.lobby-profile>.soft-button{display:none}
 .workshop-panel{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto auto;padding:9px;gap:5px 8px;margin:9px 0}.workshop-picture{height:75px}.workshop-scene{height:60px;max-height:60px}.workshop-treasures{height:20px;gap:3px;margin-top:1px}.workshop-treasure{width:18px;height:18px;flex-basis:18px;padding:0;border-width:1px;border-radius:5px}.workshop-info h2{font-size:16px;line-height:1.1;margin:0 0 4px}.workshop-info>.eyebrow{display:none}.workshop-info p{font-size:11px;line-height:1.3;margin:0 0 5px}.workshop-decor{gap:3px}.workshop-decor button{min-height:28px;font-size:10px;padding:3px 5px;border-width:1px;border-radius:8px}.workshop-route{display:flex;overflow-x:auto;gap:5px;padding:3px 1px 4px;grid-column:1/-1}.route-stop{width:34px;height:34px;flex:0 0 34px;font-size:12px;border-radius:10px}.how-strip{display:none}.room-heading{display:grid;grid-template-columns:1fr auto;gap:6px;margin:10px 0 7px}.room-heading>.eyebrow,.room-heading>div>.eyebrow{display:none}.room-heading h2{font-size:18px;margin:0}.room-heading>div{grid-column:1;grid-row:1}.room-heading>button{grid-column:2;grid-row:1;min-height:40px;padding:7px 10px;font-size:12px}.room-heading>form{grid-column:1/-1;grid-row:2;width:100%}.room-heading #joinCode{flex:1;width:auto;font-size:13px;min-height:40px;height:40px}.room-heading form button{min-height:40px}.empty-rooms{padding:12px;font-size:13px;line-height:1.4}.rooms-list{grid-template-columns:1fr}.room-row .room-art{width:40px}.room-info b{font-size:14px}
 .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-card{padding:9px;border-radius:13px}.collection-card>div{width:64px}.collection-card h2{font-size:14px;margin:6px 0}.collection-card p{font-size:12px;line-height:1.3}.collection-card small{font-size:11px;margin:6px 0}.collection-card button{font-size:12px;min-height:40px;padding:6px}.page-heading h1{font-size:23px}.page-heading p{font-size:13px}.page-heading .eyebrow{font-size:10px}.profile-editor{display:block;padding:12px}.profile-editor>aside{padding:10px}.profile-editor #avatarPreview{width:60px}.avatar-choices{gap:6px}.hue-choice{width:36px;height:36px}
 #quickDialog{padding:13px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#quickDialog>h2{font-size:20px}#quickDialog>.quick-note{font-size:12px;margin:4px 0}.exp-mode-tabs{margin:6px 0}.exp-mode-tabs button{min-height:38px;font-size:12px;padding:6px}.relic-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.relic-choice,.relic-choice[aria-pressed=true]{grid-template-columns:35px minmax(0,1fr);gap:3px 5px;min-height:94px;padding:6px}.relic-choice>.art{width:35px}.relic-choice>b{font-size:12px}.exp-choice-info>span{font-size:10px}.exp-choice-goals{gap:3px}.exp-choice-goals .exp-icon{width:13px;height:13px}.exp-choice-info .exp-stars .exp-icon{width:12px;height:12px}#createDialog{padding:16px}#createForm{gap:6px 9px}#createForm .field-label{font-size:12px}#createForm .field-label>select{font-size:13px}.game{height:calc(100dvh - 56px);padding:6px 8px 10px}.match-bar h2{font-size:15px}.expedition-playing .relic-assembly{width:36px;height:36px}.player-panel.own{padding:8px}.own .player-header{min-height:34px;margin-bottom:4px}.own .player-header .avatar{width:30px;height:30px}.own .player-header b{font-size:14px}
}
@media(max-width:950px) and (orientation:landscape){:root{--mosaic-header:52px}.topbar{height:52px}.game{height:calc(100dvh - 52px);padding:6px 10px 10px}.menu-scroll{height:calc(100dvh - 52px);padding:10px 14px}.welcome-grid{grid-template-columns:150px minmax(0,1fr);gap:10px}.lobby-hero{min-height:126px;padding:12px 16px}.hero-copy h1{font-size:22px}.hero-copy p{font-size:12px}.workshop-panel{margin:9px 0}.workshop-picture{height:95px}.workshop-scene{height:75px}.workshop-info h2{font-size:18px}.workshop-info p{font-size:12px}.workshop-info>.eyebrow{display:none}.workshop-route{padding-bottom:3px}.route-stop{height:28px;font-size:11px}.how-strip{display:none}.room-heading{margin:9px 0 7px}.relic-choices{grid-template-columns:repeat(4,minmax(0,1fr))}#quickDialog{padding:12px}#quickDialog>.eyebrow,#quickDialog>.quick-note{display:none}#quickDialog>h2{font-size:20px}.exp-mode-tabs{margin:5px 0}.expedition-playing .relic-assembly{width:48px;height:48px}.expedition-playing .match-bar h2{font-size:17px}.expedition-playing .exp-tip{font-size:11px}}
.exp-choice-info .exp-choice-goals{margin-top:2px}.exp-choice-info .exp-stars{margin-top:2px}.relic-choice,.relic-choice[aria-pressed=true]{min-height:94px}
@media(max-width:720px) and (orientation:portrait){:root{--mosaic-header:86px}body:not(.playing) .topbar{height:86px;padding:4px 10px}body:not(.playing) #navigation{margin-top:4px}body:not(.playing) .menu-scroll{height:calc(100dvh - 86px)}}
@media(max-width:720px) and (max-height:650px) and (orientation:portrait){.hero-copy p{display:none}.lobby-hero{min-height:105px;padding:11px 12px}.hero-copy h1{font-size:19px;margin-bottom:7px}.hero-art{width:74px;top:12px}.workshop-picture{height:56px}.workshop-scene{height:50px;max-height:50px}.workshop-info p{display:none}.workshop-info h2{font-size:15px}.workshop-panel{margin:8px 0;padding:8px}.workshop-treasures{height:17px}.workshop-treasure{height:15px;width:15px;flex-basis:15px}}
@media(min-width:740px) and (max-width:950px) and (orientation:landscape){
 body:not(.playing) .topbar{height:52px;flex-wrap:nowrap;align-content:normal;padding:0 12px;gap:8px}body:not(.playing) #navigation{order:0;width:auto;margin-top:0;gap:3px;justify-content:center}body:not(.playing) .menu-scroll{height:calc(100dvh - 52px);padding:10px 14px}.topbar #navigation button{padding:7px 8px;font-size:12px}.topbar .brand{font-size:14px}.topbar .brand-icon{width:30px;height:32px}.top-actions{gap:4px}.topbar .round-btn,.topbar .top-avatar{width:34px;height:34px}.top-actions .game-language-menu{font-size:11px}.game-language-menu summary{padding:7px 8px}
 #roomsPage{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:126px 66px 65px;gap:8px 12px}.welcome-grid{grid-column:1/-1;grid-row:1}.lobby-profile{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;padding:10px}.lobby-profile #profilePortrait{width:32px;grid-row:1}.lobby-profile .profile-numbers{grid-column:1/-1;grid-row:2;justify-content:center}.lobby-profile>.soft-button{display:none}.lobby-hero{min-height:0}.workshop-panel{grid-column:1;grid-row:2/4;margin:0;padding:8px;gap:4px 8px;grid-template-columns:110px minmax(0,1fr)}.workshop-picture{height:70px}.workshop-scene{height:60px}.workshop-info h2{font-size:16px;margin:0 0 4px}.workshop-info p{font-size:11px;line-height:1.3;margin-bottom:5px}.workshop-decor button{min-height:27px;font-size:10px;padding:3px 5px}.workshop-route{display:flex;overflow-x:auto;gap:5px;padding:2px 0 4px}.route-stop{flex:0 0 29px;width:29px;height:29px}.workshop-treasures{height:18px}.workshop-treasure{width:16px;height:16px;flex-basis:16px}.room-heading{grid-column:2;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0;gap:3px 6px}.room-heading>div{grid-column:1/-1}.room-heading .eyebrow{display:none}.room-heading h2{font-size:17px}.room-heading>button{grid-column:2;grid-row:2}.room-heading form{grid-column:1;grid-row:2}.room-heading #joinCode{width:100px}.room-heading button{font-size:12px;padding:6px 8px;min-height:36px}.room-heading input{height:36px;min-height:36px}.rooms-list{grid-column:2;grid-row:3;grid-template-columns:1fr;align-content:start;max-height:100%;overflow:auto}.empty-rooms{padding:9px;font-size:12px}
}

/* One clear reading order: play, expedition trail, then shared rooms. */
#roomsPage{display:flex;flex-direction:column;gap:12px}
#roomsPage>.welcome-grid{display:block;width:100%;order:0}
.lobby-profile[hidden]{display:none!important}
#roomsPage .lobby-hero{width:100%;min-height:136px;padding:17px 24px}
#roomsPage .hero-copy{width:calc(100% - 150px)}
#roomsPage .hero-copy h1{font-size:27px;margin-bottom:7px}
#roomsPage .hero-copy p{max-width:760px;margin-bottom:10px}
#roomsPage .hero-art{width:130px;top:2px;right:22px}
#roomsPage>.workshop-panel{order:1;grid-column:auto;grid-row:auto;grid-template-columns:170px minmax(0,1fr);grid-template-rows:auto auto;min-height:0;height:auto;padding:12px 16px;margin:0;gap:8px 20px}
#roomsPage .workshop-picture{height:90px;align-self:center}
#roomsPage .workshop-scene{height:80px;max-height:80px}
#roomsPage .workshop-treasures{height:23px;margin-top:2px}
#roomsPage .workshop-treasure{width:20px;height:20px;flex-basis:20px}
#roomsPage .workshop-info{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center;padding:0}
#roomsPage .workshop-info>.eyebrow{grid-column:1;grid-row:1}
#roomsPage .workshop-info>h2{grid-column:1;grid-row:2;font-size:21px;margin:3px 0 6px}
#roomsPage .workshop-info>p{grid-column:1;grid-row:3;margin:0;font-size:13px}
#roomsPage .workshop-decor{grid-column:2;grid-row:1/4;align-self:center;justify-content:flex-end}
#roomsPage .workshop-route{grid-column:1/-1;display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:5px;padding:4px 0 3px;overflow:visible}
#roomsPage .route-stop{width:100%;height:35px;min-width:0;font-size:12px}
#roomsPage>.room-heading{order:2;display:flex;align-items:center;gap:12px;min-height:40px;margin:1px 0 0;grid-column:auto;grid-row:auto}
#roomsPage .room-heading>div{margin-right:auto}
#roomsPage .room-heading .eyebrow{display:none}
#roomsPage .room-heading h2{font-size:20px;margin:0}
#roomsPage .room-heading>form{display:flex;align-items:center;width:auto;min-width:0;gap:6px;margin:0}
#roomsPage #joinCode{width:127px;height:36px;min-height:36px;padding:6px 9px;font-size:13px;letter-spacing:.6px}
#roomsPage #joinCode::placeholder{font-size:12px;letter-spacing:0;text-transform:none;opacity:1;color:#78877e}
#roomsPage .room-heading button{min-height:36px;font-size:13px;padding:7px 12px}
#roomsPage>.rooms-list{order:3;grid-column:auto;grid-row:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;max-height:145px;overflow:auto;padding:0 2px 4px;margin:0}
#roomsPage .empty-rooms{padding:13px;font-size:13px}
#roomsPage>.how-strip{order:4;grid-column:auto;grid-row:auto;margin:1px 0 0}
.waiting #inviteCode{font-size:27px;letter-spacing:3px;line-height:1.2;padding:8px 16px}
@media(min-width:951px) and (max-width:1150px){#roomsPage .workshop-route{grid-template-columns:repeat(13,minmax(0,1fr))}#roomsPage .workshop-info>h2{font-size:20px}}
@media(max-width:950px){#roomsPage .workshop-info>.eyebrow{display:none}#roomsPage .workshop-picture{height:76px}#roomsPage .workshop-scene{height:66px}#roomsPage .workshop-info>h2{font-size:19px}#roomsPage .workshop-route{grid-template-columns:repeat(13,minmax(0,1fr))}}
@media(max-width:720px) and (orientation:portrait){
 #roomsPage{gap:9px}#roomsPage .lobby-hero{min-height:124px;padding:13px}#roomsPage .hero-copy{width:calc(100% - 76px)}#roomsPage .hero-copy h1{font-size:21px;line-height:1.15}#roomsPage .hero-copy p{font-size:12px;line-height:1.35;margin-bottom:8px}#roomsPage .hero-art{width:80px;right:0;top:22px}
 #roomsPage>.workshop-panel{grid-template-columns:80px minmax(0,1fr);padding:9px;gap:6px 10px}#roomsPage .workshop-picture{height:63px}#roomsPage .workshop-scene{height:55px;max-height:55px}#roomsPage .workshop-treasures{height:17px}#roomsPage .workshop-treasure{width:15px;height:15px;flex-basis:15px}#roomsPage .workshop-info{display:block}#roomsPage .workshop-info>h2{font-size:16px;margin:0 0 4px}#roomsPage .workshop-info>p{font-size:11px;line-height:1.3;margin-bottom:5px}#roomsPage .workshop-decor{justify-content:flex-start}#roomsPage .workshop-route{display:flex;gap:5px;overflow-x:auto;padding:4px 0}#roomsPage .route-stop{width:34px;height:34px;flex:0 0 34px}
 #roomsPage>.room-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:0}#roomsPage .room-heading>div{grid-column:1;grid-row:1;margin:0}#roomsPage .room-heading h2{font-size:18px}#roomsPage .room-heading>button{grid-column:2;grid-row:1;min-height:40px;font-size:12px;padding:6px 9px}#roomsPage .room-heading>form{grid-column:1/-1;grid-row:2;width:100%}#roomsPage #joinCode{width:auto;flex:1;min-height:40px;height:40px;font-size:13px}#roomsPage .room-heading form button{min-height:40px}#roomsPage>.rooms-list{grid-template-columns:1fr;max-height:140px}#roomsPage>.how-strip{display:none}
}
@media(max-width:720px) and (max-height:650px) and (orientation:portrait){#roomsPage .lobby-hero{min-height:102px;padding:11px 12px}#roomsPage .hero-copy h1{font-size:19px}#roomsPage .hero-art{width:74px;top:12px}#roomsPage .workshop-info>p{display:none}}
@media(min-width:740px) and (max-width:950px) and (orientation:landscape){#roomsPage{gap:8px}#roomsPage .lobby-hero{min-height:86px;padding:11px 16px}#roomsPage .hero-copy h1{font-size:22px}#roomsPage .hero-copy p{display:none}#roomsPage .hero-copy .primary{min-height:34px;padding:6px 12px;font-size:13px}#roomsPage .hero-art{width:83px;top:0}#roomsPage .workshop-picture{height:61px}#roomsPage .workshop-scene{height:52px}#roomsPage>.workshop-panel{grid-template-columns:110px minmax(0,1fr);padding:8px 12px;gap:4px 16px}#roomsPage .workshop-info>h2{font-size:17px}#roomsPage .workshop-info>p{font-size:11px}#roomsPage .workshop-route{display:flex;overflow-x:auto;gap:5px;padding:2px 0}#roomsPage .route-stop{flex:0 0 30px;width:30px;height:30px}#roomsPage>.rooms-list{max-height:70px}#roomsPage .room-heading h2{font-size:17px}#roomsPage>.how-strip{display:none}}

/* Bright illustrated UI. Colour and shallow relief carry the style, not scale. */
:root{--ink:#314d64;--muted:#63778a;--line:#e0c590;--paper:#fff9e8;--gold:#e5a13a;--violet:#219e90;background:#e3f5fa}
body{background:radial-gradient(ellipse at 0 0,#fff4ca 0,transparent 52%),radial-gradient(ellipse at 100% 75%,#c1f0e8 0,transparent 54%),#e4f5fb}
.topbar{background:#fff9e8;border-bottom:2px solid #e9c785;box-shadow:0 3px 0 #f3e6bd80}
.brand b{color:#119c91}.brand-icon{background:linear-gradient(150deg,#35cbbb,#14998e);color:#ffe08b;box-shadow:inset 0 2px #a5f1db,0 3px 0 #227f7e}
.topbar #navigation button{color:#46657b}.topbar #navigation button.active{background:linear-gradient(#ffe4a2,#ffd180);color:#755024;box-shadow:inset 0 1px #fff9d9,0 2px 0 #e5af55}
.round-btn{background:#fffdf1;border-color:#e5c893;color:#328c99;box-shadow:0 2px 0 #dfcc9f}.game-language-menu summary{background:#fffdf1;border-color:#e5c893;color:#426580;box-shadow:0 2px 0 #dfcc9f}
.primary{background:linear-gradient(165deg,#ffc966,#ffad42);border-color:#db8e2c;color:#664122;box-shadow:inset 0 2px #fff0b8,0 4px 0 #c98731,0 6px 12px #d5ab4b24}.primary:hover:not(:disabled){background:linear-gradient(#ffd57f,#ffbb52);box-shadow:inset 0 2px #fff5cb,0 4px 0 #c98731,0 7px 16px #d5ab4b30}
.secondary{background:linear-gradient(160deg,#a0e8f6,#75cfe9);border-color:#56b7ce;color:#235b78;box-shadow:inset 0 2px #e5fbff,0 3px 0 #4ca1bb}
.soft-button{background:linear-gradient(#fffef2,#fff0cb);border-color:#dfc18a;color:#52677b;box-shadow:inset 0 1px #fff,0 3px 0 #d5ba87}
input,select{background:#fffef5;border-color:#ddc79a;color:#385a71;box-shadow:inset 0 2px 3px #caa6670c}input:focus-visible,select:focus-visible,button:focus-visible{outline-color:#29b5aa}
#roomsPage .lobby-hero{background:linear-gradient(115deg,#8ce4d2 0,#b9edc4 58%,#ffe8aa 100%);border:2px solid #64bda5;box-shadow:inset 0 1px #e4ffeb,0 4px 0 #82bea5}
.hero-copy h1{color:#245a66;text-shadow:0 1px #e7fff0}.hero-copy p{color:#3d6d72}.hero-art:before{background:#fff6cb90;border-color:#fff2a4}.cloud{background:#ffffff4a}
#roomsPage>.workshop-panel{background:linear-gradient(115deg,#fffbeb,#fff1cb);border:2px solid #e4bd73;box-shadow:inset 0 1px #fff,0 4px 0 #dac18a}
.workshop-info h2{color:#675044}.workshop-info .eyebrow{color:#9a814d}.workshop-decor button{border-color:#d5bd8d;box-shadow:inset 0 1px #fff9e1,0 2px 0 #d1ba8c}.workshop-decor .decor-mint{background:#d0f4d6;color:#2d786b}.workshop-decor .decor-coral{background:#ffe0ce;color:#9d634e}.workshop-decor .decor-moon{background:#e2ddff;color:#72629a}.workshop-decor button[aria-pressed=true]{border-color:#269c8d;box-shadow:0 0 0 1px #75c8ac,0 2px 0 #50a38c}
.route-stop{background:linear-gradient(#ffe8a5,#ffd272);border-color:#d9aa50;color:#7c5427;box-shadow:inset 0 1px #fff7d3,0 3px 0 #c69a4a;font-weight:800}.route-stop.done{background:linear-gradient(#88dfb8,#52bd99);border-color:#39a587;color:#164f47;box-shadow:inset 0 1px #c6ffe0,0 3px 0 #34927f}.route-stop.locked{opacity:1;background:linear-gradient(#f2f3e9,#e6eadf);border-color:#cbd4c6;color:#91a196;box-shadow:inset 0 1px #fff,0 2px 0 #c3ccbd}
.workshop-treasure{background:#fff0bf;border-color:#dfb467;box-shadow:0 2px 0 #cfad6b}
.room-heading h2{color:#2a768c}.empty-rooms{background:#f3fcff;border-color:#8ecdd7;color:#598295}.room-row{background:linear-gradient(110deg,#fffef2,#f6fbeb);border:1px solid #b1d7c7;box-shadow:0 3px 0 #bddacc}.room-info b{color:#306e79}
.how-strip{background:#fffbed;border-color:#e0d29b;box-shadow:0 2px 0 #e0d8b5}.how-strip>div>[data-icon]{background:#d4efe0;color:#23927e}.how-strip b{color:#3d6b70}
.collection-card{background:linear-gradient(#fffdf0,#fff0ca);border-color:#e0be79;box-shadow:0 4px 0 #dac28d}.collection-card h2{color:#76573b}.collected-label{background:#d1f1d5;border-color:#94ce9c;color:#36765d}
dialog{background:#fffbed;border:2px solid #d9bd7e;box-shadow:0 6px 0 #b99e6540,0 20px 60px #294c5c38}dialog::backdrop{background:#254f6080;backdrop-filter:blur(3px)}dialog h2{color:#3b6472}.close{background:#e6f4e8;border-color:#acd1b8;color:#398576}
.exp-mode-tabs{background:#e6efd5;border:1px solid #d0d9b3}.exp-mode-tabs button[aria-pressed=true]{background:linear-gradient(#fff0bc,#ffe09a);color:#7b582a;box-shadow:inset 0 1px #fff9e0,0 2px 0 #d6bd80}
.relic-choice{background:linear-gradient(135deg,#fffdf0,#edf8e9);border-color:#c5d9b6;box-shadow:0 3px 0 #d0dbb8}.relic-choice[aria-pressed=true]{background:linear-gradient(120deg,#fff2c2,#ffe5a0);border-color:#d8a84c;box-shadow:0 0 0 1px #eac173,0 3px 0 #d6b069}.relic-choice:disabled{opacity:.8}.exp-choice-goals>span{color:#3d9c90}.exp-choice-info>span{color:#5e8c72}.exp-stars .earned{color:#e0a128}
.profile-editor{background:#fff9e9;border-color:#dfc38c}.profile-editor>aside{background:linear-gradient(#d2f2e5,#e6f3c9)}.avatar-choice[aria-pressed=true]{background:#cbf0d6;border-color:#42ad91;box-shadow:0 0 0 2px #a5dfb6}.ranking-row{background:#fffbed;border-color:#e9d8ae}.ranking-row.me{background:#d5f2dd}
.player-panel.own{border-color:#35a799;background:#fffbee;box-shadow:0 4px 0 #8ac9ac}.expedition-playing .relic-panel{background:radial-gradient(ellipse at 50% 30%,#fff1b8,#fff7dc 75%);border-color:#e3bc71}.expedition-playing .relic-panel>h2{color:#806033}.goal{background:#fff0c3;border-color:#e3c58b;color:#8a653e}.goal.done{background:#ccefd5;border-color:#84c59a;color:#38745d}.exp-team .player-panel{background:#effbea;border-color:#b7d8b7}.board{background:#315f5c;border-color:#387b6d;box-shadow:inset 0 2px 8px #123d4b30,0 3px 0 #9bceaa}.own .contribution{color:#149b7a}
.expedition-playing .match-bar h2{color:#2f6879}.exp-tip{color:#527d7b}.pill{background:#dcf1d6;border-color:#b1d5a6;color:#4e8061}
@media(prefers-reduced-motion:reduce){dialog::backdrop{backdrop-filter:none}}
@media(min-width:951px){#quickDialog{width:min(1320px,calc(100vw - 32px))}.relic-choices{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
@media(max-width:720px) and (orientation:portrait){
 .topbar .brand{font-size:13px;gap:5px;min-width:0;flex:0 1 auto}.topbar .brand-icon{width:29px;height:30px}.topbar .top-actions{margin-left:auto;gap:3px;flex:0 0 auto}.topbar .round-btn,.topbar .top-avatar{width:32px;height:32px}.topbar .round-btn{padding:6px}.topbar .round-btn .ui-icon{width:18px;height:18px}.topbar .top-avatar{padding:0}.top-actions .game-language-menu{max-width:76px}.top-actions .game-language-menu summary{font-size:11px!important;padding:5px 6px;min-height:32px!important}
}
@media(max-width:360px) and (orientation:portrait){#roomsPage .room-heading h2{font-size:16px}#roomsPage .room-heading>button{gap:6px;padding:6px 7px}.room-heading>button .ui-icon{width:18px;height:18px}}
