:root{--ink:#1a1410;--ink-light:#3d2f25;--ink-faint:#7a6555;--ink-ghost:#b8a898;--page:#f5f0e8;--page-warm:#ede8dc;--red:#c0392b;--border:rgba(180,160,130,0.2);--margin-red:rgba(192,57,43,0.22);--rule:rgba(180,160,130,0.12);--font:var(--font-special-elite),"Special Elite",serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}button{font-family:var(--font);cursor:pointer;background:none;border:none}html{height:100%}body,html{background:var(--page)}body{min-height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}.app-shell{max-width:640px;margin:0 auto;flex-direction:column}.app-shell,.auth-gate{min-height:100dvh;display:flex}.auth-gate{flex:1 1;flex-direction:column}.auth-page-header{padding:calc(28px + env(safe-area-inset-top)) 24px 0}.auth-notebook{position:relative;flex:1 1;padding:0 24px 48px 0;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,var(--rule) 27px,var(--rule) 28px);background-attachment:local}.auth-notebook:before{content:"";position:absolute;left:52px;top:0;bottom:0;width:1px;background:var(--margin-red);pointer-events:none}.auth-wordmark-row{display:flex;align-items:center;gap:8px;margin-bottom:32px}.auth-wordmark{font-size:34px;letter-spacing:.1em;color:var(--ink);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;margin-bottom:2px}.auth-line{font-size:13px;font-style:italic;color:var(--ink-light);line-height:1.6;margin-bottom:28px;max-width:320px;padding:8px 0 0 68px}.auth-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;padding-left:68px}.auth-input{font-family:var(--font);font-size:17px;line-height:1.5;color:var(--ink-light);background:var(--page-warm);border:none;border-bottom:1px solid var(--border);padding:12px 8px;outline:none;-webkit-appearance:none;border-radius:0;width:100%}.auth-input::placeholder{color:var(--ink-ghost)}.auth-input:focus{border-bottom-color:var(--ink)}.auth-cta{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--page);background:var(--ink);border:none;padding:14px 20px;cursor:pointer;align-self:flex-start}.auth-cta:disabled{opacity:.5;cursor:not-allowed}.auth-error{font-size:11px;color:var(--ink-faint);letter-spacing:.05em;line-height:1.5;min-height:16px;margin-top:12px;padding-left:68px}.onboarding{flex:1 1;padding:calc(48px + env(safe-area-inset-top)) 32px 48px;min-height:100dvh}.ob-step,.onboarding{display:flex;flex-direction:column}.ob-step{flex:1 1;animation:fadeRise .4s ease both}.ob-wordmark{font-size:34px;letter-spacing:.1em;color:var(--ink);margin-bottom:40px;line-height:1}.ob-tagline{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:40px}.ob-question{font-size:19px;font-style:italic;color:var(--ink-light);line-height:1.5;margin-bottom:28px}.ob-input{font-family:var(--font);font-size:18px;line-height:1.7;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--border);outline:none;resize:none;width:100%;padding:0 0 12px;min-height:80px;caret-color:var(--red)}.ob-input::placeholder{color:var(--ink-ghost)}.ob-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}.ob-pill{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);border:1px solid var(--border);border-radius:2px;padding:8px 20px;transition:background .15s,color .15s,border-color .15s}.ob-pill.selected{background:var(--ink);color:var(--page);border-color:var(--ink)}.ob-cards{gap:10px;margin-bottom:40px}.ob-card,.ob-cards{display:flex;flex-direction:column}.ob-card{align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:2px;padding:16px 20px;transition:background .15s,color .15s,border-color .15s}.ob-card.selected{background:var(--ink);border-color:var(--ink)}.ob-card-title{font-size:15px;color:var(--ink);line-height:1.4;display:block;margin-bottom:4px}.ob-card.selected .ob-card-title{color:var(--page)}.ob-card-desc{font-size:11px;letter-spacing:.06em;color:var(--ink-faint);line-height:1.4;display:block}.ob-card.selected .ob-card-desc{color:var(--ink-ghost)}.ob-btn{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--page);background:var(--ink);border:none;border-radius:2px;padding:12px 28px;margin-top:auto;align-self:flex-end;transition:opacity .15s}.ob-btn:disabled{color:var(--ink-ghost);background:transparent;border:1px solid var(--border)}.ob-char-count{font-size:10px;letter-spacing:.08em;color:var(--ink-ghost);margin-top:8px;min-height:16px}.page-header{padding:calc(28px + env(safe-area-inset-top)) 24px 0}.header-wordmark{display:flex;align-items:center;gap:8px;margin-bottom:6px}.frank-wordmark-lg{font-size:34px;letter-spacing:.1em;color:var(--ink);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.frank-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;margin-bottom:2px}.header-date{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:12px}.arrival-prompt{font-size:19px;font-style:italic;color:var(--ink-faint);line-height:1.5;padding-bottom:20px;transition:opacity .3s ease}.arrival-prompt.hidden{opacity:0}.draft-preview{font-size:13px;font-style:italic;color:var(--ink-ghost);line-height:1.6;padding-bottom:14px}.draft-actions{display:flex;gap:12px;padding-bottom:20px}.draft-btn{font-family:var(--font);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);background:transparent;border:1px solid var(--border);border-radius:2px;padding:6px 16px}.pattern-arrival-text{font-size:13px;font-style:italic;color:var(--ink-faint);line-height:1.6;padding-bottom:14px}.pattern-arrival-actions{display:flex;gap:12px;padding-bottom:20px}.pattern-arrival-link{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);background:none;border:none;padding:0;cursor:pointer;text-align:left}.notebook{position:relative;padding:0 24px 0 0;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,var(--rule) 27px,var(--rule) 28px);background-attachment:local}.notebook:before{content:"";position:absolute;left:52px;top:0;bottom:0;width:1px;background:var(--margin-red);pointer-events:none}.entry-textarea{display:block;width:100%;min-height:calc(100dvh - 320px);padding:8px 0 8px 68px;background:transparent;border:none;outline:none;resize:none;overflow:hidden;font-family:var(--font);font-size:17px;line-height:1.85;color:var(--ink);caret-color:var(--red)}.entry-textarea::placeholder{color:var(--ink-ghost)}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px 14px 68px;border-top:1px solid var(--border);background:var(--page-warm);position:-webkit-sticky;position:sticky;bottom:0;bottom:env(safe-area-inset-bottom)}.word-count{font-size:10px;letter-spacing:.08em;color:var(--ink-ghost);-webkit-user-select:none;-moz-user-select:none;user-select:none}.save-btn{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--page);background:var(--ink);border:none;border-radius:2px;padding:8px 22px;transition:opacity .15s}.save-btn:disabled{color:var(--ink-ghost);background:transparent;border:1px solid var(--border);cursor:default}.save-btn:not(:disabled):hover{opacity:.75}.save-btn:not(:disabled):active{opacity:.55}.save-btn.saving{animation:savePop .4s ease both}.exit-line{font-size:18px;font-style:italic;line-height:1.6;color:var(--ink-light);border-left:2px solid var(--red);padding:12px 24px 12px 68px;opacity:0;height:0;overflow:hidden;transition:opacity .6s ease}.exit-line.visible{opacity:1;height:auto;overflow:visible}.frank-area{border-top:1px solid var(--border)}.frank-response-wrap{padding:24px 24px 24px 68px}.frank-label{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:14px}.typing-indicator{display:flex;gap:6px;align-items:center;height:24px}.typing-indicator span{display:block;width:5px;height:5px;border-radius:50%;background:var(--ink-faint);animation:typingBounce 1.2s infinite both}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.frank-message{background:var(--page-warm);border-left:2px solid var(--ink);box-shadow:2px 2px 0 rgba(0,0,0,.04);padding:14px 16px;font-size:13px;line-height:1.8;color:var(--ink-light);white-space:pre-wrap}.frank-message.pattern-callout{border-left-color:var(--red)}.frank-pattern-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:8px}.chat-messages>*+*{margin-top:12px}.user-reply{background:var(--ink);color:var(--page);border-right:2px solid var(--red);padding:10px 16px;font-size:15px;font-style:italic;line-height:1.7;margin-left:auto;max-width:82%;text-align:right}.reply-wrap{padding:16px 24px 16px 68px;border-top:1px solid var(--border);background:var(--page);position:-webkit-sticky;position:sticky;bottom:0;bottom:env(safe-area-inset-bottom)}.reply-row{display:flex;align-items:flex-end;background:var(--page-warm);border:1px solid var(--border);border-radius:20px;padding-right:6px}.reply-input{flex:1 1;min-width:0;background:transparent;border:none;border-radius:20px;padding:10px 16px;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);outline:none;caret-color:var(--red);resize:none;overflow:hidden}.reply-input::placeholder{color:var(--ink-ghost)}.reply-send{font-family:var(--font);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--page);background:var(--ink);border:none;border-radius:14px;padding:6px 16px;margin-bottom:4px;flex-shrink:0;transition:opacity .15s}.reply-send:hover{opacity:.75}.patterns-section{padding:32px 24px 32px 68px;border-top:1px solid var(--border)}.patterns-heading{font-size:28px;letter-spacing:.06em;color:var(--ink);margin-bottom:4px}.patterns-subtitle{font-size:11px;font-style:italic;color:var(--ink-ghost);margin-bottom:28px}.patterns-link{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);padding:0 24px 20px 68px;display:block;background:none;border:none;cursor:pointer;text-align:left}.pattern-card{border-left:2px solid var(--ink);background:var(--page-warm);padding:12px 16px;margin-bottom:20px}.pattern-card-domain{letter-spacing:.22em;color:var(--ink-ghost)}.pattern-card-confirmed,.pattern-card-domain{font-size:9px;text-transform:uppercase;margin-bottom:6px}.pattern-card-confirmed{letter-spacing:.16em;color:var(--red)}.pattern-card-narrative{font-size:14px;line-height:1.7;color:var(--ink-light)}.patterns-running-head{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-ghost);margin-top:28px;margin-bottom:12px}.patterns-running-item{font-size:12px;letter-spacing:.04em;color:var(--ink-faint);line-height:1.6;margin-bottom:8px}.patterns-empty{font-size:11px;font-style:italic;color:var(--ink-ghost);line-height:1.6}.patterns-back-btn{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-ghost);padding:20px 0 0;display:block;background:none;border:none;cursor:pointer}.session-ghost{opacity:.5;border-top:1px solid var(--border)}.ghost-timestamp{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-ghost);padding:20px 24px 8px 68px}.ghost-message{margin:0 24px 20px 68px}.offline-notice{font-size:13px;font-style:italic;color:var(--ink-faint);line-height:1.6;padding:16px 24px 20px 68px}.disclosure,.offline-notice{border-top:1px solid var(--border)}.disclosure{padding:20px 24px 32px 68px;font-size:10px;letter-spacing:.04em;line-height:1.8;color:var(--ink-ghost)}.disclosure a{color:var(--ink-ghost);text-decoration:underline;text-underline-offset:2px}.settings-notebook{position:relative;flex:1 1;padding:calc(28px + env(safe-area-inset-top)) 24px 64px 0;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,var(--rule) 27px,var(--rule) 28px);background-attachment:local}.settings-notebook:before{content:"";position:absolute;left:52px;top:0;bottom:0;width:1px;background:var(--margin-red);pointer-events:none}.settings-header-row{display:flex;align-items:flex-start;justify-content:space-between;padding:0 0 28px 68px}.settings-back-btn{font-family:var(--font);font-size:10px;letter-spacing:.12em;color:var(--ink-ghost);background:none;border:none;padding:10px 0 0;cursor:pointer}.settings-back-btn:hover{color:var(--ink-faint)}.settings-section{padding:20px 0 24px 68px;border-top:1px solid var(--border)}.settings-section-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:12px}.settings-section-label--danger{color:var(--red)}.settings-value{font-size:15px;color:var(--ink-light);line-height:1.5}.settings-section-desc{line-height:1.5;margin-bottom:20px}.settings-section-desc,.settings-static-text{font-size:13px;font-style:italic;color:var(--ink-faint)}.settings-static-text{line-height:1.7}.settings-static-text a{color:var(--ink-faint);text-decoration:underline;text-underline-offset:2px}.settings-cards{gap:8px;margin-bottom:20px}.settings-card,.settings-cards{display:flex;flex-direction:column}.settings-card{align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:2px;padding:14px 18px;transition:background .15s,color .15s,border-color .15s}.settings-card.selected{background:var(--ink);border-color:var(--ink)}.settings-card-title{font-family:var(--font);font-size:14px;color:var(--ink);line-height:1.4;display:block;margin-bottom:3px}.settings-card.selected .settings-card-title{color:var(--page)}.settings-card-desc{font-family:var(--font);font-size:11px;letter-spacing:.06em;color:var(--ink-faint);line-height:1.4;display:block}.settings-card.selected .settings-card-desc{color:var(--ink-ghost)}.settings-save-btn{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--page);background:var(--ink);border:none;border-radius:2px;padding:10px 24px;transition:opacity .15s}.settings-save-btn:disabled{color:var(--ink-ghost);background:transparent;border:1px solid var(--border);cursor:not-allowed}.settings-save-btn:not(:disabled):hover{opacity:.75}.settings-action-btn{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--border);border-radius:2px;padding:10px 24px;transition:opacity .15s}.settings-action-btn:hover{opacity:.7}.settings-delete-btn{font-family:var(--font);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--red);background:transparent;border:1px solid rgba(192,57,43,.35);border-radius:2px;padding:10px 24px;margin-top:14px;transition:background .15s,color .15s}.settings-delete-btn:hover{background:var(--red);color:var(--page)}.settings-delete-confirm{margin-top:16px}.settings-delete-warning{font-size:13px;font-style:italic;color:var(--red);line-height:1.6;margin-bottom:16px;max-width:340px}.settings-delete-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.settings-delete-btn-confirm{letter-spacing:.15em;color:var(--page);background:var(--red);border:none;border-radius:2px;padding:10px 24px}.settings-cancel-btn,.settings-delete-btn-confirm{font-family:var(--font);font-size:11px;text-transform:uppercase}.settings-cancel-btn{background:transparent;padding:0}.canvas-settings-link,.settings-cancel-btn{letter-spacing:.12em;color:var(--ink-ghost);border:none}.canvas-settings-link{margin-left:auto;font-family:var(--font);font-size:10px;background:none;padding:0 0 3px;cursor:pointer}.canvas-settings-link:hover{color:var(--ink-faint)}@keyframes fadeRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes savePop{0%{transform:scale(1)}30%{transform:scale(.95)}70%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.fade-rise{animation:fadeRise .4s ease both}[hidden]{display:none!important}@media (min-width:768px){.app-shell{max-width:600px}}@media (min-width:1025px){.app-shell{max-width:680px}}@font-face{font-family:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0c310187b552b27d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e210f091ebfac73b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Special Elite Fallback;src:local("Arial");ascent-override:60.00%;descent-override:25.33%;line-gap-override:0.00%;size-adjust:117.20%}.__className_91eb3e{font-family:Special Elite,Special Elite Fallback;font-weight:400;font-style:normal}.__variable_91eb3e{--font-special-elite:"Special Elite","Special Elite Fallback"}