*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;min-height:100svh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;background:0 0;font-family:Karla,sans-serif}#root{justify-content:center;display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-orb{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes glow-ring{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.25)}}@keyframes confetti-pop{0%{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.9}to{opacity:0;transform:translateY(-180px)scale(.3)}}.screen{flex-direction:column;width:100%;max-width:390px;min-height:100svh;display:flex}.content{flex-direction:column;flex:1;gap:14px;padding:20px 24px 32px;display:flex}.content-sm{flex-direction:column;flex:1;gap:12px;padding:12px 24px 32px;display:flex}.spacer{flex:1}.flex-center{justify-content:center;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.flex-wrap{flex-wrap:wrap;gap:7px;display:flex}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.w-full{width:100%}.mono{font-family:DM Mono,monospace}.body-font{font-family:Karla,sans-serif}.btn-bare{cursor:pointer;background:0 0;border:none}.breathe-btn{max-width:180px;margin:8px auto 0;transition:transform .15s;position:relative}.breathe-btn:active{transform:scale(.98)}.step-label{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-family:DM Mono,monospace;font-size:9px}.mono-hint{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:DM Mono,monospace;font-size:8px}.mono-sm{letter-spacing:.1em;font-family:DM Mono,monospace;font-size:9px}.mono-xs{letter-spacing:.08em;font-family:DM Mono,monospace;font-size:8px}.heading{font-family:var(--heading-font,"Cormorant Garamond",serif);font-size:30px;font-weight:var(--heading-weight,700);color:var(--text);margin:0;line-height:1.1}.heading-lg{font-family:var(--heading-font,"Cormorant Garamond",serif);font-size:34px;font-weight:var(--heading-weight,700);color:var(--text);margin:0;line-height:1.1}.heading-xl{font-family:var(--heading-font,"Cormorant Garamond",serif);font-size:36px;font-weight:var(--heading-weight,700);color:var(--text);text-align:center;margin:0;line-height:1.15}.heading-sm{font-family:var(--heading-font,"Cormorant Garamond",serif);font-size:28px;font-weight:var(--heading-weight,700);color:var(--text);margin:0;line-height:1}.subtext{font-family:var(--body-font,"Karla",sans-serif);color:var(--muted);font-size:13px;font-weight:300;line-height:1.5}.text-center{text-align:center}.btn-primary{width:100%;font-family:var(--body-font,"Karla",sans-serif);cursor:pointer;letter-spacing:.02em;color:#fff;background:var(--accent);border:none;border-radius:14px;padding:16px;font-size:15px;font-weight:600;transition:background .2s}.btn-primary:disabled{background:color-mix(in srgb, var(--accent) 40%, transparent);cursor:default}.btn-ghost{cursor:pointer;background:0 0;border-radius:14px;width:100%;padding:15px;font-size:14px}.btn-back{cursor:pointer;letter-spacing:.1em;color:var(--muted);text-align:left;background:0 0;border:none;padding:14px 20px 6px;font-family:DM Mono,monospace;font-size:11px;transition:color .3s;display:block}.btn-icon{cursor:pointer;background:0 0;border:none;flex-shrink:0}.btn-nav{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 0;display:flex}.progress-track{flex-shrink:0;width:100%;height:3px}.progress-fill{border-radius:2px;height:100%;transition:width .5s}.card-flush{padding:0;overflow:hidden}.chip{cursor:pointer;border-radius:24px;align-items:center;gap:5px;padding:7px 14px;font-family:Karla,sans-serif;font-size:12px;font-weight:500;transition:all .18s;display:flex}.sel-btn{cursor:pointer;text-align:left;border-radius:12px;align-items:center;width:100%;padding:12px 10px;transition:all .18s;display:flex;position:relative}.sel-btn-lg{text-align:center;border-radius:14px;padding:14px 10px}.check-circle{color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.radio{border-style:solid;border-width:2px;border-radius:50%;flex-shrink:0;width:16px;height:16px}.settings-row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.settings-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.stat{text-align:center}.stat-value{color:var(--accent);line-height:1}.stat-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-family:DM Mono,monospace;font-size:8px}.divider{align-items:center;gap:10px;display:flex}.divider-line{flex:1;height:1px}.field{border-radius:12px;padding:12px 14px}.field-label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-family:DM Mono,monospace;font-size:8px}.field-input{width:100%;font-family:var(--body-font,"Karla",sans-serif);color:var(--text);caret-color:var(--accent);box-sizing:border-box;background:0 0;border:none;outline:none;font-size:15px}.modal-overlay{z-index:100;background:#0009;display:flex;position:fixed;inset:0}.modal-overlay-dark{background:#000000b3}.modal-bottom{justify-content:center;align-items:flex-end}.modal-center{justify-content:center;align-items:center;padding:0 24px}.modal-sheet{border-radius:20px 20px 0 0;width:100%;max-width:390px;max-height:85vh;padding:24px 20px 40px;overflow-y:auto}.bottom-nav{z-index:50;justify-content:space-around;align-items:center;width:100%;max-width:390px;height:64px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-label{letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:8px;transition:color .15s}.spinner{border-radius:50%;animation:1s linear infinite spin}.dot{border-radius:50%;transition:background .3s}.breath-ring{border-radius:50%;transition:transform 1s ease-in-out;position:absolute}.info-banner{border-radius:12px;padding:10px 14px}.fade-in{transition:opacity .4s}.fade-in-slow{transition:opacity .5s}
