/* Generated from src/app.css by build/render.js — do not edit. */
:root{--bg: #f5f5f7;--bg-gradient: linear-gradient(160deg, #f5f5f7 0%, #e8ecf1 50%, #f0ece5 100%);--surface: rgba(255,255,255,0.72);--surface-solid: #ffffff;--surface-raised: #ffffff;--surface-hover: rgba(255,255,255,0.92);--card-bg: rgba(255,255,255,0.92);--field-bg: rgba(255,255,255,0.7);--border: rgba(0,0,0,0.06);--border-hover: rgba(0,0,0,0.1);--text: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #6e6e73;--accent: #0071e3;--accent-hover: #0077ED;--pill-calm: #12722f;--pill-energy: #8a5a00;--pill-focus: #005ecb;--pill-sleep: #8035c9;--pill-health: #c01a3a;--streak-ink: #8a5a00;--donate-a: #157f3a;--donate-b: #0f7030;--inhale: #3b72d9;--hold: #6457c9;--exhale: #257d73;--retain: #7f5bc4;--streak: #ff9f0a;--ease-inhale: cubic-bezier(0.33, 0, 0.2, 1);--ease-exhale: cubic-bezier(0.45, 0.05, 0.55, 0.95);--font-serif: ui-serif, 'New York', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;--fs-1: 11px;--fs-2: 13px;--fs-3: 15px;--fs-4: 17px;--fs-5: 20px;--fs-6: 26px;--fs-7: 34px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--radius-sm: 12px;--radius: 20px;--radius-pill: 980px;--radius-lg: var(--radius);--radius-xl: var(--radius);--blur: blur(24px) saturate(180%);--shadow-sm: 0 1px 3px rgba(0,0,0,0.04);--shadow-md: 0 4px 20px rgba(0,0,0,0.06);--shadow-lg: 0 12px 40px rgba(0,0,0,0.08);--shadow-xl: 0 20px 60px rgba(0,0,0,0.1);--spring: cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);--ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);}[data-theme="dark"]{--bg: #0b0b0e;--bg-gradient: linear-gradient(160deg, #0b0b0e 0%, #0e0e13 55%, #12100f 100%);--surface: rgba(26,26,31,0.82);--surface-solid: #1a1a1f;--surface-raised: #232329;--surface-hover: #232329;--card-bg: #1a1a1f;--field-bg: #111115;--border: rgba(255,255,255,0.10);--border-hover: rgba(255,255,255,0.16);--text: #f5f5f7;--text-secondary: #98989d;--text-tertiary: #8e8e93;--accent: #0a84ff;--accent-hover: #409cff;--pill-calm: #4cd97a;--pill-energy: #ffb437;--pill-focus: #6cb2ff;--pill-sleep: #cf9bf0;--pill-health: #ff7d97;--streak-ink: #ffc04d;--donate-a: #30d158;--donate-b: #28a745;--shadow-sm: 0 1px 3px rgba(0,0,0,0.3);--shadow-md: 0 4px 20px rgba(0,0,0,0.4);--shadow-lg: 0 12px 40px rgba(0,0,0,0.5);--shadow-xl: 0 20px 60px rgba(0,0,0,0.6);}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg: #0b0b0e;--bg-gradient: linear-gradient(160deg, #0b0b0e 0%, #0e0e13 55%, #12100f 100%);--surface: rgba(26,26,31,0.82);--surface-solid: #1a1a1f;--surface-raised: #232329;--surface-hover: #232329;--card-bg: #1a1a1f;--field-bg: #111115;--border: rgba(255,255,255,0.10);--border-hover: rgba(255,255,255,0.16);--text: #f5f5f7;--text-secondary: #98989d;--text-tertiary: #8e8e93;--accent: #0a84ff;--accent-hover: #409cff;--pill-calm: #4cd97a;--pill-energy: #ffb437;--pill-focus: #6cb2ff;--pill-sleep: #cf9bf0;--pill-health: #ff7d97;--streak-ink: #ffc04d;--donate-a: #30d158;--donate-b: #28a745;}}*{margin: 0;padding: 0;box-sizing: border-box;}body{font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', sans-serif;background: var(--bg-gradient);color: var(--text);min-height: 100vh;min-height: 100dvh;overflow-x: hidden;overscroll-behavior: none;-webkit-font-smoothing: antialiased;transition: background 0.5s ease, color 0.3s ease;}.bg-mesh{position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 0;pointer-events: none;overflow: hidden;}.bg-mesh .blob{position: absolute;border-radius: 50%;filter: blur(80px);opacity: 0.15;animation: float 20s ease-in-out infinite;will-change: transform;transform: translateZ(0);}[data-theme="dark"] .bg-mesh{display: none;}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .bg-mesh{display: none;}}.blob-1{width: 600px;height: 600px;background: #007aff;top: -10%;left: -10%;animation-delay: 0s;}.blob-2{width: 500px;height: 500px;background: #af52de;bottom: -10%;right: -10%;animation-delay: -7s;}.blob-3{width: 400px;height: 400px;background: #30d158;top: 50%;left: 50%;animation-delay: -14s;}@keyframes float{0%, 100%{transform: translate(0, 0) scale(1);}25%{transform: translate(60px, -40px) scale(1.1);}50%{transform: translate(-30px, 60px) scale(0.95);}75%{transform: translate(40px, 30px) scale(1.05);}}.relative{position: relative;z-index: 1;}.hidden{display: none !important;}.topbar{position: fixed;top: 0;left: 0;right: 0;z-index: 100;padding: 12px 20px;padding-top: calc(12px + env(safe-area-inset-top, 0px));display: flex;justify-content: space-between;align-items: center;background: var(--surface);-webkit-backdrop-filter: var(--blur);backdrop-filter: var(--blur);border-bottom: 1px solid var(--border);transition: background 0.3s, border-color 0.3s;}.topbar-brand{font-size: var(--fs-4);font-weight: 700;letter-spacing: -0.02em;white-space: nowrap;}.topbar-actions{display: flex;align-items: center;gap: var(--sp-1);}.topbar-journal{display: inline-flex;align-items: center;gap: 6px;min-height: 40px;padding: 0 12px 0 10px;border-radius: var(--radius-pill);border: none;background: transparent;color: var(--text-secondary);font: inherit;font-size: var(--fs-2);font-weight: 600;cursor: pointer;transition: background 0.2s, color 0.2s;}.topbar-journal:hover{background: rgba(128,128,128,0.1);color: var(--text);}.topbar-journal svg{width: 20px;height: 20px;}.topbar-journal.has-streak .topbar-journal-label{display: none;}.topbar-journal.has-streak{background: rgba(255,159,10,0.12);color: var(--streak-ink);}.icon-btn{width: 40px;height: 40px;border-radius: 50%;border: none;background: transparent;color: var(--text-secondary);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background 0.2s, color 0.2s, transform 0.15s;}.icon-btn:hover{background: rgba(128,128,128,0.1);color: var(--text);}.icon-btn:active{transform: scale(0.9);}.icon-btn svg{width: 20px;height: 20px;}.streak-badge{display: flex;align-items: center;font-size: var(--fs-2);font-weight: 700;color: var(--streak-ink);font-variant-numeric: tabular-nums;}#protocol-list-wrapper{padding-top: calc(70px + env(safe-area-inset-top, 0px));min-height: 100vh;min-height: 100dvh;}.hero{text-align: center;padding: var(--sp-8) var(--sp-6) var(--sp-5);max-width: 600px;margin: 0 auto;}.hero h1{font-family: var(--font-serif);font-size: 3.15rem;font-weight: 400;letter-spacing: -0.01em;line-height: 1.05;color: var(--text);}.hero p{color: var(--text-secondary);margin-top: var(--sp-2);font-size: var(--fs-5);font-weight: 400;letter-spacing: -0.01em;line-height: 1.4;}.send-calm-link{display: inline-flex;align-items: center;gap: 4px;margin-top: var(--sp-3);padding: 8px 10px;min-height: 40px;border: none;background: none;color: var(--accent);font: inherit;font-size: var(--fs-3);font-weight: 500;cursor: pointer;border-radius: var(--radius-pill);}.send-calm-link:hover{text-decoration: underline;}.begin-section{max-width: 600px;margin: 0 auto;padding: 0 var(--sp-6) var(--sp-3);}.begin-card{display: flex;align-items: center;gap: var(--sp-4);padding: var(--sp-4) var(--sp-5);background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-md);cursor: pointer;text-align: left;animation: cardIn 0.6s var(--ease-out) backwards;}.begin-card-icon{width: 44px;height: 44px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;font-size: var(--fs-5);flex-shrink: 0;}.begin-card-body{flex: 1;min-width: 0;}.begin-eyebrow{font-size: var(--fs-1);font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--text-tertiary);margin-bottom: 2px;}.begin-title{font-size: var(--fs-4);font-weight: 650;letter-spacing: -0.015em;line-height: 1.2;overflow-wrap: anywhere;}.begin-meta{font-size: var(--fs-2);color: var(--text-secondary);margin-top: 2px;}.begin-card .btn{flex-shrink: 0;padding: 10px 20px;min-height: 40px;}.filter-bar{display: flex;justify-content: flex-start;gap: var(--sp-2);padding: var(--sp-3) var(--sp-4) var(--sp-1);padding-right: 48px;flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;-webkit-overflow-scrolling: touch;scroll-padding: 0 var(--sp-4);-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);max-width: 700px;margin: 0 auto;}.filter-bar::-webkit-scrollbar{display: none;}@media (min-width: 600px){.filter-bar{justify-content: center;flex-wrap: wrap;padding-right: var(--sp-4);-webkit-mask-image: none;mask-image: none;}}.filter-pill{flex-shrink: 0;padding: 8px 16px;min-height: 36px;border-radius: var(--radius-pill);border: 1.5px solid var(--border-hover);background: transparent;color: var(--text-secondary);font-size: var(--fs-2);font-weight: 500;cursor: pointer;transition: all 0.25s var(--ease-out);letter-spacing: -0.005em;}.filter-pill:hover{border-color: var(--border-hover);color: var(--text);}.filter-pill.active{background: var(--text);color: var(--bg);border-color: var(--text);}#protocol-list{display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 16px;padding: 1.5rem;max-width: 1160px;margin: 0 auto;}.protocol-card{background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-4) var(--sp-5) var(--sp-3);cursor: pointer;transition: transform 0.4s var(--spring), box-shadow 0.4s var(--ease-out), border-color 0.3s;position: relative;overflow: hidden;}.protocol-card::after{content: '';position: absolute;inset: 0;border-radius: inherit;opacity: 0;transition: opacity 0.4s;pointer-events: none;}.protocol-card:hover{transform: translateY(-6px) scale(1.015);box-shadow: var(--shadow-xl);border-color: var(--border-hover);}.protocol-card:hover::after{opacity: 1;}.protocol-card:active{transform: translateY(-2px) scale(0.99);transition-duration: 0.1s;}.protocol-card[data-tag="focus"]::after{background: radial-gradient(ellipse at top left, rgba(0,122,255,0.06), transparent 60%);}.protocol-card[data-tag="sleep"]::after{background: radial-gradient(ellipse at top left, rgba(175,82,222,0.06), transparent 60%);}.protocol-card[data-tag="energy"]::after{background: radial-gradient(ellipse at top left, rgba(255,159,10,0.06), transparent 60%);}.protocol-card[data-tag="calm"]::after{background: radial-gradient(ellipse at top left, rgba(48,209,88,0.06), transparent 60%);}.protocol-card[data-tag="health"]::after{background: radial-gradient(ellipse at top left, rgba(255,45,85,0.06), transparent 60%);}.card-top{display: flex;align-items: center;gap: var(--sp-3);margin-bottom: var(--sp-2);}.card-icon{width: 40px;height: 40px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;font-size: var(--fs-5);flex-shrink: 0;}.card-title-wrap{flex: 1;min-width: 0;}.card-icon-focus{background: rgba(0,122,255,0.1);color: #007aff;}.card-icon-sleep{background: rgba(175,82,222,0.1);color: #af52de;}.card-icon-energy{background: rgba(255,159,10,0.1);color: #ff9f0a;}.card-icon-calm{background: rgba(48,209,88,0.1);color: #30d158;}.card-icon-health{background: rgba(255,45,85,0.1);color: #ff2d55;}.card-duration{font-size: var(--fs-2);font-weight: 600;color: var(--text-secondary);font-variant-numeric: tabular-nums;}.card-fav{width: 36px;height: 36px;flex-shrink: 0;border-radius: 50%;border: none;background: rgba(128,128,128,0.08);color: var(--text-tertiary);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: all 0.2s;position: relative;z-index: 2;}.card-fav:hover{background: rgba(255,45,85,0.1);color: #ff2d55;}.card-fav.is-fav{color: #ff2d55;}.card-fav svg{width: 16px;height: 16px;}.card-tag{display: inline-block;font-size: var(--fs-1);text-transform: uppercase;letter-spacing: 0.07em;padding: 3px 9px;border-radius: var(--radius-pill);font-weight: 600;}.tag-calm{background: rgba(48,209,88,0.1);color: var(--pill-calm);}.tag-energy{background: rgba(255,159,10,0.1);color: var(--pill-energy);}.tag-focus{background: rgba(0,122,255,0.1);color: var(--pill-focus);}.tag-sleep{background: rgba(175,82,222,0.1);color: var(--pill-sleep);}.tag-health{background: rgba(255,45,85,0.1);color: var(--pill-health);}.protocol-card h3{font-size: var(--fs-4);font-weight: 650;letter-spacing: -0.015em;line-height: 1.25;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.protocol-card .desc{font-size: var(--fs-2);color: var(--text-secondary);line-height: 1.45;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.card-footer{display: flex;align-items: center;gap: var(--sp-3);margin-top: var(--sp-3);padding-top: var(--sp-2);border-top: 1px solid var(--border);}.card-timing{flex: 1;min-width: 0;font-size: var(--fs-2);color: var(--text-tertiary);font-variant-numeric: tabular-nums;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.card-rounds{font-size: var(--fs-2);color: var(--text-tertiary);font-variant-numeric: tabular-nums;white-space: nowrap;}.card-start{border: none;background: rgba(128,128,128,0.08);color: var(--text-secondary);cursor: pointer;padding: 0;margin: -4px 0;display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;border-radius: 50%;flex-shrink: 0;transition: background 0.2s, color 0.2s;}.card-start:hover{background: rgba(0,113,227,0.12);color: var(--accent);}.card-arrow{transition: transform 0.3s var(--ease-out);}.protocol-card:hover .card-start{background: rgba(0,113,227,0.12);color: var(--accent);}.protocol-card:hover .card-start .card-arrow{transform: translateX(2px);}@keyframes cardIn{from{opacity: 0;transform: translateY(20px) scale(0.97);}to{opacity: 1;transform: translateY(0) scale(1);}}.protocol-card{animation: cardIn 0.6s var(--ease-out) backwards;}.protocol-card:nth-child(1){animation-delay: 0.03s;}.protocol-card:nth-child(2){animation-delay: 0.08s;}.protocol-card:nth-child(3){animation-delay: 0.13s;}.protocol-card:nth-child(4){animation-delay: 0.18s;}.protocol-card:nth-child(5){animation-delay: 0.23s;}.protocol-card:nth-child(6){animation-delay: 0.28s;}.protocol-card:nth-child(7){animation-delay: 0.33s;}.protocol-card:nth-child(8){animation-delay: 0.38s;}.protocol-card:nth-child(9){animation-delay: 0.43s;}.protocol-card:nth-child(10){animation-delay: 0.48s;}.protocol-card:nth-child(11){animation-delay: 0.53s;}.protocol-card:nth-child(12){animation-delay: 0.58s;}.protocol-card:nth-child(13){animation-delay: 0.63s;}.protocol-card:nth-child(14){animation-delay: 0.68s;}.protocol-card:nth-child(15){animation-delay: 0.73s;}.protocol-card:nth-child(16){animation-delay: 0.78s;}.protocol-card:nth-child(17){animation-delay: 0.83s;}.protocol-card:nth-child(18){animation-delay: 0.88s;}.protocol-card:nth-child(19){animation-delay: 0.93s;}.main-footer{text-align: center;padding: 1.5rem 1rem 3rem;color: var(--text-tertiary);font-size: var(--fs-2);}.footer-ethos{max-width: 34rem;margin: 0 auto 0.7rem;line-height: 1.5;}.footer-links{display: flex;gap: 1.25rem;justify-content: center;align-items: center;flex-wrap: wrap;margin: 0;}.footer-link{background: none;border: none;padding: 11px 8px;margin: -11px 0;font: inherit;line-height: 1.2;display: inline-flex;align-items: center;min-height: 44px;cursor: pointer;color: var(--accent);text-decoration: none;}.footer-link:hover{color: var(--accent-hover);text-decoration: underline;}.footer-link-danger{color: #e5484d;}.footer-link-danger:hover{color: #e5484d;}#session-view{display: none;flex-direction: column;align-items: center;justify-content: center;min-height: 100vh;min-height: 100dvh;padding: 5rem 1.5rem 3rem;padding-top: calc(5rem + env(safe-area-inset-top, 0px));text-align: center;position: relative;z-index: 1;}#session-view.active{display: flex;animation: fadeUp 0.5s var(--ease-out);}#session-view.breathing #session-title{font-size: 1.4rem;margin-bottom: 1rem;}#session-view.breathing #session-subtitle,#session-view.breathing .session-meta,#session-view.breathing #ready-cue,#session-view.breathing #gift-banner,#session-view.breathing .soundscape-picker,#session-view.breathing .volume-control,#session-view.breathing #instructions-panel{opacity: 0;max-height: 0;margin-top: 0;margin-bottom: 0;padding-top: 0;padding-bottom: 0;overflow: hidden;pointer-events: none;}@keyframes fadeUp{from{opacity: 0;transform: translateY(16px);}to{opacity: 1;transform: translateY(0);}}.session-back{position: fixed;top: calc(12px + env(safe-area-inset-top, 0px));left: 16px;z-index: 101;background: var(--surface);-webkit-backdrop-filter: var(--blur);backdrop-filter: var(--blur);border: 1px solid var(--border);color: var(--accent);padding: 8px 16px 8px 12px;border-radius: var(--radius-pill);cursor: pointer;font-size: var(--fs-2);font-weight: 500;display: flex;align-items: center;gap: 4px;transition: all 0.2s;}.session-back:hover{background: var(--surface-hover);}.session-back:active{transform: scale(0.96);}.session-back svg{width: 18px;height: 18px;}.session-sound{position: fixed;top: calc(12px + env(safe-area-inset-top, 0px));right: 16px;z-index: 101;display: flex;gap: 6px;align-items: center;}#session-title{font-family: var(--font-serif);font-size: var(--fs-7);font-weight: 400;letter-spacing: -0.01em;margin-bottom: 0.2rem;transition: font-size 0.8s var(--ease-out), margin 0.8s var(--ease-out);}#session-subtitle{color: var(--text-secondary);font-size: var(--fs-4);margin-bottom: 0.8rem;max-width: 420px;line-height: 1.45;transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out), padding 0.8s var(--ease-out);max-height: 200px;}.session-meta{display: flex;align-items: center;justify-content: center;gap: 10px;flex-wrap: wrap;margin-bottom: 1.6rem;font-size: var(--fs-2);color: var(--text-tertiary);overflow: hidden;transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out);max-height: 60px;}.session-tag{display: inline-block;font-size: var(--fs-1);text-transform: uppercase;letter-spacing: 0.07em;padding: 3px 9px;border-radius: var(--radius-pill);font-weight: 700;}.session-meta-line{font-variant-numeric: tabular-nums;}#ready-cue{color: var(--text-tertiary);font-size: var(--fs-3);line-height: 1.4;max-width: 300px;margin: 0 auto 1.4rem;overflow: hidden;transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out);max-height: 80px;}.instr-about{margin-bottom: 0.9rem;}@keyframes idleBreath{0%, 100%{transform: scale(0.955);}50%{transform: scale(1.055);}}#session-view.active:not(.breathing) .breath-orb{animation: idleBreath 8s var(--ease-smooth) infinite;}.orb-wrapper{position: relative;width: 300px;height: 300px;margin-bottom: 2rem;display: flex;align-items: center;justify-content: center;transition: width 1s var(--ease-out), height 1s var(--ease-out);}#session-view.breathing .orb-wrapper{--orb-size: min(300px, 74vw, 50vh);width: calc(var(--orb-size) + 16px);height: calc(var(--orb-size) + 16px);}@keyframes holdShimmer{0%, 100%{transform: scale(1);}50%{transform: scale(1.015);}}.orb-wrapper.holding{animation: holdShimmer 6s ease-in-out infinite;}.orb-glow{position: absolute;width: 200px;height: 200px;border-radius: 50%;filter: blur(70px);opacity: 0;transition: opacity 1s ease, background 1s ease, transform 1s ease;pointer-events: none;will-change: transform, opacity;transform: translateZ(0);}.orb-glow.active{opacity: 0.55;}[data-theme="dark"] .orb-glow.active{opacity: 0.32;}.orb-glow.phase-inhale{background: var(--inhale);transform: translateZ(0) scale(1.4);}.orb-glow.phase-hold{background: var(--hold);transform: translateZ(0) scale(1.2);}.orb-glow.phase-exhale{background: var(--exhale);transform: translateZ(0) scale(1);}.orb-glow.phase-retain{background: var(--retain);transform: translateZ(0) scale(1.1);}.breath-orb{position: relative;width: 220px;height: 220px;border-radius: 50%;background-color: #eef1f6;background-image: radial-gradient(circle at 50% 30%, rgba(255,255,255,0.9), rgba(255,255,255,0) 70%);box-shadow: inset 0 0 0 1px rgba(20,30,50,0.06), 0 10px 30px -18px rgba(30,40,60,0.25);display: flex;align-items: center;justify-content: center;flex-direction: column;z-index: 2;transition: transform 0.3s ease, box-shadow 0.7s ease, background-color 0.7s ease, width 1s var(--ease-out), height 1s var(--ease-out);will-change: transform;}.breath-orb::before{content: '';position: absolute;inset: 0;border-radius: 50%;background: radial-gradient(circle at 50% 22%, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);pointer-events: none;z-index: 1;}#session-view.breathing .breath-orb{width: var(--orb-size);height: var(--orb-size);}[data-theme="dark"] .breath-orb{background-color: #1e1f26;background-image: radial-gradient(circle at 50% 30%, rgba(255,255,255,0.08), rgba(255,255,255,0) 70%);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.07), 0 10px 30px -18px rgba(0,0,0,0.6);}[data-theme="dark"] .breath-orb::before{background: radial-gradient(circle at 50% 22%, rgba(255,255,255,0.10), rgba(255,255,255,0) 55%);}.breath-orb[class*="phase-"]{background-image: none;}.breath-orb.phase-inhale{background-color: var(--inhale);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), 0 18px 60px -10px rgba(59,114,217,0.45);}.breath-orb.phase-hold{background-color: var(--hold);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), 0 18px 60px -10px rgba(100,87,201,0.45);}.breath-orb.phase-exhale{background-color: var(--exhale);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), 0 18px 60px -10px rgba(37,125,115,0.45);}.breath-orb.phase-retain{background-color: var(--retain);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), 0 18px 60px -10px rgba(127,91,196,0.45);}.progress-ring-svg{position: absolute;inset: 0;width: 100%;height: 100%;z-index: 3;pointer-events: none;opacity: 0;transition: opacity 0.8s ease;}#session-view.breathing .progress-ring-svg{opacity: 1;}.progress-ring-svg circle{fill: none;stroke-linecap: round;transform: rotate(-90deg);transform-origin: center;}.ring-track{stroke: rgba(255,255,255,0.22);stroke-width: 3;}.ring-progress{stroke: rgba(255,255,255,0.95);stroke-width: 4;stroke-dasharray: 735;stroke-dashoffset: 735;}.orb-text{position: relative;z-index: 2;display: flex;flex-direction: column;align-items: center;will-change: transform;}#phase-label{font-size: 1rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.08em;color: var(--text-tertiary);transition: color 0.4s;}#phase-label.phase-inhale{color: var(--inhale);}#phase-label.phase-hold{color: var(--hold);}#phase-label.phase-exhale{color: var(--exhale);}#phase-label.phase-retain{color: var(--retain);}#phase-timer{font-size: 4rem;font-weight: 300;letter-spacing: -0.03em;font-variant-numeric: tabular-nums;line-height: 1;margin-top: 2px;color: var(--text);}#session-view.breathing #phase-label,#session-view.breathing #phase-timer{color: #fff;text-shadow: 0 1px 4px rgba(0,0,0,0.25);}#phase-hint{color: var(--text-tertiary);font-size: var(--fs-2);font-weight: 500;min-height: 1.2em;margin-bottom: 0.4rem;}.breath-orb.skippable{cursor: pointer;}#round-info{color: var(--text-tertiary);font-size: var(--fs-2);font-weight: 500;margin-bottom: 2rem;min-height: 1.2em;}.controls{display: flex;gap: 10px;}#session-view .controls{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;width: min(360px, 100%);}#session-view .controls .btn{min-height: 48px;white-space: nowrap;}#session-view .controls #btn-start,#session-view .controls #btn-pause,#session-view .controls #btn-stop{grid-column: 1 / -1;}.btn{padding: 12px 28px;border-radius: var(--radius-pill);border: none;font-size: var(--fs-3);font-weight: 600;cursor: pointer;transition: all 0.2s var(--ease-out);letter-spacing: -0.01em;}.btn:active{transform: scale(0.95);}.btn-primary{background: var(--accent);color: #fff;}.btn-primary:hover{background: var(--accent-hover);box-shadow: 0 4px 16px rgba(0,113,227,0.3);}.btn-ghost{background: rgba(128,128,128,0.08);color: var(--text-secondary);}.btn-ghost:hover{background: rgba(128,128,128,0.14);color: var(--text);}.btn-danger{background: #e5484d;color: #fff;}.btn-danger:hover{filter: brightness(0.94);}.btn-outline{background: transparent;color: var(--text);border: 1.5px solid var(--border-hover);}.btn-outline:hover{border-color: var(--text-secondary);}.btn-link{display: inline-flex;align-items: center;gap: 4px;min-height: 44px;padding: 10px 12px;border: none;background: none;color: var(--accent);font: inherit;font-size: var(--fs-3);font-weight: 500;cursor: pointer;text-decoration: none;border-radius: var(--radius-pill);}.btn-link:hover{text-decoration: underline;}.btn-link-muted{color: var(--text-secondary);}.btn-donate{background: transparent;color: var(--text);border: 1.5px solid var(--border-hover);display: inline-flex;align-items: center;justify-content: center;}.btn-donate:hover{border-color: var(--donate-a);color: var(--donate-a);}a.btn-donate{text-decoration: none;}.donate-nudge{margin-top: var(--sp-8);padding: var(--sp-4) var(--sp-5) var(--sp-2);text-align: center;max-width: 420px;animation: fadeUp 0.6s var(--ease-out) 0.4s backwards;}.donate-nudge p{color: var(--text-secondary);font-size: var(--fs-3);line-height: 1.5;margin-bottom: var(--sp-1);}.home-donate{text-align: center;padding: var(--sp-6) var(--sp-5) var(--sp-5);margin: var(--sp-4) var(--sp-4) 0;max-width: 420px;background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);}@media (min-width: 460px){.home-donate{margin-left: auto;margin-right: auto;}}.home-donate p{color: var(--text);font-size: var(--fs-3);font-weight: 500;line-height: 1.5;margin-bottom: var(--sp-4);letter-spacing: -0.01em;}#btn-info{transition: opacity 0.5s ease;}#instructions-panel{margin-top: 2rem;max-width: 450px;width: 100%;text-align: left;background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-5) var(--sp-6);font-size: var(--fs-3);color: var(--text-secondary);line-height: 1.6;display: none;}#instructions-panel.visible{display: block;animation: slideReveal 0.35s var(--ease-out);}#instructions-panel h4{color: var(--text);font-weight: 600;margin-bottom: 0.5rem;font-size: var(--fs-3);}#instructions-panel ol,#instructions-panel ul{padding-left: 1.25rem;}#instructions-panel li{margin-bottom: 0.3rem;}@keyframes slideReveal{from{opacity: 0;transform: translateY(10px);}to{opacity: 1;transform: translateY(0);}}#completion-screen{display: none;flex-direction: column;align-items: center;justify-content: center;min-height: 100vh;min-height: 100dvh;padding: 2rem;text-align: center;z-index: 1;position: relative;}#completion-screen.active{display: flex;animation: fadeUp 0.6s var(--ease-out);}.completion-check{width: 80px;height: 80px;border-radius: 50%;background: linear-gradient(135deg, #30d158, #34c759);display: flex;align-items: center;justify-content: center;margin-bottom: 1.5rem;box-shadow: 0 8px 30px rgba(48,209,88,0.25);animation: popIn 0.5s var(--spring) 0.2s backwards;}@keyframes popIn{from{opacity: 0;transform: scale(0.5);}to{opacity: 1;transform: scale(1);}}.completion-check svg{width: 36px;height: 36px;color: #fff;}.completion-title{font-family: var(--font-serif);font-size: var(--fs-7);font-weight: 400;letter-spacing: -0.01em;margin-bottom: 0.3rem;}.completion-subtitle{color: var(--text-secondary);font-size: var(--fs-4);margin-bottom: 2rem;}.stats-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 12px;max-width: 400px;width: 100%;margin-bottom: 2.5rem;}.stat-card{background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-4) var(--sp-2);animation: popIn 0.4s var(--spring) backwards;}.stat-card:nth-child(1){animation-delay: 0.3s;}.stat-card:nth-child(2){animation-delay: 0.4s;}.stat-card:nth-child(3){animation-delay: 0.5s;}.stat-value{font-size: var(--fs-6);font-weight: 700;letter-spacing: -0.02em;line-height: 1;margin-bottom: 0.25rem;}.stat-label{font-size: var(--fs-1);color: var(--text-tertiary);text-transform: uppercase;letter-spacing: 0.05em;font-weight: 500;}.completion-actions{display: flex;gap: var(--sp-2);width: min(360px, 100%);}.completion-actions .btn{flex: 1;min-height: 48px;}.completion-links{display: flex;gap: var(--sp-2);flex-wrap: wrap;justify-content: center;margin-top: var(--sp-2);}#journal-view{display: none;flex-direction: column;align-items: center;min-height: 100vh;min-height: 100dvh;padding: 5rem 1.5rem 3rem;padding-top: calc(5rem + env(safe-area-inset-top, 0px));position: relative;z-index: 1;}#journal-view.active{display: flex;animation: fadeUp 0.5s var(--ease-out);}.journal-header{text-align: center;margin-bottom: 1.5rem;max-width: 500px;}.journal-header h2{font-family: var(--font-serif);font-size: var(--fs-7);font-weight: 400;letter-spacing: -0.01em;margin-bottom: 0.2rem;}.journal-header p{color: var(--text-secondary);font-size: 1rem;}.journal-sync:not([hidden]){display: inline-flex;align-items: center;gap: 6px;margin-top: 0.5rem;font-size: var(--fs-2);font-weight: 600;color: var(--text-tertiary);}.journal-sync::before{content: '';width: 8px;height: 8px;border-radius: 50%;background: var(--text-tertiary);}.journal-sync.is-synced{color: var(--pill-calm);}.journal-sync.is-synced::before{background: var(--pill-calm);}.journal-sync.is-pending{color: var(--streak-ink);}.journal-sync.is-pending::before{background: var(--streak-ink);}.journal-summary{display: grid;grid-template-columns: repeat(3, 1fr);gap: 12px;max-width: 460px;width: 100%;margin-bottom: 2rem;}.journal-summary .stat-card{animation: none;}.journal-list{max-width: 520px;width: 100%;}.journal-day{margin-bottom: 1.5rem;}.journal-date{font-size: var(--fs-2);font-weight: 600;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-tertiary);margin-bottom: 0.5rem;padding-left: 2px;}.journal-entry{display: flex;align-items: center;gap: 12px;padding: 14px 16px;background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);margin-bottom: var(--sp-2);animation: cardIn 0.4s var(--ease-out) backwards;}.journal-entry-icon{width: 38px;height: 38px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;font-size: var(--fs-4);flex-shrink: 0;}.journal-entry-body{flex: 1;min-width: 0;}.journal-entry-name{font-size: var(--fs-3);font-weight: 600;letter-spacing: -0.01em;margin-bottom: 1px;}.journal-entry-meta{font-size: var(--fs-2);color: var(--text-tertiary);display: flex;gap: 8px;flex-wrap: wrap;}.journal-entry-time{font-size: var(--fs-2);color: var(--text-tertiary);flex-shrink: 0;font-variant-numeric: tabular-nums;}.journal-empty{text-align: center;padding: var(--sp-8) var(--sp-4);color: var(--text-secondary);font-size: var(--fs-3);line-height: 1.5;display: flex;flex-direction: column;align-items: center;gap: var(--sp-3);}.journal-empty-title{font-family: var(--font-serif);font-size: var(--fs-5);color: var(--text);}.journal-empty p{max-width: 26rem;}.journal-clear{margin-top: var(--sp-6);padding: 10px 20px;min-height: 40px;border-radius: var(--radius-pill);border: 1.5px solid var(--border);background: transparent;color: var(--text-tertiary);font-size: var(--fs-2);font-weight: 500;cursor: pointer;transition: all 0.2s;}.journal-clear:hover{border-color: #ff3b30;color: #ff3b30;}.journal-clear:active{transform: scale(0.96);}.journal-showolder{display: block;width: 100%;margin-top: var(--sp-2);padding: 10px 20px;border-radius: var(--radius-pill);border: 1.5px solid var(--border);background: var(--card-bg);color: var(--text-secondary);font-size: var(--fs-3);font-weight: 600;cursor: pointer;transition: all 0.2s;}.journal-showolder:hover{border-color: var(--accent);color: var(--accent);}.journal-showolder:active{transform: scale(0.98);}.soundscape-picker{display: none;gap: 6px;flex-wrap: wrap;justify-content: center;margin-bottom: 1.5rem;max-width: 420px;max-height: 200px;transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out), padding 0.8s var(--ease-out);}.soundscape-picker.open{display: flex;}.soundscape-btn{padding: 9px 14px;min-height: 36px;display: inline-flex;align-items: center;border-radius: var(--radius-pill);border: 1.5px solid var(--border-hover);background: transparent;color: var(--text-secondary);font-size: var(--fs-2);font-weight: 500;cursor: pointer;transition: all 0.25s var(--ease-out);letter-spacing: -0.005em;}.soundscape-btn:hover{border-color: var(--border-hover);color: var(--text-secondary);}.soundscape-btn.active{background: var(--text);color: var(--bg);border-color: var(--text);}.soundscape-label{font-size: var(--fs-1);color: var(--text-tertiary);text-transform: uppercase;letter-spacing: 0.06em;font-weight: 600;margin-bottom: 6px;width: 100%;text-align: center;}.volume-control{display: none;align-items: center;gap: 10px;max-width: 260px;margin: 0.4rem auto 1.5rem;padding: 0 8px;transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out), padding 0.8s var(--ease-out);}.volume-control.visible{display: flex;}.volume-control label{font-size: var(--fs-1);color: var(--text-tertiary);text-transform: uppercase;letter-spacing: 0.06em;font-weight: 600;white-space: nowrap;}.volume-slider{-webkit-appearance: none;appearance: none;width: 100%;height: 4px;border-radius: 2px;background: var(--border);outline: none;cursor: pointer;}.volume-slider::-webkit-slider-thumb{-webkit-appearance: none;appearance: none;width: 18px;height: 18px;border-radius: 50%;background: var(--text);border: none;cursor: pointer;transition: transform 0.15s ease;}.volume-slider::-webkit-slider-thumb:hover{transform: scale(1.2);}.volume-slider::-moz-range-thumb{width: 18px;height: 18px;border-radius: 50%;background: var(--text);border: none;cursor: pointer;}.progress-section{max-width: 600px;margin: 0 auto;padding: 0 1.5rem 0.5rem;}.progress-card{background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-3) var(--sp-5) var(--sp-3);animation: cardIn 0.6s var(--ease-out) backwards;animation-delay: 0.05s;}.progress-header{display: flex;justify-content: space-between;align-items: center;margin-bottom: var(--sp-2);}.progress-header h3{font-size: var(--fs-3);font-weight: 650;letter-spacing: -0.01em;}.progress-streak-pill{display: flex;align-items: center;gap: 4px;font-size: var(--fs-1);font-weight: 700;color: var(--streak-ink);padding: 3px 9px;background: rgba(255,159,10,0.12);border-radius: var(--radius-pill);text-transform: uppercase;letter-spacing: 0.05em;}.progress-streak-pill svg{display: none;}.weekly-chart{display: flex;align-items: flex-end;gap: 6px;height: 56px;margin-bottom: var(--sp-2);}.chart-day{flex: 1;display: flex;flex-direction: column;align-items: center;gap: 4px;height: 100%;justify-content: flex-end;}.chart-bar-wrap{width: 100%;flex: 1;display: flex;align-items: flex-end;justify-content: center;}.chart-bar{width: 100%;max-width: 32px;min-height: 3px;border-radius: 4px 4px 2px 2px;background: var(--accent);opacity: 0.8;transition: height 0.5s var(--spring);}.chart-bar.today{opacity: 1;}.chart-bar.empty{background: var(--border);opacity: 0.5;}.chart-label{font-size: var(--fs-1);color: var(--text-tertiary);font-weight: 500;text-transform: uppercase;letter-spacing: 0.03em;}.chart-label.today{color: var(--accent);font-weight: 700;}.progress-stats{display: flex;justify-content: space-between;gap: var(--sp-3);padding-top: var(--sp-2);border-top: 1px solid var(--border);}.progress-stat{display: flex;align-items: baseline;gap: 5px;}.progress-stat-value{font-size: var(--fs-4);font-weight: 700;letter-spacing: -0.02em;font-variant-numeric: tabular-nums;}.progress-stat-label{font-size: var(--fs-1);color: var(--text-tertiary);text-transform: uppercase;letter-spacing: 0.04em;font-weight: 600;}.milestone-toast{position: fixed;bottom: calc(24px + env(safe-area-inset-bottom, 0px));left: 50%;max-width: calc(100vw - 32px);transform: translateX(-50%) translateY(20px);background: var(--surface-solid);border: 1px solid var(--border);border-radius: var(--radius);padding: 14px 24px;display: flex;align-items: center;gap: 10px;box-shadow: var(--shadow-xl);z-index: 200;opacity: 0;transition: all 0.5s var(--spring);pointer-events: none;}.milestone-toast.show{opacity: 1;transform: translateX(-50%) translateY(0);pointer-events: auto;}.milestone-toast-icon{font-size: 1.8rem;}.milestone-toast-text{font-size: var(--fs-3);font-weight: 600;letter-spacing: -0.01em;}.milestone-toast-sub{font-size: var(--fs-2);color: var(--text-secondary);font-weight: 400;margin-top: 1px;}.notif-modal-overlay{position: fixed;inset: 0;background: rgba(0,0,0,0.4);z-index: 300;display: none;align-items: flex-end;justify-content: center;-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);}.notif-modal-overlay.active{display: flex;}@keyframes sheetUp{from{transform: translateY(24px);opacity: 0;}to{transform: translateY(0);opacity: 1;}}.signin-input{width: 100%;padding: 13px 14px;border-radius: var(--radius-sm);border: 1.5px solid var(--border-hover);background: var(--field-bg);color: var(--text);font-size: var(--fs-4);font-family: inherit;}.signin-input:focus{outline: none;border-color: var(--accent);}.signin-fineprint{font-size: var(--fs-1);color: var(--text-tertiary);margin-top: var(--sp-3);line-height: 1.45;}.signin-fineprint a{color: var(--accent);}.signin-error{color: #e5484d;font-size: var(--fs-2);margin-top: var(--sp-2);}#account-btn.signed-in .settings-row-icon{color: var(--accent);}.acct-prompt{background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-4);margin: 0 0 var(--sp-6);gap: var(--sp-3);max-width: 460px;width: 100%;}.acct-prompt:not([hidden]){display: flex;flex-direction: column;}.acct-prompt-text{font-size: var(--fs-3);line-height: 1.45;color: var(--text);}.acct-prompt-actions{display: flex;align-items: center;gap: 14px;}.acct-prompt-actions .btn{padding: 8px 16px;font-size: var(--fs-2);}.acct-prompt-dismiss{background: none;border: none;color: var(--text-tertiary);font: inherit;font-size: var(--fs-2);cursor: pointer;padding: 11px 10px;margin: -11px 0;min-height: 44px;display: inline-flex;align-items: center;}.acct-prompt-dismiss:hover{color: var(--text-secondary);}.acct-whisper{font-size: var(--fs-2);color: var(--text-tertiary);margin: 0.4rem auto 0.9rem;text-align: center;max-width: 30rem;}.acct-whisper-link,.acct-inline-link{background: none;border: none;color: var(--accent);font: inherit;cursor: pointer;padding: 0;}.acct-whisper-link:hover,.acct-inline-link:hover{text-decoration: underline;}.notif-modal{background: var(--surface);-webkit-backdrop-filter: var(--blur);backdrop-filter: var(--blur);border: 1px solid var(--border);border-bottom: none;border-radius: var(--radius) var(--radius) 0 0;padding: var(--sp-3) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom, 0px));width: 100%;max-width: 100%;max-height: calc(100dvh - 48px);overflow-y: auto;box-shadow: var(--shadow-xl);animation: sheetUp 0.35s var(--ease-out);}.notif-modal::before{content: '';display: block;width: 36px;height: 4px;border-radius: 2px;background: var(--text-tertiary);opacity: 0.35;margin: 0 auto var(--sp-4);}@media (min-width: 600px){.notif-modal-overlay{align-items: center;}.notif-modal{border-bottom: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-6) var(--sp-6) var(--sp-6);max-width: 400px;width: 90%;animation: popIn 0.4s var(--spring);}.notif-modal::before{display: none;}}.notif-modal h3{font-family: var(--font-serif);font-size: var(--fs-6);font-weight: 400;letter-spacing: -0.01em;line-height: 1.15;margin-bottom: var(--sp-1);}.notif-modal p{color: var(--text-secondary);font-size: var(--fs-3);line-height: 1.5;margin-bottom: var(--sp-4);}.notif-modal form .btn-primary{width: 100%;min-height: 48px;margin-top: var(--sp-3);}.notif-toggle-row{display: flex;align-items: center;justify-content: space-between;padding: 12px 0;border-top: 1px solid var(--border);}.notif-toggle-row label{font-size: var(--fs-3);font-weight: 500;}.toggle-switch{position: relative;width: 48px;height: 28px;cursor: pointer;}.toggle-switch input{opacity: 0;width: 0;height: 0;}.toggle-slider{position: absolute;inset: 0;background: var(--border);border-radius: var(--radius-pill);transition: background 0.3s;}.toggle-slider::before{content: '';position: absolute;width: 22px;height: 22px;left: 3px;bottom: 3px;background: white;border-radius: 50%;transition: transform 0.3s var(--spring);box-shadow: 0 1px 3px rgba(0,0,0,0.2);}.toggle-switch input:checked + .toggle-slider{background: var(--accent);}.toggle-switch input:checked + .toggle-slider::before{transform: translateX(20px);}.toggle-switch input:focus-visible + .toggle-slider{outline: 2px solid var(--accent);outline-offset: 2px;}.notif-time-row{display: flex;align-items: center;justify-content: space-between;padding: 12px 0;border-top: 1px solid var(--border);}.notif-time-row label{font-size: var(--fs-3);font-weight: 500;}.notif-time-input{padding: 8px 12px;min-height: 40px;border-radius: var(--radius-sm);border: 1.5px solid var(--border-hover);background: var(--field-bg);color: var(--text);font-size: var(--fs-3);font-family: inherit;}.notif-modal-actions{display: flex;justify-content: flex-end;gap: var(--sp-2);margin-top: var(--sp-4);}.notif-modal-actions .btn{flex: 1;min-height: 48px;}.notif-modal-actions.is-single{justify-content: center;}.notif-modal-actions.is-single .btn{flex: 0 1 auto;min-height: 44px;}.notif-modal-actions .btn-link{flex: 0 1 auto;}.settings-list{display: flex;flex-direction: column;}.settings-row{display: flex;align-items: center;gap: var(--sp-3);width: 100%;min-height: 56px;padding: var(--sp-2) 0;border: none;border-top: 1px solid var(--border);background: none;color: var(--text);font: inherit;font-size: var(--fs-3);font-weight: 500;text-align: left;cursor: pointer;}.settings-row:first-child{border-top: none;}.settings-row-icon{width: 36px;height: 36px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;background: rgba(128,128,128,0.1);color: var(--text-secondary);flex-shrink: 0;}.settings-row-icon svg{width: 18px;height: 18px;}.settings-row-body{flex: 1;min-width: 0;}.settings-row-sub{display: block;font-size: var(--fs-2);color: var(--text-secondary);font-weight: 400;margin-top: 1px;}.settings-row .icon-btn{background: rgba(128,128,128,0.1);color: var(--text-secondary);}.settings-row .icon-btn.as-switch{width: 48px;height: 28px;min-height: 28px;border-radius: var(--radius-pill);background: rgba(128,128,128,0.28);position: relative;transition: background 0.3s;}.settings-row .icon-btn.as-switch svg{display: none;}.settings-row .icon-btn.as-switch::before{content: '';position: absolute;width: 22px;height: 22px;left: 3px;top: 3px;background: #fff;border-radius: 50%;box-shadow: 0 1px 3px rgba(0,0,0,0.25);transition: transform 0.3s var(--spring);}.settings-row .icon-btn.as-switch[aria-pressed="true"]{background: var(--accent);}.settings-row .icon-btn.as-switch[aria-pressed="true"]::before{transform: translateX(20px);}.settings-row .icon-btn.as-switch:active{transform: none;}.settings-row .settings-chevron{color: var(--text-tertiary);width: 18px;height: 18px;flex-shrink: 0;}.settings-row .settings-value{font-size: var(--fs-2);color: var(--text-secondary);font-weight: 500;}.settings-support{display: flex;align-items: center;justify-content: center;gap: 6px;margin-top: var(--sp-3);min-height: 44px;color: var(--text-secondary);font-size: var(--fs-2);font-weight: 500;text-decoration: none;}.settings-support svg{width: 14px;height: 14px;color: var(--donate-a);}.settings-support:hover{color: var(--text);}.notif-status{font-size: var(--fs-2);color: var(--text-secondary);line-height: 1.4;margin-top: 0.9rem;padding-top: 0.9rem;border-top: 1px solid var(--border);}.notif-status.is-warn{color: var(--streak-ink);}.share-card-wrapper{display: none;flex-direction: column;align-items: center;gap: 16px;margin-top: 1.5rem;animation: fadeUp 0.6s var(--ease-out) 0.3s backwards;}.share-card-wrapper.visible{display: flex;}.share-card{width: 360px;max-width: 90vw;border-radius: var(--radius);overflow: hidden;position: relative;aspect-ratio: 4/5;display: flex;flex-direction: column;justify-content: space-between;padding: 2.5rem 2rem;color: #fff;text-shadow: 0 1px 3px rgba(0,0,0,0.2);}.share-card > *{position: relative;z-index: 1;}.share-card-top{display: flex;flex-direction: column;gap: 6px;}.share-card-date{font-size: var(--fs-1);font-weight: 500;opacity: 0.7;text-transform: uppercase;letter-spacing: 0.08em;}.share-card-emoji{font-size: 3rem;text-shadow: none;margin: 0.5rem 0;}.share-card-technique{font-size: var(--fs-6);font-weight: 700;letter-spacing: -0.03em;line-height: 1.15;}.share-card-desc{font-size: var(--fs-2);opacity: 0.8;line-height: 1.4;margin-top: 4px;}.share-card-stats{display: grid;grid-template-columns: repeat(3, 1fr);gap: 8px;margin: 1.5rem 0;}.share-stat{text-align: center;background: rgba(255,255,255,0.15);-webkit-backdrop-filter: blur(10px);backdrop-filter: blur(10px);border-radius: var(--radius-sm);padding: 12px 6px;border: 1px solid rgba(255,255,255,0.15);}.share-stat-value{font-size: 1.5rem;font-weight: 700;letter-spacing: -0.02em;line-height: 1;}.share-stat-label{font-size: var(--fs-1);text-transform: uppercase;letter-spacing: 0.06em;opacity: 0.75;margin-top: 4px;font-weight: 500;}.share-card-bottom{display: flex;justify-content: space-between;align-items: flex-end;}.share-card-brand{font-size: var(--fs-4);font-weight: 700;letter-spacing: -0.02em;opacity: 0.9;}.share-card-tagline{font-size: var(--fs-1);opacity: 0.55;font-weight: 400;margin-top: 2px;}.share-card-streak{display: flex;align-items: center;gap: 4px;font-size: var(--fs-2);font-weight: 600;background: rgba(255,255,255,0.2);padding: 5px 12px;border-radius: var(--radius-pill);border: 1px solid rgba(255,255,255,0.15);}.share-card-streak svg{width: 14px;height: 14px;}.share-actions{display: flex;gap: 8px;}.btn-share{padding: 10px 20px;min-height: 40px;border-radius: var(--radius-pill);border: none;font-size: var(--fs-2);font-weight: 600;cursor: pointer;transition: all 0.2s var(--ease-out);display: flex;align-items: center;gap: 6px;}.btn-share:active{transform: scale(0.95);}.btn-share-primary{background: transparent;color: var(--text);border: 1.5px solid var(--border-hover);}.btn-share-primary:hover{border-color: var(--text-secondary);}.btn-share-ghost{background: rgba(128,128,128,0.08);color: var(--text-secondary);}.btn-share-ghost:hover{background: rgba(128,128,128,0.14);color: var(--text);}.gift-banner{display: none;align-items: center;gap: 12px;max-width: 420px;width: 100%;margin: 1rem auto 1.6rem;padding: 14px 18px;text-align: left;background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);animation: fadeUp 0.5s var(--ease-out);transition: opacity 0.5s ease, max-height 0.8s var(--ease-out), margin 0.8s var(--ease-out), padding 0.8s var(--ease-out);max-height: 240px;}.gift-banner.visible{display: flex;}.gift-banner-icon{font-size: var(--fs-6);flex-shrink: 0;}.gift-banner-from{font-size: var(--fs-2);font-weight: 650;color: var(--text);letter-spacing: -0.01em;}.gift-banner-msg{font-size: var(--fs-3);color: var(--text-secondary);line-height: 1.4;margin-top: 2px;overflow-wrap: anywhere;}.btn-share svg{width: 16px;height: 16px;}.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0;}.protocol-card:focus-visible,.icon-btn:focus-visible,.btn:focus-visible,.breath-orb:focus-visible,.filter-pill:focus-visible,.soundscape-btn:focus-visible,.footer-link:focus-visible,.session-back:focus-visible,.gift-back:focus-visible,.card-fav:focus-visible,.occasion-pill:focus-visible,.acct-prompt-dismiss:focus-visible,[tabindex="-1"]:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px;}.session-back,.gift-back,.session-sound{transition: opacity 0.2s ease, transform 0.25s var(--ease-out);}body[data-page="technique"].chrome-hidden .topbar,body.chrome-hidden .session-back,body.chrome-hidden .gift-back,body.chrome-hidden .session-sound{opacity: 0;transform: translateY(-12px);pointer-events: none;}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,[data-view-heading]:focus{outline: none;}body.session-active .bg-mesh .blob{animation-play-state: paused;}@media (prefers-reduced-motion: reduce){:root{--spring: var(--ease-out);}}:root.reduce-motion{--spring: var(--ease-out);}@media (prefers-reduced-motion: reduce){.bg-mesh .blob, .protocol-card, .journal-entry, .stat-card, .completion-check, .donate-nudge, .progress-card, .gift-banner, #session-view.active, #journal-view.active, #completion-screen.active, #gift-compose.active, #gift-letter.active, #session-view.active:not(.breathing) .breath-orb, .orb-wrapper.holding, .share-card-wrapper.visible{animation: none;}}:root.reduce-motion .bg-mesh .blob,:root.reduce-motion .protocol-card,:root.reduce-motion .journal-entry,:root.reduce-motion .stat-card,:root.reduce-motion .completion-check,:root.reduce-motion .donate-nudge,:root.reduce-motion .progress-card,:root.reduce-motion .gift-banner,:root.reduce-motion #session-view.active,:root.reduce-motion #journal-view.active,:root.reduce-motion #completion-screen.active,:root.reduce-motion #gift-compose.active,:root.reduce-motion #gift-letter.active,:root.reduce-motion #session-view.active:not(.breathing) .breath-orb,:root.reduce-motion .orb-wrapper.holding,:root.reduce-motion .share-card-wrapper.visible{animation: none;}#gift-compose,#gift-letter{display: none;flex-direction: column;align-items: center;justify-content: center;min-height: 100vh;min-height: 100dvh;padding: 5rem 1.5rem 3rem;padding-top: calc(5rem + env(safe-area-inset-top, 0px));text-align: center;position: relative;z-index: 1;}#gift-compose.active,#gift-letter.active{display: flex;animation: fadeUp 0.5s var(--ease-out);}.gift-h{font-family: var(--font-serif);font-size: var(--fs-7);font-weight: 400;letter-spacing: -0.01em;line-height: 1.1;margin-bottom: var(--sp-2);}.gift-sub{color: var(--text-secondary);font-size: var(--fs-4);margin-bottom: var(--sp-6);max-width: 400px;line-height: 1.45;}.occasion-grid{display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;width: 100%;max-width: 420px;margin-bottom: 1.4rem;}.occasion-pill{display: flex;align-items: center;gap: 10px;padding: 12px 14px;border-radius: var(--radius-sm);border: 1.5px solid var(--border);background: var(--card-bg);color: var(--text);font-size: var(--fs-3);font-weight: 550;cursor: pointer;transition: border-color 0.2s, background 0.2s, transform 0.15s;text-align: left;}.occasion-pill:hover{border-color: var(--border-hover);}.occasion-pill:active{transform: scale(0.97);}.occasion-pill.active{border-color: var(--accent);background: rgba(0,122,255,0.06);}.occasion-pill .oc-emoji{font-size: 1.3rem;flex-shrink: 0;}.gift-fields{width: 100%;max-width: 420px;display: flex;flex-direction: column;gap: 10px;margin-bottom: 0.8rem;}.gift-input{width: 100%;padding: 12px 16px;border-radius: var(--radius-sm);border: 1.5px solid var(--border-hover);background: var(--field-bg);color: var(--text);font-size: var(--fs-3);font-family: inherit;transition: border-color 0.2s;}.gift-input:focus{outline: none;border-color: var(--accent);}.gift-technique-note{font-size: var(--fs-2);color: var(--text-tertiary);margin-bottom: 1.2rem;min-height: 1em;}.gift-actions{display: flex;gap: 10px;flex-wrap: wrap;justify-content: center;}.gift-hint{font-size: var(--fs-2);color: var(--pill-calm);font-weight: 600;min-height: 1.1em;margin-top: 0.9rem;}.gift-back{position: fixed;top: calc(12px + env(safe-area-inset-top, 0px));left: 16px;z-index: 101;background: var(--surface);-webkit-backdrop-filter: var(--blur);backdrop-filter: var(--blur);border: 1px solid var(--border);color: var(--accent);padding: 8px 16px 8px 12px;border-radius: var(--radius-pill);cursor: pointer;font-size: var(--fs-2);font-weight: 500;display: flex;align-items: center;gap: 4px;}.gift-back:active{transform: scale(0.96);}.gift-back svg{width: 18px;height: 18px;}.letter-card{max-width: 460px;width: 100%;background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);padding: var(--sp-8) var(--sp-6);margin-bottom: var(--sp-6);box-shadow: var(--shadow-lg);}.letter-emoji{font-size: var(--fs-7);margin-bottom: var(--sp-2);}.letter-from{font-family: var(--font-serif);font-size: var(--fs-6);font-weight: 400;letter-spacing: -0.01em;line-height: 1.2;margin-bottom: var(--sp-2);}.letter-occasion{font-size: 1rem;color: var(--text-secondary);margin-bottom: 1.2rem;}.letter-note{font-size: var(--fs-4);line-height: 1.5;color: var(--text);font-style: italic;padding: 1rem 1.2rem;background: rgba(128,128,128,0.06);border-radius: var(--radius);overflow-wrap: anywhere;}.letter-tech{font-size: var(--fs-2);color: var(--text-tertiary);margin-top: 1.2rem;}.gift-loop{margin-top: var(--sp-4);display: none;flex-direction: column;gap: 0;align-items: center;animation: fadeUp 0.6s var(--ease-out) 0.3s backwards;}.gift-loop-line{font-size: var(--fs-3);color: var(--text-secondary);}.gift-loop .gift-actions{gap: 0;}@media (max-width: 600px){.hero h1{font-size: var(--fs-7);}.hero p{font-size: var(--fs-4);}#protocol-list{padding: 1rem;gap: 12px;grid-template-columns: 1fr;}.orb-wrapper{width: 260px;height: 260px;}.breath-orb{width: 190px;height: 190px;}#phase-timer{font-size: 3.4rem;}#session-title{font-size: var(--fs-6);}#session-view.breathing #session-title{font-size: var(--fs-5);}#session-about{font-size: var(--fs-2);max-width: 340px;margin-bottom: 1.5rem;}.stats-grid{grid-template-columns: repeat(3, 1fr);gap: 8px;}.stat-value{font-size: 1.3rem;}.topbar{padding: 8px 12px 8px 16px;padding-top: calc(8px + env(safe-area-inset-top, 0px));}.share-card{width: 300px;padding: 2rem 1.5rem;}.hero{padding-top: var(--sp-6);}.share-card-technique{font-size: 1.3rem;}.progress-section{padding: 0 1rem 0.5rem;}}#journal-view,#completion-screen,#gift-compose,#gift-letter{padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px));}.main-footer{padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px));}@media (orientation: landscape) and (max-height: 500px){.orb-wrapper{width: min(260px, 62vh);height: min(260px, 62vh);}.breath-orb{width: min(190px, 46vh);height: min(190px, 46vh);}#session-view, #journal-view, #completion-screen, #gift-compose, #gift-letter{padding-top: calc(3.5rem + env(safe-area-inset-top, 0px));}}.technique{position: relative;z-index: 1;max-width: 44rem;margin: 0 auto;padding: var(--sp-6) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom, 0px));font-size: var(--fs-3);line-height: 1.6;}.technique h2{font-family: var(--font-serif);font-size: var(--fs-6);font-weight: 400;letter-spacing: -0.01em;line-height: 1.15;color: var(--text);}.technique h3{font-size: var(--fs-4);font-weight: 650;letter-spacing: -0.01em;margin: var(--sp-5) 0 var(--sp-2);color: var(--text);}.technique p{color: var(--text-secondary);margin-bottom: var(--sp-3);}.technique p:last-child{margin-bottom: 0;}.technique strong{color: var(--text);font-weight: 600;}.technique ul,.technique ol{color: var(--text-secondary);margin: 0 0 var(--sp-3) 1.15rem;}.technique li{margin-bottom: var(--sp-2);}.technique li:last-child{margin-bottom: 0;}.technique a{color: var(--accent);text-decoration: none;}.technique a:hover{text-decoration: underline;}.technique abbr{text-decoration: none;}.technique cite{font-style: normal;color: var(--text-tertiary);}.tech-section{margin-top: var(--sp-8);}.tech-section > h2{margin-bottom: var(--sp-3);}.tech-crumbs{font-size: var(--fs-2);}.tech-crumbs ol{display: flex;flex-wrap: wrap;align-items: center;gap: var(--sp-2);margin: 0;padding: 0;list-style: none;color: var(--text-tertiary);}.tech-crumbs li{margin: 0;display: flex;align-items: center;gap: var(--sp-2);}.tech-crumbs li + li::before{content: '/';color: var(--border-hover);}.tech-crumbs a{color: var(--text-tertiary);}.tech-crumbs a:hover{color: var(--accent);}.tech-byline{font-size: var(--fs-2);color: var(--text-tertiary);margin-top: var(--sp-3);}.tech-lead{margin-top: var(--sp-5);font-size: var(--fs-4);}.tech-lead p{color: var(--text);}.tech-pattern-words{font-size: var(--fs-4);color: var(--text);}.technique .pattern-strip{display: grid;grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));gap: var(--sp-2);margin: var(--sp-4) 0 0;padding: 0;list-style: none;}.technique .pattern-step{--c: var(--text-secondary);margin: 0;padding: var(--sp-3) var(--sp-2);text-align: center;background: var(--card-bg);border: 1px solid var(--border);border-top: 3px solid var(--c);border-radius: var(--radius-sm);box-shadow: var(--shadow-sm);}.technique .pattern-step[data-phase="inhale"]{--c: var(--inhale);}.technique .pattern-step[data-phase="hold"]{--c: var(--hold);}.technique .pattern-step[data-phase="exhale"]{--c: var(--exhale);}.technique .pattern-step[data-phase="retain"]{--c: var(--retain);}.pattern-count{display: block;font-size: var(--fs-6);font-weight: 600;line-height: 1.1;color: var(--c);font-variant-numeric: tabular-nums;}.pattern-count abbr{font-size: var(--fs-3);font-weight: 500;}.pattern-label{display: block;margin-top: var(--sp-1);font-size: var(--fs-2);color: var(--text-secondary);}.pattern-rep{display: block;font-size: var(--fs-1);color: var(--text-tertiary);}.tech-faq{display: flex;flex-direction: column;gap: var(--sp-2);}.tech-faq-item{background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-sm);}.tech-faq-item summary{padding: var(--sp-4);font-size: var(--fs-4);font-weight: 600;color: var(--text);cursor: pointer;list-style: none;display: flex;justify-content: space-between;align-items: center;gap: var(--sp-3);}.tech-faq-item summary::-webkit-details-marker{display: none;}.tech-faq-item summary::after{content: '+';flex: none;font-size: var(--fs-5);font-weight: 400;color: var(--text-tertiary);}.tech-faq-item[open] summary::after{content: '–';}.tech-faq-item[open] summary{padding-bottom: var(--sp-2);}.tech-faq-answer{padding: 0 var(--sp-4) var(--sp-4);}.technique .tech-related{display: grid;gap: var(--sp-2);margin: 0;padding: 0;list-style: none;}.technique .tech-related li{margin: 0;}@media (min-width: 40rem){.technique .tech-related{grid-template-columns: 1fr 1fr;}}.technique .tech-related-card{display: flex;align-items: center;gap: var(--sp-3);height: 100%;padding: var(--sp-3) var(--sp-4);background: var(--card-bg);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-sm);transition: border-color 0.2s, box-shadow 0.2s;}.technique .tech-related-card:hover{border-color: var(--border-hover);box-shadow: var(--shadow-md);text-decoration: none;}.technique .tech-related-icon{flex: none;font-size: var(--fs-5);}.tech-related-text{display: flex;flex-direction: column;min-width: 0;}.tech-related-name{font-size: var(--fs-3);font-weight: 600;color: var(--text);}.tech-related-desc{font-size: var(--fs-2);color: var(--text-secondary);}.tech-allnav{margin-top: var(--sp-8);text-align: center;font-size: var(--fs-3);}@media (prefers-reduced-motion: reduce){.tech-related-card{transition: none;}}:root.reduce-motion .tech-related-card{transition: none;}body[data-page="technique"] #back-btn,body[data-page="technique"] .topbar-actions{display: none;}a.topbar-brand{color: inherit;text-decoration: none;}a.topbar-brand:hover{color: var(--accent);}body[data-page="technique"].session-active .topbar{display: none !important;}body[data-page="technique"] #session-view.active{animation: none;}body[data-page="hub"] .technique{padding-top: calc(70px + env(safe-area-inset-top, 0px));}.technique .hub-h1{font-family: var(--font-serif);font-size: var(--fs-7);font-weight: 400;letter-spacing: -0.01em;line-height: 1.1;margin-top: var(--sp-5);color: var(--text);}.signin-optin{display: flex;gap: var(--sp-3);align-items: flex-start;width: 100%;margin: var(--sp-1) 0 var(--sp-3);text-align: left;font-size: var(--fs-2);line-height: 1.45;color: var(--text-secondary);cursor: pointer;}.signin-optin input[type="checkbox"]{flex: none;width: 20px;height: 20px;margin-top: 1px;accent-color: var(--accent);cursor: pointer;}.site-techniques{border-top: 1px solid var(--border);background: var(--surface);}.site-techniques-inner{max-width: 44rem;margin: 0 auto;padding: var(--sp-8) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom, 0px));}.site-techniques-h{font-family: var(--font-serif);font-size: var(--fs-5);font-weight: 400;letter-spacing: -0.01em;color: var(--text);margin-bottom: var(--sp-4);}.site-techniques-list{display: grid;grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));gap: 0 var(--sp-4);margin: 0;padding: 0;list-style: none;}.site-techniques-list li{margin: 0;}.site-techniques-list a{display: flex;align-items: center;min-height: 44px;font-size: var(--fs-3);line-height: 1.3;color: var(--text-secondary);text-decoration: none;}.site-techniques-list a:hover{color: var(--accent);}.site-techniques-more{margin-top: var(--sp-5);font-size: var(--fs-3);}.site-techniques-more a{color: var(--accent);text-decoration: none;}.site-techniques-more a:hover{text-decoration: underline;}
