:root{--ground:#08150e;--ink:#f2eee0;--ink-2:rgba(242,238,224,0.62);--ink-3:rgba(242,238,224,0.42);--gold:#e7c26a;--sage:#9cc98f;--leaf:#6fa36b;--coral:#e8927a;--line:rgba(242,238,224,0.14);--glass:rgba(255,255,255,0.07);--nav-h:104px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%}body.bazr-app{background:var(--ground);color:var(--ink);font-size:16px;line-height:1.75;font-weight:300;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}.screen{position:relative;min-height:100svh;display:flex;flex-direction:column;max-width:520px;margin-inline:auto;padding-bottom:env(safe-area-inset-bottom)}.screen.with-nav{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.stage-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}.layer{position:relative;z-index:1}.pad{padding-inline:clamp(20px,6vw,30px)}h1{font-size:1.72rem;letter-spacing:-.02em;line-height:1.3;margin:0 0 6px}h1,h2{font-weight:600}h2{font-size:1.2rem;letter-spacing:-.01em;margin:0 0 4px}.eyebrow{font-size:.68rem;letter-spacing:.22em;color:var(--ink-3);margin:0 0 10px}.muted{color:var(--ink-2);font-size:.92rem;margin:0}.dim{color:var(--ink-3);font-size:.82rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:1rem;font-weight:600;cursor:pointer;border:0;border-radius:100px;padding:15px 30px;background:#e9e5d5;color:#14261a;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.4,.5,1),filter .25s;min-height:48px}.btn:active{transform:scale(.965)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.wide{width:100%}.btn.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--line);font-weight:400}.btn.quiet{background:none;border:0;color:var(--ink-3);font-weight:400;padding:14px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}.field{width:100%;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:16px 18px;color:var(--ink);font:inherit;font-size:1.1rem;text-align:center;letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field:focus{outline:none;border-color:rgba(231,194,106,.6)}.field::placeholder{color:var(--ink-3);letter-spacing:.02em}.otp{display:flex;gap:10px;direction:ltr;justify-content:center}.otp input{width:54px;height:62px;border-radius:14px;background:var(--glass);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:1.5rem;font-weight:600;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.otp input:focus{outline:none;border-color:rgba(231,194,106,.7);background:rgba(231,194,106,.1)}.card{background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:20px 22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.card .k{font-size:.68rem;letter-spacing:.16em;color:var(--ink-3);margin-bottom:6px}.card .t{font-size:1.1rem;font-weight:500;margin-bottom:2px}.card .m{font-size:.82rem;color:var(--ink-2)}.card .row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.growth{text-align:center}.growth .lbl{font-size:.66rem;letter-spacing:.22em;color:var(--ink-3)}.growth .nm{font-size:2.1rem;font-weight:600;letter-spacing:-.015em;line-height:1.1}.ring{display:flex;justify-content:center;gap:9px;margin-top:14px}.ring i{width:34px;height:3px;border-radius:2px;background:rgba(242,238,224,.16)}.ring i.f{background:var(--sage)}.ring i.c{background:var(--gold);box-shadow:0 0 12px rgba(231,194,106,.55)}.nav{position:fixed;inset-inline:0;bottom:0;z-index:3;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:14px 12px env(safe-area-inset-bottom);align-items:flex-start;justify-content:space-around;max-width:520px;margin-inline:auto;background:linear-gradient(0deg,rgba(8,18,11,.94) 55%,rgba(8,18,11,0))}.nav,.nav a{display:flex}.nav a{flex-direction:column;align-items:center;gap:5px;font-size:.66rem;color:var(--ink-3);text-decoration:none;padding:6px 10px;transition:color .3s;min-width:56px}.nav a.on{color:var(--gold)}.nav svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.notice{font-size:.86rem;line-height:1.7;border-radius:12px;padding:12px 14px}.notice.warn{background:rgba(231,194,106,.12);color:var(--gold)}.notice.bad{background:rgba(226,144,121,.14);color:#eeb29e}.notice code{font-size:1.15rem;font-weight:700;letter-spacing:.2em}.stack{display:flex;flex-direction:column;gap:14px}.grow{flex:1 1}.center{display:flex;flex-direction:column;justify-content:center}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.wordmark{font-size:3.1rem;font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:8px}.tagline{font-size:.95rem;color:var(--ink-2);margin:0 0 34px}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.6}}.skeleton{border-radius:14px;background:var(--glass);animation:pulse 1.6s ease-in-out infinite}.skeleton.line{height:14px}.skeleton.card{height:168px;border-radius:26px}.resend{display:flex;align-items:center;justify-content:center;gap:8px}.countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.86rem}.intro{padding-bottom:calc(30px + env(safe-area-inset-bottom))}.intro-top{position:absolute;inset-block-start:0;inset-inline:0;z-index:2;padding-top:calc(22px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:16px}.dots{display:flex;gap:6px;flex:1 1}.dots i{height:3px;flex:1 1;border-radius:2px;background:rgba(242,238,224,.16);transition:background .4s}.dots i.done{background:var(--sage)}.dots i.on{background:var(--gold);box-shadow:0 0 10px rgba(231,194,106,.5)}.skip{background:none;border:0;color:var(--ink-3);font:inherit;font-size:.82rem;cursor:pointer;padding:6px 2px;flex:none}.skip:hover{color:var(--ink)}.intro-body{animation:introIn .55s cubic-bezier(.2,.8,.3,1) both}@keyframes introIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.intro-title{font-size:clamp(1.9rem,8vw,2.4rem);font-weight:700;line-height:1.28;letter-spacing:-.025em;white-space:pre-line;margin:0 0 14px}.intro-text{color:var(--ink-2);font-size:1rem;line-height:1.9;margin:0;max-width:34ch}.intro-quote{margin:0 0 16px;-webkit-padding-start:14px;padding-inline-start:14px;-webkit-border-start:2px solid var(--gold);border-inline-start:2px solid var(--gold);font-size:1.22rem;font-weight:500;line-height:2;white-space:pre-line;color:var(--ink)}.intro-quote cite{display:block;margin-top:10px;font-style:normal;font-size:.76rem;font-weight:400;color:var(--ink-3);line-height:1.6}.intro-cite{margin:12px 0 0;font-size:.72rem;color:var(--ink-3);line-height:1.7;direction:ltr;text-align:right}.intro-actions{padding-top:26px;display:flex;flex-direction:column;gap:2px}@media (prefers-reduced-motion:reduce){.intro-body{animation:none}}.stage-screen{padding-bottom:calc(30px + env(safe-area-inset-bottom))}.stage-head{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:22px;display:flex;gap:14px;align-items:flex-start}.stage-head h1{font-size:1.5rem;margin:2px 0}.stage-head .k{font-size:.68rem;letter-spacing:.18em;color:var(--ink-3)}.back-link{color:var(--ink-2);text-decoration:none;font-size:1.5rem;line-height:1;padding:4px 6px;margin-top:4px;flex:none}.back-link:hover{color:var(--ink)}.player{background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:22px}.pl-meta{text-align:center;margin-bottom:20px}.pl-meta .ch{font-size:.68rem;letter-spacing:.18em;color:var(--ink-3);margin-bottom:6px}.pl-meta .ti{font-size:1.16rem;font-weight:500}.scrub .bar{height:3px;border-radius:2px;background:rgba(242,238,224,.16);overflow:hidden}.scrub .bar i{display:block;height:100%;background:var(--gold);border-radius:2px;transition:width .25s linear}.scrub .tm{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-3);margin-top:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-ctl{display:flex;justify-content:center;margin-top:20px}.playbtn{width:66px;height:66px;border-radius:50%;background:#e9e5d5;border:0;cursor:pointer;display:grid;place-items:center;transition:transform .3s cubic-bezier(.34,1.4,.5,1)}.playbtn:active{transform:scale(.93)}.playbtn:disabled{opacity:.45}.playbtn svg{width:24px;height:24px;fill:#14261a}.pl-cov{text-align:center;font-size:.78rem;color:var(--ink-3);margin:16px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pl-pending{color:var(--gold)}.exercise{background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:22px}.exercise .k{font-size:.68rem;letter-spacing:.16em;color:var(--ink-3);margin-bottom:8px}.ex-prompt{font-size:1.06rem;font-weight:500;line-height:1.8;margin:0 0 14px}.ex-input{width:100%;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:var(--ink);font:inherit;font-size:1rem;line-height:1.9;resize:vertical;min-height:150px}.ex-input:focus{outline:none;border-color:rgba(231,194,106,.55)}.ex-input::placeholder{color:var(--ink-3)}.ex-foot{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;margin:8px 0 16px}.ex-foot .ok,.notice.ok{color:var(--sage)}.notice.ok{background:rgba(156,201,143,.13)}.complete{margin-top:4px}.outstanding{list-style:none;padding:0;margin:0 0 16px}.outstanding li{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--ink-2);padding:7px 0}.outstanding .tick{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ink-3);flex:none}.ceremony{position:fixed;inset:0;z-index:40;background:var(--ground)}.cer-body{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.cer-k{font-size:.68rem;letter-spacing:.24em;color:rgba(231,194,106,.78);margin:0 0 10px;opacity:0;transform:translateY(14px)}.cer-big{font-size:3rem;font-weight:700;letter-spacing:-.03em;line-height:1;margin:0 0 14px}.cer-big,.cer-say{opacity:0;transform:translateY(18px)}.cer-say{font-size:1rem;color:var(--ink-2);line-height:1.85;white-space:pre-line;margin:0;max-width:26ch}.cer-go{margin-top:34px;opacity:0;transform:translateY(18px)}.ceremony .cer-k{animation:cerIn .9s cubic-bezier(.2,.8,.3,1) .25s forwards}.ceremony .cer-big{animation:cerIn 1s cubic-bezier(.2,.8,.3,1) .45s forwards}.ceremony .cer-say{animation:cerIn 1s cubic-bezier(.2,.8,.3,1) .65s forwards}.ceremony .cer-go{animation:cerIn .9s cubic-bezier(.2,.8,.3,1) 1.05s forwards}@keyframes cerIn{to{opacity:1;transform:none}}.ceremony.still .cer-big,.ceremony.still .cer-go,.ceremony.still .cer-k,.ceremony.still .cer-say{animation:none;opacity:1;transform:none}