@media (max-width:820px) and (pointer:coarse), (pointer:coarse) and (max-height:520px), (display-mode:standalone) {
  /* Match the approved phone scene without changing the desktop bench camera. */
  html.ta-app-active #scene-art .place { --stage-w:min(100vw,calc(var(--scene-height,100vh) * .9)) }
  html.ta-app-active #scene-menu-toggle,
  html.ta-app-active #chat-toggle,
  html.ta-app-active #notifications-toggle,
  html.ta-app-active #seat-actions,
  html.ta-app-active #scene-zoom-controls,
  html.ta-app-active #voice-toggle,
  html.ta-app-active #games-toggle,
  html.ta-app-active #current,
  html.ta-app-active #time,
  html.ta-app-active #map-toggle { display:none!important }
  html.ta-app-active #lantay-devtools,
  html.ta-app-active #pickle-notice,
  html.ta-app-active #store-toggle,
  html.ta-app-active #animate,
  html.ta-app-active #music-toggle,
  html.ta-app-active #profile-toggle,
  html.ta-app-active #friends-toggle,
  html.ta-app-active #inbox-toggle,
  html.ta-app-active #pepe-summon,
  html.ta-app-active #ui-visibility-toggle,
  html.ta-app-active #wake-lock-toggle { display:none!important }
  /* Sungka has not launched in the mobile app. */
  html.ta-app-active #games-panel .game-card:nth-child(4) { display:none!important }
  html.ta-app-active #private-chat-panel .ta-pepe-invite{display:flex;align-items:center;gap:12px;margin:8px 0 14px;padding:10px 14px;border:1px solid #e7e3dc;border-radius:20px;background:#fbf3df;color:#344239;font:700 15px/1.3 'Alegreya Sans',sans-serif}
  html.ta-app-active #private-chat-panel .ta-pepe-invite span{flex:1}
  html.ta-app-active #private-chat-panel .ta-pepe-invite button{position:static;width:auto;height:36px;min-width:68px;padding:0 14px;border:0;border-radius:18px;background:#465d48;color:#fbf3df;font:700 14px 'Alegreya Sans',sans-serif}
  html.ta-app-active #private-chat-panel .ta-pepe-invite button:disabled{opacity:.55}
  html.ta-app-active[data-time=night] #private-chat-panel .ta-pepe-invite{background:#294354;border-color:#b9d0d044;color:#f1f2e4}
  /* Notifications: the website's dialog keeps its logic and shows as the approved bottom sheet (modals/notifications.html). */
  html.ta-app-active dialog#notifications-panel{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-3:#7c828b;--rule:#e7e3dc;--soft:#efebe3;position:fixed!important;inset:auto 0 0 0!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;margin:0!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:86dvh!important;height:auto!important;transform:none!important;translate:none!important;animation:none!important;display:none;flex-direction:column;padding:10px 18px calc(28px + env(safe-area-inset-bottom));border:0;border-radius:30px 30px 0 0;background:var(--sheet);color:var(--ink);box-shadow:0 -18px 40px -24px rgba(0,0,0,.6);font:500 16px/1.45 'Alegreya Sans',sans-serif;font-size-adjust:.5;overflow:hidden}
  html.ta-app-active dialog#notifications-panel[open]{display:flex}
  html.ta-app-active dialog#notifications-panel::backdrop{background:rgba(17,24,20,.42)!important;backdrop-filter:none!important}
  html.ta-app-active dialog#notifications-panel::before{content:"";flex:none;width:40px;height:5px;border-radius:3px;background:#d6d1c8;margin:0 auto 14px}
  html.ta-app-active #notifications-panel header{display:flex;align-items:center;justify-content:space-between;padding:0;margin:0;border:0;background:transparent}
  html.ta-app-active #notifications-panel header h1{margin:0;font:400 28px/1.05 Maragsa,Georgia,serif;letter-spacing:-.01em;color:var(--ink)}
  html.ta-app-active #close-notifications{position:static;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:50%;background:var(--card);color:var(--ink);font-size:22px;line-height:1;padding:0}
  html.ta-app-active #notifications-panel .notifications-body{flex:1;min-height:0;overflow:auto;scrollbar-width:none;padding:0;margin:0}
  html.ta-app-active #notifications-panel .notifications-body::-webkit-scrollbar{display:none}
  html.ta-app-active #notifications-list{margin-top:14px;padding:4px 14px;background:var(--card);border:1px solid var(--rule);border-radius:20px}
  html.ta-app-active #notifications-list:empty{display:none}
  html.ta-app-active #notifications-panel .notice-row{display:block;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink)}
  html.ta-app-active #notifications-panel .notice-row+.notice-row{border-top:1px solid #f0ece4}
  html.ta-app-active #notifications-panel .notice-row h2{margin:0;font:700 16px/1.3 'Alegreya Sans',sans-serif;color:var(--ink)}
  html.ta-app-active #notifications-panel .notice-row p{margin:0;font:500 15px/1.35 'Alegreya Sans',sans-serif;color:var(--ink)}
  html.ta-app-active #notifications-panel .notice-row h2+p{color:var(--ink-3);font-size:13px}
  html.ta-app-active #notifications-panel .notice-row small{display:block;margin:2px 0 0;color:var(--ink-3);font:500 13px/1.3 'Alegreya Sans',sans-serif}
  html.ta-app-active #notifications-panel .notice-row small:first-child{margin:0 0 2px}
  html.ta-app-active #notifications-panel .notification-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
  html.ta-app-active #notifications-panel .notice-row button{position:static;width:auto;height:36px;min-width:0;padding:0 14px;border:0;border-radius:18px;background:var(--soft);color:var(--ink);font:700 14px 'Alegreya Sans',sans-serif;box-shadow:none}
  html.ta-app-active #notifications-panel .notice-row button.ta-primary{order:-1;background:#465d48;color:#fbf3df}
  html.ta-app-active #notifications-panel .notice-row button:disabled{opacity:.55}
  html.ta-app-active #notifications-status{margin:10px 0 0;color:var(--ink-3);font-size:14px;text-align:center}
  html.ta-app-active #notifications-status:empty{display:none}
  html.ta-app-active[data-time=night] dialog#notifications-panel{--sheet:#172a36;--card:#1c3240;--ink:#eef0e6;--ink-3:#93a6a8;--rule:#2b4555;--soft:#243c4b}
  html.ta-app-active[data-time=night] dialog#notifications-panel::before{background:#2b4555}
  html.ta-app-active[data-time=night] #notifications-panel .notice-row+.notice-row{border-top-color:#2b4555}
  /* Tagpuan hub (age check, preferences, Finding, invitations): the website flow as the approved bottom sheet. */
  html.ta-app-active dialog#tagpuan-hub{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--ink-3:#7c828b;--rule:#e7e3dc;--soft:#efebe3;position:fixed!important;inset:auto 0 0 0!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;margin:0!important;width:100%!important;max-width:none!important;max-height:88dvh!important;height:auto!important;transform:none!important;translate:none!important;overflow:auto;scrollbar-width:none;padding:10px 18px calc(32px + env(safe-area-inset-bottom));border:0;border-radius:30px 30px 0 0;background:var(--sheet);color:var(--ink);box-shadow:0 -18px 40px -24px rgba(0,0,0,.6);font:500 16px/1.45 'Alegreya Sans',sans-serif;font-size-adjust:.5}
  html.ta-app-active dialog#tagpuan-hub::-webkit-scrollbar{display:none}
  html.ta-app-active dialog#tagpuan-hub::before{content:"";display:block;width:40px;height:5px;border-radius:3px;background:#d6d1c8;margin:0 auto 14px}
  html.ta-app-active dialog#tagpuan-hub::backdrop{background:rgba(17,24,20,.42)!important;backdrop-filter:none!important}
  html.ta-app-active #tagpuan-hub #tagpuan-hub-title{margin:0;padding-right:48px;font:400 28px/1.05 Maragsa,Georgia,serif;letter-spacing:-.01em;color:var(--ink)}
  html.ta-app-active #tagpuan-hub .tagpuan-hub-lede{margin:6px 0 0;color:var(--ink-2);font-size:15px}
  html.ta-app-active #tagpuan-hub .tagpuan-hub-close{position:absolute;right:18px;top:12px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--card);color:var(--ink);font-size:24px;line-height:1}
  html.ta-app-active #tagpuan-hub .tagpuan-card{margin:14px 0 0;padding:14px;border:1px solid var(--rule);border-radius:20px;background:var(--card);box-shadow:none;color:var(--ink)}
  html.ta-app-active #tagpuan-hub .tagpuan-card h3{margin:0 0 4px;font:400 22px/1.15 Maragsa,Georgia,serif;color:var(--ink)}
  html.ta-app-active #tagpuan-hub .tagpuan-card p{margin:4px 0 0;color:var(--ink-2);font-size:15px}
  html.ta-app-active #tagpuan-hub .tagpuan-muted{color:var(--ink-3)!important;font-size:14px}
  html.ta-app-active #tagpuan-hub button:not(.tagpuan-hub-close):not(.tagpuan-chip){width:100%;height:52px;margin:12px 0 0;padding:0 18px;border:1.5px solid var(--rule);border-radius:26px;background:var(--card);color:var(--ink);font:700 16px 'Alegreya Sans',sans-serif;box-shadow:none}
  html.ta-app-active #tagpuan-hub button.primary{border:0!important;background:#465d48!important;color:#fbf3df!important}
  html.ta-app-active #tagpuan-hub button:disabled{opacity:.55}
  html.ta-app-active #tagpuan-hub .tagpuan-row{display:flex;gap:10px}
  html.ta-app-active #tagpuan-hub .tagpuan-row button{flex:1}
  html.ta-app-active #tagpuan-hub .tagpuan-pref{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;color:var(--ink-2);font-size:14px}
  html.ta-app-active #tagpuan-hub .tagpuan-pref input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#465d48}
  html.ta-app-active #tagpuan-hub .tagpuan-choices{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
  html.ta-app-active #tagpuan-hub .tagpuan-choices label{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--rule);border-radius:18px;background:var(--card);font-weight:700;font-size:14px}
  html.ta-app-active #tagpuan-hub .tagpuan-choices label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--sheet)}
  html.ta-app-active #tagpuan-hub .tagpuan-choices input{position:absolute;opacity:0;pointer-events:none}
  html.ta-app-active #tagpuan-hub .tagpuan-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
  html.ta-app-active #tagpuan-hub .tagpuan-chip{height:32px;padding:0 12px;border:1px solid var(--rule);border-radius:16px;background:var(--card);color:var(--ink);font:700 13px 'Alegreya Sans',sans-serif}
  html.ta-app-active #tagpuan-hub .tagpuan-form>input{width:100%;height:50px;margin:4px 0 0;padding:0 14px;border:1.5px solid var(--rule);border-radius:16px;background:var(--card);color:var(--ink);font:500 16px 'Alegreya Sans',sans-serif}
  html.ta-app-active #tagpuan-hub .tagpuan-hub-status{margin:10px 0 0;color:var(--ink-3);font-size:14px;text-align:center}
  html.ta-app-active #tagpuan-hub .tagpuan-hub-status:empty{display:none}
  /* Finding a ka-tagpo (modals/finding.html) */
  html.ta-app-active #tagpuan-hub:has(.tagpuan-waiting) :is(#tagpuan-hub-title,.tagpuan-hub-lede,.tagpuan-hub-close){display:none}
  html.ta-app-active #tagpuan-hub :is(#tagpuan-hub-title,.tagpuan-hub-lede,.tagpuan-card:not(.tagpuan-waiting)){text-align:left}
  html.ta-app-active #tagpuan-hub .tagpuan-waiting{border:0;background:transparent;padding:0;text-align:center}
  html.ta-app-active #tagpuan-hub .tagpuan-waiting h3{font-size:28px;line-height:1.05}
  html.ta-app-active #tagpuan-hub .ta-finding-faces{display:flex;justify-content:center;margin:6px 0 10px}
  html.ta-app-active #tagpuan-hub .ta-finding-faces span{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;flex:none;background:#ffc53d}
  html.ta-app-active #tagpuan-hub .ta-finding-faces span img{position:absolute;width:160%;left:50%;top:-2%;transform:translateX(-50%)}
  html.ta-app-active #tagpuan-hub .ta-finding-faces .ta-unknown{margin-left:-14px;display:grid;place-items:center;background:var(--card);border:2.5px dashed #9aa1ab;font:400 28px Maragsa,serif;color:var(--ink-3)}
  html.ta-app-active #tagpuan-hub .tagpuan-dots{display:none}
  html.ta-app-active[data-time=night] dialog#tagpuan-hub{--sheet:#172a36;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--ink-3:#93a6a8;--rule:#2b4555;--soft:#243c4b}
  html.ta-app-active[data-time=night] dialog#tagpuan-hub::before{background:#2b4555}
  html.ta-app-active[data-time=night] #tagpuan-hub button:not(.primary):not(.tagpuan-hub-close):not(.tagpuan-chip){background:#243c4b}
  /* The app never pans sideways (iPhone Safari pans the page when anything overflows); only swipe rows scroll sideways. */
  html.ta-app-active, html.ta-app-active body { overflow-x:hidden; overscroll-behavior-x:none }
  /* The website's remaining pop-ups (confirm, Report, invites, Unli tambay, Peep chooser, Games, coffee QR) show as the
     app's bottom sheets: paper sheet, grab handle, Maragsa title, round close, pill buttons. Their logic is unchanged. */
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal){--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--ink-3:#7c828b;--rule:#e7e3dc;position:fixed!important;inset:auto 0 0 0!important;margin:0!important;width:100%!important;max-width:none!important;min-width:0!important;max-height:88dvh!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;padding:24px 18px calc(28px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:30px 30px 0 0!important;background:var(--sheet)!important;color:var(--ink)!important;box-shadow:0 -18px 40px -24px rgba(0,0,0,.6)!important;font:500 16px/1.45 'Alegreya Sans',sans-serif!important;font-size-adjust:.5;transform:none!important;scrollbar-width:none;text-align:left!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal)::-webkit-scrollbar{display:none}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal)::before{content:"";position:absolute;left:50%;top:10px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d6d1c8}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal)::backdrop{background:rgba(17,24,20,.42)!important;backdrop-filter:none!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) header{display:block!important;position:static!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is(h1,h2):not(:is(article,.game-card,.game-view,.game-tile) *){margin:0 52px 6px 0!important;font:400 28px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important;text-align:left!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is(article,.game-card,.game-view,.game-tile) :is(h2,h3){font:700 17px/1.25 'Alegreya Sans',sans-serif!important;color:var(--ink)!important;margin:0!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) p{color:var(--ink-2)!important;font-size:15px!important;line-height:1.4!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is(.report-close,.wake-close,.chooser-close,#close-games,.close,[aria-label="Close"]){position:absolute!important;right:18px!important;top:14px!important;left:auto!important;width:44px!important;height:44px!important;min-height:0!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid var(--rule)!important;border-radius:50%!important;background:var(--card)!important;color:var(--ink)!important;font:400 24px/1 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) button:not(:where(.report-close,.wake-close,.chooser-close,#close-games,.close,[aria-label="Close"],.game-tile,.game-back,[role=radio])){min-height:46px;padding:0 18px;border:1.5px solid var(--rule)!important;border-radius:23px!important;background:var(--card)!important;color:var(--ink)!important;font:700 15px 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is([data-confirm=ok],.primary,[type=submit],.game-card button,.game-actions button:first-child):not(:disabled){border:0!important;background:#465d48!important;color:#fbf3df!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) button.danger.danger.danger:not(:disabled){border:0!important;background:#e2553f!important;color:#fff!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) button:disabled{opacity:.5}
  html.ta-app-active :is(#lantay-confirm,#report-modal) :is(.confirm-actions,.report-actions){display:flex!important;gap:10px!important;margin-top:18px!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal) :is(.confirm-actions,.report-actions) button{flex:1;height:52px;border-radius:26px!important;font-size:16px!important}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%!important;min-height:46px;padding:10px 14px!important;border:1.5px solid var(--rule)!important;border-radius:16px!important;background:var(--card)!important;color:var(--ink)!important;font:500 16px 'Alegreya Sans',sans-serif!important;box-sizing:border-box}
  html.ta-app-active :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal) :is(input[type=checkbox],input[type=radio]){accent-color:#465d48}
  html.ta-app-active :is(#report-modal,#games-panel,#pickle-invite-popup,#tagpuan-invite-popup) :is(.report-choice,.game-card,.game-tile,article){background:var(--card)!important;border:1px solid var(--rule)!important;border-radius:20px!important;box-shadow:none!important;color:var(--ink)!important}
  html.ta-app-active[data-time=night] :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal){--sheet:#172a36;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--ink-3:#93a6a8;--rule:#2b4555}
  html.ta-app-active[data-time=night] :is(#lantay-confirm,#report-modal,#pickle-invite-popup,#tagpuan-invite-popup,#wake-lock-info,#tambay-chooser,#games-panel,#coffee-qr-modal)::before{background:#2b4555}
  /* Voice room (modals/voice.html): the website's voice panel as the app's bottom sheet. Joining, talking and minutes
     stay the website's own controls. */
  html.ta-app-active #voice-room-panel{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--ink-3:#7c828b;--rule:#e7e3dc;position:fixed!important;inset:auto 0 0 0!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;width:100%!important;max-width:none!important;max-height:88dvh!important;overflow-y:auto!important;padding:24px 18px calc(28px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:30px 30px 0 0!important;background:var(--sheet)!important;color:var(--ink)!important;box-shadow:0 -18px 40px -24px rgba(0,0,0,.6),0 0 0 100vmax rgba(17,24,20,.42)!important;font:500 16px/1.45 'Alegreya Sans',sans-serif!important;font-size-adjust:.5;visibility:visible!important}
  html.ta-app-active #voice-room-panel::before{content:"";position:absolute;left:50%;top:10px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d6d1c8}
  html.ta-app-active #voice-room-panel .voice-panel-head{display:block!important;margin:0!important;padding:0!important;background:none!important;border:0!important}
  html.ta-app-active #voice-room-panel .voice-panel-head strong{display:flex;align-items:center;gap:10px;margin-right:52px;font:400 28px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important}
  html.ta-app-active #voice-room-panel .voice-panel-head strong::before{content:"";width:26px;height:26px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23465d48' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 10v4m4-7v10m4-14v18m4-14v10m4-7v4'/%3E%3C/svg%3E") center/contain no-repeat}
  html.ta-app-active #voice-room-panel #voice-connection{display:block;margin-top:4px;color:var(--ink-3)!important;font-size:13px!important}
  html.ta-app-active #voice-room-panel #voice-close{position:absolute!important;right:18px!important;top:14px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid var(--rule)!important;border-radius:50%!important;background:var(--card)!important;color:var(--ink)!important;font:400 24px/1 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #voice-room-panel .voice-panel-body{display:flex!important;flex-direction:column;padding:0!important;margin:0!important;background:none!important;border:0!important}
  html.ta-app-active #voice-room-panel #voice-remaining{order:1}
  html.ta-app-active #voice-room-panel #voice-join{order:2}
  html.ta-app-active #voice-room-panel .voice-connected-controls{order:3}
  html.ta-app-active #voice-room-panel .voice-volume{order:4}
  html.ta-app-active #voice-room-panel #voice-status{margin:10px 0 0!important;color:var(--ink-2)!important;font-size:15px!important}
  html.ta-app-active #voice-room-panel #voice-people:not(:empty){margin-top:14px;padding:4px 14px;background:var(--card);border:1px solid var(--rule);border-radius:20px}
  html.ta-app-active #voice-room-panel .voice-person{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0!important;padding:10px 0!important;font-weight:700!important;color:var(--ink)!important;background:none!important;border:0!important}
  html.ta-app-active #voice-room-panel .voice-person+.voice-person{border-top:1px solid #f0ece4!important}
  html.ta-app-active #voice-room-panel .voice-person.talking::after{content:"";width:10px;height:10px;border-radius:50%;background:#2fa35f;box-shadow:0 0 0 5px rgba(47,163,95,.2);flex:none}
  html.ta-app-active #voice-room-panel #voice-remaining{margin:10px 0 0!important;color:var(--ink-3)!important;font-size:13px!important}
  html.ta-app-active #voice-room-panel button:not(:where(#voice-close)){width:100%;height:52px;margin:16px 0 0!important;padding:0 18px!important;border:1.5px solid var(--rule)!important;border-radius:26px!important;background:var(--card)!important;color:var(--ink)!important;font:700 16px 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active #voice-room-panel :is(#voice-join,#voice-talk){border:0!important;background:#465d48!important;color:#fbf3df!important}
  html.ta-app-active #voice-room-panel #voice-leave{border:0!important;background:#e2553f!important;color:#fff!important}
  html.ta-app-active #voice-room-panel .voice-side-actions{display:flex!important;gap:10px}
  html.ta-app-active #voice-room-panel .voice-side-actions button{margin-top:10px!important}
  html.ta-app-active #voice-room-panel .voice-volume{display:flex;align-items:center;gap:12px;margin-top:14px;color:var(--ink-2);font-size:14px}
  html.ta-app-active #voice-room-panel .voice-volume input{flex:1;accent-color:#465d48}
  html.ta-app-active[data-time=night] #voice-room-panel{--sheet:#172a36;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--ink-3:#93a6a8;--rule:#2b4555}
  html.ta-app-active[data-time=night] #voice-room-panel::before{background:#2b4555}
  html.ta-app-active[data-time=night] #voice-room-panel .voice-person+.voice-person{border-top-color:#2b4555!important}
  /* Music & sounds and Report or get help open from You as full pages (paper, back arrow, Maragsa title). */
  html.ta-app-active :is(#music-panel,#report-modal).ta-page{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--ink-3:#7c828b;--rule:#e7e3dc;position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:calc(env(safe-area-inset-top) + 12px) 18px calc(28px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:var(--sheet)!important;color:var(--ink)!important;box-shadow:none!important;overflow-y:auto!important;font:500 16px/1.45 'Alegreya Sans',sans-serif!important;font-size-adjust:.5;transform:none!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page[open]{display:block!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page::before{display:none!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page::backdrop{background:var(--sheet,#f5f3ef)!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page header{display:flex!important;align-items:center;gap:12px;position:static!important;margin:0 0 16px!important;padding:0!important;background:none!important;border:0!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page header>div{flex:1;min-width:0}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page :is(#music-title,#report-title){margin:0!important;font:400 30px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page header p{margin:4px 0 0!important;color:var(--ink-2)!important;font-size:15px!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page :is(#close-music,.report-close){display:none!important}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page .ta-page-back{position:static!important;inset:auto!important;order:-1;min-height:0!important;margin:0!important;flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--card);color:var(--ink);transform:scaleX(-1)}
  html.ta-app-active :is(#music-panel,#report-modal).ta-page .ta-page-back svg{width:20px;height:20px}
  html.ta-app-active #music-panel.ta-page #music-search{width:100%;min-height:46px;padding:10px 14px;border:1.5px solid var(--rule);border-radius:16px;background:var(--card);color:var(--ink);font:500 16px 'Alegreya Sans',sans-serif;box-sizing:border-box}
  html.ta-app-active #music-panel.ta-page #music-filters{display:flex;flex-wrap:nowrap;gap:8px;margin:12px 0;overflow-x:auto;scrollbar-width:none}
  html.ta-app-active #music-panel.ta-page #music-filters::-webkit-scrollbar{display:none}
  html.ta-app-active #music-panel.ta-page #music-filters button{flex:none;height:36px;padding:0 14px;border:1px solid var(--rule);border-radius:18px;background:var(--card);color:var(--ink);font:700 14px 'Alegreya Sans',sans-serif}
  html.ta-app-active #music-panel.ta-page #music-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--sheet)}
  html.ta-app-active #music-panel.ta-page #music-count{margin:0 0 8px;color:var(--ink-3);font-size:13px}
  html.ta-app-active #music-panel.ta-page #sound-options{display:flex;flex-direction:column;padding:4px 14px;background:var(--card);border:1px solid var(--rule);border-radius:20px}
  html.ta-app-active #music-panel.ta-page #sound-options>*{border:0!important;border-radius:0!important;background:none!important;color:var(--ink)!important;margin:0!important;box-shadow:none!important}
  html.ta-app-active #music-panel.ta-page #sound-options>*+*{border-top:1px solid var(--rule)!important}
  html.ta-app-active #music-panel.ta-page .music-player{position:sticky;bottom:0;margin-top:14px;padding:14px;background:var(--card);border:1px solid var(--rule);border-radius:20px;box-shadow:0 10px 26px -18px rgba(0,0,0,.45)}
  html.ta-app-active #music-panel.ta-page .music-transport{display:flex;justify-content:center;align-items:center;gap:22px}
  html.ta-app-active #music-panel.ta-page .music-transport button{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--rule);background:var(--card);color:var(--ink);font:700 18px 'Alegreya Sans',sans-serif}
  html.ta-app-active #music-panel.ta-page #music-play{width:auto;min-width:96px;height:56px;padding:0 22px;border:0;border-radius:28px;background:#465d48;color:#fbf3df;font-size:16px}
  html.ta-app-active #music-panel.ta-page .music-player label{display:block;margin-top:12px;color:var(--ink-2);font-size:13px}
  html.ta-app-active #music-panel.ta-page #music-volume{width:100%;accent-color:#465d48}
  html.ta-app-active #music-panel.ta-page #music-status{margin-top:10px;color:var(--ink-3);font-size:13px}
  html.ta-app-active[data-time=night] :is(#music-panel,#report-modal).ta-page{--sheet:#142530;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--ink-3:#93a6a8;--rule:#2b4555}
  /* The Wall in the app: a full page with the board as large as the screen allows, zoom at the bottom right, and the
     Add Entry choices as a bottom sheet that shows every option without scrolling. */
  html.ta-app-active #freedom-wall-panel{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--rule:#e7e3dc;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(14px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:var(--sheet)!important;color:var(--ink)!important;font:500 16px/1.45 'Alegreya Sans',sans-serif;font-size-adjust:.5}
  html.ta-app-active #freedom-wall-panel>header{align-items:center!important;padding:0 2px 10px!important;border-bottom:0!important}
  html.ta-app-active #freedom-wall-panel h2{font:400 28px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important}
  html.ta-app-active #freedom-wall-panel header p{display:none}
  html.ta-app-active #freedom-wall-panel [data-new]{height:44px!important;padding:0 16px!important;border:0!important;border-radius:22px!important;background:#465d48!important;color:#fbf3df!important;font:700 15px 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active #freedom-wall-panel [data-close]{width:44px!important;height:44px!important;padding:0!important;border:1px solid var(--rule)!important;border-radius:50%!important;background:var(--card)!important;color:var(--ink)!important;font-size:24px!important;box-shadow:none!important}
  html.ta-app-active #freedom-wall-panel .fw-workspace{flex:1 1 auto!important;aspect-ratio:auto!important;min-height:0!important;width:100%!important}
  html.ta-app-active #freedom-wall-panel .fw-viewport{border-radius:20px!important;clip-path:inset(0 round 20px);-webkit-mask-image:-webkit-radial-gradient(white,black)}
  html.ta-app-active #freedom-wall-panel.ta-wall-zoomed .fw-viewport{overflow:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  html.ta-app-active #freedom-wall-panel.ta-wall-zoomed .fw-viewport::-webkit-scrollbar{display:none}
  html.ta-app-active #freedom-wall-panel .ta-wall-sizer{width:0;height:0;pointer-events:none}
  html.ta-app-active #freedom-wall-panel.ta-wall-zoomed .fw-list{left:0!important;top:0!important;transform:scale(var(--ta-wall-scale,1))!important;transform-origin:0 0!important}
  html.ta-app-active #freedom-wall-panel .ta-wall-zoom{position:absolute;right:12px;bottom:12px;z-index:220;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--rule);border-radius:26px;background:var(--card);box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
  html.ta-app-active #freedom-wall-panel .ta-wall-zoom button{width:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--ink)!important;font:700 22px/1 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #freedom-wall-panel .ta-wall-zoom button:disabled{opacity:.35}
  html.ta-app-active #freedom-wall-panel .ta-wall-zoom span{min-width:30px;text-align:center;font:700 14px 'Alegreya Sans',sans-serif;color:var(--ink-2)}
  html.ta-app-active #freedom-wall-panel .fw-add-menu:not([hidden]){position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:none!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:16px 14px calc(18px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:26px 26px 0 0!important;background:var(--sheet)!important;box-shadow:0 -18px 40px -24px rgba(0,0,0,.6),0 0 0 100vmax rgba(17,24,20,.42)!important;z-index:300!important}
  html.ta-app-active #freedom-wall-panel .fw-add-menu button{min-height:64px!important;padding:8px 6px!important;justify-items:center!important;align-content:center;text-align:center!important;border:1px solid var(--rule)!important;border-radius:16px!important;background:var(--card)!important;color:var(--ink)!important;font:700 14px/1.2 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #freedom-wall-panel .fw-add-menu small{margin-top:2px;font-size:11px!important;font-weight:500;opacity:.7}
  html.ta-app-active[data-time=night] #freedom-wall-panel{--sheet:#142530;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--rule:#2b4555}
  /* Wall: the entry form (and the scrapbook picker) as the app's bottom sheet. */
  html.ta-app-active #freedom-wall-panel :is(.fw-compose,.fw-scrapbook):not([hidden]){position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:86dvh!important;overflow-y:auto!important;margin:0!important;padding:24px 18px calc(18px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:26px 26px 0 0!important;background:var(--sheet)!important;color:var(--ink)!important;box-shadow:0 -18px 40px -24px rgba(0,0,0,.6),0 0 0 100vmax rgba(17,24,20,.42)!important;z-index:310!important;display:flex!important;flex-direction:column;gap:12px}
  html.ta-app-active #freedom-wall-panel :is(.fw-compose,.fw-scrapbook)::before{content:"";position:absolute;left:50%;top:10px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d6d1c8}
  html.ta-app-active #freedom-wall-panel :is(.fw-compose,.fw-scrapbook) h3{margin:0!important;font:400 26px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important}
  html.ta-app-active #freedom-wall-panel .fw-compose :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select){width:100%;min-height:46px;padding:10px 14px!important;border:1.5px solid var(--rule)!important;border-radius:16px!important;background:var(--card)!important;color:var(--ink)!important;font:500 16px 'Alegreya Sans',sans-serif!important;box-sizing:border-box}
  html.ta-app-active #freedom-wall-panel .fw-compose textarea{min-height:110px;resize:none}
  html.ta-app-active #freedom-wall-panel .fw-compose label{display:flex;flex-direction:column;gap:6px;color:var(--ink-2);font:700 13px 'Alegreya Sans',sans-serif}
  html.ta-app-active #freedom-wall-panel .fw-tools{display:flex!important;flex-wrap:wrap;gap:8px;align-items:flex-end}
  html.ta-app-active #freedom-wall-panel .fw-tools>label{flex:1 1 140px}
  html.ta-app-active #freedom-wall-panel .fw-compose button:not(.fw-primary){min-height:40px;padding:0 14px!important;border:1px solid var(--rule)!important;border-radius:20px!important;background:var(--card)!important;color:var(--ink)!important;font:700 14px 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active #freedom-wall-panel .fw-compose button[aria-pressed=true]{background:var(--ink)!important;color:var(--sheet)!important;border-color:var(--ink)!important}
  html.ta-app-active #freedom-wall-panel .fw-compose-actions{display:flex!important;gap:10px!important;margin-top:4px}
  html.ta-app-active #freedom-wall-panel .fw-compose-actions button{flex:1;height:52px!important;border-radius:26px!important;font-size:16px!important}
  html.ta-app-active #freedom-wall-panel .fw-compose .fw-primary{border:0!important;background:#465d48!important;color:#fbf3df!important;font:700 16px 'Alegreya Sans',sans-serif!important;padding:0 18px!important;border-radius:26px!important}
  html.ta-app-active #freedom-wall-panel .fw-scrapbook button{min-height:46px;border:1.5px solid var(--rule)!important;border-radius:23px!important;background:var(--card)!important;color:var(--ink)!important;font:700 15px 'Alegreya Sans',sans-serif!important}
  html.ta-app-active[data-time=night] #freedom-wall-panel :is(.fw-compose,.fw-scrapbook)::before{background:#2b4555}
  /* Phones: show the real message text (no highlight mirror), so the cursor is always exactly where you type. iPhone
     Safari lays out text fields differently from the mirror, which made the cursor sit a letter early. */
  html.ta-app-active textarea.has-mention{color:inherit!important;-webkit-text-fill-color:currentColor!important}
  html.ta-app-active .mention-mirror{display:none!important}
  /* "Tambay here" in the app: a bottom sheet for choosing a seat and a little movement only. Name, bio, note, Peep,
     interests, sign out and delete data live in You; their fields stay in the form (hidden) so the seat still carries them. */
  html.ta-app-active #profile-panel{--sheet:#f5f3ef;--card:#fff;--ink:#111214;--ink-2:#4a4f57;--ink-3:#7c828b;--rule:#e7e3dc;position:fixed!important;inset:auto 0 0 0!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;margin:0!important;width:100%!important;max-width:none!important;min-width:0!important;max-height:88dvh!important;height:auto!important;transform:none!important;translate:none!important;overflow-y:auto!important;padding:24px 18px calc(24px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:30px 30px 0 0!important;background:var(--sheet)!important;color:var(--ink)!important;box-shadow:0 -18px 40px -24px rgba(0,0,0,.6)!important;font:500 16px/1.45 'Alegreya Sans',sans-serif!important;font-size-adjust:.5;scrollbar-width:none}
  html.ta-app-active #profile-panel::-webkit-scrollbar{display:none}
  html.ta-app-active #profile-panel::before{content:"";position:absolute;left:50%;top:10px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d6d1c8}
  html.ta-app-active #profile-panel::backdrop{background:rgba(17,24,20,.42)!important;backdrop-filter:none!important}
  html.ta-app-active #profile-panel :is(.profile-summary,#note-field,#profile-interests,#leave-tambay,.prototype-note,.account-actions,.delete-data,.profile-hint){display:none!important}
  html.ta-app-active #profile-panel+.scroll-cue,html.ta-app-active #profile-panel .scroll-cue{display:none!important}
  html.ta-app-active #profile-panel .profile-header{display:block!important;position:static!important;margin:0 0 6px!important;padding:0!important;background:none!important;border:0!important}
  html.ta-app-active #profile-panel #profile-title{margin:0 52px 4px 0!important;font:400 28px/1.05 Maragsa,Georgia,serif!important;letter-spacing:-.01em;color:var(--ink)!important}
  html.ta-app-active #profile-panel #profile-context{margin:0!important;color:var(--ink-2)!important;font-size:14px!important}
  html.ta-app-active #profile-panel #close-profile{position:absolute!important;right:18px!important;top:14px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid var(--rule)!important;border-radius:50%!important;background:var(--card)!important;color:var(--ink)!important;font:400 24px/1 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #profile-panel #profile-form{display:flex!important;flex-direction:column;gap:14px;margin:0!important;padding:0!important}
  html.ta-app-active #profile-panel #seat-picker{margin:8px 0 0!important;padding:12px 14px!important;border:1px solid var(--rule)!important;border-radius:20px!important;background:var(--card)!important}
  html.ta-app-active #profile-panel #seat-picker legend{float:left;width:100%;margin:0 0 8px;padding:0;font:700 12px/1 'Alegreya Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
  html.ta-app-active #profile-panel #seat-options{clear:both}
  html.ta-app-active #profile-panel #seat-options button{border-radius:14px!important}
  html.ta-app-active #profile-panel .motion-choice{display:flex!important;flex-direction:column;gap:6px;margin:0!important;color:var(--ink-2)!important;font:700 13px 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #profile-panel #peep-motion{width:100%;min-height:46px;padding:0 14px;border:1.5px solid var(--rule)!important;border-radius:16px!important;background:var(--card)!important;color:var(--ink)!important;font:500 16px 'Alegreya Sans',sans-serif!important}
  html.ta-app-active #profile-panel #profile-error:empty{display:none}
  html.ta-app-active #profile-panel #profile-error{margin:0!important;color:#c0432f!important;font-size:14px}
  html.ta-app-active #profile-panel #profile-submit{width:100%!important;height:52px!important;margin:4px 0 0!important;border:0!important;border-radius:26px!important;background:#465d48!important;color:#fbf3df!important;font:700 16px 'Alegreya Sans',sans-serif!important;box-shadow:none!important}
  html.ta-app-active #profile-panel #profile-submit:disabled{opacity:.5}
  html.ta-app-active[data-time=night] #profile-panel{--sheet:#172a36;--card:#1c3240;--ink:#eef0e6;--ink-2:#c3cdc6;--ink-3:#93a6a8;--rule:#2b4555}
  html.ta-app-active[data-time=night] #profile-panel::before{background:#2b4555}
  #tambay-app-shell { position:fixed;inset:0;bottom:calc(0px - var(--ta-standalone-gap,0px));z-index:2147483000;pointer-events:none }
  /* The app has its own Search map; the website's map drawer never shows in the app. */
  html.ta-app-active #drawer { display:none!important }
  /* The lantay scene also reaches the bottom of an iPhone home-screen app (see --ta-standalone-gap in boot-check.js). */
  html.ta-app-active #scene { height:calc(100dvh + var(--ta-standalone-gap,0px))!important; min-height:calc(100dvh + var(--ta-standalone-gap,0px))!important }
}
@media (min-width:821px) and (pointer:fine) { #tambay-app-shell { display:none!important } }
