/* Phone layer. Desktop (>820px) only sees the calendar styles + a hidden quick-log button. */
.qfab{display:none}
.cal-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cal-top b{font-size:17px;min-width:150px;text-align:center}
.cal-sum,.cday-sum{display:flex;gap:18px;flex-wrap:wrap;color:var(--mut);font-size:13px;margin-bottom:12px}.cal-sum b,.cday-sum b{color:var(--txt);margin-left:4px}
.cal{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ch{font-size:11px;color:var(--mut);text-align:center;text-transform:uppercase;letter-spacing:.06em}
.cd{min-height:78px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--txt);display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;font:inherit;text-align:left;cursor:default;min-width:0}
.cd.x{border:0;background:none}.cd.has{cursor:pointer}.cd:disabled{opacity:.55}
.cd-n{font-size:11px;color:var(--mut)}.cd b{font-size:13px;font-variant-numeric:tabular-nums}.cd small{font-size:10.5px;color:var(--mut)}
.cd.up{background:color-mix(in srgb,var(--ac) 14%,var(--panel));border-color:color-mix(in srgb,var(--ac) 45%,var(--line))}.cd.up b{color:var(--ac)}
.cd.dn{background:color-mix(in srgb,var(--neg) 14%,var(--panel));border-color:color-mix(in srgb,var(--neg) 45%,var(--line))}.cd.dn b{color:var(--neg)}
.cd.td{outline:2px solid var(--ac2,var(--ac));outline-offset:-2px}
.cal-wk{display:grid;gap:6px;padding-top:21px;grid-auto-rows:78px}.cw{border:1px solid var(--line);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;justify-content:center}.cw small{color:var(--mut);font-size:10.5px}.cw.up b{color:var(--ac)}.cw.dn b{color:var(--neg)}
.cday-d{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.cday-l{display:flex;flex-direction:column;gap:8px}
.cday-t{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--txt);font:inherit;text-align:left;cursor:pointer}
.cday-t span small{display:block;color:var(--mut);font-size:12px;margin-top:2px}
.jc-side{font-style:normal;font-size:10.5px;text-transform:uppercase;padding:2px 6px;border-radius:6px;margin-left:6px}.jc-side.b{color:var(--ac);background:color-mix(in srgb,var(--ac) 15%,transparent)}.jc-side.s{color:var(--neg);background:color-mix(in srgb,var(--neg) 15%,transparent)}
.pos{color:var(--ac)}.neg{color:var(--neg)}
.jcards{display:none}

