/* Mobile browser viewport, touch targets and compact modules. Loaded last. */
@media(max-width:999px){
 html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden;-webkit-text-size-adjust:100%}
 .phone{width:100%;max-width:none;height:var(--app-height,100dvh);min-height:0;margin:0;border-radius:0}
 .phone .game{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0}
 .phone #lake-webgl{position:absolute;inset:0;width:100%;height:100%}
 .phone .game-header{top:calc(env(safe-area-inset-top,0px) + 12px);left:14px;right:14px;gap:10px}
 .phone .wordmark{font-size:20px}.phone .wordmark small{font-size:7px;letter-spacing:.12em}
 .phone .account{min-width:44px;min-height:44px;padding:8px 10px;font-size:11px;max-width:145px}
 .phone .fullscreen-toggle{display:none}
 .phone .location{top:calc(env(safe-area-inset-top,0px) + 100px);left:18px;pointer-events:none}
 .phone .location h2{font-size:27px}.phone .location>span{font-size:8px}.phone .location p{font-size:10px}
 .phone .map-tools{top:calc(env(safe-area-inset-top,0px) + 88px);right:12px;left:auto;width:142px;padding:7px;border-radius:14px}
 .phone .water-picker{width:100%;min-height:44px;padding:8px;gap:5px;font-size:11px}
 .phone .connections{display:flex;gap:4px;margin-top:5px}.phone .connections button{min-width:0;flex:1;padding:6px 2px;font-size:8px;min-height:32px}
 .phone .lake-sound-toggle,.phone .lake-music-toggle{top:calc(env(safe-area-inset-top,0px) + 192px)!important;min-height:40px!important;width:82px!important;font-size:9px!important;white-space:nowrap!important;padding:5px!important;border-radius:10px!important}
 .phone .lake-sound-toggle{right:97px!important}.phone .lake-music-toggle{right:12px!important}.phone .sound-credit{top:calc(env(safe-area-inset-top,0px) + 235px)!important;right:16px!important;font-size:8px!important}
 .phone .bottom-nav{display:grid;grid-template-columns:minmax(44px,1fr) minmax(44px,.9fr) minmax(86px,1.45fr) minmax(56px,1fr) 40px;gap:3px;width:calc(100% - 20px);max-width:560px;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:64px;padding:6px;border-radius:22px}
 .phone .bottom-nav button,.phone .bottom-nav button[data-nav],.phone .bottom-nav .gear-card,.phone .bottom-nav .cast-button,.phone .bottom-nav .dock-more{width:100%;height:50px;min-height:44px;padding:4px;gap:3px;font-size:11px}
 .phone .bottom-nav .gear-card{grid-column:1;grid-row:1}.phone .bottom-nav [data-nav=bag]{grid-column:2;grid-row:1;flex-direction:column}.phone .bottom-nav .cast-button{grid-column:3;grid-row:1}.phone .bottom-nav [data-nav=records]{grid-column:4;grid-row:1;flex-direction:column}.phone .bottom-nav .dock-more{grid-column:5;grid-row:1}
 .phone .gear-symbol,.phone .cast-arrow{display:none}.phone .gear-card b{font-size:11px}.phone .cast-label b{font-size:15px;letter-spacing:0}.phone .bottom-nav svg{width:18px;height:18px}
 .phone #fishing-progress{bottom:calc(80px + env(safe-area-inset-bottom,0px));width:calc(100% - 20px);max-width:560px;padding:9px 11px;border-radius:14px}
 .phone #fishing-progress p{font-size:11px;line-height:1.5;margin:4px 0}.phone .progress-heading small{flex-basis:auto;margin-left:auto;font-size:9px}.phone .progress-actions button{min-height:36px}
 .phone #module-page{position:absolute;top:calc(env(safe-area-inset-top,0px) + 64px);left:10px;right:10px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;min-height:0;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;z-index:15;box-shadow:0 12px 45px #152d4b30}
 .phone #module-page[hidden]{display:none}.phone #module-page.collapsed{bottom:auto;height:66px}
 .phone .module-header{flex-shrink:0;padding:12px;gap:7px;min-height:66px}.phone .module-header h1{font-size:21px;margin:3px 0}.phone .module-header .eyebrow{font-size:8px;letter-spacing:.06em}.phone .module-account{display:none}.phone .panel-fold,.phone .panel-close{width:40px;height:40px;min-width:40px;padding:0}
 .phone .module-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px!important;flex:1}
 .phone .nft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.phone .collection-notice{padding:10px;margin-bottom:12px;gap:6px}.phone .collection-notice>span{display:none}.phone .collection-notice p{margin:3px 0;font-size:10px}
 .phone .history-filters{gap:5px;display:grid;grid-template-columns:repeat(4,1fr)}.phone .history-filters button{padding:8px 3px;min-height:40px;font-size:11px}.phone .records-toolbar{margin:12px 0;gap:8px}.phone .records-toolbar h2{font-size:19px}
 .phone .modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px calc(env(safe-area-inset-bottom,0px) + 12px);z-index:30}
 .phone .modal[hidden]{display:none}.phone .sheet{width:100%;max-width:440px;max-height:100%;min-height:0;margin:auto;padding:20px 16px;border-radius:20px;overflow:auto;overscroll-behavior:contain}.phone .sheet-content{min-width:0}.phone .sheet h2{font-size:21px;padding-right:28px}.phone .sheet input,.phone .sheet select,.phone .sheet textarea{font-size:16px;min-height:46px}.phone .sheet-action{min-height:44px}.phone .sheet-close{width:40px;height:40px;top:8px;right:8px}
 .phone .bnb-warning{top:calc(env(safe-area-inset-top,0px) + 62px);font-size:9px;padding:4px;line-height:1.3}
 body[data-keyboard=true] .bottom-nav,body[data-keyboard=true] #fishing-progress{visibility:hidden}
}
@media(max-width:350px){.phone .wordmark small{display:none}.phone .location h2{font-size:23px}.phone .map-tools{width:130px}.phone .bottom-nav{width:calc(100% - 12px);gap:1px}.phone .cast-icon{display:none}.phone .progress-heading strong{font-size:11px}}
@media(min-width:600px) and (max-width:999px){.phone #module-page{left:auto;width:420px}.phone .nft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
