:root{--plum:#3d1a35;--gold:#c5a059;--cream:#faf5ec;--plum-deep:#2a1024;--plum-soft:#5c3752;--plum-mist:#f2e9ef;--gold-deep:#9c7c3f;--gold-light:#e4d2a8;--gold-mist:#f7efdd;--cream-card:#fffcf6;--cream-deep:#f0e6d6;--text:#2a1024;--text-soft:#6b5566;--text-muted:#a6969f;--text-on-plum:#f7efdd;--text-on-plum-soft:#f7efddb8;--success:#6b8a5c;--danger:#b65c4f;--font-display:"Cormorant Garamond", serif;--font-body:"Jost", sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-soft:0 4px 20px #3d1a3514;--shadow-lifted:0 8px 32px #3d1a3524;--ease-standard:cubic-bezier(.4, 0, .2, 1);--duration-standard:.3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--cream);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:300;overflow:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.help-now{text-align:left;border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);width:100%;padding:1.15rem 1.2rem .5rem}.help-now__title{font-family:var(--font-display);color:var(--plum);font-size:1.3rem;font-weight:400;line-height:1.2}.help-now__sub{color:var(--text-soft);margin-top:.25rem;font-size:.85rem;line-height:1.5}.help-now__list{margin-top:.6rem;list-style:none}.help-now__list li+li{border-top:1px solid var(--gold-mist)}.help-now__link{min-height:44px;color:var(--plum);flex-direction:column;gap:.1rem;padding:.7rem 0;text-decoration:none;display:flex}.help-now__label{color:var(--text-soft);font-size:.8rem}.help-now__action{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:4px;font-size:1rem;font-weight:400}.help-now__link:active .help-now__action{color:var(--gold-deep)}.sage-orb{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex-shrink:0;display:block}.sage-orb--breathing{will-change:transform;animation:3s ease-in-out infinite sageOrbBreathe}@keyframes sageOrbBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.sage-orb--breathing{animation:none}}.landing{text-align:center;background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:3rem 2rem;display:flex;overflow-y:auto}.landing__inner{flex-direction:column;align-items:center;width:100%;max-width:480px;display:flex}.landing__orb{margin-bottom:1.25rem}.landing__headline{font-family:var(--font-display);letter-spacing:.01em;color:var(--plum);margin-bottom:1rem;font-size:2.1rem;font-weight:400;line-height:1.2}.landing__headline em{color:var(--plum-soft);font-style:italic}.landing__sub{font-family:var(--font-body);color:var(--text-soft);max-width:22rem;margin-bottom:2.5rem;font-size:1rem;font-weight:300;line-height:1.6}.landing__cta{border-radius:var(--radius-pill);background:var(--plum);width:100%;max-width:340px;color:var(--text-on-plum);font-family:var(--font-body);letter-spacing:.02em;transition:background var(--duration-standard) var(--ease-standard);padding:1rem 1.25rem;font-size:1rem;font-weight:400}.landing__cta:hover{background:var(--plum-soft)}.landing__reassure{color:var(--text-soft);max-width:20rem;margin-top:1.25rem;font-size:.82rem;line-height:1.6}.landing__signin{color:var(--plum-soft);text-underline-offset:3px;margin-top:2rem;font-size:.85rem;text-decoration:underline}.landing__legal{color:var(--text-soft);flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin-top:2rem;font-size:.8rem;display:flex}.landing__legal a{color:var(--text-soft);text-underline-offset:3px}.landing__help{margin-top:2.4rem}.auth-screen{text-align:center;background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2.5rem 2rem;display:flex}.auth-orb{margin:0 auto .9rem}.auth-title{font-family:var(--font-display);color:var(--plum);margin-bottom:.5rem;font-size:2.6rem;font-weight:400;line-height:1}.auth-tagline{font-family:var(--font-display);color:var(--text-soft);margin-bottom:2.4rem;font-size:1.05rem;font-style:italic}.auth-form{flex-direction:column;gap:.9rem;width:100%;max-width:340px;display:flex}.auth-label{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);text-align:left;font-size:.62rem}.auth-input{border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);width:100%;font-family:var(--font-body);color:var(--text);padding:.85rem 1rem;font-size:1rem}.auth-input::placeholder{color:var(--text-muted)}.auth-submit{border-radius:var(--radius-pill);background:var(--plum);width:100%;color:var(--text-on-plum);font-family:var(--font-body);letter-spacing:.02em;transition:background var(--duration-standard) var(--ease-standard), opacity var(--duration-standard);padding:.9rem 1rem;font-size:.95rem;font-weight:400}.auth-submit:disabled{opacity:.5;cursor:default}.auth-submit:not(:disabled):hover{background:var(--plum-soft)}.auth-error{color:var(--danger);font-size:.82rem}.auth-footnote{color:var(--text-soft);max-width:320px;margin-top:2.2rem;font-size:.8rem;line-height:1.6}.auth-footnote strong{color:var(--plum-soft);font-weight:500}.auth-sent-icon{background:var(--gold-mist);border:1px solid var(--gold-light);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 1.4rem;font-size:1.7rem;display:flex}.auth-sent-title{font-family:var(--font-display);color:var(--plum);margin-bottom:.6rem;font-size:1.7rem}.auth-sent-body{font-family:var(--font-body);color:var(--text-soft);max-width:300px;margin-bottom:1.6rem;font-size:.95rem;line-height:1.6}.auth-sent-body strong{color:var(--text)}.auth-resend{color:var(--plum-soft);text-underline-offset:3px;font-size:.85rem;text-decoration:underline}.auth-resend:disabled{opacity:.5;cursor:default;text-decoration:none}.auth-footnote a{color:var(--plum-soft);text-underline-offset:3px}.splash{text-align:center;background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;height:100%;padding:2rem;display:flex}.splash__message{font-family:var(--font-display);color:var(--text-soft);max-width:18rem;font-size:1.15rem;font-style:italic;line-height:1.5}.welcome{height:100%;padding:1.2rem 1.6rem calc(1.4rem + env(safe-area-inset-bottom));padding-top:calc(1.2rem + env(safe-area-inset-top));background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);flex-direction:column;display:flex}.welcome__top{grid-template-columns:1fr auto 1fr;align-items:center;min-height:2rem;display:grid}.welcome__back{color:var(--plum-soft);justify-self:start;padding:.4rem 0;font-size:.9rem}.welcome__dots{gap:.45rem;display:flex}.welcome__dot{background:var(--gold-light);width:7px;height:7px;transition:background var(--duration-standard) var(--ease-standard);border-radius:50%}.welcome__dot--on{background:var(--plum)}.welcome__body{flex-direction:column;flex:1;justify-content:center;gap:.9rem;min-height:0;padding:1rem 0;display:flex;overflow-y:auto}.welcome__title{font-family:var(--font-display);color:var(--plum);text-wrap:balance;font-size:2.15rem;font-weight:400;line-height:1.15}.welcome__sub{color:var(--text-soft);max-width:24rem;margin-bottom:.6rem;font-size:1rem;line-height:1.55}.welcome__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.welcome__input,.welcome__select{border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);width:100%;font-family:var(--font-display);color:var(--text);padding:.95rem 1.05rem;font-size:1.3rem}.welcome__input::placeholder{color:var(--text-muted)}.welcome__select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--plum-soft) 50%), linear-gradient(135deg, var(--plum-soft) 50%, transparent 50%);background-position:calc(100% - 1.3rem) 55%,calc(100% - .95rem) 55%;background-repeat:no-repeat;background-size:.35rem .35rem}.welcome__choices{flex-direction:column;gap:.7rem;display:flex}.welcome__choice{text-align:left;border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);transition:background var(--duration-standard) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard);flex-direction:column;gap:.2rem;padding:1rem 1.15rem;display:flex}.welcome__choice:hover{background:var(--gold-mist)}.welcome__choice--on,.welcome__choice--on:hover{background:var(--plum);border-color:var(--plum)}.welcome__choice-label{font-family:var(--font-display);color:var(--plum);font-size:1.3rem}.welcome__choice-hint{color:var(--text-soft);font-size:.85rem}.welcome__choice--on .welcome__choice-label{color:var(--text-on-plum)}.welcome__choice--on .welcome__choice-hint{color:var(--text-on-plum-soft)}.welcome__error{color:var(--danger);font-size:.85rem}.welcome__bottom{flex-direction:column;align-items:center;gap:.9rem;display:flex}.welcome__next{border-radius:var(--radius-pill);background:var(--plum);width:100%;color:var(--text-on-plum);letter-spacing:.02em;transition:background var(--duration-standard) var(--ease-standard), opacity var(--duration-standard);padding:1rem 1.25rem;font-size:1rem}.welcome__next:disabled{opacity:.45;cursor:default}.welcome__next:not(:disabled):hover{background:var(--plum-soft)}.welcome__privacy{color:var(--text-soft);text-align:center;font-size:.8rem}.welcome__privacy a{color:var(--plum-soft);text-underline-offset:3px}.upgrade{-webkit-overflow-scrolling:touch;height:100%;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom));padding-top:calc(2rem + env(safe-area-inset-top));background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);overflow-y:auto}.upgrade__inner{text-align:center;flex-direction:column;align-items:center;display:flex}.upgrade__orb{margin-bottom:1rem}.upgrade__notice{border-radius:var(--radius-md);background:var(--gold-mist);border:1px solid var(--gold-light);width:100%;color:var(--plum-soft);margin-bottom:1.2rem;padding:.7rem 1rem;font-size:.88rem}.upgrade__title{font-family:var(--font-display);color:var(--plum);text-wrap:balance;margin-bottom:.7rem;font-size:2rem;font-weight:400;line-height:1.2}.upgrade__sub{color:var(--text-soft);max-width:24rem;margin-bottom:1.6rem;font-size:.98rem;line-height:1.6}.upgrade__plans{flex-direction:column;gap:.7rem;width:100%;margin-bottom:1.4rem;display:flex}.upgrade__plan{text-align:left;border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);transition:border-color var(--duration-standard) var(--ease-standard), background var(--duration-standard) var(--ease-standard);flex-direction:column;gap:.25rem;padding:1rem 1.15rem;display:flex}.upgrade__plan:hover{background:var(--gold-mist)}.upgrade__plan--on,.upgrade__plan--on:hover{border-color:var(--plum);background:var(--plum-mist);box-shadow:inset 0 0 0 1px var(--plum)}.upgrade__plan-main{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.upgrade__plan-name{font-family:var(--font-display);color:var(--plum);font-size:1.35rem}.upgrade__plan-price{color:var(--text);font-size:1rem;font-weight:400}.upgrade__plan-note{color:var(--text-soft);font-size:.85rem}.upgrade__list{text-align:left;flex-direction:column;gap:.6rem;width:100%;margin-bottom:1.5rem;list-style:none;display:flex}.upgrade__list li{color:var(--text);padding-left:1.3rem;font-size:.95rem;line-height:1.5;position:relative}.upgrade__list li:before{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:.2rem}.upgrade__error{width:100%;color:var(--danger);margin-bottom:.8rem;font-size:.88rem}.upgrade__cta{border-radius:var(--radius-pill);background:var(--plum);width:100%;color:var(--text-on-plum);letter-spacing:.02em;transition:background var(--duration-standard) var(--ease-standard), opacity var(--duration-standard);padding:1rem 1.25rem;font-size:1rem}.upgrade__cta:disabled{opacity:.55;cursor:default}.upgrade__cta:not(:disabled):hover{background:var(--plum-soft)}.upgrade__fine{color:var(--text-soft);max-width:26rem;margin-top:1.1rem;font-size:.8rem;line-height:1.6}.upgrade__fine a{color:var(--plum-soft);text-underline-offset:3px}.upgrade__signout{color:var(--plum-soft);text-underline-offset:3px;margin-top:1.4rem;font-size:.85rem;text-decoration:underline}.upgrade__help{margin-top:2rem}.sage-screen{background:var(--cream);flex-direction:column;height:100%;display:flex}.sage-header{padding:calc(1.1rem + env(safe-area-inset-top)) 1.4rem 1.1rem;background:var(--plum);box-shadow:var(--shadow-soft);flex-shrink:0;align-items:center;gap:.7rem;display:flex}.sage-header__orb{margin:-.35rem 0}.sage-header__title{font-family:var(--font-display);color:var(--text-on-plum);font-size:1.3rem;font-weight:400;line-height:1.1}.sage-header__subtitle{letter-spacing:.03em;color:var(--text-on-plum-soft);margin-top:.15rem;font-size:.75rem}.sage-messages{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.9rem;padding:1.4rem 1.1rem;display:flex;overflow-y:auto}.chat-row{align-items:flex-end;gap:.6rem;animation:.3s fadeUp;display:flex}.chat-row--user{flex-direction:row-reverse}.chat-avatar{width:28px;height:28px;font-size:.65rem;font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:flex}.chat-avatar--sage{width:32px;height:32px;margin:-2px}.chat-avatar--user{background:var(--gold);color:var(--plum)}.chat-bubble{border-radius:var(--radius-md);max-width:78%;font-family:var(--font-display);background:var(--cream-card);border:1px solid var(--gold-light);color:var(--text);white-space:pre-wrap;border-bottom-left-radius:4px;padding:.85rem 1.05rem;font-size:1.05rem;line-height:1.65}.chat-bubble--user{background:var(--plum);color:var(--text-on-plum);border-bottom-left-radius:var(--radius-md);border:none;border-bottom-right-radius:4px}.typing-bubble{background:var(--cream-card);border:1px solid var(--gold-light);border-radius:var(--radius-md);border-bottom-left-radius:4px;align-items:center;gap:4px;width:fit-content;padding:.9rem 1.1rem;display:flex}.typing-dot{background:var(--gold-deep);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingPulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sage-suggestions{scrollbar-width:none;flex-shrink:0;gap:.5rem;padding:0 1.1rem .8rem;display:flex;overflow-x:auto}.sage-suggestions::-webkit-scrollbar{display:none}.sage-chip{border-radius:var(--radius-pill);border:1px solid var(--gold-light);background:var(--cream-card);color:var(--plum-soft);white-space:nowrap;transition:background var(--duration-standard) var(--ease-standard);flex-shrink:0;padding:.5rem .95rem;font-size:.82rem}.sage-chip:hover{background:var(--gold-mist)}.sage-input-bar{background:var(--cream-card);border-top:1px solid var(--gold-light);flex-shrink:0;align-items:flex-end;gap:.6rem;padding:.8rem 1.1rem .4rem;display:flex}.sage-input{resize:none;border-radius:var(--radius-lg);border:1px solid var(--gold-light);background:var(--cream);min-height:2.5rem;max-height:6.5rem;font-family:var(--font-display);color:var(--text);flex:1;padding:.6rem .9rem;font-size:1rem;line-height:1.4}.sage-input::placeholder{color:var(--text-muted)}.sage-send{background:var(--plum);width:2.5rem;height:2.5rem;color:var(--gold-light);transition:background var(--duration-standard) var(--ease-standard), opacity var(--duration-standard);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sage-send:disabled{opacity:.4;cursor:default}.sage-send:not(:disabled):hover{background:var(--plum-soft)}.sage-error{color:var(--danger);font-size:.8rem;font-family:var(--font-body);padding:0 1.1rem .6rem}.chat-stack{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:78%;display:flex}.chat-row--user .chat-stack{align-items:flex-end}.chat-stack .chat-bubble{max-width:100%}.chat-resources{flex-direction:column;gap:.4rem;width:100%;list-style:none;display:flex}.chat-resource{border-radius:var(--radius-md);border:1px solid var(--plum);background:var(--plum-mist);color:var(--plum);flex-direction:column;gap:.1rem;padding:.65rem .9rem;text-decoration:none;display:flex}.chat-resource:hover{background:var(--gold-mist)}.chat-resource__label{color:var(--text-soft);font-size:.78rem}.chat-resource__action{font-size:1rem;font-weight:400}.sage-disclaimer{background:var(--cream-card);color:var(--text-soft);text-align:center;flex-shrink:0;padding:0 1.1rem .6rem;font-size:.74rem;line-height:1.4}.sage-disclaimer a{color:var(--plum-soft);text-underline-offset:2px}.chat-row--top{align-items:flex-start}.sage-no-plan{border-radius:var(--radius-md);background:var(--gold-mist);border:1px solid var(--gold-light);color:var(--text-soft);flex-shrink:0;margin:0 1.1rem .6rem;padding:.75rem .95rem;font-size:.85rem;line-height:1.5}.sage-no-plan a,.sage-plans-link{color:var(--plum);font-family:var(--font-body);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.sage-plans-link{margin-top:.5rem;font-size:.9rem;display:block}.library{background:var(--cream);flex-direction:column;height:100%;display:flex}.library__scroll{-webkit-overflow-scrolling:touch;min-height:0;padding:calc(1.6rem + env(safe-area-inset-top)) 1.4rem 1.6rem;flex:1;overflow-y:auto}.library__header{margin-bottom:1.6rem}.library__title{font-family:var(--font-display);color:var(--plum);font-size:2.2rem;font-weight:400;line-height:1.1}.library__sub{font-family:var(--font-display);color:var(--text-soft);margin-top:.4rem;font-size:1.1rem;font-style:italic}.library__group{margin-bottom:2.2rem}.library__group-title{font-family:var(--font-display);color:var(--plum);max-width:20ch;font-size:1.55rem;font-weight:400;line-height:1.15}.library__group-sub{color:var(--text-soft);margin:.3rem 0 .9rem;font-size:.85rem}.library__shelf{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.85rem;margin:0 -1.4rem;padding:.2rem 1.4rem .4rem;scroll-padding-inline:1.4rem;list-style:none;display:flex;overflow-x:auto}.library__shelf::-webkit-scrollbar{display:none}.library__item{scroll-snap-align:start;flex:0 0 40vw;max-width:176px}.library__card{aspect-ratio:2/3;border-radius:var(--radius-md);background:var(--cream-deep);width:100%;box-shadow:var(--shadow-soft);display:block;position:relative;overflow:hidden}button.library__card{transition:transform var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard)}button.library__card:active{transform:scale(.98)}.library__card--active{box-shadow:0 0 0 2px var(--cream), 0 0 0 4px var(--gold), var(--shadow-lifted)}.library__art{object-fit:cover;width:100%;height:100%;display:block}.library__card--soon .library__art{opacity:.55;filter:saturate(.6)}.library__play{background:var(--plum);width:34px;height:34px;color:var(--gold-light);box-shadow:var(--shadow-soft);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.6rem;right:.6rem}.library__card-title{font-family:var(--font-display);color:var(--text);margin-top:.55rem;font-size:1.05rem;line-height:1.25}.library__card-meta{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.library__player{background:var(--plum);color:var(--text-on-plum);box-shadow:var(--shadow-lifted);flex-shrink:0;padding:.8rem 1.2rem .9rem}.library__player-top{align-items:center;gap:.8rem;margin-bottom:.6rem;display:flex}.library__player-btn{background:var(--gold);width:36px;height:36px;color:var(--plum);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.library__player-title{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.1rem;overflow:hidden}.library__player-time{color:var(--text-on-plum-soft);font-variant-numeric:tabular-nums;font-size:.75rem}.library__seek{appearance:none;background:linear-gradient(to right, var(--gold) var(--progress,0%), #f7efdd40 var(--progress,0%));cursor:pointer;border-radius:2px;width:100%;height:4px}.library__seek::-webkit-slider-thumb{appearance:none;background:var(--gold-light);border:none;border-radius:50%;width:14px;height:14px}.library__seek::-moz-range-thumb{background:var(--gold-light);border:none;border-radius:50%;width:14px;height:14px}.library__seek:focus-visible{outline-color:var(--gold-light)}.library__error{color:var(--text-on-plum);font-size:.88rem}.account{background:var(--cream);height:100%}.account__scroll{-webkit-overflow-scrolling:touch;height:100%;padding:calc(1.8rem + env(safe-area-inset-top)) 1.4rem 2rem;flex-direction:column;gap:1.1rem;display:flex;overflow-y:auto}.account__header{margin-bottom:.4rem}.account__title{font-family:var(--font-display);color:var(--plum);font-size:2.2rem;font-weight:400;line-height:1.1}.account__email{color:var(--text-soft);word-break:break-all;margin-top:.3rem;font-size:.9rem}.account__card{border-radius:var(--radius-md);border:1px solid var(--gold-light);background:var(--cream-card);padding:1.15rem 1.2rem}.account__label{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;font-weight:400}.account__plan{font-family:var(--font-display);color:var(--plum);font-size:1.4rem}.account__detail{color:var(--text-soft);margin-top:.4rem;font-size:.88rem;line-height:1.55}.account__button{border-radius:var(--radius-pill);background:var(--plum);color:var(--text-on-plum);transition:background var(--duration-standard) var(--ease-standard), opacity var(--duration-standard);margin-top:.9rem;padding:.7rem 1.3rem;font-size:.92rem}.account__button:disabled{opacity:.55;cursor:default}.account__button:not(:disabled):hover{background:var(--plum-soft)}.account__message{color:var(--danger);margin-top:.7rem;font-size:.85rem}.account__links{flex-direction:column;list-style:none;display:flex}.account__links li{border-bottom:1px solid var(--gold-light)}.account__links li:last-child{border-bottom:none}.account__links a{color:var(--plum);padding:.75rem 0;font-size:.98rem;text-decoration:none;display:block}.account__links a:hover{color:var(--plum-soft)}.account__signout{color:var(--plum-soft);text-underline-offset:3px;align-self:center;margin-top:.4rem;font-size:.9rem;text-decoration:underline}.legal{background:var(--cream);height:100%}.legal__scroll{-webkit-overflow-scrolling:touch;height:100%;padding:calc(1.2rem + env(safe-area-inset-top)) 1.5rem calc(2.5rem + env(safe-area-inset-bottom));overflow-y:auto}.legal__back{color:var(--plum-soft);margin-bottom:.8rem;padding:.4rem 0;font-size:.9rem}.legal__title{font-family:var(--font-display);color:var(--plum);font-size:2.1rem;font-weight:400;line-height:1.15}.legal__updated{color:var(--text-muted);margin-top:.3rem;font-size:.8rem}.legal__intro{font-family:var(--font-display);color:var(--text);margin:1.2rem 0 1.4rem;font-size:1.15rem;line-height:1.6}.legal__section{margin-bottom:1.5rem}.legal__heading{font-family:var(--font-display);color:var(--plum);margin-bottom:.45rem;font-size:1.3rem;font-weight:500}.legal__p{color:var(--text);max-width:38rem;margin-bottom:.65rem;font-size:.95rem;line-height:1.65}.shell{background:var(--cream);flex-direction:column;height:100%;display:flex}.shell__main{flex-direction:column;flex:1;min-height:0;display:flex}.shell__main>*{flex:1;min-height:0}.shell__nav{background:var(--cream-card);border-top:1px solid var(--gold-light);padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;display:flex}.shell__tab{color:var(--text-muted);transition:color var(--duration-standard) var(--ease-standard);border-top:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:.2rem;margin-top:-1px;padding:.6rem 0 .55rem;font-size:.72rem;text-decoration:none;display:flex}.shell__tab:hover{color:var(--plum-soft)}.shell__tab--active{color:var(--plum);border-top-color:var(--gold)}.app-frame{background:var(--cream);max-width:480px;height:100dvh;margin:0 auto;position:relative}@media (width>=520px){.app-frame{box-shadow:0 0 0 1px var(--gold-light)}}.load-problem{text-align:center;background:linear-gradient(165deg, var(--cream) 0%, var(--gold-mist) 55%, var(--cream) 100%);flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:2rem;display:flex}.load-problem__text{font-family:var(--font-display);color:var(--plum);max-width:20rem;font-size:1.3rem;line-height:1.4}.load-problem__button{border-radius:var(--radius-pill);background:var(--plum);color:var(--text-on-plum);padding:.8rem 1.8rem;font-size:.95rem}.load-problem__link{color:var(--plum-soft);text-underline-offset:3px;font-size:.88rem;text-decoration:underline}
