:root{--primary:#0b4540;--primary-deep:#07332f;--primary-pressed:#083832;--accent:#c99700;--cta-from:#d9a62e;--cta-to:#b97f0e;--background:#fbf4e4;--surface:#fffdf6;--ink:#26302a;--ink-secondary:#6e7268;--success:#2e7d4f;--warning:#b7791f;--danger:#b3261e;--divider:#eae0cb;--field-border:#d9c9a1;--focus-ring:#c9970040;--danger-ring:#b3261e2e;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--radius-card:16px;--radius-button:12px;--radius-sheet:24px;--tap:48px;--font-display:28px;--font-title:20px;--font-heading:16px;--font-body:14px;--font-caption:12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-body);color:var(--ink);background-color:var(--primary-deep);background-image:linear-gradient(#07332f9e,#07332f9e),url(/backgrounds/bg-splash-portrait-tall.jpg);background-position:50%;background-size:cover;background-attachment:fixed;line-height:1.45}html[data-bgbucket=classic] body{background-image:linear-gradient(#07332f9e,#07332f9e),url(/backgrounds/bg-splash-portrait-classic.jpg)}html[data-bgbucket=ptablet] body{background-image:linear-gradient(#07332f9e,#07332f9e),url(/backgrounds/bg-splash-portrait-tablet.jpg)}html[data-bgbucket=ltablet] body{background-image:linear-gradient(#07332f9e,#07332f9e),url(/backgrounds/bg-splash-landscape-tablet.jpg)}html[data-bgbucket=lphone] body{background-image:linear-gradient(#07332f9e,#07332f9e),url(/backgrounds/bg-web-splash-169.jpg)}.display,.title,.heading,.wordmark,.brand{letter-spacing:-.01em;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app-frame{background:var(--background);flex-direction:column;max-width:430px;min-height:100dvh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #00000059}.app-frame.app-frame-auth{max-width:none;box-shadow:none;margin:0}.app-main{padding:var(--s4);padding-bottom:calc(var(--tap) + var(--s6));gap:var(--s4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.app-main.no-tabs{padding-bottom:var(--s4)}.app-frame.bg-home{--bg-img:url(/backgrounds/bg-home-portrait-tall.jpg);--bg-wash:#fbf4e480}.app-frame.bg-inner{--bg-img:url(/backgrounds/bg-inner-portrait-tall.jpg);--bg-wash:#fbf4e49e}.app-frame.bg-progress{--bg-img:url(/backgrounds/bg-progress-portrait-tall.jpg);--bg-wash:#fbf4e48c}.app-frame.bg-profile{--bg-img:url(/backgrounds/bg-profile-portrait-tall.jpg);--bg-wash:#fbf4e48c}html[data-bgbucket=classic] .app-frame.bg-home{--bg-img:url(/backgrounds/bg-home-portrait-classic.jpg)}html[data-bgbucket=classic] .app-frame.bg-inner{--bg-img:url(/backgrounds/bg-inner-portrait-classic.jpg)}html[data-bgbucket=classic] .app-frame.bg-progress{--bg-img:url(/backgrounds/bg-progress-portrait-classic.jpg)}html[data-bgbucket=classic] .app-frame.bg-profile{--bg-img:url(/backgrounds/bg-profile-portrait-classic.jpg)}html[data-bgbucket=ptablet] .app-frame.bg-home{--bg-img:url(/backgrounds/bg-home-portrait-tablet.jpg)}html[data-bgbucket=ptablet] .app-frame.bg-inner{--bg-img:url(/backgrounds/bg-inner-portrait-tablet.jpg)}html[data-bgbucket=ptablet] .app-frame.bg-progress{--bg-img:url(/backgrounds/bg-progress-portrait-tablet.jpg)}html[data-bgbucket=ptablet] .app-frame.bg-profile{--bg-img:url(/backgrounds/bg-profile-portrait-tablet.jpg)}html[data-bgbucket=ltablet] .app-frame.bg-home{--bg-img:url(/backgrounds/bg-home-landscape-tablet.jpg)}html[data-bgbucket=ltablet] .app-frame.bg-inner{--bg-img:url(/backgrounds/bg-inner-landscape-tablet.jpg)}html[data-bgbucket=ltablet] .app-frame.bg-progress{--bg-img:url(/backgrounds/bg-progress-portrait-tablet.jpg)}html[data-bgbucket=ltablet] .app-frame.bg-profile{--bg-img:url(/backgrounds/bg-profile-portrait-tablet.jpg)}html[data-bgbucket=lphone] .app-frame.bg-home{--bg-img:url(/backgrounds/bg-home-landscape-phone.jpg)}html[data-bgbucket=lphone] .app-frame.bg-inner{--bg-img:url(/backgrounds/bg-inner-landscape-phone.jpg)}html[data-bgbucket=lphone] .app-frame.bg-progress{--bg-img:url(/backgrounds/bg-progress-portrait-tablet.jpg)}html[data-bgbucket=lphone] .app-frame.bg-profile{--bg-img:url(/backgrounds/bg-profile-portrait-tablet.jpg)}.app-frame.bg-home,.app-frame.bg-inner,.app-frame.bg-progress,.app-frame.bg-profile{background-color:var(--background);background-image:linear-gradient(var(--bg-wash), var(--bg-wash)), var(--bg-img);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.display{font-size:var(--font-display);margin:0;font-weight:800;line-height:1.2}.title{font-size:var(--font-title);margin:0;font-weight:700;line-height:1.25}.heading{font-size:var(--font-heading);margin:0;font-weight:600}.body-text{font-size:var(--font-body);margin:0}.caption{font-size:var(--font-caption);color:var(--ink-secondary);overflow-wrap:anywhere;margin:0}.muted{color:var(--ink-secondary)}.tnum{font-variant-numeric:tabular-nums}.app-header{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--primary);color:#fff;z-index:20;display:flex;position:sticky;top:0}.app-header .brand{font-weight:700;font-size:var(--font-heading);letter-spacing:.02em}.icon-btn{min-width:var(--tap);min-height:var(--tap);cursor:pointer;color:inherit;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:relative}.icon-btn .dot{background:var(--cta-from);border:2px solid var(--primary);border-radius:999px;width:9px;height:9px;position:absolute;top:10px;right:10px}.btn{min-height:var(--tap);padding:var(--s3) var(--s4);border-radius:var(--radius-button);font-weight:600;font-size:var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);white-space:nowrap;border:1px solid #0000;text-decoration:none;transition:filter .1s,background .1s;display:inline-flex}.btn:active{filter:brightness(.92)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-cta{background:linear-gradient(135deg, var(--cta-from), var(--cta-to));color:#fff;box-shadow:0 4px 14px #b97f0e59}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-pressed)}.btn-secondary{background:var(--surface);border-color:var(--primary);color:var(--primary)}.btn-quiet{border-color:var(--divider);color:var(--ink);background:0 0}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-text{color:var(--primary);min-height:var(--tap);padding:var(--s2) var(--s3);white-space:nowrap;background:0 0;border:none}.card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.card-tight{gap:var(--s2)}.stack{gap:var(--s4);flex-direction:column;display:flex}.stack-sm{gap:var(--s2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.row>*,.row-between>*{min-width:0}.actions{align-items:center;gap:var(--s2);flex-shrink:0;display:flex}.grid-2{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--s3);grid-template-columns:repeat(3,1fr);display:grid}.setup-steps{gap:var(--s2);flex-direction:column;display:flex}.setup-step{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);cursor:pointer;text-align:left;color:inherit;display:flex}.setup-step.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.setup-check{border:2px solid var(--divider);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.setup-step.done .setup-check{background:var(--accent);border-color:var(--accent)}.setup-step.done .setup-step-title{color:var(--ink-secondary)}.setup-step-text{flex-direction:column;flex:1;display:flex}.setup-next{font-size:var(--font-caption,12px);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);flex:none;font-weight:700}.chip{min-height:40px;padding:var(--s2) var(--s3);border:1px solid var(--divider);background:var(--surface);font-size:var(--font-body);cursor:pointer;align-items:center;gap:var(--s1);border-radius:999px;display:inline-flex}.chip[aria-pressed=true],.chip.selected{background:var(--primary);border-color:var(--primary);color:#fff}.chip-static{cursor:default;min-height:28px;padding:2px var(--s3);font-size:var(--font-caption);font-weight:600}.chip-gold{border-color:var(--accent);color:var(--ink);background:#c9970024}.chip-teal{border-color:var(--primary);color:var(--primary);background:#0b45401a}.chip-row{gap:var(--s2);flex-wrap:wrap;display:flex}.progress-bar{background:var(--divider);border-radius:999px;height:10px;overflow:hidden}.progress-bar>div{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.progress-ring{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.progress-ring-inner{background:var(--surface);text-align:center;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;display:flex}.streak-chip{align-items:center;gap:var(--s2);min-height:40px;padding:var(--s2) var(--s3);border:1px solid var(--accent);background:#c9970024;border-radius:999px;font-weight:600;display:inline-flex}.badge-grid{gap:var(--s3);grid-template-columns:repeat(3,1fr);display:grid}.badge-tile{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);padding:var(--s3);text-align:center;align-items:center;gap:var(--s1);flex-direction:column;justify-content:center;min-height:110px;display:flex}.badge-tile .badge-icon{font-size:26px;line-height:1}.badge-tile.locked{opacity:.62}.badge-tile.locked .badge-icon{filter:grayscale()}.badge-tile .badge-name{font-size:13px;font-weight:600}.badge-tile .badge-how{color:var(--ink-secondary);font-size:11px;line-height:1.3}.medallion{background:conic-gradient(from 210deg, var(--cta-from), var(--cta-to), var(--cta-from));border-radius:999px;justify-content:center;align-items:center;width:132px;height:132px;margin:0 auto;display:flex;box-shadow:0 8px 24px #b97f0e59}.medallion-inner{background:var(--surface);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:0;width:112px;height:112px;display:flex}.medallion-inner .big{color:var(--primary);font-size:40px;font-weight:700;line-height:1}.journey{flex-direction:column;display:flex}.journey-node{gap:var(--s3);align-items:stretch;display:flex}.journey-rail{flex-direction:column;flex-shrink:0;align-items:center;width:28px;display:flex}.journey-dot{border:2px solid var(--divider);background:var(--surface);z-index:1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.journey-line{background:var(--divider);flex:1;width:2px;min-height:14px}.journey-node.done .journey-dot{background:var(--primary);border-color:var(--primary);color:#fff}.journey-node.done .journey-line{background:var(--primary)}.journey-node.current .journey-dot{border-color:var(--accent);background:#c9970029}.journey-content{padding-bottom:var(--s4)}.journey-node.locked{opacity:.6}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--divider);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:sticky;bottom:0}.tabbar button{cursor:pointer;min-height:60px;color:var(--ink-secondary);padding:var(--s2) 0;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}.tabbar button .tab-icon{font-size:20px;line-height:1}.tabbar button.active{color:var(--primary);box-shadow:inset 0 3px 0 var(--accent)}.seg-tabs{background:var(--divider);border-radius:var(--radius-button);grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.seg-tabs button{cursor:pointer;min-height:44px;color:var(--ink-secondary);background:0 0;border:none;border-radius:9px;font-weight:600}.seg-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #26302a26}.sheet-overlay{z-index:50;background:#07332f8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--background);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:100%;max-width:430px;max-height:88dvh;padding:var(--s5) var(--s4) var(--s6);gap:var(--s4);flex-direction:column;display:flex;overflow-y:auto}.sheet-handle{background:var(--divider);border-radius:999px;width:44px;height:5px;margin:0 auto}.field{gap:var(--s2);flex-direction:column;display:flex}.field label{font-weight:600;font-size:var(--font-body);color:var(--ink)}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,input.control,select.control,textarea.control{min-height:var(--tap);border:1px solid var(--field-border);border-radius:var(--radius-button);background-color:var(--surface);font-size:var(--font-body);width:100%;padding:10px 14px;line-height:1.45;transition:border-color .12s,box-shadow .12s}.field textarea,textarea.control{resize:vertical;min-height:88px}.field select,select.control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236e7268' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.select-wrap{width:100%;position:relative}.select-trigger{min-height:var(--tap);border:1px solid var(--field-border);border-radius:var(--radius-button);background-color:var(--surface);width:100%;font-size:var(--font-body);color:var(--ink);text-align:left;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236e7268' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding:10px 40px 10px 14px;line-height:1.45;transition:border-color .12s,box-shadow .12s}.select-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.select-trigger:disabled{opacity:.55;cursor:not-allowed}.select-value{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.select-menu{z-index:90;background:var(--surface);border:1px solid var(--divider);border-radius:12px;flex-direction:column;gap:2px;max-height:276px;padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #07332f47}.select-option{min-height:44px;font-size:var(--font-body);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px}.select-option.active{background:var(--background)}.select-option.selected{color:var(--primary);font-weight:700}.select-option:disabled{opacity:.5;cursor:not-allowed}input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.field input::placeholder,.field textarea::placeholder,.control::placeholder{color:var(--ink-secondary);opacity:.8}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field.invalid input:not([type=checkbox]):not([type=radio]),.field.invalid select,.field.invalid textarea,.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true],.control[aria-invalid=true]{border-color:var(--danger)}.field.invalid input:not([type=checkbox]):not([type=radio]):focus,.field.invalid select:focus,.field.invalid textarea:focus,.field input[aria-invalid=true]:focus,.field select[aria-invalid=true]:focus,.field textarea[aria-invalid=true]:focus,.control[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-ring)}.field-error{font-size:var(--font-caption);color:var(--danger);margin:0}.field input:not([type=checkbox]):not([type=radio]):disabled,.field select:disabled,.field textarea:disabled,.control:disabled{background-color:var(--background);border-color:var(--divider);color:var(--ink-secondary);cursor:not-allowed}input[type=checkbox],input[type=radio]{appearance:none;border:2px solid var(--field-border);background-color:var(--surface);cursor:pointer;flex:none;place-content:center;width:22px;height:22px;margin:0;transition:background-color .12s,border-color .12s;display:inline-grid}input[type=checkbox]{border-radius:6px}input[type=radio]{border-radius:999px}input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background:#fff;width:12px;height:12px}input[type=radio]:checked{border-color:var(--primary)}input[type=radio]:checked:after{content:"";background:var(--primary);border-radius:999px;width:10px;height:10px}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.check-row{align-items:flex-start;gap:var(--s3);min-height:var(--tap);cursor:pointer;display:flex}.check-row input[type=checkbox],.check-row input[type=radio]{margin-top:2px}.btn:focus-visible,.chip:focus-visible,.filter-chip:focus-visible,.switch:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-text.on-dark{color:#fff}.btn-ghost-dark{color:#fff;background:0 0;border-color:#ffffff8c}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-picker{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.file-picker input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.switch-row{justify-content:space-between;align-items:center;gap:var(--s3);min-height:var(--tap);display:flex}.switch{border:1px solid var(--divider);background:var(--divider);cursor:pointer;border-radius:999px;flex-shrink:0;width:52px;height:32px;padding:0;transition:background .15s,border-color .15s;position:relative}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:after{content:"";background:var(--surface);border-radius:999px;width:24px;height:24px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--primary);border-color:var(--primary)}.switch[aria-checked=true]:after{left:23px}.scale-row{gap:var(--s2);display:flex}.scale-point{border-radius:var(--radius-button);border:1px solid var(--divider);background:var(--surface);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:56px;font-size:18px;display:flex}.scale-point small{color:var(--ink-secondary);font-size:10px}.scale-point.selected{border-color:var(--accent);background:#c9970029}.step-row{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--divider);border-radius:var(--radius-button);background:var(--surface);cursor:pointer;text-align:left;display:flex}.step-row .step-box{border:2px solid var(--divider);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.step-row.done .step-box{background:var(--success);border-color:var(--success)}.step-row.done .step-title{color:var(--ink-secondary)}.plan-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-row,.part-row{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--divider);border-radius:var(--radius-button);background:var(--surface);text-align:left;display:flex}.plan-num{background:var(--primary);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex}.plan-done-tag{color:var(--accent);font-weight:700;font-size:var(--font-caption);white-space:nowrap}.part-row.done{border-color:var(--accent)}.part-toggle{min-height:40px;padding:var(--s1) var(--s3);border:1px solid var(--divider);background:var(--surface);color:var(--primary);font-weight:600;font-size:var(--font-caption);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;display:inline-flex}.part-toggle:disabled{opacity:.45;cursor:default}.part-toggle.on{border-color:var(--accent);color:var(--ink);background:#c9970024}.part-check{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:inline-flex}.state-block{text-align:center;padding:var(--s6) var(--s4);align-items:center;gap:var(--s3);flex-direction:column;display:flex}.state-block .state-icon{font-size:36px}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg, var(--divider) 25%, #f3ead3 50%, var(--divider) 75%);background-size:200% 100%;min-height:96px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-banner{border:1px solid var(--danger);color:var(--ink);border-radius:var(--radius-card);padding:var(--s3) var(--s4);gap:var(--s2);background:#b3261e14;flex-direction:column;display:flex}.success-banner{border:1px solid var(--success);border-radius:var(--radius-card);padding:var(--s3) var(--s4);background:#2e7d4f1a}.warning-banner{border:1px solid var(--warning);border-radius:var(--radius-card);padding:var(--s3) var(--s4);gap:var(--s2);background:#b7791f1a;flex-direction:column;display:flex}.recorder{background:linear-gradient(180deg, var(--primary-deep), var(--primary));border-radius:var(--radius-card);color:#fff;padding:var(--s5) var(--s4);align-items:center;gap:var(--s4);text-align:center;flex-direction:column;display:flex}.recorder .timer{font-size:56px;font-weight:700;line-height:1}.recorder video{border-radius:var(--radius-card);object-fit:cover;background:#000;width:100%;max-height:260px}.recorder-stage{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-direction:column;display:flex}.recorder-video{border-radius:var(--radius-card);object-fit:cover;background:#000;width:100%;max-height:300px}.recorder-head{z-index:6;background:var(--background);padding-bottom:var(--s2);gap:var(--s3);flex-direction:column;display:flex;position:sticky;top:0}.recorder-controls{justify-content:center;align-items:center;width:100%;min-height:52px;display:flex}.recorder-controls .row{flex-wrap:wrap;justify-content:center}.recorder-controls .row>.btn{flex:0 auto;width:auto}.rec-dot{background:#ff5a4e;border-radius:999px;width:12px;height:12px;animation:1.1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.splash{background-color:var(--primary-deep);--splash-img:url(/backgrounds/bg-splash-portrait-tall.jpg);color:#fff;text-align:center;padding:var(--s6) var(--s5) var(--s5);justify-content:space-between;align-items:center;gap:var(--s4);flex-direction:column;flex:1;min-height:100dvh;display:flex;position:relative;overflow:hidden}html[data-bgbucket=classic] .splash{--splash-img:url(/backgrounds/bg-splash-portrait-classic.jpg)}html[data-bgbucket=ptablet] .splash{--splash-img:url(/backgrounds/bg-splash-portrait-tablet.jpg)}html[data-bgbucket=ltablet] .splash{--splash-img:url(/backgrounds/bg-splash-landscape-tablet.jpg)}html[data-bgbucket=lphone] .splash{--splash-img:url(/backgrounds/bg-web-splash-169.jpg)}html[data-bgbucket=lphone] .splash-mfa{--splash-img:url(/backgrounds/bg-web-splash-alt-169.jpg)}.splash:before{content:"";background-image:var(--splash-img);filter:blur(26px)brightness(.94);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.18)}.splash:after{content:"";background-image:var(--splash-img);background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.splash>*{z-index:1;position:relative}.splash-brand{align-items:center;gap:var(--s2);padding-top:var(--s4);text-shadow:0 2px 18px #07332fd9,0 1px 4px #07332fe6;flex-direction:column;display:flex}.splash .lotus{filter:drop-shadow(0 2px 10px #07332fcc);font-size:52px}.splash .brand-logo{filter:drop-shadow(0 2px 10px #07332fcc);width:auto;height:88px}.app-header .header-brand{align-items:center;gap:var(--s2);min-height:30px;line-height:1;display:inline-flex}.app-header .powered-by{color:#ffffffc7;font-size:11px}.app-header .brand-logo{width:auto;height:30px;display:block;transform:translateY(1px)}.splash .wordmark{letter-spacing:.03em;color:#fff;margin:0;font-size:38px;font-weight:700}.splash .tagline{color:#f3d9a4;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:15px}.splash-dock{-webkit-backdrop-filter:blur(14px);color:#fff;width:100%;max-width:400px;padding:var(--s5);align-items:center;gap:var(--s3);text-align:center;background:#07332fc7;border:1px solid #ffffff38;border-radius:24px;flex-direction:column;max-height:60dvh;display:flex;overflow-y:auto;box-shadow:0 16px 40px #07332f59}.splash-dock .muted,.splash-dock .caption{color:#ffffffc7}.splash-dock .heading{color:#fff}.splash-dock .field label{color:#ffffffe6}.splash-dock [role=alert]{color:#ffb4a2!important}.splash-dock .btn-quiet{color:#ffffffe0;border-color:#ffffff59}.splash-dock .btn-text{color:#f3d9a4}.splash-dock .legal-links button{color:#ffffffbf}.splash-lede{color:#ffffffe0;max-width:300px;margin:0}.quote-card{background:var(--surface);border:1px solid var(--divider);border-left:4px solid var(--accent);border-radius:var(--radius-card);padding:var(--s4);font-style:italic}.count-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);padding:var(--s4);gap:var(--s1);cursor:pointer;text-align:left;flex-direction:column;width:100%;display:flex}.count-card .count{color:var(--primary);font-size:26px;font-weight:700}.list-row{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s3);background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);cursor:pointer;text-align:left;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.divider-line{border:none;border-top:1px solid var(--divider);margin:0}.filter-bar{gap:8px;margin-bottom:12px;display:grid}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--divider);background:var(--surface);min-height:36px;color:var(--ink-secondary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.seg-tabs.seg-3{grid-template-columns:1fr 1fr 1fr}.seg-tabs.seg-4{grid-template-columns:repeat(4,1fr)}.seg-tabs.seg-4 button{padding-left:2px;padding-right:2px;font-size:13px}.heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--ink-secondary);padding:4px 0;font-size:11px;font-weight:700}.cal-cell{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;display:flex}.cal-cell.dim{color:var(--ink-secondary);opacity:.45}.cal-cell.today{border-color:var(--accent)}.cal-cell.selected{background:var(--primary);color:#fff}.cal-dot{background:var(--accent);border-radius:999px;width:6px;height:6px}.live-frame{aspect-ratio:4/5;background:#000;border-radius:12px;width:100%;min-height:420px;position:relative;overflow:hidden}.live-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.yt-embed{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.yt-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.session-row{align-items:flex-start;gap:var(--s3);width:100%;padding:var(--s3);background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card);text-align:left;color:var(--ink);display:flex}button.session-row{cursor:pointer;font:inherit}.date-badge{background:var(--primary);color:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;width:52px;padding:6px 0 5px;line-height:1.1;display:flex}.date-badge .date-day{font-size:20px;font-weight:700}.date-badge .date-mon{letter-spacing:.12em;color:var(--cta-from);font-size:10px;font-weight:700}.session-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.status-pill{border:1px solid var(--divider);color:var(--ink-secondary);background:var(--background);border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.status-pill.st-scheduled{border-color:var(--primary);color:var(--primary);background:#0b45401a}.status-pill.st-held{border-color:var(--accent);color:var(--ink);background:#c9970024}.status-pill.st-cancelled{border-color:var(--danger);color:var(--danger);background:#b3261e14}.mode-line{align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:2px;display:flex}.mode-chip{color:var(--primary);background:#0b454014;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.mode-text{align-items:center;gap:6px;display:flex}.week-rows{gap:var(--s3);border-top:1px solid var(--divider);padding-top:var(--s3);flex-direction:column;display:flex}.week-row{align-items:center;gap:var(--s2);display:flex}.week-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px}.week-title{font-size:var(--font-body);flex:1;min-width:0;font-weight:600}.week-days{flex-shrink:0;gap:4px;display:flex}.week-day{border:1.5px solid var(--divider);background:var(--surface);width:24px;height:24px;color:var(--ink-secondary);border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.week-day.done{color:#fff}.week-day.today{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.reminder-btn{background:var(--surface);border-color:var(--primary);color:var(--primary)}.reminder-btn.reminder-on{background:var(--primary);border-color:var(--primary);color:#fff}.card-grid{gap:var(--s4);grid-template-columns:1fr;align-items:start;display:grid}.grid-span-all{grid-column:1/-1}.legal-links{justify-content:center;align-items:center;gap:var(--s2);padding:var(--s2) 0;color:var(--ink-secondary);font-size:var(--font-caption);flex-wrap:wrap;display:flex}.legal-links button{padding:var(--s1) var(--s2);cursor:pointer;min-height:32px;color:var(--primary);font-weight:600;font-size:var(--font-caption);background:0 0;border:none}.legal-links.on-dark{color:#ffffffa6}.legal-links.on-dark button{color:#fff}.legal-draft{font-size:var(--font-caption);color:var(--warning);text-transform:uppercase;letter-spacing:.06em;margin:0;font-weight:700}.legal-body{flex:1}.legal-body a{color:var(--primary)}@media (width>=768px){.app-frame{max-width:720px}.app-main{padding:var(--s5);padding-bottom:calc(var(--tap) + var(--s6))}.sheet{max-width:720px}.card-grid{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1200px){.app-frame{max-width:1080px}.sheet{max-width:860px}.card-grid{grid-template-columns:repeat(3,1fr)}.badge-grid{grid-template-columns:repeat(6,1fr)}}.school-row-icon{width:44px;height:44px;color:var(--primary);background:#0b45401a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (orientation:landscape) and (height<=520px){.splash{padding-top:var(--s3)}.splash-brand{padding-top:0}.splash-dock{max-height:86dvh}}
