  :root{
    --cream:#FDF8E4;--cream-deep:#FAF3DC;
    --yellow:#F4D85E;--yellow-pale:#FBE99B;--yellow-deep:#E5C73C;
    --sage:#D8E5D0;--sage-deep:#A8C09A;
    --ink:#1A1A1A;--ink-2:#2D2D2D;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html,body{background:var(--cream);min-height:100%;height:100%;overflow:hidden;}
  body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;padding:0;position:fixed;inset:0;}
  .phone{width:100%;max-width:480px;height:100%;margin:0 auto;background:var(--cream);overflow:hidden;position:relative;display:flex;flex-direction:column;padding-top:max(env(safe-area-inset-top),12px);padding-bottom:env(safe-area-inset-bottom);}
  .notch{display:none;}
  .status-bar{display:none;}
  .status-bar .right{display:flex;gap:6px;align-items:center;font-size:13px;}
  .app-header{flex:0 0 auto;padding:8px 24px 0;display:flex;justify-content:space-between;align-items:center;}
  .header-mark{font-family:'Fraunces',serif;font-weight:800;font-size:26px;line-height:1;letter-spacing:-0.02em;color:var(--ink);font-variation-settings:"opsz" 144;}
  .profile-btn{width:38px;height:38px;border-radius:999px;background:#fff;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);display:flex;align-items:center;justify-content:center;font-family:'DM Mono';font-size:12px;color:var(--ink);}
  .feed{flex:1 1 auto;overflow-y:auto;padding:14px 22px 24px;}
  .feed::-webkit-scrollbar{display:none;}

  .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.7);border:1.25px solid rgba(26,26,26,.22);padding:5px 12px;border-radius:999px;font-family:'DM Mono';font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);}
  .eyebrow .dot{width:7px;height:7px;border-radius:999px;background:var(--yellow-deep);}
  .h1{font-family:'Fraunces',serif;font-weight:800;font-size:40px;line-height:1.0;letter-spacing:-0.024em;text-transform:lowercase;color:var(--ink);margin-top:10px;font-variation-settings:"opsz" 144;}
  .hl{position:relative;display:inline;padding:0 .08em;background:linear-gradient(180deg, transparent 16%, var(--yellow) 16%, var(--yellow) 88%, transparent 88%);}
  .hl.sage{background:linear-gradient(180deg, transparent 16%, var(--sage) 16%, var(--sage) 88%, transparent 88%);}
  .sub{font-family:'Work Sans';font-size:14px;line-height:1.5;color:var(--ink-2);margin-top:7px;max-width:320px;}
  .sub strong{color:var(--ink);font-weight:600;}

  .section-eyebrow{font-family:'DM Mono';font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin:22px 0 10px;display:flex;align-items:center;gap:10px;}
  .section-eyebrow::after{content:"";flex:1;height:1.5px;background:var(--ink);opacity:.16;}

  /* Today's plate snapshot */
  .snap{background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--ink);cursor:pointer;}
  .snap-head{display:flex;justify-content:space-between;align-items:baseline;}
  .snap-label{font-family:'DM Mono';font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);}
  .snap-go{font-family:'DM Mono';font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);opacity:.7;}
  .cal-line{margin-top:8px;display:flex;align-items:baseline;gap:6px;}
  .cal-val{font-family:'Fraunces',serif;font-weight:800;font-size:32px;color:var(--ink);line-height:1;letter-spacing:-0.016em;font-variation-settings:"opsz" 144;}
  .cal-range{font-family:'Work Sans';font-size:12.5px;color:var(--ink-2);}
  .cal-range strong{color:var(--ink);font-weight:600;}
  .cal-bar{margin-top:9px;height:8px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);overflow:hidden;}
  .cal-bar .fill{height:100%;width:60%;background:var(--yellow);border-right:1.25px solid var(--ink);}
  .meal-chips{margin-top:12px;display:flex;gap:7px;}
  .meal-chip{flex:1;background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:10px;padding:8px 6px;text-align:center;}
  .meal-chip .mc-t{font-family:'DM Mono';font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);}
  .meal-chip .mc-e{font-size:18px;margin-top:3px;}
  .meal-chip.logged{background:var(--sage);}

  /* Habit row */
  .habit{margin-top:10px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;display:flex;align-items:center;gap:12px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;}
  .habit .check{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:16px;color:transparent;flex:0 0 auto;}
  .habit.done .check{background:var(--ink);color:var(--yellow);}
  .habit .h-body{flex:1;}
  .habit .h-name{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.006em;}
  .habit .h-meta{font-family:'Work Sans';font-size:11.5px;color:var(--ink-2);margin-top:2px;}

  /* Britt note */
  .britt-note{margin-top:18px;background:var(--sage);border:1.5px dashed var(--ink);border-radius:14px;padding:14px 16px;transform:rotate(-0.5deg);}
  .britt-note .from{font-family:'DM Mono';font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;}
  .britt-note .body{font-family:'Fraunces',serif;font-weight:500;font-size:14.5px;line-height:1.34;color:var(--ink);letter-spacing:-0.004em;}
  .britt-note .body b{font-weight:700;}

  /* Stub views */
  .stub{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding:30px 30px 80px;text-align:center;}
  .stub-badge{align-self:center;font-family:'DM Mono';font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:1.25px solid var(--ink);border-radius:999px;padding:5px 12px;transform:rotate(-2deg);margin-bottom:18px;}
  .stub h2{font-family:'Fraunces',serif;font-weight:800;font-size:40px;line-height:1.0;letter-spacing:-0.024em;text-transform:lowercase;color:var(--ink);}
  .stub p{font-family:'Work Sans';font-size:14px;line-height:1.55;color:var(--ink-2);margin-top:12px;}
  .stub ul{list-style:none;margin-top:18px;text-align:left;align-self:center;}
  .stub li{font-family:'Work Sans';font-size:13.5px;color:var(--ink);padding:8px 0 8px 24px;position:relative;}
  .stub li::before{content:"";position:absolute;left:2px;top:13px;width:8px;height:8px;border-radius:999px;background:var(--yellow-deep);border:1.25px solid var(--ink);}
  .stub .honest{margin-top:22px;font-family:'DM Mono';font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);opacity:.6;}

  /* Community: events + vault */
  .comm-feed{flex:1 1 auto;overflow-y:auto;padding:14px 22px 24px;}
  .comm-feed::-webkit-scrollbar{display:none;}
  .pin{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:13px 15px;box-shadow:3px 3px 0 var(--ink);}
  .pin .who{font-family:'DM Mono';font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px;}
  .pin .txt{font-family:'Fraunces',serif;font-weight:600;font-size:14.5px;line-height:1.3;color:var(--ink);letter-spacing:-0.004em;}
  .event{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:12px 13px;margin-bottom:10px;display:flex;gap:12px;align-items:center;box-shadow:3px 3px 0 var(--ink);}
  .event .ed{width:48px;flex:0 0 auto;text-align:center;background:var(--ink);border-radius:10px;padding:7px 0;}
  .event .ed .m{font-family:'DM Mono';font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);}
  .event .ed .d{font-family:'Fraunces',serif;font-weight:800;font-size:19px;line-height:1.05;color:var(--cream);}
  .event .eb{flex:1;min-width:0;}
  .event .live{font-family:'DM Mono';font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:1px solid var(--ink);border-radius:4px;padding:1px 6px;display:inline-block;}
  .event .en{font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.15;margin-top:5px;}
  .event .em{font-family:'Work Sans';font-size:11px;color:var(--ink-2);margin-top:2px;}
  .save-cal{font-family:'DM Mono';font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--sage);border:1.25px solid var(--ink);border-radius:10px;padding:7px 8px;flex:0 0 auto;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--ink);text-align:center;line-height:1.3;}
  .vault{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:10px 12px;margin-bottom:8px;display:flex;gap:11px;align-items:center;box-shadow:2px 2px 0 var(--ink);}
  .vault .vt{width:44px;height:44px;border-radius:9px;border:1.25px solid var(--ink);background:linear-gradient(135deg,var(--sage),var(--sage-deep));display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;}
  .vault.locked .vt{background:linear-gradient(135deg,var(--cream-deep),var(--yellow-pale));}
  .vault .vb{flex:1;min-width:0;}
  .vault .vn{font-family:'Fraunces',serif;font-weight:700;font-size:13px;color:var(--ink);line-height:1.18;}
  .vault .vm{font-family:'Work Sans';font-size:10.5px;color:var(--ink-2);margin-top:2px;}
  .vault .vbtn{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);background:var(--ink);border-radius:999px;padding:7px 11px;flex:0 0 auto;cursor:pointer;}
  .vault.locked .vbtn{color:var(--ink);background:var(--yellow);border:1px solid var(--ink);}

  /* Community sub-tabs + feed */
  .subtabs{display:flex;gap:6px;background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:4px;box-shadow:3px 3px 0 var(--ink);margin-top:16px;}
  .subtab{flex:1;text-align:center;padding:9px 0;border-radius:999px;font-family:'DM Mono';font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;}
  .subtab.active{background:var(--ink);color:var(--yellow);}
  .pane{display:none;}
  .pane.active{display:block;}
  .cat-chips{display:flex;gap:7px;overflow-x:auto;margin:16px 0 12px;}
  .cat-chips::-webkit-scrollbar{display:none;}
  .cat{flex:0 0 auto;background:#fff;border:1.5px solid var(--ink);border-radius:999px;height:30px;display:flex;align-items:center;padding:0 13px;font-family:'Work Sans';font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap;}
  .cat.active{background:var(--ink);color:var(--yellow);}
  .cat.cat-add{background:var(--cream-deep);border-style:dashed;}
  .composer{background:var(--cream-deep);border:1.5px dashed var(--ink);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;margin-bottom:14px;cursor:pointer;}
  .composer .av{width:34px;height:34px;border-radius:999px;background:var(--sage);border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:14px;color:var(--ink);flex:0 0 auto;}
  .composer .ph{font-family:'Work Sans';font-size:13px;color:var(--ink-2);opacity:.75;}
  .post{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;box-shadow:3px 3px 0 var(--ink);}
  .post-head{display:flex;align-items:center;gap:10px;}
  .post-av{width:34px;height:34px;border-radius:999px;border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:14px;color:var(--ink);flex:0 0 auto;}
  .post-av.a1{background:var(--sage);}.post-av.a2{background:var(--yellow-pale);}.post-av.a3{background:var(--cream-deep);}
  .post-who{font-family:'Work Sans';font-size:13px;font-weight:600;color:var(--ink);}
  .post-time{font-family:'DM Mono';font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:1px;}
  .post-cat{margin-left:auto;font-family:'DM Mono';font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:1px solid var(--ink);border-radius:4px;padding:2px 6px;cursor:pointer;white-space:nowrap;}
  .post-cat.food{background:var(--sage);}
  .post-body{font-family:'Work Sans';font-size:13.5px;line-height:1.45;color:var(--ink-2);margin-top:9px;}
  .post-actions{display:flex;gap:18px;margin-top:11px;}
  .post-act{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;gap:5px;}
  .post-act .hh{color:var(--ink);font-size:12px;}
  .etype{font-family:'DM Mono';font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);border-radius:4px;padding:1px 6px;display:inline-block;}
  .etype.call{background:var(--sage);}
  .etype.inperson{background:var(--yellow);}
  .event{cursor:pointer;}
  /* event detail */
  .ev-hero{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:18px;padding:18px;box-shadow:5px 5px 0 var(--ink);margin-top:14px;}
  .ev-flags{display:flex;gap:6px;margin-bottom:11px;}
  .ev-title{font-family:'Fraunces',serif;font-weight:800;font-size:26px;line-height:1.05;letter-spacing:-0.02em;text-transform:lowercase;color:var(--ink);}
  .ev-row{display:flex;gap:11px;align-items:center;margin-top:13px;}
  .ev-ic{width:30px;height:30px;border-radius:8px;background:#fff;border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
  .ev-rt{font-family:'Work Sans';font-size:13px;color:var(--ink);}
  .ev-rt b{font-weight:600;}
  .ev-desc{font-family:'Work Sans';font-size:13.5px;line-height:1.5;color:var(--ink-2);margin-top:16px;}
  .ev-cta{display:flex;gap:8px;margin-top:18px;}
  .ev-cta .b{flex:1;text-align:center;border-radius:999px;padding:13px;font-family:'Work Sans';font-weight:600;font-size:13.5px;cursor:pointer;}
  .ev-cta .save2{background:#fff;border:1.5px solid var(--ink);color:var(--ink);box-shadow:3px 3px 0 var(--ink);}
  .ev-cta .rsvp{background:var(--ink);color:var(--yellow);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--yellow-deep);}
  .post{cursor:pointer;}

  /* MBB × Braveface sleepover (feature event) */
  .bf-card{position:relative;overflow:hidden;background:var(--ink);border:1.5px solid var(--ink);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:5px 5px 0 var(--yellow-deep);cursor:pointer;}
  .bf-card .bf-x{font-family:'DM Mono';font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:7px;}
  .bf-card .bf-x .moon{font-size:13px;}
  .bf-card .bf-ct{font-family:'Fraunces',serif;font-weight:800;font-size:25px;line-height:1.02;letter-spacing:-0.02em;text-transform:lowercase;color:var(--cream);margin-top:9px;font-variation-settings:"opsz" 144;}
  .bf-card .bf-cm{font-family:'Work Sans';font-size:12px;color:rgba(253,248,228,.72);margin-top:6px;line-height:1.42;}
  .bf-card .bf-go{margin-top:13px;display:inline-flex;align-items:center;gap:7px;font-family:'DM Mono';font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:1.25px solid var(--ink);border-radius:999px;padding:7px 13px;box-shadow:2px 2px 0 var(--yellow-deep);}

  /* feature event detail */
  .bf-hero{position:relative;overflow:hidden;background:var(--ink);border:1.5px solid var(--ink);border-radius:20px;padding:22px 20px;box-shadow:6px 6px 0 var(--yellow-deep);margin-top:14px;}
  .bf-hero .be{font-family:'DM Mono';font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:8px;}
  .bf-hero .bt{font-family:'Fraunces',serif;font-weight:900;font-size:40px;line-height:.96;letter-spacing:-0.03em;text-transform:lowercase;color:var(--cream);margin-top:13px;font-variation-settings:"opsz" 144;}
  .bf-hero .bs{font-family:'Fraunces',serif;font-weight:500;font-size:15px;line-height:1.36;color:var(--yellow-pale);margin-top:11px;letter-spacing:-0.004em;}
  .bf-meta{display:flex;gap:7px;margin-top:15px;flex-wrap:wrap;}
  .bf-pill{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);background:rgba(253,248,228,.1);border:1.25px solid rgba(253,248,228,.32);border-radius:999px;padding:6px 11px;}
  .bf-lead{font-family:'Work Sans';font-size:14px;line-height:1.55;color:var(--ink-2);margin-top:16px;}
  .bf-lead b{color:var(--ink);font-weight:600;}
  .bf-step{display:flex;gap:13px;background:#fff;border:1.5px solid var(--ink);border-radius:15px;padding:14px;margin-top:11px;box-shadow:3px 3px 0 var(--ink);}
  .bf-step .bn{width:34px;height:34px;flex:0 0 auto;border-radius:10px;border:1.5px solid var(--ink);background:var(--yellow-pale);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:2px 2px 0 var(--ink);}
  .bf-step .bsn{font-family:'Fraunces',serif;font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-0.008em;line-height:1.15;}
  .bf-step .bsd{font-family:'Work Sans';font-size:12.5px;line-height:1.5;color:var(--ink-2);margin-top:5px;}
  .bf-pack{background:var(--sage);border:1.5px dashed var(--ink);border-radius:15px;padding:15px 16px;margin-top:18px;}
  .bf-pack .pl{font-family:'DM Mono';font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;}
  .bf-pack ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .bf-pack li{font-family:'Work Sans';font-size:13px;color:var(--ink);padding-left:22px;position:relative;line-height:1.4;}
  .bf-pack li::before{content:"○";position:absolute;left:2px;top:0;color:var(--ink);font-size:12px;}
  .bf-cta{display:flex;gap:10px;margin-top:20px;}
  .bf-cta .bc{flex:1;text-align:center;border:1.5px solid var(--ink);border-radius:999px;padding:14px;font-family:'Work Sans';font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:3px 3px 0 var(--ink);}
  .bf-cta .bc.rsvp{background:var(--ink);color:var(--yellow);}
  .bf-cta .bc.learn{background:#fff;color:var(--ink);}
  .bf-foot{font-family:'DM Mono';font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);opacity:.6;text-align:center;margin-top:13px;}

  /* Channels / rooms */
  .room-row,.room-card{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;display:flex;align-items:center;gap:12px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;}
  .room-emoji{width:38px;height:38px;border-radius:11px;border:1.25px solid var(--ink);background:var(--yellow-pale);display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;}
  .room-rb{flex:1;min-width:0;}
  .room-rn{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.15;}
  .room-rm{font-family:'Work Sans';font-size:11.5px;color:var(--ink-2);margin-top:2px;line-height:1.3;}
  .room-go{font-family:'Fraunces',serif;font-size:20px;color:var(--ink-2);flex:0 0 auto;}
  .room-browse{font-family:'DM Mono';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--cream-deep);border:1.5px dashed var(--ink);border-radius:14px;padding:13px;text-align:center;cursor:pointer;margin-top:4px;}
  .room-join{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:1.25px solid var(--ink);border-radius:999px;padding:8px 12px;flex:0 0 auto;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--ink);white-space:nowrap;}
  .room-join.on{background:var(--sage);}
  .room-join.locked{opacity:.6;cursor:default;box-shadow:none;}
  .room-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:14px;}
  .room-title-row .h1{margin-top:0;}
  .room-leave{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border:1.25px solid var(--ink-2);border-radius:999px;padding:6px 10px;flex:0 0 auto;cursor:pointer;margin-top:6px;}
  .room-desc{font-family:'Work Sans';font-size:12.5px;color:var(--ink-2);line-height:1.4;margin:2px 0 12px;}
  .room-empty{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);opacity:.7;padding:10px 0 2px;}

  /* Thread / comments */
  .comment{display:flex;gap:9px;margin-bottom:11px;}
  .cav{width:30px;height:30px;border-radius:999px;border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:12px;color:var(--ink);flex:0 0 auto;}
  .cav.a1{background:var(--sage);}.cav.a2{background:var(--yellow-pale);}.cav.a3{background:var(--cream-deep);}.cav.b{background:var(--yellow);}
  .cb{flex:1;min-width:0;background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:12px;padding:8px 11px;}
  .chead{display:flex;align-items:center;gap:7px;}
  .cwho{font-family:'Work Sans';font-size:12px;font-weight:600;color:var(--ink);}
  .coach{font-family:'DM Mono';font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);background:var(--ink);border-radius:3px;padding:1px 5px;}
  .ctime{font-family:'DM Mono';font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-left:auto;}
  .ctext{font-family:'Work Sans';font-size:12.5px;line-height:1.4;color:var(--ink-2);margin-top:4px;}
  .reply-bar{position:absolute;left:0;right:0;bottom:0;background:var(--cream);border-top:1.5px solid var(--ink);padding:12px 18px 26px;display:flex;gap:9px;align-items:center;z-index:40;}
  .reply-bar input{flex:1;font-family:'Work Sans';font-size:13.5px;color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:11px 15px;background:#fff;box-shadow:2px 2px 0 var(--ink);-webkit-appearance:none;}
  .reply-bar input:focus{outline:none;box-shadow:2px 2px 0 var(--yellow-deep);}
  .reply-bar input::placeholder{color:var(--ink-2);opacity:.5;}
  .reply-send{font-family:'DM Mono';font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);background:var(--ink);border-radius:999px;padding:11px 15px;cursor:pointer;flex:0 0 auto;}
  .phone.no-tabs .tabbar{display:none;}
  .phone.no-tabs .home-indicator{display:none;}

  /* Home shortcuts strip */
  .shortcuts{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px;}
  .shortcuts::-webkit-scrollbar{display:none;}
  .shortcut{flex:0 0 auto;width:90px;background:#fff;border:1.5px solid var(--ink);border-radius:13px;padding:11px 10px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;position:relative;}
  .shortcut .sic{width:30px;height:30px;border-radius:8px;background:var(--yellow-pale);border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:16px;}
  .shortcut .sn{font-family:'Work Sans';font-size:11px;font-weight:600;color:var(--ink);margin-top:8px;line-height:1.2;}
  .shortcuts-empty{font-family:'Work Sans';font-size:12.5px;color:var(--ink-2);opacity:.7;padding:2px 0 4px;}

  /* Mind practices + journal */
  .practice{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:12px 13px;margin-bottom:10px;display:flex;gap:12px;align-items:center;box-shadow:3px 3px 0 var(--ink);}
  .practice .pic{width:46px;height:46px;border-radius:11px;border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 auto;}
  .practice .pic.audio{background:linear-gradient(135deg,var(--sage),var(--sage-deep));}
  .practice .pic.inter{background:linear-gradient(135deg,var(--yellow-pale),var(--yellow));}
  .practice .pb{flex:1;min-width:0;}
  .practice .pn{font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.15;}
  .practice .pm{font-family:'Work Sans';font-size:11px;color:var(--ink-2);margin-top:3px;}
  .ptype{font-family:'DM Mono';font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--cream-deep);border:1px solid var(--ink);border-radius:3px;padding:1px 5px;margin-left:6px;}
  .ptype.sos{background:var(--yellow);}
  .pin-btn{width:32px;height:32px;border-radius:9px;border:1.25px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-2);flex:0 0 auto;cursor:pointer;}
  .pin-btn.on{background:var(--yellow);color:var(--ink);}
  .form-card{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;display:flex;gap:12px;align-items:center;box-shadow:3px 3px 0 var(--ink);}
  .form-card .fic{width:40px;height:40px;border-radius:10px;border:1.25px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto;}
  .form-card .fb{flex:1;cursor:pointer;}
  .form-card .fn{font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);}
  .form-card .fm{font-family:'Work Sans';font-size:11px;color:var(--ink-2);margin-top:2px;}

  /* Classroom courses */
  .course{background:#fff;border:1.5px solid var(--ink);border-radius:16px;margin-bottom:12px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;cursor:pointer;}
  .course-cover{height:84px;position:relative;}
  .course-cover.c1{background:linear-gradient(135deg,var(--sage),var(--sage-deep));}
  .course-cover.c2{background:linear-gradient(135deg,var(--yellow-pale),var(--yellow));}
  .course-cover.c3{background:linear-gradient(135deg,var(--cream-deep),var(--sage-deep));}
  .course-cover.c4{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));}
  .course-tagchip{position:absolute;top:10px;right:10px;font-family:'DM Mono';font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:#fff;border:1px solid var(--ink);border-radius:999px;padding:3px 8px;}
  .course-tagchip.flag{background:var(--ink);color:var(--yellow);}
  .course-body{padding:12px 14px;}
  .course-name{font-family:'Fraunces',serif;font-weight:800;font-size:18px;letter-spacing:-0.012em;text-transform:lowercase;color:var(--ink);line-height:1.05;}
  .course-meta{font-family:'Work Sans';font-size:11.5px;color:var(--ink-2);margin-top:4px;}
  .course-foot{margin-top:11px;display:flex;align-items:center;gap:9px;}
  .course-cta{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:7px 12px;flex:0 0 auto;}
  .course-cta.open{background:var(--ink);color:var(--yellow);}
  .course-cta.lock{background:var(--yellow);color:var(--ink);border:1px solid var(--ink);}
  .course-progress{flex:1;height:6px;border-radius:999px;background:var(--cream-deep);border:1px solid var(--ink);overflow:hidden;}
  .course-progress .pf{height:100%;background:var(--sage-deep);}
  /* grow — hybrid: continue hero + compact rows */
  .gx-div{font-family:'DM Mono';font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:18px 0 11px;display:flex;align-items:center;gap:9px;}
  .gx-div::after{content:"";flex:1;height:1.5px;background:var(--ink);opacity:.14;}
  .gx-div:first-child{margin-top:0;}
  .gx-c1{background:linear-gradient(135deg,var(--sage),var(--sage-deep));}
  .gx-c2{background:linear-gradient(135deg,var(--yellow-pale),var(--yellow));}
  .gx-c3{background:linear-gradient(135deg,var(--cream-deep),var(--sage-deep));}
  .gx-c4{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));}
  .gx-hero{background:#fff;border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:4px 4px 0 var(--ink);cursor:pointer;margin-bottom:10px;}
  .gx-hero-cover{height:72px;position:relative;display:flex;align-items:center;justify-content:center;font-size:30px;}
  .gx-hero-cover .course-tagchip{position:absolute;top:9px;left:9px;}
  .gx-hero-body{padding:12px 14px;}
  .gx-hero .gx-nm{font-size:20px;}
  .gx-foot{display:flex;align-items:center;gap:9px;margin-top:11px;}
  .gx-row{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--ink);border-radius:13px;padding:10px;margin-bottom:9px;box-shadow:2.5px 2.5px 0 var(--ink);cursor:pointer;}
  .gx-thumb{width:46px;height:46px;border-radius:10px;border:1.25px solid var(--ink);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:21px;}
  .gx-row .gx-b{flex:1;min-width:0;}
  .gx-nm{font-family:'Fraunces',serif;font-weight:800;font-size:15.5px;letter-spacing:-0.012em;text-transform:lowercase;line-height:1.08;color:var(--ink);}
  .gx-mt{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:3px;}
  .gx-end{flex:0 0 auto;font-family:'DM Mono';font-size:11px;color:var(--ink-2);}
  .gx-end.lock{font-size:9px;letter-spacing:.06em;text-transform:uppercase;background:var(--yellow);color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:6px 9px;}

  /* Course detail */
  .ch-hero{border-radius:18px;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);overflow:hidden;margin-top:14px;}
  .ch-cover{height:78px;}
  .ch-cover.c1{background:linear-gradient(135deg,var(--sage),var(--sage-deep));}
  .ch-cover.c2{background:linear-gradient(135deg,var(--yellow-pale),var(--yellow));}
  .ch-cover.c3{background:linear-gradient(135deg,var(--cream-deep),var(--sage-deep));}
  .ch-cover.c4{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));}
  .ch-cbody{background:#fff;padding:13px 15px;}
  .ch-name{font-family:'Fraunces',serif;font-weight:800;font-size:23px;text-transform:lowercase;letter-spacing:-0.02em;color:var(--ink);line-height:1.0;}
  .ch-prog-line{font-family:'DM Mono';font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:9px;}
  .ch-prog{margin-top:6px;height:7px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);overflow:hidden;}
  .ch-prog .pf{height:100%;background:var(--sage-deep);transition:width .3s;}
  .ch-label{font-family:'DM Mono';font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin:20px 0 10px;display:flex;align-items:center;gap:10px;}
  .ch-label::after{content:"";flex:1;height:1.5px;background:var(--ink);opacity:.16;}
  .chapter{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:11px 13px;margin-bottom:8px;display:flex;gap:12px;align-items:center;box-shadow:2px 2px 0 var(--ink);cursor:pointer;}
  .chapter .cnum{width:30px;height:30px;border-radius:8px;border:1.25px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-family:'DM Mono';font-size:11px;color:var(--ink);flex:0 0 auto;}
  .chapter.done .cnum{background:var(--sage);}
  .chapter.playing .cnum{background:var(--ink);color:var(--yellow);}
  .chapter .ccb{flex:1;min-width:0;}
  .chapter .ccn{font-family:'Fraunces',serif;font-weight:700;font-size:13.5px;color:var(--ink);line-height:1.18;}
  .chapter .ccm{font-family:'Work Sans';font-size:10.5px;color:var(--ink-2);margin-top:2px;}
  .chapter .cstate{font-family:'Work Sans';font-size:15px;color:var(--ink);}
  /* Chapter audio player nav */
  .cap-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;}
  .cap-navbtn{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:8px 13px;cursor:pointer;background:#fff;}
  .cap-navbtn.disabled{opacity:.3;pointer-events:none;}
  .cap-donebtn{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:8px 15px;cursor:pointer;background:var(--yellow);color:var(--ink);border:1px solid var(--ink);}
  .cap-donebtn.done{background:var(--sage);}
  /* Chapter notes → my work */
  .cap-notes{margin-top:18px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;box-shadow:3px 3px 0 var(--ink);}
  .cap-notes-lab{font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;}
  .cap-notes-ta{width:100%;box-sizing:border-box;min-height:70px;border:1.25px solid var(--ink);border-radius:10px;padding:10px;font-family:'Work Sans';font-size:13px;color:var(--ink);background:var(--cream);resize:vertical;}
  .cap-notes-save{margin-top:9px;display:inline-block;font-family:'DM Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--yellow);border-radius:999px;padding:8px 14px;cursor:pointer;}
  /* Key takeaways + pull quote tiles */
  .takeaways{background:var(--sage);border:1.5px solid var(--ink);border-radius:14px;padding:13px 15px;box-shadow:3px 3px 0 var(--ink);}
  .tk{display:flex;gap:9px;align-items:flex-start;font-family:'Work Sans';font-size:13px;color:var(--ink);line-height:1.34;padding:5px 0;}
  .tk:not(:last-child){border-bottom:1px solid rgba(31,31,31,.12);}
  .tk-dot{flex:0 0 auto;font-size:12px;}
  .pullquote{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:15px 16px;box-shadow:3px 3px 0 var(--ink);font-family:'Fraunces',serif;font-weight:600;font-size:16px;line-height:1.28;color:var(--ink);}
  .pullquote .pq-mark{font-size:22px;color:var(--yellow-deep);}
  .carenote{display:flex;gap:10px;align-items:flex-start;background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-top:14px;font-family:'Work Sans';font-size:12.5px;line-height:1.4;color:var(--ink);}
  .carenote .cn-ic{flex:0 0 auto;font-size:15px;}
  .ch-intro{background:var(--cream-deep);border:1.5px solid var(--ink);border-left:5px solid var(--sage-deep);border-radius:12px;padding:12px 15px;margin:16px 0 4px;font-family:'Work Sans',sans-serif;font-size:13px;line-height:1.55;color:var(--ink-2);box-shadow:3px 3px 0 var(--ink);}
  .collap{background:#fff;border:1.5px solid var(--ink);border-radius:12px;margin-bottom:9px;box-shadow:2.5px 2.5px 0 var(--ink);overflow:hidden;}
  .collap-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);}
  .collap-x{font-family:'DM Mono';font-size:17px;color:var(--ink-2);flex:0 0 auto;transition:transform .2s;}
  .collap.open .collap-x{transform:rotate(45deg);}
  .collap-b{display:none;padding:2px 14px 14px;font-family:'Work Sans',sans-serif;font-size:13px;line-height:1.55;color:var(--ink-2);}
  .collap.open .collap-b{display:block;}
  .collap-b p{margin-bottom:9px;}
  .collap-task{background:var(--cream-deep);border:1.5px solid var(--ink);border-left:5px solid var(--yellow-deep);border-radius:10px;padding:11px 13px;margin-top:11px;color:var(--ink);}
  .read-card{background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:12px;padding:11px 13px;margin-bottom:8px;display:flex;gap:11px;align-items:center;}
  .read-card .ric{font-size:17px;}
  .read-card .rn{font-family:'Fraunces',serif;font-weight:700;font-size:13.5px;color:var(--ink);}
  .read-card .rm{font-family:'Work Sans';font-size:10.5px;color:var(--ink-2);margin-top:2px;}
  .integration{background:var(--sage);border:1.5px dashed var(--ink);border-radius:14px;padding:14px;margin-top:6px;}
  .integration .it{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);}
  .integration .idd{font-family:'Work Sans';font-size:12.5px;color:var(--ink-2);margin-top:5px;line-height:1.4;}
  .integration .ib{margin-top:11px;display:inline-flex;background:var(--ink);color:var(--yellow);border-radius:999px;padding:10px 16px;font-family:'Work Sans';font-weight:600;font-size:13px;cursor:pointer;}
  .ref-practice{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:12px;padding:11px 13px;margin-bottom:8px;display:flex;gap:11px;align-items:center;cursor:pointer;box-shadow:2px 2px 0 var(--ink);}
  .ref-practice .rpi{font-size:17px;}
  .ref-practice .rpn{font-family:'Fraunces',serif;font-weight:700;font-size:13px;color:var(--ink);}
  .ref-practice .rpm{font-family:'DM Mono';font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:2px;}
  .ref-practice .chev{margin-left:auto;font-family:'Fraunces';font-weight:700;font-size:16px;color:var(--ink-2);}

  /* Paywall */
  .paywall{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:16px;padding:20px 18px;margin-top:16px;box-shadow:4px 4px 0 var(--ink);text-align:center;}
  .paywall .lockic{font-size:28px;}
  .paywall .pwt{font-family:'Fraunces',serif;font-weight:800;font-size:22px;text-transform:lowercase;letter-spacing:-0.018em;color:var(--ink);margin-top:8px;}
  .paywall .pwd{font-family:'Work Sans';font-size:13px;color:var(--ink-2);margin-top:9px;line-height:1.45;}
  .paywall .pwb{margin-top:15px;display:inline-flex;background:var(--ink);color:var(--yellow);border-radius:999px;padding:13px 24px;font-family:'Work Sans';font-weight:600;font-size:14px;cursor:pointer;box-shadow:3px 3px 0 var(--yellow-deep);}

  /* Habits */
  .hb-row{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:3px 3px 0 var(--ink);margin-bottom:10px;cursor:pointer;}
  .hb-check{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:16px;color:transparent;flex:0 0 auto;}
  .hb-row.done .hb-check{background:var(--ink);color:var(--yellow);}
  .hb-b{flex:1;min-width:0;}
  .hb-n{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.15;}
  .hb-m{font-family:'Work Sans';font-size:11px;color:var(--ink-2);margin-top:2px;}
  .hb-chev{font-family:'Fraunces';font-weight:700;font-size:18px;color:var(--ink-2);}
  .hb-x{flex:0 0 auto;width:28px;height:28px;margin-left:-4px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-family:'Work Sans',sans-serif;font-size:13px;line-height:1;color:var(--ink-2);opacity:.45;cursor:pointer;}
  .hb-x:active{opacity:1;background:var(--cream-deep);}
  .hb-create{background:#fff;border:1.5px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:15px;margin-top:14px;display:flex;flex-direction:column;gap:9px;}
  .hb-create-t{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.01em;}
  .hb-create-in{width:100%;border:1.25px solid var(--ink);border-radius:10px;padding:10px 12px;font-family:'Work Sans',sans-serif;font-size:13.5px;color:var(--ink);background:var(--cream);}
  .hb-create-in::placeholder{color:var(--ink-2);}
  .hb-create-row{display:flex;gap:9px;}
  .hb-create-row .hb-create-in{flex:1;min-width:0;}
  .hb-create-btn{align-self:flex-start;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--yellow);padding:11px 18px;border-radius:999px;cursor:pointer;margin-top:2px;}
  .hb-or{text-align:center;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:18px 0 4px;}
  .book-note{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:2px 0 12px;}
  /* Community meet-ups */
  .mu-intro{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:2px 0 10px;}
  .mu-empty{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);text-align:center;padding:20px;line-height:1.5;}
  .mu-card{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:13px 14px;margin-bottom:11px;cursor:pointer;}
  .mu-emoji{font-size:26px;flex:0 0 auto;}
  .mu-cb{flex:1;min-width:0;}
  .mu-title{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.01em;}
  .mu-meta{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:2px;}
  .mu-foot{display:flex;justify-content:space-between;gap:8px;margin-top:7px;align-items:center;}
  .mu-host{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);}
  .mu-going{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--yellow-pale);border:1px solid var(--ink);border-radius:999px;padding:2px 8px;white-space:nowrap;}
  .mu-types{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px;}
  .mu-hero{display:flex;align-items:center;gap:13px;margin-top:14px;}
  .mu-hero-emoji{font-size:40px;flex:0 0 auto;}
  .mu-hero-type{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);}
  .mu-hero-title{font-family:'Fraunces',serif;font-weight:800;font-size:23px;letter-spacing:-0.015em;color:var(--ink);line-height:1.12;margin-top:3px;}
  .mu-details{font-family:'Work Sans',sans-serif;font-size:13.5px;color:var(--ink);line-height:1.5;margin-top:14px;}
  .mu-going-row{display:flex;align-items:center;gap:12px;margin-top:18px;}
  .mu-avs{display:flex;}
  .mu-av{width:30px;height:30px;border-radius:999px;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:13px;margin-right:-8px;background:var(--cream-deep);}
  .mu-av.a1{background:var(--yellow-pale);}.mu-av.a2{background:var(--sage);}.mu-av.a3{background:var(--cream-deep);}.mu-av.a4{background:#E8D9F0;}
  .mu-going-n{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);}
  .mu-attend{margin-top:16px;text-align:center;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:14px;border-radius:999px;cursor:pointer;}
  .mu-attend.in{background:var(--sage);color:var(--ink);box-shadow:4px 4px 0 var(--sage-deep);}
  /* Audio practice player */
  .ap{background:#fff;border:1.5px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);padding:22px 20px;margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:14px;}
  .ap-emoji{font-size:46px;line-height:1;}
  .ap-play{width:64px;height:64px;border-radius:999px;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;flex:0 0 auto;}
  .ap-bar{width:100%;height:8px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);overflow:hidden;cursor:pointer;}
  .ap-fill{height:100%;width:0%;background:var(--sage-deep);transition:width .2s linear;}
  .ap-time{width:100%;display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-2);}
  .ap-ctx{background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:14px;padding:14px;margin-top:12px;}
  .ap-ctx-t{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;}
  .ap-ctx-b{font-family:'Work Sans',sans-serif;font-size:13.5px;color:var(--ink);line-height:1.5;}
  .ap-note{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);line-height:1.45;margin-top:12px;text-align:center;}
  .hb-add{background:transparent;border:1.5px dashed var(--ink);border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:10px;font-family:'Work Sans';font-size:13px;color:var(--ink-2);cursor:pointer;}
  .hb-add .plus{width:26px;height:26px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:700;font-size:15px;color:var(--ink);flex:0 0 auto;}
  .pick-habit{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;box-shadow:3px 3px 0 var(--ink);}
  .pick-habit-top{display:flex;align-items:center;gap:10px;}
  .pick-habit-n{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);flex:1;line-height:1.15;}
  .pick-habit-add{width:30px;height:30px;border-radius:9px;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:17px;flex:0 0 auto;cursor:pointer;line-height:0;}
  .pick-habit-add.added{background:var(--sage);color:var(--ink);}
  .pick-habit-why{font-family:'Work Sans';font-size:12px;line-height:1.45;color:var(--ink-2);margin-top:8px;}
  .hd-why{background:var(--sage);border:1.5px dashed var(--ink);border-radius:14px;padding:14px;margin-top:14px;}
  .hd-why .lbl{font-family:'DM Mono';font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;}
  .hd-why .txt{font-family:'Fraunces',serif;font-weight:500;font-size:14px;line-height:1.4;color:var(--ink);}
  .hd-floor{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-top:10px;box-shadow:3px 3px 0 var(--ink);}
  .hd-floor .lbl{font-family:'DM Mono';font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);}
  .hd-floor .val{font-family:'Fraunces',serif;font-weight:700;font-size:16px;color:var(--ink);margin-top:4px;letter-spacing:-0.008em;}
  .hd-floor .note{font-family:'Work Sans';font-size:11px;color:var(--ink-2);margin-top:5px;line-height:1.4;}
  .hd-stats{display:flex;gap:10px;margin-top:12px;}
  .hd-stat{flex:1;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px;text-align:center;box-shadow:2px 2px 0 var(--ink);}
  .hd-stat .num{font-family:'Fraunces',serif;font-weight:800;font-size:26px;color:var(--ink);line-height:1;}
  .hd-stat .lab{font-family:'DM Mono';font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:5px;}
  .hd-grid-label{font-family:'DM Mono';font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:18px 0 10px;}
  .hd-grid{display:grid;grid-template-columns:repeat(17,1fr);gap:3px;}
  .hd-cell{aspect-ratio:1;border-radius:2px;border:1px solid rgba(26,26,26,.35);background:var(--cream-deep);}
  .hd-cell.hit{background:var(--yellow-deep);border-color:var(--ink);}
  .hd-cell.today{outline:2px solid var(--ink);outline-offset:1px;}
  .hd-mark{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--yellow);border-radius:999px;padding:14px;font-family:'Work Sans';font-weight:600;font-size:14px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}
  .hd-mark.done{background:var(--sage);color:var(--ink);box-shadow:4px 4px 0 var(--sage-deep);}

  /* Brain dump */
  .bd-input{width:100%;font-family:'Work Sans';font-size:14px;color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;padding:13px 15px;background:#fff;box-shadow:2px 2px 0 var(--ink);-webkit-appearance:none;}
  .bd-input:focus{outline:none;box-shadow:2px 2px 0 var(--yellow-deep);}
  .bd-input::placeholder{color:var(--ink-2);opacity:.5;}
  .bd-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
  .bd-chip{display:inline-flex;align-items:center;gap:7px;background:var(--yellow-pale);border:1.25px solid var(--ink);padding:6px 6px 6px 12px;border-radius:999px;font-family:'Work Sans';font-size:12.5px;color:var(--ink);}
  .bd-chip .x{width:20px;height:20px;border-radius:999px;background:rgba(26,26,26,.1);border:none;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;color:var(--ink);line-height:0;}
  .bd-empty{font-family:'Work Sans';font-size:12px;color:var(--ink-2);opacity:.6;font-style:italic;padding:6px 2px;}
  .bd-srow{border:1.5px solid var(--ink);border-radius:12px;padding:11px 13px;margin-bottom:8px;background:#fff;box-shadow:2px 2px 0 var(--ink);}
  .bd-srow.released{background:var(--cream-deep);opacity:.6;}
  .bd-srow.released .bd-stext{text-decoration:line-through;color:var(--ink-2);}
  .bd-srow.action{background:var(--yellow-pale);}
  .bd-stop{display:flex;align-items:center;gap:10px;justify-content:space-between;}
  .bd-stext{font-family:'Work Sans';font-size:13.5px;font-weight:500;color:var(--ink);flex:1;line-height:1.3;}
  .bd-choices{display:flex;gap:6px;flex-shrink:0;}
  .bd-cbtn{font-family:'DM Mono';font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;border:1.25px solid var(--ink);background:#fff;border-radius:999px;padding:7px 9px;cursor:pointer;color:var(--ink);}
  .bd-cbtn.go{background:var(--ink);color:var(--yellow);}
  .bd-undo{background:none;border:none;color:var(--ink-2);font-family:'DM Mono';font-size:8px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:underline;}
  .bd-stepwrap{margin-top:10px;}
  .bd-steplabel{font-family:'DM Mono';font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;display:block;}
  .bd-stepin{width:100%;font-family:'Work Sans';font-size:13px;padding:10px 12px;border:1.5px solid var(--ink);border-radius:10px;background:#fff;outline:none;-webkit-appearance:none;}
  .bd-tally{display:flex;gap:16px;justify-content:center;margin-top:16px;padding-top:14px;border-top:1.5px solid rgba(26,26,26,.12);}
  .bd-tally-i{text-align:center;}
  .bd-tally-n{font-family:'Fraunces',serif;font-weight:800;font-size:22px;color:var(--ink);line-height:1;}
  .bd-tally-l{font-family:'DM Mono';font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:5px;}
  .bd-recap{background:var(--ink);color:var(--cream);border-radius:16px;padding:16px;margin-top:16px;}
  .bd-recap-eye{font-family:'DM Mono';font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
  .bd-recap-i{font-family:'Work Sans';font-size:13px;line-height:1.5;margin-bottom:8px;color:#ccc2bb;}
  .bd-recap-i b{color:#fff;font-weight:600;}
  .bd-section-label{font-family:'DM Mono';font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:20px 0 10px;display:flex;align-items:center;gap:10px;}
  .bd-section-label::after{content:"";flex:1;height:1.5px;background:var(--ink);opacity:.16;}

  /* Your Why */
  .yw-intro{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:15px;box-shadow:3px 3px 0 var(--ink);margin-top:14px;}
  .yw-intro .t{font-family:'Fraunces',serif;font-weight:600;font-size:15px;line-height:1.42;color:var(--ink);}
  .yw-q{margin-top:16px;}
  .yw-q .ql{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:8px;line-height:1.25;letter-spacing:-0.006em;}
  .yw-ta{width:100%;font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;background:#fff;box-shadow:2px 2px 0 var(--ink);min-height:68px;resize:vertical;outline:none;-webkit-appearance:none;line-height:1.45;}
  .yw-ta:focus{box-shadow:2px 2px 0 var(--yellow-deep);}
  .yw-ta::placeholder{color:var(--ink-2);opacity:.5;}
  .yw-save{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--yellow);border-radius:999px;padding:14px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}
  .yw-saved{background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:18px;box-shadow:4px 4px 0 var(--ink);margin-top:14px;}
  .yw-saved .eye2{font-family:'DM Mono';font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;}
  .yw-saved .qq{font-family:'DM Mono';font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:14px;}
  .yw-saved .aa{font-family:'Fraunces',serif;font-weight:600;font-size:16px;line-height:1.35;color:var(--ink);margin-top:5px;}
  .yw-pin{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--yellow);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:13px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:3px 3px 0 var(--ink);}
  .yw-pin.pinned{background:var(--sage);}
  .yw-edit{margin-top:10px;text-align:center;font-family:'DM Mono';font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;text-decoration:underline;}

  /* Booking / practitioners */
  .prac{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;display:flex;gap:12px;align-items:center;box-shadow:3px 3px 0 var(--ink);cursor:pointer;}
  .prac.hero{background:var(--yellow-pale);}
  .prac-av{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:19px;color:var(--ink);flex:0 0 auto;}
  .prac-av.a1{background:var(--yellow);}.prac-av.a2{background:var(--sage);}.prac-av.a3{background:var(--cream-deep);}.prac-av.a4{background:var(--sage-deep);}
  .prac-b{flex:1;min-width:0;}
  .prac-n{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.1;}
  .prac-role{font-family:'DM Mono';font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:3px;}
  .prac-line{font-family:'Work Sans';font-size:11.5px;color:var(--ink-2);margin-top:4px;line-height:1.35;}
  .prac-price{font-family:'DM Mono';font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#fff;border:1.25px solid var(--ink);border-radius:999px;padding:6px 10px;flex:0 0 auto;}
  .pd-hero{display:flex;gap:14px;align-items:center;margin-top:14px;}
  .pd-name{font-family:'Fraunces',serif;font-weight:800;font-size:24px;text-transform:lowercase;letter-spacing:-0.02em;color:var(--ink);line-height:1.0;}
  .pd-role{font-family:'DM Mono';font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:5px;}
  .pd-card{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:15px;box-shadow:3px 3px 0 var(--ink);margin-top:16px;}
  .pd-card .lbl{font-family:'DM Mono';font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);}
  .pd-card .desc{font-family:'Work Sans';font-size:13.5px;line-height:1.5;color:var(--ink-2);margin-top:8px;}
  .pd-incl{list-style:none;margin-top:12px;}
  .pd-incl li{font-family:'Work Sans';font-size:13px;color:var(--ink);padding:6px 0 6px 22px;position:relative;}
  .pd-incl li::before{content:"";position:absolute;left:2px;top:12px;width:7px;height:7px;border-radius:999px;background:var(--yellow-deep);border:1px solid var(--ink);}
  .pd-price-big{font-family:'Fraunces',serif;font-weight:800;font-size:20px;color:var(--ink);margin-top:14px;}
  .pd-book{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--yellow);border-radius:999px;padding:15px;font-family:'Work Sans';font-weight:600;font-size:15px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}

  /* Placeholder audio player */
  .audio-ph{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink);margin-top:14px;display:flex;align-items:center;gap:13px;}
  .audio-ph .play{width:42px;height:42px;border-radius:999px;background:var(--cream-deep);border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ink-2);flex:0 0 auto;}
  .audio-ph .mid{flex:1;min-width:0;}
  .audio-ph .wave{height:26px;display:flex;align-items:center;gap:2.5px;}
  .audio-ph .wave i{display:block;width:3px;background:var(--ink);opacity:.22;border-radius:2px;}
  .audio-ph .meta{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;}

  /* Breathing animation */
  .straw-wrap{display:flex;flex-direction:column;align-items:center;padding:8px 0 16px;}
  .breath-stage{position:relative;width:230px;height:230px;display:flex;align-items:center;justify-content:center;margin:14px 0 6px;}
  .breath-ring{position:absolute;width:230px;height:230px;border-radius:999px;border:1.5px dashed var(--ink);opacity:.22;}
  .breath-ring.r2{width:188px;height:188px;opacity:.14;}
  .breath-circle{width:150px;height:150px;border-radius:999px;background:radial-gradient(circle at 36% 30%, var(--sage), var(--sage-deep));border:1.75px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transform:scale(0.5);}
  .breath-label{font-family:'Fraunces',serif;font-weight:700;font-size:19px;color:var(--ink);letter-spacing:-0.01em;margin-top:8px;text-transform:lowercase;}
  .breath-count{font-family:'Fraunces',serif;font-weight:800;font-size:30px;color:var(--ink-2);line-height:1;margin-top:4px;min-height:30px;}
  .breath-btn{margin-top:16px;background:var(--ink);color:var(--yellow);border-radius:999px;padding:13px 32px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}

  /* Box breathing */
  .box-stage{position:relative;width:210px;height:210px;margin:18px 0 4px;}
  .box-frame{position:absolute;inset:0;border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);background:var(--cream-deep);}
  .box-edge{position:absolute;background:var(--yellow-deep);opacity:0;transition:opacity .3s;border-radius:3px;z-index:2;}
  .box-edge.top{top:-2px;left:-2px;right:-2px;height:5px;}
  .box-edge.bottom{bottom:-2px;left:-2px;right:-2px;height:5px;}
  .box-edge.left{top:-2px;left:-2px;bottom:-2px;width:5px;}
  .box-edge.right{top:-2px;right:-2px;bottom:-2px;width:5px;}
  .box-edge.on{opacity:1;}
  .box-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:1;}
  .box-center .lbl{font-family:'Fraunces',serif;font-weight:700;font-size:18px;color:var(--ink);text-transform:lowercase;letter-spacing:-0.01em;}
  .box-center .cnt{font-family:'Fraunces',serif;font-weight:800;font-size:34px;color:var(--ink-2);line-height:1;margin-top:4px;min-height:34px;}
  .box-dot{position:absolute;width:20px;height:20px;border-radius:999px;background:var(--ink);border:2px solid var(--yellow);left:0;top:100%;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:3;}

  /* Breathe — immersive soundscape practices (forest / ocean / fire) */
  #view-breathe{position:absolute;inset:0;z-index:55;padding:0;overflow:hidden;}
  .brv-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);}
  .brv-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.52),rgba(0,0,0,.12) 26%,rgba(0,0,0,.14) 58%,rgba(0,0,0,.62));}
  .brv-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;color:#fff;padding:max(env(safe-area-inset-top),20px) 24px max(env(safe-area-inset-bottom),28px);}
  .brv-top{width:100%;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;}
  .brv-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(0,0,0,.26);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;}
  .brv-back{font-family:'Fraunces',serif;font-weight:700;font-size:26px;line-height:0;color:#fff;}
  .brv-mute{font-size:17px;line-height:1;}
  .brv-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:0;}
  .brv-word{font-family:'Fraunces',serif;font-weight:500;font-size:22px;letter-spacing:.01em;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.55);text-transform:lowercase;flex:0 0 auto;}
  .brv-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:0 1 auto;min-height:0;}
  .brv-svg{height:min(50vh,400px);width:auto;max-width:88vw;overflow:visible;display:block;}
  .brv-track{fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:0.1 13;filter:drop-shadow(0 0 2.5px rgba(0,0,0,.5));}
  .brv-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 12%;}
  .brv-timer{font-family:'Fraunces',serif;font-weight:600;font-size:28px;color:#fff;line-height:1;text-shadow:0 1px 12px rgba(0,0,0,.5);font-variation-settings:"opsz" 144;letter-spacing:.01em;}
  .brv-copy{font-family:'Fraunces',serif;font-weight:400;font-size:17.5px;line-height:1.5;color:rgba(255,255,255,.95);margin-top:15px;text-shadow:0 1px 12px rgba(0,0,0,.55);}
  .brv-controls{width:100%;display:flex;justify-content:center;flex:0 0 auto;}
  .brv-btn{background:rgba(255,255,255,.96);color:var(--ink);border-radius:999px;padding:15px 46px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.3);}

  .toast{position:absolute;left:50%;bottom:108px;transform:translateX(-50%) translateY(12px);background:var(--ink);color:var(--cream);font-family:'Work Sans';font-size:13px;font-weight:600;padding:11px 18px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:all .25s ease;z-index:60;display:flex;align-items:center;gap:8px;white-space:nowrap;}
  .toast .pip{width:8px;height:8px;border-radius:999px;background:var(--yellow);}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* Tab bar */
  .tabbar{flex:0 0 auto;background:var(--ink);padding:10px 0 28px;display:flex;justify-content:space-around;align-items:flex-start;}
  .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 2px;cursor:pointer;position:relative;}
  .tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-family:'Fraunces';font-weight:600;font-size:15px;}
  .tab.active .tab-icon{color:var(--yellow);}
  .tab-label{font-family:'DM Mono';font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);}
  .tab.active .tab-label{color:var(--yellow);}
  .tab.active::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--yellow);border-radius:999px;}
  .home-indicator{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:999px;background:rgba(255,255,255,.85);}

  .wb-bar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:11px 22px;border-bottom:1.5px solid var(--ink);background:var(--cream);}
  .wb-title{font-family:'Fraunces',serif;font-weight:700;font-size:15px;letter-spacing:-0.01em;color:var(--ink);}
  .wb-frame{flex:1 1 auto;width:100%;border:0;background:#fff;display:block;}
  .view{display:none;flex:1 1 auto;flex-direction:column;overflow:hidden;min-height:0;}
  .view.active{display:flex;}

  .meta-dev{position:fixed;top:20px;left:24px;color:#999;font-family:'DM Mono';font-size:11px;letter-spacing:.16em;text-transform:uppercase;max-width:320px;line-height:1.6;}
  .meta-dev strong{color:#fff;}
  .legend{max-width:280px;color:#bbb;font-family:'Work Sans';font-size:13px;line-height:1.6;}
  .legend h3{color:#fff;font-family:'Fraunces';font-weight:700;font-size:19px;margin-bottom:10px;letter-spacing:-0.01em;}
  .legend b{color:var(--yellow);font-weight:600;}

  /* Move: request-a-programme intake flow */
  .mv-wrap{padding:4px 0 24px;}
  .mv-prog{height:6px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);overflow:hidden;margin:8px 0 16px;}
  .mv-prog .pf{height:100%;background:var(--yellow);border-right:1.25px solid var(--ink);transition:width .3s;}
  .mv-step-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;}
  .mv-q{font-family:'Fraunces',serif;font-weight:800;font-size:27px;line-height:1.04;letter-spacing:-0.02em;text-transform:lowercase;color:var(--ink);margin-bottom:6px;}
  .mv-sub{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);margin-bottom:16px;line-height:1.45;}
  .mv-opts{display:flex;flex-wrap:wrap;gap:9px;}
  .mv-opt{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);}
  .mv-opt.sel{background:var(--ink);color:var(--yellow);}
  .mv-opt.wide{width:100%;}
  .mv-loc{display:flex;gap:9px;}
  .mv-loc .mv-opt{flex:1;text-align:center;}
  .mv-ta{width:100%;min-height:90px;font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;background:#fff;box-shadow:2px 2px 0 var(--ink);-webkit-appearance:none;resize:vertical;outline:none;line-height:1.45;}
  .mv-ta:focus{box-shadow:2px 2px 0 var(--yellow-deep);}
  .mv-nav{display:flex;gap:10px;margin-top:22px;}
  .mv-back2{font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:13px 20px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);display:inline-block;}
  .mv-next{flex:1;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;color:var(--yellow);background:var(--ink);border-radius:999px;padding:13px;text-align:center;cursor:pointer;box-shadow:3px 3px 0 var(--yellow-deep);}
  .mv-hero{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:18px;padding:24px 18px;box-shadow:5px 5px 0 var(--ink);text-align:center;margin-top:10px;}
  .mv-hero .t{font-family:'Fraunces',serif;font-weight:800;font-size:30px;line-height:1.02;letter-spacing:-0.02em;text-transform:lowercase;color:var(--ink);}
  .mv-hero .d{font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink-2);margin-top:11px;line-height:1.5;}
  .mv-hero .b{margin-top:18px;display:inline-flex;background:var(--ink);color:var(--yellow);border-radius:999px;padding:14px 28px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;box-shadow:3px 3px 0 var(--yellow-deep);}
  .mv-sumrow{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1.25px solid rgba(26,26,26,.12);}
  .mv-sumrow .k{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);flex:0 0 34%;padding-top:2px;}
  .mv-sumrow .v{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink);text-align:right;flex:1;}
  .mv-pay{margin-top:18px;background:var(--ink);color:var(--cream);border-radius:16px;padding:18px;text-align:center;}
  .mv-pay .price{font-family:'Fraunces',serif;font-weight:800;font-size:32px;line-height:1;}
  .mv-pay .plabel{font-family:'Work Sans',sans-serif;font-size:13px;color:#ccc2bb;margin-top:3px;}
  .mv-pay .pb{margin-top:14px;background:var(--yellow);color:var(--ink);border-radius:999px;padding:14px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;}
  .mv-done{text-align:center;padding:26px 8px;}
  .mv-done .ic{font-size:46px;}
  .mv-done .t{font-family:'Fraunces',serif;font-weight:800;font-size:30px;text-transform:lowercase;letter-spacing:-0.02em;color:var(--ink);margin-top:10px;}
  .mv-done .d{font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink-2);margin-top:10px;line-height:1.5;}

  /* Move: delivered programme */
  .pg-hero{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:18px;padding:18px;box-shadow:5px 5px 0 var(--ink);margin-top:8px;}
  .pg-name{font-family:'Fraunces',serif;font-weight:800;font-size:24px;line-height:1.05;letter-spacing:-0.02em;text-transform:lowercase;color:var(--ink);}
  .pg-wk{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:9px;}
  .pg-bar{margin-top:6px;height:8px;border-radius:999px;background:#fff;border:1.25px solid var(--ink);overflow:hidden;}
  .pg-bar .pf{height:100%;background:var(--yellow-deep);border-right:1.25px solid var(--ink);}
  .pg-ring{display:flex;align-items:center;gap:13px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 15px;box-shadow:3px 3px 0 var(--ink);margin-top:14px;}
  .pg-ring .n{font-family:'Fraunces',serif;font-weight:800;font-size:26px;color:var(--ink);line-height:1;}
  .pg-ring .l{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);margin-top:2px;}
  .sess{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 14px;margin-bottom:10px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;display:flex;align-items:center;gap:12px;}
  .sess.done{background:var(--sage);}
  .sess .si{width:42px;height:42px;border-radius:11px;border:1.25px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto;}
  .sess.done .si{background:#fff;}
  .sess .sb{flex:1;min-width:0;}
  .sess .sn{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.1;}
  .sess .sm{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:3px;}
  .sess .schev{font-family:'Fraunces',serif;font-weight:700;font-size:18px;color:var(--ink-2);}
  .sess .sdone{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:#fff;border:1px solid var(--ink);border-radius:4px;padding:3px 6px;}
  .ex{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:11px 13px;margin-bottom:8px;display:flex;align-items:center;gap:12px;box-shadow:2px 2px 0 var(--ink);}
  .ex .exb{flex:1;}
  .ex .exn{font-family:'Fraunces',serif;font-weight:700;font-size:14px;color:var(--ink);}
  .ex .exs{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:2px;}
  .ex .exlast{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-top:3px;}
  .ex-check{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:800;font-size:15px;color:transparent;flex:0 0 auto;cursor:pointer;}
  .ex.done .ex-check{background:var(--ink);color:var(--yellow);}
  .ex.done .exn{text-decoration:line-through;opacity:.55;}
  .sess-cta{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--yellow);border-radius:999px;padding:15px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}
  .sess-cta.done{background:var(--sage);color:var(--ink);box-shadow:4px 4px 0 var(--sage-deep);}
  /* Rich exercise card */
  .exx{background:#fff;border:1.5px solid var(--ink);border-radius:14px;margin-bottom:10px;box-shadow:3px 3px 0 var(--ink);overflow:hidden;}
  .exx-head{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;}
  .exx-head .num{width:30px;height:30px;border-radius:8px;border:1.25px solid var(--ink);background:var(--cream-deep);display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink);flex:0 0 auto;}
  .exx.done .exx-head .num{background:var(--sage);}
  .exx-head .eb{flex:1;min-width:0;}
  .exx-head .en{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.12;}
  .exx-head .em{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:2px;}
  .exx-head .chev{font-family:'Fraunces',serif;font-weight:700;font-size:18px;color:var(--ink-2);transition:transform .2s;}
  .exx.open .exx-head .chev{transform:rotate(90deg);}
  .exx-body{display:none;padding:2px 14px 14px;}
  .exx.open .exx-body{display:block;}
  .exx-last{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:11px;}
  .setrow{display:flex;align-items:flex-end;gap:8px;margin-bottom:8px;}
  .setrow .slab{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);width:42px;flex:0 0 auto;padding-bottom:11px;}
  .setfield{flex:1;}
  .setfield .fl{font-family:'DM Mono',monospace;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px;text-align:center;}
  .setin{width:100%;font-family:'Work Sans',sans-serif;font-size:15px;text-align:center;color:var(--ink);border:1.5px solid var(--ink);border-radius:9px;padding:9px 6px;background:#fff;outline:none;-webkit-appearance:none;}
  .setin:focus{box-shadow:2px 2px 0 var(--yellow-deep);}
  .rest-btn{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--sage);border:1.25px solid var(--ink);border-radius:999px;padding:9px 14px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);}
  .rest-btn.running{background:var(--yellow);}
  .cue{background:var(--sage);border:1.25px dashed var(--ink);border-radius:11px;padding:10px 12px;margin-top:12px;font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);line-height:1.45;}
  .cue b{color:var(--ink);font-weight:600;}
  .demo-btn{margin-top:10px;display:flex;align-items:center;gap:10px;background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:11px;padding:10px 12px;cursor:pointer;}
  .demo-btn .pl{width:30px;height:30px;border-radius:8px;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 auto;}
  .demo-btn .dt{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink);font-weight:500;}
  .progr{background:var(--yellow-pale);border:1.25px solid var(--ink);border-radius:11px;padding:10px 12px;margin-top:10px;font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);line-height:1.45;}
  .progr b{color:var(--ink);font-weight:600;}
  .exx-done-btn{margin-top:13px;text-align:center;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--yellow);border-radius:999px;padding:11px;cursor:pointer;}
  .exx.done .exx-done-btn{background:var(--sage);color:var(--ink);}
  /* Daily journal: emotional temperature */
  .et-wrap{background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--ink);margin-top:14px;}
  .et-q{font-family:'Fraunces',serif;font-weight:700;font-size:16px;color:var(--ink);margin-bottom:13px;letter-spacing:-0.006em;}
  .et-row{display:flex;justify-content:space-between;gap:6px;}
  .et-opt{flex:1;text-align:center;cursor:pointer;border:1.5px solid transparent;border-radius:12px;padding:8px 2px;transition:all .15s;}
  .et-opt .em{font-size:30px;line-height:1;filter:grayscale(.45);opacity:.65;}
  .et-opt .lab{font-family:'DM Mono',monospace;font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;}
  .et-opt.sel{border-color:var(--ink);background:var(--yellow-pale);box-shadow:2px 2px 0 var(--ink);}
  .et-opt.sel .em{filter:none;opacity:1;transform:scale(1.08);}
  /* Weekly check-in */
  .wc-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:24px 0 6px;}
  .wc-promise-q{background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:14px;padding:15px;box-shadow:3px 3px 0 var(--ink);margin-top:4px;}
  .wc-promise-q .yw-ta{background:#fff;}
  .wc-scan{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:8px 0 16px;}
  .wc-scan-item{display:flex;flex-direction:column;align-items:center;gap:3px;width:52px;}
  .wc-scan-em{font-size:25px;line-height:1;}
  .wc-scan-lab{font-family:'DM Mono',monospace;font-size:7.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);text-align:center;}
  .wc-promise-saved{background:var(--ink);color:var(--cream);border-radius:14px;padding:15px 16px;margin-top:16px;}
  .wc-promise-lab{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-bottom:6px;}
  .wc-promise-txt{font-family:'Fraunces',serif;font-weight:600;font-size:17px;line-height:1.32;letter-spacing:-0.01em;}
  .promise-card{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:16px;padding:13px 16px;box-shadow:4px 4px 0 var(--ink);margin:2px 0 6px;cursor:pointer;}
  .promise-eye{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;}
  .promise-txt{font-family:'Fraunces',serif;font-weight:600;font-size:16px;line-height:1.34;color:var(--ink);letter-spacing:-0.01em;}
  .promise-card{position:relative;}
  .promise-x{position:absolute;top:7px;right:11px;font-size:12px;color:var(--ink);opacity:.5;cursor:pointer;line-height:1;}
  .promise-tap{cursor:pointer;}
  /* Check-in saved confirmation */
  .wc-done{text-align:center;padding-top:26px;}
  .wc-done-tick{font-size:46px;line-height:1;}
  .wc-done-h{font-family:'Fraunces',serif;font-weight:700;font-size:24px;letter-spacing:-0.015em;margin-top:8px;}
  .wc-done-sub{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);line-height:1.5;margin:9px auto 0;max-width:300px;}
  .wc-done .wc-promise-saved{text-align:left;margin-top:20px;}
  .wc-done .yw-pin{margin-top:14px;}
  .wc-done-actions{display:flex;flex-direction:column;gap:13px;align-items:center;margin-top:24px;}
  .wc-done-link{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;border-bottom:1.5px solid var(--ink);padding-bottom:2px;}
  .wc-done-done{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:11px 28px;border-radius:999px;cursor:pointer;}
  /* Settings */
  .set-list{margin-top:16px;display:flex;flex-direction:column;gap:11px;}
  .set-row{display:flex;align-items:center;gap:13px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:14px 15px;cursor:pointer;}
  .set-ic{font-size:22px;flex:0 0 auto;}
  .set-b{flex:1;}
  .set-n{font-family:'Fraunces',serif;font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-0.01em;}
  .set-m{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.35;}
  .set-row .chev{color:var(--ink-2);font-size:20px;}
  .set-signout{text-align:center;margin-top:22px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;}
  /* Subscription (mock) */
  .sub-card{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:18px;margin-top:16px;}
  .sub-plan{font-family:'Fraunces',serif;font-weight:800;font-size:20px;letter-spacing:-0.015em;color:var(--ink);}
  .sub-status{display:inline-block;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:4px 10px;border-radius:999px;margin-top:9px;}
  .sub-meta{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);margin-top:12px;}
  .sub-btns{display:flex;gap:10px;margin-top:16px;}
  .sub-btn{flex:1;text-align:center;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;border:1.5px solid var(--ink);border-radius:999px;padding:11px;cursor:pointer;background:#fff;color:var(--ink);}
  /* Documents / my work */
  .docs-empty{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);text-align:center;padding:40px 20px;line-height:1.5;}
  .doc-card{background:#fff;border:1.5px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:14px 15px;margin-bottom:11px;cursor:pointer;}
  .doc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .doc-type{font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);}
  .doc-date{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;}
  .doc-promise{font-family:'Fraunces',serif;font-style:normal;font-size:14px;color:var(--ink);line-height:1.35;margin-top:9px;}
  .doc-open{display:inline-block;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:10px;}
  .dj-help{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);margin:-2px 0 8px;line-height:1.42;}
  /* Community challenges */
  .chal-create{background:var(--cream-deep);border:1.5px dashed var(--ink);border-radius:14px;padding:13px 14px;text-align:center;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;color:var(--ink);cursor:pointer;margin:16px 0 6px;}
  .chal{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:3px 3px 0 var(--ink);}
  .chal.joined{background:var(--yellow-pale);}
  .chal-top{display:flex;align-items:center;gap:11px;}
  .chal-av{width:38px;height:38px;border-radius:999px;background:var(--sage);border:1.25px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:800;font-size:15px;color:var(--ink);flex:0 0 auto;}
  .chal-n{font-family:'Fraunces',serif;font-weight:700;font-size:15.5px;color:var(--ink);line-height:1.1;}
  .chal-m{font-family:'Work Sans',sans-serif;font-size:11px;color:var(--ink-2);margin-top:2px;}
  .chal-habits{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;}
  .chal-hb{font-family:'Work Sans',sans-serif;font-size:11px;color:var(--ink);background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:999px;padding:5px 10px;}
  .chal-join{margin-top:12px;text-align:center;background:var(--ink);color:var(--yellow);border-radius:999px;padding:11px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:13.5px;cursor:pointer;}
  .chal-join.on{background:var(--sage);color:var(--ink);}
  .chal-board{margin-top:13px;}
  .chal-board .bl{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;}
  .chal-mem{display:flex;align-items:center;gap:8px;margin-bottom:7px;}
  .chal-mem .ma{width:24px;height:24px;border-radius:999px;background:var(--sage);border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:800;font-size:10px;color:var(--ink);flex:0 0 auto;}
  .chal-mem .mn{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink);width:50px;flex:0 0 auto;}
  .chal-mem .md{display:flex;gap:3px;flex-wrap:wrap;}
  .chal-cell{width:14px;height:14px;border-radius:3px;border:1px solid rgba(26,26,26,.4);background:var(--cream-deep);}
  .chal-cell.hit{background:var(--yellow-deep);border-color:var(--ink);}
  .cc-field{margin-top:16px;}
  .cc-label{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:9px;}
  .cc-in{width:100%;font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;background:#fff;box-shadow:2px 2px 0 var(--ink);outline:none;-webkit-appearance:none;}
  .cc-in:focus{box-shadow:2px 2px 0 var(--yellow-deep);}
  .cc-create{margin-top:22px;text-align:center;background:var(--ink);color:var(--yellow);border-radius:999px;padding:15px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;box-shadow:4px 4px 0 var(--yellow-deep);}

  .ob{position:absolute;inset:0;z-index:120;background:var(--cream);display:none;flex-direction:column;
      padding-top:max(env(safe-area-inset-top),14px);padding-bottom:max(env(safe-area-inset-bottom),12px);}
  .ob-top{display:flex;align-items:center;gap:13px;padding:6px 22px 12px;flex:0 0 auto;}
  .ob-back{font-family:'Fraunces',serif;font-weight:600;font-size:28px;line-height:1;color:var(--ink);cursor:pointer;width:18px;flex:0 0 auto;opacity:.82;user-select:none;}
  .ob-back.hide{visibility:hidden;}
  .ob-bar{flex:1;height:6px;border-radius:999px;background:var(--cream-deep);border:1.25px solid var(--ink);overflow:hidden;}
  .ob-bar .fill{height:100%;width:0;background:var(--yellow);border-right:1.25px solid var(--ink);transition:width .4s cubic-bezier(.4,0,.2,1);}
  .ob-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 22px 22px;}
  .ob-step{display:none;flex-direction:column;min-height:100%;}
  .ob-step.active{display:flex;animation:obIn .42s ease;}
  @keyframes obIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  .ob-eye{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.7);border:1.25px solid rgba(26,26,26,.22);padding:5px 12px;border-radius:999px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-top:4px;}
  .ob-eye .d{width:7px;height:7px;border-radius:999px;background:var(--yellow-deep);}
  .ob-h{font-family:'Fraunces',serif;font-weight:800;font-size:37px;line-height:1.03;letter-spacing:-0.026em;text-transform:lowercase;color:var(--ink);margin-top:13px;font-variation-settings:"opsz" 144;}
  .ob-hl{position:relative;display:inline;padding:0 .06em;background:linear-gradient(180deg,transparent 14%,var(--yellow) 14%,var(--yellow) 90%,transparent 90%);}
  .ob-hl.sage{background:linear-gradient(180deg,transparent 14%,var(--sage) 14%,var(--sage) 90%,transparent 90%);}
  .ob-sub{font-family:'Work Sans',sans-serif;font-size:14.5px;line-height:1.5;color:var(--ink-2);margin-top:11px;max-width:335px;}
  .ob-sub strong{color:var(--ink);font-weight:600;}
  /* welcome hero (matches the site's "built for women who..." typewriter) */
  .ob-hero-h{font-family:'Fraunces',serif;font-weight:800;font-size:44px;line-height:1.0;letter-spacing:-0.03em;text-transform:lowercase;color:var(--ink);font-variation-settings:"opsz" 144;}
  .ob-type-line{display:block;margin-top:10px;min-height:1.0em;}
  .ob-type{font-family:'Caveat',cursive;font-weight:700;font-size:52px;line-height:1.0;color:var(--ink);background-image:linear-gradient(180deg,transparent 14%,var(--yellow) 14%,var(--yellow) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .06em;}
  .ob-type:empty{background-image:none;padding:0;}
  .ob-caret{display:inline-block;width:3px;height:.6em;background:var(--ink);margin-left:.03em;transform:translateY(.06em);animation:obBlink 1.05s steps(1) infinite;}
  @keyframes obBlink{50%{opacity:0;}}
  .ob-hero-tag{font-family:'Fraunces',serif;font-weight:500;font-size:18px;line-height:1.34;color:var(--ink-2);margin-top:24px;max-width:300px;letter-spacing:-0.01em;}
  section[data-step="welcome"].active > *{animation:obRise .55s ease both;}
  section[data-step="welcome"].active > .ob-hero-h{animation-delay:.08s;}
  section[data-step="welcome"].active > .ob-type-line{animation-delay:.14s;}
  section[data-step="welcome"].active > .ob-hero-tag{animation-delay:.22s;}
  section[data-step="welcome"].active > .ob-cta{animation-delay:.32s;}
  @keyframes obRise{from{opacity:0;transform:translateY(13px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){.ob-caret{animation:none;display:none;} section[data-step="welcome"].active > *{animation:none;}}
  .ob-spacer{flex:1;min-height:22px;}
  .ob-cta{margin-top:22px;background:var(--ink);color:var(--cream);font-family:'Fraunces',serif;font-weight:700;font-size:17px;letter-spacing:-0.008em;text-align:center;padding:16px;border-radius:14px;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--yellow-deep);cursor:pointer;user-select:none;transition:transform .12s,box-shadow .12s;}
  .ob-cta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--yellow-deep);}
  .ob-cta.disabled{opacity:.38;pointer-events:none;box-shadow:4px 4px 0 var(--ink);}
  .ob-skip{text-align:center;font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);opacity:.72;padding:13px 0 2px;cursor:pointer;}
  /* option cards */
  .ob-opts{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
  .ob-opt{background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:14px 15px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;display:flex;align-items:center;gap:13px;transition:transform .12s,box-shadow .12s,background .12s;}
  .ob-opt:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink);}
  .ob-opt.sel{background:var(--yellow-pale);box-shadow:3px 3px 0 var(--yellow-deep);}
  .ob-opt .em{font-size:21px;flex:0 0 auto;width:24px;text-align:center;}
  .ob-opt .ob-b{flex:1;min-width:0;}
  .ob-opt .ob-n{font-family:'Fraunces',serif;font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-0.006em;}
  .ob-opt .ob-m{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.35;}
  .ob-opt .tick{width:23px;height:23px;border-radius:999px;border:1.5px solid var(--ink);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:800;font-size:13px;color:transparent;background:#fff;}
  .ob-opt.sel .tick{background:var(--ink);color:var(--yellow);}
  .ob-opt.locked{background:var(--sage);box-shadow:3px 3px 0 var(--ink);cursor:default;}
  .ob-opt.locked .tick{background:var(--ink);color:var(--yellow);}
  /* inputs */
  .ob-field{margin-top:16px;}
  .ob-lab{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;display:block;}
  .ob-input{width:100%;font-family:'Work Sans',sans-serif;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:13px 15px;box-shadow:3px 3px 0 var(--ink);box-sizing:border-box;-webkit-appearance:none;}
  .ob-input::placeholder{color:var(--ink-2);opacity:.45;}
  .ob-input:focus{outline:none;box-shadow:3px 3px 0 var(--yellow-deep);}
  .ob-3{display:flex;gap:10px;}
  .ob-3 .ob-field{flex:1;margin-top:16px;}
  .ob-seg{display:flex;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:3px 3px 0 var(--ink);}
  .ob-seg div{flex:1;text-align:center;padding:12px;font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);cursor:pointer;background:#fff;transition:background .12s;}
  .ob-seg div.sel{background:var(--ink);color:var(--cream);}
  .ob-seg div+div{border-left:1.5px solid var(--ink);}
  .ob-counter{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:16px;}
  /* social */
  .ob-social{display:flex;flex-direction:column;gap:9px;margin-top:14px;}
  .ob-soc{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:13px;text-align:center;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:500;color:var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;}
  .ob-soc:active{transform:translate(1px,1px);}
  .ob-or{display:flex;align-items:center;gap:12px;margin:18px 0 4px;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);opacity:.6;}
  .ob-or::before,.ob-or::after{content:"";flex:1;height:1.25px;background:var(--ink);opacity:.18;}
  /* macro payoff */
  .ob-hero{background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:18px;padding:22px 18px;box-shadow:5px 5px 0 var(--ink);text-align:center;margin-top:20px;}
  .ob-hero .lab{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);}
  .ob-hero .big{font-family:'Fraunces',serif;font-weight:800;font-size:54px;line-height:1;color:var(--ink);margin:7px 0 4px;font-variation-settings:"opsz" 144;}
  .ob-hero .rng{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);}
  .ob-hero .rng strong{color:var(--ink);font-weight:600;}
  .ob-mgrid{display:flex;gap:9px;margin-top:11px;}
  .ob-mc{flex:1;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:13px 6px;text-align:center;box-shadow:3px 3px 0 var(--ink);}
  .ob-mc .l{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);}
  .ob-mc .v{font-family:'Fraunces',serif;font-weight:800;font-size:24px;color:var(--ink);margin:3px 0 1px;}
  .ob-mc .r{font-family:'Work Sans',sans-serif;font-size:10px;color:var(--ink-2);}
  /* guardrail teaching cards (education-backed-freedom in action) */
  .ob-guard{margin-top:11px;background:var(--sage);border:1.5px solid var(--ink);border-radius:14px;padding:13px 15px;}
  .ob-guard-t{font-family:'Fraunces',serif;font-weight:700;font-size:14.5px;color:var(--ink);letter-spacing:-0.006em;display:flex;gap:8px;align-items:flex-start;}
  .ob-guard-b{font-family:'Work Sans',sans-serif;font-size:12.5px;line-height:1.45;color:var(--ink-2);margin-top:5px;}
  /* goal-matched testimonial pop-in */
  .ob-testi{margin-top:16px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:18px;box-shadow:5px 5px 0 var(--yellow-deep);animation:obPop .5s cubic-bezier(.2,.9,.3,1.25) .35s both;}
  .ob-testi-q{font-family:'Fraunces',serif;font-weight:500;font-size:16px;line-height:1.4;color:var(--ink);letter-spacing:-0.008em;}
  .ob-testi-n{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:11px;}
  @keyframes obPop{from{opacity:0;transform:scale(.93) translateY(10px);}to{opacity:1;transform:none;}}
  /* paywall */
  .ob-price{display:flex;align-items:baseline;gap:8px;justify-content:center;margin-top:20px;}
  .ob-price .p{font-family:'Fraunces',serif;font-weight:800;font-size:50px;color:var(--ink);line-height:1;font-variation-settings:"opsz" 144;}
  .ob-price .per{font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink-2);}
  .ob-benefits{margin-top:20px;display:flex;flex-direction:column;gap:12px;}
  .ob-benefit{display:flex;gap:11px;align-items:flex-start;font-family:'Work Sans',sans-serif;font-size:14px;line-height:1.42;color:var(--ink);}
  .ob-benefit .bt{color:var(--ink);font-weight:800;flex:0 0 auto;font-family:'Fraunces',serif;}
  .ob-feats{margin-top:20px;display:flex;flex-direction:column;gap:9px;}
  .ob-feat{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:11px 14px;box-shadow:3px 3px 0 var(--ink);}
  .ob-feat .fe{font-size:18px;width:22px;text-align:center;flex:0 0 auto;}
  .ob-feat .ft{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.006em;}
  .ob-feat .fm{font-family:'Work Sans',sans-serif;font-weight:400;font-size:12px;color:var(--ink-2);letter-spacing:0;}
  .ob-fine{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);opacity:.78;text-align:center;margin-top:16px;line-height:1.45;}
  .ob-wait{margin-top:20px;display:flex;flex-direction:column;gap:11px;}
  .ob-wait-row{display:flex;gap:12px;align-items:flex-start;}
  .ob-wait-row .e{font-size:18px;flex:0 0 auto;width:22px;text-align:center;}
  .ob-wait-row .t{font-family:'Work Sans',sans-serif;font-size:13.5px;line-height:1.4;color:var(--ink);}
  .ob-wait-row .t b{font-family:'Fraunces',serif;font-weight:700;font-size:14px;}
  .ob-install-card{margin-top:20px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:4px 16px;box-shadow:4px 4px 0 var(--ink);}
  .ob-install-step{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(26,26,26,.1);font-family:'Work Sans',sans-serif;font-size:14px;line-height:1.4;color:var(--ink);}
  .ob-install-step:last-child{border-bottom:none;}
  .ob-install-step .n{flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:var(--ink);color:var(--yellow);font-family:'Fraunces',serif;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}
  .ob-install-step b{font-weight:600;}

          .ob-proof{margin-top:26px;}
          .ob-proof-eye{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:7px;}
          .ob-proof-eye .d{width:6px;height:6px;border-radius:50%;background:var(--yellow-deep);}
          .ob-proof-h{font-family:'Fraunces',serif;font-weight:700;font-size:22px;line-height:1.14;color:var(--ink);letter-spacing:-0.01em;margin:9px 0 13px;}
          .ob-pills{display:flex;flex-wrap:wrap;gap:8px;}
          .ob-pill{display:inline-flex;align-items:baseline;gap:6px;font-family:'Work Sans',sans-serif;font-size:13px;font-weight:600;color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:7px 13px;box-shadow:2px 2px 0 var(--ink);background:#fff;}
          .ob-pill b{font-family:'Fraunces',serif;font-weight:800;font-size:15.5px;color:var(--ink);}
          .ob-pill:nth-child(3n+1){background:var(--yellow-pale);}
          .ob-pill:nth-child(3n+2){background:var(--sage);}
          .ob-swipe{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-top:13px;padding-bottom:12px;scrollbar-width:none;}
          .ob-swipe::-webkit-scrollbar{display:none;}
          .ob-qc{scroll-snap-align:start;flex:0 0 80%;box-sizing:border-box;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:15px;box-shadow:4px 4px 0 var(--ink);}
          .ob-qc .badge{display:inline-block;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--yellow-deep);border:1.25px solid var(--ink);border-radius:999px;padding:3px 8px;margin-bottom:9px;}
          .ob-qc .qt{font-family:'Fraunces',serif;font-weight:500;font-size:14.5px;line-height:1.42;color:var(--ink);}
          .ob-qc .at{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:11px;}
          .ob-swipe-hint{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);opacity:.7;}

          .ob-pay{margin-top:20px;border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:5px 5px 0 var(--ink);}
          .ob-pay-tier{padding:14px 16px;background:#fff;}
          .ob-pay-tier+.ob-pay-tier{border-top:1.5px solid var(--ink);background:var(--yellow-pale);}
          .ob-pay-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
          .ob-pay-lab{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:600;}
          .ob-pay-pts{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-top:7px;}
          .ob-pay-amt{font-family:'Fraunces',serif;font-weight:800;font-size:30px;color:var(--ink);line-height:1;white-space:nowrap;font-variation-settings:"opsz" 144;}
          .ob-pay-amt span{font-family:'Work Sans',sans-serif;font-weight:600;font-size:13px;color:var(--ink-2);}
          .ob-why{background:var(--sage);border:1.5px solid var(--ink);border-radius:14px;padding:15px;box-shadow:3px 3px 0 var(--ink);margin-top:18px;}
          .ob-why-t{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:6px;}
          .ob-why-b{font-family:'Work Sans',sans-serif;font-size:13.5px;line-height:1.5;color:var(--ink);}
          .ob-list{margin-top:16px;border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:3px 3px 0 var(--ink);}
          .ob-list-h{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--yellow-pale);padding:11px 14px;border-bottom:1.5px solid var(--ink);}
          .ob-li{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;background:#fff;}
          .ob-li+.ob-li{border-top:1px solid var(--cream-deep);}
          .ob-li .e{font-size:16px;line-height:1.25;flex:0 0 auto;}
          .ob-li .t{font-family:'Work Sans',sans-serif;font-size:13.5px;color:var(--ink);line-height:1.35;}
          .ob-li .t b{font-weight:700;}
          .ob-li .t .lo{color:var(--ink-2);}
          .ob-mcard{margin-top:16px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;}
          .ob-mcard-h{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--yellow-pale);padding:11px 15px;border-bottom:1.5px solid var(--ink);}
          .ob-mcard-h span{color:var(--ink-2);}
          .ob-mrow{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;}
          .ob-mrow+.ob-mrow{border-top:1px solid var(--cream-deep);}
          .ob-mrow .e{font-size:19px;line-height:1.15;flex:0 0 auto;}
          .ob-mrow .mt{font-family:'Fraunces',serif;font-weight:700;font-size:15.5px;color:var(--ink);line-height:1.2;}
          .ob-mrow .ms{font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-top:3px;}
          .ob-mmore{padding:13px 15px;border-top:1.5px solid var(--ink);background:var(--cream);}
          .ob-mmore-h{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:9px;}
          .ob-mchips{display:flex;flex-wrap:wrap;gap:7px;}
          .ob-mchip{font-family:'Work Sans',sans-serif;font-size:12px;font-weight:600;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:6px 11px;box-shadow:2px 2px 0 var(--ink);}
          .ob-mtoggle{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-align:center;padding:12px;border-top:1.5px solid var(--ink);background:var(--yellow-pale);cursor:pointer;}
          .ob-guar{display:flex;gap:11px;align-items:flex-start;background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:14px 15px;box-shadow:3px 3px 0 var(--ink);margin-top:14px;}
          .ob-guar .ge{font-size:20px;line-height:1.1;}
          .ob-guar .gb{font-family:'Work Sans',sans-serif;font-size:13px;line-height:1.45;color:var(--ink);}
          .ob-ctasub{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink-2);text-align:center;margin-top:9px;}

          .obi-tabs{display:flex;gap:8px;margin:4px 0 14px;}
          .obi-tab{flex:1;text-align:center;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:10px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;}
          .obi-tab.sel{background:var(--yellow-pale);box-shadow:2px 2px 0 var(--yellow-deep);}
          .obi-card{background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:2px 15px;box-shadow:4px 4px 0 var(--ink);}
          .obi-step{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--cream-deep);cursor:pointer;-webkit-tap-highlight-color:transparent;}
          .obi-step:last-child{border-bottom:none;}
          .obi-ck{flex:0 0 auto;width:27px;height:27px;border-radius:50%;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--ink);background:#fff;margin-top:1px;}
          .obi-step.done .obi-ck{background:var(--yellow-deep);}
          .obi-step.done .obi-ck span{display:none;}
          .obi-step.done .obi-ck::after{content:"✓";font-size:14px;}
          .obi-tx{flex:1;font-family:'Work Sans',sans-serif;font-size:14.5px;line-height:1.45;color:var(--ink);}
          .obi-step.done .obi-tx{opacity:.5;}
          .obi-gl{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:21px;padding:0 5px;border:1.5px solid var(--ink);border-radius:6px;background:var(--sage);font-size:13px;line-height:1;vertical-align:middle;margin:0 1px;}
          .ob-shot{display:block;width:100%;border:1.5px solid var(--ink);border-radius:10px;margin-top:10px;box-shadow:2px 2px 0 var(--ink);}
          .ob-shot-ph{min-height:52px;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--cream);border-style:dashed;box-shadow:none;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.03em;color:var(--ink-2);text-align:center;padding:10px;}

  .wi-memo{margin-top:16px;background:var(--sage);border:1.5px dashed var(--ink);border-radius:16px;padding:16px 18px;}
  .wi-memo .wm-t{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:9px;}
  .wi-memo .wm-b{font-family:'Work Sans',sans-serif;font-size:13.5px;line-height:1.5;color:var(--ink);}
  .wi-memo .wm-b p{margin:0 0 9px;} .wi-memo .wm-b p:last-child{margin-bottom:0;}
  .wi-memo .wm-dismiss{margin-top:13px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--cream);display:inline-block;padding:8px 15px;border-radius:999px;cursor:pointer;}
  .wi-memo.mini{cursor:pointer;padding:13px 16px;} .wi-memo.mini .wm-t{margin-bottom:0;}
  .wi-log{margin-top:16px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--ink);}
  .wi-log .wl-lab{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);}
  .wi-log .wl-row{display:flex;gap:10px;align-items:center;margin-top:11px;}
  .wi-input{flex:1;min-width:0;font-family:'Fraunces',serif;font-weight:700;font-size:26px;color:var(--ink);background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:12px;padding:9px 14px;box-shadow:2px 2px 0 var(--ink);-webkit-appearance:none;box-sizing:border-box;}
  .wi-input:focus{outline:none;box-shadow:2px 2px 0 var(--yellow-deep);}
  .wi-unit{font-family:'Fraunces',serif;font-weight:700;font-size:19px;color:var(--ink-2);flex:0 0 auto;}
  .wi-save{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--yellow);padding:14px 15px;border-radius:12px;cursor:pointer;border:1.5px solid var(--ink);white-space:nowrap;flex:0 0 auto;}
  .wi-logged{margin-top:10px;font-family:'Work Sans',sans-serif;font-size:12.5px;color:var(--ink-2);}
  .wi-graph-wrap{margin-top:16px;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--ink);}
  .wi-graph-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .wi-graph-h .t{font-family:'Fraunces',serif;font-weight:700;font-size:15px;}
  .wi-graph-h .legend{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);display:flex;gap:10px;align-items:center;}
  .wi-graph-h .legend i{display:inline-block;width:14px;border-top:2px solid var(--ink);margin-right:4px;vertical-align:middle;}
  .wi-graph-h .legend i.dot{width:8px;height:8px;border-radius:999px;border:none;background:var(--yellow-deep);}
  .wi-stats{display:flex;gap:10px;margin-top:14px;}
  .wi-stat{flex:1;background:var(--cream-deep);border:1.5px solid var(--ink);border-radius:12px;padding:12px 8px;text-align:center;}
  .wi-stat .s-l{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);}
  .wi-stat .s-v{font-family:'Fraunces',serif;font-weight:800;font-size:22px;color:var(--ink);margin-top:3px;}
  .wi-stat .s-v.down{color:#3f7d4f;} .wi-stat .s-v.up{color:#b1543f;}
  .wi-empty{margin-top:16px;font-family:'Work Sans',sans-serif;font-size:13px;line-height:1.5;color:var(--ink-2);background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:12px;padding:18px;text-align:center;}
  .wi-week{margin-top:14px;background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--ink);}
  .wi-week .ww-l{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);}
  .wi-week .ww-row{display:flex;align-items:baseline;gap:12px;margin-top:6px;flex-wrap:wrap;}
  .wi-week .ww-v{font-family:'Fraunces',serif;font-weight:800;font-size:34px;line-height:1;color:var(--ink);}
  .wi-week .ww-delta{font-family:'Work Sans',sans-serif;font-size:13px;font-weight:600;}
  .wi-week .ww-delta.down{color:#3f7d4f;} .wi-week .ww-delta.up{color:#b1543f;} .wi-week .ww-delta.flat{color:var(--ink-2);}
  .wi-week .ww-note{font-family:'Work Sans',sans-serif;font-size:11.5px;line-height:1.4;color:var(--ink-2);margin-top:9px;}

    .yw-chips,.ns-chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 6px;}
    .yw-chip,.ns-chip{font-family:'Work Sans',sans-serif;font-size:12px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:6px 12px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;line-height:1.2;}
    .yw-chip.on{background:var(--sage);box-shadow:2px 2px 0 var(--ink);}
    .ns-chip.on{background:var(--yellow-pale);box-shadow:2px 2px 0 var(--yellow-deep);}
    .ns-hint{font-family:'Work Sans',sans-serif;font-size:12.5px;line-height:1.5;color:var(--ink-2);background:var(--sage);border:1.25px solid var(--ink);border-radius:11px;padding:10px 12px;margin:2px 0 8px;}
    .ns-statement{margin-top:6px;background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:14px;padding:16px;box-shadow:4px 4px 0 var(--ink);font-family:'Fraunces',serif;font-weight:700;font-size:17px;line-height:1.35;color:var(--ink);}
    .ns-lead{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--ink);margin:2px 0 6px;}

  .rr-intro{font-family:'Work Sans',sans-serif;font-size:14px;line-height:1.5;color:var(--ink-2);margin-top:8px;}
  .rr-field{margin-top:16px;}
  .rr-lab{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;display:block;}
  .rr-input,.rr-area{width:100%;font-family:'Work Sans',sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink);box-sizing:border-box;-webkit-appearance:none;}
  .rr-area{min-height:84px;resize:vertical;line-height:1.45;}
  .rr-input:focus,.rr-area:focus{outline:none;box-shadow:3px 3px 0 var(--yellow-deep);}
  .rr-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .rr-chip{font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:8px 14px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;}
  .rr-chip.sel{background:var(--yellow-pale);box-shadow:2px 2px 0 var(--yellow-deep);}
  .rr-send{margin-top:20px;background:var(--ink);color:var(--cream);font-family:'Fraunces',serif;font-weight:700;font-size:16px;text-align:center;padding:15px;border-radius:14px;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--yellow-deep);cursor:pointer;}
  .rr-send.disabled{opacity:.4;pointer-events:none;box-shadow:4px 4px 0 var(--ink);}
  .rr-mine{margin-top:8px;}
  .rr-row{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink);margin-top:10px;}
  .rr-row .rr-txt{flex:1;min-width:0;font-family:'Work Sans',sans-serif;font-size:13.5px;line-height:1.4;color:var(--ink);}
  .rr-row .rr-meta{font-family:'Work Sans',sans-serif;font-size:11.5px;color:var(--ink-2);margin-top:3px;}
  .rr-status{font-family:'DM Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;border:1.25px solid var(--ink);border-radius:999px;padding:4px 9px;flex:0 0 auto;white-space:nowrap;}
  .rr-status.requested{background:var(--cream-deep);}
  .rr-status.in_progress{background:var(--yellow);}
  .rr-status.published{background:var(--sage);}

    .hop-wrap{text-align:center;margin-top:18px;}
    .hop-stage{height:150px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}
    .hop-ball{width:54px;height:54px;border-radius:50%;background:var(--yellow);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);}
    .hop-shadow{width:54px;height:11px;border-radius:50%;background:rgba(26,26,26,.16);margin-top:8px;}
    .hop-stage.hopping .hop-ball{animation:hopBounce .5s ease-in-out infinite;}
    .hop-stage.hopping .hop-shadow{animation:hopShadow .5s ease-in-out infinite;}
    @keyframes hopBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-48px);}}
    @keyframes hopShadow{0%,100%{transform:scaleX(1);opacity:.16;}50%{transform:scaleX(.55);opacity:.07;}}
    @media (prefers-reduced-motion:reduce){.hop-stage.hopping .hop-ball,.hop-stage.hopping .hop-shadow{animation:none;}}

  .tool-cta{margin-top:22px;background:var(--ink);color:var(--cream);font-family:'Fraunces',serif;font-weight:700;font-size:16px;text-align:center;padding:15px;border-radius:14px;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--yellow-deep);cursor:pointer;}
  .tool-cta.ghost{background:#fff;color:var(--ink);box-shadow:4px 4px 0 var(--ink);}
  .tool-cta.disabled{opacity:.4;pointer-events:none;box-shadow:4px 4px 0 var(--ink);}
  .tool-intro{font-family:'Work Sans',sans-serif;font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-top:10px;}
  .tool-intro strong{color:var(--ink);font-weight:600;}
  .surf-stage{margin-top:22px;text-align:center;}
  .surf-count{font-family:'Fraunces',serif;font-weight:800;font-size:58px;line-height:1;color:var(--ink);font-variation-settings:"opsz" 144;}
  .surf-wavewrap{position:relative;height:110px;margin:16px 0;border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--cream-deep);}
  .surf-svg{position:absolute;bottom:0;left:0;width:200%;height:74%;}
  .surf-svg.back{height:60%;opacity:.55;}
  .wv1{fill:var(--yellow);animation:wvDrift 16s linear infinite;}
  .wv2{fill:var(--yellow-pale);animation:wvDrift 11s linear infinite;}
  @keyframes wvDrift{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.wv1,.wv2{animation:none;}}
  .surf-card{margin-top:6px;background:var(--sage);border:1.5px solid var(--ink);border-radius:14px;padding:15px 16px;min-height:54px;display:flex;align-items:center;justify-content:center;}
  .surf-card .sc-t{font-family:'Fraunces',serif;font-weight:600;font-size:15.5px;color:var(--ink);line-height:1.35;}
  .hc-q{margin-top:20px;}
  .hc-q .hq-l{font-family:'Fraunces',serif;font-weight:700;font-size:16px;color:var(--ink);margin-bottom:10px;}
  .hc-opts{display:flex;flex-direction:column;gap:8px;}
  .hc-opt{font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;}
  .hc-opt.sel{background:var(--yellow-pale);box-shadow:2px 2px 0 var(--yellow-deep);}
  .hc-verdict{margin-top:22px;background:var(--yellow-pale);border:1.5px solid var(--ink);border-radius:16px;padding:18px;box-shadow:4px 4px 0 var(--ink);}
  .hc-verdict .hv-t{font-family:'Fraunces',serif;font-weight:800;font-size:21px;color:var(--ink);letter-spacing:-0.01em;line-height:1.1;}
  .hc-verdict .hv-b{font-family:'Work Sans',sans-serif;font-size:13.5px;line-height:1.5;color:var(--ink-2);margin-top:9px;}
  .sigh-stage{margin-top:34px;text-align:center;}
  .sigh-orb{width:150px;height:150px;border-radius:999px;margin:0 auto;background:var(--yellow-pale);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);display:flex;align-items:center;justify-content:center;transition:transform 1.2s ease;}
  .sigh-orb .so-t{font-family:'Fraunces',serif;font-weight:700;font-size:17px;color:var(--ink);}
  .sigh-round{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:26px;}
  .gl-input{width:100%;font-family:'Work Sans',sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:13px 15px;box-shadow:3px 3px 0 var(--ink);box-sizing:border-box;-webkit-appearance:none;margin-top:16px;}
  .gl-input:focus{outline:none;box-shadow:3px 3px 0 var(--yellow-deep);}
  .gl-count{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:18px;}
  .gl-list{margin-top:10px;display:flex;flex-direction:column;gap:9px;}
  .gl-item{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;box-shadow:2px 2px 0 var(--ink);}
  .gl-item .gi-em{font-size:16px;flex:0 0 auto;}
  .gl-item .gi-t{flex:1;min-width:0;font-family:'Work Sans',sans-serif;font-size:14px;color:var(--ink);line-height:1.4;}
  .gl-item .gi-x{color:var(--ink-2);cursor:pointer;font-size:15px;flex:0 0 auto;}
  .gl-empty{margin-top:14px;font-family:'Work Sans',sans-serif;font-size:13px;color:var(--ink-2);background:var(--cream-deep);border:1.25px solid var(--ink);border-radius:12px;padding:16px;text-align:center;line-height:1.5;}
  .dp-area{width:100%;font-family:'Fraunces',serif;font-weight:500;font-size:18px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:14px;box-shadow:3px 3px 0 var(--ink);box-sizing:border-box;min-height:88px;resize:vertical;line-height:1.4;margin-top:16px;}
  .dp-area:focus{outline:none;box-shadow:3px 3px 0 var(--yellow-deep);}
  .dp-current{margin-top:16px;background:var(--sage);border:1.5px dashed var(--ink);border-radius:14px;padding:14px 16px;}
  .dp-current .dc-l{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;}
  .dp-current .dc-t{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--ink);line-height:1.35;}

