:root,[data-theme=dark]{--ink-0:#000;--ink-1:#0b0b0d;--ink-2:#121214;--line-1:#1b1b1d;--line-2:#26262a;--line-3:#3a3a3e;--paper-1:#f5f2ec;--paper-2:#c9c4bb;--paper-3:#8d8983;--paper-4:#56534f;--paper-5:#3e3c39;--accent:#fff;--bg-app:var(--ink-0);--surface-card:var(--ink-1);--surface-raised:var(--ink-2);--text-primary:var(--paper-1);--text-secondary:var(--paper-2);--text-muted:var(--paper-3);--text-faint:var(--paper-4);--text-question:#fff;--border-subtle:var(--line-1);--border-default:var(--line-2);--border-strong:var(--line-3);--focus-ring:var(--paper-3);--action-fill:var(--paper-1);--action-fill-hover:#fff;--action-fill-text:var(--ink-0);--motif-opacity:.09}[data-theme=light]{--bg-app:#f5f2ec;--surface-card:#eeeae1;--surface-raised:#e6e1d6;--text-primary:#0b0b0d;--text-secondary:#35332f;--text-muted:#6b6862;--text-faint:#94908a;--text-question:#0b0b0d;--border-subtle:#dcd6c9;--border-default:#cfc8b9;--border-strong:#b4ac9c;--focus-ring:#6b6862;--action-fill:#0b0b0d;--action-fill-hover:#000;--action-fill-text:#f5f2ec;--motif-opacity:.14}:root{--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui:"Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;--display-xl:52px;--display-lg:38px;--display-md:29px;--display-sm:23px;--text-body:15px;--text-body-sm:14px;--text-caption:11px;--text-label:9px;--text-eyebrow:10px;--leading-tight:1;--leading-question:1.3;--leading-body:1.6;--leading-prose:1.7;--track-body:.02em;--track-wide:.1em;--track-wider:.16em;--track-widest:.3em;--track-monumental:.4em;--weight-light:300;--weight-regular:400;--weight-medium:500;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--space-7:34px;--space-8:44px;--space-9:52px;--space-10:64px;--gutter-screen:28px;--gutter-form:40px;--radius-sm:2px;--radius-md:3px;--hairline:1px;--tap-min:44px;--control-height:52px;--viewport-mobile:390px;--ease-quiet:cubic-bezier(.2, .6, .2, 1);--dur-state:.18s;--dur-enter:.5s;--dur-keyboard:.2s;--ease-keyboard:cubic-bezier(.22, .9, .25, 1)}@keyframes ennead-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}*{-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-weight:var(--weight-light);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0}.app-shell{height:calc(100dvh - var(--keyboard-inset,0px));transition:height var(--dur-keyboard) var(--ease-keyboard);max-width:var(--viewport-mobile);background:var(--bg-app);flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.screen{min-height:0;animation:ennead-fade-in var(--dur-enter) var(--ease-quiet) both;flex-direction:column;flex:1;display:flex}.scroll-region{-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow:hidden auto}.collapse{transition:grid-template-rows var(--dur-keyboard) var(--ease-keyboard), opacity var(--dur-keyboard) var(--ease-keyboard);flex:none;grid-template-rows:1fr;display:grid}.collapse>*{min-height:0;overflow:hidden}[data-keyboard=up] .collapse{opacity:0;pointer-events:none;grid-template-rows:0fr}[data-keyboard=up] .level-page{gap:var(--space-4);padding-top:var(--space-4);padding-bottom:var(--space-4)}@media (prefers-reduced-motion:reduce){.app-shell,.collapse,.level-page{transition:none}}.btn{font-family:var(--font-ui);font-size:var(--text-eyebrow);letter-spacing:var(--track-widest);text-indent:var(--track-widest);text-transform:uppercase;border:var(--hairline) solid transparent;border-radius:var(--radius-sm);height:var(--control-height);padding:0 var(--space-6);cursor:pointer;transition:background var(--dur-state) var(--ease-quiet), color var(--dur-state) var(--ease-quiet), border-color var(--dur-state) var(--ease-quiet), opacity var(--dur-state) var(--ease-quiet);justify-content:center;align-items:center;display:inline-flex}.btn--sm{height:40px;padding:0 var(--space-5);font-size:var(--text-label)}.btn--block{width:100%}.btn--primary{background:var(--action-fill);color:var(--action-fill-text)}.btn--secondary{color:var(--text-secondary);border-color:var(--border-strong);background:0 0}.btn--ghost{color:var(--text-muted);letter-spacing:var(--track-wide);text-indent:0;text-transform:none;font-size:var(--text-caption);background:0 0;border-color:#0000;height:auto;padding:0}@media (hover:hover){.btn--primary:hover:not(:disabled){background:var(--action-fill-hover)}.btn--secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.btn--ghost:hover:not(:disabled){color:var(--text-primary)}}.btn:active:not(:disabled){opacity:.72}.btn:disabled{opacity:.35;cursor:default}.btn:focus-visible,.field__input:focus-visible,.tab:focus-visible,.icon-button:focus-visible,.mark-button:focus-visible,.segmented__item:focus-visible{outline:var(--hairline) solid var(--focus-ring);outline-offset:3px}.field{flex-direction:column;gap:9px;display:flex}.field__label{font-family:var(--font-ui);font-size:var(--text-label);letter-spacing:var(--track-widest);color:var(--text-muted);text-transform:uppercase}.field__input{font-family:var(--font-ui);font-weight:var(--weight-light);font-size:var(--text-body);letter-spacing:var(--track-body);color:var(--text-primary);border:none;border-bottom:var(--hairline) solid var(--border-default);padding:var(--space-2) 0;box-sizing:border-box;width:100%;transition:border-color var(--dur-state) var(--ease-quiet);background:0 0;border-radius:0;outline:none}.field__input:focus{border-bottom-color:var(--text-muted)}.field__input--boxed{background:var(--surface-card);border:var(--hairline) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);line-height:var(--leading-prose);resize:none}.field__input--boxed:focus{border-color:var(--border-strong)}.field__input::placeholder{color:var(--text-faint)}.field__input:disabled{opacity:.35}.rule{height:var(--hairline);background:var(--border-default);width:100%}.level-title{font-family:var(--font-display);font-size:var(--display-xl);line-height:var(--leading-tight);letter-spacing:var(--track-wider);text-indent:var(--track-wider);color:var(--text-primary)}.question{font-family:var(--font-display);font-style:italic;font-size:var(--display-md);line-height:var(--leading-question);color:var(--text-question);text-wrap:pretty}.wordmark{font-family:var(--font-display);font-size:var(--display-lg);font-weight:var(--weight-regular);letter-spacing:.34em;text-indent:.34em;color:var(--text-primary)}.wordmark__sub{font-size:var(--text-eyebrow);font-weight:var(--weight-light);letter-spacing:var(--track-monumental);text-indent:var(--track-monumental);color:var(--text-muted)}.tabbar{border-top:var(--hairline) solid var(--border-subtle);padding:14px 0 max(30px, env(safe-area-inset-bottom));flex:none;grid-template-columns:repeat(3,1fr);display:grid}.tab{color:var(--text-faint);align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) 0;min-height:var(--tap-min);box-sizing:border-box;font-family:var(--font-ui);transition:color var(--dur-state) var(--ease-quiet);background:0 0;border:none;flex-direction:column;display:flex}.tab--active{color:var(--text-primary)}.tab__label{font-size:var(--text-label);letter-spacing:var(--track-widest);text-indent:var(--track-widest);color:currentColor}@media (hover:hover){.tab:hover{color:var(--text-secondary)}.tab--active:hover{color:var(--text-primary)}}.tab:active{opacity:.72}.app-header{justify-content:flex-start;align-items:center;gap:var(--space-3);padding:calc(var(--space-9) + env(safe-area-inset-top)) var(--gutter-screen) 0;flex:none;display:flex}.notice{font-size:var(--text-caption);letter-spacing:var(--track-body);line-height:var(--leading-body);color:var(--text-secondary);border-left:var(--hairline) solid var(--border-strong);padding-left:var(--space-3)}.rule-dot{align-items:center;gap:10px;width:100%;display:flex}.rule-dot__mark{background:var(--text-primary);border-radius:50%;flex:none;width:4px;height:4px}.icon-button,.mark-button{width:var(--tap-min);height:var(--tap-min);margin-left:calc(var(--space-3) * -1);cursor:pointer;color:var(--text-muted);transition:color var(--dur-state) var(--ease-quiet), opacity var(--dur-state) var(--ease-quiet);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mark-button svg{color:inherit}@media (hover:hover){.icon-button:hover,.mark-button:hover{color:var(--text-primary)}}.icon-button:active,.mark-button:active{opacity:.72}.segmented{border:var(--hairline) solid var(--border-default);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;width:100%;display:grid;overflow:hidden}.segmented__item{font-family:var(--font-ui);font-size:var(--text-eyebrow);letter-spacing:var(--track-widest);text-indent:var(--track-widest);height:var(--control-height);color:var(--text-muted);cursor:pointer;transition:background var(--dur-state) var(--ease-quiet), color var(--dur-state) var(--ease-quiet);background:0 0;border:none}.segmented__item--on{background:var(--surface-raised);color:var(--text-primary)}@media (hover:hover){.segmented__item:hover{color:var(--text-primary)}}.segmented__item:active{opacity:.72}.settings__identity{font-size:var(--text-caption);letter-spacing:var(--track-wide);color:var(--text-faint)}.level-page{gap:var(--space-5);min-height:0;padding:var(--space-7) var(--gutter-screen) var(--space-6);transition:gap var(--dur-keyboard) var(--ease-keyboard), padding var(--dur-keyboard) var(--ease-keyboard);flex-direction:column;flex:1;display:flex;overflow:hidden}.level-page__heading{gap:var(--space-3);flex-direction:column;flex:none;display:flex}.field--fill,.field--fill .field__input{flex:1;min-height:0}.settings-page{justify-content:center;align-items:center;gap:var(--space-9);min-height:0;padding:var(--space-7) var(--gutter-form) var(--space-10);flex-direction:column;flex:1;display:flex;overflow:hidden}.theme-bleed{z-index:9000;pointer-events:none;background:var(--bg-app);opacity:1;position:fixed;inset:0;overflow:hidden}.theme-bleed>*{height:100%}.theme-bleed,.theme-bleed *,.theme-bleed :before,.theme-bleed :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.theme-bleed{display:none}}.install{z-index:8000;width:100%;max-width:var(--viewport-mobile);box-sizing:border-box;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--gutter-screen) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface-raised);border-top:var(--hairline) solid var(--border-default);animation:install-arrive var(--dur-enter) var(--ease-quiet) both;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@keyframes install-arrive{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.install__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.install__title{font-size:var(--text-body-sm);letter-spacing:var(--track-body);color:var(--text-primary);margin:0}.install__steps{font-size:var(--text-caption);line-height:var(--leading-body);color:var(--text-muted);margin:0}.install__close{width:var(--tap-min);height:var(--tap-min);margin-right:calc(var(--space-3) * -1);cursor:pointer;color:var(--text-faint);transition:color var(--dur-state) var(--ease-quiet);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.install__close:focus-visible{outline:var(--hairline) solid var(--focus-ring);outline-offset:3px}@media (hover:hover){.install__close:hover{color:var(--text-primary)}}.install__close:active{opacity:.72}
