/* Timefolk phone web (11 Oct 2026): the app's screens on a phone-width browser. Loaded after night.css and only
   active under html.tf-m (set by mweb.js below 768px). Tokens mirror the iOS Night palette, light and dark. */
html.tf-m{
  --m-ground:#F6EFE7;--m-panel:#FFFFFF;--m-cell:#FFFFFF;--m-ink:#1B1C1A;--m-ink2:#5F5A51;--m-hair:rgba(40,30,19,.1);
  --m-accent:#896A44;--m-on-accent:#FFFFFF;--m-gold-text:#74552F;--m-gold-tint:rgba(137,106,68,.12);
  --m-fill:rgba(118,118,128,.12);--m-glass:rgba(255,255,255,.72);--m-scrim:rgba(27,28,26,.32);--m-shadow:0 10px 30px rgba(27,28,26,.12);
  --m-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",system-ui,sans-serif;
  --m-r-card:22px;--m-r-tile:18px;--m-r-pill:999px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){html.tf-m:not([data-theme=light]){
  --m-ground:#131312;--m-panel:#1B1C1A;--m-cell:#272824;--m-ink:#F1EBE0;--m-ink2:#ADA69A;--m-hair:rgba(255,255,255,.14);
  --m-accent:#D9BE93;--m-on-accent:#131312;--m-gold-text:#D9BE93;--m-gold-tint:rgba(217,190,147,.14);
  --m-fill:rgba(255,255,255,.08);--m-glass:rgba(27,28,26,.72);--m-scrim:rgba(0,0,0,.5);--m-shadow:0 10px 30px rgba(0,0,0,.4);
  color-scheme:dark;}}
html.tf-m[data-theme=dark]{
  --m-ground:#131312;--m-panel:#1B1C1A;--m-cell:#272824;--m-ink:#F1EBE0;--m-ink2:#ADA69A;--m-hair:rgba(255,255,255,.14);
  --m-accent:#D9BE93;--m-on-accent:#131312;--m-gold-text:#D9BE93;--m-gold-tint:rgba(217,190,147,.14);
  --m-fill:rgba(255,255,255,.08);--m-glass:rgba(27,28,26,.72);--m-scrim:rgba(0,0,0,.5);--m-shadow:0 10px 30px rgba(0,0,0,.4);
  color-scheme:dark;}

/* The app has no website header on its own screens: the tab bar carries Menu. */
html.tf-m.tf-m-app #nav,html.tf-m.tf-m-app .atmos,html.tf-m.tf-m-app .skip{display:none!important}
html.tf-m.tf-m-app body{background:var(--m-ground)!important;color:var(--m-ink)}
html.tf-m.tf-m-app #root{padding-top:0!important;margin-top:0!important}
html.tf-m .tfc-hero{display:none!important}

/* Page frame */
html.tf-m.tf-m.tf-m #root .m-page{font-family:var(--m-font);color:var(--m-ink);background:var(--m-ground);min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 10px) 0 calc(env(safe-area-inset-bottom,0px) + 110px);box-sizing:border-box}
html.tf-m.tf-m.tf-m #root .m-page *{box-sizing:border-box}
html.tf-m.tf-m.tf-m #root .m-page h1,html.tf-m.tf-m.tf-m #root .m-page h2,html.tf-m.tf-m.tf-m #root .m-page h3,html.tf-m.tf-m.tf-m #root .m-page p{margin:0}
html.tf-m.tf-m.tf-m #root .m-page button,html.tf-m.tf-m.tf-m #root .m-gtabs button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;text-align:left;cursor:pointer;text-decoration:none;border-radius:0;box-shadow:none;min-height:0;min-width:0;width:auto;height:auto;line-height:1.3;appearance:none;-webkit-appearance:none;letter-spacing:normal;text-transform:none}
html.tf-m #root .m-page a{color:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
html.tf-m.tf-m.tf-m #root .m-page img{display:block}
html.tf-m.tf-m.tf-m #root .m-x{padding-left:16px;padding-right:16px}
html.tf-m.tf-m.tf-m #root .m-h2{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
html.tf-m.tf-m.tf-m #root .m-sec{margin-top:28px}
html.tf-m.tf-m.tf-m #root .m-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 16px 12px}
html.tf-m.tf-m.tf-m #root .m-sec-head .m-more{font-size:17px;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 16px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
html.tf-m.tf-m.tf-m #root .m-rail::-webkit-scrollbar{display:none}
html.tf-m.tf-m.tf-m #root .m-rail>*{scroll-snap-align:start;flex:0 0 auto;min-width:0}

