:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf8f0;--paper-deep:#f3ede1;--ink:#1d241f;--ink-soft:#5f655f;--pine:#174b35;--pine-hover:#103b29;--amber:#c89b48;--line:#ddd6c8;--danger:#8c4038;--shadow-soft:0 20px 60px #1d241f14;--radius-sm:12px;--radius-md:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-serif:"Iowan Old Style", "Noto Serif KR", "Nanum Myeongjo", serif;--font-sans:Pretendard, "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html{font-family:var(--font-sans);background:#e8e3d9}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 18% 16%,#ffffff8c,#0000 25%),#e8e3d9;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #c89b4857}button{color:inherit}.app-frame{width:min(100%,430px);min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 38%, #ffffffd1, transparent 38%), var(--paper);margin:0 auto;position:relative;overflow:hidden}.app-frame:after{z-index:0;pointer-events:none;content:"";opacity:.32;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");position:absolute;inset:0}.app-frame>*{z-index:1;position:relative}.brand{text-align:center;width:100%;font-family:var(--font-serif);letter-spacing:.12em;font-size:25px;font-weight:600}.brand svg{fill:none;stroke-width:.8px;width:calc(100% + 48px);height:19px;margin:8px -24px 0;display:block}.brand svg path:first-child{stroke:var(--pine);opacity:.5}.brand svg path:last-child{stroke:var(--amber);opacity:.65}.entry-page{flex-direction:column;display:flex}.entry-intro{text-align:center;margin-top:30px}.entry-intro h1,.home-hero h1,.install-intro h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-weight:500}.entry-intro h1{font-size:clamp(34px,10vw,42px)}.entry-intro p{color:var(--ink-soft);font-family:var(--font-serif);margin:15px 0 0;font-size:16px;line-height:1.85}.entry-form{margin-top:32px}.entry-form fieldset{border:0;padding:0}.entry-form legend,.birthday-field label{margin-bottom:14px;font-size:16px;font-weight:650;line-height:1.4;display:block}.profile-options{grid-template-columns:1fr 1fr;gap:24px;display:grid}.profile-status{color:var(--ink-soft);text-align:center;grid-column:1/-1;margin:28px 0;font-size:14px}.profile-option{cursor:pointer;min-height:132px;color:var(--ink-soft);font-family:var(--font-serif);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0;font-size:15px;display:flex}.profile-portrait{border:1px solid var(--line);color:#7b7a72;width:88px;height:88px;font-family:var(--font-serif);background:#ffffff6b;border-radius:50%;place-items:center;font-size:27px;transition:border-color .16s,box-shadow .16s,color .16s;display:grid}.profile-option[data-selected=true]{color:var(--pine);font-weight:650}.profile-option[data-selected=true] .profile-portrait{border:2px solid var(--pine);color:var(--pine);box-shadow:0 0 0 7px #174b350f}.birthday-field{margin-top:24px}.birthday-field input{width:100%;height:62px;color:var(--ink);letter-spacing:.12em;background:#ffffff85;border:1px solid #66736a;border-radius:9px;padding:0 18px;font-size:21px;transition:border-color .16s,box-shadow .16s}.birthday-field input::placeholder{color:#aaa9a2;letter-spacing:.04em}.birthday-field input:focus{border-color:var(--pine);box-shadow:inset 3px 0 var(--pine);outline:none}.field-error{color:var(--danger);margin:8px 2px 0;font-size:13px}.preview-note{color:var(--ink-soft);margin:8px 2px 0;font-size:11px}.primary-button{background:var(--pine);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;min-height:58px;margin-top:22px;font-size:16px;font-weight:650;transition:background .16s,transform .16s}.primary-button:hover{background:var(--pine-hover)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled,.session-revoke:disabled,.logout-button:disabled{cursor:wait;opacity:.55}.entry-links{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.text-link{min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:14px;text-decoration:none;display:inline-flex}.privacy-note{color:#858880;text-align:center;justify-content:center;align-items:center;gap:7px;margin:auto 0 0;padding-top:24px;font-size:12px;line-height:1.5;display:flex}.home-page{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.home-header,.simple-header{grid-template-columns:44px 1fr 44px;align-items:start;display:grid}.home-header .brand,.simple-header .brand{grid-column:2}.home-header .icon-button{grid-area:1/3;justify-self:end}.icon-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;text-decoration:none;display:grid}.home-hero{text-align:center;min-height:224px;padding-top:31px}.home-hero h1{font-size:25px}.path-motif{fill:none;width:180px;height:120px;margin:16px auto 0;display:block;overflow:visible}.path-motif circle{stroke:var(--amber);stroke-width:.5px;opacity:.18}.path-motif path{fill:none;stroke-width:1.6px;stroke-linecap:round}.path-motif__green{stroke:var(--pine)}.path-motif__amber{stroke:var(--amber)}.home-section{border-top:1px solid var(--line);padding:22px 0}.home-section h2{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:600}.dreams-section{border-top:0;padding-top:4px}.dream-lines{margin-top:16px}.dream-lines p{font-family:var(--font-serif);margin:0 0 13px;padding-left:16px;font-size:14px;line-height:1.65;position:relative}.dream-lines p:before{content:"";background:var(--amber);width:2px;position:absolute;top:2px;bottom:2px;left:0}.dream-lines a{color:inherit;text-decoration:none}.section-heading{justify-content:space-between;align-items:center;display:flex}.row-action{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.memory-row{grid-template-columns:76px 1fr;align-items:center;gap:15px;margin-top:8px;display:grid}.memory-row h3{font-family:var(--font-serif);margin:0;font-size:15px;font-weight:600;line-height:1.45}.memory-row p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.5}.home-record-row{color:inherit;text-decoration:none}.memory-art{border-radius:7px;width:76px;height:58px;box-shadow:inset 0 0 0 1px #1d241f14}.memory-art--path{background:linear-gradient(142deg,#0000 46%,#fbf8f0e6 47% 53%,#0000 54%),linear-gradient(150deg,#355e49,#88a181)}.memory-art--paper{background:linear-gradient(12deg,#0000 48%,#1d241f2b 49% 50%,#0000 51%),linear-gradient(167deg,#d8c6a7 0 35%,#f2e8d8 36% 70%,#806844 71%)}.bottom-nav{z-index:3;width:min(100%,430px);min-height:calc(88px + env(safe-area-inset-bottom));padding:8px 13px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf8f0f0;grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item,.create-button{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:54px;padding:5px 0;font-size:11px;text-decoration:none;display:flex}.nav-item svg{stroke-width:1.65px;width:22px;height:22px}.nav-item.is-active{color:var(--pine);font-weight:700}.create-button{color:var(--pine);align-self:start;font-weight:700;transform:translateY(-21px)}.create-button svg{background:var(--pine);color:#fff;stroke-width:1.7px;border-radius:50%;width:58px;height:58px;padding:16px;box-shadow:0 9px 22px #174b3533}.create-button span{white-space:nowrap}.simple-header .icon-button{grid-area:1/1}.records-header>.icon-button:last-child,.records-header>span:last-child{grid-area:1/3}.header-spacer{width:44px}.install-intro{margin-top:40px}.install-intro h1{font-size:32px;line-height:1.35}.install-intro p{max-width:330px;color:var(--ink-soft);margin:18px 0 0;font-size:15px;line-height:1.75}.install-steps{border-top:1px solid var(--line);margin-top:38px}.install-steps section{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;gap:16px;padding:23px 0;display:grid}.install-steps svg{color:var(--pine);stroke-width:1.5px;margin-top:2px}.install-steps h2{font-family:var(--font-serif);margin:0;font-size:18px}.install-steps p{color:var(--ink-soft);margin:7px 0 0;font-size:14px;line-height:1.7}.install-steps strong{color:var(--ink);font-weight:650}.install-footnote{color:var(--ink-soft);margin-top:24px;font-size:13px;line-height:1.6}.device-check-link,.device-install-link{border:1px solid var(--pine);min-height:52px;color:var(--pine);border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.device-check-intro{text-align:center;margin-top:32px}.device-check-intro>svg{color:var(--pine);stroke-width:1.5px}.device-check-intro h1{font-family:var(--font-serif);margin:11px 0 0;font-size:29px;font-weight:500}.device-check-intro p{color:var(--ink-soft);margin:13px 0 0;font-size:13px;line-height:1.7}.capability-list{border-top:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.capability-row{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:66px;padding:13px 0;display:grid}.capability-row>svg{width:20px;color:var(--pine);stroke-width:1.7px}.capability-row>svg.lucide-circle-alert{color:var(--amber)}.capability-row strong,.capability-row span{display:block}.capability-row strong{font-size:13px}.capability-row span{color:var(--ink-soft);margin-top:3px;font-size:11px}.device-test-section{border-bottom:1px solid var(--line);padding:22px 0}.device-test-heading{grid-template-columns:31px 1fr;gap:8px;display:grid}.device-test-heading>svg{width:21px;color:var(--pine);stroke-width:1.6px}.device-test-heading h2{font-family:var(--font-serif);margin:0;font-size:17px;font-weight:600}.device-test-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.5}.device-test-button{border:1px solid var(--line);width:100%;min-height:46px;color:var(--pine);cursor:pointer;background:#ffffff61;border-radius:7px;justify-content:center;align-items:center;margin-top:14px;font-size:13px;font-weight:650;display:flex}.device-test-button:disabled{cursor:default;opacity:.55}.device-preview{object-fit:contain;background:#151a17;border-radius:8px;width:100%;max-height:280px;margin-top:14px;display:block}.audio-preview{width:100%;height:42px;margin-top:14px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.dreams-header .dreams-add,.dream-detail-header .dream-edit{grid-area:1/3;justify-self:end}.dreams-intro,.dream-editor-intro{margin-top:35px}.dreams-intro h1,.dream-editor-intro h1,.dream-detail h1{font-family:var(--font-serif);margin:0;font-size:31px;font-weight:500;line-height:1.35}.dreams-intro p,.dream-editor-intro p{color:var(--ink-soft);margin:12px 0 0;font-size:14px;line-height:1.7}.dream-empty{text-align:center;align-content:center;place-items:center;gap:17px;min-height:300px;display:grid}.dream-empty p{color:var(--ink-soft);font-family:var(--font-serif);margin:0}.dream-empty a{color:var(--pine);font-size:14px}.dream-list-section{margin-top:36px}.dream-list-section h2,.dream-history>h2{font-family:var(--font-serif);margin:0 0 8px;font-size:18px;font-weight:600}.dream-list-row{border-bottom:1px solid var(--line);min-height:82px;color:inherit;box-shadow:inset 2px 0 var(--amber);grid-template-columns:1fr 28px;align-items:center;gap:10px;padding:15px 0 15px 14px;text-decoration:none;display:grid}.dream-list-row strong,.dream-list-row small{display:block}.dream-list-row strong{font-family:var(--font-serif);font-size:16px;font-weight:600}.dream-list-row small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;overflow:hidden}.dream-list-row svg{width:18px;color:var(--ink-soft);stroke-width:1.5px}.dream-form{margin-top:30px}.dream-form>label,.dream-scope-field legend{margin-top:23px;font-size:14px;font-weight:650;display:block}.dream-form input[type=text],.dream-form input:not([type]),.dream-form textarea,.dream-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffff61;border-radius:7px;margin-top:9px;padding:13px 14px;font-size:14px;line-height:1.55}.dream-form textarea{resize:vertical;min-height:92px}.dream-form input:focus,.dream-form textarea:focus,.dream-form select:focus{border-color:var(--pine);box-shadow:inset 2px 0 var(--pine);outline:none}.dream-scope-field{border:0;border-bottom:1px solid var(--line);gap:22px;margin:26px 0 0;padding:0 0 20px;display:flex}.dream-scope-field legend{width:100%;margin:0 0 13px}.dream-scope-field label{align-items:center;gap:7px;font-size:13px;display:inline-flex}.dream-scope-field input{accent-color:var(--pine)}.dream-form-error{text-align:center;margin-top:14px}.dream-detail{margin-top:38px}.dream-owner-label{color:var(--pine);margin:0 0 12px;font-size:12px;font-weight:650}.dream-summary{color:var(--ink-soft);font-family:var(--font-serif);margin:16px 0 0;font-size:16px;line-height:1.75}.dream-values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#7a5b20;margin:19px 0 0;padding:13px 0;font-size:12px;line-height:1.6}.dream-detail-sections{margin-top:28px}.dream-detail-sections section{border-bottom:1px solid var(--line);padding:18px 0}.dream-detail-sections h2{font-family:var(--font-serif);margin:0;font-size:16px;font-weight:600}.dream-detail-sections p{color:var(--ink-soft);white-space:pre-wrap;margin:8px 0 0;font-size:14px;line-height:1.75}.dream-history{margin-top:34px}.dream-journey{margin-top:42px}.dream-journey.loading{color:var(--ink-soft);font-family:var(--font-serif);padding:24px 0;font-size:13px}.journey-section{border-top:1px solid var(--line);padding:28px 0 4px}.journey-section+.journey-section{margin-top:30px}.journey-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.journey-heading h2{font-family:var(--font-serif);margin:0;font-size:20px;font-weight:600}.journey-heading p{max-width:240px;color:var(--ink-soft);margin:7px 0 0;font-size:12px;line-height:1.55}.journey-heading>button{min-height:44px;color:var(--pine);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:650;display:inline-flex}.journey-form{border-top:2px solid var(--amber);border-bottom:1px solid var(--line);background:#ffffff47;margin-top:18px;padding:18px 16px 20px}.journey-form label{margin-top:15px;font-size:12px;font-weight:650;display:block}.journey-form label:first-child{margin-top:0}.journey-form input,.journey-form select,.journey-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#ffffff8c;border-radius:6px;margin-top:7px;padding:11px 12px;font-size:13px}.journey-form textarea{resize:vertical;min-height:78px}.journey-form input:focus,.journey-form select:focus,.journey-form textarea:focus{border-color:var(--pine);box-shadow:inset 2px 0 var(--pine);outline:0}.journey-form .primary-button{min-height:48px;margin-top:17px;font-size:14px}.genealogy-tree,.genealogy-tree ul{margin:0;padding:0;list-style:none}.genealogy-tree{margin-top:20px}.genealogy-tree ul{margin-left:24px}.journey-node{position:relative}.journey-node-line{border-left:1px solid #c8c1ae;grid-template-columns:1fr 34px;gap:8px;min-height:67px;padding:13px 0 13px 25px;display:grid;position:relative}.journey-node-dot,.footprint-dot{border:2px solid var(--paper);background:var(--amber);border-radius:50%;width:9px;height:9px;position:absolute;top:21px;left:-5px;box-shadow:0 0 0 1px #b89148}.journey-node-line strong,.journey-node-line small{display:block}.journey-node-line strong{font-family:var(--font-serif);font-size:15px}.journey-node-line small{color:var(--pine);margin-top:4px;font-size:10px}.journey-node-line p,.footprint-timeline p{color:var(--ink-soft);white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.55}.journey-node-line>button,.footprint-timeline>li>button{color:#9b978d;cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid}.footprint-timeline{margin:19px 0 0;padding:0;list-style:none}.footprint-timeline>li{border-left:1px solid #c8c1ae;grid-template-columns:1fr 34px;gap:8px;min-height:84px;padding:14px 0 18px 25px;display:grid;position:relative}.footprint-timeline strong,.footprint-timeline small{display:block}.footprint-timeline small{color:var(--ink-soft);margin-bottom:6px;font-size:10px}.footprint-timeline strong{font-family:var(--font-serif);font-size:15px}.footprint-timeline .footprint-dot{background:var(--pine);box-shadow:0 0 0 1px var(--pine)}.journey-empty{min-height:105px;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.journey-empty svg{color:var(--amber);stroke-width:1.5px}.journey-empty p{font-family:var(--font-serif);margin:0;font-size:13px}.companionship-sections{margin-top:34px}.companionship-section{border-top:1px solid var(--line);padding:28px 0 4px}.companionship-section+.companionship-section{margin-top:30px}.companionship-form .form-guidance{color:var(--ink-soft);margin:10px 0 0;font-size:11px;line-height:1.5}.growth-quotes,.support-list{margin:18px 0 0;padding:0;list-style:none}.growth-quotes li{border-bottom:1px solid var(--line);padding:18px 0 18px 28px;position:relative}.growth-quotes svg{color:var(--amber);stroke-width:1.5px;position:absolute;top:20px;left:0}.growth-quotes blockquote{font-family:var(--font-serif);margin:0;font-size:14px;line-height:1.75}.growth-quotes small{color:var(--ink-soft);margin-top:8px;font-size:10px;display:block}.support-list li{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;gap:10px;padding:18px 0;display:grid}.support-list li[data-state=completed],.support-list li[data-state=withdrawn]{opacity:.58}.support-mark{color:var(--pine)}.support-mark svg{stroke-width:1.55px}.support-list small,.support-list strong{display:block}.support-list small{color:var(--pine);font-size:10px}.support-list strong{font-family:var(--font-serif);margin-top:5px;font-size:15px}.support-list p{color:var(--ink-soft);white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.6}.support-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.support-actions button{border:1px solid var(--pine);min-height:44px;color:var(--pine);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:4px;padding:0 11px;font-size:11px;font-weight:650;display:inline-flex}.support-actions .quiet-action{color:var(--ink-soft);border-color:#0000}.current-support-row{color:inherit;grid-template-columns:31px 1fr;gap:10px;margin-top:10px;padding:13px 0;text-decoration:none;display:grid}.current-support-row>svg{color:var(--pine);stroke-width:1.55px;margin-top:2px}.current-support-row strong,.current-support-row small{display:block}.current-support-row strong{font-family:var(--font-serif);font-size:14px}.current-support-row p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.55}.current-support-row small{color:#8b6c30;margin-top:7px;font-size:10px}.dream-history details{border-bottom:1px solid var(--line);padding:14px 0}.dream-history summary{cursor:pointer;font-size:13px;font-weight:650}.dream-history details p{font-family:var(--font-serif);margin:10px 0 4px;font-size:14px}.dream-history details small{color:var(--ink-soft);font-size:11px}.archive-button{min-height:48px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:34px auto 0;font-size:12px;display:flex}.page-status{min-height:45vh;color:var(--ink-soft);text-align:center;font-family:var(--font-serif);place-items:center;display:grid}.settings-intro{text-align:center;margin-top:35px}.settings-intro>svg{color:var(--pine);stroke-width:1.5px}.settings-intro h1{font-family:var(--font-serif);margin:12px 0 0;font-size:30px;font-weight:500}.settings-intro p{color:var(--ink-soft);margin:13px auto 0;font-size:14px;line-height:1.7}.sessions-list{border-top:1px solid var(--line);margin-top:32px}.sessions-list .page-status{min-height:180px}.session-row{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:88px;padding:18px 0;display:grid}.session-icon{width:42px;height:42px;color:var(--pine);background:#174b3512;border-radius:50%;place-items:center;display:grid}.session-icon svg{stroke-width:1.6px;width:20px}.session-copy h2{flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:650;display:flex}.session-copy h2 span{color:#7a5b20;background:#c89b4821;border-radius:20px;padding:3px 6px;font-size:10px}.session-copy p{color:var(--ink-soft);margin:5px 0 0;font-size:11px}.session-revoke{min-height:40px;color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:650}.settings-error{text-align:center}.logout-button{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink-soft);cursor:pointer;background:#ffffff59;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:28px;display:flex}.install-settings-link{min-height:44px;color:var(--ink-soft);text-align:center;padding-top:18px;font-size:13px;text-decoration:none;display:block}.chat-page{height:100svh;min-height:100svh;padding-right:0;padding-bottom:max(12px, env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,1fr) auto;padding-left:0;display:grid;overflow:hidden}.chat-header,.chat-title,.chat-scroll,.chat-composer{padding-left:24px;padding-right:24px}.chat-header{padding-top:0}.chat-title{border-bottom:1px solid var(--line);text-align:center;padding-top:23px;padding-bottom:19px}.chat-title>span{color:var(--amber);letter-spacing:.18em;font-size:10px;font-weight:750}.chat-title h1{font-family:var(--font-serif);margin:7px 0 0;font-size:24px;font-weight:500}.chat-title p{color:var(--ink-soft);margin:6px 0 0;font-size:11px}.chat-connection{color:var(--ink-soft);align-items:center;gap:6px;margin-top:9px;font-size:9px;display:inline-flex}.chat-connection:before{background:var(--amber);content:"";border-radius:50%;width:5px;height:5px}.chat-connection--connected:before{background:var(--pine)}.chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}.chat-message-list{margin:0;padding:20px 0 14px;list-style:none}.chat-message-item{content-visibility:auto;contain-intrinsic-size:0 86px}.chat-day-divider{color:var(--ink-soft);align-items:center;gap:10px;margin:10px 0 18px;font-size:10px;display:flex}.chat-day-divider:before,.chat-day-divider:after{background:var(--line);content:"";flex:1;height:1px}.chat-bubble-row{flex-direction:column;align-items:flex-start;margin-bottom:14px;display:flex}.chat-bubble-row--mine{align-items:flex-end}.chat-sender{color:var(--ink-soft);margin:0 0 5px 5px;font-size:10px}.chat-bubble-meta{align-items:flex-end;gap:7px;max-width:84%;display:flex}.chat-bubble-row--mine .chat-bubble-meta{flex-direction:row-reverse}.chat-bubble{border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;background:#ffffff8c;border-radius:4px 14px 14px;min-width:44px;margin:0;padding:11px 13px;font-size:14px;line-height:1.55}.chat-bubble-row--mine .chat-bubble{background:#174b351a;border-color:#174b3524;border-radius:14px 4px 14px 14px}.chat-bubble-meta>span{color:var(--ink-soft);white-space:nowrap;flex:none;padding-bottom:2px;font-size:9px}.chat-retry{min-height:38px;color:var(--danger);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-top:3px;padding:0 5px;font-size:10px;display:inline-flex}.chat-empty,.chat-loading{min-height:100%;color:var(--ink-soft);text-align:center;place-content:center;display:grid}.chat-empty p{font-family:var(--font-serif);margin:0;font-size:16px}.chat-empty span{margin-top:8px;font-size:11px}.chat-loading{font-family:var(--font-serif);margin:0;font-size:13px}.chat-load-error{text-align:center;margin-top:22px}.chat-composer{border-top:1px solid var(--line);background:#fbf8f0f0;grid-template-columns:minmax(0,1fr) 46px;align-items:end;gap:8px;padding-top:12px;display:grid}.chat-composer textarea{resize:none;border:1px solid var(--line);width:100%;min-height:46px;max-height:116px;color:var(--ink);background:#ffffff94;border-radius:12px;padding:12px 13px;font-size:14px;line-height:1.45}.chat-composer textarea:focus{border-color:var(--pine);box-shadow:inset 2px 0 var(--pine);outline:0}.chat-composer button{background:var(--pine);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.chat-composer button:disabled{cursor:default;opacity:.38}.records-page,.record-editor-page,.record-detail-page{padding-bottom:calc(42px + env(safe-area-inset-bottom))}.records-intro,.record-editor-intro{margin-top:40px}.records-intro>span,.record-editor-intro>span,.record-eyebrow{color:var(--amber);letter-spacing:.16em;font-size:12px;font-weight:750}.records-intro h1,.record-editor-intro h1,.record-paper h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:10px 0 0;font-weight:500}.records-intro h1{font-size:30px;line-height:1.38}.records-intro p,.record-editor-intro p{color:var(--ink-soft);margin:13px 0 0;font-size:13px;line-height:1.7}.record-list-section{margin-top:42px}.record-section-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding-bottom:11px;display:flex}.record-section-heading h2{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:600}.record-section-heading span{color:var(--ink-soft);font-size:12px}.record-list-row{border-bottom:1px solid var(--line);min-height:116px;color:inherit;grid-template-columns:64px 1fr 20px;align-items:start;gap:13px;padding:18px 0;text-decoration:none;display:grid}.record-date{color:var(--ink-soft);font-family:var(--font-serif);padding-top:24px;font-size:12px}.record-list-copy>*{display:block}.record-list-copy small{color:var(--pine);font-size:11px;line-height:1.45}.record-list-copy strong{font-family:var(--font-serif);margin-top:7px;font-size:16px;font-weight:600}.record-list-copy>span{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.record-list-row>svg{color:var(--ink-soft);stroke-width:1.4px;margin-top:35px}.record-empty{color:var(--ink-soft);text-align:center;font-family:var(--font-serif);margin:0;padding:29px 0 12px;font-size:13px;line-height:1.75}.record-editor-intro h1{font-size:27px;line-height:1.4}.draft-save-state{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:34px;color:var(--ink-soft);align-items:center;gap:7px;margin-top:22px;padding:8px 0;font-size:11px;display:flex}.draft-save-state--restored,.draft-save-state--offline{color:var(--pine)}.record-form{margin-top:30px}.record-form>label,.record-context-grid label{margin-top:22px;font-size:13px;font-weight:650;display:block}.record-form input:not([type=checkbox]),.record-form textarea,.record-form select{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;margin-top:9px;padding:13px 14px;font-size:14px;line-height:1.6}.record-form textarea{resize:vertical;min-height:220px;font-family:var(--font-serif);padding:16px 4px;font-size:17px;line-height:1.9}.record-form input:focus,.record-form textarea:focus,.record-form select:focus{border-color:var(--pine);box-shadow:0 1px var(--pine);outline:none}.record-context-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dream-link-field{border:0;border-top:1px solid var(--amber);border-bottom:1px solid var(--amber);margin:28px 0 0;padding:20px 0 4px}.dream-link-field legend{color:var(--pine);font-family:var(--font-serif);align-items:center;gap:7px;padding:0 9px 0 0;font-size:16px;font-weight:650;display:flex}.dream-link-field legend small{color:var(--ink-soft);font-family:var(--font-sans);font-size:10px;font-weight:500}.dream-link-field>p{color:var(--ink-soft);margin:3px 0 2px;font-size:11px;line-height:1.55}.dream-link-field label{margin-top:15px;font-size:12px;font-weight:650;display:block}.analysis-consent{border-bottom:1px solid var(--line);color:var(--pine);cursor:pointer;grid-template-columns:20px 20px 1fr;align-items:start;gap:9px;padding:17px 0;display:grid!important}.analysis-consent input{accent-color:var(--pine);margin-top:3px}.analysis-consent svg{margin-top:1px}.analysis-consent strong,.analysis-consent small{display:block}.analysis-consent small{color:var(--ink-soft);margin-top:5px;font-weight:400;line-height:1.5}.arrival-note{border-top:1px solid var(--amber);border-bottom:1px solid var(--amber);color:var(--pine);gap:10px;margin-top:28px;padding:16px 0;display:flex}.arrival-note p{margin:0}.arrival-note strong,.arrival-note span{font-size:12px;line-height:1.55;display:block}.arrival-note span{color:var(--ink-soft);margin-top:3px}.record-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.record-actions .primary-button{grid-column:1/-1;margin-top:0}.quiet-button,.outline-button,.danger-text-button{border:1px solid var(--line);min-height:50px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.record-attachments{border:1px solid var(--line);background:#ffffff73;border-radius:16px;margin-top:24px;padding:16px}.record-attachments-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-attachments-heading strong,.record-attachments-heading small{display:block}.record-attachments-heading small{color:var(--ink-muted);margin-top:4px;font-size:11px}.attachment-picker{border:1px solid var(--line-strong);color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:10px;align-items:center;gap:5px;padding:9px 11px;font-size:12px;display:inline-flex}.attachment-picker input{display:none}.attachment-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.attachment-list li{background:#efe8db8c;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:grid}.attachment-list small{color:var(--ink-muted)}.attachment-list button{width:28px;height:28px;color:var(--ink-muted);background:0 0;border:0;place-items:center;display:grid}.install-notification-card{border:1px solid var(--line);background:#ffffff8c;border-radius:16px;align-items:center;gap:12px;margin-top:28px;padding:16px;display:flex}.install-notification-card>div{flex:1}.install-notification-card strong,.install-notification-card p{display:block}.install-notification-card p{color:var(--ink-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.install-notification-card .outline-button{white-space:nowrap;min-height:38px;padding:0 12px}.record-media-gallery{gap:12px;margin-top:24px;display:grid}.record-media-gallery img{object-fit:cover;border-radius:14px;width:100%;max-height:520px;display:block}.record-audio{border:1px solid var(--line);background:#ffffff7a;border-radius:12px;gap:7px;padding:12px;display:grid}.record-audio span{color:var(--ink-soft);font-size:12px}.record-audio audio{width:100%}.outline-button{border-color:var(--pine);color:var(--pine)}.quiet-button:disabled,.outline-button:disabled,.danger-text-button:disabled{cursor:wait;opacity:.5}.record-paper{margin-top:48px}.record-paper h1{border-bottom:1px solid var(--ink);padding-bottom:18px;font-size:31px;line-height:1.35}.record-delivery{color:var(--pine);align-items:center;gap:7px;margin:13px 0 0;font-size:12px;display:flex}.record-body{white-space:pre-wrap;min-height:220px;font-family:var(--font-serif);padding:34px 2px;font-size:17px;line-height:2}.record-context{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:20px 0}.record-dream-links{border-top:1px solid var(--amber);border-bottom:1px solid var(--amber);padding:19px 0}.record-dream-links h2{color:var(--pine);font-family:var(--font-serif);align-items:center;gap:7px;margin:0 0 7px;font-size:15px;font-weight:650;display:flex}.record-dream-links a{min-height:46px;color:inherit;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.record-dream-links a span{color:var(--ink-soft);font-size:11px}.record-dream-links a strong{text-align:right;font-family:var(--font-serif);font-size:14px}.record-context div{grid-template-columns:82px 1fr;padding:7px 0;font-size:12px;display:grid}.record-context dt{color:var(--ink-soft);align-items:center;gap:7px;display:flex}.record-context dd{margin:0}.record-analysis{color:var(--ink-soft);align-items:flex-start;gap:8px;margin:18px 0 0;font-size:11px;line-height:1.55;display:flex}.record-detail-actions{gap:12px;margin-top:34px;display:grid}.danger-text-button{min-height:44px;color:var(--danger);border:0;font-weight:500}@media (width>=520px){body{padding:28px 0}.app-frame{min-height:calc(100vh - 56px);box-shadow:var(--shadow-soft);border:1px solid #1d241f1a;border-radius:28px}.bottom-nav{border-left:1px solid #1d241f1a;border-right:1px solid #1d241f1a;border-bottom-right-radius:28px;border-bottom-left-radius:28px;bottom:28px}}@media (height<=760px){.entry-intro{margin-top:18px}.entry-form{margin-top:22px}.profile-option{min-height:112px}.profile-portrait{width:74px;height:74px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