@media(max-width:820px){
 html,body{overflow-x:hidden;max-width:100%}
 body{padding-bottom:calc(78px + var(--safe-b,env(safe-area-inset-bottom,0px)))}
 main{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;min-width:0}
 main *{min-width:0}
 /* slim sticky header */
 .ph-head{position:sticky;top:0;z-index:40;margin:0 -12px 12px!important;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px!important;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 .ph-head h1{font-size:19px!important;margin:0!important;line-height:1.2}
 .ph-head .sub{display:none!important}
 .ph-head .example{margin-left:auto}
 .ph-head .afilt{order:5;flex:1 1 100%;min-height:40px}
 .ph-head .btn{min-height:40px}
 /* bottom tab bar: 6 tabs */
 .tabbar.t6{padding:4px 2px calc(4px + env(safe-area-inset-bottom,0px))}
 .tabbar.t6 a{min-height:50px;font-size:10px;letter-spacing:-.01em;white-space:nowrap;padding:5px 0;gap:3px}
 .tabbar.t6 a .ic{width:22px;height:22px}
 .tabbar.t6 a.on .ic{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--ac) 60%,transparent))}
 .tabbar.t6 a.on::after{content:'';position:absolute;top:0;width:22px;height:3px;border-radius:0 0 3px 3px;background:var(--ac)}
 .tabbar.t6 a{position:relative}
 /* floating quick log */
 .qfab{display:flex;align-items:center;justify-content:center;position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:57;margin:0!important;width:56px;height:56px}
 body:has(#tf) .qfab,body:has(#tv) .qfab,body:has(.wr) .qfab,body:has(#cc) .qfab,.msheet-on .qfab,.more-open .qfab{display:none}
 /* tap targets */
 .btn,button.btn,.inp,select,input[type=text],input[type=number],input:not([type]),.dd-btn,.dd-t{min-height:44px}
 .btn.sm{min-height:40px;padding-left:12px;padding-right:12px}
 input,select,textarea{font-size:16px!important}
 /* bigger stat numerals */
 .big,.kpi b,.kpis b,.kv b,.stat b{font-size:clamp(24px,7vw,30px)!important;font-variant-numeric:tabular-nums}
 /* single-column dashboard, priority order */
 section.grid{display:flex!important;flex-direction:column;gap:12px}
 section.grid>*{width:auto!important;grid-column:auto!important}
 .c-scorecol,.c-today{order:-20}.c-pair{order:-10}
 .wtools{display:none!important}
 .mcol>h3{display:flex;align-items:center;cursor:pointer;min-height:36px;margin-bottom:0;-webkit-tap-highlight-color:transparent}
 .mcol>h3 .mchev{width:18px;height:18px;margin-left:auto;stroke:var(--mut);fill:none;stroke-width:2;transition:transform .2s}
 .mcol.mshut>h3 .mchev{transform:rotate(-90deg)}
 .mcol.mshut>:not(h3){display:none!important}
 .mcol:not(.mshut)>h3{margin-bottom:10px}
 svg{max-width:100%}
 table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
 /* journal cards */
 html.is-m #list{display:none}
 html.is-m .jcards{display:flex;flex-direction:column;gap:8px;margin-top:10px}
 .filters{display:flex!important;flex-wrap:wrap;gap:8px}.filters>*{flex:1 1 140px!important;width:auto!important;max-width:none!important}.filters #count{flex:1 1 100%!important}
 .jc{position:relative;border-radius:14px;overflow:hidden;background:var(--panel)}
 .jc-act{position:absolute;inset:0 0 0 auto;width:180px;display:flex}
 .jc-act button{flex:1;border:0;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:600 11px inherit;font-family:inherit}
 .jc-act button .ic{width:20px;height:20px;stroke:#fff}
 .jc-act [data-a=tag]{background:color-mix(in srgb,var(--ac2,var(--ac)) 70%,#000)}.jc-act [data-a=close]{background:color-mix(in srgb,var(--ac) 65%,#000)}.jc-act [data-a=note]{background:color-mix(in srgb,var(--mut) 55%,#000)}
 .jc-f{position:relative;display:flex;justify-content:space-between;gap:10px;padding:12px 14px;min-height:64px;background:var(--panel);border:1px solid var(--line);border-radius:14px;transition:transform .22s ease;touch-action:pan-y}
 .jc-p{display:flex;align-items:center;font-size:15px}.jc-l small{display:block;color:var(--mut);font-size:12px;margin-top:3px}
 .jc-open{font-style:normal;font-size:10px;margin-left:6px;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--ac) 18%,transparent);color:var(--ac)}
 .jc-tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.jc-tags span{font-size:10.5px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--mut)}
 .jc-l{flex:1 1 auto;min-width:0}
 .jc-r{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;justify-content:center}.jc-r b{font-size:17px;font-variant-numeric:tabular-nums}.jc-r small{color:var(--mut);font-size:12px}
 /* bottom sheets */
 .msheet-bg{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,0);transition:background .2s}.msheet-bg.on{background:rgba(0,0,0,.55)}
 .msheet{position:absolute;left:0;right:0;bottom:0;max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border-top:1px solid var(--line);border-radius:20px 20px 0 0;transform:translateY(100%);transition:transform .22s ease;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -10px 40px rgba(0,0,0,.4)}
 .msheet-bg.on .msheet{transform:none}
 .msh-grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:8px auto 2px}
 .msh-h{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}.msh-h b{font-size:16px}
 .msh-x{width:44px;height:44px;border:0;background:none;color:var(--mut);display:flex;align-items:center;justify-content:center}.msh-x .ic{width:20px;height:20px}
 .msh-b{overflow:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
 .msh-list{display:flex;flex-direction:column}
 .msh-grp{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);padding:12px 4px 6px}
 .msh-opt{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:0;border-radius:12px;background:none;color:var(--txt);font:inherit;font-size:15px;text-align:left}
 .msh-opt span{flex:1}.msh-opt small{display:block;color:var(--mut);font-size:12px}.msh-opt .ic{width:18px;height:18px;stroke:var(--ac)}
 .msh-opt.on{background:color-mix(in srgb,var(--ac) 12%,transparent);color:var(--ac)}
 .msh-chip{font-style:normal;font-size:10.5px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--mut)}
 .msh-in{width:100%;box-sizing:border-box}
 /* themed dropdown + existing sheets/pickers become bottom sheets */
 .dd-menu{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;min-width:0!important;max-width:none!important;width:auto!important;max-height:70vh!important;border-radius:20px 20px 0 0!important;padding:14px 10px calc(14px + env(safe-area-inset-bottom,0px))!important;z-index:95!important;box-shadow:0 -10px 40px rgba(0,0,0,.5)!important}
 .dd-menu [role=option],.dd-menu .dd-o,.dd-menu button{min-height:48px}
 .sheet:not(.wr-prof),.wr-pk{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;max-width:none!important;width:auto!important;max-height:88vh;overflow:auto;border-radius:20px 20px 0 0!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;z-index:96}
 .wr-pk{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 12px!important;background:var(--panel);border-top:1px solid var(--line)}
 .wr-pk button{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px}
 .wr-pk button span{font-size:26px}.wr-pk button small{display:block!important;color:var(--mut);font-size:11px}
 /* quick log */
 .ql{display:flex;flex-direction:column;gap:8px}
 .ql-b{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 40%,var(--panel));color:var(--txt);text-decoration:none;font:inherit;text-align:left;cursor:pointer}
 .ql-b .ic{width:22px;height:22px;stroke:var(--ac)}.ql-b small{display:block;color:var(--mut);font-size:12px}
 /* pull to refresh */
 .ptr{position:fixed;top:6px;left:50%;transform:translate(-50%,-40px);z-index:80;width:36px;height:36px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}
 .ptr .ic{width:18px;height:18px;stroke:var(--mut)}.ptr.ready .ic{stroke:var(--ac)}.ptr.spin{animation:ptrs .8s linear infinite}@keyframes ptrs{to{rotate:360deg}}
 /* charts */
 .cp-bar{flex-wrap:wrap;gap:6px}
 .cp-seg{flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;scrollbar-width:none}.cp-seg>*{white-space:nowrap;flex:0 0 auto;min-height:40px}
 .cp-ly:not(.in-sheet),#ly:not(.in-sheet){display:none!important}
 #ly.in-sheet{display:flex!important}
 .cp-ly.in-sheet{display:flex;flex-direction:column;gap:2px;border:0;padding:0;font-size:15px}
 .cp-ly.in-sheet label{min-height:48px;border-bottom:1px solid var(--line);justify-content:space-between;flex-direction:row-reverse}
 .m-lyb .ic,.m-fs .ic{width:16px;height:16px;margin-right:4px}
 #cc{touch-action:none}
 .cp-wrap:fullscreen,.m-full{background:var(--bg);width:100vw!important;height:100vh!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}
 .cp-wrap:fullscreen #cc{height:100%!important}
 /* war room: full-screen chat, composer pinned above the keyboard */
 body:has(.wr) .ph-head{display:none}
 .wr{display:block!important}
 .wr-side{display:none}
 .wr-main{position:fixed!important;inset:0 0 calc(62px + env(safe-area-inset-bottom,0px)) 0;margin:0!important;border-radius:0!important;border:0!important;display:flex!important;flex-direction:column;z-index:30;padding-top:env(safe-area-inset-top,0px)}
 .wr-msgs{flex:1;overflow:auto;overscroll-behavior:contain}
 .wr-comp{position:sticky;bottom:var(--kb,0px);background:var(--panel);border-top:1px solid var(--line);padding:8px 10px}
 .wr-comp textarea,.wr-comp input{min-height:44px}
 .wr-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 .wr-legend{display:flex;overflow-x:auto;flex-wrap:nowrap!important;gap:10px}
 .wr-legend span{white-space:nowrap}
 /* calendar on phones */
 .cal{grid-template-columns:1fr}
 html.is-m .cal-wk,.cal-wk{display:none!important}
 .cd{width:100%;box-sizing:border-box}
 .cal-g{gap:3px}
 .cd{min-height:58px;padding:4px 3px;border-radius:8px;align-items:center;text-align:center}
 .cd b{font-size:10.5px;letter-spacing:-.02em}.cd small{display:none}
 .cal-top b{flex:1;min-width:0}
 .calw{padding:12px!important}
}
@media(max-width:820px) and (orientation:landscape){.tabbar.t6{display:none}body{padding-bottom:0}}
.offbadge{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:99;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--neg) 20%,var(--panel));border:1px solid color-mix(in srgb,var(--neg) 50%,var(--line));color:var(--txt);font-size:12px;pointer-events:none}
/* Locked banner: compact single row under the header, chips scroll horizontally, equal heights */
@media(max-width:820px){
 .acct-lock{order:0;flex-wrap:nowrap;gap:8px;margin:0 0 10px!important;padding:8px 10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;font-size:12.5px}
 .acct-lock::-webkit-scrollbar{display:none}
 .acct-lock>.ic,.acct-lock>b{flex:none}
 .al-c{flex:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;white-space:nowrap;background:color-mix(in srgb,var(--neg) 8%,transparent);font-weight:600}
 .al-c small{font-weight:400;font-size:11px}
}
/* instant taps (no 300ms delay / double-tap zoom) */
html{touch-action:manipulation}a,button,[role=button],.tabbar a,.jc{touch-action:manipulation}
/* War Room on phones: keep the Channels / Rankings / Profile tabs and the channel picker reachable (they were hidden), chat fills the rest */
@media(max-width:820px){
 body:has(.wr) .wr-side{display:block;position:fixed;top:0;left:0;right:0;z-index:31;margin:0;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:calc(6px + env(safe-area-inset-top,0px)) 10px 6px;background:var(--panel);max-height:none}
 body:has(.wr) .wr-side .wr-brand{display:none}
 body:has(.wr) .wr-main{top:var(--wrs,100px)!important;padding-top:0!important}
 .wr-legend span{flex:none}
 body:has(.wr) .wr-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px}
 body:has(.wr) .wr-tabs button{flex-direction:column;gap:2px;font-size:11px;padding:6px 2px;text-align:center}
 body:has(.wr) .wr-chs>.wr-h,body:has(.wr) .wr-chs>.wr-ch,body:has(.wr) .wr-chs>details,body:has(.wr) .wr-newch{display:none}
 body:has(.wr) .wr-chs .dd-btn.wr-chsel{display:flex!important;width:100%;margin-top:6px}
 body:has(.wr) .wr[data-view=chat] .wr-chs{display:block}body:has(.wr) .wr:not([data-view=chat]) .wr-chs{display:none}
}