/* Discover top: search pill + bell */
html.tf-m.tf-m.tf-m #root .m-top{display:flex;align-items:center;gap:12px;padding:6px 16px 0}
html.tf-m.tf-m.tf-m #root .m-search{flex:1;display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-radius:var(--m-r-pill);background:var(--m-cell);color:var(--m-ink2);font-size:17px;border:1px solid var(--m-hair)}
html.tf-m.tf-m.tf-m #root .m-search svg{width:20px;height:20px;flex:none;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-search span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.tf-m.tf-m.tf-m #root .m-ib{position:relative;width:50px;height:50px;border-radius:50%;background:var(--m-cell);border:1px solid var(--m-hair);display:grid;place-items:center;color:var(--m-ink);flex:none}
html.tf-m.tf-m.tf-m #root .m-ib svg{width:22px;height:22px}
html.tf-m.tf-m.tf-m #root .m-dot{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#E5484D;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid var(--m-ground)}

/* Near you */
html.tf-m.tf-m.tf-m #root .m-near{display:block;width:92px;text-align:center}
html.tf-m.tf-m.tf-m #root .m-near-ava{display:block;position:relative;width:88px;height:88px;margin:0 auto;border-radius:50%;overflow:hidden;background:var(--m-cell)}
html.tf-m.tf-m.tf-m #root .m-near-ava img{width:100%;height:100%;object-fit:cover}
html.tf-m.tf-m.tf-m #root .m-near-ava .m-letter{width:100%;height:100%;display:grid;place-items:center;font-size:34px;font-weight:600;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-pro{display:inline-block;padding:2px 7px;border-radius:7px;background:var(--m-accent);color:var(--m-on-accent);font-size:10px;font-weight:800;letter-spacing:.06em;vertical-align:middle}
html.tf-m.tf-m.tf-m #root .m-near .m-pro{position:absolute;left:50%;bottom:6px;transform:translateX(-50%)}
html.tf-m.tf-m.tf-m #root .m-near-name{display:flex;width:100%;align-items:center;justify-content:center;gap:4px;margin-top:8px;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden}
html.tf-m.tf-m.tf-m #root .m-near-name b{font-weight:500;overflow:hidden;text-overflow:ellipsis}
html.tf-m.tf-m.tf-m #root .m-seal{display:inline-flex;width:16px;height:16px;flex:none;color:var(--m-accent)}
html.tf-m.tf-m.tf-m #root .m-seal svg{width:100%;height:100%}

/* Learn something new: category tiles, two rows */
html.tf-m.tf-m.tf-m #root .m-cats{display:grid;grid-auto-flow:column;grid-template-rows:1fr 1fr;grid-auto-columns:168px;gap:12px;overflow-x:auto;padding:0 16px 6px;scrollbar-width:none}
html.tf-m.tf-m.tf-m #root .m-cats::-webkit-scrollbar{display:none}
html.tf-m.tf-m.tf-m #root .m-cat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 12px 14px;border-radius:var(--m-r-tile);background:var(--m-cell);border:1px solid var(--m-hair);min-height:196px}
html.tf-m.tf-m.tf-m #root .m-cat img{width:118px;height:118px;object-fit:contain;margin-bottom:6px}
html.tf-m.tf-m.tf-m #root .m-cat b{font-size:16px;font-weight:600;line-height:1.15}
html.tf-m.tf-m.tf-m #root .m-cat small{font-size:13px;color:var(--m-ink2);margin-top:3px}
html.tf-m.tf-m.tf-m #root .m-cat.soon{opacity:.6}

