/* All styles are opt-in: the desktop page keeps its existing layout. */
.mobile-ui, #returnMobile { display:none; }
body.mobile-mode { background:radial-gradient(ellipse at 0 0,#162a23 0,transparent 46%),#070c11; }
body.mobile-mode .shell, body.mobile-mode #timerFloat { display:none; }
body.mobile-mode .mobile-ui { display:block; }
.mobile-header { position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:10px;height:64px;padding:0 16px;border-bottom:1px solid #273842;background:#0b141cf5; }
.mobile-brand { font:700 18px 'Chakra Petch',sans-serif;letter-spacing:-.6px; }
.mobile-brand em { color:var(--lime);font-style:normal; }
.mobile-ui button, .mobile-ui input, .mobile-ui select { font:600 17px Rajdhani,sans-serif; }
.mobile-ui button { border:1px solid #273842;background:#0c151d;color:var(--text);border-radius:10px;min-height:44px;padding:8px 12px;cursor:pointer; }
.mobile-ui button:focus-visible, .mobile-ui a:focus-visible { outline:2px solid var(--cyan);outline-offset:3px; }
.mobile-ui svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
.mobile-ui .mobile-icon-button { width:44px;padding:0;display:grid;place-items:center;background:#111e27;color:var(--cyan); }
.mobile-content { padding:18px 16px calc(100px + env(safe-area-inset-bottom,0px));max-width:620px;margin:auto;min-height:calc(100dvh - 64px); }
.mobile-title-row, .mobile-plan, .mobile-checkpoint, .mobile-section-head, .mobile-droid-top, .mobile-droid-bottom { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.mobile-title-row { margin-bottom:14px; }
.mobile-ui h1 { font:700 27px 'Chakra Petch',sans-serif;letter-spacing:-.8px;margin:0; }
.mobile-ui h2 { font:700 19px 'Chakra Petch',sans-serif;letter-spacing:-.4px;margin:0; }
.mobile-subtitle { color:#91a5b2;font-size:16px;line-height:1.35;margin:4px 0 14px; }
.mobile-world-shortcut { width:100%;display:flex;align-items:center;gap:10px;margin:0 0 20px;text-align:left;background:#0b241d !important;border-color:#235247 !important; }
.mobile-world-shortcut i { width:7px;height:7px;border-radius:50%;background:#00eaa0;flex-shrink:0; }
.mobile-world-shortcut b { color:#a7ffdc;font:700 20px 'Chakra Petch',sans-serif;margin-left:auto; }
.mobile-world-shortcut svg { width:16px; }
.mobile-panel { border:1px solid #273842;border-radius:14px;background:linear-gradient(150deg,#14212a,#0c131b);padding:14px;margin-bottom:12px; }
.mobile-eyebrow { font:700 10px 'Chakra Petch',sans-serif;letter-spacing:1.3px;color:#91a5b2;text-transform:uppercase; }
.mobile-plan b { display:block;font-size:18px;margin-top:4px; }
.mobile-ui .mobile-quiet { border:0;background:transparent;color:var(--cyan); }
.mobile-checkpoint { border-color:#3d6134;background:radial-gradient(ellipse at top right,#21382077,transparent 65%),#111d18; }
.mobile-checkpoint h2 { font-size:28px;color:var(--lime);margin:5px 0 2px; }
.mobile-checkpoint p { margin:0;font-size:16px;color:#bfd0bd; }
.mobile-ui .mobile-next { height:52px;min-width:68px;background:var(--lime);color:#102006;border-color:#669f38;font:700 17px 'Chakra Petch',sans-serif; }
.mobile-section-head { margin:18px 0 10px; }
.mobile-section-head span { font-size:15px;color:#91a5b2; }
.mobile-filters { display:flex;gap:8px;flex-wrap:wrap;margin:10px 0; }
.mobile-ui .mobile-filters button { font-size:16px;padding:6px 12px; }
.mobile-ui .mobile-filters button[aria-pressed="true"] { color:var(--lime);background:#1b2b17;border-color:#496539; }
.mobile-droid { border:1px solid #273842;border-radius:12px;background:#0c151d;padding:12px 14px;margin-bottom:8px; }
.mobile-droid strong { font-size:21px;line-height:1.2; }
.mobile-droid-bottom { margin-top:8px; }
.mobile-droid small { font-size:16px;color:#91a5b2;line-height:1.35; }
.mobile-droid small b { color:#dbe8ee; }
.mobile-ui .mobile-tier-edit { color:var(--cyan);border-color:#35515c;background:#0d2029;white-space:nowrap; }
.mobile-badge { font:700 10px 'Chakra Petch',sans-serif;display:inline-flex;border-radius:5px;background:#203125;color:var(--lime);padding:5px 7px; }
.mobile-badge.missing { background:#33212a;color:#ff9fb9; }
.mobile-details { border:1px solid #273842;border-radius:12px;background:#0c151d;margin:12px 0;overflow:hidden; }
.mobile-details summary { cursor:pointer;padding:14px;font-weight:700;min-height:48px;color:#dce9f0; }
.mobile-details > div { padding:0 14px 14px;color:#b5c7d2;font-size:16px; }
.mobile-details .path-row { grid-template-columns:56px 1fr;font-size:16px;padding:10px 0; }
.mobile-ui .mobile-search { display:block;width:100%;min-height:46px;border:1px solid #314650;background:#0b141c;color:white;border-radius:11px;padding:10px 13px;margin:12px 0; }
.mobile-safe { border-color:#614543;background:linear-gradient(140deg,#291b20,#18141a); }
.mobile-safe h2 { color:#ffabab;font-size:18px;margin-bottom:5px; }
.mobile-safe p { color:#caaeb1;font-size:16px;line-height:1.35;margin:0 0 10px; }
.mobile-safe-list { display:flex;flex-wrap:wrap;gap:8px; }
.mobile-ui .mobile-safe-list button { color:#ffd1d1;background:#3b232a;border-color:#65404c;font-size:15px; }
.mobile-empty { color:#91a5b2;font-size:16px;line-height:1.4;padding:14px 0; }
.mobile-timer { border:1px solid var(--timer-accent);background:linear-gradient(140deg,#15212a,#0b131b 80%);border-radius:13px;padding:12px 14px;margin:10px 0;color:var(--timer-text); }
.mobile-timer-head { display:flex;align-items:center;gap:8px; }
.mobile-timer-head h2 { font:700 12px 'Chakra Petch',sans-serif;letter-spacing:.5px;color:var(--timer-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1; }
.mobile-ui .mobile-timer-gear { min-height:44px;width:44px;padding:4px;border-color:#334651;color:var(--timer-text);display:grid;place-items:center; }
.mobile-timer-body { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px; }
.mobile-timer-count { font:700 30px/1.1 'Chakra Petch',sans-serif;color:var(--timer-count,var(--timer-text));letter-spacing:.3px; }
.mobile-timer-note { font-size:15px;color:#9aafbc;margin-top:4px; }
.mobile-ui .mobile-alarm { padding:0;min-width:48px;height:48px;display:grid;place-items:center;border-color:#31434e;color:#78909d; }
.mobile-ui .mobile-alarm[aria-pressed="true"] { border-color:var(--timer-accent);color:var(--timer-text);background:#193024; }
.mobile-alarm[aria-pressed="true"] svg { fill:currentColor; }
.mobile-timer-actions { display:flex;gap:8px;margin-top:10px; }
.mobile-ui .mobile-timer-actions button { flex:1;font-size:15px;color:var(--timer-text);padding:8px 5px;display:flex;align-items:center;justify-content:center;gap:5px; }
.mobile-ui .mobile-tool { width:100%;display:flex;align-items:center;justify-content:space-between;margin:10px 0;min-height:52px;padding:12px 14px;text-decoration:none;color:var(--text);font-size:17px;border:1px solid #273842;background:#0c151d;border-radius:12px; }
.mobile-ui .mobile-donate { color:var(--lime);border-color:#496539;background:#15251a; }
.mobile-about { margin-top:22px;color:#91a5b2;font-size:15px;line-height:1.4; }
.mobile-nav { position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:#0b141cf5;border-top:1px solid #2a3c47;padding:7px 8px calc(10px + env(safe-area-inset-bottom,0px)); }
.mobile-ui .mobile-nav button { flex:1;min-width:0;border:0;background:transparent;padding:5px;color:#7e929f;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:10px;height:58px; }
.mobile-ui .mobile-nav button[aria-selected="true"] { color:var(--lime);background:#1a2c2080; }
.mobile-nav button[aria-selected="true"]:before { content:'';position:absolute;top:-1px;width:36px;height:2px;background:var(--lime); }
.mobile-sheet-overlay { position:fixed;inset:0;background:#0009;z-index:1200;display:flex;align-items:flex-end;justify-content:center; }
.mobile-sheet { width:100%;max-width:620px;max-height:90dvh;overflow-y:auto;background:linear-gradient(160deg,#172530,#0c141c);border:1px solid #314953;border-radius:22px 22px 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px #0006; }
.mobile-sheet-handle { width:38px;height:4px;border-radius:5px;background:#526570;margin:0 auto 16px; }
.mobile-sheet-title { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.mobile-sheet-title h2 { font-size:25px; }
.mobile-tier-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0; }
.mobile-ui .mobile-tier-grid button { min-height:54px;font:700 14px 'Chakra Petch',sans-serif; }
.mobile-tier-grid .BASE { color:#b0cbd9; }
.mobile-tier-grid .GOLD { color:#ffd078; }
.mobile-tier-grid .DIAMOND { color:#82e2fb; }
.mobile-tier-grid .RAINBOW { color:#d7b7ff; }
.mobile-tier-grid .BESKAR { color:#d5dee4; }
.mobile-tier-grid .GALACTIC { color:#ffb3fc; }
.mobile-tier-grid .STELLAR { color:#ffeb87; }
.mobile-tier-grid .KYBER { color:#e9f9ff; }
.mobile-ui .mobile-tier-grid button[aria-pressed="true"] { border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan);background:#122e3b; }
.mobile-ui .mobile-sheet-save { width:100%;height:52px;background:var(--lime);color:#152207;border-color:var(--lime);font:700 17px 'Chakra Petch',sans-serif;margin-top:14px; }
.mobile-ui .mobile-not-owned { width:100%; }
.mobile-ui .mobile-not-owned[aria-pressed="true"] { border-color:var(--cyan);color:var(--cyan); }
.mobile-plan-fields { display:grid;gap:14px;margin:16px 0; }
.mobile-plan-fields label { display:grid;gap:6px;color:#b9c8d4;font-size:16px; }
.mobile-plan-fields select { width:100%;min-height:46px; }
body.mobile-mode .support-toast { bottom:calc(90px + env(safe-area-inset-bottom,0px));left:14px;right:14px;width:auto;max-width:430px;max-height:calc(100dvh - 120px);overflow:auto;margin:auto;border-radius:18px;padding:19px 18px 12px; }
body.mobile-mode .support-toast-actions { display:grid; }
body.mobile-mode .support-toast button, body.mobile-mode .support-toast a { min-height:44px;font-size:15px; }
body.mobile-mode .support-toast-title { font-size:19px; }
body.mobile-mode .support-toast-body { font-size:17px; }
body.mobile-mode .timer-sync-undo, body.mobile-mode .timer-notice { bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
body.mobile-mode .modal-overlay { padding:12px; }
body.mobile-mode .fusion-modal-card { padding:20px 16px; }
body.mobile-mode .fusion-card-head, body.mobile-mode .fusion-bot-title { flex-wrap:wrap;gap:8px; }
body.mobile-mode .fusion-toolbar-row { gap:10px; }
body.mobile-mode .filter-chips { flex-wrap:wrap; }
body.mobile-mode .modal-card { max-height:calc(100dvh - 24px); }
body.mobile-mode .modal-head h2 { font-size:25px; }
body.mobile-mode .help-step { padding:12px;gap:10px; }
body.mobile-mode #timerSettingsModal .modal-card { padding:20px 16px; }
body.mobile-mode .timer-option { grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px; }
body.mobile-mode .timer-option-selection { grid-column:1/-1;min-height:40px; }
body.mobile-mode .timer-alarm-fields { grid-column:1; }
body.mobile-mode .timer-alarm-fields input { min-height:44px; }
body.mobile-mode .timer-order-actions { grid-column:2; }
body.mobile-mode .timer-order-actions button { width:44px;height:44px; }
@media(max-width:700px) {
  body.desktop-on-phone { min-width:1100px; }
  body.desktop-on-phone .shell { width:1100px;padding:40px 32px 70px; }
  body.desktop-on-phone .hero { grid-template-columns:1.2fr .8fr; }
  body.desktop-on-phone .content { grid-template-columns:minmax(0,1.25fr) minmax(480px,1.2fr); }
  body.desktop-on-phone .right-col { grid-template-columns:1.55fr .7fr; }
  body.desktop-on-phone .controls { grid-template-columns:1.4fr 1fr 1fr 1fr; }
  body.desktop-on-phone .stats { grid-template-columns:1fr .8fr 1.2fr; }
  body.desktop-on-phone .timer-float { max-width:none;width:1060px;flex-wrap:wrap; }
  body.desktop-on-phone .timer-card { width:230px;padding:10px 50px 10px 14px; }
  body.desktop-on-phone .timer-card .timer-count { font-size:20px; }
  body.desktop-on-phone #returnMobile { display:block;position:fixed;bottom:16px;right:16px;z-index:950;border:1px solid var(--cyan);border-radius:10px;background:#102430;color:var(--cyan);font:700 14px 'Chakra Petch',sans-serif;padding:14px; }
}
