/* Keep the Capacitor view at the device's CSS viewport, including smaller iPhones. */
html.native-app{-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%}
html.native-app body,html.native-app #root{width:100%;max-width:100%;overflow-x:clip}
html.native-app .app-shell,html.native-app .desktop-layout,html.native-app .content{min-width:0;max-width:100%}
.sb-profile-accounts{margin-bottom:18px}.sb-profile-accounts h2{font-size:23px;margin-bottom:8px}.sb-profile-accounts p{color:var(--muted);font-size:14px}
.sb-post-summary{display:flex;align-items:center;gap:11px;margin-top:13px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.sb-post-summary>span:nth-child(2){min-width:0;flex:1}.sb-post-summary strong,.sb-post-summary small{display:block}.sb-post-summary strong{font-size:12px}.sb-post-summary small{font-size:11px;color:var(--muted);margin-top:4px}.sb-summary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff2db;color:#a66611;flex:none}
.sb-cover-art.has-image{background-size:cover;background-position:center}.sb-cover-art.has-image img{display:none}.sb-cover-art.has-image span{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.sb-accounts-note{padding:22px;border-radius:20px;background:#fff5e7;border:1px solid #f4dfb7;margin-bottom:18px;max-width:750px}.sb-accounts-note strong{font-size:17px}.sb-accounts-note p{color:#635a4d;margin:8px 0 0;font-size:14px}
.sb-account-list{max-width:750px;display:grid;gap:13px}.sb-account-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.sb-account-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--account-accent)}.sb-account-row{min-width:0;display:flex;align-items:center;gap:14px;padding:18px 20px}.sb-account-info{min-width:0;flex:1}.sb-account-info strong,.sb-account-info small{display:block}.sb-account-info strong{font-size:17px}.sb-account-info small{color:var(--muted);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.sb-account-icon{display:block;width:48px;height:48px;flex:none;filter:drop-shadow(0 5px 12px rgba(0,0,0,.14))}.sb-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.sb-account-select,.sb-account-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.1;white-space:nowrap;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.sb-account-select:hover,.sb-account-action:hover:not(:disabled){transform:translateY(-1px)}.sb-account-select svg,.sb-account-action svg{width:17px;height:17px;flex:none}.sb-account-select{flex:none;border:1px solid var(--line);background:var(--canvas);color:var(--ink)}.sb-account-select.is-selected{background:#eaf6e6;color:#2f6b37;border-color:#bfdfb8}.sb-account-action{border:1px solid var(--line);background:var(--canvas);color:var(--ink)}.sb-account-action--check,.sb-account-action--connect{background:linear-gradient(135deg,#2f6bff,#5088ff);border-color:#2f6bff;color:#fff;box-shadow:0 6px 15px rgba(47,107,255,.18)}.sb-account-action--check:hover:not(:disabled),.sb-account-action--connect:hover:not(:disabled){background:linear-gradient(135deg,#2457d8,#3f75e5)}.sb-account-action--disconnect{color:#b8413c;border-color:#e7c6c2;background:transparent}.sb-account-action--disconnect:hover:not(:disabled){background:#fff0ee}.sb-account-action:disabled{opacity:.45;cursor:not-allowed}
.sb-connection-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 20px 18px 82px;margin:0}.sb-connection-controls p{font-size:12px;color:var(--muted);margin:0;max-width:34rem}
.sb-account-sync-status{margin:0 20px 12px 82px;color:var(--muted);font-size:12px}.sb-account-sync-status.is-error{color:#b8413c}[data-theme="dark"] .sb-account-sync-status.is-error{color:#ff9a94}
.sb-account-channel-link{display:inline-block;margin-top:5px;color:var(--blue);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.sb-account-health{margin:0 20px 14px 82px;padding:13px 15px;border-radius:13px;background:color-mix(in srgb,var(--account-accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--account-accent) 18%,var(--line))}.sb-account-health-count{display:flex;align-items:baseline;gap:9px}.sb-account-health-count strong{font-size:24px;line-height:1}.sb-account-health-count span{font-size:12px;font-weight:700}.sb-account-health>small{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.4}.sb-account-health.is-error>small{color:#b8413c}[data-theme="dark"] .sb-account-health.is-error>small{color:#ff9a94}
[data-theme="dark"] .sb-accounts-note{background:#342c20;border-color:#625038}[data-theme="dark"] .sb-accounts-note p{color:#d4c9b8}[data-theme="dark"] .sb-account-card{background:#17212c;border-color:#304254}[data-theme="dark"] .sb-account-select,[data-theme="dark"] .sb-account-action--reconnect{background:#233345;color:#f5f7f9;border-color:#465b70}[data-theme="dark"] .sb-account-select.is-selected{background:#244631;color:#cbf6d3;border-color:#437d55}[data-theme="dark"] .sb-account-action--disconnect{background:transparent;color:#ff9a94;border-color:#84514f}[data-theme="dark"] .sb-account-action--disconnect:hover:not(:disabled){background:#3c282b}[data-theme="dark"] .sb-profile-accounts p{color:#b8c5cf}
@media(max-width:520px){.sb-account-row{padding:16px}.sb-account-icon{width:42px;height:42px}.sb-account-select{padding:8px 10px}.sb-connection-controls{padding:0 16px 16px}.sb-account-sync-status{margin:0 16px 12px}.sb-account-action{flex:1 1 auto}}
@media(max-width:520px){.sb-account-health{margin:0 16px 12px;padding:12px}}
[data-theme="dark"] .sb-post-summary{background:#17212c;border-color:#304254}
@media(max-width:720px){
  .app-shell,.desktop-layout,.content,.phone-wrap,.sb-mobile-page{width:100%;min-width:0;max-width:100%}
  .app-shell{overflow-x:clip}
  .content{padding:22px 15px calc(100px + env(safe-area-inset-bottom))}
  .phone-wrap,.sb-mobile-page{padding:18px 15px calc(100px + env(safe-area-inset-bottom))}
  .sb-mobile-top{width:100%;min-width:0;gap:8px;padding:0 15px;padding-top:env(safe-area-inset-top);height:calc(65px + env(safe-area-inset-top))}
  .sb-mobile-logo{min-width:0;flex:1}.sb-mobile-logo img{display:block;width:min(100%,155px);max-width:155px}
  .sb-mobile-actions{flex:none;gap:8px}.sb-header-theme{font-size:12px;white-space:nowrap;padding:7px 9px}.sb-header-theme span{font-size:11px}
  .sb-tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;max-width:100%;left:0;right:0;padding-left:max(5px,env(safe-area-inset-left));padding-right:max(5px,env(safe-area-inset-right));padding-bottom:calc(7px + env(safe-area-inset-bottom))}
  .sb-tabbar .sb-tab{min-width:0;width:100%;padding:5px 0;overflow:hidden}
  .sb-tabbar .sb-tab span{display:block;max-width:100%;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sb-tabbar .sb-tab .sb-tab-branch-icon{width:23px;height:23px;object-fit:contain;flex:none;opacity:.65}
  .sb-tabbar .sb-tab.active .sb-tab-branch-icon{opacity:1}
  .sb-mobile-greeting h1{font-size:clamp(25px,7vw,34px);letter-spacing:-.04em}
  .sb-week-hero strong{font-size:clamp(42px,12vw,58px)}
  .sb-week-hero em{font-size:clamp(17px,5vw,23px)}
  .sb-home-shortcut>span:nth-child(2){min-width:0}
  .sb-page-heading h1,.page-heading h1{font-size:clamp(27px,8vw,34px);overflow-wrap:anywhere}
  .sb-branch-graphic{display:block;max-width:100%}
  .sb-branch-card,.sb-version-card,.sb-saved-experiments,.sb-account-row,.card{min-width:0}
  .sb-coach-hero{background:#fff0f1;color:var(--ink);border:1px solid #f8dcdf;box-shadow:var(--shadow)}
  .sb-coach-hero .sb-kicker{color:#b94143}.sb-coach-hero h2{font-size:clamp(23px,6vw,30px)}
  .sb-coach-hero p{color:#586472}.sb-coach-target{border-radius:50%;background:#ffdcd8;color:#d74439}
  .sb-coach-steps>div{background:#fff;color:var(--ink);border:1px solid #f6e3e3}
  .sb-coach-steps b{background:#e9f8d9;color:#427926}
  [data-theme="dark"] .sb-coach-hero{background:#34232a;color:#f5f7f9;border-color:#5d3947}
  [data-theme="dark"] .sb-coach-hero p{color:#c8d1d8}
  [data-theme="dark"] .sb-coach-steps>div{background:#412e38;color:#f5f7f9;border-color:#624350}
  .sb-accounts-heading{margin-bottom:17px}.sb-accounts-note{padding:18px}
  .sb-account-row{padding:14px;gap:10px}.sb-account-icon{width:40px;height:40px}.sb-account-info small{font-size:11px}
  .sb-account-actions .button{width:100%}
  .field input,.field select,.field textarea{font-size:16px}
}
@media(max-width:350px){.sb-mobile-logo img{max-width:125px}.sb-header-theme{padding:7px}.sb-header-theme span{display:none}.sb-account-select{padding:7px 8px;font-size:11px}}

/* Keep native navigation outside the scrolling page so iOS cannot move it with the WebView. */
@media(max-width:720px){
  html.native-app body:has(.app-shell),html.native-app body:has(.app-shell) #root{height:100dvh;min-height:0;overflow:hidden}
  html.native-app .app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  html.native-app .app-shell>.sb-mobile-top{order:0;flex:none}
  html.native-app .app-shell>.desktop-layout,html.native-app .app-shell>main.phone-wrap{order:1;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
  html.native-app .app-shell .content,html.native-app .app-shell>main.phone-wrap{padding-bottom:24px}
  html.native-app .app-shell>.phone-bottom-nav.sb-tabbar{order:2;position:relative;inset:auto;flex:none;z-index:6;height:66px;padding:4px max(5px,env(safe-area-inset-right)) 4px max(5px,env(safe-area-inset-left))}
  html.native-app .sb-tabbar .sb-tab{min-height:0;height:100%;display:flex;justify-content:flex-end;gap:3px;padding:3px 0 4px}
  html.native-app .sb-tabbar .sb-tab svg{width:29px;height:29px;flex:none}
  html.native-app .sb-tabbar .sb-tab .sb-tab-branch-icon{width:31px;height:31px;object-fit:contain;opacity:.65}
  html.native-app .sb-tabbar .sb-tab.active .sb-tab-branch-icon{opacity:1}
  html.native-app .sb-tabbar .sb-tab span{font-size:12px;line-height:1.1}
}
/* The native story is a viewport-sized player; its text scrolls inside the card if needed. */
@media(max-width:720px){
  html.native-app .app-shell>main.sb-replay-page{overflow:hidden;display:flex;flex-direction:column;min-height:0}
}

/* The first story artwork is a fixed part of the slide, not draggable content. */
.sb-replay-tree,.sb-replay-tree img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none}
@media(max-width:720px){
  .sb-replay-0 .sb-replay-content{overflow:hidden;padding-top:16px}
  .sb-replay-0 .sb-replay-content h1{margin:9px 0 5px;font-size:clamp(30px,8vw,40px)}
  .sb-replay-0 .sb-replay-content>p{font-size:14px;line-height:1.3;margin:0}
  .sb-replay-0 .sb-replay-tree{flex:1 1 auto;min-height:104px}
  .sb-replay-0 .sb-replay-tree img{width:min(110px,29vw)}
  .sb-replay-0 .sb-replay-tree:before{width:128px;height:128px}
  .sb-replay-0 .sb-replay-tree:after{width:172px;height:172px}
  .sb-replay-0 .sb-replay-tree span{bottom:1px;font-size:8px;white-space:nowrap}
  .sb-replay-0 .sb-replay-sources>div{padding:7px 0}

  .sb-account-list{gap:12px}
  .sb-account-card{border-radius:23px}
  .sb-account-row{padding:16px 16px 12px;gap:12px}
  .sb-account-icon{width:44px;height:44px}
  .sb-account-info strong{font-size:17px}
  .sb-account-select{min-height:36px}
  .sb-connection-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}
  .sb-connection-controls .sb-account-action{width:100%;min-width:0;min-height:42px;padding:9px 8px;white-space:normal;text-align:center}
  .sb-connection-controls .sb-account-action--check,.sb-connection-controls .sb-account-action--connect{grid-column:1/-1;grid-row:1}
  .sb-connection-controls p{grid-column:1/-1}
  html.native-app .sb-account-action--reconnect:disabled{display:none}
  .sb-empty-feature{position:relative;overflow:hidden;padding:34px 23px;background:linear-gradient(145deg,#1a2835,#17212c);color:#fff;border-color:#354b5e}
  .sb-empty-feature::before{content:"";position:absolute;width:210px;height:210px;right:-100px;top:-105px;border-radius:50%;background:radial-gradient(circle,rgba(184,243,93,.21),transparent 70%);pointer-events:none}
  .sb-empty-mark{position:relative;background:#fff0e9;box-shadow:0 14px 30px rgba(0,0,0,.15)}
  .sb-empty-feature h2{position:relative;font-size:clamp(25px,7vw,31px);line-height:1.1;margin:0 auto 12px}
  .sb-empty-feature p{position:relative;color:#c4d0d8;line-height:1.5}
  .sb-empty-feature .button{position:relative}
  .sb-unlinked-panel{padding:19px}
  .sb-unlinked-row{grid-template-columns:1fr;gap:5px}
  .sb-unlinked-row small{display:block}
}
.sb-match-actions{display:flex;flex-wrap:wrap;gap:10px}