/* This week: event cards */
html.tf-m.tf-m.tf-m #root .m-ev{display:block;width:300px;border-radius:var(--m-r-card);background:var(--m-cell);border:1px solid var(--m-hair);overflow:hidden}
html.tf-m.tf-m.tf-m #root .m-ev-cover{display:block;height:170px;background:var(--m-fill)}
html.tf-m.tf-m.tf-m #root .m-ev-cover img{width:100%;height:100%;object-fit:cover}
html.tf-m.tf-m.tf-m #root .m-ev-body{display:block;padding:12px 14px 14px}
html.tf-m.tf-m.tf-m #root .m-ev-when,html.tf-m.tf-m.tf-m #root .m-ev-title,html.tf-m.tf-m.tf-m #root .m-ev-meta{display:block}
html.tf-m.tf-m.tf-m #root .m-ev-when{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--m-ink2);text-transform:uppercase}
html.tf-m.tf-m.tf-m #root .m-ev-title{font-size:17px;font-weight:600;line-height:1.25;margin-top:4px}
html.tf-m.tf-m.tf-m #root .m-ev-meta{font-size:14px;color:var(--m-ink2);margin-top:6px}

/* Popular skills list */
html.tf-m.tf-m.tf-m #root .m-skill{display:flex;width:100%;align-items:center;gap:14px;padding:10px 16px}
html.tf-m.tf-m.tf-m #root .m-skill img{width:64px;height:64px;border-radius:14px;object-fit:cover;background:var(--m-fill)}
html.tf-m.tf-m.tf-m #root .m-skill b{font-size:17px;font-weight:600;display:block}
html.tf-m.tf-m.tf-m #root .m-skill small{font-size:14px;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-skill .m-from{margin-left:auto;font-size:15px;color:var(--m-ink2);white-space:nowrap}
html.tf-m.tf-m.tf-m #root .m-skill+.m-skill{border-top:1px solid var(--m-hair)}

/* Explore cards */
html.tf-m.tf-m.tf-m #root .m-title{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
html.tf-m.tf-m.tf-m #root .m-seg{display:flex;background:var(--m-fill);border-radius:14px;padding:3px;margin:16px 16px 0}
html.tf-m.tf-m.tf-m #root .m-seg button{flex:1;height:38px;border-radius:11px;text-align:center;font-size:15px;font-weight:600;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-seg button[aria-selected=true]{background:var(--m-cell);color:var(--m-ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
html.tf-m.tf-m.tf-m #root .m-city{display:flex;align-items:center;gap:8px;padding:16px 16px 0;font-size:17px;font-weight:600}
html.tf-m.tf-m.tf-m #root .m-city svg{width:16px;height:16px;color:var(--m-accent)}
html.tf-m.tf-m.tf-m #root .m-city .m-change{margin-left:auto;font-weight:500;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-note{padding:6px 16px 0;font-size:14px;color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-card{margin:16px 16px 0;border-radius:26px;background:var(--m-cell);border:1px solid var(--m-hair);overflow:hidden}
html.tf-m.tf-m.tf-m #root .m-card-art{position:relative;height:300px;background:var(--m-fill)}
html.tf-m.tf-m.tf-m #root .m-card-art img{width:100%;height:100%;object-fit:cover}
html.tf-m.tf-m.tf-m #root .m-card-art img.art{object-fit:contain;padding:14px}
html.tf-m.tf-m.tf-m #root .m-chip{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--m-accent);color:var(--m-on-accent);font-size:13px;font-weight:700}
html.tf-m.tf-m.tf-m #root .m-card-body{padding:14px 16px 16px}
html.tf-m.tf-m.tf-m #root .m-card-row{display:flex;align-items:flex-start;gap:12px}
html.tf-m.tf-m.tf-m #root .m-card-ava{width:64px;height:64px;border-radius:14px;overflow:hidden;background:var(--m-fill);flex:none}
html.tf-m.tf-m.tf-m #root .m-card-ava img{width:100%;height:100%;object-fit:cover}
html.tf-m.tf-m.tf-m #root .m-card-name{font-size:20px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
html.tf-m.tf-m.tf-m #root .m-card-prof{font-size:15px;color:var(--m-ink2);margin-top:2px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
html.tf-m.tf-m.tf-m #root .m-years{padding:2px 8px;border-radius:8px;background:var(--m-gold-tint);color:var(--m-gold-text);font-size:13px;font-weight:600}
html.tf-m.tf-m.tf-m #root .m-card-where{font-size:15px;color:var(--m-ink2);margin-top:8px}
html.tf-m.tf-m.tf-m #root .m-card-skills{font-size:16px;line-height:1.35;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.tf-m.tf-m.tf-m #root .m-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
html.tf-m.tf-m.tf-m #root .m-card-foot .m-from{font-size:18px;font-weight:600}
html.tf-m.tf-m.tf-m #root .m-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:999px;background:var(--m-accent);color:var(--m-on-accent);font-size:17px;font-weight:600}
html.tf-m.tf-m.tf-m #root .m-btn.wide{width:100%}
html.tf-m.tf-m.tf-m #root .m-btn.ghost{background:var(--m-fill);color:var(--m-ink)}
html.tf-m.tf-m.tf-m #root .m-more-dots{color:var(--m-ink2);font-size:22px;line-height:1;padding:0 4px;align-self:center}

