.passage{position:relative;display:grid;min-height:100dvh;grid-template-rows:auto 1fr auto;overflow-x:clip;background:hsl(var(--background));color:hsl(var(--foreground));padding:max(var(--space-2),env(safe-area-inset-top)) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left))}.passage:before{position:absolute;inset:auto -20% -40% -20%;height:70%;content:"";pointer-events:none;background:radial-gradient(ellipse at 50% 100%,hsl(var(--primary)/.16),transparent 62%);opacity:var(--passage-light,.5);transition:opacity .9s var(--ease-out)}.passage[data-light=full]{--passage-light:1}.passage-bar{position:relative;z-index:1;display:flex;min-height:48px;width:100%;max-width:34rem;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 auto}.passage-brand{gap:10px}.passage-back,.passage-brand{display:inline-flex;min-height:44px;align-items:center}.passage-back{gap:6px;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:600;transition:color var(--motion-micro) var(--ease-out)}.passage-back:hover{color:hsl(var(--foreground))}.passage-body{position:relative;z-index:1;display:flex;width:100%;max-width:34rem;flex-direction:column;justify-content:center;margin:0 auto;padding:var(--space-4) 0}.passage-step{color:hsl(var(--muted-foreground));font-size:.8125rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.passage-title{margin-top:var(--space-1);font-family:var(--font-journal);font-size:clamp(1.75rem,6vw,2.25rem);font-weight:600;line-height:1.32;letter-spacing:-.01em;text-wrap:balance;word-break:auto-phrase}.passage-lead{word-break:auto-phrase;margin-top:var(--space-2);font-size:1rem;text-wrap:pretty}.passage-foot,.passage-lead{color:hsl(var(--muted-foreground));line-height:1.8}.passage-foot{position:relative;z-index:1;width:100%;max-width:34rem;margin:0 auto;font-size:.75rem}.passage-foot nav{display:flex;flex-wrap:wrap;gap:0 var(--space-2);margin-top:4px}.passage-foot a{display:inline-flex;min-height:44px;align-items:center;color:hsl(var(--muted-foreground));text-decoration:underline;text-decoration-color:hsl(var(--border));text-underline-offset:3px}.passage-foot a:hover{color:hsl(var(--foreground))}.passage-swap{animation:passage-rise .36s var(--ease-out) both}@keyframes passage-rise{0%{opacity:0;transform:translateY(10px)}}.order-sheet{margin-top:var(--space-4);overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--surface));box-shadow:var(--paper-edge-shadow)}.order-sheet-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.order-cover{position:relative;display:grid;width:52px;height:68px;flex:none;place-items:center;border-radius:3px 6px 6px 3px;background:linear-gradient(90deg,#050608 0 6%,#14161b 6% 100%);box-shadow:inset -1px 0 0 hsl(var(--primary)/.5),0 6px 14px rgb(0 0 0/.45)}.order-cover img{width:22px;height:22px;filter:sepia(1) saturate(2.4) hue-rotate(-12deg) brightness(.86)}.order-name{word-break:auto-phrase;font-size:1rem;font-weight:600;line-height:1.45}.order-reading{color:hsl(var(--muted-foreground));font-size:.8125rem}.order-price{margin-left:auto;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.order-price small{display:block;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:400;text-align:right}.order-terms{border-top:1px solid hsl(var(--border))}.order-terms div{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-2);padding:12px var(--space-3);font-size:.875rem;line-height:1.65}.order-terms div+div{border-top:1px solid hsl(var(--border)/.6)}.order-terms dt{color:hsl(var(--muted-foreground))}.order-account{display:flex;align-items:center;gap:12px;border-top:1px solid hsl(var(--border));padding:12px var(--space-3);font-size:.875rem}.order-avatar{display:grid;width:32px;height:32px;flex:none;place-items:center;overflow:hidden;border-radius:999px;background:hsl(var(--surface-raised));color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:600}.order-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.order-account-text{min-width:0;flex:1}.order-account-text p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-account-text span{color:hsl(var(--muted-foreground));font-size:.75rem}.order-switch{min-height:44px;flex:none;padding:0 8px;color:hsl(var(--primary));font-size:.8125rem;font-weight:600}.order-switch:hover{text-decoration:underline;text-underline-offset:3px}.passage-cta{display:inline-flex;min-height:56px;width:100%;align-items:center;justify-content:center;gap:10px;margin-top:var(--space-3);border-radius:14px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:1.0625rem;font-weight:600;transition:transform .14s var(--ease-out),background-color var(--motion-micro) var(--ease-out),opacity var(--motion-micro)}.passage-cta:hover:not(:disabled){background:hsl(var(--primary)/.92)}.passage-cta:active:not(:disabled){transform:scale(.98)}.passage-cta:disabled{cursor:progress;opacity:.72}.order-switch:focus-visible,.passage-back:focus-visible,.passage-cta:focus-visible,.passage-foot a:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.passage-google{background:hsl(var(--foreground));color:hsl(var(--background))}.passage-google:hover:not(:disabled){background:hsl(var(--foreground)/.9)}.passage-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;color:hsl(var(--muted-foreground));font-size:.75rem}.passage-error{margin-top:var(--space-2);border:1px solid hsl(var(--destructive)/.4);border-radius:12px;background:hsl(var(--destructive)/.08);padding:12px var(--space-2);color:hsl(var(--foreground))}.open-in-browser,.passage-error{font-size:.875rem;line-height:1.7}.open-in-browser{margin-top:var(--space-3);border:1px solid hsl(var(--primary)/.45);border-radius:14px;background:hsl(var(--primary)/.08);padding:var(--space-2) var(--space-2) 12px}.open-in-browser-title{font-weight:600;word-break:auto-phrase}.open-in-browser p{margin-top:4px;color:hsl(var(--foreground));word-break:auto-phrase}.open-in-browser ol{margin-top:6px;padding-left:1.25em;color:hsl(var(--muted-foreground))}.open-in-browser-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.open-in-browser-button{display:inline-flex;min-height:44px;align-items:center;gap:6px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--surface));padding:0 12px;font-size:.875rem;font-weight:600}.open-in-browser-button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.settle{display:flex;flex-direction:column;align-items:center;text-align:center}.settle-mark{width:88px;height:88px}.settle-ring-track{fill:none;stroke:hsl(var(--border));stroke-width:2}.settle-ring{fill:none;stroke:hsl(var(--primary));stroke-linecap:round;stroke-width:2.5;transform:rotate(-90deg);transform-origin:50% 50%;stroke-dasharray:276.46;stroke-dashoffset:276.46}.settle[data-state=waiting] .settle-ring{stroke-dashoffset:220;animation:settle-orbit 1.4s linear infinite}.settle[data-state=done] .settle-ring{stroke-dashoffset:0;transition:stroke-dashoffset .52s var(--ease-out)}.settle-check{fill:none;stroke:hsl(var(--primary));stroke-linecap:round;stroke-linejoin:round;stroke-width:3;stroke-dasharray:56;stroke-dashoffset:56}.settle[data-state=done] .settle-check{stroke-dashoffset:0;transition:stroke-dashoffset .36s var(--ease-out) .38s}.settle[data-state=done] .settle-mark{animation:settle-pop .52s var(--ease-out) .38s both}@keyframes settle-orbit{to{transform:rotate(270deg)}}@keyframes settle-pop{50%{transform:scale(1.06)}}.settle-title{word-break:auto-phrase;margin-top:var(--space-3);font-family:var(--font-journal);font-size:clamp(1.625rem,5.6vw,2rem);font-weight:600;line-height:1.35}.settle-lead{word-break:auto-phrase;margin-top:12px;color:hsl(var(--muted-foreground));line-height:1.8}.settle-receipt{display:grid;width:100%;grid-template-columns:1fr auto;gap:6px var(--space-2);margin-top:var(--space-4);border-top:1px dashed hsl(var(--border));border-bottom:1px dashed hsl(var(--border));padding:var(--space-2) 4px;font-size:.875rem;text-align:left}.settle-receipt dt{color:hsl(var(--muted-foreground));word-break:auto-phrase}.settle-receipt dd{font-variant-numeric:tabular-nums;text-align:right}.settle-reveal{width:100%;animation:passage-rise .42s var(--ease-out) .76s both}.daybook-layer{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;justify-content:center}@media (min-width:640px){.daybook-layer{align-items:center}}.daybook-scrim{position:absolute;inset:0;background:rgb(0 0 0/.5);backdrop-filter:blur(18px) saturate(1.1);animation:daybook-fade .28s var(--ease-out) both}.daybook-sheet{outline:none;position:relative;width:min(100%,30rem);max-height:92dvh;overflow-y:auto;border:1px solid hsl(var(--border)/.9);border-bottom:0;border-radius:24px 24px 0 0;background:hsl(var(--surface));box-shadow:var(--shadow-floating);padding:var(--space-4) var(--space-3) max(var(--space-3),env(safe-area-inset-bottom));animation:daybook-up .46s var(--ease-drawer) both}@media (min-width:640px){.daybook-sheet{border-bottom:1px solid hsl(var(--border)/.9);border-radius:24px;padding:var(--space-5) var(--space-4) var(--space-4)}}.daybook-sheet[data-leaving=true]{animation:daybook-down .24s var(--ease-in-out) both}.daybook-scrim[data-leaving=true]{animation:daybook-fade .24s var(--ease-in-out) reverse both}.daybook-grabber{width:36px;height:5px;margin:calc(var(--space-2) * -1) auto var(--space-3);border-radius:999px;background:hsl(var(--input))}@media (min-width:640px){.daybook-grabber{display:none}}.daybook-mark{display:block;width:44px;height:44px;margin:0 auto}.daybook-title{word-break:auto-phrase;margin-top:var(--space-2);font-family:var(--font-journal);font-size:1.75rem;font-weight:600;line-height:1.3;text-align:center}.daybook-rows{display:grid;gap:var(--space-3);margin:var(--space-4) 0}.daybook-row{display:grid;grid-template-columns:44px 1fr;gap:var(--space-2);align-items:start;animation:passage-rise .42s var(--ease-out) both;animation-delay:calc(.18s + var(--i) * 70ms)}.daybook-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:hsl(var(--primary)/.12);color:hsl(var(--primary))}.daybook-when{color:hsl(var(--primary));font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.daybook-what{font-size:1rem;font-weight:600;line-height:1.5}.daybook-how,.daybook-what{word-break:auto-phrase;margin-top:2px}.daybook-how{font-size:.875rem;line-height:1.65}.daybook-how,.daybook-later{color:hsl(var(--muted-foreground))}.daybook-later{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;margin-top:4px;font-size:.9375rem;font-weight:600}.daybook-later:hover{color:hsl(var(--foreground))}.daybook-later:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:12px}@keyframes daybook-fade{0%{opacity:0}}@keyframes daybook-up{0%{transform:translateY(100%)}}@keyframes daybook-down{to{opacity:0;transform:translateY(24px)}}@media (min-width:640px){@keyframes daybook-up{0%{opacity:0;transform:translateY(24px) scale(.98)}}}.composer-layer{position:fixed;inset:0;z-index:1300;display:flex;justify-content:center;background:hsl(var(--background));animation:daybook-fade .22s var(--ease-out) both}.composer-paper{display:flex;width:min(100%,44rem);min-height:100%;flex-direction:column;padding:max(var(--space-1),env(safe-area-inset-top)) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));transform-origin:50% 30%}.composer-layer[data-saved=true]{animation:composer-settle .42s var(--ease-in-out) both}@keyframes composer-settle{to{opacity:0;transform:translateY(-6%) scale(.86)}}.composer-bar{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:var(--space-1)}.composer-bar-title{font-size:1rem;font-weight:600}.composer-text-button{min-height:44px;min-width:44px;border-radius:10px;padding:0 10px;color:hsl(var(--muted-foreground));font-size:1rem}.composer-text-button.is-primary{color:hsl(var(--primary));font-weight:600}.composer-text-button:disabled{opacity:.4}.composer-mic:focus-visible,.composer-text-button:focus-visible,.prompt-card:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.prompt-card{display:flex;width:100%;min-height:72px;align-items:center;gap:var(--space-2);margin-top:var(--space-1);border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--surface));padding:12px var(--space-2);text-align:left;transition:border-color var(--motion-micro) var(--ease-out),transform .14s var(--ease-out)}.prompt-card:hover{border-color:hsl(var(--input))}.prompt-card:active{transform:scale(.99)}.prompt-card-count{flex:none;color:hsl(var(--primary));font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600}.prompt-card-text{word-break:auto-phrase;flex:1;font-family:var(--font-journal);font-size:1.0625rem;line-height:1.6}.prompt-card-text[data-swap=true]{animation:prompt-swap .28s var(--ease-out) both}@keyframes prompt-swap{0%{opacity:0;transform:translateY(6px)}}.prompt-card-next{flex:none;color:hsl(var(--muted-foreground))}.composer-field{width:100%;min-height:0;flex:1;resize:none;margin-top:var(--space-2);border:0;background:transparent;padding:4px 4px var(--space-4);color:hsl(var(--foreground));font-family:var(--font-journal);font-size:1.25rem;line-height:1.85;caret-color:hsl(var(--primary))}.composer-field::-moz-placeholder{color:hsl(var(--muted-foreground)/.8)}.composer-field::placeholder{color:hsl(var(--muted-foreground)/.8)}.composer-field:focus{outline:none}.composer-foot{display:flex;align-items:center;gap:var(--space-2);border-top:1px solid hsl(var(--border)/.7);padding-top:12px}.composer-mic{display:inline-flex;min-height:48px;align-items:center;gap:8px;border-radius:999px;background:hsl(var(--surface-raised));padding:0 var(--space-2);font-size:.9375rem;font-weight:600;transition:background-color var(--motion-micro) var(--ease-out)}.composer-mic.is-recording{background:hsl(var(--destructive)/.16);color:hsl(var(--destructive))}.composer-meta{margin-left:auto;color:hsl(var(--muted-foreground));font-size:.8125rem;font-variant-numeric:tabular-nums}.composer-guide{color:hsl(var(--primary));font-size:.8125rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}.composer-error{margin-top:8px;color:hsl(var(--destructive));font-size:.875rem;line-height:1.6}.future-self-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:1px dashed hsl(var(--input));border-radius:16px;padding:var(--space-4) var(--space-3)}.future-self-empty-title{word-break:auto-phrase;font-family:var(--font-journal);font-size:1.375rem;font-weight:600;line-height:1.45}.future-self-empty-lead{color:hsl(var(--muted-foreground));line-height:1.75}.future-self-landed{animation:future-self-land .64s var(--ease-out) both}@keyframes future-self-land{0%{opacity:0;transform:translateY(-12px) scale(1.03)}}.state-line{gap:8px;color:hsl(var(--muted-foreground));font-size:.8125rem;font-variant-numeric:tabular-nums;line-height:1.6}.state-line,.visualize-closed{display:flex;align-items:center}.visualize-closed{gap:var(--space-2)}.visualize-closed-icon{display:grid;width:44px;height:44px;flex:none;place-items:center;border-radius:12px;background:hsl(var(--surface-raised));color:hsl(var(--primary))}.visualize-closed-time{font-size:1.0625rem;font-weight:600;font-variant-numeric:tabular-nums}.visualize-closed-note{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.6}.chat-quota{padding:0 8px}.chat-quota[data-low=true]{color:hsl(var(--primary))}.reflection-dots{display:inline-flex;gap:4px;margin-left:2px}.reflection-dots span{width:6px;height:6px;border-radius:999px;background:hsl(var(--input))}.reflection-dots span[data-on=true]{background:hsl(var(--primary))}@media (prefers-reduced-motion:reduce){.composer-layer,.daybook-row,.daybook-scrim,.daybook-sheet,.future-self-landed,.passage-swap,.passage:before,.prompt-card-text[data-swap=true],.settle-reveal,.settle[data-state=done] .settle-mark{animation-duration:.12s!important;animation-delay:0s!important;transition-duration:0s!important}.composer-layer[data-saved=true],.daybook-row,.daybook-sheet,.future-self-landed,.passage-swap,.settle-reveal{animation-name:daybook-fade!important}.settle[data-state=waiting] .settle-ring{animation:none;stroke-dashoffset:180}.settle-check,.settle-ring{transition-duration:0s!important;transition-delay:0s!important}}@media (prefers-reduced-transparency:reduce){.daybook-scrim{backdrop-filter:none;background:rgb(0 0 0/.78)}}