@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}}:root{--paper:#fbf7f4;--paper-rgb:251, 247, 244;--paper-deep:#efe9e2;--lifted:#faf9f5;--lifted-rgb:250, 249, 245;--white:#fff;--ink:#4e4a43;--pencil:#8a847a;--graphite:#b0a99e;--rule:#e9e2d9;--rule-soft:#f0e4d8;--bar-bg:var(--paper);--icon:#8c9aa0;--icon-rgb:140, 154, 160;--shade-rgb:80, 68, 55;--amber:#d99b48;--error:#d97b6c;--error-rgb:217, 123, 108;--error-bg:var(--error-bg);--sage:#97a18e;--sage-deep:#7d8874;--sage-rgb:151, 161, 142;--sage-light:#a9bfa1;--accent:#d9a89e;--accent-rgb:217, 168, 158;--accent-soft:rgba(var(--accent-rgb), .12);--accent-press:#cc9789;--accent-deep:#b07b70;--accent-shadow-rgb:180, 120, 105;--coral:#d9a89e;--cloud:#a0afb6;--sand:#e5cab5;--clawd-body:#de886d;--reading-paper:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--reading-paper:color-mix(in srgb, var(--paper) 86%, var(--sand))}}:root{--reading-paper-deep:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--reading-paper-deep:color-mix(in srgb, var(--paper) 72%, var(--sand))}}:root{--note-ada-rgb:var(--sage-rgb);--note-ada-ink:var(--sage-deep);--note-inn-rgb:var(--accent-rgb);--note-inn-ink:var(--accent-deep);--shadow:0 4px 16px rgba(var(--shade-rgb), .06);--shadow-lg:0 8px 30px rgba(var(--shade-rgb), .08);--shadow-bubble:0 1px 2px rgba(var(--shade-rgb), .06), 0 1px 1px rgba(var(--shade-rgb), .04);--blur:saturate(160%) blur(24px);--r:16px;--r-sm:10px;--r-pill:999px}html[data-theme=linen]{--paper:#faf9f5;--paper-rgb:250, 249, 245;--paper-deep:#e9e7df;--lifted:#f0eee6;--lifted-rgb:240, 238, 230;--ink:#2b2a27;--pencil:#8a867c;--graphite:#b3afa5;--rule:#e3e0d7;--rule-soft:#e9e4da;--icon:#8a867c;--icon-rgb:138, 134, 124;--shade-rgb:43, 42, 39;--amber:#e3a13a;--error:#b9473a;--error-rgb:185, 71, 58;--error-bg:#fff4f0e6;--accent:#cc785c;--accent-rgb:204, 120, 92;--accent-press:#b8694f;--accent-deep:#a65a42;--accent-shadow-rgb:170, 95, 70;--clawd-body:#de886d}@font-face{font-family:LXGW ZhenKai;src:url(/fonts/lxgw-zhenkai.woff2?v=1)format("woff2");font-display:swap}@font-face{font-family:XiangCui DengCuSong;src:url(/fonts/xiangcui-dengcusong.woff2?v=1)format("woff2");font-display:swap}html[data-font=zhenkai]{--font-cjk:"LXGW ZhenKai", -apple-system, "PingFang SC", sans-serif}html[data-font=dengcusong]{--font-cjk:"XiangCui DengCuSong", -apple-system, "PingFang SC", sans-serif}.bubble,.letter-card h3,.letter-card p,.memory-title,.composer textarea,.murmur-body,.previous-chat-preview,.stir-title,.kaomoji-item,.font-sample,.memory-card-title,.memory-card-preview,.memory-search-input,.memory-sheet-title,.memory-sheet-content,.memory-sheet-meaning,.memory-quote-text{font-family:var(--font-cjk,inherit)}:root{--font-nudge:0px}.font-sample[data-font=zhenkai]{font-family:LXGW ZhenKai,-apple-system,PingFang SC,sans-serif}.font-sample[data-font=dengcusong]{font-family:XiangCui DengCuSong,-apple-system,PingFang SC,sans-serif}.font-sample[data-font=system]{font-family:-apple-system,PingFang SC,sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);width:100%;height:100%;color:var(--ink);margin:0}@media (display-mode:standalone){html,body{height:100vh}}html.native-shell,html.native-shell body{height:100vh}html{overscroll-behavior:none}body{font-family:-apple-system, "SF Pro Display", "PingFang SC", var(--font-sans), "Avenir Next", "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased}button,textarea,input{font:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:0}.app-shell{background:var(--paper);flex-direction:column;display:flex;position:fixed;inset:0}.topbar{z-index:40;padding:calc(14px + env(safe-area-inset-top)) 16px 12px;background:var(--bar-bg);justify-content:space-between;align-items:center;display:flex;position:relative}.topbar-main-left{align-items:center;gap:6px;min-width:0;display:flex}.identity{align-items:center;gap:12px;display:flex}.avatar{background:var(--white);width:42px;height:42px;box-shadow:0 2px 10px rgba(var(--shade-rgb), .14), 0 0 0 1px #fff9 inset;border-radius:13px;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.mark{color:var(--white);background:var(--accent);place-items:center;font-family:Georgia,Times New Roman,serif;font-style:italic;display:grid;box-shadow:inset 0 0 0 1px #fff3}.identity h1{letter-spacing:.01em;margin:0 0 2px;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:17px;font-weight:600;line-height:1.2}.status{color:var(--pencil);letter-spacing:.02em;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.status span{background:var(--graphite);border-radius:50%;width:6px;height:6px}.status.online span{background:var(--sage);box-shadow:0 0 0 3px rgba(var(--sage-rgb), .15)}.status.offline span{background:var(--accent)}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-btn{width:36px;height:36px;color:var(--pencil);background:0 0;border:0;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.topbar-btn:active,.topbar-btn.active{color:var(--paper);background:var(--accent)}.topbar-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.topbar-btn svg[viewBox="0 0 256 256"]{stroke-width:16px}.topbar.topbar-back{justify-content:flex-start;gap:6px}.topbar-title{text-align:center;letter-spacing:.01em;color:var(--ink,#2a2a2a);flex:1;margin:0;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:15px;font-weight:600}.topbar-spacer{width:36px;height:36px;display:block}.drawer-backdrop{z-index:20;background:rgba(var(--shade-rgb), .35);opacity:0;pointer-events:none;border:0;transition:opacity .2s ease-out;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{z-index:30;width:min(78vw,300px);padding:calc(82px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));color:var(--ink);background:var(--paper);box-shadow:var(--shadow-bubble);transition:transform .2s ease-out;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.drawer.open{transform:translate(0)}.drawer-title{margin:0 10px 24px;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:18px;font-weight:600}.drawer-group-label{color:var(--pencil);letter-spacing:.12em;text-transform:uppercase;margin:20px 10px 7px;font-size:10px;font-weight:650}.drawer-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;display:flex}.drawer-item:active:not(:disabled){color:var(--paper);background:var(--accent)}.drawer-item:disabled{color:var(--pencil);opacity:.4}.drawer-item svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.archive-page{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:8px 16px 24px;overflow-y:auto}.previous-chats-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.previous-chat-card{background:var(--lifted);width:100%;box-shadow:var(--shadow-bubble);color:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:6px;padding:14px 16px;transition:background .12s;display:flex}.previous-chat-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.previous-chat-count{color:var(--pencil);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.previous-chat-card:active{color:var(--paper);background:var(--accent)}.previous-chat-card:active .previous-chat-preview,.previous-chat-card:active .previous-chat-count{color:var(--paper)}.previous-chat-date{letter-spacing:.02em;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:14px;font-weight:600}.previous-chat-preview{color:var(--pencil);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4;overflow:hidden}.month-strip{grid-template-columns:36px minmax(86px,auto) 36px 1fr 36px;align-items:center;margin-bottom:8px;display:grid}.month-strip>span{text-align:center;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:14px;font-weight:600}.month-strip button{width:36px;height:36px;color:var(--pencil);background:0 0;border:0;border-radius:50%;place-items:center;font-size:24px;display:grid}.month-strip button:active:not(:disabled){color:var(--paper);background:var(--accent)}.month-strip button:disabled{opacity:.35}.month-strip .calendar-toggle{grid-column:5}.calendar-toggle svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .2s ease-out}.calendar-toggle.open svg{transform:rotate(180deg)}.calendar-collapse{grid-template-rows:0fr;transition:grid-template-rows .2s ease-out;display:grid}.calendar-collapse.open{grid-template-rows:1fr}.calendar-collapse-inner{min-height:0;overflow:hidden}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.month-grid.weekday-row{color:var(--pencil);text-align:center;margin-bottom:4px;font-size:10px}.month-grid button{min-height:39px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;padding:3px 0 8px;font-size:12px;display:grid;position:relative}.month-grid button.today span{border:1px solid var(--accent);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.month-grid button.no-messages{color:var(--pencil);opacity:.4}.month-grid button.has-messages:active{color:var(--paper);background:var(--accent)}.month-grid button i{background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.month-grid button:active i{background:var(--paper)}.search-page .memory-search{margin-top:0}.search-results{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.search-result-card{width:100%;color:var(--ink);background:var(--lifted);box-shadow:var(--shadow-bubble);text-align:left;border:0;border-radius:14px;flex-direction:column;gap:7px;padding:14px 16px;display:flex}.search-result-card:active{color:var(--paper);background:var(--accent)}.search-result-meta{color:var(--pencil);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:10.5px;display:flex}.search-result-card:active .search-result-meta{color:var(--paper)}.search-result-snippet{color:inherit;font-family:var(--font-cjk);font-size:13px;line-height:1.5}.search-result-snippet mark{color:inherit;background:var(--accent-soft);padding:0 1px}.load-more{color:var(--paper);background:var(--accent);border:0;border-radius:12px;margin:14px auto 4px;padding:9px 16px;font-size:12px;display:block}.load-more:disabled{opacity:.55}.archive-loading{color:var(--pencil);text-align:center;margin:18px 0;font-size:12px}.album-grid{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.album-thumb{aspect-ratio:1;background:var(--paper-deep);border:0;padding:0;position:relative;overflow:hidden}.album-thumb img{object-fit:cover;width:100%;height:100%;transition:filter .2s}.album-thumb.private img{filter:blur(14px)}.album-thumb.private.revealed img{filter:none}.album-thumb-flag{background:var(--amber);width:7px;height:7px;box-shadow:0 0 0 2px rgba(var(--shade-rgb), .25);border-radius:50%;position:absolute;bottom:6px;right:6px}.album-sentinel{height:1px}.album-viewer{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.album-viewer-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;background:var(--paper-deep);flex:0 0 58vh;height:58vh;display:flex;overflow:auto hidden}.album-viewer-slide{scroll-snap-align:center;flex:0 0 100%;justify-content:center;align-items:center;width:100%;display:flex}.album-viewer-img{object-fit:contain;max-width:100%;max-height:100%}.album-nav-btn{z-index:2;width:40px;height:40px;color:var(--white);background:rgba(var(--shade-rgb), .4);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:calc(29vh - 20px)}.album-nav-btn.left{left:10px}.album-nav-btn.right{right:10px}.album-nav-btn svg{fill:none;stroke:currentColor;stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (hover:hover){.album-nav-btn:hover{background:rgba(var(--shade-rgb), .55)}}.album-viewer-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:16px 18px 24px;overflow-y:auto}.album-viewer-date{color:var(--pencil);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:0 0 10px;font-size:11px}.album-viewer-memory{color:var(--ink);font-family:var(--font-cjk);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.7}.album-viewer-memory.empty{color:var(--pencil);font-style:italic}.album-viewer-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.album-tag{border-radius:var(--r-pill);background:var(--lifted);box-shadow:var(--shadow-bubble);color:var(--pencil);padding:4px 11px;font-size:11px}.feed-page{padding-bottom:32px}.feed-month-nav{grid-template-columns:36px minmax(86px,auto) 36px;justify-content:center;margin:2px 0 6px}.feed-page .month-grid button i{background:var(--graphite);width:4px;height:4px}.feed-page .month-grid button i.unread{background:var(--accent);width:6px;height:6px}.feed-page .month-grid button.selected{color:var(--paper);background:var(--accent)}.feed-page .month-grid button:active i{background:var(--paper)}.feed-page .month-grid button.selected i{display:none}.feed-page .month-grid button.selected.today span{border-color:var(--paper)}.feed-ask{align-items:center;margin:10px 0 8px;display:flex;position:relative}.feed-ask .memory-search-input{padding-right:46px}.feed-ask-send{width:30px;height:30px;color:var(--paper);background:var(--accent);border:0;border-radius:50%;place-items:center;transition:background .12s;display:grid;position:absolute;right:6px}.feed-ask-send:disabled{color:var(--graphite);background:0 0}.feed-ask-send:active:not(:disabled){background:var(--accent-press)}.feed-ask-send svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.feed-ask-error{color:var(--error);margin:0 0 8px;padding:0 4px;font-size:12px}.feed-asks{flex-direction:column;gap:2px;margin:0 0 14px;padding:0;list-style:none;display:flex}.feed-ask-item{align-items:center;gap:2px;display:flex}.feed-ask-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:9px;padding:7px 10px;display:flex}.feed-ask-main:disabled{color:var(--pencil)}.feed-ask-main.answered:active{color:var(--paper);background:var(--accent)}.feed-ask-dot{background:var(--graphite);border-radius:50%;flex:none;width:5px;height:5px}.feed-ask-main.answered .feed-ask-dot{background:var(--accent)}.feed-ask-main.answered:active .feed-ask-dot{background:var(--paper)}.feed-ask-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-cjk,inherit);flex:1;font-size:13px;overflow:hidden}.feed-ask-del{width:28px;height:28px;color:var(--graphite);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.feed-ask-del:active{background:rgba(var(--icon-rgb), .14)}.feed-ask-del svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.feed-list{flex-direction:column;gap:14px;display:flex}.feed-card{border-radius:var(--r);background:var(--lifted);box-shadow:var(--shadow-bubble);overflow:hidden}.feed-card-art{aspect-ratio:4/3;background:var(--paper-deep);cursor:zoom-in;border:0;width:100%;padding:0;display:block}.feed-card-art img{object-fit:cover;width:100%;height:100%;display:block}.feed-card-body{padding:13px 16px 16px}.feed-card-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.feed-kind{border-radius:var(--r-pill);color:var(--pencil);background:var(--paper-deep);letter-spacing:.06em;padding:3px 10px;font-size:10.5px}.feed-kind[data-kind=ask]{color:var(--paper);background:var(--accent)}.feed-unread{background:var(--accent);border-radius:50%;width:6px;height:6px}.feed-card-title{color:var(--ink);font-family:var(--font-cjk,Georgia, "Noto Serif", serif);margin:0;font-size:17px;font-weight:600;line-height:1.35}.feed-credit{color:var(--pencil);margin:5px 0 0;font-size:11.5px;line-height:1.5}.feed-ask-quote{box-shadow:inset 2px 0 0 var(--accent);color:var(--pencil);font-family:var(--font-cjk,inherit);margin:10px 0 0;padding-left:10px;font-size:13px;line-height:1.6}.feed-sky{grid-template-columns:repeat(2,1fr);gap:9px 14px;margin:12px 0 0;display:grid}.feed-sky>div{flex-direction:column;gap:2px;min-width:0;display:flex}.feed-sky>div.wide{grid-column:1/-1}.feed-sky dt{color:var(--pencil);letter-spacing:.06em;font-size:10.5px}.feed-sky dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:14px}.feed-events{flex-direction:column;gap:9px;margin:12px 0 0;padding:0;list-style:none;display:flex}.feed-events li{gap:10px;display:flex}.feed-event-year{width:42px;color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:13px}.feed-event-text{min-width:0;color:var(--ink);font-family:var(--font-cjk,inherit);flex:1;font-size:13px;line-height:1.6}.feed-poem{color:var(--ink);font-family:var(--font-cjk,Georgia, "Noto Serif", serif);white-space:pre-wrap;margin:12px 0 0;font-size:14.5px;line-height:1.95}.feed-card-text{color:var(--ink);font-family:var(--font-cjk,inherit);white-space:pre-wrap;margin:12px 0 0;font-size:14px;line-height:1.75}.feed-source{color:var(--pencil);margin-top:13px;font-size:11.5px;text-decoration:none;display:inline-block}.feed-source:active{color:var(--accent-deep)}.feed-empty-mark{width:78px;height:58px;color:rgba(var(--accent-rgb), .6);margin-bottom:18px;display:block}.feed-empty-mark svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}@media (prefers-reduced-motion:no-preference){.feed-card.flash{animation:1.6s ease-out feed-focus-flash}}@keyframes feed-focus-flash{0%{background:var(--accent-soft)}to{background:var(--lifted)}}.icon-button{cursor:pointer;width:36px;height:36px;color:var(--pencil);background:0 0;border:0;border-radius:50%;place-content:center;gap:4px;display:grid}.icon-button:active{background:var(--accent-soft)}.icon-button span{background:var(--pencil);border-radius:50%;width:4px;height:4px}[hidden]{display:none!important}.conversation{overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.message-list{width:min(100%,820px);min-height:100%;margin:0 auto;padding:14px 16px 16px}.message-row{flex-direction:column;margin:0 0 12px;animation:.2s ease-out message-in;display:flex}.message-row.user{align-items:flex-end;padding-left:15%}.message-row.assistant{align-items:flex-start;padding-right:10%}.bubble{max-width:100%;box-shadow:var(--shadow-bubble);border:1px solid #0000;border-radius:18px;padding:11px 15px;position:relative}.user .bubble{color:var(--white);background:var(--sage);border-color:#0000;border-bottom-right-radius:6px}.assistant .bubble{background:var(--lifted);border-color:rgba(var(--shade-rgb), .04);border-bottom-left-radius:6px}.bubble.error{color:var(--error);border-color:rgba(var(--error-rgb), .24);background:var(--error-bg)}.bubble .md-content p{font-size:calc(15px + var(--font-nudge));margin:0 0 7px;line-height:1.6}.bubble .md-content p:last-child{margin-bottom:0}.bubble .md-content strong{font-weight:650}.bubble .md-content code{border-radius:4px;padding:1.5px 5px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.86em}.assistant .md-content code{background:var(--accent-soft);color:var(--accent-deep)}.user .md-content code{color:var(--white);background:#ffffff26}.bubble .md-content pre{border-radius:var(--r-sm);white-space:pre;margin:7px 0;padding:11px 13px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;overflow-x:auto}.assistant .md-content pre{background:rgba(var(--shade-rgb), .04);border:1px solid var(--rule)}.user .md-content pre{color:var(--white);background:#0000001f;border:1px solid #ffffff14}.bubble .md-content pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.bubble .md-content blockquote{border-left:2.5px solid var(--rule);color:var(--pencil);margin:7px 0;padding:2px 0 2px 13px;font-style:italic}.user .md-content blockquote{color:#f5f3eebf;border-left-color:#ffffff4d}.bubble .md-content ul{margin:5px 0;padding-left:20px;font-size:15px;line-height:1.6}.bubble .md-content li{margin-bottom:2px}.bubble .md-content em{font-style:italic}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.6}.channel-label{color:currentColor;letter-spacing:.09em;opacity:.4;text-transform:uppercase;margin:-1px 0 5px;font-size:9px;font-weight:650;display:block}.message-row.grouped{margin-bottom:4px}@media (prefers-reduced-motion:no-preference){.bubble-reveal{animation:.18s ease-out bubble-reveal-in}}@keyframes bubble-reveal-in{0%{opacity:0}to{opacity:1}}.message-row.grouped .bubble{border-bottom-left-radius:var(--r);border-bottom-right-radius:var(--r)}.bubble-meta{align-items:center;gap:10px;margin:6px 6px 0;font-size:11px;font-style:italic;line-height:1;display:flex}.assistant .bubble-meta,.user .bubble-meta{color:var(--pencil)}.bubble-meta time{font-variant-numeric:tabular-nums;letter-spacing:.02em;align-items:baseline;gap:10px;font-style:italic;display:inline-flex}.bubble-meta .meta-time{font-weight:500}.bubble-meta .meta-date{opacity:.85}.copy-button{color:var(--accent);font-size:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;padding:2px;font-style:italic;font-weight:500}.copy-button:hover,.copy-button:focus-visible{color:var(--accent)}.fav-button{width:18px;height:18px;color:var(--pencil);background:0 0;border:0;place-items:center;padding:1px;display:inline-grid}.fav-button.active{color:var(--accent)}.fav-button svg{stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.fav-button:active{color:var(--paper);background:var(--accent);border-radius:4px}.read-receipt{color:var(--accent);align-items:center;display:inline-flex}.read-receipt svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.saved-date{color:var(--pencil);text-align:left;background:0 0;border:0;margin:4px 6px 6px;padding:0;font-size:10.5px;display:block}.saved-date:active{color:var(--accent)}.message-row.saved-fading,.saved-date.saved-fading{opacity:0;transition:opacity .22s ease-out}@media (prefers-reduced-motion:no-preference){.message-row.flash .bubble,.message-row.flash .image-gallery{animation:1.6s ease-out message-focus-flash}}@keyframes message-focus-flash{0%{background:var(--accent-soft)}to{background:0 0}}.voice-bubble{min-width:0;padding:7px 11px}.voice-play{cursor:pointer;color:var(--sage-deep);background:0 0;border:0;padding:0;line-height:0;transition:opacity .15s,transform .1s;display:block}.voice-play svg{width:auto;height:26px;display:block}.voice-play:hover:not(:disabled){opacity:.8}.voice-play:active:not(:disabled){transform:scale(.96)}.voice-play:disabled{cursor:not-allowed;opacity:.35}.voice-play.state-loading{opacity:.55;animation:1.1s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{opacity:.55}50%{opacity:.9}}.transcript-bubble{color:var(--pencil);font-size:calc(13px + var(--font-nudge));white-space:pre-line;line-height:1.55}.day-divider{justify-content:center;align-items:center;margin:16px 0 14px;display:flex}.day-divider span{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--lifted);color:var(--pencil);letter-spacing:.04em;padding:4px 13px;font-size:10.5px;font-weight:600}.message-list>.day-divider:first-child{margin-top:2px}.typing{align-items:center;gap:4px;min-width:42px;height:20px;display:flex}.typing i{background:var(--accent);opacity:.3;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.13s}.typing i:nth-child(3){animation-delay:.26s}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:100%;padding:30px 36px 12vh;display:grid}.empty-orbit{border:1px solid rgba(var(--accent-rgb), .22);border-radius:50%;place-items:center;width:88px;height:88px;margin-bottom:23px;display:grid;position:relative}.empty-orbit:before,.empty-orbit:after{content:"";border:1px solid rgba(var(--sage-rgb), .18);border-radius:50%;position:absolute}.empty-orbit:before{width:108px;height:48px;transform:rotate(28deg)}.empty-orbit:after{width:48px;height:108px;transform:rotate(28deg)}.empty-orbit span{z-index:1;border-radius:16px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.empty-orbit span img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.empty-state h2{margin:0;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:25px;font-weight:500}.empty-state p{max-width:340px;color:var(--pencil);margin:10px 0 0;font-size:14px;line-height:1.55}.composer-wrap{z-index:5;background:var(--bar-bg);padding:8px 14px;position:relative}.composer{background:rgba(var(--lifted-rgb), .96);width:min(100%,820px);box-shadow:var(--shadow-bubble), 0 3px 12px rgba(var(--shade-rgb), .05);border:0;border-radius:22px;flex-direction:column;margin:0 auto;padding:10px 12px 10px 16px;display:flex}.composer textarea{resize:none;width:100%;min-height:34px;max-height:140px;color:var(--ink);background:0 0;border:0;outline:0;padding:4px 0 2px;font-size:16px;line-height:1.45;overflow-y:auto}.composer textarea::placeholder{color:var(--graphite)}.composer textarea:disabled{opacity:.65}.composer-tools{align-items:center;gap:8px;margin-top:6px;display:flex}.composer-tools .send-button{margin-left:auto}.attach-button{width:34px;height:34px;color:var(--accent);cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:50%;flex:0 0 34px;place-items:center;transition:transform .12s,opacity .12s,background .12s,color .12s;display:grid}.attach-button:active:not(:disabled),.attach-button.active{background:var(--accent);color:var(--paper)}.attach-button:active:not(:disabled){transform:scale(.96)}.attach-button:disabled{cursor:default;opacity:.35}.attach-button svg{width:17px;height:17px;display:block}.composer-images{flex-wrap:wrap;align-items:center;gap:8px;width:min(100%,820px);margin:0 auto 8px;padding:8px 6px 0 4px;display:flex}.composer-image{background:rgba(var(--icon-rgb), .08);width:64px;height:64px;box-shadow:var(--shadow);border-radius:10px;position:relative;overflow:hidden}.composer-image img{object-fit:cover;width:100%;height:100%;display:block}.composer-image-remove{color:#fff;cursor:pointer;background:#1e1916b3;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;font-size:14px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.composer-image-clear{color:var(--graphite);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-self:center;padding:4px 8px;font-size:11.5px}.composer-image-clear:hover{color:var(--accent-deep)}.image-gallery{background:rgba(var(--icon-rgb), .06);border-radius:16px;gap:4px;max-width:min(84vw,360px);display:grid;overflow:hidden}.image-gallery.count-1{grid-template-columns:1fr}.image-gallery.count-2,.image-gallery.count-3{grid-template-columns:1fr 1fr}.image-gallery.count-3 .image-thumb:first-child{grid-column:1/-1}.image-gallery.count-4{grid-template-columns:1fr 1fr}.image-thumb{aspect-ratio:1;width:100%;font:inherit;cursor:pointer;background:rgba(var(--icon-rgb), .1);-webkit-tap-highlight-color:transparent;border:0;margin:0;padding:0;display:block;overflow:hidden}.image-gallery.count-1 .image-thumb{aspect-ratio:auto;max-height:320px}.image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.image-gallery.count-1 .image-thumb img{object-fit:contain;background:rgba(var(--icon-rgb), .06)}.send-button{width:36px;height:36px;color:var(--white);background:var(--accent);cursor:pointer;box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);border:0;border-radius:50%;flex:0 0 36px;place-items:center;transition:transform .12s,opacity .12s,background .12s;display:grid}.send-button:active:not(:disabled){background:var(--accent-press);transform:scale(.92)}.send-button:disabled{cursor:default;opacity:.3;box-shadow:none}.send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:17px;height:17px}.privacy-note{color:var(--graphite);text-align:center;letter-spacing:.025em;margin:6px 0 0;font-size:9.5px}.toast{z-index:20;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));border:1px solid var(--rule);max-width:calc(100% - 36px);color:var(--ink);background:rgba(var(--lifted-rgb), .96);box-shadow:var(--shadow-lg);text-align:center;border-radius:12px;padding:9px 13px;font-size:12px;position:fixed;transform:translate(-50%)}.login-shell,.splash{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(ellipse at 12% 0%, rgba(var(--accent-rgb), .06), transparent 40%), radial-gradient(ellipse at 92% 100%, rgba(var(--sage-rgb), .07), transparent 35%), var(--paper);place-items:center;display:grid}.splash{color:var(--pencil);align-content:center;gap:16px;font-size:13px}.splash .mark{border-radius:16px;width:62px;height:62px;overflow:hidden}.splash .mark img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.login-card{border:1px solid var(--rule);background:var(--lifted);width:min(100%,390px);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:24px;padding:34px 28px 29px}.login-card .mark{border-radius:16px;width:52px;height:52px;margin-bottom:28px;overflow:hidden}.login-card .mark img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:650}.login-card h1{letter-spacing:-.02em;margin:0;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:32px;font-weight:500}.login-copy{color:var(--pencil);margin:9px 0 26px;font-size:14px;line-height:1.5}.login-card label{color:var(--pencil);margin:0 0 7px;font-size:12px;display:block}.login-card input{border:1px solid var(--rule);border-radius:var(--r);width:100%;height:48px;color:var(--ink);background:#ffffff80;outline:0;padding:0 14px;font-size:16px}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary-button{border-radius:var(--r);width:100%;height:48px;color:var(--white);background:var(--accent);cursor:pointer;border:0;margin-top:15px;font-weight:620}.primary-button:disabled{opacity:.45}.form-error{color:var(--error);margin:8px 2px -4px;font-size:12px}@keyframes typing{0%,65%,to{opacity:.25;transform:translateY(0)}32%{opacity:.85;transform:translateY(-3px)}}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}}.murmur-row{padding-left:12px;padding-right:12px}.murmur-block{width:100%;max-width:100%;color:var(--pencil);border:0;margin:2px 0;padding:2px 0;font-size:12.5px;line-height:1.55}.murmur-toggle{color:var(--pencil);letter-spacing:.08em;text-transform:uppercase;opacity:.85;align-items:center;gap:7px;padding:2px 6px 2px 0;font-size:11.5px;transition:opacity .15s,color .15s;display:inline-flex}.murmur-icon{color:var(--pencil);align-items:center;display:inline-flex}.murmur-icon svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.murmur-block.open .murmur-toggle{opacity:1;color:var(--ink)}@media (hover:hover){.murmur-toggle:hover{opacity:1;color:var(--ink)}}.murmur-label{font-family:SF Mono,Menlo,Consolas,monospace;font-size:10.5px}.murmur-caret{font-size:10px;transform:translateY(-1px)}.murmur-body{color:var(--pencil);white-space:pre-wrap;margin-top:4px;font-style:italic}.murmur-body p{margin:0 0 6px}.murmur-body p:last-child{margin-bottom:0}.think-block .murmur-icon svg{stroke-width:18px}.tabbar{z-index:6;padding:3px 8px max(20px, env(safe-area-inset-bottom,0px));background:0 0;display:flex}.tab{border-radius:var(--r-sm);color:var(--graphite);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 4px 4px;transition:color .15s;display:flex}.tab.active{color:var(--accent)}.tab.active .tab-label{font-weight:600}.tab-icon{place-items:center;width:24px;height:24px;display:grid}.tab-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tab-icon svg:not([viewBox="0 0 256 256"]){stroke-width:1.5px}.tab.active .tab-icon svg:not([viewBox="0 0 256 256"]){stroke-width:1.7px}.tab-icon svg[viewBox="0 0 256 256"]{stroke-width:16px}.tab.active .tab-icon svg[viewBox="0 0 256 256"]{stroke-width:18px}.tab-label{letter-spacing:.02em;font-size:10px;font-weight:550}.session-chip{color:var(--pencil);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:500}.session-chip.warn{color:var(--amber)}.session-chip.crit{color:var(--error)}.panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.panel-body{width:min(100%,820px);margin:0 auto;padding:14px 16px 16px}.panel-head{justify-content:space-between;align-items:baseline;margin:0 0 16px;display:flex}.panel-head h2{margin:0;font-family:Georgia,Noto Serif,Times New Roman,serif;font-size:18px;font-weight:600}.tab-header{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 12px;background:var(--bar-bg);z-index:10}.tab-header-row{justify-content:space-between;align-items:center;min-height:42px;display:flex}.tab-header h2{letter-spacing:.01em;color:var(--ink);margin:0 0 2px;font-family:Georgia,Noto Serif,serif;font-size:17px;font-weight:600;line-height:1.2}.tab-header .sub{color:var(--pencil);letter-spacing:.02em;margin:0;font-size:11px}.tab-header h2.anniversary-days{color:var(--ink)}.tab-header .sub.anniversary-since{color:var(--ink);font-variant-numeric:tabular-nums}.icon-circle{width:36px;height:36px;color:var(--icon);background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:50%;place-items:center;transition:background .15s,transform .1s;display:grid}.icon-circle:active{background:var(--accent);color:var(--accent-deep);transform:scale(.94)}.icon-circle:disabled{opacity:.5;cursor:default}.icon-circle svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.status-hero{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 12px;background:var(--bar-bg);z-index:10;align-items:center;gap:12px;min-height:68px;display:flex}.hero-avatar{background:var(--white);width:42px;height:42px;box-shadow:0 2px 10px rgba(var(--shade-rgb), .14), 0 0 0 1px #fff9 inset;border-radius:13px;overflow:hidden}.hero-avatar img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.ghost-button{border-radius:var(--r-pill);color:var(--icon);background:var(--lifted);box-shadow:var(--shadow-bubble);cursor:pointer;border:0;padding:6px 14px;font-size:12px;transition:color .15s,background .15s}.ghost-button:disabled{opacity:.55;cursor:default}.panel-muted{color:var(--pencil);margin:14px 0 0;font-size:12.5px;line-height:1.6}.panel-note{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:14px;padding:12px 14px;font-size:12.5px!important}.panel-note.error{background:var(--error-bg);color:var(--error);box-shadow:0 1px 3px rgba(var(--error-rgb), .12)}.section-label{color:var(--icon);letter-spacing:.1em;text-transform:uppercase;margin:18px 0 10px;font-size:11px;font-weight:650}.section-label:first-child{margin-top:0}.stat-row{gap:8px;margin:0 0 14px;display:flex}.stat{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 6px 12px;display:flex}.stat-icon{place-items:center;width:22px;height:22px;display:grid}.stat-icon svg{fill:none;width:22px;height:22px;stroke:var(--icon);stroke-width:16px;stroke-linecap:round;stroke-linejoin:round}.stat-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;line-height:1}.letter-card{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:16px;margin:14px 0;padding:16px 16px 14px}.letter-eyebrow{color:var(--icon);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:650;display:block}.letter-card h3{font-family:var(--font-cjk,Georgia, "Noto Serif", serif);font-size:calc(16px + var(--font-nudge));color:var(--ink);margin:0 0 8px;font-weight:600}.letter-card p{color:var(--ink);font-size:calc(14px + var(--font-nudge));opacity:.85;margin:0 0 12px;line-height:1.65}.letter-foot{color:var(--pencil);justify-content:space-between;align-items:baseline;font-size:11.5px;display:flex}.letter-foot a,.panel-muted a{color:var(--accent);font-weight:600;text-decoration:none}.section-title{color:var(--icon);letter-spacing:.1em;text-transform:uppercase;margin:18px 0 10px;font-size:11px;font-weight:650}.memory-list{margin:0;padding:0;list-style:none}.memory-list li{border-bottom:1px solid rgba(var(--icon-rgb), .15);justify-content:space-between;align-items:baseline;gap:10px;padding:10px 4px;display:flex}.memory-list li:last-child{border-bottom:0}.mem-left{align-items:baseline;gap:8px;min-width:0;display:flex}.mem-left svg{fill:none;width:14px;height:14px;stroke:var(--icon);stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;position:relative;top:1px}.memory-title{font-size:calc(14px + var(--font-nudge));color:var(--ink);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.memory-meta{color:var(--pencil);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px}.ombre-btn{background:var(--accent);width:100%;color:var(--lifted);letter-spacing:.02em;text-align:center;box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .16);border:0;border-radius:14px;margin-top:18px;padding:14px;font-size:14px;font-weight:650;text-decoration:none;transition:color .15s,background .15s,transform .1s;display:block}.ombre-btn:active{color:var(--accent-deep);transform:scale(.99)}.memory-ombre-btn{margin-top:16px;padding:11px;font-size:12.5px}.memory-search{align-items:center;margin:2px 0 12px;display:flex;position:relative}.memory-search-icon{width:15px;height:15px;color:var(--graphite);pointer-events:none;place-items:center;display:grid;position:absolute;left:13px}.memory-search-icon svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.memory-search-input{width:100%;color:var(--ink);background:var(--lifted);border:0;border-radius:14px;outline:0;padding:11px 36px;font-size:14px;transition:box-shadow .15s}.memory-search-input:focus{box-shadow:0 0 0 3px var(--accent-soft)}.memory-search-input::placeholder{color:var(--graphite)}.memory-search-clear{width:26px;height:26px;color:var(--icon);background:0 0;border:0;border-radius:50%;place-items:center;transition:background .12s;display:grid;position:absolute;right:6px}.memory-search-clear:active{background:rgba(var(--icon-rgb), .14)}.memory-search-clear svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.memory-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;margin:0 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.memory-chips::-webkit-scrollbar{display:none}.memory-chip{color:var(--pencil);background:var(--lifted);letter-spacing:.01em;white-space:nowrap;border:0;border-radius:999px;flex:none;padding:6px 13px;font-size:12.5px;transition:background .12s,color .12s}.memory-chip.active{color:var(--paper);background:var(--accent)}.memory-result-count{color:var(--pencil);margin:0 0 10px;font-size:11.5px}.memory-skeleton{flex-direction:column;gap:10px;display:flex}.memory-skeleton-card{background:var(--lifted);border-radius:14px;height:72px;animation:1.1s ease-in-out infinite memory-pulse}@keyframes memory-pulse{0%,to{opacity:.55}50%{opacity:1}}.memory-cards{flex-direction:column;gap:10px;margin:4px 0 0;display:flex}.memory-card{background:var(--lifted);text-align:left;border:0;border-radius:14px;flex-direction:column;gap:4px;width:100%;padding:12px 14px;transition:transform .1s,background .1s;display:flex}.memory-card:active{background:var(--paper-deep);transform:scale(.985)}.memory-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.memory-card-title{font-size:calc(15px + var(--font-nudge));color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.memory-card-preview{font-size:calc(13px + var(--font-nudge));color:var(--pencil);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.memory-card-meta{color:var(--pencil);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.memory-meta-text{white-space:nowrap}.memory-dots{letter-spacing:1px;color:var(--accent)}.memory-pill{border-radius:var(--r-pill);background:rgba(var(--icon-rgb), .12);color:var(--pencil);letter-spacing:.01em;white-space:nowrap;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.memory-pill-status{background:var(--accent-soft);color:var(--accent-deep)}.memory-locked{color:var(--pencil);font-size:calc(13px + var(--font-nudge));align-items:center;gap:4px;display:inline-flex}.memory-locked svg{fill:none;stroke:currentColor;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:12px;height:12px}.memory-weight{background:rgba(var(--icon-rgb), .14);border-radius:2px;height:3px;margin-top:6px;display:block;overflow:hidden}.memory-weight-fill{background:var(--accent);border-radius:2px;height:100%;display:block}.memory-sheet-root{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.memory-sheet-overlay{background:rgba(var(--shade-rgb), .35);animation:.18s ease-out memory-overlay-in;position:absolute;inset:0}@keyframes memory-overlay-in{0%{opacity:0}to{opacity:1}}.memory-sheet{z-index:1;background:var(--paper);width:min(100%,820px);height:88vh;max-height:88vh;box-shadow:0 -8px 30px rgba(var(--shade-rgb), .16);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:22px 22px 0 0;flex-direction:column;animation:.22s ease-out memory-sheet-in;display:flex;position:relative;overflow:hidden}@keyframes memory-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.memory-sheet-handle{background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.memory-sheet-handle span{background:var(--rule);border-radius:2px;width:36px;height:4px}.memory-sheet-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:4px 18px 24px;overflow-y:auto}.memory-sheet-title{font-size:calc(19px + var(--font-nudge));color:var(--ink);margin:6px 0 8px;font-weight:650;line-height:1.35}.memory-sheet-meta{color:var(--pencil);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:11.5px;display:flex}.memory-sheet-meaning{background:var(--accent-soft);border-radius:14px;margin:12px 0 0;padding:12px 14px}.memory-sheet-meaning p{color:var(--accent-deep);font-size:calc(14px + var(--font-nudge));margin:0 0 8px;line-height:1.6}.memory-sheet-meaning p:last-child{margin-bottom:0}.memory-sheet-content{color:var(--ink);font-size:calc(15px + var(--font-nudge));margin-top:14px;line-height:1.7}.memory-sheet-content p{white-space:pre-wrap;margin:0 0 .9em}.memory-sheet-content p:last-child{margin-bottom:0}.image-viewer-root{z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-viewer-overlay{background:#0a0908eb;animation:.16s ease-out memory-overlay-in;position:absolute;inset:0}.image-viewer-img{z-index:1;object-fit:contain;border-radius:4px;max-width:min(96vw,900px);max-height:88vh;animation:.16s ease-out memory-overlay-in;position:relative}.image-viewer-close{z-index:2;top:max(14px, env(safe-area-inset-top));color:#fff;-webkit-tap-highlight-color:transparent;background:#1412108c;border:0;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .12s;display:grid;position:absolute;right:14px}.image-viewer-close:active{background:#141210bf}.image-viewer-close svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.memory-quote-list{flex-direction:column;margin:10px 0 0;padding:0;list-style:none;display:flex}.memory-quote-list li{border-bottom:1px solid rgba(var(--icon-rgb), .15);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;display:flex}.memory-quote-list li:last-child{border-bottom:0}.memory-quote-text{color:var(--ink);font-size:calc(13.5px + var(--font-nudge));line-height:1.5}.memory-quote-meta{color:var(--pencil);white-space:nowrap;flex-shrink:0;font-size:11px}.memory-info-grid{background:var(--lifted);border-radius:14px;grid-template-columns:auto 1fr;gap:8px 14px;margin:16px 0 0;padding:14px;display:grid}.memory-info-grid span:nth-child(odd){color:var(--icon);letter-spacing:.04em;font-size:11px;font-weight:650}.memory-info-grid span:nth-child(2n){color:var(--ink);font-variant-numeric:tabular-nums;word-break:break-word;font-size:12.5px}.memory-tag-row{flex-wrap:wrap;gap:6px;margin:14px 0 0;display:flex}.hearth-sections{flex-direction:column;gap:8px;display:flex}.hearth-section{min-width:0}.bottle-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:10px 0 4px;display:grid}.bottle{--liquid:#cdd19e;--liquid-top:#dee1b4;--tone:#8a9a6c;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.bottle[data-dim=heat]{--liquid:#fcac91;--liquid-top:#fdc4ae;--tone:#e08a7a}.bottle[data-dim=warmth]{--liquid:#fdcb70;--liquid-top:#fdde9c;--tone:#d99b48}.bottle[data-dim=sulk]{--liquid:#a4b3c6;--liquid-top:#c3cfdd;--tone:#7d8fa8}.bottle-art{aspect-ratio:467/1308;width:62%;max-width:64px;position:relative}.bottle-deco{z-index:3;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.bottle-img{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.bottle-liquid-mask{z-index:1;position:absolute;inset:0;overflow:hidden;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.bottle-fill{background:linear-gradient(to bottom, var(--liquid-top), var(--liquid) 22%, var(--liquid));transition:top .7s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0}.bottle-pct{color:var(--tone);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:8px;font-size:15px;font-weight:650}.bottle-name{color:var(--icon);letter-spacing:.02em;margin-top:2px;font-size:12px}.stir-list{flex-direction:column;gap:8px;display:flex}.stir-card{border:1px solid var(--rule-soft);background:var(--lifted);box-shadow:var(--shadow-bubble);border-radius:16px;padding:10px 13px 12px}.stir-time{color:var(--icon);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:11px;display:flex}.stir-clock{width:14px;height:14px;display:inline-flex}.stir-clock svg{width:100%;height:100%;stroke:var(--accent);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.stir-title{color:var(--ink);margin:5px 0 9px;font-size:13.5px;font-weight:600;line-height:1.4}.stir-rule{border-top:1px dashed var(--rule);margin:0 0 9px}.stir-tags{flex-wrap:wrap;gap:6px;display:flex}.stir-tag{--tag-bg:#eef1e4;--tag-edge:#d9dec6;--tone:#8a9a6c;border:1px solid var(--tag-edge);background:var(--tag-bg);color:var(--tone);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 7px;font-size:11px;font-weight:600;display:inline-flex}.stir-tag[data-dim=heat]{--tag-bg:#fbeaea;--tag-edge:#f3d0cc;--tone:#e08a7a}.stir-tag[data-dim=warmth]{--tag-bg:#fcf1de;--tag-edge:#f1d9a8;--tone:#d99b48}.stir-tag[data-dim=sulk]{--tag-bg:#edf1f6;--tag-edge:#d3dce7;--tone:#7d8fa8}.stir-tag img{object-fit:contain;width:14px;height:14px}.stir-empty{color:var(--icon);margin:0;font-size:13px}.quota-card{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:16px;margin:0 0 10px;padding:16px 16px 14px}.quota-top{justify-content:space-between;align-items:baseline;margin:0 0 10px;display:flex}.quota-label{color:var(--ink);font-size:14px;font-weight:600}.quota-pct{color:var(--sage);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.quota-pct.warn{color:var(--amber)}.quota-pct.crit{color:var(--accent)}.quota-meter{border-radius:var(--r-pill);background:rgba(var(--icon-rgb), .15);height:5px;display:block;overflow:hidden}.quota-meter i{border-radius:var(--r-pill);background:var(--sage);height:100%;display:block}.quota-meter i.warn{background:var(--sand)}.quota-meter i.crit{background:var(--accent)}.quota-reset{color:var(--pencil);justify-content:space-between;gap:10px;margin:8px 0 0;font-size:11px;display:flex}.quota-clock{font-variant-numeric:tabular-nums}.mcp-item{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:14px 16px;display:flex}.mcp-name{color:var(--ink);font-size:14px;font-weight:600}.mcp-badge{border-radius:var(--r-pill);letter-spacing:.03em;padding:4px 11px;font-size:10px;font-weight:650}.mcp-badge.on{background:rgba(var(--sage-rgb), .18);color:var(--sage-deep)}.mcp-badge.off{background:rgba(var(--accent-rgb), .18);color:var(--accent)}.picker{margin:0 0 8px;position:relative}.picker-selected{width:100%;color:var(--ink);background:var(--lifted);box-shadow:var(--shadow-bubble);cursor:pointer;border:0;border-radius:14px;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;transition:background .3s,color .3s;display:flex}.picker-selected:active{background:var(--paper-deep)}.picker-value{text-align:center;flex:1;padding-left:16px}.picker-arrow{width:16px;height:16px;color:var(--ink);flex-shrink:0;transition:transform .3s;transform:rotate(0)}.picker-arrow svg{stroke:currentColor;stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.picker.open .picker-arrow{transform:rotate(90deg)}.picker-options{opacity:0;pointer-events:none;grid-template-rows:0fr;transition:grid-template-rows .3s,opacity .3s,transform .3s;display:grid;transform:translateY(-14px)}.picker.open .picker-options{opacity:1;pointer-events:auto;grid-template-rows:1fr;transform:translateY(0)}.picker-options-inner{background:var(--lifted);min-height:0;box-shadow:var(--shadow-bubble);border-radius:14px;flex-direction:column;gap:4px;margin-top:6px;padding:6px;display:flex;overflow:hidden}.picker:not(.open) .picker-options-inner{margin-top:0;padding-top:0;padding-bottom:0}.picker-option{border-radius:var(--r-sm);width:100%;color:var(--ink);text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;font-size:14px;font-weight:600;transition:background .3s,color .3s;display:flex}.picker-option:active{background:var(--paper-deep)}.picker-option.picked{background:var(--accent);color:var(--paper)}.picker-option-desc{color:var(--pencil);font-size:12px;font-weight:500}.picker-option.picked .picker-option-desc{color:var(--paper)}.effort-item{background:var(--lifted);width:100%;box-shadow:var(--shadow-bubble);text-align:left;cursor:pointer;border:0;border-radius:14px;margin:0 0 8px;padding:14px 16px;transition:background .14s,color .14s,box-shadow .14s;display:block}.effort-item.picked{background:var(--accent);box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .18)}.effort-name{color:var(--ink);font-size:14px;font-weight:600}.effort-item.picked .effort-name{color:var(--paper)}.effort-desc{color:var(--pencil);margin-top:2px;font-size:12px;display:block}.effort-item.picked .effort-desc{color:var(--paper)}.primary-button.compact{border-radius:var(--r-pill);background:var(--accent);width:auto;color:var(--lifted);letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);border:0;padding:11px 24px;font-size:14px;font-weight:650;transition:background .15s,transform .1s}.primary-button.compact:active:not(:disabled){background:var(--accent-press);transform:scale(.98)}.primary-button.compact:disabled{opacity:.55;cursor:default;box-shadow:none}.confirm-box{background:var(--lifted);box-shadow:var(--shadow-bubble);border:0;border-radius:14px;padding:16px}.confirm-box p{color:var(--ink);margin:0 0 8px;font-size:14px;line-height:1.6}.confirm-note{color:var(--pencil);font-size:12.5px!important}.confirm-actions{justify-content:flex-end;align-items:center;gap:10px;margin:14px 0 0;display:flex}.confirm-button{border-radius:var(--r-pill);background:var(--accent);min-width:96px;height:38px;color:var(--paper);letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);border:0;padding:0 20px;font-size:13.5px;font-weight:650;transition:background .15s,transform .1s}.confirm-button:active:not(:disabled){background:var(--accent-press);transform:scale(.98)}.confirm-button:disabled{opacity:.55;cursor:default;box-shadow:none}.confirm-button.cancel{background:var(--paper);color:var(--icon);box-shadow:var(--shadow-bubble)}.confirm-button.cancel:active{background:var(--paper-deep)}@media (min-width:760px){.topbar,.tab-header,.status-hero{padding-left:24px;padding-right:24px}.message-list,.panel-body{padding:24px 20px 34px}.bubble{padding:13px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.drawer,.drawer-backdrop,.calendar-collapse,.calendar-toggle svg{transition:none}}.activity-strip{width:100%;max-width:100%;color:var(--pencil);border:0;align-self:flex-start;margin:2px 0 12px;padding:2px 12px;font-size:12.5px;line-height:1.55}.activity-strip-toggle{color:var(--pencil);letter-spacing:.08em;text-transform:uppercase;opacity:.85;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:2px 6px 2px 0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:10.5px;transition:opacity .15s,color .15s;display:inline-flex}.activity-strip.open .activity-strip-toggle{opacity:1;color:var(--ink)}@media (hover:hover){.activity-strip-toggle:hover{opacity:1;color:var(--ink)}}.activity-strip-icon{align-items:center;width:13px;height:13px;display:inline-flex}.activity-strip-icon svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.activity-strip.has-fail .activity-strip-icon{color:var(--accent-deep)}.activity-strip-count{white-space:nowrap}.activity-strip-caret{font-size:10px;transform:translateY(-1px)}.activity-strip-list{flex-direction:column;gap:3px;margin:6px 0 4px;padding:0;list-style:none;display:flex}.activity-strip-row{font-family:var(--font-cjk,Georgia, "Noto Serif", serif);color:var(--pencil);align-items:center;gap:8px;padding:2px 0;font-style:italic;display:flex}.activity-row-icon{flex-shrink:0;width:14px;height:14px;display:inline-flex}.activity-row-icon svg{stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.activity-strip-row.fail{color:var(--accent-deep)}.activity-row-summary{overflow-wrap:anywhere;min-width:0}.toggle-row{background:var(--lifted);width:100%;box-shadow:var(--shadow-bubble);text-align:left;color:var(--ink);cursor:pointer;border:0;border-radius:14px;align-items:center;gap:14px;margin-bottom:8px;padding:14px 16px;transition:background .15s;display:flex}.toggle-row:active{background:var(--paper-deep)}.toggle-row-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.toggle-row-title{color:var(--ink);font-size:14px;font-weight:600}.toggle-row-sub{color:var(--pencil);font-size:12px;line-height:1.4}.toggle-switch{background:rgba(var(--icon-rgb), .28);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .18s;position:relative}.toggle-switch.on{background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000024}.toggle-switch.on .toggle-knob{transform:translate(16px)}.attach-button.kaomoji-button svg{width:19px;height:19px}.kaomoji-drawer{background:var(--lifted);width:min(100%,820px);box-shadow:var(--shadow-bubble);border-radius:16px;margin:0 auto 8px;overflow:hidden}.kaomoji-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:8px 10px 6px;display:flex;overflow-x:auto}.kaomoji-tabs::-webkit-scrollbar{display:none}.kaomoji-tab{color:var(--graphite);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:4px 11px;font-size:12px;transition:background .12s,color .12s}.kaomoji-tab.active{color:var(--paper);background:var(--accent)}.kaomoji-grid{-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:6px;max-height:190px;padding:2px 10px 10px;display:flex;overflow-y:auto}.kaomoji-item{color:var(--ink);background:var(--paper);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-bubble);border:0;border-radius:10px;padding:6px 10px;font-size:15px;line-height:1.3;transition:transform .1s,background .1s}.kaomoji-item:active{background:var(--accent);color:var(--paper);transform:scale(.94)}.theme-item{position:relative}.theme-swatches{gap:4px;display:inline-flex;position:absolute;top:12px;right:14px}.theme-swatches span{width:12px;height:12px;box-shadow:inset 0 0 0 1px rgba(var(--shade-rgb), .12);border-radius:50%}.font-size-row{background:var(--lifted);box-shadow:var(--shadow-bubble);border-radius:14px;justify-content:space-between;align-items:center;margin:0 0 8px;padding:12px 16px;display:flex}.font-size-label{color:var(--ink);font-size:14px}.font-size-label small{color:var(--pencil);margin-top:2px;font-size:12px;display:block}.font-size-stepper{align-items:center;gap:4px;display:inline-flex}.font-size-stepper button{background:var(--accent);width:32px;height:32px;color:var(--paper);cursor:pointer;border:0;border-radius:50%;font-size:18px;line-height:1}.font-size-stepper button:disabled{opacity:.35;cursor:default}.font-size-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:36px;color:var(--accent-deep);font-size:13px}.clawd-dock{z-index:6;cursor:pointer;position:absolute;top:-40px}.clawd{line-height:0;display:inline-block}.clawd[role=img]{cursor:default}.clawd svg{width:100%;height:100%;display:block;overflow:visible}.clawd--facing-left svg{transform:scaleX(-1)}.clawd--facing-left .clawd__zzz{transform-box:view-box;transform-origin:14.7px 0;transform:scaleX(-1)}.clawd__torso,.clawd__leg,.clawd__arm{fill:var(--clawd-body);transition:fill .3s}.clawd--error .clawd__torso,.clawd--error .clawd__leg,.clawd--error .clawd__arm{fill:var(--error)}.clawd__shadow{fill:var(--ink);opacity:.16;transform-box:fill-box;transform-origin:50%}.clawd__body{transform-box:fill-box;transform-origin:50% 100%}.clawd__leg{transform-box:fill-box;transform-origin:50% 0}.clawd__arm{transform-box:fill-box;transition:transform .25s}.clawd__arm--left{transform-origin:100%}.clawd__arm--right{transform-origin:0%}.clawd__eyes{fill:var(--ink);transform-box:fill-box;transform-origin:50%;transition:opacity .18s}.clawd__eyes--happy,.clawd__eyes--error,.clawd__eyes--sleeping,.clawd--happy .clawd__eyes--normal,.clawd--error .clawd__eyes--normal,.clawd--sleeping .clawd__eyes--normal{opacity:0}.clawd--happy .clawd__eyes--happy,.clawd--error .clawd__eyes--error,.clawd--sleeping .clawd__eyes--sleeping{opacity:1}.clawd--thinking .clawd__eyes--normal{transform:translateY(-1px)}.clawd__keyboard{opacity:0;transition:opacity .15s}.clawd--typing .clawd__keyboard{opacity:1}.clawd__keyboard-board{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__keyboard-board{fill:color-mix(in srgb, var(--ink) 62%, var(--paper))}}.clawd__keyboard-keys{fill:var(--paper)}.clawd__dot{fill:var(--clawd-body);opacity:0}.clawd__z{fill:var(--clawd-body);opacity:0;transform-box:fill-box;transform-origin:50% 100%}.clawd--idle .clawd__body{animation:2.6s ease-in-out infinite clawdBob}.clawd--idle .clawd__shadow{animation:2.6s ease-in-out infinite clawdShadow}.clawd--idle .clawd__eyes--normal{animation:4.6s ease-in-out infinite clawdBlink}.clawd--thinking .clawd__body{animation:2.4s ease-in-out infinite clawdSway}.clawd--thinking .clawd__dot{animation:1.2s ease-in-out infinite clawdDotPulse}.clawd--thinking .clawd__dot--2{animation-delay:.2s}.clawd--thinking .clawd__dot--3{animation-delay:.4s}.clawd--typing .clawd__body{animation:.32s ease-in-out infinite clawdJitter}.clawd--typing .clawd__arm--left{animation:.3s ease-in-out infinite alternate clawdTapLeft}.clawd--typing .clawd__arm--right{animation:.24s ease-in-out infinite alternate clawdTapRight}.clawd--happy .clawd__body{animation:.9s cubic-bezier(.34,1.4,.64,1) clawdJump}.clawd--happy .clawd__shadow{animation:.9s ease-in-out clawdJumpShadow}.clawd--happy .clawd__arm--left{animation:.9s cubic-bezier(.34,1.56,.64,1) forwards clawdRaiseLeft}.clawd--happy .clawd__arm--right{animation:.9s cubic-bezier(.34,1.56,.64,1) forwards clawdRaiseRight}.clawd--error .clawd__body{animation:.4s ease-in-out clawdShake;transform:rotate(-6deg)}.clawd--sleeping .clawd__body{animation:4s ease-in-out infinite clawdBreathe}.clawd--sleeping .clawd__arm--left{transform:translateY(1px)rotate(-9deg)}.clawd--sleeping .clawd__arm--right{transform:translateY(1px)rotate(9deg)}.clawd--sleeping .clawd__z{animation:3s ease-out infinite clawdZFloat}.clawd--sleeping .clawd__z--2{animation-delay:1.5s}.clawd--walking .clawd__body{animation:.5s ease-in-out infinite clawdWalkLean}.clawd--walking .clawd__shadow{animation:.5s ease-in-out infinite clawdShadow}.clawd--walking .clawd__leg--1,.clawd--walking .clawd__leg--3{animation:.5s ease-in-out infinite clawdStepA}.clawd--walking .clawd__leg--2,.clawd--walking .clawd__leg--4{animation:.5s ease-in-out infinite clawdStepB}@keyframes clawdBob{0%,to{transform:translateY(0)}50%{transform:translateY(-.5px)}}@keyframes clawdShadow{0%,to{opacity:.16;transform:scaleX(1)}50%{opacity:.13;transform:scaleX(.93)}}@keyframes clawdBlink{0%,44%,52%,to{transform:scaleY(1)}48%{transform:scaleY(.12)}}@keyframes clawdSway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes clawdDotPulse{0%,to{opacity:.14}30%{opacity:1}}@keyframes clawdJitter{0%,to{transform:translateY(0)}50%{transform:translateY(-.35px)}}@keyframes clawdTapLeft{0%{transform:rotate(6deg)}to{transform:rotate(-22deg)}}@keyframes clawdTapRight{0%{transform:rotate(-6deg)}to{transform:rotate(22deg)}}@keyframes clawdJump{0%{transform:translateY(0)scaleY(1)}16%{transform:translateY(0)scaleY(.88)}46%{transform:translateY(-3px)scaleY(1.06)}74%{transform:translateY(0)scaleY(.9)}to{transform:translateY(0)scaleY(1)}}@keyframes clawdJumpShadow{0%,to{opacity:.16;transform:scaleX(1)}46%{opacity:.08;transform:scaleX(.72)}}@keyframes clawdRaiseLeft{0%{transform:rotate(0)}to{transform:rotate(40deg)}}@keyframes clawdRaiseRight{0%{transform:rotate(0)}to{transform:rotate(-40deg)}}@keyframes clawdShake{0%{transform:rotate(-6deg)translate(0)}22%{transform:rotate(-6deg)translate(-.9px)}50%{transform:rotate(-6deg)translate(.9px)}76%{transform:rotate(-6deg)translate(-.5px)}to{transform:rotate(-6deg)translate(0)}}@keyframes clawdBreathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.92)}}@keyframes clawdZFloat{0%{opacity:0;transform:translate(0)scale(.7)}20%{opacity:.9}70%{opacity:.55}to{opacity:0;transform:translate(2px,-4px)scale(1.15)}}@keyframes clawdWalkLean{0%,to{transform:rotate(2deg)translateY(0)}50%{transform:rotate(4deg)translateY(-.3px)}}@keyframes clawdStepA{0%,to{transform:rotate(15deg)scaleY(.74)}50%{transform:rotate(0)scaleY(1)}}@keyframes clawdStepB{0%,to{transform:rotate(-15deg)scaleY(.74)}50%{transform:rotate(0)scaleY(1)}}.clawd__pivot{fill:none}.clawd__props{transform-box:fill-box;transform-origin:50% 95.455%}.clawd__props>g,.clawd__glasses,.clawd__note,.clawd__heart,.clawd__steam,.clawd__dust{opacity:0}.clawd__mug-body,.clawd__mug-handle{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.clawd__mug-body,.clawd__mug-handle{fill:color-mix(in srgb, var(--paper) 84%, var(--ink))}}.clawd__mug-brew{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__mug-brew{fill:color-mix(in srgb, var(--ink) 72%, var(--paper))}}.clawd__steam{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__steam{fill:color-mix(in srgb, var(--ink) 36%, var(--paper))}}.clawd__broom-stick{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__broom-stick{fill:color-mix(in srgb, var(--ink) 76%, var(--paper))}}.clawd__broom-head{fill:var(--accent-deep)}@supports (color:color-mix(in lab, red, red)){.clawd__broom-head{fill:color-mix(in srgb, var(--accent-deep) 84%, var(--ink))}}.clawd__dust{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__dust{fill:color-mix(in srgb, var(--ink) 62%, var(--paper))}}.clawd__glasses{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.clawd__glasses{fill:color-mix(in srgb, var(--paper) 86%, var(--ink))}}.clawd__book-leaf{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.clawd__book-leaf{fill:color-mix(in srgb, var(--paper) 88%, var(--ink))}}.clawd__book-spine{fill:var(--accent-deep)}@supports (color:color-mix(in lab, red, red)){.clawd__book-spine{fill:color-mix(in srgb, var(--accent-deep) 80%, var(--ink))}}.clawd__phones{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__phones{fill:color-mix(in srgb, var(--ink) 80%, var(--paper))}}.clawd__pad-cover{fill:var(--accent-deep)}@supports (color:color-mix(in lab, red, red)){.clawd__pad-cover{fill:color-mix(in srgb, var(--accent-deep) 74%, var(--ink))}}.clawd__pad-sheet{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.clawd__pad-sheet{fill:color-mix(in srgb, var(--paper) 94%, var(--ink))}}.clawd__pen{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.clawd__pen{fill:color-mix(in srgb, var(--ink) 82%, var(--paper))}}.clawd__note{fill:var(--accent-deep)}.clawd__heart{fill:var(--accent)}.clawd__mug{transform-box:fill-box;transform-origin:51.364% 90.909%}.clawd__broom-swing,.clawd__pen-arm{transform-box:fill-box;transform-origin:72.273% 72.727%}.clawd__book-page{transform-box:fill-box;transform-origin:53.636% 83.182%}.clawd__pen{transform-box:fill-box;transform-origin:79.091% 72.273%}.clawd__heart{transform-box:fill-box;transform-origin:50%}.clawd--emote-coffee .clawd__body,.clawd--emote-coffee .clawd__props{animation:6.9s ease-in-out clawdCoffeeLean}.clawd--emote-coffee .clawd__coffee{animation:6.9s linear clawdPropFade}.clawd--emote-coffee .clawd__mug{animation:6.9s ease-in-out clawdCoffeeMug}.clawd--emote-coffee .clawd__steam--1{animation:6.9s ease-out clawdSteamA}.clawd--emote-coffee .clawd__steam--2{animation:6.9s ease-out clawdSteamB}.clawd--emote-coffee .clawd__arm--right{animation:6.9s ease-in-out clawdCoffeeHoldRight}.clawd--emote-coffee .clawd__arm--left{animation:6.9s ease-in-out clawdCoffeeHoldLeft}.clawd--emote-sweep .clawd__body,.clawd--emote-sweep .clawd__props{animation:7.9s ease-in-out clawdSweepLean}.clawd--emote-sweep .clawd__broom{animation:7.9s linear clawdPropFade}.clawd--emote-sweep .clawd__broom-swing,.clawd--emote-sweep .clawd__arm--right{animation:7.9s ease-in-out clawdSweepSwing}.clawd--emote-sweep .clawd__dust--1{animation:7.9s ease-out clawdDustA}.clawd--emote-sweep .clawd__dust--2{animation:7.9s ease-out clawdDustB}.clawd--emote-sweep .clawd__dust--3{animation:7.9s ease-out clawdDustC}.clawd--emote-read .clawd__body,.clawd--emote-read .clawd__props{animation:9.9s ease-in-out clawdReadLean}.clawd--emote-read .clawd__glasses{animation:9.9s linear clawdPropFade}.clawd--emote-read .clawd__book{animation:9.9s linear clawdPropFadeLate}.clawd--emote-read .clawd__book-page{animation:9.9s ease-in-out clawdBookFlip}.clawd--emote-read .clawd__arm--left{animation:9.9s ease-in-out clawdReadHoldLeft}.clawd--emote-read .clawd__arm--right{animation:9.9s ease-in-out clawdReadHoldRight}.clawd--emote-music .clawd__body,.clawd--emote-music .clawd__props{animation:9.9s ease-in-out clawdMusicBeat}.clawd--emote-music .clawd__phones{animation:9.9s linear clawdPropFade}.clawd--emote-music .clawd__note--1{animation:9.9s ease-out clawdNoteFloatA}.clawd--emote-music .clawd__note--2{animation:9.9s ease-out clawdNoteFloatB}.clawd--emote-music .clawd__note--3{animation:9.9s ease-out clawdNoteFloatC}.clawd--emote-note .clawd__body,.clawd--emote-note .clawd__props{animation:7.9s ease-in-out clawdWriteLean}.clawd--emote-note .clawd__pad{animation:7.9s linear clawdPropFade}.clawd--emote-note .clawd__pen-arm{animation:7.9s linear clawdPropFade,7.9s ease-in-out clawdWriteArm}.clawd--emote-note .clawd__pen{animation:7.9s ease-in-out clawdWriteWrist}.clawd--emote-note .clawd__arm--left{animation:7.9s ease-in-out clawdWriteHoldLeft}.clawd--emote-note .clawd__arm--right{animation:7.9s ease-in-out clawdWriteArm}.clawd--emote-note .clawd__eyes--normal{animation:7.9s ease-in-out clawdEyesDown}.clawd--emote-peek .clawd__body{animation:3.9s ease-in-out clawdPeekCrouch}.clawd--emote-peek .clawd__shadow{animation:3.9s ease-in-out clawdPeekShadow}.clawd--emote-peek .clawd__eyes--normal{animation:3.9s ease-in-out clawdPeekLook}.clawd--waking .clawd__body{animation:1.4s ease-in-out clawdWakeBody}.clawd--waking .clawd__eyes--sleeping{animation:1.4s ease-out clawdWakeShut}.clawd--waking .clawd__eyes--normal{animation:1.4s ease-out clawdWakeOpen}.clawd--waking .clawd__arm--left{animation:1.4s ease-in-out clawdWakeArmLeft}.clawd--waking .clawd__arm--right{animation:1.4s ease-in-out clawdWakeArmRight}.clawd--hearts .clawd__heart{animation:1s cubic-bezier(.3,.85,.5,1) clawdHeartRise}.clawd__heart--1{--clawd-hx:-1.8px}.clawd__heart--2{--clawd-hx:1.8px}.clawd__heart--3{--clawd-hx:-1.1px}.clawd__heart--4{--clawd-hx:1.2px}.clawd--hearts .clawd__heart--2{animation-delay:.1s}.clawd--hearts .clawd__heart--3{animation-delay:.2s}.clawd--hearts .clawd__heart--4{animation-delay:.3s}@keyframes clawdPropFade{0%{opacity:0}9%,90%{opacity:1}to{opacity:0}}@keyframes clawdPropFadeLate{0%,12%{opacity:0}20%,84%{opacity:1}93%,to{opacity:0}}@keyframes clawdCoffeeLean{0%,16%{transform:rotate(0)translateY(0)}26%,34%{transform:rotate(-3.5deg)translateY(-.2px)}44%,52%{transform:rotate(0)translateY(0)}60%,68%{transform:rotate(-3.5deg)translateY(-.2px)}80%,to{transform:rotate(0)translateY(0)}}@keyframes clawdCoffeeMug{0%,4%{transform:rotate(0)translateY(2.2px)}13%,20%{transform:rotate(0)translate(0)}26%,34%{transform:rotate(-5deg)translateY(-1.1px)}44%,52%{transform:rotate(0)translate(0)}60%,68%{transform:rotate(-5deg)translateY(-1.1px)}80%,92%{transform:rotate(0)translate(0)}to{transform:rotate(0)translateY(2.2px)}}@keyframes clawdCoffeeHoldRight{0%,5%{transform:rotate(0)}15%,88%{transform:rotate(18deg)}to{transform:rotate(0)}}@keyframes clawdCoffeeHoldLeft{0%,5%{transform:rotate(0)}15%,88%{transform:rotate(-18deg)}to{transform:rotate(0)}}@keyframes clawdSteamA{0%,18%{opacity:0;transform:translate(0)}26%{opacity:.85;transform:translateY(-.8px)}38%{opacity:0;transform:translate(.7px,-2.6px)}38.01%,52%{opacity:0;transform:translate(0)}60%{opacity:.85;transform:translateY(-.8px)}72%{opacity:0;transform:translate(.7px,-2.6px)}72.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdSteamB{0%,24%{opacity:0;transform:translate(0)}32%{opacity:.7;transform:translateY(-.8px)}44%{opacity:0;transform:translate(-.6px,-2.4px)}44.01%,58%{opacity:0;transform:translate(0)}66%{opacity:.7;transform:translateY(-.8px)}78%{opacity:0;transform:translate(-.6px,-2.4px)}78.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdSweepLean{0%,8%{transform:rotate(0)}18%,84%{transform:rotate(3.5deg)}94%,to{transform:rotate(0)}}@keyframes clawdSweepSwing{0%,12%{transform:rotate(0)}24%{transform:rotate(-13deg)}36%{transform:rotate(12deg)}48%{transform:rotate(-13deg)}60%{transform:rotate(12deg)}72%{transform:rotate(-9deg)}86%,to{transform:rotate(0)}}@keyframes clawdDustA{0%,32%{opacity:0;transform:translate(0)}38%{opacity:.9;transform:translate(-.8px,-.7px)}50%{opacity:0;transform:translate(-2.4px,-1.5px)}50.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdDustB{0%,56%{opacity:0;transform:translate(0)}63%{opacity:.9;transform:translate(-.7px,-1px)}75%{opacity:0;transform:translate(-2px,-2.2px)}75.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdDustC{0%,20%{opacity:0;transform:translate(0)}27%{opacity:.9;transform:translate(.8px,-.8px)}40%{opacity:0;transform:translate(2.2px,-1.6px)}40.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdReadLean{0%,10%{transform:rotate(0)translateY(0)}22%,84%{transform:rotate(2.5deg)translateY(.2px)}94%,to{transform:rotate(0)translateY(0)}}@keyframes clawdReadHoldLeft{0%,10%{transform:rotate(0)}22%,86%{transform:rotate(-14deg)}96%,to{transform:rotate(0)}}@keyframes clawdReadHoldRight{0%,10%{transform:rotate(0)}22%,86%{transform:rotate(14deg)}96%,to{transform:rotate(0)}}@keyframes clawdBookFlip{0%,32%{transform:scaleX(1)}36%{transform:scaleX(.08)}40%,54%{transform:scaleX(1)}58%{transform:scaleX(.08)}62%,74%{transform:scaleX(1)}78%{transform:scaleX(.08)}82%,to{transform:scaleX(1)}}@keyframes clawdMusicBeat{0%,to{transform:rotate(0)translateY(0)}5%,15%,25%,35%,45%,55%,65%,75%,85%{transform:rotate(-4deg)translateY(-.3px)}10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:rotate(4deg)translateY(-.3px)}95%{transform:rotate(0)translateY(0)}}@keyframes clawdNoteFloatA{0%,14%{opacity:0;transform:translate(0)}22%{opacity:1;transform:translate(-.3px,-1.2px)}42%{opacity:0;transform:translate(1.2px,-4.4px)}42.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdNoteFloatB{0%,34%{opacity:0;transform:translate(0)}42%{opacity:1;transform:translate(.4px,-1.2px)}64%{opacity:0;transform:translate(-1px,-4.6px)}64.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdNoteFloatC{0%,56%{opacity:0;transform:translate(0)}64%{opacity:1;transform:translate(-.4px,-1.2px)}86%{opacity:0;transform:translate(1.4px,-4.2px)}86.01%,to{opacity:0;transform:translate(0)}}@keyframes clawdWriteLean{0%,10%{transform:rotate(0)translateY(0)}22%,84%{transform:rotate(2deg)translateY(.2px)}94%,to{transform:rotate(0)translateY(0)}}@keyframes clawdWriteHoldLeft{0%,10%{transform:rotate(0)}22%,86%{transform:rotate(-16deg)}96%,to{transform:rotate(0)}}@keyframes clawdWriteArm{0%,10%{transform:rotate(0)}22%{transform:rotate(9deg)}30%{transform:rotate(14deg)}38%{transform:rotate(9deg)}46%{transform:rotate(14deg)}54%{transform:rotate(9deg)}62%{transform:rotate(14deg)}70%{transform:rotate(9deg)}78%{transform:rotate(14deg)}86%{transform:rotate(9deg)}94%,to{transform:rotate(0)}}@keyframes clawdWriteWrist{0%,10%{transform:rotate(50deg)}22%{transform:rotate(50deg)}30%{transform:rotate(44deg)}38%{transform:rotate(50deg)}46%{transform:rotate(44deg)}54%{transform:rotate(50deg)}62%{transform:rotate(44deg)}70%{transform:rotate(50deg)}78%{transform:rotate(44deg)}86%,to{transform:rotate(50deg)}}@keyframes clawdEyesDown{0%,12%{transform:translateY(0)}24%,84%{transform:translateY(1px)}94%,to{transform:translateY(0)}}@keyframes clawdPeekCrouch{0%,to{transform:scaleY(1)}18%,78%{transform:scaleY(.82)}}@keyframes clawdPeekShadow{0%,to{opacity:.16;transform:scaleX(1)}18%,78%{opacity:.2;transform:scaleX(1.08)}}@keyframes clawdPeekLook{0%,to{transform:translateY(0)scaleY(1)}18%,46%{transform:translateY(1.2px)scaleY(1)}52%{transform:translateY(1.2px)scaleY(.12)}58%,78%{transform:translateY(1.2px)scaleY(1)}}@keyframes clawdWakeBody{0%{transform:scaleY(.93)rotate(0)}18%{transform:scaleY(1)rotate(0)}40%{transform:scaleY(1)rotate(-6deg)}64%{transform:scaleY(1)rotate(6deg)}84%{transform:scaleY(1)rotate(-2deg)}to{transform:scaleY(1)rotate(0)}}@keyframes clawdWakeShut{0%,18%{opacity:1}34%,to{opacity:0}}@keyframes clawdWakeOpen{0%,20%{opacity:0;transform:scaleY(.12)}30%{opacity:1;transform:scaleY(.12)}46%{opacity:1;transform:scaleY(1.15)}58%,to{opacity:1;transform:scaleY(1)}}@keyframes clawdWakeArmLeft{0%{transform:translateY(1px)rotate(-9deg)}62%{transform:translateY(0)rotate(7deg)}to{transform:translateY(0)rotate(0)}}@keyframes clawdWakeArmRight{0%{transform:translateY(1px)rotate(9deg)}62%{transform:translateY(0)rotate(-7deg)}to{transform:translateY(0)rotate(0)}}@keyframes clawdHeartRise{0%{opacity:0;transform:translate(0)scale(.5)}18%{opacity:1;transform:translate(.35px,-1.2px)scale(1)}40%{opacity:1;transform:translate(calc(var(--clawd-hx,0px) * .4 - .35px), -2.4px) scale(1)}62%{opacity:.9;transform:translate(calc(var(--clawd-hx,0px) * .75 + .35px), -3.6px) scale(1)}to{opacity:0;transform:translate(var(--clawd-hx,0px), -5.2px) scale(.85)}}@media (prefers-reduced-motion:reduce){.clawd__body,.clawd__shadow,.clawd__leg,.clawd__arm,.clawd__eyes,.clawd__dot,.clawd__z,.clawd__props,.clawd__props *,.clawd__glasses,.clawd__note,.clawd__heart{animation:none!important}.clawd--thinking .clawd__dot{opacity:1}.clawd--sleeping .clawd__z{opacity:.7}.clawd--happy .clawd__arm--left{transform:rotate(40deg)}.clawd--happy .clawd__arm--right{transform:rotate(-40deg)}}.app-shell.reading-mode{background:var(--reading-paper)}.reading-shelf{padding-bottom:32px}.shelf-upload{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 16px;display:flex}.shelf-upload-button{border-radius:var(--r-pill);height:38px;color:var(--paper);background:var(--accent);box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);letter-spacing:.02em;align-items:center;gap:8px;padding:0 18px 0 15px;font-size:13.5px;font-weight:650;transition:background .15s;display:inline-flex}.shelf-upload-button:active:not(:disabled){background:var(--accent-press)}.shelf-upload-button:disabled{opacity:.7;cursor:default}.shelf-upload-button svg{fill:none;stroke:currentColor;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.shelf-upload-hint{color:var(--pencil);margin:0;font-size:11.5px}.shelf-upload-progress{flex-direction:column;flex-basis:100%;gap:7px;padding:2px 2px 0;display:flex}.shelf-upload-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.shelf-upload-track{background:rgba(var(--icon-rgb), .2);border-radius:2px;height:3px;display:block;position:relative;overflow:hidden}.shelf-upload-track i{background:var(--accent);border-radius:2px;height:100%;transition:width .2s;display:block}.shelf-upload-track.indeterminate i{width:32%;animation:1.2s ease-in-out infinite shelf-indeterminate;position:absolute}@keyframes shelf-indeterminate{0%{left:-32%}to{left:100%}}.shelf-upload-error{color:var(--error);background:rgba(var(--error-rgb), .09);border-radius:12px;flex-basis:100%;align-items:center;gap:8px;margin:0;padding:8px 6px 8px 12px;font-size:12.5px;line-height:1.5;display:flex}.shelf-upload-error button{width:24px;height:24px;color:var(--error);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.shelf-upload-error svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;width:10px;height:10px}.shelf-study{color:var(--accent-deep);font-family:var(--font-cjk,inherit);align-items:center;gap:8px;margin:0 0 14px;padding:0 4px;font-size:13px;display:flex}.shelf-study i{background:var(--accent);border-radius:50%;width:6px;height:6px}.shelf-list{flex-direction:column;gap:12px;display:flex}.shelf-card{border-radius:var(--r);background:var(--lifted);box-shadow:var(--shadow-bubble);position:relative}.shelf-card-main{border-radius:var(--r);width:100%;color:var(--ink);text-align:left;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;gap:15px;padding:12px 44px 12px 12px;transition:background .12s;display:flex;position:relative}.shelf-card-main:active{background:var(--paper-deep)}.shelf-card-info{flex-direction:column;gap:3px;min-width:0;padding-top:3px;display:flex}.shelf-card-title{font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", "Noto Serif CJK SC", serif;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.shelf-card-author{color:var(--pencil);text-overflow:ellipsis;white-space:nowrap;margin-bottom:9px;font-size:12px;overflow:hidden}.shelf-card-progress{color:var(--ink);font-family:var(--font-cjk,inherit);align-items:center;gap:7px;font-size:12.5px;line-height:1.6;display:flex}.shelf-card-progress i,.reading-legend i,.reading-toc-head p i{background:rgb(var(--note-ada-rgb));border-radius:50%;flex:none;width:6px;height:6px}.shelf-card-progress[data-owner=innuendo] i,.reading-legend [data-owner=innuendo] i,.reading-toc-head p [data-owner=innuendo] i{background:rgb(var(--note-inn-rgb))}.shelf-card-unseen{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 2px var(--lifted);border-radius:50%;position:absolute;top:7px;left:78px}.shelf-card-more{width:34px;height:34px;color:var(--graphite);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.shelf-card-more:active,.shelf-card-more[aria-expanded=true]{color:var(--paper);background:var(--accent)}.shelf-card-more svg{width:18px;height:18px}.shelf-confirm{background:var(--paper);box-shadow:none;margin:0 12px 12px}.book-cover{aspect-ratio:2/3;background:var(--paper-deep);width:72px;box-shadow:0 1px 2px rgba(var(--shade-rgb), .14), 0 4px 12px rgba(var(--shade-rgb), .08);border-radius:2px 5px 5px 2px;flex:none;display:block;position:relative;overflow:hidden}.book-cover img{object-fit:cover;width:100%;height:100%;display:block}.book-cover.typeset{background:var(--paper);flex-direction:column;justify-content:center;align-items:center;padding:10px 6px 10px 9px;display:flex}@supports (color:color-mix(in lab, red, red)){.book-cover.typeset{background:color-mix(in srgb, var(--paper) 70%, var(--sand))}}.book-cover.typeset[data-tone="1"]{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.book-cover.typeset[data-tone="1"]{background:color-mix(in srgb, var(--paper) 74%, var(--sage-light))}}.book-cover.typeset[data-tone="2"]{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.book-cover.typeset[data-tone="2"]{background:color-mix(in srgb, var(--paper) 80%, var(--accent))}}.book-cover.typeset[data-tone="3"]{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.book-cover.typeset[data-tone="3"]{background:color-mix(in srgb, var(--paper) 74%, var(--cloud))}}.book-cover.typeset:before{content:"";background:linear-gradient(to right, rgba(var(--shade-rgb), .12), transparent);width:6px;position:absolute;inset:0 auto 0 0}.book-cover.typeset.vertical{justify-content:flex-start;align-items:flex-start}.book-cover.typeset.vertical:before{background:linear-gradient(to left, rgba(var(--shade-rgb), .1), transparent);inset:0 0 0 auto}.book-cover-stitch{background:rgba(var(--shade-rgb), .22);width:1px;position:absolute;top:0;bottom:0;right:6px}.book-cover-stitch:before{content:"";background:repeating-linear-gradient(to bottom, rgba(var(--shade-rgb), .28) 0 1px, transparent 1px calc(100% / 3 - .34px));width:6px;height:76%;position:absolute;top:12%;right:-6px}.book-cover-slip{color:var(--ink);background:var(--lifted);box-shadow:inset 0 0 0 1px rgba(var(--shade-rgb), .16), inset 0 0 0 2.5px var(--lifted), inset 0 0 0 3px rgba(var(--shade-rgb), .1);font-family:var(--reading-cjk,"Songti SC"), "STSong", "Noto Serif CJK SC", serif;letter-spacing:.12em;writing-mode:vertical-rl;padding:7px 4px;font-size:10px;font-weight:600;line-height:1.25;position:absolute;top:9px;bottom:30%;left:9px;overflow:hidden}.book-cover-title{color:var(--ink);font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", serif;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:10px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.book-cover-rule{background:rgba(var(--shade-rgb), .28);flex:none;width:14px;height:1px;margin:7px 0 6px}.book-cover-author{color:var(--pencil);letter-spacing:.06em;text-align:center;text-transform:uppercase;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.reading-empty-mark svg{width:64px}html[data-font=zhenkai]{--reading-cjk:"LXGW ZhenKai"}html[data-font=dengcusong]{--reading-cjk:"XiangCui DengCuSong"}.reading-book{background:var(--reading-paper);flex-direction:column;flex:1;min-height:0;display:flex}.reading-topbar{background:var(--reading-paper)}.reading-topbar-title{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;display:flex}.reading-topbar-title span,.reading-topbar-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.reading-topbar-title span{color:var(--pencil);letter-spacing:.04em;font-size:10.5px}.reading-topbar-title strong{color:var(--ink);font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", serif;font-size:14.5px;font-weight:600}.reading-topbar .topbar-btn svg circle{stroke:none}.reading-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow-y:auto}.reading-article{max-width:36em;color:var(--ink);font-size:17px;font:-apple-system-body;font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", "Noto Serif CJK SC", "Source Han Serif SC", serif;letter-spacing:.01em;font-kerning:normal;margin:0 auto;padding:10px 26px 56px;line-height:1.8}.reading-article ::selection{background:rgba(var(--accent-rgb), .3)}.reading-article[lang=zh]{letter-spacing:.03em}.reading-chapter-head{text-align:center;margin:22px 0 34px}.reading-chapter-no{color:var(--pencil);font-variant-numeric:tabular-nums;letter-spacing:.2em;margin:0 0 12px;font-family:-apple-system,SF Pro Text,sans-serif;font-size:11px}.reading-chapter-head h1{letter-spacing:.03em;text-wrap:balance;margin:0;font-size:1.42em;font-weight:600;line-height:1.45}.reading-chapter-head h1:after{content:"";background:rgba(var(--shade-rgb), .22);width:26px;height:1px;margin:18px auto 0;display:block}.reading-legend{color:var(--pencil);letter-spacing:.02em;justify-content:center;gap:16px;margin:14px 0 0;font-family:-apple-system,SF Pro Text,sans-serif;font-size:11px;display:flex}.reading-legend span{align-items:center;gap:6px;display:inline-flex}.reading-p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;white-space:pre-line;margin:0 0 .85em;position:relative}.reading-p.cjk{text-indent:2em}.reading-heading{text-align:center;margin:1.8em 0 1em;font-size:1.08em;font-weight:600;line-height:1.6;position:relative}.reading-figure{text-align:center;margin:1.4em 0}.reading-figure button{cursor:zoom-in;width:100%;padding:0;display:block}.reading-figure img{border-radius:3px;max-width:100%;max-height:70vh;margin:0 auto;display:block}.reading-mark{color:inherit;background:linear-gradient(transparent 56%, rgba(var(--note-ada-rgb), .42) 56%);-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;border-radius:2px;padding:0 1px}.reading-mark[data-owner=innuendo]{background:linear-gradient(transparent 56%, rgba(var(--note-inn-rgb), .4) 56%)}.reading-mark[data-over]{text-underline-offset:.34em;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--note-ada-ink);-webkit-text-decoration-color:var(--note-ada-ink);-webkit-text-decoration-color:var(--note-ada-ink);text-decoration-color:var(--note-ada-ink)}.reading-mark[data-over=innuendo]{-webkit-text-decoration-color:var(--note-inn-ink);-webkit-text-decoration-color:var(--note-inn-ink);-webkit-text-decoration-color:var(--note-inn-ink);text-decoration-color:var(--note-inn-ink)}.reading-mark.unseen[data-owner=innuendo]{animation:2.4s ease-out .4s both reading-mark-new}@keyframes reading-mark-new{0%,30%{background:linear-gradient(transparent 20%, rgba(var(--note-inn-rgb), .55) 20%)}to{background:linear-gradient(transparent 56%, rgba(var(--note-inn-rgb), .4) 56%)}}.reading-mark.static{cursor:default}.reading-p[data-whole]:before,.reading-heading[data-whole]:before{content:"";background:rgba(var(--note-ada-rgb), .75);border-radius:2px;width:2px;position:absolute;top:.5em;bottom:.5em;left:-13px}.reading-p[data-whole=innuendo]:before,.reading-heading[data-whole=innuendo]:before{background:rgba(var(--note-inn-rgb), .75)}.reading-whole-dot{vertical-align:middle;text-indent:0;-webkit-user-select:none;user-select:none;width:22px;height:22px;margin:-4px -4px -4px 2px;display:inline-block;position:relative}.reading-whole-dot:after{content:"";background:rgb(var(--note-ada-rgb));border-radius:50%;position:absolute;inset:7px}.reading-whole-dot[data-owner=innuendo]:after{background:rgb(var(--note-inn-rgb))}.reading-whole-dot[data-over]:after{box-shadow:0 0 0 2px var(--reading-paper), 0 0 0 3px rgb(var(--note-ada-rgb))}.reading-whole-dot[data-over=innuendo]:after{box-shadow:0 0 0 2px var(--reading-paper), 0 0 0 3px rgb(var(--note-inn-rgb))}.reading-note-fab{z-index:35;border-radius:var(--r-pill);height:36px;color:var(--paper);background:var(--ink);box-shadow:var(--shadow-lg);letter-spacing:.08em;padding:0 18px;font-size:13.5px;font-weight:600;animation:.14s ease-out memory-overlay-in;position:fixed}.reading-note-fab:active{background:var(--accent)}.reading-chapter-end{flex-direction:column;align-items:center;gap:20px;margin-top:44px;display:flex}.reading-fleuron{color:var(--graphite);letter-spacing:.5em;font-size:14px}.reading-journal{border-radius:var(--r);background:var(--lifted);box-shadow:var(--shadow-bubble);align-self:stretch;padding:16px 18px 18px}.reading-journal-head{align-items:center;gap:8px;font-family:-apple-system,SF Pro Text,PingFang SC,sans-serif;display:flex}.reading-journal-head img,.reading-note-avatar{width:22px;height:22px;image-rendering:pixelated;border-radius:7px;flex:none}.reading-journal-head span{color:var(--note-inn-ink);font-size:12.5px;font-weight:600}.reading-journal-head time{color:var(--pencil);margin-left:auto;font-size:11px}.reading-journal p+p{margin-top:.7em}.reading-journal p{color:var(--ink);white-space:pre-line;margin:12px 0 0;font-size:.94em;line-height:1.8}.reading-done{border-radius:var(--r-pill);min-width:168px;height:42px;color:var(--paper);background:var(--accent);box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);letter-spacing:.06em;justify-content:center;align-items:center;gap:7px;padding:0 24px;font-family:-apple-system,SF Pro Text,PingFang SC,sans-serif;font-size:14px;font-weight:650;transition:background .15s;display:inline-flex}.reading-done:active:not(:disabled){background:var(--accent-press)}.reading-done:disabled{cursor:default}.reading-done.done{color:var(--sage-deep);box-shadow:none;background:0 0}.reading-done svg,.reading-toc-check svg{fill:none;stroke:currentColor;stroke-width:22px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.reading-next{border-radius:var(--r);color:var(--ink);background:var(--lifted);box-shadow:var(--shadow-bubble);text-align:left;align-self:stretch;align-items:center;gap:12px;padding:14px 14px 14px 18px;display:flex}.reading-next:active{background:var(--paper-deep)}.reading-next span{color:var(--pencil);letter-spacing:.06em;flex:none;font-family:-apple-system,SF Pro Text,PingFang SC,sans-serif;font-size:11.5px}.reading-next strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.reading-next svg{fill:none;width:16px;height:16px;stroke:var(--graphite);stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;flex:none}.reading-the-end{color:var(--pencil);letter-spacing:.4em;margin:0;font-size:12px}.memory-sheet.reading-sheet{height:auto;max-height:82vh}.reading-toc-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:2px 20px 12px;display:flex}.reading-toc-head h2{color:var(--ink);font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", serif;margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.35}.reading-toc-head p{color:var(--pencil);font-family:var(--font-cjk,inherit);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;display:flex}.reading-toc-head p span{align-items:center;gap:6px;display:inline-flex}.reading-summon{border-radius:var(--r-pill);height:32px;color:var(--paper);background:var(--accent);box-shadow:0 1px 3px rgba(var(--accent-shadow-rgb), .22);letter-spacing:.04em;flex:none;padding:0 14px;font-size:12.5px;font-weight:600}.reading-summon:active:not(:disabled){background:var(--accent-press)}.reading-toc-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin:0;padding:0 10px 18px;list-style:none;overflow-y:auto}.reading-toc-list button{width:100%;color:var(--ink);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:11px 10px;display:flex}.reading-toc-list button.current{background:var(--paper-deep)}.reading-toc-list button:active{color:var(--paper);background:var(--accent)}.reading-toc-no{width:22px;color:var(--graphite);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:11px}.reading-toc-list button:active .reading-toc-no,.reading-toc-list button:active .reading-toc-check{color:var(--paper)}.reading-toc-title{min-width:0;font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", serif;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14.5px;overflow:hidden}.reading-toc-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.reading-toc-check{width:18px;height:18px;color:var(--sage-deep);flex:none;place-items:center;display:grid}.reading-thread-body{padding-top:8px}.reading-thread+.reading-thread{margin-top:26px}.reading-quote{color:var(--ink);background:var(--reading-paper);font-family:"Iowan Old Style", Palatino, Georgia, var(--reading-cjk,"Songti SC"), "STSong", serif;border-radius:12px;margin:0 0 14px;padding:12px 14px;font-size:15px;line-height:1.75}.reading-note-head{align-items:center;gap:8px;min-height:28px;display:flex}.reading-note-avatar.ada{background:rgb(var(--note-ada-rgb));box-shadow:inset 0 0 0 5px rgb(var(--note-ada-rgb));border-radius:50%}@supports (color:color-mix(in lab, red, red)){.reading-note-avatar.ada{box-shadow:inset 0 0 0 5px color-mix(in srgb, rgb(var(--note-ada-rgb)) 60%, var(--paper))}}.reading-note-name{color:var(--note-ada-ink);font-size:12.5px;font-weight:650}.reading-note[data-owner=innuendo] .reading-note-name{color:var(--note-inn-ink)}.reading-note-head time{color:var(--pencil);font-size:11px}.reading-note-del{width:30px;height:30px;color:var(--graphite);border-radius:50%;place-items:center;margin-left:auto;display:grid}.reading-note-del:active{color:var(--paper);background:var(--error)}.reading-note-del svg{fill:none;stroke:currentColor;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.reading-note-confirm{gap:6px;margin-left:auto;display:flex}.reading-note-confirm button{border-radius:var(--r-pill);height:28px;color:var(--icon);background:var(--lifted);box-shadow:var(--shadow-bubble);padding:0 12px;font-size:12px}.reading-note-confirm button.danger{color:var(--paper);background:var(--error)}.reading-note-body{color:var(--ink);font-family:var(--font-cjk,inherit);font-size:calc(15px + var(--font-nudge));white-space:pre-wrap;margin:4px 0 0 30px;line-height:1.65}.reading-note.reply{margin:14px 0 0 30px}.reading-reply{margin:14px 0 0 30px;display:flex;position:relative}.reading-reply textarea,.reading-compose-input{resize:none;width:100%;color:var(--ink);background:var(--lifted);box-shadow:var(--shadow-bubble);font-family:var(--font-cjk,inherit);border:0;outline:none;font-size:15px;line-height:1.55;transition:box-shadow .15s}.reading-reply textarea{field-sizing:content;border-radius:20px;min-height:40px;max-height:140px;padding:9px 46px 9px 14px}.reading-reply textarea:focus,.reading-compose-input:focus{box-shadow:var(--shadow-bubble), 0 0 0 3px var(--accent-soft)}.reading-reply textarea::placeholder,.reading-compose-input::placeholder{color:var(--graphite)}.reading-reply .feed-ask-send{bottom:5px;right:5px}.reading-compose-input{border-radius:14px;min-height:116px;padding:12px 14px;display:block}.reading-error{color:var(--error);margin:8px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.reading-mark.unseen[data-owner=innuendo],.shelf-upload-track.indeterminate i{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