/* Welcome (signed out) */
html.tf-m.tf-m.tf-m #root .m-welcome{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 24px calc(env(safe-area-inset-bottom,0px) + 28px);background:var(--m-ground)}
html.tf-m.tf-m.tf-m #root .m-welcome-mark{display:grid;place-items:center;flex:1;padding-top:40px}
html.tf-m.tf-m.tf-m #root .m-welcome-mark svg{width:120px;height:120px}
html.tf-m.tf-m.tf-m #root .m-welcome h1{font-size:40px;font-weight:800;letter-spacing:-.03em;text-align:center;margin-top:18px}
html.tf-m.tf-m.tf-m #root .m-welcome p{font-size:17px;color:var(--m-ink2);text-align:center;margin-top:8px;line-height:1.4}
html.tf-m.tf-m.tf-m #root .m-welcome .m-search{flex:0 0 auto;margin:28px 0 0;background:var(--m-cell)}
html.tf-m.tf-m.tf-m #root .m-welcome-actions{display:grid;gap:12px;margin-top:22px}
html.tf-m.tf-m.tf-m #root .m-welcome-tiny{font-size:13px;color:var(--m-ink2);text-align:center;margin-top:14px}

/* Empty and loading */
html.tf-m.tf-m.tf-m #root .m-empty{padding:40px 24px;text-align:center;color:var(--m-ink2);font-size:16px}
html.tf-m.tf-m.tf-m #root .m-sk{background:var(--m-fill);border-radius:14px;animation:m-pulse 1.2s ease-in-out infinite}
@keyframes m-pulse{50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.m-sk{animation:none}}

/* Signed-out tab bar, the same glass pill as the signed-in one */
html.tf-m.tf-m.tf-m #root .m-gtabs{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:60;display:flex;justify-content:space-around;align-items:center;height:72px;padding:0 6px;border-radius:999px;background:var(--m-glass);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--m-hair);box-shadow:var(--m-shadow)}
html.tf-m.tf-m.tf-m #root .m-gtabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:64px;height:60px;border-radius:999px;color:var(--m-ink2);font-size:11px;font-weight:600}
html.tf-m.tf-m.tf-m #root .m-gtabs button svg{width:24px;height:24px}
html.tf-m.tf-m.tf-m #root .m-gtabs button[aria-current=page]{color:var(--m-gold-text);background:var(--m-gold-tint)}
html.tf-m.tf-m.tf-m #root .m-page .m-search span{flex:1;min-width:0}
/* Night colours links gold inside #root; app text is ink, gold only where the app uses it */
html.tf-m #root .m-page a:visited{color:inherit}
html.tf-m.tf-m.tf-m #root .m-page .m-search{color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-page .m-ib{display:grid;place-items:center;padding:0}
html.tf-m.tf-m.tf-m #root .m-page .m-ib svg{display:block;width:22px;height:22px}
html.tf-m.tf-m.tf-m #root .m-page .m-more,html.tf-m.tf-m.tf-m #root .m-page .m-change{color:var(--m-ink2)}
html.tf-m.tf-m.tf-m #root .m-page .m-btn{color:var(--m-on-accent)}
html.tf-m.tf-m.tf-m #root .m-page .m-skill b,html.tf-m.tf-m.tf-m #root .m-page .m-ev-title,html.tf-m.tf-m.tf-m #root .m-page .m-cat b,html.tf-m.tf-m.tf-m #root .m-page .m-near-name b{color:var(--m-ink)}
