:root{--ui:#f6fbff;--dim:#bdcddc;--bg:rgba(13,32,49,.84);--bg2:rgba(26,57,75,.96);--line:#ffffff1c;--green:#53dac6;--green2:#35bca9;--bux:#91f0d2;--gold:#ffe096}
body{font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;background:#87cde1}button,input,select{font:inherit}button{touch-action:manipulation}button:focus-visible,[role=button]:focus-visible{outline:3px solid #ffe096;outline-offset:4px}.btn{border-radius:12px;box-shadow:none;font-size:14px;padding:10px 15px;border:1px solid #ffffff18}.btn.primary{background:#82ead3;color:#102f3b}.btn.primary:hover{background:#b0f4dc}.btn.blue{background:#5579b4}.pill{border:1px solid #ffffff1a;box-shadow:none;border-radius:13px;padding:9px 13px}.icon{border-radius:12px;border:1px solid #ffffff24;box-shadow:none;min-width:38px;height:38px}.icon:hover{background:#355667}
#topbar{left:22px;right:22px;top:20px;gap:8px}#worldPill{background:none;border:0;padding-left:9px;font-size:15px!important;text-shadow:0 2px 6px #1239}#worldName{font-size:15px;letter-spacing:.15px;font-weight:800}#bAdmin{display:none}#bReset{display:none}#topbar .spacer{flex:1}#board{top:78px;right:24px;width:210px;background:#112638a6;border:1px solid #ffffff15;border-radius:13px;display:none}body.show-players #board{display:block}#boardFoot{font-size:12px!important;padding:8px!important}#chat{display:none;bottom:96px;left:24px;font-size:14px;width:320px;max-height:200px;border:1px solid #ffffff26}body.show-chat #chat{display:flex}#chatIn{font-size:14px}#hint{display:none}#mode{top:80px;pointer-events:none}body.is-adventure #mode{display:none!important}#stage{top:105px;font-size:30px;letter-spacing:.2px}#stage small{font-size:12px;letter-spacing:3px;color:#fff3c9}#toast{top:auto;bottom:112px;max-width:90vw;white-space:normal;text-align:center;padding:12px 22px;border:1px solid #fff3;border-radius:40px;font-size:15px;z-index:35}#prompt{bottom:124px;background:#102a3bea;border:1px solid #bcffec80;padding:13px 20px;border-radius:16px;z-index:10;max-width:88vw;white-space:normal;text-align:center}#prompt .kbd{background:#a7f6dd;color:#164338;border:0;padding:4px 8px;margin-right:8px}#vignette{background:linear-gradient(180deg,#1024382b,transparent 20%,transparent 76%,#10243850)}
#start{background:linear-gradient(90deg,#0b273bee 0%,#102b3bc7 30%,#10283b22 68%,#0b263422);padding:6vw;justify-content:flex-start;z-index:40}#start .panel{background:none;box-shadow:none;align-items:flex-start;text-align:left;padding:0;width:440px;gap:0;height:auto;overflow:visible}#logo{font-size:clamp(44px,5vw,78px);letter-spacing:-3px;line-height:1.02;text-shadow:0 4px 24px #0029;margin-bottom:5px}#logo span{color:#b7f4d9}#startWorld{font-weight:400!important;color:#d9ebf3!important;font-size:17px;line-height:1.55;margin:22px 0;max-width:350px}#start input#nameIn{background:#09283c96;border:1px solid #bdedec50;text-align:left;font-size:16px;border-radius:13px;padding:15px 17px;width:100%;margin:6px 0 12px}#bPlay{font-size:17px!important;width:100%;padding:16px 22px!important;text-align:left;background:#b5f5dc;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 0 #4877648c;margin-bottom:19px}#start label.ctrls{font-size:13px;color:#cee1e9;margin-top:5px}#start .ctrls:last-child{font-size:13px;color:#abc6d3;line-height:1.7;margin-top:16px}#start input[type=checkbox]{accent-color:#98e6ca;width:16px!important;height:16px;padding:0;margin-right:6px}.edition{font-size:13px;text-transform:uppercase;letter-spacing:5px;color:#ffdfa1;font-weight:800;margin:0 0 22px}.wonder-title{font-family:Georgia,serif;font-style:italic;font-size:clamp(35px,4vw,54px);letter-spacing:-1.5px;color:#fff8df;line-height:1.1}.family-credit{color:#bddee5;font-size:13px;margin-top:25px;line-height:1.65}.name-label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#d6e8ea}.save-label{font-size:12px;color:#a7c9d5;margin:0 0 15px}.start-chips{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}.start-chip{border:1px solid #fff3;background:#1d435780;color:#e3f4f9;border-radius:20px;padding:6px 14px;cursor:pointer;font-size:14px}.start-chip:hover{background:#436277}.splash-place{position:fixed;right:42px;bottom:32px;color:#f8fcfa;font-size:14px;text-shadow:0 2px 8px #124a}.splash-place small{display:block;font-size:11px;letter-spacing:3px;margin-bottom:8px;color:#d5ecea}
#advHud{pointer-events:none;position:absolute;inset:0;display:none}body.playing #advHud{display:block}#questPin{position:absolute;top:87px;left:25px;width:273px;padding:16px 18px;background:linear-gradient(120deg,#102a3ddd,#163745a3);border:1px solid #d1f6f526;border-radius:16px;pointer-events:auto;cursor:pointer;box-shadow:0 8px 25px #092a2418;color:#eaf9fa;text-align:left}#questPin .eyebrow{font-size:11px;font-weight:800;color:#ffdb92;letter-spacing:2px;display:block;margin-bottom:9px}#questPin strong{font-size:17px;display:block;margin-bottom:7px}#questPin .detail{font-size:13px;color:#c4dbe3;line-height:1.5;display:block}#questPin .progress-line{height:3px;border-radius:3px;background:#ffffff20;display:block;margin-top:14px;overflow:hidden}#questPin .progress-fill{height:100%;display:block;background:#a0ebd4;transition:width .4s}#questPin .pin-foot{font-size:11px;letter-spacing:.6px;color:#abc7d3;margin-top:9px;display:flex;justify-content:space-between}.adv-dock{pointer-events:auto;position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:5px;padding:7px;border:1px solid #c4f8ff35;background:#102a3edb;backdrop-filter:blur(16px);border-radius:20px;box-shadow:0 10px 35px #001e3030}.dock-btn{background:none;border:0;color:#cce1e6;padding:8px 15px;cursor:pointer;border-radius:12px;display:flex;align-items:center;gap:9px;font-size:14px}.dock-btn:hover{background:#ffffff17;color:white}.dock-btn .symbol{font-size:22px;line-height:1}.dock-btn .shortcut{font-size:11px;color:#96b5bf;background:#ffffff0d;padding:2px 5px;border-radius:4px}#mapWrap{position:absolute;right:24px;bottom:24px;pointer-events:auto;background:#102b3dde;padding:7px;border:1px solid #d2ffff40;border-radius:23px;width:172px;overflow:hidden;cursor:pointer}#miniMap{display:block;width:156px;height:156px;border-radius:17px;background:#246b6b}#mapCaption{padding:8px 2px 3px;display:flex;justify-content:space-between;font-size:11px;color:#cee7eb}#adventureStats{position:absolute;left:24px;bottom:27px;max-width:250px}#adventureStats strong{font-size:22px;color:#fff4cd;font-weight:800}#adventureStats small{color:#cce2e6;font-size:12px;margin-left:9px}.xp-track{height:4px;border-radius:3px;background:#112c398c;width:175px;margin-top:10px;overflow:hidden}.xp-track i{display:block;height:4px;background:#9dedd3}.control-hint{position:absolute;bottom:97px;left:50%;transform:translateX(-50%);color:#e1f0f0;font-size:12px;white-space:nowrap;text-shadow:0 2px 4px #0006}#glideTouch{position:absolute;right:122px;bottom:31px;pointer-events:auto;display:none;width:63px;height:63px;border:1px solid #fff7;border-radius:50%;background:#16394abf;color:white;font-size:15px}.touch #glideTouch{display:block}#trackedMarker{position:absolute;left:50%;top:82px;transform:translateX(-50%);font-size:12px;color:#f8efcd;background:#17394a85;border:1px solid #fff2;border-radius:30px;padding:7px 13px}#raceHud{display:none;position:absolute;top:100px;left:50%;transform:translateX(-50%);text-align:center;color:#fff7d5;background:#0c2a3dd9;border:1px solid #ffe4a780;border-radius:20px;padding:15px 30px;pointer-events:auto}#raceHud strong{font-size:32px;display:block}#raceHud span{font-size:14px}#raceHud button{font-size:12px;margin-left:12px;background:none;border:0;color:#ffdbab;cursor:pointer}
.modal{z-index:45;backdrop-filter:blur(8px);background:#071d2da3}.panel{background:#142d3f;border:1px solid #c6eafa2c;border-radius:24px}.panel .head{padding:18px 23px}.panel .head h2{font-size:23px}.panel .foot{padding:14px 20px}.item,.world{background:#203f50;border:1px solid #ffffff12;border-radius:15px}.item .nm,.world .bl{font-size:14px;line-height:1.5}.cats{width:180px;flex-basis:180px}.cats button{font-size:14px}.world .ag{font-size:12px}.world .nm{font-size:17px}.item .btn{font-size:14px}.note{font-size:13px}.adventure-panel{width:min(1040px,100%);height:min(790px,92vh)}.adventure-panel .head{flex-shrink:0}.adv-head-sub{font-size:12px;letter-spacing:2px;color:#94b9c9;display:block;margin-bottom:5px}.adv-tabs{display:flex;gap:5px;border-bottom:1px solid #fff2;padding:0 20px 13px;overflow:auto;flex-shrink:0}.adv-tabs button{background:none;border:1px solid transparent;border-radius:9px;color:#a6c8d3;padding:10px 15px;cursor:pointer;font-size:14px;white-space:nowrap}.adv-tabs button.on{background:#d6f5df;color:#1b433f}.adv-content{overflow:auto;padding:22px;min-height:0;flex:1}.adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.realm-card{background:#213f50;border:1px solid #ffffff22;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:255px}.realm-swatch{height:70px;display:flex;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(120deg,var(--realm),#173c5477);font-size:31px}.realm-swatch small{font-size:11px;letter-spacing:2px;text-transform:uppercase;background:#102b438c;padding:7px 9px;border-radius:20px;color:white}.realm-copy{padding:16px;display:flex;flex:1;flex-direction:column;gap:9px}.realm-copy h3{font-size:19px;margin:0;letter-spacing:-.3px}.realm-copy p{font-size:14px;margin:0;color:#c3d8df;line-height:1.5}.realm-copy .btn{margin-top:auto}.book-note{font-size:15px;line-height:1.6;color:#bdd5df;margin:0 0 20px}.journal-row{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid #fff2;background:#1d3e50;border-radius:15px;margin-bottom:10px}.journal-row .seal{font-size:26px;width:40px;text-align:center;flex-shrink:0}.journal-row .row-copy{flex:1;min-width:0}.journal-row h3{margin:0 0 5px;font-size:17px}.journal-row p{margin:0;font-size:14px;line-height:1.5;color:#b9d5df}.journal-row small{display:block;color:#f3d78e;margin-top:7px;font-size:12px}.journal-row.done{opacity:.65}.journal-row.locked{opacity:.62}.journal-row .btn{flex-shrink:0}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.inventory-cell{background:#244958;border-radius:14px;padding:17px 12px;text-align:center}.inventory-cell span{font-size:27px;display:block}.inventory-cell strong{font-size:21px;display:block;margin:8px 0 4px}.inventory-cell small{font-size:12px;color:#c9dfe6}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.collection-cell{background:#1d3e50;border:1px solid #fff2;border-radius:14px;padding:16px;min-height:105px}.collection-cell strong{display:block;font-size:15px;margin-bottom:8px}.collection-cell small{font-size:13px;line-height:1.6;color:#afcbd6}.collection-cell .collection-icon{font-size:26px;display:block;margin-bottom:8px}.collection-cell.unknown{opacity:.5}.book-section{font-size:20px;margin:25px 0 13px}.map-large{position:relative;background:#1c4b55;border-radius:16px;padding:15px;margin-bottom:20px}.map-large canvas{width:100%;height:340px;display:block;object-fit:contain}.map-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#d0e6e6;margin-top:14px}.dialog-panel{width:min(550px,100%);padding:30px;text-align:center;gap:13px;align-items:center}.dialog-portrait{font-size:40px;width:80px;height:80px;border-radius:50%;background:#416252;display:flex;align-items:center;justify-content:center}.dialog-panel h2{margin:0;font-size:26px}.dialog-panel p{font-size:16px;line-height:1.7;color:#cce2e8;margin:0}.dialog-panel .eyebrow{font-size:12px;letter-spacing:3px;color:#ffe196}.dialog-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}.fish-track{height:34px;background:#0c2035;width:100%;border-radius:10px;position:relative;overflow:hidden;margin:12px 0}.fish-zone{position:absolute;left:35%;width:28%;height:100%;background:#7ae5b2}.fish-cursor{position:absolute;height:100%;width:5px;background:#fff;box-shadow:0 0 15px white;left:0}.fish-instruction{font-size:14px;color:#acd6e0}.build-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.build-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-width:550px;margin:10px auto}.build-cell{aspect-ratio:1;border:1px solid #9cbf8a5c;border-radius:7px;background:#426c53;color:#f0ffe4;cursor:pointer;font-size:24px}.build-cell:hover{background:#678869}.build-tools button.on{border-color:#c3ffd9;background:#31735e}.book-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-field{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #fff2;font-size:15px}.settings-field small{color:#a9cbd5;display:block;font-size:13px;margin-top:5px}.settings-field select{background:#224856;color:white;border:1px solid #fff3;padding:9px 12px;border-radius:9px}.settings-field input[type=checkbox]{width:20px;height:20px;accent-color:#9eefcf}.save-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.save-buttons input{display:none}.achievement-toast{position:absolute;top:160px;left:50%;transform:translateX(-50%) translateY(-20px);opacity:0;transition:.4s;pointer-events:none;padding:15px 30px;background:#183c47f0;border:1px solid #ffe19790;border-radius:20px;text-align:center;z-index:50;max-width:90vw}.achievement-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.achievement-toast small{display:block;letter-spacing:3px;font-size:11px;color:#ffe198;margin-bottom:7px}.achievement-toast strong{font-size:21px}.footer-status{color:#a6c8d0;font-size:13px;padding:13px 22px;border-top:1px solid #fff1}#fatal{z-index:100!important}#seedbar{bottom:96px}
@media(max-width:1100px){.dock-btn{padding:8px 10px}.dock-btn .shortcut{display:none}#adventureStats{max-width:155px}#mapWrap{width:146px}#miniMap{width:130px;height:130px}#topbar{left:15px;right:15px}.adv-dock{bottom:22px}.control-hint{font-size:11px}#questPin{width:245px;left:18px}}
@media(max-width:760px){#topbar{top:12px;left:12px;right:12px;gap:5px}#topbar .btn{font-size:13px;padding:9px}#topbar .pill{padding:8px 10px}#worldPill{padding:3px;font-size:12px!important}#worldName{font-size:12px}#worldPill #worldName{max-width:104px}#bShop{display:none}#topbar .icon{width:35px;min-width:35px;height:35px}#start{padding:28px;background:linear-gradient(90deg,#102a3deb,#102a3d96);justify-content:center}#start .panel{width:min(400px,100%);padding:0;height:auto;justify-content:center}#logo{font-size:54px}#startWorld{font-size:15px;margin:15px 0}#start .ctrls:last-child{display:none}.wonder-title{font-size:39px}.edition{margin-bottom:16px;font-size:11px;letter-spacing:4px}.family-credit{margin-top:12px}.splash-place{display:none}#questPin{top:66px;left:12px;width:210px;padding:12px 14px;border-radius:13px}#questPin strong{font-size:15px}#questPin .detail{font-size:12px}#questPin .eyebrow{font-size:10px;margin-bottom:6px}#questPin .pin-foot{font-size:10px}#questPin .progress-line{margin-top:8px}#mapWrap{right:12px;top:66px;bottom:auto;width:107px;padding:5px;border-radius:16px}#miniMap{width:95px;height:95px;border-radius:11px}#mapCaption{font-size:9px;padding:6px 0 1px}#trackedMarker{top:auto;bottom:143px;font-size:11px}#adventureStats{display:none}.adv-dock{bottom:12px;padding:5px;gap:2px;border-radius:17px}.dock-btn{padding:8px 10px;gap:4px;flex-direction:column;font-size:10px;min-width:45px}.dock-btn .symbol{font-size:20px}.control-hint{display:none}#prompt{bottom:148px;top:auto;max-width:88vw;font-size:13px;padding:10px 15px}#toast{bottom:215px;font-size:13px}#stage{top:204px;font-size:24px}#questPin .pin-foot{display:none}.adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adv-content{padding:15px}.adventure-panel{height:100%;max-height:100%;width:100%;border-radius:0}.adventure-panel .head{padding:15px}.panel .head h2{font-size:20px}.adv-tabs{padding:0 10px 10px}.adv-tabs button{padding:8px 11px}.realm-copy{padding:12px}.realm-copy h3{font-size:17px}.realm-copy p{font-size:13px}.realm-card{min-height:240px}.realm-swatch{padding:14px;height:60px}.realm-swatch small{font-size:9px}.collection-grid{grid-template-columns:repeat(2,1fr)}.inventory-grid{grid-template-columns:repeat(2,1fr)}.book-two{grid-template-columns:1fr}.journal-row{padding:12px;gap:9px;flex-wrap:wrap}.journal-row .row-copy{min-width:65%}.journal-row .btn{margin-left:49px}.journal-row h3{font-size:16px}.journal-row p{font-size:13px}.dialog-panel{height:auto;max-height:93vh;overflow:auto;border-radius:22px;margin:14px;padding:23px}.dialog-panel h2{font-size:23px}.dialog-panel p{font-size:15px}body.touch #stick{width:104px;height:104px;left:18px;bottom:83px}body.touch #jump{width:72px;height:72px;right:20px;bottom:89px}body.touch #action{width:59px;height:59px;right:26px;bottom:179px;font-size:17px}body.touch #glideTouch{right:105px;bottom:96px;width:53px;height:53px;font-size:13px}body.touch #chat{top:220px;left:12px;max-height:130px}#seedbar{bottom:216px}#raceHud{top:211px;padding:10px 20px}#raceHud strong{font-size:26px}}
@media(max-height:600px){#start{padding:20px 5vw}#logo{font-size:46px}.wonder-title{font-size:32px}.edition{margin-bottom:8px}#startWorld{margin:9px 0;font-size:14px}#start input#nameIn{padding:10px 14px}#bPlay{padding:12px 18px!important;margin-bottom:8px}.family-credit{margin-top:8px;font-size:12px}#start .ctrls:last-child,.save-label{display:none}#questPin .detail{display:none}#questPin{width:220px}#mapWrap{width:110px;bottom:90px;top:auto}#miniMap{width:94px;height:94px}.splash-place{display:none}#trackedMarker{top:68px;bottom:auto}.adv-content{padding:14px}.adventure-panel{height:98vh}.dialog-panel{padding:20px}.dialog-portrait{width:54px;height:54px;font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep the family visible without making the game controls crowd the toolbar. */
#bFamily{position:absolute;top:78px;right:24px;width:250px;display:none;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:#112c3eef;z-index:12}
body.playing #bFamily{display:flex}
#familyCount{font-size:14px}
#familyHost{font-size:13px;color:#ffe096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#board,body.touch #board{top:150px;right:24px;width:250px}
#boardRows{max-height:25vh;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
#board .row span:first-child{min-width:0;overflow-wrap:anywhere}
#board .hd,#board .row,body.touch #board .hd,body.touch #board .row{grid-template-columns:minmax(0,1fr) 38px 50px}
#boardFoot{word-break:normal!important}
.family-content{flex:1;min-height:0;overflow-y:auto}
.family-overview{padding:18px 22px 0}
#adminStatus{font-size:16px;line-height:1.5;margin:0 0 14px;color:#ffe096}
#familyRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
.family-player{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#203f50;border:1px solid #ffffff24;border-radius:12px;padding:12px;font-size:16px;min-width:0}
.family-player strong{overflow-wrap:anywhere;min-width:0}
.family-badge{font-size:14px;color:#c3d8df;flex-shrink:0}
.family-badge.is-host{color:#ffe096;font-weight:800}
.family-travel{font-size:16px;line-height:1.5;color:#a7f6dd;margin:0}
.family-travel:empty{display:none}
#familyHelp{margin:0 0 12px}
#adminLogin{align-items:flex-start;padding:16px 22px 24px;font-size:16px}
#adminLogin input{text-align:left}
#adminErr{font-size:14px;line-height:1.5}
#adminBody{flex:none}
#adminBody .worlds{overflow:visible;flex:none}

/* The browser owns menu swipes; only the canvas and game controls suppress them. */
#ui{height:100vh;height:100dvh}
.modal{min-height:0;touch-action:auto;overflow:hidden}
.modal .panel{min-height:0;max-height:100%}
.panel .head,.panel .foot,.footer-status{flex-shrink:0}
#shop .panel,#pets .panel,#roles .panel,#admin .panel{height:min(790px,92vh);height:min(790px,92dvh)}
.adventure-panel{height:min(790px,92vh);height:min(790px,92dvh)}
.panel .body{min-height:0}
.adv-content,.worlds,.items,.cats,.family-content{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.worlds{flex:1 1 auto;overflow-y:auto}
.adv-tabs{touch-action:pan-x pinch-zoom;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#start .panel,.dialog-panel,#hatch .panel,#win .panel{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
#start .panel>*,.dialog-panel>*,#hatch .panel>*,#win .panel>*{flex-shrink:0}
#start .panel{max-height:100%;justify-content:flex-start}
body.touch #board{display:none}
body.touch #mapWrap{top:156px;bottom:auto}
body.touch #stick,body.touch #jump,body.touch #action{z-index:20;touch-action:none}
body.touch #action{right:26px;bottom:134px;width:88px;height:72px;border-radius:18px;background:#a7f6dd;color:#123c39;border:2px solid #e1fff0;font-size:15px;padding:7px;cursor:pointer}
body.touch.playing #action{display:flex}
body.touch #action:disabled{opacity:.5}
@media(max-width:760px){
  #bFamily{top:62px;left:12px;right:12px;width:auto;min-height:40px;flex-direction:row;justify-content:space-between;align-items:center;padding:9px 12px;gap:12px}
  #familyCount{flex-shrink:0}
  #familyHost{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.show-players #board{display:none}
  #questPin,#mapWrap{top:112px}
  body.touch #mapWrap{top:112px}
  body.touch #action{right:20px;bottom:179px;width:82px;height:64px;font-size:14px}
  #questPin{max-width:calc(100vw - 145px)}
  #stage{top:248px}
  #familyRows{grid-template-columns:1fr}
  #shop .panel,#pets .panel,#roles .panel,#admin .panel,.adventure-panel{height:100%;max-height:100%}
  .family-overview{padding:15px 15px 0}
  #adminLogin{padding:15px}
  .modal input,.modal select{font-size:16px}
}
@media(max-width:600px){
  .cats{width:100%;flex:0 0 auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pinch-zoom}
  .cats button{flex-shrink:0}
}
@media(max-height:450px){
  #questPin,#mapWrap{display:none}
  #bFamily{top:62px}
}
