@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;600;700&family=Special+Elite&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/lxgw-wenkai-screen-webfont/1.7.0/style.min.css";@font-face{font-family:Dukou Huiwen Mincho;src:url(/assets/huiwen-mincho-improved-BtKUUinY.ttf) format("truetype");font-display:swap}@font-face{font-family:Dukou Chenyu Luoyan;src:url(/assets/chenyu-luoyan-thin-B4S-Qtms.ttf) format("truetype");font-display:swap}@font-face{font-family:Dukou Smiley Sans;src:url(/assets/smiley-sans-oblique-D4LcZcAC.woff2) format("woff2");font-display:swap}@font-face{font-family:Dukou The Peak Font;src:url(/assets/the-peak-font-beta-v0-102-DvbNpgwH.ttf) format("truetype");font-display:swap}@font-face{font-family:"Dukou Jason Handwriting 9";src:url(/assets/jason-handwriting-9-D6qGSE34.ttf) format("truetype");font-display:swap}@font-face{font-family:Dukou Iansui;src:url(/assets/iansui-regular-DNwE4uxC.ttf) format("truetype");font-display:swap}@font-face{font-family:Zpix;src:url(https://cdn.jsdelivr.net/gh/SolidZORO/zpix-pixel-font@master/dist/zpix.ttf) format("truetype");font-display:swap}:root[data-theme=light] .function-root{--function-paper: #f5f3ef;--function-line: rgba(44, 44, 44, .62);--function-soft-line: rgba(44, 44, 44, .22);--function-ink: #1f1f1f;--function-highlight: rgba(214, 222, 226, .7);--function-selected: #efe28a;--function-image-a: #c9c7c1;--function-image-b: #3b3b3b}:root[data-theme=dark] .function-root{--function-paper: var(--shell-bg);--function-line: rgba(220, 217, 209, .5);--function-soft-line: rgba(220, 217, 209, .17);--function-ink: var(--text-main);--function-highlight: rgba(94, 108, 117, .45);--function-selected: #6a6146;--function-image-a: #4d5054;--function-image-b: #17191d}.function-root{position:relative;--font-function-title: var(--font-cn);--font-function-body: var(--font-cn);--postcard-ivory: #fdf8f8;--postcard-ink: #24211f;--postcard-muted: rgba(36, 33, 31, .58);--postcard-line: rgba(38, 35, 31, .22);--postcard-soft-line: rgba(38, 35, 31, .12);--postcard-shadow: rgba(92, 72, 52, .1);--font-postcard-chenyu: "Dukou Chenyu Luoyan", "ChenYuluoyan", "ChenYuluoyan-Thin", "Chenyu Luoyan Thin", "辰宇落雁体", "辰宇落雁體", "Dukou The Peak Font", "The Peak Font", "隨峰體", "随峰体", "Dukou Jason Handwriting 9", "Jason Handwriting 9", "JasonHandwriting9", "清松手写体9", "清松手寫體9", "Dukou Iansui", "Iansui", "LXGW WenKai Screen", "Noto Serif SC", "Songti SC", serif;--font-postcard-deyi: "Dukou Smiley Sans", "Smiley Sans", "Smiley Sans Oblique", "DeyiHei", "得意黑", "LXGW WenKai Screen", "Noto Sans SC", sans-serif;--font-postcard-yansui: "Dukou Iansui", "Iansui", "Iansui Regular", "Yansui", "芫荽", "LXGW WenKai Screen", "Noto Serif SC", serif;--font-postcard-huiming: "Dukou Huiwen Mincho", "Huiwen-mincho", "Huiwen Mincho", "汇文明朝体", "匯文明朝體", "Noto Serif SC", "Songti SC", serif;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--function-paper, var(--shell-bg));color:var(--function-ink, var(--text-main));line-height:1.75}.function-topbar{flex-shrink:0;height:64px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;border-bottom:.5px solid var(--function-line);background:var(--function-paper, var(--shell-bg))}.function-topbar-button{width:48px;height:64px;display:grid;place-items:center;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer}.function-topbar-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.function-topbar-title{min-width:0;display:flex;align-items:baseline;justify-content:center;gap:8px;font-family:ui-sans-serif,system-ui,sans-serif;text-align:center}.function-topbar-title small{color:var(--text-sub);font-size:9px;font-weight:700;letter-spacing:.12em}.function-topbar-title strong{font-size:19px;font-weight:900;letter-spacing:0}.function-scroll{flex:1;min-height:0;overflow-y:auto}.function-search-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#f5f3efeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root[data-theme=dark] .function-search-layer{background:#151619e0}.function-search-panel{min-height:100%;display:flex;flex-direction:column;background:var(--function-paper, var(--shell-bg))}.function-search-header{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:.5px solid var(--function-line)}.function-search-field{min-width:0;display:flex;align-items:center;gap:8px;border:.5px solid var(--function-soft-line);border-radius:999px;background:#ffffff6b;padding:8px 12px}.function-search-field svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8}.function-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--function-ink, var(--text-main));font-size:14px}.function-search-header>button{border:0;background:transparent;color:var(--text-sub);cursor:pointer;font-size:13px}.function-search-results{flex:1;min-height:0;overflow-y:auto;padding:8px 0 24px}.function-layout-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:42;display:flex;flex-direction:column;background:var(--function-paper, var(--shell-bg))}.function-layout-header{flex-shrink:0;height:64px;display:grid;grid-template-columns:48px minmax(0,1fr) 58px;align-items:center;border-bottom:.5px solid var(--function-line)}.function-layout-header button{height:64px;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-size:13px}.function-layout-header button:first-child{font-size:28px;line-height:1}.function-layout-header div{min-width:0;display:grid;gap:1px;text-align:center}.function-layout-header strong{font-size:17px;font-weight:600}.function-layout-header span{color:var(--text-sub);font-size:10px}.function-layout-scroll{flex:1;min-height:0;overflow-y:auto}.function-layout-section{border-bottom:.5px solid var(--function-line);padding:18px 24px 22px}.function-layout-section h2{margin:0 0 12px;font-size:14px;font-weight:500}.function-layout-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:.5px solid var(--function-line)}.function-layout-mode-row button{min-width:0;border:0;border-right:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:10px 8px;font-size:12px}.function-layout-mode-row button:last-child{border-right:0}.function-layout-mode-row button.is-active{background:var(--function-selected)}.function-layout-list{border-top:.5px solid var(--function-line)}.function-layout-item{min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:.5px solid var(--function-soft-line);padding:10px 0}.function-layout-index{color:#2c2c2c3d;font-family:ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:800}:root[data-theme=dark] .function-layout-index{color:#dcd9d138}.function-layout-item div:nth-child(2){min-width:0;display:grid;gap:2px}.function-layout-item strong{overflow:hidden;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.function-layout-item small{overflow:hidden;color:var(--text-sub);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.function-layout-actions{display:inline-flex;border:.5px solid var(--function-line)}.function-layout-actions button{width:34px;height:30px;display:grid;place-items:center;border:0;border-right:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:0;font-size:13px}.function-layout-actions button:last-child{border-right:0}.function-layout-actions button:disabled{color:var(--text-sub);opacity:.35}.function-search-result{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;border:0;border-bottom:.5px solid var(--function-soft-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:13px 16px;text-align:left}.function-search-result>span{color:var(--text-sub);font-size:11px}.function-search-result strong{display:block;overflow:hidden;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.function-search-result p{overflow:hidden;margin:2px 0 0;color:var(--text-sub);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.function-search-result time{color:var(--text-sub);font-size:11px;white-space:nowrap}.time-hero{padding:20px 24px 34px;border-bottom:.5px solid var(--function-line)}.time-hero-note{max-width:330px;margin:0;color:var(--function-ink, var(--text-main));font-size:14px;line-height:1.9}.time-hero-note span{display:inline;margin:0 3px;padding:0 1px 2px;background:linear-gradient(#efe28a,#efe28a) 0 100% / 100% 2px no-repeat}.time-hero-clock{position:relative;min-height:180px;margin-top:18px;display:flex;align-items:flex-start}.time-hero-date{position:absolute;left:-13px;top:3px;color:#2c2c2c17;font-family:ui-sans-serif,system-ui,sans-serif;font-size:116px;font-weight:900;line-height:1;pointer-events:none}:root[data-theme=dark] .time-hero-date{color:#dcd9d114}.time-hero-current{position:relative;z-index:1;margin:35px 0 0 58px;display:flex;flex-direction:column;align-items:flex-start}.time-hero-current strong,.time-hero-current small{font-family:var(--font-en),"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:0}.time-hero-current strong{color:var(--function-ink, var(--text-main));font-size:61px;line-height:.95}.time-hero-current small{margin-top:18px;color:var(--text-sub);font-size:28px;line-height:1}.feature-grid{display:grid;grid-auto-columns:minmax(92px,1fr);grid-auto-flow:column;overflow-x:auto;border-bottom:.5px solid var(--function-line);background:var(--function-paper, var(--shell-bg));scrollbar-width:none}.feature-grid::-webkit-scrollbar,.function-chips::-webkit-scrollbar{display:none}.feature-grid-item{min-width:92px;min-height:80px;display:flex;flex-direction:column;justify-content:space-between;border:0;border-right:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:13px 12px 12px;text-align:left}.feature-grid-item:last-child{border-right:0}.feature-grid-item.is-active{background:var(--function-selected)}.feature-grid-title{font-size:16px;font-weight:500;letter-spacing:0}.feature-grid-label{color:var(--text-sub);font-size:10px;line-height:1.4}.function-chips{display:flex;flex-wrap:wrap;gap:11px;padding:20px 24px 24px;border-bottom:.5px solid var(--function-line)}.function-chip{min-height:35px;display:inline-flex;align-items:center;gap:8px;border:.5px solid var(--function-line);border-radius:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:7px 12px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:0}.function-chip.is-active{background:var(--function-highlight)}.function-chip-mark{width:5px;height:5px;flex-shrink:0;background:var(--function-ink, var(--text-main))}.function-permission-toast{position:absolute;z-index:6;top:76px;left:22px;right:22px;border:.5px solid var(--function-line);background:var(--panel-bg);color:var(--function-ink, var(--text-main));padding:10px 12px;font-size:12px;line-height:1.5;box-shadow:0 14px 30px #2424281f;animation:du-fadeup .22s ease both}.function-chip small{padding:0 4px;background:var(--function-highlight);color:var(--text-main);font-size:10px}:root[data-theme=dark] .function-chip small{color:var(--text-main)}.dynamic-timeline{padding:34px 0 38px}.timeline-filter-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px 0;color:var(--text-sub);font-size:12px}.timeline-filter-note button{border:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:5px 9px;font-size:11px}.timeline-section-header{display:none}.timeline-section-header span{color:var(--text-sub);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em}.timeline-section-header strong{font-size:15px;font-weight:400}.timeline-list{position:relative;margin:0 28px 0 16px;padding-left:48px;border-left:.5px solid var(--function-line)}.timeline-item{position:relative;display:block;margin-bottom:30px;padding-bottom:30px;border-bottom:0}.timeline-item:after{position:absolute;right:0;bottom:0;left:0;height:.5px;content:"";background:var(--function-line)}.timeline-item:last-child{margin-bottom:0}.timeline-item:last-child:after{display:none}.timeline-time-mark{position:absolute;top:6px;left:-43px;display:inline-flex;align-items:center;gap:7px}.timeline-time-mark time{display:block;padding:0;border-right:0;color:var(--function-ink, var(--text-main));font-family:var(--font-en),"Times New Roman",serif;font-size:11px;font-style:italic;line-height:1;letter-spacing:0;white-space:nowrap}.timeline-time-mark span{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#dfe4e6;box-shadow:0 0 0 2px #dfe4e685,0 1px 3px #2c2c2c29}.timeline-content{min-width:0;padding:0}.timeline-content-button{width:100%;display:block;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.timeline-content-button:focus{outline:none}.timeline-content-button:active{background:transparent}.timeline-content-button:focus-visible,.feature-grid-item:focus-visible,.function-chip:focus-visible,.timeline-filter-note button:focus-visible{outline:1px solid var(--function-ink, var(--text-main));outline-offset:3px}.timeline-content p{margin:0;color:var(--function-ink, var(--text-main));font-size:15px;line-height:1.75}.timeline-letter{border:1px dashed var(--function-line);padding:15px 14px 16px}.timeline-letter-envelope{display:grid;grid-template-columns:minmax(0,1fr) min(34%,138px);gap:14px;align-items:center;border:0;padding:0}.timeline-letter-envelope h3{margin:0}.timeline-letter h3,.timeline-card-preview small,.timeline-reminder small,.timeline-companion span,.timeline-summary h3{display:block;margin:0 0 8px;color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:14px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none}.timeline-letter p{color:var(--text-main);font-size:14px;line-height:1.65}.timeline-letter-stage{position:relative;width:100%;aspect-ratio:1.76 / 1;margin:0;overflow:hidden}.timeline-envelope-image{width:100%;height:100%;display:block;object-fit:cover;mix-blend-mode:multiply;opacity:.9;filter:grayscale(1) contrast(1.08)}.timeline-envelope-sketch{position:static;width:100%;height:100%;display:block;fill:none;stroke:var(--function-ink, var(--text-main));stroke-width:2.05;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(.35px .25px 0 rgba(44,44,44,.22))}.timeline-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:var(--text-sub);font-family:var(--font-function-body);font-size:12px}.timeline-meta span{display:inline-flex;align-items:center;gap:5px;border:0;padding:0}.timeline-meta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.timeline-meta .is-liked svg{fill:currentColor}.timeline-image-placeholder{position:relative;aspect-ratio:4 / 3;margin-bottom:10px;overflow:hidden;border:.5px solid var(--function-line);background:linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 48px),linear-gradient(135deg,transparent 0 38%,rgba(245,243,239,.36) 38% 41%,transparent 41%),linear-gradient(180deg,var(--function-image-a),var(--function-image-b));filter:grayscale(1) saturate(.25)}.timeline-image-placeholder:before,.timeline-image-placeholder:after{position:absolute;content:"";inset:auto 8% 18% 8%;height:1px;background:#f5f3ef6b}.timeline-image-placeholder:after{inset:18% 46% 18% auto;width:1px;height:auto}.timeline-image-placeholder span{position:absolute;left:12px;bottom:10px;color:#f5f3efb8;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em}.timeline-card-preview{min-height:118px;display:flex;align-items:stretch;justify-content:space-between;border:0;background:transparent}.timeline-card-preview>div{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 16px 0 0}.timeline-card-preview small{margin-bottom:0}.timeline-card-preview strong{display:block;color:var(--function-ink, var(--text-main));font-size:15px;font-weight:400;line-height:1.65}.timeline-postcard-art{position:relative;width:88px;flex:0 0 88px;margin:10px 10px 10px 0;overflow:hidden;border:0;background:transparent}.timeline-postcard-art img,.mailbox-postcard-thumb img{width:100%;height:100%;display:block;object-fit:cover}.postcard-sea-illustration:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 9px),linear-gradient(180deg,rgba(255,255,255,.12) 0 1px,transparent 1px 11px);opacity:.38;mix-blend-mode:overlay}.timeline-postcard-sky,.timeline-postcard-sea,.timeline-postcard-shore,.timeline-postcard-light{position:absolute;top:0;right:0;bottom:0;left:0}.timeline-postcard-sky{bottom:42%;background:radial-gradient(circle at 82% 22%,rgba(249,224,188,.92) 0 13%,transparent 27%),linear-gradient(180deg,#d9dbe1,#efe3d8 78%,transparent 79%)}.timeline-postcard-sea{top:46%;background:repeating-linear-gradient(170deg,rgba(255,255,255,.42) 0 2px,transparent 2px 9px),linear-gradient(180deg,#b8c8d6,#d9dde2 68%,transparent 70%)}.timeline-postcard-shore{top:72%;background:repeating-linear-gradient(166deg,rgba(163,146,118,.24) 0 2px,transparent 2px 10px),linear-gradient(160deg,#eee4ce 0,#eee4ce 46%,#d2c4b3 47%,#d2c4b3)}.timeline-postcard-light{width:32%;left:63%;background:linear-gradient(180deg,rgba(255,245,206,.72),rgba(255,250,226,.14) 68%,transparent);transform:skew(-12deg)}.timeline-reminder{border-left:6px solid var(--function-highlight);padding-left:14px}.timeline-reminder small,.timeline-companion span{margin-bottom:6px}.timeline-companion{padding-top:2px}.timeline-review-ticket{--ticket-paper: #f6f1e8;--ticket-ink: #1B2A4A;--ticket-line: rgba(27, 42, 74, .46);--ticket-muted: rgba(27, 42, 74, .72);--ticket-en-font: "Cormorant Garamond", "Times New Roman", serif;--ticket-cn-font: "Noto Serif SC", "Songti SC", "SimSun", serif;--ticket-stub-width: 22%;--ticket-cut-size: clamp(16px, 4.8vw, 28px);--ticket-cut-radius: calc(var(--ticket-cut-size) / 2);--ticket-cut-cover: calc(var(--ticket-cut-size) + 8px);--ticket-edge: .5px;position:relative;isolation:isolate;aspect-ratio:3.1 / 1;overflow:hidden;border:0;background:radial-gradient(circle at 18% 32%,rgba(27,42,74,.035) 0 .8px,transparent 1.3px),radial-gradient(circle at 62% 58%,rgba(126,106,82,.035) 0 .7px,transparent 1.2px),linear-gradient(0deg,#1b2a4a05,#1b2a4a05),var(--ticket-paper);color:var(--ticket-ink)}.timeline-review-ticket:before{content:"";position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(var(--ticket-line),var(--ticket-line)) var(--ticket-cut-radius) 0 / calc(100% - var(--ticket-stub-width) - var(--ticket-cut-size)) var(--ticket-edge) no-repeat,linear-gradient(var(--ticket-line),var(--ticket-line)) calc(100% - var(--ticket-stub-width) + var(--ticket-cut-radius)) 0 / calc(var(--ticket-stub-width) - var(--ticket-cut-size)) var(--ticket-edge) no-repeat,linear-gradient(var(--ticket-line),var(--ticket-line)) var(--ticket-cut-radius) 100% / calc(100% - var(--ticket-stub-width) - var(--ticket-cut-size)) var(--ticket-edge) no-repeat,linear-gradient(var(--ticket-line),var(--ticket-line)) calc(100% - var(--ticket-stub-width) + var(--ticket-cut-radius)) 100% / calc(var(--ticket-stub-width) - var(--ticket-cut-size)) var(--ticket-edge) no-repeat,linear-gradient(var(--ticket-line),var(--ticket-line)) 0 var(--ticket-cut-radius) / var(--ticket-edge) calc(100% - var(--ticket-cut-size)) no-repeat,linear-gradient(var(--ticket-line),var(--ticket-line)) 100% var(--ticket-cut-radius) / var(--ticket-edge) calc(100% - var(--ticket-cut-size)) no-repeat}.timeline-ticket-cut{position:absolute;z-index:6;width:var(--ticket-cut-cover);height:var(--ticket-cut-cover);border-radius:999px;background:var(--function-paper, var(--shell-bg, #f4f0e9));pointer-events:none}.ticket-cut-tl{top:calc(var(--ticket-cut-cover) / -2);left:calc(var(--ticket-cut-cover) / -2)}.ticket-cut-tr{top:calc(var(--ticket-cut-cover) / -2);right:calc(var(--ticket-cut-cover) / -2)}.ticket-cut-bl{bottom:calc(var(--ticket-cut-cover) / -2);left:calc(var(--ticket-cut-cover) / -2)}.ticket-cut-br{right:calc(var(--ticket-cut-cover) / -2);bottom:calc(var(--ticket-cut-cover) / -2)}.ticket-cut-tear-top,.ticket-cut-tear-bottom{left:calc(100% - var(--ticket-stub-width) - (var(--ticket-cut-cover) / 2))}.ticket-cut-tear-top{top:calc(var(--ticket-cut-cover) / -2)}.ticket-cut-tear-bottom{bottom:calc(var(--ticket-cut-cover) / -2)}.timeline-review-ticket-main{position:absolute;inset:0 var(--ticket-stub-width) 0 0;overflow:hidden}.timeline-review-ticket-date{position:absolute;top:14%;right:9%;color:var(--ticket-ink);font-family:var(--ticket-en-font);font-size:clamp(27px,7.2vw,54px);font-weight:400;line-height:.88;letter-spacing:.1em;white-space:nowrap}.timeline-review-ticket-copy{position:absolute;right:9%;top:60%;left:8%;margin:0;overflow:hidden;color:var(--ticket-ink);font-family:var(--ticket-cn-font);font-size:clamp(16px,3.6vw,26px);font-weight:600;line-height:1.28;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timeline-review-ticket-stub{position:absolute;inset:0 0 0 auto;width:var(--ticket-stub-width);border-left:1px dashed var(--ticket-line);color:var(--ticket-ink);text-align:center}.timeline-review-stub-meta{position:absolute;top:12%;bottom:12%;left:12%;display:flex;flex-direction:column;justify-content:space-between;color:var(--ticket-muted);font-family:var(--ticket-en-font);font-size:clamp(8px,1.7vw,13px);font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.timeline-review-stub-meta span{display:block;overflow:hidden;white-space:nowrap}.timeline-review-stub-admit{position:absolute;top:50%;right:13%;max-height:82%;overflow:hidden;color:var(--ticket-muted);font-family:var(--ticket-en-font);font-size:clamp(19px,4.7vw,34px);font-weight:500;letter-spacing:.14em;line-height:1;text-transform:uppercase;writing-mode:vertical-rl;transform:translateY(-50%)}.timeline-review-ticket.is-du-review{--ticket-ink: #1B2A4A;--ticket-line: rgba(27, 42, 74, .46);--ticket-muted: rgba(27, 42, 74, .72)}:root[data-theme=dark] .timeline-review-ticket{--ticket-paper: #ece6dc;--ticket-ink: #1B2A4A;--ticket-line: rgba(27, 42, 74, .46);--ticket-muted: rgba(27, 42, 74, .72)}:root[data-theme=dark] .timeline-review-ticket.is-du-review{--ticket-ink: #1B2A4A;--ticket-line: rgba(27, 42, 74, .46);--ticket-muted: rgba(27, 42, 74, .72)}@media(max-width:430px){.timeline-review-ticket{--ticket-stub-width: 21%;--ticket-cut-size: 16px}.timeline-review-ticket-date{top:15%;right:7%;font-size:clamp(23px,7vw,31px)}.timeline-review-ticket-copy{right:7%;left:7%;top:63%;font-size:clamp(13px,4vw,17px);line-height:1.25;-webkit-line-clamp:1}.timeline-review-stub-meta{top:14%;bottom:14%;left:10%;font-size:clamp(6px,2.1vw,8px);letter-spacing:.05em}.timeline-review-stub-admit{right:8%;font-size:clamp(15px,4.5vw,20px);letter-spacing:.1em}}.timeline-summary p{font-size:15px}.timeline-summary>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:.5px solid var(--function-line)}.timeline-summary span{min-width:0;padding:9px 6px;border-right:.5px solid var(--function-line);color:var(--text-sub);text-align:center;font-size:11px}.timeline-summary span:last-child{border-right:0}.dynamic-history-page{background:radial-gradient(circle at 8px 8px,rgba(123,143,161,.2) 1px,transparent 1.5px) left top / 14px 14px repeat-y,var(--function-paper, var(--shell-bg));color:var(--function-ink, var(--text-main));font-family:var(--font-function-body)}.dynamic-history-header{flex-shrink:0;min-height:66px;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:8px;border-bottom:.5px solid var(--function-line);padding:8px 14px 8px 10px;background:var(--function-paper, var(--shell-bg))}.dynamic-history-back,.dynamic-history-calendar-button{width:38px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;-webkit-tap-highlight-color:transparent}.dynamic-history-calendar-button{justify-self:end}.dynamic-history-back svg,.dynamic-history-calendar-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dynamic-history-title{min-width:0;display:grid;gap:3px;line-height:1.15}.dynamic-history-title strong{color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:18px;font-weight:600;letter-spacing:0}.dynamic-history-title span{color:var(--text-sub);font-size:10px;font-weight:700;letter-spacing:0}.dynamic-history-back:focus,.dynamic-history-calendar-button:focus,.dynamic-history-picker-head button:focus,.dynamic-history-calendar-nav button:focus,.dynamic-history-calendar-cell button:focus{outline:none}.dynamic-history-back:focus-visible,.dynamic-history-calendar-button:focus-visible,.dynamic-history-picker-head button:focus-visible,.dynamic-history-calendar-nav button:focus-visible,.dynamic-history-calendar-cell button:focus-visible{outline:1px solid var(--function-ink, var(--text-main));outline-offset:2px}.dynamic-history-body{min-height:0;flex:1;overflow-y:auto}.dynamic-history-list{padding-top:28px}.dynamic-history-list .dynamic-timeline{padding-top:0}.dynamic-history-picker-layer{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#2424282e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dynamic-history-picker-sheet{width:100%;max-height:76%;display:flex;flex-direction:column;gap:14px;overflow:hidden;border-top:.5px solid var(--function-line);background:var(--function-paper, var(--shell-bg));box-shadow:0 -18px 38px #25262a1f;padding:16px 18px 20px;animation:schedule-sheet-rise .18s ease both}.dynamic-history-picker-head{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:12px}.dynamic-history-picker-head div{display:grid;gap:3px}.dynamic-history-picker-head strong{color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:17px;font-weight:600}.dynamic-history-picker-head span{color:var(--text-sub);font-size:11px;font-weight:700}.dynamic-history-picker-head button{width:34px;height:34px;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-size:25px;font-weight:300;line-height:1}.dynamic-history-picker{min-height:0;display:grid;gap:12px;overflow-y:auto;padding:0 0 2px}.dynamic-history-calendar-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}.dynamic-history-calendar-nav strong{color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:20px;font-weight:600;letter-spacing:0;text-align:center}.dynamic-history-calendar-nav button{width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-size:26px;font-weight:300;line-height:1;-webkit-tap-highlight-color:transparent}.dynamic-history-calendar-nav button:disabled{color:#41403e3d;cursor:default}.dynamic-history-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 4px;padding:6px 0 0}.dynamic-history-calendar-weekday{color:var(--text-sub);text-align:center;font-size:11px;font-weight:800;line-height:26px}.dynamic-history-calendar-cell{min-width:0;aspect-ratio:1}.dynamic-history-calendar-cell button{position:relative;width:100%;height:100%;min-height:38px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-family:var(--font-function-title);font-size:17px;font-weight:600;-webkit-tap-highlight-color:transparent}.dynamic-history-calendar-cell button:disabled{color:#41403e3d;cursor:default}.dynamic-history-calendar-cell button.is-active{background:var(--function-selected);box-shadow:inset 0 0 0 .5px var(--function-line)}.dynamic-history-calendar-cell small{position:absolute;bottom:7px;left:50%;width:4px;height:4px;border-radius:999px;background:currentColor;transform:translate(-50%)}.dynamic-history-calendar-note{margin:0;color:var(--text-sub);font-size:11px;font-weight:700;line-height:1.5;text-align:center}.dynamic-history-empty{min-height:320px;display:grid;align-content:center;justify-items:center;gap:10px;padding:44px 30px;text-align:center}.dynamic-history-picker-empty{min-height:180px}.dynamic-history-empty strong{color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:22px;font-weight:600}.dynamic-history-empty p{max-width:240px;margin:0;color:var(--text-sub);font-size:13px;line-height:1.7}.function-detail-page{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--function-paper, var(--shell-bg));color:var(--function-ink, var(--text-main));font-family:var(--font-function-body)}.mailbox-page{--mailbox-bg: #fdf8f8;--mailbox-card: #ffffff;--mailbox-line: rgba(116, 120, 120, .22);--mailbox-muted: #747878;--mailbox-ink: #1c1b1b;background:var(--mailbox-bg);color:var(--mailbox-ink);font-family:var(--font-function-title)}:root[data-theme=dark] .mailbox-page{--mailbox-bg: var(--shell-bg);--mailbox-card: rgba(39, 42, 48, .86);--mailbox-line: rgba(220, 217, 209, .16);--mailbox-muted: var(--text-sub);--mailbox-ink: var(--text-main)}.mailbox-topbar{min-height:68px;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;border-bottom:.5px solid var(--mailbox-line);background:#fdf8f8e6}:root[data-theme=dark] .mailbox-topbar{background:#202329eb}.mailbox-topbar button{height:68px;border:0;background:transparent;color:var(--mailbox-ink);cursor:pointer;font-family:var(--font-function-title);font-size:11px;letter-spacing:.12em}.mailbox-topbar button:first-child,.mailbox-topbar-action{display:grid;place-items:center}.mailbox-topbar-action.is-text{color:var(--mailbox-muted);font-size:13px;font-weight:500;letter-spacing:.08em}.mailbox-topbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mailbox-topbar div{min-width:0;display:grid;justify-items:center;line-height:1}.mailbox-topbar strong{color:var(--mailbox-ink);font-size:23px;font-weight:500;letter-spacing:.04em}.mailbox-topbar small{margin-top:8px;color:var(--mailbox-muted);font-size:12px;font-weight:400;letter-spacing:.18em;text-transform:uppercase}.mailbox-main{min-height:0;flex:1;overflow-y:auto;padding:8px 22px 96px}.mailbox-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 -2px 16px;border:0}.mailbox-tabs button{position:relative;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--mailbox-muted);cursor:pointer;padding:0 2px;font-size:14px;letter-spacing:0;white-space:nowrap}.mailbox-tabs button.is-active{background:transparent;color:var(--mailbox-ink)}.mailbox-tabs button.is-active:after{position:absolute;right:8px;bottom:0;left:8px;height:2px;content:"";background:var(--mailbox-ink)}.mailbox-list{display:grid}.mailbox-entry{position:relative;width:calc(100% + 44px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin:0 -22px;border:0;border-bottom:.5px solid var(--mailbox-line);background:transparent;color:var(--mailbox-ink);cursor:pointer;padding:24px 22px;text-align:left}.mailbox-entry.is-read{opacity:.68}.mailbox-entry-draft{background:#e5e2e13d}.mailbox-unread-dot{position:absolute;top:33px;left:18px;width:7px;height:7px;border-radius:50%;background:var(--mailbox-ink)}.mailbox-entry-main{min-width:0;padding-left:20px}.mailbox-entry-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--mailbox-muted);font-size:12px;letter-spacing:.12em}.mailbox-entry-meta time{flex-shrink:0;letter-spacing:.08em;text-transform:none}.mailbox-entry h3{margin:0 0 12px;color:var(--mailbox-ink);font-size:25px;font-weight:400;line-height:1.22}.mailbox-entry-draft h3{font-style:italic}.mailbox-status-tags{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 12px}.mailbox-status-tags span,.mailbox-postcard-pin-card strong{border:.5px solid var(--mailbox-line);background:#ffffff73;color:var(--mailbox-muted);padding:3px 7px;font-size:10px;font-weight:500;letter-spacing:.12em}.mailbox-entry-draft .mailbox-status-tags span:nth-child(2),.mailbox-entry-sent .mailbox-status-tags span:nth-child(2){border-color:#1c1b1b38;color:var(--mailbox-ink)}.mailbox-entry p{margin:0;color:var(--mailbox-muted);font-size:18px;line-height:1.72}.mailbox-draft-form{cursor:default}.mailbox-draft-form label{display:grid;gap:7px;margin-bottom:13px}.mailbox-draft-form label span{color:var(--mailbox-muted, #747878);font-size:11px;letter-spacing:.12em}.mailbox-draft-form input,.mailbox-draft-form textarea{width:100%;box-sizing:border-box;border:.5px solid var(--mailbox-line, rgba(116, 120, 120, .22));background:#fff9;color:var(--mailbox-ink, #1c1b1b);padding:10px 11px;font:inherit;outline:none}.mailbox-draft-form textarea{min-height:82px;resize:vertical;line-height:1.7}.mailbox-draft-actions{display:flex;justify-content:flex-end;gap:10px}.mailbox-draft-actions button{min-height:34px;border:.5px solid var(--mailbox-line, rgba(116, 120, 120, .22));background:transparent;color:var(--mailbox-ink, #1c1b1b);cursor:pointer;padding:0 12px;font-family:var(--font-function-body);font-size:12px}.mailbox-draft-actions button:disabled{cursor:default;opacity:.42}.mailbox-compose-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:start;gap:10px;overflow:hidden;padding:10px 22px 24px}.mailbox-compose-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:.5px solid var(--mailbox-line)}.mailbox-compose-switch button{position:relative;min-height:32px;border:0;background:transparent;color:var(--mailbox-muted);cursor:pointer;font-family:var(--font-function-title);font-size:16px;letter-spacing:.04em}.mailbox-compose-switch button.is-active{color:var(--mailbox-ink)}.mailbox-compose-switch button:disabled{cursor:default;opacity:.38}.mailbox-compose-switch button.is-active:after{position:absolute;right:28%;bottom:-1px;left:28%;height:2px;content:"";background:var(--mailbox-ink)}.mailbox-compose-sheet{position:relative;display:grid;gap:18px;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;border:.5px solid rgba(116,120,120,.24);background:linear-gradient(#fdf9f2c7,#fdf9f2d6),radial-gradient(circle at 18% 22%,rgba(107,91,72,.045) 0 1px,transparent 1.4px),repeating-linear-gradient(0deg,transparent 0 31px,rgba(116,120,120,.08) 31px 32px),url(/assets/mail-compose-paper-texture-DFmp-dJx.jpg) center / cover no-repeat,#fffcf7c7;box-shadow:0 1px #ffffffb8 inset,0 18px 38px #3b373214}.mailbox-compose-sheet.is-letter{grid-template-rows:auto auto minmax(0,1fr);padding:22px 24px 18px}.mailbox-compose-sheet.is-letter:before{content:none}.mailbox-letter-to-field{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px}.mailbox-compose-sheet label{position:relative;z-index:1;display:grid;gap:8px}.mailbox-compose-sheet label>span{color:var(--mailbox-muted);font-size:12px;letter-spacing:.12em}.mailbox-compose-sheet input,.mailbox-compose-sheet textarea{width:100%;box-sizing:border-box;border:0;border-bottom:.5px solid rgba(116,120,120,.22);background:transparent;color:var(--mailbox-ink);outline:none;padding:8px 0 10px;font-family:var(--font-function-body);font-size:20px;line-height:1.55}.mailbox-compose-sheet textarea{min-height:0;overflow-y:auto;resize:none;scrollbar-width:thin}.mailbox-compose-body-field textarea{border-bottom:0}.mailbox-compose-sheet.is-letter .mailbox-compose-body-field{min-height:0;grid-template-rows:auto minmax(0,1fr)}.mailbox-compose-sheet.is-letter .mailbox-compose-body-field textarea{height:100%;min-height:320px}.mailbox-compose-sheet.is-postcard{gap:0;padding:0;background:#fdf8f8}.mailbox-postcard-editor-front{position:relative;padding:18px 18px 16px;border-bottom:.5px dashed rgba(116,120,120,.34)}.mailbox-postcard-image-picker{position:relative;min-height:188px;aspect-ratio:1.42;display:grid;place-items:center;overflow:hidden;border:.5px dashed rgba(116,120,120,.24);background:#ffffff4d;cursor:pointer}.mailbox-postcard-image-picker img{width:100%;height:100%;max-height:260px;display:block;object-fit:cover}.mailbox-postcard-image-picker.has-image{border:0;background:transparent}.mailbox-postcard-image-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mailbox-postcard-image-picker>span{display:grid;justify-items:center;gap:8px;color:var(--mailbox-ink);font-size:21px}.mailbox-postcard-image-picker small{color:var(--mailbox-muted);font-size:12px;letter-spacing:.08em}.mailbox-postcard-remove-image{position:absolute;right:28px;top:162px;border:.5px solid rgba(255,255,255,.7);background:#fdf8f8d1;color:var(--mailbox-ink);cursor:pointer;padding:5px 10px;font-family:var(--font-function-body);font-size:12px}.mailbox-postcard-live-preview{margin-top:14px;border:.5px solid rgba(38,35,31,.12);background:#fdf8f8}.mailbox-postcard-live-preview .postcard-text-side{min-height:248px;max-height:none}.mailbox-postcard-live-preview.postcard-layout-huiming .postcard-text-side{min-height:360px}.mailbox-postcard-live-preview.postcard-layout-huiming .postcard-text-side p{font-size:31px}.mailbox-postcard-live-preview.postcard-layout-huiming .postcard-text-side strong{font-size:22px}.mailbox-postcard-live-preview.postcard-layout-south-bay .postcard-text-side{min-height:248px;padding:28px 22px 34px}.mailbox-postcard-live-preview.postcard-layout-hotel-note .postcard-text-side{min-height:248px}.mailbox-postcard-live-preview.postcard-layout-split-back .postcard-text-side{min-height:248px;padding:26px 18px}.mailbox-postcard-live-preview.postcard-layout-vertical-art .postcard-text-side{min-height:320px}.mailbox-postcard-live-preview.postcard-layout-vertical-art .postcard-text-side p{max-height:270px;font-size:27px}.mailbox-postcard-layout-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:.5px solid rgba(38,35,31,.12)}.mailbox-postcard-layout-strip button{min-width:0;min-height:38px;border:0;border-right:.5px solid rgba(38,35,31,.12);background:transparent;color:#24211f94;cursor:pointer;font-family:var(--font-postcard-deyi);font-size:11px;letter-spacing:0}.mailbox-postcard-layout-strip button:last-child{border-right:0}.mailbox-postcard-layout-strip button.is-active{background:#24211f0f;color:var(--postcard-ink, #24211f)}.mailbox-postcard-template-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.mailbox-postcard-template-strip button{min-width:0;display:grid;gap:5px;padding:5px;border:.5px solid rgba(116,120,120,.22);background:#fdf8f88a;color:var(--mailbox-muted);font-family:var(--font-function-body);font-size:11px;line-height:1.15;cursor:pointer}.mailbox-postcard-template-strip button.is-active{border-color:#1c1b1b8f;color:var(--mailbox-ink);background:#fdf8f8db}.mailbox-postcard-template-strip img{width:100%;aspect-ratio:1;display:block;object-fit:cover;border:0}.mailbox-postcard-template-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mailbox-postcard-editor-back{position:relative;display:grid;gap:14px;padding:20px 20px 22px}.mailbox-postcard-editor-back label{z-index:1}.mailbox-postcard-editor-back textarea{min-height:150px}.mailbox-compose-actions{display:flex;justify-content:flex-end;padding-top:2px}.mailbox-compose-actions div{display:flex;justify-content:flex-end;gap:10px}.mailbox-compose-actions button{min-height:38px;border:.5px solid var(--mailbox-line);background:#fdf8f870;color:var(--mailbox-ink);cursor:pointer;padding:0 14px;font-family:var(--font-function-body);font-size:13px}.mailbox-compose-actions button.is-primary{background:var(--mailbox-ink);color:var(--mailbox-bg)}.mailbox-compose-actions button:disabled{cursor:default;opacity:.38}.mailbox-postcard-thumb{position:relative;width:72px;aspect-ratio:.8;overflow:hidden;border:0;background:transparent;transform:rotate(2deg)}.mailbox-postcard-gallery{min-height:430px;display:grid;align-content:start;justify-items:center;gap:24px;padding:44px 18px 24px}.mailbox-postcard-pin-card{position:relative;width:min(78%,274px);border:0;background:transparent;cursor:pointer;padding:0;transform:rotate(var(--postcard-tilt));transform-origin:45% 8%}.mailbox-postcard-pin-card:nth-child(2n){justify-self:end}.mailbox-postcard-pin-card:nth-child(odd){justify-self:start}.mailbox-postcard-pin-card>span{position:absolute;z-index:2;top:-9px;left:-8px;width:17px;height:17px;border-radius:50%;background:#7d6b57;box-shadow:inset 0 0 0 5px #ffffff9e,0 4px 10px #2c2c2c1f}.mailbox-postcard-pin-card img{width:100%;display:block;box-shadow:0 16px 30px #2c2c2c1f}.mailbox-postcard-pin-card strong{position:absolute;right:12px;bottom:12px;z-index:2;max-width:calc(100% - 24px);box-sizing:border-box;overflow:hidden;background:#ffffffb8;text-overflow:ellipsis;white-space:nowrap}.mailbox-footer{margin-top:86px;color:var(--mailbox-muted);text-align:center;font-size:13px;letter-spacing:.08em}.mail-detail-main,.postcard-detail-main{min-height:0;flex:1;overflow-y:auto;padding:42px 32px 72px}.mail-detail-heading{margin-bottom:36px}.mail-detail-heading>span{display:block;margin-bottom:12px;color:var(--mailbox-muted);font-size:11px;letter-spacing:.14em}.mail-detail-heading h1{margin:0 0 28px;color:var(--mailbox-ink);font-size:38px;font-weight:500;line-height:1.1}.mail-detail-meta{display:grid;gap:10px;margin:0;border-top:.5px solid var(--mailbox-line);border-bottom:.5px solid var(--mailbox-line);padding:12px 0}.mail-detail-meta div,.postcard-footnotes div{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.mail-detail-meta dt,.postcard-footnotes dt{color:var(--mailbox-muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.mail-detail-meta dd,.postcard-footnotes dd{margin:0;color:var(--mailbox-ink);font-size:12px;text-align:right}.letter-paper-card{position:relative;overflow:hidden;border:.5px solid var(--mailbox-line);background:var(--mailbox-card);padding:36px 32px 30px}.letter-paper-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(135deg,transparent 0 72%,rgba(229,226,225,.28) 100%)}.letter-paper-copy{position:relative;z-index:1;animation:letter-copy-unroll .9s ease both}.letter-paper-copy p{margin:0 0 24px;color:var(--mailbox-ink);font-size:16px;line-height:2.15}.letter-paper-copy p:not(:first-child){text-indent:2em}.letter-signature{width:max-content;max-width:100%;margin:42px 0 0 auto;border-top:.5px solid var(--mailbox-line);padding-top:12px;text-align:right}.letter-signature small{display:block;color:var(--mailbox-muted);font-size:9px;letter-spacing:.12em}.letter-signature strong{display:block;margin-top:4px;color:var(--mailbox-ink);font-size:26px;font-style:italic;font-weight:400}.letter-detail-page,.postcard-preview-page{bottom:0;z-index:8}.postcard-preview-page{--postcard-ivory: #fdf8f8;--postcard-ink: #24211f;--postcard-muted: rgba(36, 33, 31, .58);--postcard-line: rgba(38, 35, 31, .22);--postcard-soft-line: rgba(38, 35, 31, .12);--postcard-shadow: rgba(92, 72, 52, .1);--font-postcard-chenyu: "Dukou Chenyu Luoyan", "ChenYuluoyan", "ChenYuluoyan-Thin", "Chenyu Luoyan Thin", "辰宇落雁体", "辰宇落雁體", "Dukou The Peak Font", "The Peak Font", "隨峰體", "随峰体", "Dukou Jason Handwriting 9", "Jason Handwriting 9", "JasonHandwriting9", "清松手写体9", "清松手寫體9", "Dukou Iansui", "Iansui", "LXGW WenKai Screen", "Noto Serif SC", "Songti SC", serif;--font-postcard-deyi: "Dukou Smiley Sans", "Smiley Sans", "Smiley Sans Oblique", "DeyiHei", "得意黑", "LXGW WenKai Screen", "Noto Sans SC", sans-serif;--font-postcard-yansui: "Dukou Iansui", "Iansui", "Iansui Regular", "Yansui", "芫荽", "LXGW WenKai Screen", "Noto Serif SC", serif;--font-postcard-huiming: "Dukou Huiwen Mincho", "Huiwen-mincho", "Huiwen Mincho", "汇文明朝体", "匯文明朝體", "Noto Serif SC", "Songti SC", serif;background:var(--postcard-ivory);color:var(--postcard-ink);font-family:var(--font-function-title)}.postcard-preview-main{position:relative;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:18px 18px 24px}.mail-icon-actions{display:flex;justify-content:center;gap:18px;margin-top:22px}.mail-icon-actions button{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:#fffdf7f0;color:var(--mailbox-ink);cursor:pointer;box-shadow:0 10px 24px #5f504414}.mail-icon-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.postcard-preview-controls{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.postcard-round-button,.postcard-preview-pill,.postcard-icon-actions button{border:0;background:#fffdf7f0;color:var(--postcard-ink);cursor:pointer;box-shadow:0 10px 24px #5f504414}.postcard-round-button{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:50%}.postcard-round-button svg,.postcard-icon-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.postcard-preview-pill{min-height:42px;border-radius:5px;padding:0 16px;font-family:var(--font-postcard-deyi);font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap}.postcard-scene{position:relative;width:100%;min-height:0;flex:1;display:grid;place-items:center;margin-top:14px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left;-webkit-tap-highlight-color:transparent;outline:none}.postcard-front-card{position:relative;z-index:1;width:min(100%,372px);margin:0 auto;background:var(--postcard-ivory);box-shadow:0 22px 36px var(--postcard-shadow);transition:transform .32s ease}.postcard-front-card.is-image-side{border:0;background:transparent;box-shadow:none;padding:0}.postcard-front-card.is-image-portrait{width:min(82vw,336px)}.postcard-front-card.is-image-landscape{width:min(100%,388px)}.postcard-front-card.is-text-side{width:min(100%,372px);min-height:min(472px,calc(100vh - 202px));max-height:calc(100vh - 178px);display:grid;overflow:hidden;border:.5px solid var(--postcard-soft-line)}.postcard-image-side{width:100%;max-height:min(62vh,544px);display:block;object-fit:contain;background:transparent}.postcard-front-card.is-image-landscape .postcard-image-side{max-height:min(48vh,360px)}.postcard-scene:focus,.postcard-scene:focus-visible{outline:none}.postcard-scene:active .postcard-front-card{transform:scale(.996)}.postcard-text-side{position:relative;min-height:0;max-height:100%;display:grid;overflow:hidden;color:var(--postcard-ink);word-break:break-word}.postcard-text-side strong,.postcard-text-side p,.postcard-text-side small,.postcard-text-kicker,.postcard-text-postmark,.postcard-text-stamp{font-family:inherit;letter-spacing:0}.postcard-text-side strong,.postcard-text-side p,.postcard-text-side small{position:relative;z-index:1}.postcard-text-side p{margin:0;white-space:pre-line}.postcard-text-side small{color:var(--postcard-muted)}.postcard-text-kicker,.postcard-text-postmark,.postcard-text-stamp,.postcard-text-divider,.postcard-postmark-image{position:absolute;z-index:0}.postcard-layout-huiming .postcard-text-side{min-height:100%;grid-template-rows:minmax(0,1fr) auto auto;gap:18px;padding:28px 22px 26px;font-family:var(--font-postcard-huiming)}.postcard-layout-huiming .postcard-text-kicker{display:none}.postcard-layout-huiming .postcard-text-side p{align-self:start;justify-self:start;max-width:9.5em;color:#26306f;font-size:39px;font-weight:700;line-height:1.22}.postcard-layout-huiming .postcard-text-side strong{justify-self:end;max-width:9em;color:#16110e;font-size:26px;font-weight:700;line-height:1.15}.postcard-layout-huiming .postcard-text-side small{justify-self:start;align-self:end;max-width:13em;color:#16110e;font-size:21px;font-weight:700;line-height:1.18}.postcard-layout-huiming .postcard-postmark-image{right:18px;bottom:18px;width:84px;opacity:.52}.postcard-layout-huiming .postcard-text-postmark,.postcard-layout-huiming .postcard-text-stamp,.postcard-layout-huiming .postcard-text-divider{display:none}.postcard-layout-south-bay .postcard-text-side{min-height:100%;align-content:center;justify-items:center;gap:18px;padding:34px 30px 38px;text-align:center;font-family:var(--font-postcard-chenyu)}.postcard-layout-south-bay .postcard-text-kicker{top:24px;left:0;right:0;color:#24211f80;font-size:10px;text-align:center}.postcard-layout-south-bay .postcard-text-side strong{margin-top:8px;font-size:24px;font-weight:500;line-height:1.2}.postcard-layout-south-bay .postcard-text-side p{width:min(100%,286px);padding:4px 0 2px;background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(36,33,31,.3) 31px 32px);font-size:23px;line-height:1.55}.postcard-layout-south-bay .postcard-text-postmark{bottom:72px;left:0;right:0;color:#24211f8f;font-size:10px;text-align:center}.postcard-layout-south-bay .postcard-postmark-image{right:24px;top:22px;width:72px;opacity:.58}.postcard-layout-south-bay .postcard-text-stamp,.postcard-layout-south-bay .postcard-text-divider{display:none}.postcard-layout-south-bay .postcard-text-side small{align-self:end;font-size:12px}.postcard-layout-hotel-note .postcard-text-side{min-height:100%;grid-template-rows:auto 1fr auto;padding:28px 28px 34px;text-align:center;font-family:var(--font-postcard-deyi)}.postcard-layout-hotel-note .postcard-text-kicker{top:18px;left:28px;color:#24211f80;font-size:9px}.postcard-layout-hotel-note .postcard-text-side strong{align-self:start;justify-self:center;max-width:9em;font-size:36px;font-weight:700;line-height:1.03}.postcard-layout-hotel-note .postcard-text-side p{align-self:center;justify-self:center;max-width:250px;font-size:24px;line-height:1.45}.postcard-layout-hotel-note .postcard-text-postmark{top:58px;left:28px;color:#24211f6b;font-size:11px}.postcard-layout-hotel-note .postcard-postmark-image{right:24px;top:20px;width:84px;opacity:.6}.postcard-layout-hotel-note .postcard-text-stamp,.postcard-layout-hotel-note .postcard-text-divider{display:none}.postcard-layout-hotel-note .postcard-text-side small{justify-self:end;max-width:132px;font-size:13px;line-height:1.5;text-align:left}.postcard-layout-split-back .postcard-text-side{min-height:100%;grid-template-columns:1fr 1fr;gap:20px;padding:30px 24px;font-family:var(--font-postcard-yansui)}.postcard-layout-split-back .postcard-text-kicker{top:30px;left:22px;color:#24211f8f;font-size:12px}.postcard-layout-split-back .postcard-text-side strong{grid-column:1;align-self:start;margin-top:38px;font-size:18px;font-weight:500}.postcard-layout-split-back .postcard-text-side p{grid-column:1;align-self:center;font-size:18px;line-height:1.95}.postcard-layout-split-back .postcard-text-divider{top:24px;bottom:24px;left:50%;width:1px;background:#24211f42}.postcard-layout-split-back .postcard-postmark-image{right:18px;top:20px;width:96px;opacity:.58}.postcard-layout-split-back .postcard-text-stamp{display:none}.postcard-layout-split-back .postcard-text-postmark{right:28px;top:112px;color:#24211f6b;font-size:10px}.postcard-layout-split-back .postcard-text-side small{grid-column:2;align-self:end;padding-bottom:20px;border-bottom:1px solid rgba(36,33,31,.2);font-size:18px;line-height:1.7}.postcard-layout-vertical-art .postcard-text-side{min-height:100%;grid-template-columns:1fr auto;gap:16px;padding:28px 24px 24px;font-family:var(--font-postcard-deyi)}.postcard-layout-vertical-art .postcard-text-kicker{left:24px;bottom:26px;max-width:90px;color:#24211f80;font-size:10px;line-height:1.5}.postcard-layout-vertical-art .postcard-text-side strong{grid-column:1;align-self:start;max-width:104px;font-size:13px;font-weight:600;line-height:1.45}.postcard-layout-vertical-art .postcard-text-side p{grid-column:2;justify-self:end;max-height:370px;writing-mode:vertical-rl;text-orientation:mixed;font-size:31px;font-weight:700;line-height:1.05}.postcard-layout-vertical-art .postcard-text-side small{grid-column:2;align-self:end;justify-self:end;max-width:110px;font-size:11px;line-height:1.45;text-align:right}.postcard-layout-vertical-art .postcard-text-postmark{left:24px;bottom:82px;color:#24211f80;font-size:10px}.postcard-layout-vertical-art .postcard-postmark-image{left:20px;top:20px;width:82px;opacity:.5}.postcard-layout-vertical-art .postcard-text-stamp,.postcard-layout-vertical-art .postcard-text-divider{display:none}.postcard-icon-actions{flex-shrink:0;display:flex;justify-content:center;gap:22px;margin-top:14px}.postcard-icon-actions button{width:52px;height:52px;display:grid;place-items:center;border-radius:50%}@keyframes letter-copy-unroll{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.function-detail-header{min-height:64px;display:grid;grid-template-columns:74px 1fr;align-items:center;border-bottom:.5px solid var(--function-line)}.function-detail-header button{height:64px;border:0;border-right:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-size:13px}.function-detail-header div{min-width:0;padding:0 18px}.function-detail-header small{display:block;margin-bottom:2px;color:var(--text-sub);font-family:var(--font-function-title);font-size:10px;font-weight:700;letter-spacing:.12em}.function-detail-header strong{display:block;font-size:19px;font-weight:500;line-height:1.2;font-family:var(--font-function-title)}.function-detail-body{min-height:0;flex:1;overflow-y:auto;padding:22px 22px 34px}.function-panel-stack{display:grid;gap:18px}.function-segment-row{display:grid;grid-template-columns:repeat(2,1fr);border:.5px solid var(--function-line)}.function-segment-row button{min-height:38px;border:0;border-right:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;font-size:13px}.function-segment-row button:last-child{border-right:0}.function-segment-row button.is-active{background:var(--function-highlight)}.function-panel-section h3{margin:0 0 12px;color:var(--text-sub);font-family:var(--font-function-title);font-size:11px;font-weight:700;letter-spacing:.12em}.function-list-card,.function-empty,.function-moment-detail,.function-comment,.function-field-list{border:.5px solid var(--function-line);background:transparent}.function-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:12px;padding:14px}.function-list-card small,.function-moment-detail small,.function-field-list span{display:block;margin-bottom:6px;color:var(--text-sub);font-family:var(--font-function-title);font-size:10px;font-weight:700;letter-spacing:.08em}.function-list-card strong,.function-empty strong{display:block;font-size:15px;font-weight:500;line-height:1.35;font-family:var(--font-function-title)}.function-list-card p,.function-empty p,.function-moment-detail p,.function-comment p,.function-quiet-copy{margin:8px 0 0;color:var(--function-ink, var(--text-main));font-size:14px;line-height:1.7}.function-empty{padding:16px;color:var(--text-sub)}.function-badge-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.function-status-badge{display:inline-flex;align-items:center;min-height:22px;border:.5px solid var(--function-soft-line);color:var(--text-sub);padding:2px 6px;white-space:nowrap;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px}.status-done,.status-expired{color:var(--text-sub)}.function-subtasks{margin:10px 0 0;padding-left:18px;color:var(--text-sub);font-size:13px;line-height:1.7}.function-diary-panel{min-height:100%;align-content:start}.diary-page{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(#faf8f4f2,#faf8f4f2),radial-gradient(circle at 100% 0,rgba(39,39,36,.08) 0 1px,transparent 1px) 0 0 / 16px 16px,#f8f6f1;color:#2d2c29;font-family:var(--font-function-body)}:root[data-theme=dark] .diary-page{background:linear-gradient(#212327f5,#212327f5),radial-gradient(circle at 100% 0,rgba(220,217,209,.1) 0 1px,transparent 1px) 0 0 / 16px 16px,var(--shell-bg);color:var(--text-main)}.diary-overview-header,.diary-archive-topbar{flex-shrink:0;background:#faf8f4eb}:root[data-theme=dark] .diary-overview-header,:root[data-theme=dark] .diary-archive-topbar{background:#212327eb}.diary-overview-header{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;padding:14px 22px 12px;border-bottom:.5px solid rgba(45,44,41,.14)}:root[data-theme=dark] .diary-overview-header{border-bottom-color:#dcd9d124}.diary-back-button,.diary-archive-topbar button{border:0;background:transparent;color:inherit;cursor:pointer}.diary-back-button{width:34px;height:34px;display:grid;place-items:center;padding:0}.diary-back-button svg,.diary-archive-topbar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.diary-overview-title{min-width:0;display:grid;justify-items:center;gap:5px}.diary-overview-title h1{min-width:0;margin:0;color:inherit;font-family:var(--font-en),"Times New Roman",serif;font-size:26px;font-weight:500;line-height:1.1;letter-spacing:0}.diary-overview-title small{color:#2d2c2985;font-size:10px;font-weight:800;line-height:1}:root[data-theme=dark] .diary-overview-title small{color:var(--text-sub)}.diary-overview-scroll,.diary-detail-scroll{min-height:0;flex:1;overflow-y:auto}.diary-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 16px;padding:30px 30px 42px}.diary-entry-column{min-width:0;display:grid;align-content:start;gap:28px}.diary-entry-card{min-width:0;display:grid;gap:9px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}.diary-entry-card:focus-visible,.diary-back-button:focus-visible,.diary-archive-topbar button:focus-visible{outline:1px solid currentColor;outline-offset:3px}.diary-entry-copy{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.diary-entry-copy time{display:grid;justify-items:center;border-right:.5px solid rgba(45,44,41,.18);padding-right:9px;color:#2d2c29;font-family:var(--font-en),"Times New Roman",serif;line-height:1}:root[data-theme=dark] .diary-entry-copy time{border-right-color:#dcd9d12e;color:var(--text-main)}.diary-entry-copy time strong{font-size:17px;font-weight:600}.diary-entry-copy time span{margin-top:2px;color:#2d2c29a8;font-size:10px;text-transform:uppercase}.diary-entry-copy time em{margin-top:5px;color:#2d2c2975;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;font-style:normal;font-weight:800;line-height:1}:root[data-theme=dark] .diary-entry-copy time span{color:var(--text-sub)}:root[data-theme=dark] .diary-entry-copy time em{color:var(--text-sub)}.diary-entry-copy h2{margin:0;color:inherit;font-family:var(--font-en),"Times New Roman",serif;font-size:17px;font-weight:500;line-height:1.13;letter-spacing:0}.diary-entry-copy p{display:-webkit-box;margin:5px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#2d2c29b8;font-size:11px;line-height:1.45}:root[data-theme=dark] .diary-entry-copy p{color:var(--text-sub)}.diary-entry-text-only{grid-template-columns:1fr;gap:14px;border:.5px solid rgba(45,44,41,.13);background:#fffdf83d;padding:16px 14px 18px}:root[data-theme=dark] .diary-entry-text-only{border-color:#dcd9d124;background:#ffffff06}.diary-text-date{min-width:0;display:grid;align-content:start;gap:10px;border-right:0;border-bottom:.5px solid rgba(45,44,41,.1);padding:0 0 12px;color:#2d2c2994;text-align:left}:root[data-theme=dark] .diary-text-date{border-bottom-color:#dcd9d124;color:var(--text-sub)}.diary-text-date>span{font-size:9px;font-weight:800;line-height:1.2}.diary-text-date time{display:flex;align-items:baseline;gap:4px;color:#2d2c29;font-family:var(--font-en),"Times New Roman",serif;line-height:1}:root[data-theme=dark] .diary-text-date time{color:var(--text-main)}.diary-text-date strong{font-size:22px;font-weight:500}.diary-text-date small{color:#2d2c2994;font-size:10px;font-weight:500}.diary-text-date em{color:#2d2c2975;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-style:normal;font-weight:800}:root[data-theme=dark] .diary-text-date small,:root[data-theme=dark] .diary-text-date em{color:var(--text-sub)}.diary-text-copy{min-width:0;display:grid;gap:12px}.diary-text-copy h2{margin:0;color:inherit;font-family:var(--font-en),"Times New Roman",serif;font-size:24px;font-weight:500;line-height:1.08;letter-spacing:0}.diary-text-copy p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#2d2c29b8;font-size:13px;line-height:1.6}.diary-text-copy div{display:flex;flex-wrap:wrap;gap:7px;align-items:center;border-top:.5px solid rgba(45,44,41,.1);padding-top:10px}.diary-text-copy small,.diary-text-copy time{color:#2d2c2980;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:800;line-height:1}.diary-text-copy small{background:#2d2c2912;padding:4px 7px}:root[data-theme=dark] .diary-text-copy p,:root[data-theme=dark] .diary-text-copy small,:root[data-theme=dark] .diary-text-copy time{color:var(--text-sub)}:root[data-theme=dark] .diary-text-copy div{border-top-color:#dcd9d124}:root[data-theme=dark] .diary-text-copy small{background:#dcd9d114}.diary-photo{position:relative;width:100%;aspect-ratio:.92 / 1;margin:0;overflow:hidden;border:.5px solid rgba(45,44,41,.12);background:#d6d0c6;filter:grayscale(1) saturate(.34) contrast(1.02)}.diary-entry-notebook .diary-photo{aspect-ratio:.86 / 1}.diary-entry-texture .diary-photo{aspect-ratio:.78 / 1}.diary-entry-rain .diary-photo{aspect-ratio:1 / .88}.diary-photo figcaption{position:absolute;right:8px;bottom:5px;z-index:3;color:#f8f6f0d6;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:0}.diary-photo-layer{position:absolute;display:block;pointer-events:none}.diary-photo-notebook{background:linear-gradient(118deg,#f5f2e800 0,#f5f2e800 34%,#f5f2e8c7 34%,#f5f2e8c7 45%,#f5f2e800 45%),linear-gradient(148deg,#111815 0,#111815 38%,#909188 39%,#909188 56%,#d9d6ca 57%,#d9d6ca)}.diary-photo-notebook .diary-photo-layer-a{left:25%;top:34%;width:46%;height:31%;background:repeating-linear-gradient(0deg,rgba(54,55,51,.12) 0 1px,transparent 1px 4px),linear-gradient(90deg,#e5e1d2 0,#e5e1d2 48%,#d7d3c5 49%,#d7d3c5 52%,#eeeadd 53%,#eeeadd);box-shadow:0 14px 20px #14151438;transform:rotate(7deg) skewY(-3deg)}.diary-photo-notebook .diary-photo-layer-b{right:18%;top:47%;width:3px;height:42%;background:#282925;transform:rotate(76deg)}.diary-photo-texture{background:radial-gradient(ellipse at 72% 32%,rgba(250,246,232,.92) 0 12%,transparent 28%),repeating-linear-gradient(104deg,rgba(255,255,255,.2) 0 2px,transparent 2px 7px),linear-gradient(128deg,#6d665a 0,#6d665a 26%,#c7bba5 44%,#f1eadc 70%,#9d9586)}.diary-photo-texture .diary-photo-layer-a,.diary-photo-texture .diary-photo-layer-b{display:none}.diary-photo-window{background:linear-gradient(90deg,#202420 0,#202420 8%,#a6a299 8%,#a6a299 10%,#42443f 10%,#42443f 15%,#d4d0c5 15%,#d4d0c5 53%,#757267 53%,#757267 64%,#332f2a 64%,#332f2a)}.diary-photo-window .diary-photo-layer-a{left:0;bottom:0;width:100%;height:38%;background:linear-gradient(176deg,rgba(255,255,255,.32) 0 2px,transparent 2px),linear-gradient(165deg,#9c9585 0,#9c9585 49%,#5e5b51 50%,#5e5b51)}.diary-photo-window .diary-photo-layer-b{right:24%;bottom:22%;width:23px;height:28px;border-radius:0 0 10px 10px;background:#ded5c3;box-shadow:18px 6px 0 -9px #ded5c3,-72px 19px 0 -12px #827a68,-88px 17px 0 -14px #827a68}.diary-photo-rain{background:radial-gradient(circle at 17% 18%,rgba(237,229,204,.7) 0 4%,transparent 16%),repeating-linear-gradient(90deg,rgba(245,245,240,.12) 0 3px,transparent 3px 18px),linear-gradient(90deg,#242723 0,#242723 8%,#8e8b81 8%,#8e8b81 11%,#b9b5a9 11%,#b9b5a9 58%,#3e423d 58%,#3e423d)}.diary-photo-rain .diary-photo-layer-a{left:7%;bottom:0;width:100%;height:34%;background:linear-gradient(172deg,#8b8270 0,#8b8270 54%,#3d3932 55%,#3d3932)}.diary-photo-rain .diary-photo-layer-b{right:16%;bottom:22%;width:28px;height:25px;border-radius:0 0 13px 13px;background:#e3d8c3;box-shadow:20px 5px 0 -10px #e3d8c3}.diary-archive-topbar{height:68px;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;padding:0 12px}.diary-archive-topbar button{width:42px;height:42px;display:grid;place-items:center;justify-self:center;padding:0}.diary-archive-topbar>span{width:42px;height:42px;justify-self:center}.diary-archive-topbar strong{justify-self:center;font-family:var(--font-en),"Times New Roman",serif;font-size:23px;font-weight:600;line-height:1;letter-spacing:0}.diary-detail-scroll{padding:0 20px 30px}.diary-detail-article{max-width:320px;margin:0 auto;padding:18px 0 36px}.diary-issue{margin:8px 0 22px;color:#2d2c2985;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:0;text-align:center}.diary-detail-date{display:flex;align-items:center;justify-content:center;margin-bottom:28px;color:#272623;font-family:var(--font-en),"Times New Roman",serif;line-height:.92}:root[data-theme=dark] .diary-issue{color:var(--text-sub)}:root[data-theme=dark] .diary-detail-date{color:var(--text-main)}.diary-detail-date strong{font-size:56px;font-weight:500}.diary-detail-date div{display:grid;margin-left:5px}.diary-detail-date span{font-size:23px;font-weight:500}.diary-detail-date small{color:#2d2c2994;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;line-height:1.1}:root[data-theme=dark] .diary-detail-date small{color:var(--text-sub)}.diary-detail-article>.diary-photo{aspect-ratio:1.32 / 1;margin-bottom:26px;border:8px solid rgba(255,253,248,.72);box-shadow:0 0 0 .5px #2d2c291f}.diary-detail-article>.diary-photo figcaption{right:4px;bottom:0;color:#2d2c299e}.diary-detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-top:.5px solid rgba(45,44,41,.12);border-bottom:.5px solid rgba(45,44,41,.12);margin:32px 0 26px;padding:11px 0;color:#2d2c299e;font-family:ui-sans-serif,system-ui,sans-serif}.diary-detail-article.is-text-only .diary-detail-meta{margin-top:4px}:root[data-theme=dark] .diary-detail-meta{border-color:#dcd9d124;color:var(--text-sub)}.diary-detail-meta span{min-width:0;display:grid;justify-items:center;gap:2px;text-align:center}.diary-detail-meta small{color:#2d2c297a;font-size:9px;font-weight:800}.diary-detail-meta strong{color:#2d2c29c2;font-size:10px;font-weight:700}:root[data-theme=dark] .diary-detail-meta small,:root[data-theme=dark] .diary-detail-meta strong{color:var(--text-sub)}.diary-detail-article h1{margin:0 0 22px;color:inherit;font-family:var(--font-en),"Times New Roman",serif;font-size:30px;font-weight:600;line-height:1.1;letter-spacing:0;text-align:center}.diary-detail-article p:not(.diary-issue){margin:0 0 22px;color:#2d2c29d1;font-size:14px;line-height:1.66;text-align:justify}:root[data-theme=dark] .diary-detail-article p:not(.diary-issue){color:var(--text-main)}.diary-detail-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px;border-top:.5px solid rgba(45,44,41,.12);padding-top:14px}.diary-detail-nav button{min-height:36px;border:.5px solid rgba(45,44,41,.18);background:#fffdf84d;color:#2d2c29b8;cursor:pointer;font-size:12px;font-weight:700}.diary-detail-nav button:disabled{cursor:default;opacity:.35}:root[data-theme=dark] .diary-detail-nav{border-top-color:#dcd9d124}:root[data-theme=dark] .diary-detail-nav button{border-color:#dcd9d12e;background:#ffffff0a;color:var(--text-sub)}.function-field-list{display:grid;gap:0}.function-field-list div{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:.5px solid var(--function-line)}.function-field-list div:last-child{border-bottom:0}.function-field-list strong{font-size:14px;font-weight:500;text-align:right}.function-moment-detail{padding:18px}.function-moment-actions{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--text-sub);font-family:var(--font-function-body);font-size:12px}.function-moment-actions button{border:.5px solid var(--function-line);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:6px 10px;font-size:12px}.function-moment-actions button.is-active{background:var(--function-highlight)}.function-comment{margin-bottom:10px;padding:12px}.function-comment strong{font-size:13px;font-weight:500;font-family:var(--font-function-title)}.review-page{--review-bg: #f6f1e8;--review-paper: #fffdf7;--review-paper-dim: #f8f0e3;--review-ink: #282a29;--review-muted: #777069;--review-line: rgba(92, 73, 55, .18);--review-stamp: #9c594e;--review-olive: #74715f;--review-shadow: rgba(92, 73, 55, .11);--review-book-en-font: "Cormorant Garamond", "Times New Roman", serif;--review-book-cn-font: "Noto Serif SC", "Songti SC", "SimSun", serif;--review-screen-font: "Cormorant Garamond", "Noto Serif SC", "Songti SC", serif;--review-label-font: "Special Elite", "Courier New", ui-monospace, monospace;--review-ink-bleed: none;--review-press-shadow: none;background:radial-gradient(circle at 18% 12%,rgba(255,253,248,.72),transparent 34%),radial-gradient(circle at 86% 48%,rgba(159,121,84,.08),transparent 38%),repeating-linear-gradient(0deg,rgba(86,62,40,.026) 0 1px,transparent 1px 13px),repeating-linear-gradient(90deg,rgba(86,62,40,.018) 0 1px,transparent 1px 17px),var(--review-bg);color:var(--review-ink);font-family:var(--font-function-title)}.review-page:before{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:radial-gradient(circle at 14% 22%,rgba(36,31,25,.045) 0 1px,transparent 1.4px),radial-gradient(circle at 78% 64%,rgba(36,31,25,.035) 0 1px,transparent 1.5px),radial-gradient(circle at 42% 84%,rgba(255,253,248,.42) 0 1px,transparent 1.4px);background-size:17px 19px,23px 21px,29px 31px;opacity:.72;mix-blend-mode:multiply}:root[data-theme=dark] .review-page{--review-bg: var(--shell-bg);--review-paper: rgba(42, 44, 49, .96);--review-paper-dim: rgba(85, 78, 68, .42);--review-ink: #d2cec6;--review-muted: var(--text-sub);--review-line: rgba(220, 217, 209, .18);--review-stamp: #b98578;--review-olive: #a2a985;--review-shadow: rgba(0, 0, 0, .32);--review-press-shadow: 0 .35px 0 rgba(255, 253, 248, .1), .28px .28px 0 rgba(0, 0, 0, .22), 0 0 .5px rgba(220, 217, 209, .2)}.review-page button,.review-page input,.review-page textarea{font:inherit}.review-page button{-webkit-tap-highlight-color:transparent}.review-page button:focus{outline:none}.review-page button:focus-visible,.review-page input:focus-visible,.review-page textarea:focus-visible{outline:1px solid var(--review-ink);outline-offset:3px}.review-page-topbar{position:relative;z-index:2;flex-shrink:0;min-height:78px;display:grid;grid-template-columns:54px minmax(0,1fr) 64px;align-items:center;border-bottom:.5px solid var(--review-line);background:#f8f1e7eb;box-shadow:0 2px 6px #563e2814}:root[data-theme=dark] .review-page-topbar{background:#1e2025f0}.review-page-topbar button{min-height:54px;border:0;background:transparent;color:var(--review-ink);cursor:pointer;font-size:12px}.review-page-topbar button:first-child{display:grid;place-items:center}.review-page-topbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.review-page-topbar div{min-width:0;display:grid;justify-items:center;text-align:center}.review-page-topbar h1{margin:0;color:var(--review-ink);font-size:30px;font-weight:700;line-height:1.08;letter-spacing:0}.review-page-topbar p{margin:6px 0 0;color:var(--review-muted);font-size:12px;line-height:1.25}.review-slim-detail-topbar{min-height:46px;grid-template-columns:54px minmax(0,1fr) 96px;border-bottom:0;background:transparent;box-shadow:none}:root[data-theme=dark] .review-slim-detail-topbar{background:transparent}.review-slim-detail-topbar button{min-height:46px}.review-slim-detail-topbar svg{width:23px;height:23px;stroke-width:1.9}.review-delete-record-button{display:grid;place-items:center;color:#8b4b3fd1}.review-page-topbar .review-detail-actions{min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:2px;padding-right:8px;text-align:right}.review-page-topbar .review-detail-actions button{width:40px;min-height:46px;display:grid;place-items:center}.review-delete-record-button svg{width:21px;height:21px}.review-page-body{position:relative;z-index:1;min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;padding:18px 18px 112px}.review-tabs,.review-sort-row,.review-type-switch{display:flex;align-items:center;gap:18px}.review-tabs{min-height:46px;justify-content:space-between;border-bottom:.5px solid var(--review-line)}.review-tabs-main{display:flex;align-items:center;gap:18px}.review-tabs-main button,.review-sort-row button{position:relative;border:0;background:transparent;color:var(--review-muted);cursor:pointer;padding:0 0 8px;font-size:16px;line-height:1}.review-tabs-main button.is-active,.review-sort-row button.is-active{color:var(--review-ink);font-weight:700}.review-tabs-main button.is-active:after{position:absolute;right:0;bottom:0;left:0;height:2px;content:"";background:var(--review-ink)}.review-tab-ticket-button{position:relative;flex:0 0 auto;min-height:42px;margin-left:auto;margin-bottom:8px;border:.5px solid rgba(86,62,40,.46);background:linear-gradient(90deg,transparent 0 8px,rgba(255,248,232,.95) 8px),linear-gradient(180deg,#fff9eb,#e7d7bd);color:var(--review-ink);cursor:pointer;padding:0 17px 0 22px;font-family:var(--review-book-cn-font);font-size:13px;filter:var(--review-ink-bleed);text-shadow:var(--review-press-shadow);box-shadow:3px 4px #563e2838,inset 0 0 0 1px #fffdf894;transform:rotate(-.8deg)}.review-tab-ticket-button:before{position:absolute;top:0;bottom:0;left:-1px;width:12px;content:"";background:radial-gradient(circle at 0 50%,var(--review-bg) 0 5px,transparent 5.4px) left top / 12px 18px repeat-y}.review-sort-row{gap:8px;margin:14px 0 22px;overflow-x:auto}.review-sort-row button{flex:0 0 auto;min-height:30px;border:.5px solid var(--review-line);padding:6px 9px;font-family:ui-monospace,Courier New,monospace;font-size:10px;letter-spacing:.08em}.review-sort-row button.is-active{background:#62664f24}.review-archive-list{position:relative;display:block;isolation:isolate;min-height:520px;padding:24px 0 92px}.review-archive-list:before,.review-archive-list:after{position:absolute;z-index:0;content:"";pointer-events:none;opacity:.68}.review-archive-list:before{top:6px;right:20px;width:116px;height:34px;background:#d3bfa094;box-shadow:0 2px 8px #563e2814;transform:rotate(1.8deg);mix-blend-mode:multiply}.review-archive-list:after{right:8px;bottom:56px;width:148px;height:108px;border:.5px solid rgba(86,62,40,.13);background:#f5e8d36b;transform:rotate(7deg)}.review-archive-card{position:relative;z-index:1;width:100%;display:block;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;margin:0;text-align:left;transform-origin:48% 14%;transition:transform .16s ease,filter .16s ease}.review-archive-card:active{filter:brightness(.98)}.review-archive-card:nth-child(6n+1){z-index:5;width:min(91%,342px);margin-left:6px;transform:rotate(-1.8deg) translate(0)}.review-archive-card:nth-child(6n+2){z-index:4;width:min(94%,352px);margin-top:-12px;margin-left:auto;margin-right:4px;transform:rotate(1.4deg) translateY(-2px)}.review-archive-card:nth-child(6n+3){z-index:6;width:min(82%,310px);margin-top:-4px;margin-left:34px;transform:rotate(-2.4deg) translateY(-5px)}.review-archive-card:nth-child(6n+4){z-index:3;width:min(98%,358px);margin-top:-18px;margin-left:0;transform:rotate(.9deg) translate(3px,-3px)}.review-archive-card:nth-child(6n+5){z-index:5;width:min(86%,320px);margin-top:-8px;margin-left:auto;margin-right:18px;transform:rotate(2.2deg) translateY(-4px)}.review-archive-card:nth-child(6n){z-index:2;width:min(90%,336px);margin-top:-14px;margin-left:12px;transform:rotate(-.8deg) translateY(-2px)}.review-card{position:relative;overflow:visible;color:var(--review-ink);box-shadow:0 1px #fffdf8e6 inset,0 8px 18px var(--review-shadow),1px 2px #563e280f}.review-card:before{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(86,62,40,.06) 0 1px,transparent 1.4px),radial-gradient(circle at 82% 34%,rgba(86,62,40,.045) 0 1px,transparent 1.3px),repeating-linear-gradient(0deg,transparent 0 13px,rgba(86,62,40,.026) 13px 14px);background-size:19px 17px,23px 29px,100% 14px;opacity:.7;mix-blend-mode:multiply}.review-card:after{position:absolute;z-index:-1;top:7px;right:-5px;bottom:-7px;left:6px;content:"";background:#b192701f;filter:blur(1px);transform:rotate(.45deg)}.review-card>*{position:relative;z-index:1}.review-library-card{border:.5px solid var(--review-line);background:linear-gradient(90deg,rgba(86,62,40,.045) 0 1px,transparent 1px 100%),linear-gradient(180deg,#ffffffc2,#fff8e8c7),var(--review-paper);font-family:var(--review-book-en-font);padding:26px 18px 18px}.review-paper-tape{position:absolute;top:-10px;left:50%;width:64px;height:22px;background:#cfbea4b8;transform:translate(-50%) rotate(2deg);mix-blend-mode:multiply}.review-library-card .review-paper-tape:before,.review-library-card .review-paper-tape:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,transparent,rgba(255,253,248,.34),transparent),repeating-linear-gradient(90deg,rgba(86,62,40,.08) 0 1px,transparent 1px 8px)}.review-card-head{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;min-height:126px;border-bottom:.5px solid var(--review-line);padding-bottom:16px}.review-card-head h2,.review-ticket-copy h2{margin:0;color:var(--review-ink);font-size:clamp(24px,7vw,31px);font-weight:700;line-height:1.12;letter-spacing:0}.review-library-card h2,.review-library-card p,.review-library-card dd,.review-library-card .review-status-cn{color:var(--review-ink);font-family:var(--review-book-cn-font);filter:var(--review-ink-bleed);text-shadow:var(--review-press-shadow)}.review-library-card dt,.review-library-card .review-stars-text,.review-library-card .review-status-en{color:var(--review-ink);font-family:var(--review-book-en-font);filter:var(--review-ink-bleed);text-shadow:var(--review-press-shadow)}.review-card-head p,.review-ticket-copy p{margin:8px 0 18px;color:var(--review-muted);font-size:17px;line-height:1.35}.review-stars-text{color:var(--review-ink);font-family:ui-serif,Times New Roman,serif;font-size:20px;font-weight:400;letter-spacing:.08em}.review-visual-thumb{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.28) 0 28%,transparent 28%),linear-gradient(180deg,#d8cbb6,#947761);box-shadow:inset 0 0 0 1px #563e2814}.review-visual-thumb:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(135deg,rgba(255,253,248,.36) 0 32%,transparent 32%),repeating-linear-gradient(90deg,rgba(255,253,248,.08) 0 1px,transparent 1px 7px);mix-blend-mode:screen}.review-visual-thumb img{width:100%;height:100%;display:block;object-fit:cover;filter:sepia(.18) saturate(.75)}.review-visual-book{width:82px;height:118px}.review-visual-screen{width:76px;height:108px;border:4px solid rgba(255,253,248,.72);background:radial-gradient(circle at 72% 24%,rgba(145,66,50,.74),transparent 26%),linear-gradient(180deg,#2d2a28,#a68069)}.review-visual-thumb span{position:absolute;right:8px;bottom:8px;color:#fffdf8d1;font-family:ui-monospace,Courier New,monospace;font-size:10px;letter-spacing:.12em}.review-status-stamp{position:absolute;top:0;right:0;display:inline-flex;align-items:baseline;gap:4px;border:2px solid var(--review-stamp);color:var(--review-stamp);padding:5px 7px;font-size:13px;font-weight:700;line-height:1;opacity:.72;transform:rotate(12deg);text-shadow:.4px .4px 0 rgba(139,75,63,.12)}.review-card-grid{display:grid;gap:0;margin:14px 0 0}.review-card-grid div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:.5px solid rgba(86,62,40,.16);padding:10px 0}.review-card-grid div:last-child{border-bottom:0}.review-card-grid dt,.review-ticket-copy dt{color:var(--review-muted);font-family:ui-monospace,Courier New,monospace;font-size:11px;letter-spacing:.12em}.review-card-grid dd,.review-ticket-copy dd{margin:0;color:var(--review-ink);font-size:13px;text-align:right}.review-library-card .review-card-grid dt{font-family:var(--review-book-en-font)}.review-library-card .review-card-grid dd{font-family:var(--review-book-cn-font)}.review-ticket-card{min-height:184px;display:grid;grid-template-columns:38px minmax(0,1fr);border:.5px solid rgba(116,86,58,.28);background:linear-gradient(180deg,#fff8ee9e,#deccb652),var(--review-paper-dim);font-family:var(--review-screen-font)}.review-ticket-card h2,.review-ticket-card p,.review-ticket-card small,.review-ticket-card dt,.review-ticket-card dd,.review-ticket-card .review-ticket-rip span{color:var(--review-ink);font-family:var(--review-screen-font);filter:var(--review-ink-bleed);text-shadow:var(--review-press-shadow)}.review-ticket-rip{position:relative;display:grid;place-items:center;overflow:visible;background:radial-gradient(circle at 0 10px,transparent 0 6px,var(--review-stamp) 6.5px) left top / 100% 20px repeat-y,var(--review-stamp)}.review-ticket-rip:before{position:absolute;z-index:2;top:8px;bottom:8px;left:-6px;width:12px;content:"";background:radial-gradient(circle,var(--review-bg) 0 4.8px,transparent 5.2px) center top / 12px 18px repeat-y;filter:drop-shadow(.5px 0 rgba(86,62,40,.18))}.review-ticket-rip span{display:block;font-family:ui-monospace,Courier New,monospace;font-size:11px;letter-spacing:.14em;transform:rotate(-90deg);white-space:nowrap;color:#f4eee4}.review-ticket-card .review-ticket-rip span,.review-expanded-screen .review-ticket-rip span{color:#f4eee4}.review-ticket-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:14px;overflow:hidden;padding:18px 14px 18px 18px}.review-ticket-main:after{position:absolute;top:12px;right:24px;width:70px;height:20px;content:"";background:#cfbea48a;mix-blend-mode:multiply}.review-ticket-copy{position:relative;z-index:1}.review-ticket-copy small{display:block;margin-bottom:8px;font-family:var(--review-screen-font);font-size:11px;letter-spacing:.12em}.review-ticket-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 0}.review-ticket-copy dd{text-align:left}.review-save-button{border:.5px solid rgba(86,62,40,.58);background:radial-gradient(circle at 0 50%,transparent 0 6px,rgba(255,248,232,.96) 6.5px),linear-gradient(180deg,#fff4dc,#e8d4b8);color:var(--review-ink);cursor:pointer;font-family:ui-monospace,Courier New,monospace;font-size:13px;font-weight:700;letter-spacing:.08em;box-shadow:3px 4px #563e2852,inset 0 0 0 1px #fffdf894}.review-create-body{display:grid;align-content:start;gap:18px}.review-type-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:.5px solid var(--review-line)}.review-type-switch button{min-height:46px;border:0;border-right:.5px solid var(--review-line);background:transparent;color:var(--review-ink);cursor:pointer;font-size:18px}.review-type-switch button:last-child{border-right:0}.review-type-switch button.is-active{background:#62664f29}.review-search-box,.review-form-field{display:grid;gap:8px}.review-search-box span,.review-form-field span{color:var(--review-muted);font-family:ui-monospace,Courier New,monospace;font-size:11px;letter-spacing:.12em}.review-search-box input,.review-form-field input,.review-form-field textarea{width:100%;box-sizing:border-box;border:0;border-bottom:.5px solid var(--review-line);background:transparent;color:var(--review-ink);padding:10px 0;outline:none}.review-form-field textarea{min-height:92px;resize:vertical;line-height:1.7}.review-search-results,.review-edit-form{display:grid;gap:14px}.review-search-result{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:start;border:.5px solid var(--review-line);background:#fffdf87a;color:var(--review-ink);cursor:pointer;padding:12px;text-align:left}.review-search-result .review-visual-thumb{width:58px;height:78px}.review-search-result strong{display:block;margin-bottom:5px;font-size:18px;line-height:1.25}.review-search-result span{display:block;color:var(--review-muted);font-size:12px;line-height:1.45}.review-search-result p{margin:8px 0 0;color:var(--review-muted);font-size:13px;line-height:1.55}.review-selected-work{display:grid;gap:12px}.review-selected-work dl{display:grid;margin:0;border:.5px solid var(--review-line)}.review-selected-work div{display:flex;justify-content:space-between;gap:16px;border-bottom:.5px solid var(--review-line);padding:10px 12px}.review-selected-work div:last-child{border-bottom:0}.review-selected-work dt,.review-selected-work dd{margin:0;font-size:13px}.review-selected-work dt{color:var(--review-muted)}.review-selected-work dd{color:var(--review-ink);text-align:right}.review-rating-stars{display:flex;gap:4px}.review-rating-stars button{width:34px;height:34px;border:0;background:transparent;color:#563e2861;cursor:pointer;padding:0;font-family:ui-serif,Times New Roman,serif;font-size:27px;line-height:1}.review-rating-stars button.is-active{color:var(--review-ink)}.review-save-button{min-height:48px;margin-top:4px}.review-save-button:disabled{cursor:default;opacity:.44}.review-detail-body{display:grid;align-content:start;gap:20px;padding-top:34px}.review-slim-detail-body{padding-top:6px}.review-screen-detail-body{display:flex;align-items:flex-start;justify-content:center;overflow-x:hidden;overflow-y:auto;padding:22px 18px 56px}.review-expanded-card{position:relative;overflow:visible;border:.5px solid rgba(86,62,40,.16);background:linear-gradient(180deg,#ffffffdb,#faf7eff0),var(--review-paper);color:var(--review-ink);box-shadow:0 1px #fffdf8e6 inset,0 10px 20px #563e2814}.review-expanded-book{background:linear-gradient(180deg,#fffdf8d1,#faf7efe6),url(/assets/review-book-detail-paper-Ci-ztX93.jpg) center top / cover no-repeat,var(--review-paper)}.review-expanded-card:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;opacity:.38;background:radial-gradient(circle at 16% 18%,rgba(86,62,40,.035) 0 1px,transparent 1.3px),radial-gradient(circle at 82% 44%,rgba(86,62,40,.028) 0 1px,transparent 1.4px),repeating-linear-gradient(0deg,transparent 0 19px,rgba(86,62,40,.018) 19px 20px);background-size:25px 31px,36px 38px,100% 20px;opacity:.7;mix-blend-mode:multiply}.review-expanded-cover{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}.review-expanded-screen .review-expanded-cover{grid-template-columns:38px minmax(0,1fr);background:linear-gradient(180deg,#fff8ee9e,#deccb652),var(--review-paper-dim)}.review-expanded-rip{min-height:100%}.review-expanded-main{position:relative;padding:28px 20px 18px}.review-expanded-heading{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;align-items:start;border-bottom:.5px solid rgba(86,62,40,.16);padding-bottom:18px}.review-expanded-heading small,.review-expanded-meta dt{display:block;color:var(--review-muted);font-family:var(--review-book-en-font);font-size:11px;letter-spacing:.12em}.review-expanded-screen .review-expanded-heading small,.review-expanded-screen .review-expanded-meta dt{font-family:var(--review-screen-font)}.review-expanded-heading h2{margin:8px 0;color:var(--review-ink);font-size:clamp(26px,7vw,34px);font-weight:700;line-height:1.12}.review-expanded-heading p{margin:0 0 14px;color:var(--review-muted);font-size:16px;line-height:1.5}.review-expanded-heading strong{color:var(--review-ink);font-size:20px;letter-spacing:.08em}.review-expanded-meta{display:grid;gap:0;margin:14px 0 0}.review-expanded-meta div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:.5px solid rgba(86,62,40,.16);padding:11px 0}.review-expanded-meta div:last-child{border-bottom:0}.review-expanded-meta dd{margin:0;color:var(--review-ink);font-size:13px;text-align:right}.review-expanded-note{position:relative;border-top:.5px dashed rgba(86,62,40,.24);padding:19px 20px 20px}.review-expanded-note h3{margin:0 0 8px;color:var(--review-muted);font-size:12px;font-weight:500;letter-spacing:.08em}.review-note-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}.review-note-heading h3{margin:0}.review-note-heading strong{flex-shrink:0;color:var(--review-ink);font-size:12px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.review-expanded-note p{margin:0;color:var(--review-ink);font-size:16px;line-height:1.8}.review-expanded-book h2,.review-expanded-book .review-expanded-heading p,.review-expanded-book .review-expanded-meta dd,.review-expanded-book .review-expanded-note h3,.review-expanded-book .review-expanded-note p,.review-expanded-book .review-status-cn{font-family:var(--review-book-cn-font)}.review-expanded-book .review-expanded-heading small,.review-expanded-book .review-expanded-heading strong,.review-expanded-book .review-expanded-meta dt,.review-expanded-book .review-status-en{font-family:var(--review-book-en-font)}.review-expanded-screen,.review-expanded-screen h2,.review-expanded-screen p,.review-expanded-screen small,.review-expanded-screen dt,.review-expanded-screen dd,.review-expanded-screen h3,.review-expanded-screen strong{font-family:var(--review-screen-font)}.review-expanded-card h2,.review-expanded-card p,.review-expanded-card small,.review-expanded-card dt,.review-expanded-card dd,.review-expanded-card h3,.review-expanded-card strong,.review-expanded-card .review-status-stamp{filter:var(--review-ink-bleed);text-shadow:var(--review-press-shadow)}.screen-ticket-detail{--screen-ticket-paper: #2f8190;--screen-ticket-paper-dark: #2a7482;--screen-ticket-cutout: var(--review-bg);--screen-ticket-ink: rgba(255, 253, 244, .92);--screen-ticket-ink-muted: rgba(255, 253, 244, .66);--screen-ticket-line: rgba(255, 253, 244, .56);--screen-ticket-type-font: "Zpix", "zpix", "Zpix Pixel Font", "LXGW WenKai Screen", "Courier New", monospace;position:relative;width:min(68vw,286px);min-width:236px;max-width:calc(100% - 52px);min-height:704px;margin:0 auto;overflow:visible;overscroll-behavior:contain;border:0;border-radius:0;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.045) 0 1px,transparent 1.35px),radial-gradient(circle at 72% 46%,rgba(17,63,72,.08) 0 1px,transparent 1.4px),repeating-linear-gradient(0deg,rgba(255,253,244,.018) 0 1px,transparent 1px 17px),linear-gradient(180deg,#338694 0%,var(--screen-ticket-paper) 42%,var(--screen-ticket-paper-dark) 100%);color:var(--screen-ticket-ink);font-family:var(--review-screen-font);box-shadow:none;transform:none}.screen-ticket-detail:before{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:radial-gradient(circle at 12% 24%,rgba(255,253,244,.035) 0 .8px,transparent 1.2px),radial-gradient(circle at 78% 38%,rgba(255,253,244,.03) 0 .9px,transparent 1.3px),radial-gradient(circle at 45% 78%,rgba(21,66,74,.07) 0 1px,transparent 1.5px);background-size:17px 19px,23px 29px,31px 37px;mix-blend-mode:soft-light;opacity:.9}.screen-ticket-detail:after{position:absolute;z-index:5;right:0;bottom:-1px;left:0;height:32px;content:"";pointer-events:none;background:radial-gradient(circle at 0 100%,var(--screen-ticket-cutout) 0 15px,transparent 15.5px),radial-gradient(circle at 20% 100%,var(--screen-ticket-cutout) 0 13px,transparent 13.5px),radial-gradient(circle at 40% 100%,var(--screen-ticket-cutout) 0 13px,transparent 13.5px),radial-gradient(circle at 60% 100%,var(--screen-ticket-cutout) 0 13px,transparent 13.5px),radial-gradient(circle at 80% 100%,var(--screen-ticket-cutout) 0 13px,transparent 13.5px),radial-gradient(circle at 100% 100%,var(--screen-ticket-cutout) 0 15px,transparent 15.5px)}.screen-ticket-detail>*{position:relative;z-index:2}.screen-ticket-topline{min-height:34px;display:grid;place-items:center;color:#fffdf4c7;font-family:Times New Roman,Songti SC,serif;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1;text-transform:uppercase}.screen-ticket-hero{position:relative;height:120px;margin:10px 24px 0;overflow:hidden;border:0;background:radial-gradient(circle at 52% 36%,rgba(255,253,244,.035),transparent 34%),linear-gradient(180deg,#fffdf40a,#0f414b0a)}.screen-ticket-hero:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(255,253,244,.035),transparent 28%,rgba(255,253,244,.026) 72%,transparent),repeating-linear-gradient(90deg,rgba(255,253,244,.025) 0 1px,transparent 1px 9px);mix-blend-mode:soft-light}.screen-ticket-hero img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72) contrast(.92);opacity:.82}.screen-ticket-hero-fallback{width:100%;height:100%;display:grid;align-content:center;justify-items:center;background:transparent;color:#fffdf48c;text-shadow:none}.screen-ticket-hero-fallback span{font-family:Songti SC,SimSun,serif;font-size:15px;letter-spacing:.24em}.screen-ticket-hero-fallback strong{margin-top:8px;font-family:var(--review-label-font);font-size:10px;font-weight:400;letter-spacing:.2em}.screen-ticket-title-block{padding:14px 24px 8px}.screen-ticket-title-block small{display:block;margin-bottom:8px;color:var(--screen-ticket-ink-muted);font-family:var(--screen-ticket-type-font);font-size:10px;letter-spacing:.1em}.screen-ticket-title-block h2{margin:0;color:var(--screen-ticket-ink);font-family:Impact,"Arial Narrow",var(--screen-ticket-type-font);font-size:clamp(42px,12.5vw,58px);font-stretch:condensed;font-weight:900;line-height:.84;text-transform:uppercase;word-break:break-word}.screen-ticket-title-block strong{display:block;margin-top:8px;color:#f6c2afeb;font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:23px;font-weight:700;line-height:1.08;letter-spacing:0}.screen-ticket-meta{display:grid;gap:4px;margin:0 24px;border-top:1px dashed rgba(255,253,244,.42);border-bottom:1px dashed rgba(255,253,244,.38);padding:8px 0}.screen-ticket-meta p{margin:0;color:var(--screen-ticket-ink-muted);font-size:12px;line-height:1.45}.screen-ticket-rating-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 24px 0}.screen-ticket-rating-row div{min-width:0;display:grid;gap:5px}.screen-ticket-rating-row span,.screen-ticket-fields dt,.screen-ticket-review-stub h3,.screen-ticket-stub-label{color:var(--screen-ticket-ink-muted);font-family:var(--screen-ticket-type-font);font-size:10px;font-weight:700;letter-spacing:.12em}.screen-ticket-rating-row strong{color:var(--screen-ticket-ink);font-family:ui-serif,Times New Roman,serif;font-size:15px;font-weight:400;line-height:1.2}.screen-ticket-rating-row div:last-child strong{font-family:var(--screen-ticket-type-font);font-size:12px}.screen-ticket-fields{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;margin:12px 24px 0;padding-bottom:3px}.screen-ticket-fields div{min-width:0}.screen-ticket-fields dt,.screen-ticket-fields dd{margin:0}.screen-ticket-fields dd{margin-top:4px;color:var(--screen-ticket-ink);font-size:12px;line-height:1.2;word-break:break-word}.screen-ticket-stub-divider{position:relative;z-index:4;height:34px;margin:4px 0 0;border:0;background:repeating-linear-gradient(90deg,rgba(255,253,244,.78) 0 2px,transparent 2px 5px) center / calc(100% - 42px) 1px no-repeat}.screen-ticket-stub-divider:before,.screen-ticket-stub-divider:after{position:absolute;top:50%;width:34px;height:34px;border-radius:999px;content:"";background:var(--screen-ticket-cutout);transform:translateY(-50%)}.screen-ticket-stub-divider:before{left:-17px}.screen-ticket-stub-divider:after{right:-17px}.screen-ticket-review-stub{position:relative;display:block;min-height:126px;background:transparent;padding:0 24px 92px}.screen-ticket-stub-label{display:inline-block;border:.5px solid rgba(255,253,244,.26);padding:4px 7px;margin-bottom:14px;transform:translate(-1px) rotate(-1deg)}.screen-ticket-review-stub article{min-width:0;display:grid;gap:5px;border-top:.5px solid rgba(255,253,244,.18);padding-top:8px;margin-top:9px}.screen-ticket-review-stub article:first-of-type{margin-top:0}.screen-ticket-review-stub h3,.screen-ticket-review-stub p,.screen-ticket-review-stub .review-note-heading{margin:0}.screen-ticket-review-stub .review-note-heading strong{font-family:var(--font-function-title);color:var(--screen-ticket-ink-muted);font-size:11px;font-weight:700}.screen-ticket-review-stub p{color:#fffdf4db;font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:14px;line-height:1.65}.screen-ticket-bottom-perf{display:none}.screen-ticket-detail h2,.screen-ticket-detail h3,.screen-ticket-detail p,.screen-ticket-detail small,.screen-ticket-detail span,.screen-ticket-detail strong,.screen-ticket-detail dt,.screen-ticket-detail dd{filter:none;text-shadow:none}@media(max-width:390px){.review-card-head{grid-template-columns:72px minmax(0,1fr)}.review-visual-book{width:72px;height:106px}.review-ticket-main{grid-template-columns:minmax(0,1fr)}.review-ticket-main>.review-visual-thumb{display:none}.screen-ticket-detail{width:min(72vw,272px);min-width:226px;max-width:calc(100% - 42px);min-height:680px;margin-bottom:32px}.screen-ticket-hero{height:112px;margin-right:20px;margin-left:20px}.screen-ticket-title-block{padding-right:20px;padding-left:20px}.screen-ticket-meta,.screen-ticket-rating-row,.screen-ticket-fields{margin-right:20px;margin-left:20px}.screen-ticket-fields{column-gap:8px}.screen-ticket-review-stub{padding-right:20px;padding-bottom:88px;padding-left:20px}}.reminder-page{--reminder-bg: #fbfaf9;--reminder-card: #ffffff;--reminder-ink: #4f5151;--reminder-strong: #3b3d3d;--reminder-muted: #a3a4a4;--reminder-soft: #f3f3f2;--reminder-line: rgba(79, 81, 81, .08);--reminder-red: #AC3231;background:var(--reminder-bg);color:var(--reminder-ink);font-family:var(--font-function-body)}:root[data-theme=dark] .reminder-page{--reminder-bg: var(--shell-bg);--reminder-card: rgba(42, 44, 49, .9);--reminder-ink: var(--text-main);--reminder-strong: var(--text-main);--reminder-muted: var(--text-sub);--reminder-soft: rgba(255, 255, 255, .05);--reminder-line: rgba(220, 217, 209, .1)}.reminder-page button{-webkit-tap-highlight-color:transparent}.reminder-page button:focus{outline:none}.reminder-page button:focus-visible{outline:1px solid rgba(172,50,49,.45);outline-offset:3px}.reminder-page-header{flex-shrink:0;min-height:58px;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:4px;padding:8px 16px 6px}.reminder-page-header strong{color:var(--reminder-strong);font-family:var(--font-function-title);font-size:21px;font-weight:600;letter-spacing:.03em}.reminder-back-button,.reminder-history-button{display:grid;place-items:center;border:0;cursor:pointer}.reminder-back-button{width:34px;height:34px;background:transparent;color:var(--reminder-ink)}.reminder-back-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.reminder-history-button{justify-self:end;width:34px;height:34px;border-radius:50%;background:#ac323157;color:#fffaf8;transition:background .16s ease,transform .16s ease}.reminder-history-button.is-active{background:var(--reminder-red)}.reminder-history-button:active{transform:scale(.96)}.reminder-history-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reminder-page-body{min-height:0;flex:1;overflow-y:auto;padding:12px 15px 42px}.reminder-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 2px 22px}.reminder-section-heading h2,.reminder-user-section h2,.reminder-history-heading h2{margin:0;color:var(--reminder-strong);font-family:var(--font-function-title);font-size:20px;font-style:italic;font-weight:700;line-height:1.2}.reminder-section-heading span{width:10px;height:10px;border-radius:50%;background:#e3e4e4}.reminder-memory-cards{display:grid;gap:22px}.reminder-memory-card{min-height:138px;display:grid;align-content:start;padding:22px 22px 19px;border-radius:8px;background:var(--reminder-card);box-shadow:0 14px 30px #373a3a12}.reminder-memory-card small{color:#d8d8d7;font-family:var(--font-function-title);font-size:11px;font-weight:700}.reminder-memory-card p{margin:7px 0 18px;color:var(--reminder-strong);font-size:17px;font-weight:700;line-height:1.72}.reminder-memory-card time{justify-self:end;align-self:end;color:var(--reminder-muted);font-size:12px;font-weight:700}.reminder-divider{height:1px;margin:38px 0 32px;background:var(--reminder-line)}.reminder-user-section h2{margin:0 0 26px;color:#777b7c;font-size:15px;font-style:normal;font-weight:700}.reminder-user-list{display:grid;gap:0}.reminder-user-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;min-height:92px;padding:2px 0 20px}.reminder-check-dot{width:18px;height:18px;margin:5px 0 0 15px;border:2px solid #a9b0b0;border-radius:50%;background:transparent}.reminder-user-row.status-expired .reminder-check-dot{border-color:var(--reminder-red)}.reminder-user-row h3{margin:0;color:var(--reminder-strong);font-family:var(--font-function-title);font-size:15px;font-weight:700;line-height:1.5}.reminder-user-row time{display:block;margin-top:4px;color:#a3a8a8;font-size:11px;font-weight:700}.reminder-user-row.status-expired time{color:var(--reminder-red)}.reminder-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.reminder-status-actions button{min-height:28px;border:.5px solid rgba(79,81,81,.12);border-radius:999px;background:#ffffff8f;color:var(--reminder-ink);cursor:pointer;padding:0 10px;font-size:11px;font-weight:700}.reminder-status-actions button:disabled{cursor:default;opacity:.42}.reminder-history-view{padding-top:12px}.reminder-history-heading{margin-bottom:20px}.reminder-history-heading h2{font-style:normal}.reminder-history-heading p{margin:8px 0 0;color:var(--reminder-muted);font-size:13px;line-height:1.7}.reminder-history-tabs{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:20px;border:.5px solid var(--reminder-line);background:var(--reminder-card)}.reminder-history-tabs button{min-height:42px;border:0;border-right:.5px solid var(--reminder-line);background:transparent;color:var(--reminder-muted);cursor:pointer;font-family:var(--font-function-title);font-size:15px}.reminder-history-tabs button:last-child{border-right:0}.reminder-history-tabs button.is-active{color:var(--reminder-red);background:#ac32310f}.reminder-history-list{display:grid;gap:14px}.reminder-history-card{padding:18px;border-radius:8px;background:var(--reminder-card);box-shadow:0 12px 26px #373a3a0e}.reminder-history-card div{display:flex;justify-content:space-between;gap:14px;color:var(--reminder-muted);font-size:11px;font-weight:700}.reminder-history-card h3{margin:12px 0 0;color:var(--reminder-strong);font-family:var(--font-function-title);font-size:18px;font-weight:700}.reminder-history-card p{margin:8px 0 0;color:var(--reminder-ink);font-size:14px;line-height:1.7}.reminder-memory-card[role=button],.reminder-user-row[role=button]{cursor:pointer}.reminder-memory-card[role=button]:focus-visible,.reminder-user-row[role=button]:focus-visible{outline:1px solid rgba(172,50,49,.36);outline-offset:4px}.reminder-sheet-layer{position:absolute;z-index:14;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#23232333;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reminder-detail-sheet{width:100%;max-height:72%;overflow:hidden;border-radius:20px 20px 0 0;background:var(--reminder-card);box-shadow:0 -14px 38px #373a3a1f;animation:schedule-sheet-rise .22s ease both}.reminder-sheet-handle{width:52px;height:26px;display:block;margin:0 auto;border:0;background:transparent;cursor:pointer;padding:0}.reminder-sheet-handle:before{width:36px;height:4px;display:block;margin:10px auto 0;border-radius:999px;content:"";background:#4f51512e}.reminder-detail-sheet-body{max-height:calc(72vh - 26px);overflow-y:auto;padding:24px 26px 32px}.reminder-detail-sheet-body header{display:grid;gap:8px;margin-bottom:22px}.reminder-detail-sheet-body header span,.reminder-detail-sheet-body dt{color:var(--reminder-muted);font-size:11px;font-weight:700;letter-spacing:.14em}.reminder-detail-sheet-body h2{margin:0;color:var(--reminder-strong);font-family:var(--font-function-title);font-size:27px;line-height:1.24}.reminder-detail-sheet-body time{color:var(--reminder-red);font-size:13px;font-weight:700}.reminder-detail-sheet-body p{margin:0 0 24px;color:var(--reminder-ink);font-size:16px;line-height:1.85}.reminder-detail-sheet-body dl{display:grid;gap:10px;margin:0 0 22px;border-top:.5px solid var(--reminder-line);border-bottom:.5px solid var(--reminder-line);padding:14px 0}.reminder-detail-sheet-body dl div{display:flex;justify-content:space-between;gap:18px}.reminder-detail-sheet-body dd{margin:0;color:var(--reminder-strong);font-size:12px;font-weight:700;text-align:right}.schedule-page{--schedule-bg: #f9f7f2;--schedule-paper: #fffefd;--schedule-ink: #171818;--schedule-muted: #6f777b;--schedule-line: rgba(116, 120, 120, .2);--schedule-blue: #536571;--schedule-warm: #c49797;background:var(--schedule-bg);color:var(--schedule-ink);font-family:var(--font-function-title);overflow:hidden}.schedule-page button{-webkit-tap-highlight-color:transparent}.schedule-page button:focus{outline:none}.schedule-page button:focus-visible{outline:1px solid rgba(23,24,24,.45);outline-offset:3px}.schedule-page-header{flex-shrink:0;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:start;padding:32px 22px 20px}.schedule-page-header button{width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:var(--schedule-ink);cursor:pointer}.schedule-page-header button:last-child{justify-self:end}.schedule-page-header svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.schedule-page-header div{min-width:0;text-align:center}.schedule-page-header h1{margin:0;color:var(--schedule-ink);font-size:34px;font-weight:500;line-height:1.1;letter-spacing:.15em}.schedule-page-header p{margin:12px 0 0;color:#404749;font-family:var(--font-function-body);font-size:12px;letter-spacing:.05em}.schedule-page-body{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;padding:12px 27px 42px}.schedule-summary{display:grid;justify-items:center;gap:26px;margin:22px 0 48px;text-align:center}.schedule-summary p{margin:0;color:var(--schedule-blue);font-family:var(--font-function-body);font-size:12px;letter-spacing:.16em}.schedule-summary blockquote{margin:0;color:var(--schedule-ink);font-size:21px;font-style:italic;line-height:1.7}.schedule-date-tabs{display:flex;justify-content:space-between;gap:18px;margin-bottom:44px;border-bottom:.5px solid rgba(116,120,120,.12)}.schedule-date-tabs button{position:relative;border:0;background:transparent;color:#4f5658;cursor:pointer;padding:0 0 10px;font-family:var(--font-function-title);font-size:14px}.schedule-date-tabs button.is-active{color:var(--schedule-ink)}.schedule-date-tabs button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:var(--schedule-ink)}.schedule-content{display:grid;gap:54px;min-width:0}.schedule-next-section h2,.schedule-today-section h2,.schedule-later-section h2{margin:0 0 18px;color:var(--schedule-blue);font-family:var(--font-function-body);font-size:14px;font-weight:500;letter-spacing:.08em}.schedule-next-card{width:100%;box-sizing:border-box;min-width:0;min-height:158px;display:flex;align-items:center;gap:26px;border:0;border-radius:8px;background:#ffffffbd;color:var(--schedule-ink);cursor:pointer;padding:34px 30px;text-align:left;box-shadow:0 2px 18px #2c2c2c0b;transition:transform .16s ease,background-color .16s ease}.schedule-next-card:active,.schedule-row:active,.schedule-add-row:active,.schedule-later-section button:active{transform:translateY(1px)}.schedule-next-card time{display:block;margin-bottom:8px;color:var(--schedule-blue);font-family:var(--font-function-body);font-size:12px}.schedule-next-card strong{display:block;color:var(--schedule-ink);font-size:30px;font-weight:500;line-height:1.2;overflow-wrap:anywhere}.schedule-circle{width:27px;height:27px;flex:0 0 27px;border:2px solid rgba(116,120,120,.24);border-radius:50%;background:transparent}.schedule-circle.is-done{position:relative;border-color:#74787880}.schedule-circle.is-done:after{position:absolute;top:5px;left:5px;width:12px;height:7px;border-bottom:2px solid rgba(116,120,120,.72);border-left:2px solid rgba(116,120,120,.72);content:"";transform:rotate(-45deg)}.schedule-timeline-list{display:grid;gap:0}.schedule-row{width:100%;box-sizing:border-box;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:26px;border:0;background:transparent;color:var(--schedule-ink);cursor:pointer;padding:0 0 42px;text-align:left}.schedule-row-main{width:100%;min-width:0;display:block;border-top:.5px solid var(--schedule-line);padding-top:30px}.schedule-row-check,.schedule-row-main,.schedule-subtask-toggle{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}.schedule-row-check{display:grid;align-content:start;justify-items:start}.schedule-row .schedule-circle{margin-top:24px}.schedule-row-meta{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.schedule-row-meta time{color:var(--schedule-blue);font-family:var(--font-function-body);font-size:12px;letter-spacing:.04em}.schedule-row.status-expired time{color:#d4b5b5}.schedule-row.status-done,.schedule-row.status-done strong{color:#17181861}.schedule-row strong{display:block;color:var(--schedule-ink);font-size:24px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.schedule-status-tag{display:inline-flex;align-items:center;min-height:28px;border:.5px solid rgba(116,120,120,.16);border-radius:999px;background:#ffffff75;color:#7a8286;padding:0 12px;font-family:var(--font-function-body);font-size:11px;white-space:nowrap}.schedule-status-tag.status-expired{border-color:#c497973d;background:#fcf8f8d1;color:var(--schedule-warm)}.schedule-status-tag.status-done{border-color:#7478781a;color:#7478787a}.schedule-later-section{display:grid;gap:14px}.schedule-later-section button{width:100%;display:flex;align-items:center;gap:16px;border:0;background:transparent;color:#777e80;cursor:pointer;padding:4px 0 4px 28px;font-family:var(--font-function-title);font-size:19px;text-align:left}.schedule-later-section button span{color:#7478783d;font-size:23px}.schedule-add-row{width:100%;box-sizing:border-box;min-width:0;min-height:74px;display:flex;align-items:center;gap:24px;border:0;border-radius:14px;background:#ffffffb8;color:#74787861;cursor:pointer;padding:0 32px;font-family:var(--font-function-title);font-size:18px;box-shadow:0 2px 16px #2c2c2c09}.schedule-add-row input{min-width:0;flex:1;border:0;background:transparent;color:var(--schedule-ink);font:inherit;outline:none}.schedule-add-row input::placeholder{color:#74787880}.schedule-add-row button{border:.5px solid rgba(116,120,120,.18);background:#ffffffb3;color:var(--schedule-ink);cursor:pointer;padding:7px 10px;font-family:var(--font-function-body);font-size:12px}.schedule-add-row button:disabled{cursor:default;opacity:.42}.schedule-add-row span{font-family:var(--font-function-body);font-size:28px;line-height:1}.schedule-sheet-layer{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#17181838;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.schedule-task-sheet{width:100%;max-height:86%;display:flex;flex-direction:column;overflow:hidden;border-radius:18px 18px 0 0;background:#faf9f9;box-shadow:0 -12px 42px #1b1c1c14;animation:schedule-sheet-rise .24s ease both}.schedule-sheet-handle{width:48px;height:24px;align-self:center;border:0;background:transparent;cursor:pointer;padding:0}.schedule-sheet-handle:before{width:36px;height:4px;display:block;border-radius:999px;content:"";background:#74787838}.schedule-sheet-body{min-height:0;flex:1;overflow-y:auto;padding:32px 44px 44px}.schedule-sheet-heading div{display:flex;align-items:center;justify-content:space-between;gap:18px}.schedule-sheet-heading span{color:#656c70;font-family:var(--font-function-body);font-size:24px;letter-spacing:.04em}.schedule-sheet-heading h2{margin:44px 0 58px;color:var(--schedule-ink);font-size:52px;font-weight:500;line-height:1.08}.schedule-sheet-section{margin-bottom:52px}.schedule-sheet-section h3{margin:0 0 26px;border-bottom:.5px solid rgba(116,120,120,.2);color:#444748b8;padding-bottom:12px;font-family:var(--font-function-body);font-size:18px;font-weight:500;letter-spacing:.14em}.schedule-sheet-section ul{display:grid;gap:24px;margin:0;padding:0;list-style:none}.schedule-sheet-section li{color:var(--schedule-ink);font-size:24px;line-height:1.35}.schedule-subtask-toggle{width:100%;display:flex;align-items:center;gap:18px;font-family:var(--font-function-title);font-size:24px}.schedule-subtask-toggle:disabled{cursor:default}.schedule-sheet-section li .schedule-circle{width:22px;height:22px;flex-basis:22px}.schedule-note-box{min-height:132px;margin:0;border:.5px solid rgba(116,120,120,.16);color:#444748db;padding:28px 30px;font-size:21px;font-style:italic;line-height:1.85}.schedule-sheet-actions{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:.5px solid rgba(116,120,120,.1);background:#faf9f9;padding:20px 28px 24px;box-shadow:0 -4px 24px #1b1c1c05}.schedule-sheet-actions button{border:0;background:transparent;color:#3e4142;cursor:pointer;font-family:var(--font-function-title);font-size:18px}.schedule-sheet-actions>div{display:inline-flex;align-items:center;gap:18px}.schedule-delete-action{display:inline-flex;align-items:center;gap:10px;color:#a98e82!important}.schedule-delete-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.schedule-primary-action{min-height:50px;background:var(--schedule-ink)!important;color:#fff!important;padding:0 30px;box-shadow:0 8px 18px #1b1c1c24}@keyframes schedule-sheet-rise{0%{transform:translateY(28px)}to{transform:translateY(0)}}.cycle-detail-page{background:radial-gradient(circle at calc(100% - 8px) 8px,rgba(123,143,161,.2) 1px,transparent 1.5px) right top / 14px 14px repeat-y,#fffaf9;color:#4b4242;font-family:var(--font-function-body)}.cycle-page-header{min-height:82px;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;border-bottom:.5px solid rgba(134,103,103,.12);background:linear-gradient(180deg,#fff6f6f5,#fffaf9fa)}.cycle-page-header button{width:56px;height:64px;border:0;background:transparent;color:#6d5a5a;cursor:pointer;font-size:31px;font-weight:300;line-height:1;-webkit-tap-highlight-color:transparent}.cycle-page-header .cycle-settings-icon-button{display:grid;place-items:center;font-size:0}.cycle-page-header .cycle-settings-icon-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cycle-page-header .cycle-settings-icon-button.is-active{color:#3f3838}.cycle-page-header button:focus{outline:none}.cycle-page-header button:focus-visible{outline:1px solid rgba(112,88,88,.45);outline-offset:-10px}.cycle-page-header div{min-width:0;display:grid;justify-items:center;gap:4px;line-height:1.15}.cycle-page-header strong{color:#7a6969;font-family:var(--font-function-title);font-size:22px;font-weight:700;letter-spacing:0}.cycle-page-header span{color:#8a7b7b;font-size:12px;font-weight:700;letter-spacing:.04em}.cycle-detail-body{min-height:0;flex:1;overflow-y:auto;padding:18px 28px 28px}.cycle-panel{display:grid;gap:18px}.cycle-status-card,.cycle-settings-card,.cycle-calendar-card{border:.5px solid rgba(138,112,112,.16);border-radius:12px;background:#ffffffb8;box-shadow:0 8px 22px #785c5c0d}.cycle-status-card{position:relative;padding:18px 18px 20px}.cycle-prediction-help-button{position:absolute;top:12px;right:12px;width:24px;height:24px;border:.5px solid rgba(118,102,102,.2);border-radius:50%;background:#fffaf9d1;color:#7d6e6e;cursor:pointer;font-size:13px;font-weight:800;line-height:1}.cycle-status-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(96px,.8fr);gap:18px;padding-right:20px}.cycle-status-top div:last-child{text-align:right}.cycle-status-top span{display:block;margin-bottom:4px;color:#8a7d7d;font-size:11px;font-weight:800;letter-spacing:.05em}.cycle-status-top strong{display:inline-flex;align-items:center;gap:7px;color:#2f2b2b;font-family:var(--font-function-title);font-size:22px;font-weight:800;line-height:1.15}.cycle-status-top small{display:block;margin-top:6px;color:#918383;font-size:12px;font-weight:700;line-height:1.45}.cycle-status-top i{width:13px;height:13px;border-radius:50%;background:#bfd1b0}.cycle-phase-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:22px 0 16px}.cycle-phase-track span{position:relative;min-height:32px;display:grid;place-items:center;border:.5px solid rgba(124,105,105,.16);border-radius:999px;background:#f6eeee9e;color:#8a7b7b;font-size:11px;font-weight:800;line-height:1.2;text-align:center}.cycle-phase-track span.is-active{background:#dfe9d7;color:#394234;border-color:#637c5042}.cycle-status-card p{margin:0;color:#847676;text-align:center;font-size:14px;font-weight:700}.cycle-status-card .cycle-prediction-source{margin-top:5px;color:#a09292;font-size:11px}.cycle-prediction-note{margin-top:12px;border-top:.5px solid rgba(120,100,100,.12);padding-top:10px;color:#867777;font-size:12px;font-weight:700;line-height:1.65;text-align:center}.cycle-settings-card{padding:16px 18px;animation:cycle-settings-open .18s ease both}.cycle-settings-card h2{margin:0 0 12px;color:#756666;font-family:var(--font-function-title);font-size:17px;font-weight:800;letter-spacing:0}.cycle-settings-list{display:grid;gap:0}.cycle-setting-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-top:.5px solid rgba(120,100,100,.1);background:transparent;color:#756969;padding:0;font:inherit;text-align:left}.cycle-setting-row span{color:#8d8080;font-size:13px;font-weight:800}.cycle-setting-row strong{color:#373232;font-size:14px;font-weight:900}.cycle-setting-row input{min-width:0;width:132px;border:.5px solid rgba(120,100,100,.16);background:#fffaf9b8;color:#373232;padding:7px 8px;font:inherit;font-size:13px;font-weight:800;outline:none}.cycle-setting-toggle{width:100%;cursor:pointer}.cycle-save-button{width:100%;min-height:38px;margin-top:12px;border:0;background:#3f3838;color:#fffaf9;cursor:pointer;font-family:var(--font-function-body);font-size:13px;font-weight:800}@keyframes cycle-settings-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cycle-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.cycle-month-header strong{color:#343031;font-family:var(--font-function-title);font-size:21px;font-weight:800}.cycle-month-header div{display:inline-flex;gap:14px}.cycle-month-header button{width:28px;height:28px;border:0;background:transparent;color:#6d6363;cursor:pointer;font-size:28px;line-height:1;-webkit-tap-highlight-color:transparent}.cycle-month-header button:focus{outline:none}.cycle-month-header button:focus-visible{outline:1px solid rgba(112,88,88,.45);outline-offset:2px}.cycle-calendar-card{position:relative;padding:18px 14px}.cycle-weekdays,.cycle-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cycle-weekdays{margin-bottom:13px}.cycle-weekdays span{color:#5b5252;text-align:center;font-size:12px;font-weight:800}.cycle-days-grid{gap:2px 0}.cycle-day{position:relative;min-height:52px;display:grid;place-items:center;border:0;background:transparent;color:#4a4545;cursor:pointer;font-family:var(--font-function-body);font-size:19px;font-weight:700;-webkit-tap-highlight-color:transparent}.cycle-day:focus{outline:none}.cycle-day:focus-visible{z-index:1;outline:1px solid rgba(112,88,88,.36);outline-offset:-2px}.cycle-day.is-empty{color:transparent;pointer-events:none}.cycle-day.is-predicted-period{background:#fdecef}.cycle-day.is-actual-period:before{position:absolute;width:34px;height:34px;border-radius:50%;content:"";background:#f3b8c1}.cycle-day.is-today{color:#2f2b2b}.cycle-day.is-today:before{position:absolute;width:38px;height:38px;border:1.5px solid #5e5858;border-radius:50%;content:"";background:#fffaf99e}.cycle-day-number,.cycle-ovulation-mark,.cycle-record-dot{position:relative;z-index:2}.cycle-ovulation-mark{position:absolute;right:6px;bottom:4px;display:grid;place-items:center;min-width:16px;height:16px;border:.5px solid rgba(91,112,128,.25);border-radius:50%;background:#dfe9ef;color:#4d6472;font-size:10px;font-weight:900;line-height:1}.cycle-record-dot{position:absolute;bottom:7px;width:5px;height:5px;border-radius:50%;background:#7d5d64}.cycle-day{isolation:isolate}.cycle-day:before,.cycle-day:after{z-index:0}.cycle-calendar-legend{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 14px;margin-top:18px;border-top:.5px solid rgba(120,100,100,.12);padding-top:14px;color:#746a6a;font-size:11px;font-weight:800}.cycle-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.cycle-calendar-legend i{width:12px;height:12px;border-radius:50%}.legend-actual-period{background:#f3b8c1}.legend-predicted-period{border-radius:3px!important;background:#fdecef}.legend-today{border:1.5px solid #5e5858;background:transparent}.legend-record{width:7px!important;height:7px!important;background:#7d5d64}.legend-ovulation{display:grid;place-items:center;border:.5px solid rgba(91,112,128,.25);background:#dfe9ef}.legend-ovulation:before{color:#4d6472;content:"排";font-size:8px;font-style:normal;font-weight:900;line-height:1}.cycle-sheet-layer{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#302b2b33;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cycle-day-sheet{width:min(100%,430px);border:.5px solid rgba(112,88,88,.16);border-radius:18px 18px 0 0;background:#fffaf9;box-shadow:0 -18px 36px #3a2a2a24;padding:10px 18px 22px;animation:schedule-sheet-rise .18s ease both}.cycle-sheet-handle{width:42px;height:5px;display:block;margin:0 auto 18px;border:0;border-radius:999px;background:#6e5e5e33;cursor:pointer}.cycle-day-sheet header{padding-bottom:12px;border-bottom:.5px solid rgba(120,100,100,.12)}.cycle-day-sheet strong{color:#3b3333;font-family:var(--font-function-title);font-size:23px;font-weight:800}.cycle-sheet-actions{display:grid;gap:0}.cycle-sheet-actions button{min-height:52px;border:0;border-bottom:.5px solid rgba(120,100,100,.1);background:transparent;color:#5a4b4b;cursor:pointer;font-family:var(--font-function-body);font-size:15px;font-weight:800;text-align:left}.cycle-sheet-actions button:last-child{border-bottom:0}.moment-detail-page{background:radial-gradient(circle at 8px 8px,rgba(123,143,161,.22) 1px,transparent 1.5px) left top / 14px 14px repeat-y,radial-gradient(circle at calc(100% - 8px) 8px,rgba(123,143,161,.22) 1px,transparent 1.5px) right top / 14px 14px repeat-y,var(--function-paper, var(--shell-bg))}.moment-detail-header{min-height:66px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;border-bottom:.5px solid rgba(44,44,44,.1);background:#f5f3efe6}:root[data-theme=dark] .moment-detail-header{background:#202329eb;border-bottom-color:#dcd9d11a}.moment-detail-header button{width:64px;height:66px;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;display:grid;place-items:center}.moment-detail-header svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.moment-detail-header strong{justify-self:center;color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:13px;font-weight:400;letter-spacing:.18em}.moment-detail-body{min-height:0;flex:1;overflow-y:auto;padding:58px 36px 28px;font-family:var(--font-function-body)}.moment-detail-article{position:relative}.moment-detail-author{position:relative;z-index:1;display:block;margin-bottom:30px}.moment-detail-author strong{display:block;color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:18px;font-weight:700;letter-spacing:.04em;line-height:1.2}.moment-detail-author span{display:block;margin-top:8px;color:#1f1f1fb8;font-family:var(--font-function-title);font-size:13px;letter-spacing:.06em;line-height:1.3}:root[data-theme=dark] .moment-detail-author span{color:#efece3ad}.moment-avatar{display:grid;place-items:center;overflow:hidden;border-radius:50%;color:#f9f4ea;font-family:var(--font-function-title);font-weight:700;box-shadow:0 0 0 1px #2c2c2c1a}.moment-avatar img{width:100%;height:100%;object-fit:cover}.moment-avatar.is-assistant{background:radial-gradient(circle at 38% 30%,rgba(244,235,200,.8) 0 12%,transparent 13%),radial-gradient(circle at 62% 44%,rgba(60,105,104,.95) 0 28%,transparent 29%),linear-gradient(135deg,#1f4e56,#8da79b)}.moment-avatar.is-user{background:radial-gradient(circle at 34% 28%,rgba(253,248,248,.78) 0 13%,transparent 14%),linear-gradient(135deg,#7b8fa1,#b4a69a)}.moment-detail-article p{position:relative;z-index:1;margin:34px 0 48px;color:#5e6267;font-family:var(--font-function-body);font-size:17px;line-height:1.78}:root[data-theme=dark] .moment-detail-article p{color:var(--text-main)}.moment-detail-photo{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 29% 57%,#f8f2da 0 7%,transparent 7.5%),radial-gradient(ellipse at 28% 56%,#c99247 0 16%,transparent 16.5%),radial-gradient(ellipse at 69% 25%,rgba(224,184,108,.9) 0 4%,transparent 4.4%),radial-gradient(ellipse at 74% 20%,rgba(198,148,73,.75) 0 6%,transparent 6.5%),linear-gradient(78deg,transparent 0 52%,rgba(87,49,24,.55) 52.4% 53.5%,transparent 54%),linear-gradient(20deg,transparent 0 50%,rgba(73,61,43,.25) 50.4% 51%,transparent 52%),linear-gradient(180deg,#fcde9438,#32231357),linear-gradient(135deg,#4a2c19 0,#4a2c19 26%,#a56e33 26%,#a56e33 60%,#1c271f 60%,#1c271f);box-shadow:inset 0 0 0 1px #00000014}.moment-detail-photo:before{position:absolute;content:"";top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 48%),linear-gradient(180deg,transparent 0 54%,rgba(42,29,17,.42) 54.5% 56%,transparent 57%),radial-gradient(ellipse at 30% 60%,rgba(255,255,255,.65) 0 11%,transparent 11.5%),linear-gradient(28deg,transparent 0 58%,rgba(255,255,255,.2) 58.3% 59%,transparent 59.5%);mix-blend-mode:screen}.moment-detail-photo:after{position:absolute;right:11%;bottom:13%;width:35%;height:19%;content:"";border-radius:1px;background:linear-gradient(8deg,transparent 0 16%,rgba(68,51,35,.7) 16.5% 18%,transparent 18.5% 100%),linear-gradient(18deg,#dfd7bf,#a89b82);box-shadow:-28px -22px 0 -18px #f8efc7e6;transform:rotate(-8deg)}.moment-detail-actions{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:44px;padding:13px 0;border-top:.5px solid rgba(44,44,44,.14);border-bottom:.5px solid rgba(44,44,44,.14)}.moment-detail-actions button{border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:0}.moment-detail-actions button:first-child{display:inline-flex;align-items:center;gap:9px;justify-self:start}.moment-detail-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.moment-detail-actions .is-active svg{fill:currentColor}.moment-detail-actions span{color:var(--text-sub);font-family:var(--font-function-title);font-size:10px;letter-spacing:.12em}.moment-detail-comments{position:relative;display:grid;gap:31px;margin-top:40px;padding-left:13px}.moment-detail-comments:before{position:absolute;top:0;bottom:30px;left:12px;width:1px;content:"";background:#2c2c2c24}.moment-detail-comment{position:relative;z-index:1;display:grid;grid-template-columns:23px minmax(0,1fr);gap:18px}.moment-detail-comment:focus-visible{outline:1px solid rgba(123,143,161,.42);outline-offset:6px}.moment-comment-head{display:flex;align-items:center;gap:8px;min-width:0}.moment-comment-head time{color:var(--text-sub);font-family:var(--font-function-title);font-size:9px;letter-spacing:.08em}.moment-comment-more{margin-left:auto;border:0;background:transparent;color:var(--text-sub);cursor:pointer;padding:0 2px;font-family:var(--font-function-title);font-size:12px;letter-spacing:.04em}.moment-comment-reply-preview{display:inline-block;margin-top:7px;border-left:2px solid rgba(123,143,161,.26);padding-left:8px;color:var(--text-sub);font-size:12px;line-height:1.45}.moment-comment-actions{display:inline-flex;gap:8px;margin-top:12px;padding:6px 8px;border:.5px solid rgba(44,44,44,.12);background:#fdf8f8c2}:root[data-theme=dark] .moment-comment-actions{background:#202329c2;border-color:#dcd9d11f}.moment-comment-actions button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:0;font-family:var(--font-function-title);font-size:11px}.moment-comment-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.moment-comment-avatar{width:23px;height:23px;font-size:9px}.moment-detail-comment strong{display:block;color:var(--function-ink, var(--text-main));font-family:var(--font-function-title);font-size:9px;font-weight:700;letter-spacing:.06em}.moment-detail-comment p{margin:10px 0 0;color:#5b5f64;font-family:var(--font-function-body);font-size:15px;line-height:1.75}:root[data-theme=dark] .moment-detail-comment p{color:var(--text-main)}.moment-detail-empty{color:var(--text-sub);font-family:var(--font-function-title);font-size:10px;letter-spacing:.14em}.moment-comment-form{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding-left:41px}.moment-reply-target{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-left:-1px;border-left:2px solid rgba(123,143,161,.32);padding:4px 0 4px 10px;color:var(--text-sub);font-size:12px;line-height:1.5}.moment-reply-target button{border:0;background:transparent;color:var(--text-sub);cursor:pointer;padding:0 4px;font-size:16px}.moment-comment-form label{min-width:0;display:flex;align-items:center;gap:9px;border-bottom:.5px solid rgba(44,44,44,.18);padding-bottom:7px;color:var(--text-sub)}.moment-comment-form svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.moment-comment-form input{min-width:0;width:100%;border:0;background:transparent;color:var(--function-ink, var(--text-main));font-family:var(--font-function-body);font-size:14px;line-height:1.5;outline:none}.moment-comment-form input::placeholder{color:var(--text-sub)}.moment-comment-form button{border:.5px solid rgba(44,44,44,.18);background:transparent;color:var(--function-ink, var(--text-main));cursor:pointer;padding:5px 9px;font-family:var(--font-function-title);font-size:11px}.moment-comment-form button:disabled{cursor:default;opacity:.42}@media(max-width:380px){.time-hero{padding-right:20px;padding-left:20px}.time-hero-current{margin-left:48px}.time-hero-current strong{font-size:56px}.timeline-item{margin-bottom:28px;padding-bottom:28px}.timeline-item time{left:-41px}.timeline-time-mark{left:-41px}.timeline-list{margin:0 20px 0 12px;padding-left:46px}.function-detail-body{padding-right:18px;padding-left:18px}.function-list-card{grid-template-columns:1fr}.function-badge-row{justify-content:flex-start}.moment-detail-body{padding-right:32px;padding-left:32px}.moment-detail-article p{font-size:16px}}.book-film-page{--review-bg: #f7f2e9;--review-paper: #fffdf7;--review-paper-dim: #fbf4e8;--review-ink: #292b2a;--review-muted: #7d766e;--review-line: rgba(91, 73, 55, .18);--review-stamp: #9b554c;--review-brick: #a45c50;--review-shadow: rgba(83, 63, 44, .1);--review-book-cn-font: "Noto Serif SC", "Songti SC", "SimSun", serif;--review-book-en-font: "Cormorant Garamond", "Times New Roman", serif;--review-label-font: "Special Elite", "Courier New", ui-monospace, monospace;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.62),transparent 30%),radial-gradient(circle at 82% 62%,rgba(118,93,66,.035),transparent 34%),repeating-linear-gradient(0deg,rgba(89,74,56,.006) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,rgba(89,74,56,.004) 0 1px,transparent 1px 22px),var(--review-bg);color:var(--review-ink);font-family:var(--review-book-cn-font)}.book-film-page:before{background:radial-gradient(circle at 18% 24%,rgba(74,58,42,.018) 0 1px,transparent 1.3px),radial-gradient(circle at 70% 58%,rgba(74,58,42,.014) 0 1px,transparent 1.4px),radial-gradient(circle at 42% 86%,rgba(255,255,255,.38) 0 1px,transparent 1.3px);background-size:23px 27px,31px 29px,37px 41px;opacity:.34;mix-blend-mode:multiply}.function-root:has(.book-film-page) .function-permission-toast{display:none}.book-film-header{min-height:142px;grid-template-columns:58px minmax(0,1fr) 58px;align-items:start;border-bottom:0;background:transparent;box-shadow:none;padding-top:30px}:root[data-theme=dark] .book-film-header{background:transparent}.book-film-header button:first-child{align-self:start;min-height:46px;color:#292b2ae6}.book-film-header svg{width:30px;height:30px;stroke-width:1.5}.book-film-header div{padding-top:16px}.book-film-header h1{font-family:var(--review-book-cn-font);font-size:36px;font-weight:500;line-height:1.08;letter-spacing:.04em}.book-film-header p{margin-top:10px;color:#4d4a47a3;font-family:var(--review-book-cn-font);font-size:17px;font-weight:400;letter-spacing:.06em}.book-film-body{padding:0 28px 118px}.book-film-page .review-tabs{min-height:76px;align-items:end;border-bottom:.5px solid rgba(91,73,55,.18);padding-bottom:17px}.book-film-page .review-tabs-main{gap:42px}.book-film-page .review-tabs-main button{padding-bottom:13px;color:#3e3e3c7a;font-family:var(--review-book-cn-font);font-size:24px;font-weight:400;line-height:1}.book-film-page .review-tabs-main button.is-active{color:var(--review-ink);font-weight:500}.book-film-page .review-tabs-main button.is-active:after{height:2px;background:#292b2ae6}.book-film-page .review-tab-ticket-button{min-height:44px;margin-bottom:2px;border:.5px solid rgba(109,88,68,.16);background:linear-gradient(90deg,transparent 0 11px,rgba(255,253,247,.94) 11px),linear-gradient(180deg,#fffdf7f5,#e8decfe6);color:#292b2ae6;padding:0 19px 0 25px;font-family:var(--review-book-cn-font);font-size:17px;font-weight:400;letter-spacing:.05em;filter:none;text-shadow:none;box-shadow:0 5px 12px #533f2c14,inset 0 0 0 1px #ffffff6b;transform:rotate(-.4deg)}.book-film-page .review-tab-ticket-button:before{top:8px;bottom:8px;left:12px;width:0;border-left:.5px dashed rgba(98,82,64,.28);background:none}.book-film-page .review-tab-ticket-button:after{position:absolute;right:-1px;bottom:-1px;width:17px;height:17px;content:"";background:linear-gradient(135deg,transparent 0 50%,rgba(206,194,178,.74) 51%),var(--review-bg);clip-path:polygon(100% 0,100% 100%,0 100%)}.book-film-page .review-sort-row{gap:12px;margin:18px 0 14px;padding-bottom:0}.book-film-page .review-sort-row button{min-height:42px;border:.5px solid rgba(91,73,55,.13);border-radius:5px;background:#fffdf77a;color:#4b46419e;padding:7px 17px;font-family:var(--review-book-cn-font);font-size:15px;letter-spacing:.04em;box-shadow:none}.book-film-page .review-sort-row button.is-active{background:#e1d8ccad;color:var(--review-ink);font-weight:400}.book-film-page .review-archive-list{min-height:500px;padding:12px 0 100px}.book-film-page .review-archive-list:before,.book-film-page .review-archive-list:after{display:none}.book-film-page .review-archive-card{transition:transform .16s ease,filter .16s ease}.book-film-page .review-archive-card:nth-child(6n+1){z-index:5;width:min(85%,316px);margin-left:18px;transform:rotate(-1.05deg) translateY(0)}.book-film-page .review-archive-card:nth-child(6n+2){z-index:4;width:min(90%,334px);margin-top:-8px;margin-right:14px;margin-left:auto;transform:rotate(.9deg) translateY(-2px)}.book-film-page .review-archive-card:nth-child(n+3){margin-top:14px}.book-film-page .review-card{overflow:visible;box-shadow:none}.book-film-page .review-card:before{z-index:0;background:radial-gradient(circle at 14% 18%,rgba(78,61,44,.028) 0 1px,transparent 1.3px),radial-gradient(circle at 84% 42%,rgba(78,61,44,.02) 0 1px,transparent 1.4px),repeating-linear-gradient(0deg,transparent 0 18px,rgba(78,61,44,.012) 18px 19px);background-size:27px 23px,31px 37px,100% 19px;opacity:.56;mix-blend-mode:multiply}.book-film-page .review-card:after{display:none;content:none}.book-film-page .review-card h2,.book-film-page .review-card p,.book-film-page .review-card dd,.book-film-page .review-card .review-status-cn{filter:none;text-shadow:none}.book-film-page .review-library-card{border:.5px solid rgba(91,73,55,.14);background:linear-gradient(180deg,#ffffffd1,#fffdf8c2),url(/assets/review-book-texture-Yd-SYPXp.jpg) center / cover no-repeat,var(--review-paper);padding:32px 18px 14px}.book-film-page .review-paper-tape{top:-10px;left:30%;width:76px;height:21px;background:linear-gradient(90deg,#d6c7b094,#e8dbc78c),repeating-linear-gradient(90deg,rgba(104,87,66,.05) 0 1px,transparent 1px 8px);box-shadow:none;opacity:.72}.book-film-page .review-paper-tape:before,.book-film-page .review-paper-tape:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent),repeating-linear-gradient(90deg,rgba(98,79,58,.04) 0 1px,transparent 1px 9px)}.book-film-page .review-paper-pin{position:absolute;z-index:2;top:20px;right:24px;width:14px;height:14px;border:.5px solid rgba(101,80,61,.16);border-radius:999px;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.76),transparent 35%),linear-gradient(135deg,#e9dac8,#cbbca9);box-shadow:none}.book-film-page .review-card-head{grid-template-columns:84px minmax(0,1fr);gap:14px;min-height:116px;border-bottom:.5px solid rgba(91,73,55,.16);padding-bottom:12px}.book-film-page .review-card-copy{min-width:0;padding-top:5px}.book-film-page .review-card-head h2{font-family:var(--review-book-cn-font);font-size:clamp(25px,6.7vw,31px);font-weight:500;line-height:1.12;letter-spacing:.02em}.book-film-page .review-card-head p{margin:7px 0 8px;color:#44413da8;font-family:var(--review-book-cn-font);font-size:14px;line-height:1.35}.book-film-page .review-status-stamp{position:static;display:inline-flex;gap:8px;border:0;color:var(--review-brick);padding:0;font-family:var(--review-book-cn-font);font-size:13px;font-weight:400;letter-spacing:.08em;opacity:.92;transform:none;text-shadow:none}.book-film-page .review-status-en{font-family:var(--review-label-font);font-size:12px;letter-spacing:.16em}.book-film-page .review-stars-text{display:block;margin-top:12px;color:var(--review-ink);font-family:"Times New Roman",var(--review-book-en-font);font-size:17px;font-weight:400;letter-spacing:.12em;line-height:1}.book-film-page .review-card-grid{margin-top:9px}.book-film-page .review-card-grid div{min-height:29px;border-bottom:.5px dashed rgba(91,73,55,.14);padding:6px 0 5px}.book-film-page .review-card-grid dt,.book-film-page .review-ticket-meta-grid dt{color:#46423d94;font-family:var(--review-label-font);font-size:10px;font-weight:400;letter-spacing:.18em}.book-film-page .review-card-grid dd,.book-film-page .review-ticket-meta-grid dd{margin:0;color:#292b2adb;font-family:var(--review-book-cn-font);font-size:12px;text-align:right}.book-film-page .review-visual-thumb{box-shadow:inset 0 0 0 1px #5845321f}.book-film-page .review-visual-thumb:before{background:linear-gradient(135deg,rgba(255,255,255,.26),transparent 34%),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 7px);opacity:.7}.book-film-page .review-visual-book{width:78px;height:108px;border-radius:4px;background:linear-gradient(90deg,rgba(118,99,78,.24) 0 9px,transparent 9px),url(/assets/review-book-texture-Yd-SYPXp.jpg) center / cover no-repeat,linear-gradient(180deg,#d2c8b7,#b6a997);background-blend-mode:normal,multiply,normal}.book-film-page .review-visual-screen{width:70px;height:98px;border:3px solid rgba(255,248,238,.76);border-radius:3px;background:linear-gradient(180deg,#53261e42,#53261e2e),url(/assets/review-ticket-texture-DoqkVhHi.jpg) center / cover no-repeat,radial-gradient(circle at 68% 28%,rgba(166,83,59,.55),transparent 28%),linear-gradient(160deg,#7b3f32,#3d2c27 56%,#a67a61);background-blend-mode:multiply,multiply,normal,normal}.book-film-page .review-cover-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;color:#2c2a277a;text-align:center}.book-film-page .review-cover-placeholder span{position:static;right:auto;bottom:auto;color:inherit;font-size:inherit;letter-spacing:inherit}.book-film-page .review-book-cover-placeholder{flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:28px 0 0 24px;font-family:var(--review-label-font);font-size:6px;letter-spacing:.13em;line-height:1.35}.book-film-page .review-book-cover-placeholder i{position:absolute;right:19px;bottom:30px;width:1px;height:32px;background:#463e3454;transform:rotate(-18deg)}.book-film-page .review-book-cover-placeholder i:before,.book-film-page .review-book-cover-placeholder i:after{position:absolute;width:14px;height:1px;content:"";background:#463e343d;transform-origin:left center}.book-film-page .review-book-cover-placeholder i:before{top:10px;transform:rotate(34deg)}.book-film-page .review-book-cover-placeholder i:after{top:22px;transform:rotate(-28deg)}.book-film-page .review-screen-cover-placeholder{flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 6px 0;color:#eec28fa8}.book-film-page .review-screen-cover-placeholder strong{display:block;color:#e9b57eb8;font-family:var(--review-book-cn-font);font-size:12px;font-weight:400;letter-spacing:.1em}.book-film-page .review-screen-cover-placeholder span{margin-top:7px;color:#f0c69694;font-family:var(--review-label-font);font-size:5px;line-height:1.25;letter-spacing:.12em}.book-film-page .review-ticket-card{min-height:176px;display:grid;grid-template-columns:minmax(0,1fr) 74px;border:.5px solid rgba(164,92,80,.38);background:linear-gradient(180deg,#fffdf6d6,#fff8edbd),url(/assets/review-ticket-texture-DoqkVhHi.jpg) center / cover no-repeat,var(--review-paper-dim);color:var(--review-ink);font-family:var(--review-book-cn-font)}.book-film-page .review-ticket-card:before{z-index:2;top:9px;right:8px;bottom:9px;left:10px;border:.5px solid rgba(164,92,80,.42);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);background:linear-gradient(#a45c5057,#a45c5057) calc(100% - 74px) 0 / .5px 100% no-repeat;opacity:1;mix-blend-mode:normal}.book-film-page .review-ticket-card:after{display:block;z-index:3;top:-1px;right:-1px;bottom:-1px;left:-1px;content:"";pointer-events:none;background:radial-gradient(circle at 0 50%,var(--review-bg) 0 16px,transparent 16.6px) left 50% / 34px 40px no-repeat,radial-gradient(circle at 100% 50%,var(--review-bg) 0 16px,transparent 16.6px) right 50% / 34px 40px no-repeat,radial-gradient(circle at 0 0,var(--review-bg) 0 12px,transparent 12.6px) left top / 24px 24px no-repeat,radial-gradient(circle at 100% 0,var(--review-bg) 0 12px,transparent 12.6px) right top / 24px 24px no-repeat,radial-gradient(circle at 0 100%,var(--review-bg) 0 12px,transparent 12.6px) left bottom / 24px 24px no-repeat,radial-gradient(circle at 100% 100%,var(--review-bg) 0 12px,transparent 12.6px) right bottom / 24px 24px no-repeat,radial-gradient(circle at 0 50%,var(--review-bg) 0 4px,transparent 4.4px) left top / 12px 15px repeat-y,radial-gradient(circle at 100% 50%,var(--review-bg) 0 4px,transparent 4.4px) right top / 12px 15px repeat-y;filter:none}.book-film-page .ticket-tape{top:-11px;left:auto;right:43px;width:64px;height:20px;transform:rotate(2deg)}.book-film-page .review-ticket-main{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 14px;overflow:visible;padding:26px 12px 14px 24px}.book-film-page .review-ticket-main:after{display:none}.book-film-page .review-ticket-copy{min-width:0;padding-top:1px}.book-film-page .review-ticket-copy h2{margin:0;color:var(--review-ink);font-family:var(--review-book-cn-font);font-size:clamp(23px,6.1vw,29px);font-weight:500;line-height:1.08;letter-spacing:.05em;filter:none;text-shadow:none}.book-film-page .review-ticket-copy p{margin:6px 0 9px;color:#413e3bb3;font-family:var(--review-book-cn-font);font-size:14px;line-height:1.25;filter:none;text-shadow:none}.book-film-page .review-ticket-copy small{display:block;margin:0 0 12px;color:var(--review-brick);font-family:var(--review-label-font);font-size:11px;font-weight:400;letter-spacing:.2em;filter:none;text-shadow:none}.book-film-page .review-ticket-copy .review-stars-text{margin-top:0;font-size:17px;letter-spacing:.1em}.book-film-page .review-ticket-meta-grid{grid-column:1 / -1;display:grid;grid-template-columns:1fr .82fr;margin:11px 0 0;border-top:.5px solid rgba(164,92,80,.22);border-left:0}.book-film-page .review-ticket-meta-grid div{min-height:28px;display:grid;grid-template-columns:minmax(48px,.62fr) minmax(0,1fr);align-items:center;gap:8px;border-right:.5px solid rgba(164,92,80,.2);border-bottom:.5px solid rgba(164,92,80,.2);padding:5px 10px 5px 0}.book-film-page .review-ticket-meta-grid div:nth-child(2n){border-right:0;grid-template-columns:minmax(34px,.42fr) minmax(0,1fr);gap:7px;padding-left:10px}.book-film-page .review-ticket-meta-grid div:nth-last-child(-n+2){border-bottom:0}.book-film-page .review-ticket-meta-grid dt{color:#72564894}.book-film-page .review-ticket-meta-grid dd{color:#2a2724d6;font-size:12px;letter-spacing:0;text-align:left;white-space:nowrap}.book-film-page .review-ticket-meta-grid div:nth-child(2n) dd{justify-self:end;text-align:right}.book-film-page .review-ticket-meta-grid div:nth-child(4) dd{font-size:11px}.book-film-page .review-ticket-stub{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center;border-left:.5px dashed rgba(164,92,80,.44);color:var(--review-brick);padding:22px 10px 16px;text-align:center}.book-film-page .review-ticket-stub:before,.book-film-page .review-ticket-stub:after{display:none;content:none}.book-film-page .review-ticket-stub span,.book-film-page .review-ticket-stub small,.book-film-page .review-ticket-stub em{font-family:var(--review-label-font);font-style:normal;font-weight:400;letter-spacing:.14em}.book-film-page .review-ticket-stub span{font-size:10px;line-height:1.2}.book-film-page .review-ticket-stub div{display:grid;justify-items:center;gap:5px}.book-film-page .review-ticket-stub small{font-size:9px;writing-mode:vertical-rl}.book-film-page .review-ticket-stub strong{color:var(--review-brick);font-family:var(--review-book-en-font);font-size:27px;font-weight:400;letter-spacing:.08em;writing-mode:vertical-rl}.book-film-page .review-ticket-stub em{max-width:58px;font-size:9px;line-height:1.35}@media(max-width:380px){.book-film-header{min-height:166px;grid-template-columns:50px minmax(0,1fr) 50px;padding-top:34px}.book-film-header h1{font-size:34px}.book-film-header p{font-size:15px}.book-film-body{padding-right:22px;padding-left:22px}.book-film-page .review-tabs-main{gap:34px}.book-film-page .review-tabs-main button{font-size:22px}.book-film-page .review-tab-ticket-button{min-height:40px;padding-right:14px;padding-left:22px;font-size:15px}.book-film-page .review-sort-row{gap:8px}.book-film-page .review-sort-row button{padding-right:12px;padding-left:12px;font-size:13px}.book-film-page .review-library-card{padding-right:18px;padding-left:18px}.book-film-page .review-card-head{grid-template-columns:90px minmax(0,1fr);gap:15px}.book-film-page .review-visual-book{width:88px;height:126px}.book-film-page .review-ticket-card{grid-template-columns:minmax(0,1fr) 72px}.book-film-page .review-ticket-main{grid-template-columns:74px minmax(0,1fr);gap:0 14px;padding-left:20px}.book-film-page .review-visual-screen{width:72px;height:104px}.book-film-page .review-ticket-stub{padding-right:9px;padding-left:9px}.book-film-page .review-ticket-stub strong{font-size:27px}}:root{--bg-color: #f5f3ef;--shell-bg: #f4f1eb;--paper-2: #ede9e1;--text-main: #2c2c2c;--text-sub: #8a8680;--accent-cold: #7b8fa1;--accent-warm: #c4b8a8;--highlight-bg: rgba(214, 222, 226, .7);--highlight-text: #2c2c2c;--bubble-user: #7b8fa1;--bubble-du: #ffffff;--panel-bg: rgba(255, 255, 255, .78);--panel-soft-bg: rgba(255, 255, 255, .62);--input-bg: #ffffff;--status-bg: #f2efe8;--border-color: rgba(44, 44, 44, .1);--danger: #a56a5c;--font-cn: "GenYoMin", "Noto Serif SC", "Songti SC", serif;--font-en: "Cormorant Garamond", serif}:root[data-theme=dark]{--bg-color: #1c1e22;--shell-bg: #202329;--paper-2: #2a2d32;--text-main: #dcd9d1;--text-sub: #858a8d;--accent-cold: #6f8390;--accent-warm: #7b7065;--highlight-bg: rgba(62, 77, 88, .74);--highlight-text: #e0e4e8;--bubble-user: #33424d;--bubble-du: #272a30;--panel-bg: rgba(39, 42, 48, .82);--panel-soft-bg: rgba(42, 45, 50, .72);--input-bg: #272a30;--status-bg: #25282e;--border-color: rgba(220, 217, 209, .12);--danger: #c0897c}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper-2);color:var(--text-main);font-family:var(--font-cn);letter-spacing:0}button,input,textarea,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed}::-webkit-scrollbar{width:0}.app-backdrop{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--paper-2)}.phone-shell{width:min(100%,420px);height:min(780px,calc(100vh - 48px));min-height:620px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color);border-radius:28px;background:var(--shell-bg);box-shadow:0 28px 80px #28282e2e}.page-host{min-height:0;flex:1;display:flex;flex-direction:column}.tab-bar{display:flex;flex-shrink:0;border-top:1px solid var(--border-color);background:var(--shell-bg)}.tab-item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 14px;border:0;background:transparent;color:var(--text-sub);cursor:pointer}.tab-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.tab-item span{font-size:10px}.tab-item.is-active{color:var(--accent-cold)}.bottom-nav{width:100%;min-height:52px;display:grid;grid-template-columns:repeat(3,1fr);flex-shrink:0;border-top:.5px solid rgba(44,44,44,.46);background:var(--shell-bg)}:root[data-theme=dark] .bottom-nav{border-top-color:#dcd9d152}.bottom-nav-item{min-width:0;display:flex;align-items:center;justify-content:center;border:0;border-right:.5px solid rgba(44,44,44,.28);background:transparent;color:var(--text-main);cursor:pointer;padding:8px 4px}:root[data-theme=dark] .bottom-nav-item{border-right-color:#dcd9d147}.bottom-nav-item:last-child{border-right:0}.bottom-nav-item svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bottom-nav-copy{display:none}.bottom-nav-copy strong{font-size:10px;font-weight:800;letter-spacing:0;text-transform:uppercase}.bottom-nav-copy small{font-size:10px;font-weight:400;letter-spacing:0}.bottom-nav-item.is-active{background:#4a525a;color:#fff}@keyframes du-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}@keyframes du-pulse{0%,to{box-shadow:0 0 0 2.5px #7b8fa12e}50%{box-shadow:0 0 0 5px #7b8fa10f}}@keyframes du-fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.app-backdrop{padding:0}.phone-shell{width:100%;height:100vh;min-height:100vh;border-radius:0;border:0;box-shadow:none}}@font-face{font-family:DukouHuiwenMincho;src:url(/assets/huiwen-mincho-improved-BtKUUinY.ttf) format("truetype");font-display:swap}.chat-root,.entry-root,.settings-root,.moments-root{min-height:0;flex:1;display:flex;flex-direction:column;background:var(--shell-bg);color:var(--text-main);line-height:1.8}.chat-root{position:relative;overflow:hidden}.chat-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--chat-background-image, none);background-position:center;background-size:cover;background-repeat:no-repeat;opacity:var(--chat-background-opacity, 0);filter:blur(var(--chat-background-blur, 0));transform:scale(1.03)}.chat-root>*{position:relative;z-index:1}.chat-root.chat-bg-mist{background:linear-gradient(180deg,#e8eff1d1,#f6f3eceb),var(--shell-bg)}.chat-root.chat-bg-paper{background:linear-gradient(180deg,#faf7eff5,#eeeae0e6),var(--shell-bg)}.chat-root.chat-bg-dusk{background:linear-gradient(180deg,#dfe5e8e0,#d5cabebd),var(--shell-bg)}.chat-root.chat-bg-mist .chat-header,.chat-root.chat-bg-paper .chat-header,.chat-root.chat-bg-dusk .chat-header{background:color-mix(in srgb,var(--shell-bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.du-avatar{flex-shrink:0;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));color:#fff;font-weight:500}.du-avatar img,.keepsake-mini-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.du-avatar.is-user{background:var(--bubble-user)}.avatar-preset-moon{background:linear-gradient(145deg,#70889a,#465e70)}.avatar-preset-harbor{background:linear-gradient(145deg,#8ba7b0,#54717c)}.avatar-preset-paper{background:linear-gradient(145deg,#c8bca7,#8d7f6e)}.avatar-preset-night{background:linear-gradient(145deg,#565a66,#242831)}.du-avatar-button{position:relative;flex-shrink:0;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.du-avatar-button .du-avatar{width:38px;height:38px;font-size:15px}.du-avatar-dot{position:absolute;top:1px;right:1px;width:8px;height:8px;border:2px solid var(--shell-bg);border-radius:50%;background:#d9bd63;box-shadow:0 0 0 1px #d9bd6347}.chat-header{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:11px;padding:11px 16px;border-bottom:1px solid var(--border-color);background:var(--chat-header-bg, var(--shell-bg));backdrop-filter:blur(var(--chat-header-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-header-blur, 0px))}@media(max-width:480px){.chat-header{gap:6px;padding:8px 10px}.chat-header-title strong{font-size:13px}.chat-header-actions{gap:4px}}.chat-header-title{flex:1;min-width:0}.chat-header-title-row{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.chat-header-title strong{flex-shrink:1;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500}.chat-header-title span{display:block;color:var(--text-sub);font-size:10px}.chat-header-title .is-typing{color:var(--accent-cold)}.chat-header-actions{flex-shrink:0;display:flex;align-items:center;gap:6px}.chat-icon-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:50%;background:transparent;color:var(--text-sub);cursor:pointer}.chat-icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ghost-button,.text-button,.icon-button{border:1px solid var(--border-color);background:transparent;color:var(--text-sub);cursor:pointer}.ghost-button{border-radius:8px;padding:5px 10px;font-size:11px}.text-button{border-color:var(--accent-cold);border-radius:999px;padding:9px 24px;color:var(--accent-cold);font-size:13px}.icon-button{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}.message-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 14px 10px}.chat-popover{flex-shrink:0;margin:10px 14px 0;padding:12px 13px;border:1px solid var(--border-color);border-radius:10px;background:var(--panel-bg);box-shadow:0 12px 34px #28282e1a}.chat-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.chat-popover-head strong{font-size:13px;font-weight:500}.chat-popover-head button{width:24px;height:24px;border:0;background:transparent;color:var(--text-sub);cursor:pointer;font-size:18px;line-height:1}.emotion-current-head span,.emotion-current-head small,.popover-note,.emotion-awareness-note{color:var(--text-sub);font-size:10px}.popover-note{margin:9px 0 0;line-height:1.5}.emotion-barometer{position:relative;height:132px;margin-bottom:12px;border:1px solid var(--border-color);border-radius:8px;background:#ffffff6b;padding:15px 13px 28px}:root[data-theme=dark] .emotion-barometer{background:#ffffff08}.emotion-barometer svg{position:absolute;top:15px;right:19px;bottom:33px;left:19px;width:calc(100% - 38px);height:calc(100% - 48px);overflow:visible}.emotion-barometer path{fill:none;vector-effect:non-scaling-stroke}.emotion-chart-grid{stroke:#8a86801f;stroke-width:.65;stroke-dasharray:2 4}.emotion-chart-tick{stroke:#8a868017;stroke-width:.55;stroke-dasharray:1 6}.emotion-chart-axis{stroke:#8a868038;stroke-width:.85}.emotion-barometer polyline{fill:none;stroke:var(--accent-cold);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.emotion-barometer img{position:absolute;z-index:1;width:20px;height:20px;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 6px rgba(40,40,46,.08))}.emotion-time-row{position:absolute;left:10px;right:10px;bottom:8px;display:flex;justify-content:space-between;color:#8a8680c7;font-size:8.5px;font-variant-numeric:tabular-nums;line-height:1}.emotion-current{display:grid;gap:9px}.emotion-current-head{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px}.emotion-current-head strong{font-size:18px;font-weight:500}.emotion-percent-list{display:grid;gap:7px}.emotion-percent-row{display:grid;grid-template-columns:24px 34px minmax(0,1fr) 38px;align-items:center;gap:8px}.emotion-percent-row img{width:22px;height:22px}.emotion-percent-row span,.emotion-percent-row strong{font-size:11px;font-weight:400}.emotion-percent-row div{height:6px;overflow:hidden;border-radius:999px;background:#8a868029}.emotion-percent-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78))}.emotion-awareness-note{display:block;margin-top:10px}.emotion-popover{position:absolute;top:64px;left:14px;right:14px;z-index:42;max-height:min(68%,430px);overflow-y:auto;margin:0;border-radius:14px;background:#fbfaf6f5;box-shadow:0 18px 44px #28282e24}.emotion-popover .chat-popover-head{margin-bottom:10px}.emotion-popover .chat-popover-head div{min-width:0;display:grid;gap:1px}.emotion-popover .chat-popover-head small{color:var(--text-sub);font-size:10px}.emotion-popover .emotion-barometer{height:154px;margin-bottom:12px;background:#ffffff85}.emotion-popover .emotion-current{padding:12px 13px;border:1px solid var(--border-color);border-radius:8px;background:#ffffff85}.emotion-popover .emotion-awareness-note{text-align:center}:root[data-theme=dark] .emotion-popover,:root[data-theme=dark] .emotion-popover .emotion-barometer,:root[data-theme=dark] .emotion-popover .emotion-current{background:#ffffff0d}.day-divider{margin-bottom:4px;text-align:center;color:var(--text-sub);font-size:10px}.bubble-row{display:flex;align-items:flex-end;gap:7px}.bubble-row.is-highlighted .bubble{box-shadow:0 0 0 2px #69849638,0 10px 28px #2f383e1f}.bubble-row.is-user{flex-direction:row-reverse}.bubble-row.is-selected .bubble{box-shadow:0 0 0 2px #d9bd636b}.bubble-avatar-spacer{width:30px;flex-shrink:0}.bubble-row.is-user .bubble-avatar-spacer{width:30px}.bubble-stack{max-width:74%;display:flex;flex-direction:column;gap:3px}.bubble-row.is-user .bubble-stack{align-items:flex-end}.bubble-send-line{display:flex;align-items:center;gap:7px;max-width:100%}.bubble-row.is-user .bubble-send-line{justify-content:flex-end}.bubble-failed-button{width:19px;height:19px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;background:#d94a44;color:#fff;cursor:pointer;padding:0;font-size:13px;font-family:Arial,sans-serif;font-weight:700;line-height:1;box-shadow:0 4px 10px #9f2d283d}.bubble-failed-button:active{transform:scale(.96)}.bubble-select{align-self:flex-start;display:grid;place-items:center;width:20px;height:20px;margin-bottom:1px;border:1px solid var(--border-color);border-radius:50%;background:var(--panel-soft-bg);cursor:pointer;padding:0}.bubble-row.is-user .bubble-select{align-self:flex-end}.bubble-select span{width:10px;height:10px;border-radius:50%}.bubble-select.is-selected{border-color:#d9bd63e6}.bubble-select.is-selected span{background:#d9bd63}.bubble{position:relative;isolation:isolate;min-height:32px;padding:9px 13px;overflow:hidden;border:1px solid var(--border-color);border-radius:16px 16px 16px 3px;background:transparent;color:var(--text-main);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.bubble:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";border-radius:inherit;background:var(--chat-bubble-du-bg, var(--bubble-du));backdrop-filter:blur(var(--chat-bubble-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-bubble-blur, 0px))}.bubble-row.is-user .bubble{border-color:transparent;border-radius:16px 16px 3px;color:#fff}.bubble-row.is-user .bubble:before{background:var(--chat-bubble-user-bg, var(--bubble-user))}.bubble-content,.bubble-quote{position:relative;z-index:1}.bubble.is-blocked-note,.bubble-row.is-user .bubble.is-blocked-note{width:min(70vw,312px);min-height:82px;padding:22px 24px 18px;overflow:hidden;border:0;border-radius:5px 7px 4px 6px;background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.62),transparent 28%),linear-gradient(104deg,#fffef6f7,#f3eddaf0),repeating-linear-gradient(2deg,rgba(112,101,78,.045) 0 1px,transparent 1px 21px);clip-path:polygon(1.5% 7%,11% 3.5%,25% 5.2%,43% 2.8%,61% 5.4%,78% 3.6%,98.5% 7.6%,97.8% 89%,87% 96%,70% 93.2%,54% 97.4%,36% 94%,16% 97%,2.2% 90%);color:#51493d;box-shadow:0 11px 24px #3a302224,inset 0 1px #ffffffad;font-family:DukouHuiwenMincho,Kaiti SC,STKaiti,cursive,serif;font-size:15.5px;line-height:1.92;letter-spacing:.035em;transform:rotate(-.18deg)}.bubble.is-blocked-note.is-note-medium,.bubble-row.is-user .bubble.is-blocked-note.is-note-medium{font-size:14.5px;line-height:1.82}.bubble.is-blocked-note.is-note-compact,.bubble-row.is-user .bubble.is-blocked-note.is-note-compact{font-size:13.5px;line-height:1.72}.bubble.is-blocked-note:before,.bubble-row.is-user .bubble.is-blocked-note:before{position:absolute;top:10px;right:12px;bottom:10px;left:12px;z-index:1;content:"";pointer-events:none;border-top:1px solid rgba(111,98,74,.08);border-bottom:1px solid rgba(111,98,74,.07);border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:.74}.bubble.is-blocked-note:after,.bubble-row.is-user .bubble.is-blocked-note:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(92deg,transparent 0 22%,rgba(96,82,58,.09) 24%,transparent 27% 66%,rgba(255,255,255,.32) 69%,transparent 73%),repeating-linear-gradient(174deg,rgba(92,80,58,.08) 0 1px,transparent 1px 13px);mix-blend-mode:multiply;opacity:.42}.blocked-note-content,.blocked-note-signature{position:relative;z-index:1;display:block}.blocked-note-content{font-size:inherit;white-space:pre-wrap}.blocked-note-signature{margin-top:10px;color:#51493dad;font-size:13px;line-height:1.35;text-align:right}.reasoning-panel{width:min(100%,320px);border-left:2px solid rgba(105,132,150,.35);padding:2px 0 2px 9px;color:var(--text-sub);font-size:11px}.reasoning-panel button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;font-size:11px}.reasoning-panel button:disabled{cursor:default}.reasoning-panel button span:first-child{color:var(--accent-cold)}.reasoning-body{max-height:116px;overflow-y:auto;margin-top:5px;padding:7px 9px;border:1px solid var(--border-color);border-radius:8px;background:#ffffff52;color:var(--text-sub);font-size:11px;line-height:1.6;white-space:pre-wrap}.bubble-quote{width:100%;display:grid;gap:2px;margin-bottom:8px;border:0;border-left:2px solid rgba(105,132,150,.32);background:transparent;color:inherit;cursor:pointer;padding-left:8px;text-align:left}.bubble-row.is-user .bubble-quote{border-left-color:#ffffff85}.bubble-quote span{opacity:.72;font-size:10px}.bubble-quote strong{font-size:12px;font-weight:500;line-height:1.35}.bubble-quote.is-static{cursor:default}.voice-bubble{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-width:120px;max-width:240px;padding:10px 14px;border:0;border-radius:18px;background:var(--bubble-du);color:var(--text-main);font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s}.bubble-row.is-user .voice-bubble{background:var(--bubble-user)}.voice-bubble:hover{filter:brightness(.96)}.voice-bubble:disabled{cursor:wait;opacity:.7}.voice-bubble-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff59;font-size:13px}.voice-bubble-icon.is-playing{background:#ffffff8c}.voice-bubble-wave{flex:1;display:flex;align-items:flex-end;gap:2px;height:20px;min-width:40px}.voice-bubble-wave i{flex:1;min-width:2px;border-radius:1px;background:#ffffff73;animation:voice-wave .9s ease-in-out infinite alternate}.voice-bubble-wave i:nth-child(1){height:40%;animation-delay:0s}.voice-bubble-wave i:nth-child(2){height:70%;animation-delay:.18s}.voice-bubble-wave i:nth-child(3){height:100%;animation-delay:.36s}.voice-bubble-wave i:nth-child(4){height:60%;animation-delay:.54s}.voice-bubble-wave i:nth-child(5){height:85%;animation-delay:.72s}@keyframes voice-wave{0%{transform:scaleY(.5)}to{transform:scaleY(1)}}.voice-bubble-duration{flex-shrink:0;font-size:10px;color:#fff9}.bubble.is-voice-bubble{padding:0;background:transparent;border:0;box-shadow:none}.bubble-meta{position:relative;display:flex;align-items:center;gap:4px;color:var(--text-sub);font-size:10px}.bubble-meta .is-read{color:var(--accent-cold)}.bubble-meta .is-failed{color:#c94b45}.bubble-action,.bubble-more-button{min-height:16px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#7c7f81e6;cursor:pointer;padding:0 0 0 4px;font-size:10px;line-height:1}.bubble-more{position:relative;display:inline-flex;align-items:center}.bubble-more-button{min-width:18px;color:#666a6cf5;font-size:12px;font-weight:700;letter-spacing:1.1px}.bubble-more-menu{position:absolute;left:0;bottom:calc(100% + 7px);z-index:26;min-width:136px;overflow:hidden;border:1px solid rgba(101,119,132,.16);border-radius:8px;background:#fbfaf6f5;box-shadow:0 12px 28px #28282e1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bubble-row.is-user .bubble-more-menu{right:0;left:auto}.bubble-more-menu button{width:100%;display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid rgba(101,119,132,.1);background:transparent;color:#626567e0;cursor:pointer;padding:8px 10px;text-align:left;font-size:11px}.bubble-more-menu button:last-child{border-bottom:0}.bubble-more-menu button:hover:not(:disabled),.bubble-more-menu button:focus-visible{background:#65778414;color:var(--accent-cold)}.bubble-more-menu button:disabled{cursor:default;opacity:.36}.bubble-more-icon{display:grid;place-items:center;width:14px;height:14px;flex-shrink:0}.bubble-more-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}:root[data-theme=dark] .bubble-more-menu{background:#232529f5}.chat-confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#26282a2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-confirm-dialog{width:min(280px,100%);border:1px solid var(--border-color);border-radius:12px;background:#fbfaf6fa;box-shadow:0 18px 48px #28282e29;padding:18px;text-align:center}.chat-confirm-dialog h2{margin:0;color:var(--text-main);font-size:15px;font-weight:500}.chat-confirm-dialog p{margin:10px 0 16px;color:var(--text-sub);font-size:12px;line-height:1.7}.chat-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-confirm-actions button{min-width:0;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-sub);cursor:pointer;padding:8px 12px;font-size:12px}.chat-confirm-actions .is-danger{border-color:#a56a5c52;color:var(--danger)}:root[data-theme=dark] .chat-confirm-dialog{background:#232529fa}.typing-dots{display:flex;align-items:center;gap:5px;padding:11px 16px;border:1px solid var(--border-color);border-radius:16px 16px 16px 3px;background:var(--chat-bubble-du-bg, var(--bubble-du));backdrop-filter:blur(var(--chat-bubble-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-bubble-blur, 0px))}.typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-sub);animation:du-bounce 1.3s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}.message-input-area{flex-shrink:0;border-top:1px solid var(--border-color);background:var(--chat-input-bg, var(--shell-bg));backdrop-filter:blur(var(--chat-input-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-input-blur, 0px))}.message-image-preview{display:flex;align-items:flex-start;gap:6px;padding:6px 12px 0}.message-image-preview img{max-width:120px;max-height:90px;border-radius:6px;object-fit:cover;border:1px solid var(--border-color)}.message-image-preview button{width:20px;height:20px;border:none;background:var(--danger);color:#fff;border-radius:50%;cursor:pointer;font-size:12px;display:grid;place-items:center;flex-shrink:0}.bubble-image{max-width:100%;max-height:240px;border-radius:8px;display:block;margin-bottom:6px;cursor:pointer}.message-input-bar{display:flex;align-items:flex-end;gap:8px;padding:9px 13px 10px}.message-plus-button{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;margin-bottom:5px;border:0;background:transparent;color:var(--text-sub);cursor:pointer;padding:0}.message-plus-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.message-plus-button.is-open svg{transform:rotate(45deg)}.message-tool-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 13px 14px 51px}.message-tool-panel button{min-width:0;display:grid;place-items:center;border:0;border-radius:8px;background:var(--panel-soft-bg);color:var(--text-sub);cursor:pointer;padding:10px}.message-tool-panel span{display:grid;place-items:center}.message-tool-panel svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.message-input-shell{flex:1;min-width:0;padding:8px 14px;border:1px solid var(--border-color);border-radius:20px;background:var(--chat-input-bg, var(--input-bg));backdrop-filter:blur(var(--chat-input-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-input-blur, 0px))}.message-input-quote{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;margin-bottom:8px;border-left:2px solid var(--accent-cold);padding-left:9px}.message-input-quote div{min-width:0;display:grid;gap:2px}.message-input-quote span{color:var(--text-sub);font-size:10px}.message-input-quote strong{overflow:hidden;color:var(--text-main);font-size:12px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.message-input-quote button{width:24px;height:24px;border:0;background:transparent;color:var(--text-sub);cursor:pointer;font-size:18px;line-height:1}.message-input-shell textarea{width:100%;max-height:120px;resize:none;border:0;outline:0;background:transparent;color:var(--text-main);font-size:14px;line-height:1.6}.send-button{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--accent-warm);color:#fff;cursor:pointer}.send-button:disabled{background:var(--accent-warm)}.send-button svg{width:14px;height:14px}.send-button.is-voice{background:var(--accent-warm)}.send-button.is-voice svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.token-panel{flex-shrink:0;border-bottom:1px solid var(--border-color);background:var(--shell-bg)}.token-panel button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border:0;background:transparent;color:var(--text-sub);cursor:pointer;font-size:10px}.token-details{padding:0 16px 10px;color:var(--text-sub);font-size:10px}.status-banner{flex-shrink:0;padding:7px 16px;border-bottom:1px solid var(--border-color);background:var(--status-bg);color:var(--text-sub);text-align:center;font-size:11px}.status-banner.is-error{color:var(--danger)}.selection-bar{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-color);background:var(--panel-soft-bg)}.selection-bar div{min-width:0;display:grid;gap:1px}.selection-bar strong{font-size:12px;font-weight:500}.selection-bar span{overflow:hidden;color:var(--text-sub);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.selection-bar button{border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-main);cursor:pointer;padding:5px 10px;font-size:11px}.selection-bar button:disabled{color:var(--text-sub);opacity:.6}.chat-placeholder-toast{position:absolute;left:18px;right:18px;bottom:76px;z-index:30;padding:9px 12px;border:1px solid var(--border-color);border-radius:999px;background:var(--panel-bg);color:var(--text-sub);text-align:center;font-size:11px;box-shadow:0 12px 34px #28282e1f}.chat-space-pill{flex-shrink:0;width:fit-content;max-width:112px;border:1px solid rgba(101,119,132,.24);border-radius:999px;background:#f8f6efa8;color:var(--text-sub);cursor:pointer;padding:2px 8px;font-size:10px;line-height:1.4}.chat-space-inline-note{align-self:stretch;display:grid;gap:2px;margin:0 4px 4px;padding:8px 11px;border:1px solid rgba(101,119,132,.16);border-radius:8px;background:#f8f6ef94}.chat-space-inline-note strong{font-size:12px;font-weight:500}.chat-space-inline-note span{color:var(--text-sub);font-size:10px;line-height:1.5}.scroll-bottom-button{position:absolute;left:18px;bottom:148px;z-index:22;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(101,119,132,.26);border-radius:50%;background:#fbfaf6eb;color:var(--accent-cold);cursor:pointer;font-size:17px;box-shadow:0 12px 24px #28282e1f}.chat-context-actions{align-self:center;display:flex;align-items:center;gap:16px;padding:4px 2px 2px}.chat-context-actions button{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#5c5e5fe6;cursor:pointer;padding:0}.chat-context-actions button:hover:not(:disabled),.chat-context-actions button:focus-visible{background:#65778414;color:var(--accent-cold)}.chat-context-actions button:disabled{cursor:default;opacity:.35}.chat-context-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.edit-user-panel{flex-shrink:0;display:grid;gap:9px;padding:10px 16px 12px;border-top:1px solid rgba(138,134,128,.12);background:#f7f6f0f0}.edit-user-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.edit-user-panel header div{display:grid;gap:2px}.edit-user-panel strong{color:var(--text-main);font-family:var(--font-cn);font-size:13px;font-weight:500}.edit-user-panel span{color:var(--text-sub);font-size:10px;line-height:1.5}.edit-user-panel textarea{min-height:68px;resize:vertical;border:1px solid rgba(101,119,132,.18);border-radius:8px;outline:0;background:#ffffff9e;color:var(--text-main);font:inherit;font-size:13px;line-height:1.7;padding:9px 10px}.edit-user-actions{display:flex;justify-content:flex-end;gap:7px}.edit-user-panel button{border:1px solid var(--border-color);border-radius:999px;background:#ffffff75;color:var(--text-sub);cursor:pointer;padding:5px 10px;font-size:10px}.edit-user-panel header button{display:grid;place-items:center;width:24px;height:24px;padding:0}.edit-user-panel button.primary{background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));color:#fff}.edit-user-panel button:disabled{opacity:.45}.blocked-note-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:42;display:grid;place-items:center;padding:22px;background:#2122221f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.blocked-note-dialog{width:min(86vw,340px);display:grid;gap:11px;border:1px solid rgba(126,116,100,.2);border-radius:8px;background:linear-gradient(112deg,#ffffffbd,#f2eee2f0),repeating-linear-gradient(0deg,rgba(126,116,100,.05) 0 1px,transparent 1px 20px);color:#4d4a43;padding:13px;box-shadow:0 18px 42px #302b222e}.blocked-note-dialog header{display:flex;align-items:center;justify-content:space-between}.blocked-note-dialog strong{font-size:14px;font-weight:500}.blocked-note-dialog header button{border:0;background:transparent;color:#4d4a43ad;cursor:pointer;padding:0;font-size:18px;line-height:1}.blocked-note-dialog textarea{min-height:98px;resize:vertical;border:1px solid rgba(126,116,100,.18);border-radius:6px;outline:0;background:#ffffff5c;color:inherit;padding:13px 14px;font-family:DukouHuiwenMincho,Kaiti SC,STKaiti,cursive,serif;font-size:15px;line-height:1.9}.blocked-note-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.blocked-note-dialog-actions button{border:1px solid rgba(126,116,100,.24);border-radius:999px;background:#ffffff6b;color:#625a4c;cursor:pointer;padding:6px 12px;font-size:11px}.blocked-note-dialog-actions .primary{border-color:#69849652;background:#6984962e;color:#546a78}.blocked-note-dialog-actions button:disabled{opacity:.45;cursor:default}.chat-space-drawer-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:54;display:flex;justify-content:flex-start;background:#191c1f2e}.chat-space-drawer{width:min(78%,286px);height:100%;display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:#fbfaf6fa;box-shadow:18px 0 38px #28282e29}.chat-space-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 12px;border-bottom:1px solid var(--border-color)}.chat-space-drawer header strong{display:block;font-size:15px;font-weight:500}.chat-space-drawer header span{color:var(--text-sub);font-size:10px}.chat-space-drawer header button{width:28px;height:28px;border:0;background:transparent;color:var(--text-sub);cursor:pointer;font-size:20px}.chat-space-list{display:grid;gap:8px;padding:12px}.chat-space-list button{display:grid;gap:3px;width:100%;border:1px solid rgba(101,119,132,.16);border-radius:8px;background:#ffffff75;color:var(--text-main);cursor:pointer;padding:11px 12px;text-align:left}.chat-space-list button.is-active{border-color:#65778461;background:#e2e8ea9e}.chat-space-list button:disabled{opacity:.54}.chat-space-list span{color:var(--text-sub);font-size:10px}.chat-space-list strong{font-size:14px;font-weight:500}.chat-space-list small{color:var(--text-sub);font-size:11px;line-height:1.5}.chat-history-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;flex-direction:column;overflow:hidden;background:inherit;color:var(--text-main)}.chat-history-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--chat-background-image, none);background-position:center;background-size:cover;background-repeat:no-repeat;opacity:var(--chat-background-opacity, 0);filter:blur(var(--chat-background-blur, 0));transform:scale(1.03)}.chat-history-overlay>*{position:relative;z-index:1}.history-overlay-header{flex-shrink:0;min-height:54px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--border-color);background:var(--chat-header-bg, var(--shell-bg));backdrop-filter:blur(var(--chat-header-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-header-blur, 0px))}.history-overlay-header>button{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-main);cursor:pointer;font-size:24px;line-height:1}.history-overlay-header svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.history-overlay-header div{min-width:0;display:grid;gap:1px;text-align:center}.history-overlay-header strong{overflow:hidden;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.history-overlay-header span{overflow:hidden;color:var(--text-sub);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.history-search-panel{flex-shrink:0;display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-color);background:var(--chat-input-bg, var(--shell-bg));backdrop-filter:blur(var(--chat-input-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-input-blur, 0px))}.history-keyword-shell{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-color);border-radius:999px;background:var(--chat-input-bg, var(--input-bg));backdrop-filter:blur(var(--chat-input-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-input-blur, 0px))}.history-search-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:8px}.history-keyword-shell svg{flex-shrink:0;width:15px;height:15px;fill:none;stroke:var(--text-sub);stroke-width:1.45;stroke-linecap:round}.history-keyword-shell input,.history-filter-grid input,.history-filter-grid select{min-width:0;border:0;outline:0;background:transparent;color:var(--text-main);font-size:12px}.history-keyword-shell input{flex:1}.history-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.history-filter-grid input,.history-filter-grid select,.history-search-submit,.history-load-button{min-width:0;min-height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--chat-input-bg, var(--panel-soft-bg));backdrop-filter:blur(var(--chat-input-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-input-blur, 0px));color:var(--text-main);cursor:pointer;padding:6px 7px;font-size:11px}.history-search-submit,.history-load-button{color:var(--accent-cold)}.history-search-submit:disabled,.history-load-button:disabled{color:var(--text-sub);cursor:default}.history-result-list,.history-context-list{flex:1;min-height:0;overflow-y:auto}.history-result-list{padding:10px 14px 18px}.history-result-day{display:grid;gap:8px;margin-bottom:14px}.history-result-day-label{justify-self:center;padding:2px 10px;border-radius:999px;background:#8a86801f;color:var(--text-sub);font-size:10px;line-height:1.5}.history-result-card{width:100%;display:flex;align-items:flex-start;gap:8px;border:0;background:transparent;color:var(--text-main);cursor:pointer;padding:3px 0;text-align:left}.history-result-card.is-user{flex-direction:row-reverse;text-align:right}.history-result-avatar{flex-shrink:0;width:28px;height:28px;margin-top:5px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));color:#fff;font-size:11px}.history-result-avatar img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.history-result-card.is-user .history-result-avatar{background:var(--accent-warm);color:var(--text-main)}.history-result-card-body{max-width:76%;display:grid;gap:3px}.history-result-card-meta{display:flex;align-items:baseline;gap:8px;color:var(--text-sub);font-size:10px}.history-result-card.is-user .history-result-card-meta{justify-content:flex-end}.history-result-card-meta strong{color:var(--text-main);font-size:11px;font-weight:500}.history-result-card-meta time{color:var(--text-sub);font-size:10px;font-variant-numeric:tabular-nums}.history-result-bubble{position:relative;isolation:isolate;display:block;padding:9px 12px;overflow:hidden;border:1px solid var(--border-color);border-radius:14px 14px 14px 3px;background:transparent;color:var(--text-main);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.history-result-bubble:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";border-radius:inherit;background:var(--chat-bubble-du-bg, var(--bubble-du));backdrop-filter:blur(var(--chat-bubble-blur, 0px));-webkit-backdrop-filter:blur(var(--chat-bubble-blur, 0px))}.history-result-bubble>span{position:relative;z-index:1}.history-result-card.is-user .history-result-bubble{border-color:transparent;border-radius:14px 14px 3px;color:#fff}.history-result-card.is-user .history-result-bubble:before{background:var(--chat-bubble-user-bg, var(--bubble-user))}.history-context-viewer{min-height:0;flex:1;display:flex;flex-direction:column}.history-context-list{display:flex;flex-direction:column;gap:10px;padding:14px 14px 18px}.history-context-list .bubble-row{flex-shrink:0}.history-load-button{align-self:center;width:auto;min-width:74px;margin:6px auto;padding:6px 14px;border-radius:999px}.history-empty{margin:24px 16px;color:var(--text-sub);text-align:center;font-size:12px}.history-toast{bottom:18px}.keepsake-page{position:absolute;top:0;right:0;bottom:0;left:0;z-index:42;display:flex;flex-direction:column;background:var(--shell-bg)}.keepsake-page.is-list{background-color:#f8f8f4;background-image:linear-gradient(#fbfaf6eb,#f7f8f4f0),url(/assets/keepsake-paper-blue-C4CE7hyi.jpg);background-position:center;background-size:cover}.keepsake-page-header{flex-shrink:0;height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border-color);background:#fff}.keepsake-page.is-list .keepsake-page-header{height:62px;padding:0 24px;border-bottom-color:#536d810f;background:#fbfaf6e6}.keepsake-page-header button{width:28px;height:28px;border:0;background:transparent;color:var(--text-main);cursor:pointer;font-size:25px;line-height:1}.keepsake-page-header .keepsake-delete-button{width:auto;min-width:44px;margin-left:auto;padding:0 8px;border:1px solid rgba(186,86,76,.2);border-radius:999px;background:#ffffff94;color:#b9544b;font-size:12px;line-height:1}.keepsake-page-header .keepsake-delete-button:active{background:#ba564c1a}.keepsake-page-header div{min-width:0;display:grid;gap:1px}.keepsake-page-header strong{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.keepsake-page-header span{color:var(--text-sub);font-size:9px}.keepsake-page.is-list .keepsake-page-header strong{font-size:15px}.keepsake-page.is-list .keepsake-page-header span{font-size:9px}.keepsake-page-body,.keepsake-detail{flex:1;min-height:0;overflow-y:auto;padding:14px}.keepsake-page-body{padding-top:22px}.keepsake-page.is-list .keepsake-page-body{padding:28px 24px 24px;background:transparent}.keepsake-list{display:grid;gap:16px}.keepsake-page.is-list .keepsake-list{gap:14px}.keepsake-list-card{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:stretch;min-height:86px;padding:11px 12px;border:1px solid rgba(105,132,150,.24);border-radius:7px;background-image:linear-gradient(#ffffff8a,#ffffff7a),url(/assets/keepsake-paper-blue-C4CE7hyi.jpg);background-position:center;background-size:cover;box-shadow:none}.keepsake-page.is-list .keepsake-list-card{grid-template-columns:72px minmax(0,1fr);gap:18px;min-height:94px;overflow:visible;padding:13px 18px 12px;border:1px solid rgba(83,109,129,.14);border-radius:3px;background:#fffffcc7;background-image:none}.keepsake-list-card:before{content:"";position:absolute;top:-13px;left:18px;width:74px;height:13px;border:1px solid rgba(105,132,150,.22);border-bottom:0;border-radius:7px 7px 0 0;background:#fff}.keepsake-page.is-list .keepsake-list-card:before{content:"";position:absolute;top:17px;bottom:17px;left:12px;width:1px;border:0;border-radius:999px;background:#536d8129}.keepsake-page.is-list .keepsake-list-card:after{content:none}.keepsake-date-button{display:grid;align-content:center;gap:5px;min-height:62px;border:0;border-right:1px solid rgba(105,132,150,.18);border-radius:0;background:transparent;color:var(--text-main);cursor:pointer;padding:4px 10px 4px 2px;text-align:left}.keepsake-page.is-list .keepsake-date-button{align-content:start;gap:2px;min-height:68px;border-right:1px solid rgba(83,109,129,.1);padding:4px 13px 4px 10px;font-variant-numeric:tabular-nums}.keepsake-date-button strong{font-size:13px;font-weight:500}.keepsake-page.is-list .keepsake-date-button strong{margin-top:1px;color:#24384a;font-size:16px;font-weight:400;line-height:1.15}.keepsake-date-button span,.keepsake-empty,.keepsake-message-stack time{color:var(--text-sub);font-size:10px}.keepsake-page.is-list .keepsake-date-button span{color:#536d81c7;font-size:9px;line-height:1.3}.keepsake-date-year{color:#536d8185}.keepsake-message-count{margin-top:13px}.keepsake-edit-fields{min-width:0;display:grid;gap:5px}.keepsake-page.is-list .keepsake-edit-fields{align-content:stretch;grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:68px;padding:0 0 1px}.keepsake-edit-fields input,.keepsake-edit-fields textarea{width:100%;min-width:0;border:0;border-bottom:1px solid rgba(105,132,150,.18);border-radius:0;outline:0;background:transparent;color:var(--text-main);padding:3px 0 4px;resize:none;font-size:12px;line-height:1.45}.keepsake-page.is-list .keepsake-edit-fields input,.keepsake-page.is-list .keepsake-edit-fields textarea{border-bottom-color:#536d811f;color:#24384a;font-size:11px;line-height:1.7}.keepsake-page.is-list .keepsake-edit-fields input{width:78%;padding:0 0 6px;font-size:13px;line-height:1.45}.keepsake-page.is-list .keepsake-edit-fields textarea{justify-self:end;align-self:end;width:min(54%,190px);min-height:24px;border-bottom:0;padding:7px 0 0;color:#24384a99;text-align:right;font-size:10px;line-height:1.55;background:linear-gradient(#536d811f,#536d811f) right top / 42px 1px no-repeat,transparent}.keepsake-empty{display:grid;place-items:center;min-height:180px}.keepsake-detail{display:block;background-image:linear-gradient(#f4f1eb7a,#f4f1eb70),url(/assets/keepsake-paper-blue-C4CE7hyi.jpg);background-position:center;background-size:cover}.keepsake-chat-list{position:relative;box-sizing:border-box;display:flex;flex-direction:column;flex:0 0 auto;gap:13px;min-height:100%;padding:18px 18px 28px 46px;background-image:radial-gradient(circle,rgba(244,241,235,.96) 0 3.2px,rgba(105,132,150,.28) 3.4px 4px,transparent 4.2px),linear-gradient(90deg,rgba(105,132,150,.22) 0 1px,transparent 1px),repeating-linear-gradient(0deg,transparent 0 31px,rgba(105,132,150,.13) 31px 32px);background-position:14px 24px,34px 0,0 12px;background-repeat:repeat-y,no-repeat,repeat;background-size:12px 58px,auto,auto}.keepsake-chat-list:after{content:"";position:absolute;left:31px;top:0;bottom:0;z-index:0;width:1px;background:#69849647}.keepsake-chat-list>*{position:relative;z-index:1}.keepsake-message-row{display:flex;align-items:flex-end;gap:7px}.keepsake-message-row.is-user{flex-direction:row-reverse}.keepsake-mini-avatar{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));color:#fff;font-size:11px}.keepsake-message-stack{max-width:74%;display:grid;gap:2px}.keepsake-message-row.is-user .keepsake-message-stack{justify-items:end}.keepsake-message-bubble{min-height:30px;padding:8px 12px;border:1px solid rgba(105,132,150,.16);border-radius:15px 15px 15px 3px;background:#ffffffc7;color:#2c2c2c;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.keepsake-message-row.is-user .keepsake-message-bubble{border-color:transparent;border-radius:15px 15px 3px;background:#7b8fa1f5;color:#fff}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#28282e33}.memory-drawer{position:absolute;top:0;right:0;z-index:41;width:88%;height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border-color);background:var(--shell-bg);box-shadow:-18px 0 50px #28282e24;animation:drawer-in .22s ease}@keyframes drawer-in{0%{transform:translate(18px);opacity:.7}to{transform:translate(0);opacity:1}}.drawer-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.drawer-header strong{font-size:14px;font-weight:500}.drawer-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:16px 20px}.memory-card{padding:11px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-bg)}.memory-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}.memory-tag{padding:2px 7px;border-radius:999px;background:var(--highlight-bg);color:var(--accent-cold);font-size:10px}.memory-card p{margin:5px 0 4px;color:var(--text-main);font-size:13px;line-height:1.65}.memory-card time,.empty-note{color:var(--text-sub);font-size:10px}.settings-root{position:relative;overflow:hidden;padding:0}.moments-root{overflow-y:auto;padding:20px 0}.settings-home-header,.settings-sub-header{flex-shrink:0;border-bottom:1px solid var(--border-color);background:var(--shell-bg)}.settings-home-header{padding:18px 20px 14px}.settings-home-header span{display:block;color:var(--text-sub);font-size:10px;letter-spacing:.1em}.settings-home-header h1{margin:2px 0 0;font-size:24px;font-weight:500}.settings-sub-header{min-height:54px;display:grid;grid-template-columns:44px 1fr 68px;align-items:center;padding:0 10px}.settings-sub-header strong{text-align:center;font-size:14px;font-weight:500}.settings-back-button,.settings-save-button,.settings-fold-button,.settings-entry-row,.context-log-item>button{border:0;background:transparent;cursor:pointer}.settings-back-button{width:38px;height:38px;color:var(--text-main);font-size:28px;line-height:1}.settings-save-button{color:var(--accent-cold);font-size:13px}.settings-header-spacer{width:68px}.settings-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 0 26px}.settings-model-card{margin:0 16px 22px;padding:15px 16px 13px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg)}.settings-model-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-model-card-head small{display:block;color:var(--text-sub);font-size:10px}.settings-model-card-head strong{display:block;margin-top:2px;font-size:18px;font-weight:500}.settings-model-card p{margin:9px 0 0;color:var(--text-sub);font-size:11px;line-height:1.6}.transport-quick-toggle{display:block;width:100%;margin:10px 0 4px;padding:9px 12px;border:2px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}.transport-quick-toggle.is-mock{border-color:#f59e0b;background:#fef3c7;color:#92400e}.transport-quick-toggle.is-live{border-color:#10b981;background:#d1fae5;color:#065f46}.settings-model-meta{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:5px 0;border-top:1px solid var(--border-color);font-size:12px}.settings-model-meta span{color:var(--text-sub)}.settings-model-meta strong{min-width:0;overflow-wrap:anywhere;font-weight:400}.settings-status{color:var(--text-sub)}.settings-status.is-success{color:var(--accent-cold)}.settings-status.is-error{color:var(--danger)}.settings-status.is-testing,.settings-status.is-preview{color:var(--accent-warm)}.settings-section{margin-bottom:22px}.settings-section-title{padding:0 20px;margin-bottom:9px;color:var(--text-sub);font-size:10px;letter-spacing:.08em}.settings-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-search-button{display:grid;place-items:center;width:26px;height:26px;margin:-5px 0;border:0;border-radius:50%;background:transparent;color:var(--text-sub);cursor:pointer}.settings-search-button.is-active{color:var(--accent-cold)}.settings-search-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.settings-search-shell{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:8px 12px;border:1px solid var(--border-color);border-radius:999px;background:var(--panel-soft-bg)}.settings-search-shell input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text-main);font-size:13px}.settings-search-shell button{width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-sub);cursor:pointer;font-size:15px;line-height:1}.settings-panel{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--panel-bg)}.settings-entry-row,.settings-row,.settings-fold-button{width:100%;border-bottom:1px solid var(--border-color)}.settings-entry-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;color:var(--text-main);text-align:left}.settings-entry-row:disabled{color:var(--text-sub)}.settings-entry-row:last-child,.settings-row:last-child,.settings-fold-button:last-child{border-bottom:0}.settings-entry-row strong{display:block;font-size:14px;font-weight:400}.settings-entry-row small{display:block;margin-top:2px;color:var(--text-sub);font-size:11px;line-height:1.5}.settings-entry-arrow{flex-shrink:0;color:var(--text-sub);font-size:22px;line-height:1}.settings-theme-row{cursor:default}.small-theme-toggle{position:relative;flex-shrink:0;width:54px;height:28px;display:flex;align-items:center;justify-content:flex-start;padding:0 7px;border:1px solid var(--border-color);border-radius:999px;background:var(--panel-soft-bg);color:var(--text-sub);cursor:pointer}.small-theme-toggle span{position:relative;z-index:1;width:18px;text-align:center;color:var(--text-main);font-size:11px}.small-theme-toggle i{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--input-bg);box-shadow:0 4px 12px #28282e1f;transition:transform .2s ease}.small-theme-toggle.is-dark{justify-content:flex-end}.small-theme-toggle.is-dark i{transform:translate(26px)}.settings-search-empty{margin:0;padding:18px 20px;color:var(--text-sub);font-size:12px}.settings-row{display:grid;grid-template-columns:minmax(96px,132px) minmax(0,1fr);gap:14px;align-items:center;padding:12px 20px}.settings-row.is-stack{grid-template-columns:1fr}.settings-row label,.settings-row-title{color:var(--text-main);font-size:13px}.settings-row small{display:block;margin-top:2px;color:var(--text-sub);font-size:11px;line-height:1.45}.settings-control{width:100%;min-width:0;border:0;border-bottom:1px solid var(--border-color);border-radius:0;outline:0;background:transparent;color:var(--text-main);font-size:13px;line-height:1.5;padding:7px 0}.segmented{display:inline-flex;justify-self:end;overflow:hidden;border:1px solid var(--border-color);border-radius:8px}.segmented button{min-width:76px;padding:6px 10px;border:0;border-right:1px solid var(--border-color);background:transparent;color:var(--text-sub);cursor:pointer;font-size:11px}.segmented button:last-child{border-right:0}.segmented button.is-active{background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));color:#fff}.danger-button,.settings-action-button{justify-self:end;border:1px solid var(--border-color);border-radius:999px;background:transparent;cursor:pointer;padding:7px 14px;font-size:12px}.danger-button{border-color:#a56a5c40;color:var(--danger)}.settings-action-button{color:var(--accent-cold)}.settings-action-button:disabled,.settings-save-button:disabled{color:var(--text-sub)}.settings-fold-button{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;color:var(--text-main);font-size:13px}.settings-fold-button span:last-child{color:var(--text-sub);font-size:11px}.persona-name-toggle{border-top:1px solid var(--border-color);background:var(--panel-bg)}.settings-notice{margin:0 16px 16px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg);color:var(--text-sub);font-size:12px;line-height:1.7}.settings-notice.is-error{border-color:#a56a5c38;color:var(--danger)}.persona-status-row{padding:0 20px 10px;color:var(--text-sub);font-size:11px}.persona-textarea{width:calc(100% - 32px);min-height:55vh;margin:0 16px;padding:14px;resize:vertical;border:1px solid var(--border-color);border-radius:8px;outline:0;background:var(--panel-bg);color:var(--text-main);font-size:13px;line-height:1.75}.settings-button-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 20px}.settings-button-row .ghost-button,.settings-button-row .settings-action-button{justify-self:auto;border-radius:999px;padding:7px 13px}.appearance-image-control{display:grid;gap:12px}.appearance-image-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.appearance-image-preview{display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-color);background:var(--panel-soft-bg);color:var(--text-sub);font-size:11px}.appearance-image-preview.is-avatar{width:58px;height:58px;border-radius:50%}.appearance-image-preview.is-background{width:86px;height:58px;border-radius:8px}.appearance-image-preview img{width:100%;height:100%;display:block;object-fit:cover}.appearance-image-actions{min-width:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.appearance-upload-button{display:inline-flex;align-items:center;min-height:31px;border:1px solid var(--border-color);border-radius:999px;color:var(--accent-cold);cursor:pointer;padding:6px 14px;font-size:12px}.appearance-upload-button input{display:none}.appearance-bubble-control{display:grid;gap:12px}.appearance-bubble-preview{display:grid;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg)}.appearance-bubble-sample{position:relative;isolation:isolate;width:fit-content;max-width:78%;min-height:28px;padding:5px 10px;overflow:hidden;border:1px solid var(--border-color);border-radius:14px 14px 14px 3px;color:var(--text-main);font-size:12px;line-height:1.6}.appearance-bubble-sample:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";border-radius:inherit;background:var(--appearance-bubble-bg);backdrop-filter:blur(var(--appearance-bubble-blur, 0px));-webkit-backdrop-filter:blur(var(--appearance-bubble-blur, 0px))}.appearance-bubble-sample.is-user{justify-self:end;border-color:transparent;border-radius:14px 14px 3px;color:#fff}.appearance-surface-control{display:grid;gap:12px}.appearance-surface-preview{min-height:44px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-size:12px}.appearance-color-row,.appearance-range-row{display:grid;grid-template-columns:76px minmax(0,1fr) 42px;gap:10px;align-items:center;color:var(--text-sub);font-size:11px}.appearance-color-row{grid-template-columns:76px 44px minmax(0,1fr)}.appearance-color-row input{width:44px;height:28px;border:1px solid var(--border-color);border-radius:8px;background:transparent;cursor:pointer;padding:2px}.appearance-color-row strong{color:var(--text-main);font-size:11px;font-weight:400;text-align:right}.appearance-range-row{grid-template-columns:76px minmax(0,1fr) 42px}.appearance-range-row input{width:100%}.appearance-range-row strong{color:var(--text-main);font-size:11px;font-weight:400;text-align:right}.settings-variable-list{padding:12px 20px 14px;color:var(--text-sub);font-size:12px;line-height:1.7}.settings-variable-list p{margin:0 0 7px}.settings-variable-list code{color:var(--text-main);font-family:inherit}.context-preview,.context-log-list,.context-log-detail{display:flex;flex-direction:column;gap:10px;padding:0 16px 18px}.context-preview-block{border:1px solid var(--border-color);border-radius:8px;background:var(--panel-bg)}.context-preview-block summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;color:var(--text-main);font-size:13px}.context-preview-block summary::marker{color:var(--text-sub)}.context-preview-block summary button{flex-shrink:0;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-sub);cursor:pointer;padding:4px 10px;font-size:11px}.context-preview-block pre{max-height:260px;overflow:auto;margin:0;padding:0 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-sub);font-family:var(--font-cn);font-size:12px;line-height:1.65}.context-log-item{border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg)}.context-log-item>button{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;color:var(--text-main);text-align:left}.context-log-item strong{display:block;font-size:13px;font-weight:400}.context-log-item small,.context-log-meta{color:var(--text-sub);font-size:11px;line-height:1.5}.context-log-meta{display:flex;flex-wrap:wrap;gap:10px;padding:0 12px 12px}.context-log-detail{padding:0 10px 12px}.settings-empty{margin:24px 20px;color:var(--text-sub);font-size:12px}.settings-value{justify-self:end;color:var(--text-sub);font-size:12px;text-align:right}.settings-toast{position:absolute;left:50%;bottom:18px;z-index:20;transform:translate(-50%);min-width:84px;padding:8px 14px;border:1px solid var(--border-color);border-radius:999px;background:#2c2c2cd1;color:#fff;text-align:center;font-size:12px}.settings-confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#29282533;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-confirm-dialog{width:min(340px,100%);border:1px solid var(--border-color);border-radius:12px;background:#fdfbf6fa;box-shadow:0 22px 58px #28282e2e;padding:18px;text-align:left}.settings-confirm-dialog small{display:block;color:var(--text-sub);font-size:10px}.settings-confirm-dialog h2{margin:6px 0 0;color:var(--text-main);font-size:16px;font-weight:500}.settings-confirm-dialog p{margin:10px 0 16px;color:var(--text-sub);font-size:12px;line-height:1.75}.settings-confirm-input-wrap{display:grid;gap:7px;margin:0 0 16px;color:var(--text-sub);font-size:11px}.settings-confirm-input-wrap input{width:100%;border:1px solid var(--border-color);border-radius:8px;background:#ffffffb8;color:var(--text-main);padding:9px 10px;font:inherit}.settings-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-confirm-actions button{min-width:0;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-sub);cursor:pointer;padding:8px 12px;font-size:12px}.settings-confirm-actions .is-danger{border-color:#a56a5c52;color:var(--danger)}.settings-confirm-actions button:disabled{cursor:default;opacity:.45}:root[data-theme=dark] .settings-confirm-dialog{background:#232529fa}:root[data-theme=dark] .settings-confirm-input-wrap input{background:#141619b8}.entry-root{position:relative;overflow:hidden;padding:20px 24px 24px}.entry-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-sub);font-size:11px;letter-spacing:.06em}.presence{display:inline-flex;align-items:center;gap:6px}.presence:before{width:7px;height:7px;content:"";border-radius:50%;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));animation:du-pulse 2.4s ease-in-out infinite}.entry-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.entry-title{margin:22px 0 8px;font-size:19px;font-weight:500}.entry-subtitle{margin:0 0 38px;color:var(--text-sub);font-size:12px}.entry-notes{border-top:1px solid var(--border-color);padding-top:10px}.entry-note-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:var(--text-sub);cursor:pointer;padding:0 0 10px;font-size:11px}.note-list{display:flex;flex-direction:column;gap:8px}.note-card,.moment-card{border:1px solid var(--border-color);border-radius:8px;background:var(--panel-bg)}.note-card{padding:11px 14px}.note-card p{margin:0;font-size:13px;line-height:1.7}.note-card time{display:block;margin-top:5px;color:var(--text-sub);font-size:10px}.moments-header{display:flex;align-items:center;gap:10px;padding:0 20px 16px;border-bottom:1px solid var(--border-color)}.moments-header strong{display:block;font-size:14px;font-weight:500}.moments-header span{color:var(--text-sub);font-size:11px}.moment-list{padding:0 0 20px}.moment-card{display:flex;gap:12px;margin:0;padding:18px 20px;border-width:0 0 1px;border-radius:0;background:transparent}.moment-card p{margin:0 0 8px;font-size:14px;line-height:1.75}.moment-card time{color:var(--text-sub);font-size:10px}@media(max-width:380px){.settings-row{grid-template-columns:1fr;gap:6px}.segmented,.danger-button,.settings-action-button,.settings-value{justify-self:start;text-align:left}}.settings-label-help{display:inline-flex;align-items:center;gap:5px;min-width:0}.settings-help{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.settings-help-button{width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:50%;background:var(--panel-soft-bg);color:var(--text-sub);cursor:pointer;font-size:10px;line-height:1}.settings-help-popover{position:absolute;right:0;top:22px;z-index:30;box-sizing:border-box;width:min(220px,calc(100vw - 64px));max-width:calc(100vw - 64px);padding:9px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--shell-bg);box-shadow:0 14px 34px #262b3024;color:var(--text-main);font-size:11px;font-weight:400;line-height:1.65;text-align:left;white-space:normal;overflow-wrap:anywhere}@media(max-width:520px){.settings-help-popover{position:fixed;left:18px;right:18px;top:auto;bottom:max(22px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:42vh;overflow-y:auto}}.runtime-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px 14px}.runtime-status-card,.runtime-route-card{min-width:0;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg)}.runtime-status-card{display:grid;gap:5px;padding:11px 12px}.runtime-status-card small,.runtime-status-card span,.runtime-data-row small{color:var(--text-sub);font-size:10px;line-height:1.45}.runtime-status-card strong{min-width:0;overflow-wrap:anywhere;color:var(--text-main);font-size:13px;font-weight:500;line-height:1.45}.runtime-data-list,.runtime-log-summary{display:grid;gap:8px;padding:12px 16px 14px}.runtime-data-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,auto);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid var(--border-color)}.runtime-data-row:last-child{border-bottom:0}.runtime-data-row>span{display:grid;gap:2px;min-width:0;color:var(--text-main);font-size:12px}.runtime-data-row strong{min-width:0;overflow-wrap:anywhere;color:var(--text-main);font-size:12px;font-weight:400;text-align:right}.runtime-route-list{display:grid;gap:12px;padding:0 16px 18px}.runtime-route-card{overflow:hidden}.runtime-route-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px 12px 0}.runtime-route-head strong{min-width:0;color:var(--text-main);font-size:14px;font-weight:500}.runtime-route-head span{color:var(--text-sub);font-size:11px;white-space:nowrap}.runtime-link-row{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.gateway-contract-list{display:grid;gap:8px;padding:12px 16px 14px}.gateway-contract-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg)}.gateway-contract-row code{min-width:0;overflow-wrap:anywhere;color:var(--text-main);font-family:var(--font-cn);font-size:11px}.runtime-chart-note{padding:12px 16px 0;color:var(--text-sub);font-size:11px;line-height:1.7}.runtime-bar-list{display:grid;gap:11px;padding:13px 16px 15px}.runtime-bar-row{display:grid;grid-template-columns:minmax(76px,.75fr) minmax(0,1.35fr) minmax(50px,auto);gap:12px;align-items:center;color:var(--text-sub);font-size:11px}.runtime-bar-row span{min-width:0;color:var(--text-sub)}.runtime-bar-row strong{color:var(--text-main);font-size:12px;font-weight:500;text-align:right;white-space:nowrap}.runtime-bar-list i{position:relative;height:7px;overflow:hidden;border-radius:999px;background:#78848e24}.runtime-bar-list i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--bar-size);border-radius:inherit;background:linear-gradient(90deg,var(--accent-cold),rgba(154,170,181,.78));opacity:.72}.danger-zone-copy{padding:12px 20px 0;color:var(--text-sub);font-size:11px;line-height:1.7}@media(max-width:380px){.runtime-status-grid{grid-template-columns:1fr}.runtime-data-row{grid-template-columns:1fr;gap:4px}.runtime-data-row strong{text-align:left}}.login-root{display:flex;align-items:center;justify-content:center;height:100%;background:var(--shell-bg)}.login-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 40px}.login-avatar{width:72px;height:72px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--text-main)}.login-title{font-size:24px;color:var(--text-main);font-weight:400;margin:0}.login-sub{color:var(--text-sub);font-size:13px;margin:0 0 8px}.login-form{display:flex;flex-direction:column;align-items:center;gap:10px;width:220px}.login-input{width:100%;padding:10px 16px;border-radius:10px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:15px;outline:none;text-align:center;font-family:inherit}.login-input::placeholder{color:var(--text-sub)}.login-error{color:var(--danger);font-size:12px;margin:0}.login-btn{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border-color);background:var(--paper-2);color:var(--text-main);font-size:15px;cursor:pointer;font-family:inherit;transition:background .2s}.login-btn:hover:not(:disabled){background:var(--highlight-bg)}.login-btn:disabled{opacity:.35;cursor:not-allowed}.login-shake{animation:loginShake .4s ease}@keyframes loginShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.desktop-root{display:flex;flex-direction:column;height:100%;background:var(--shell-bg);padding:0 var(--spacing-md, 12px)}.desktop-statusbar{display:flex;justify-content:space-between;align-items:center;padding:14px 8px 10px;color:var(--text-main);font-size:13px}.desktop-greeting{color:var(--text-sub);font-size:12px}.desktop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 14px;padding:36px 8px 20px;flex:1;align-content:start}.desktop-app-icon{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:8px 4px;border-radius:14px;transition:background .2s;font-family:inherit}.desktop-app-icon:hover:not(:disabled){background:var(--highlight-bg)}.desktop-app-icon:active:not(:disabled){background:var(--panel-bg)}.desktop-app-disabled{opacity:.3;cursor:not-allowed}.desktop-icon-badge{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;background:var(--accent-cold);box-shadow:0 2px 10px #2c2c2c1f}.desktop-icon-badge.wechat{background:#5a8a6a}.desktop-icon-badge.dukou{background:var(--accent-cold)}.desktop-icon-badge.settings{background:var(--accent-warm)}.desktop-icon-label{color:var(--text-main);font-size:11px;text-align:center}.desktop-icon-soon{font-size:9px;color:var(--text-sub);margin-top:-4px}.desktop-dock{display:flex;justify-content:center;gap:24px;padding:12px 20px 18px;margin:0 16px 12px;background:var(--panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:22px;border:1px solid var(--border-color)}.desktop-dock-icon{background:none;border:none;cursor:pointer;padding:4px;border-radius:12px;transition:background .15s}.desktop-dock-icon:hover{background:var(--highlight-bg)}.wechat-root{display:flex;flex-direction:column;height:100%;background:var(--shell-bg)}.wechat-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);min-height:44px;flex-shrink:0}.wechat-topbar-title{font-size:17px;font-weight:500;color:var(--text-main)}.wechat-topbar-back,.wechat-topbar-action{width:36px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-main);display:flex;align-items:center;justify-content:center;padding:0;font-family:inherit}.wechat-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wechat-bottombar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color);padding:4px 0;flex-shrink:0}.wechat-tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:none;border:none;cursor:pointer;color:var(--text-sub);font-family:inherit;transition:color .15s}.wechat-tab-active{color:var(--accent-cold)}.wechat-tab-icon{font-size:20px;line-height:1}.wechat-tab-label{font-size:10px}.chatlist-root{background:var(--shell-bg);min-height:0;flex:1;overflow-y:auto}.chatlist-section-header{padding:12px 16px 6px;font-size:12px;color:var(--text-sub);background:var(--paper-2)}.chatlist-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .1s;background:var(--shell-bg);border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:inherit;color:var(--text-main)}.chatlist-item:active{background:var(--highlight-bg)}.chatlist-avatar{width:48px;height:48px;border-radius:8px;background:var(--accent-cold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.chatlist-avatar.pending{background:var(--accent-warm)}.chatlist-info{flex:1;min-width:0}.chatlist-name{font-size:16px;color:var(--text-main);margin-bottom:3px}.chatlist-preview{font-size:13px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatlist-time{font-size:11px;color:var(--text-sub);flex-shrink:0}.chatlist-friend-action{padding:6px 14px;border-radius:6px;border:1px solid var(--border-color);font-size:13px;cursor:pointer;font-family:inherit;flex-shrink:0;transition:background .15s}.chatlist-friend-action.accept{background:var(--accent-cold);color:#fff;border-color:var(--accent-cold)}.chatlist-friend-action.accept:active{opacity:.8}.chatlist-friend-action.decline{background:var(--paper-2);color:var(--text-sub)}.chatlist-back-row{display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;border-bottom:1px solid var(--border-color);width:100%;cursor:pointer;font-family:inherit;font-size:13px;color:var(--accent-cold)}.chatlist-back-row:active{background:var(--highlight-bg)}.moments-root{background:var(--shell-bg);min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.moments-feed{flex:1;overflow-y:auto}.moments-cover{position:relative;width:100%;height:220px;margin-bottom:0}.moments-cover-bg{width:100%;height:100%;background:linear-gradient(170deg,var(--panel-soft-bg),var(--panel-bg),var(--panel-soft-bg))}.moments-cover-info{position:absolute;right:16px;bottom:-22px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.moments-cover-name{color:var(--text-main);font-size:16px;font-weight:600}.moments-cover-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cold),rgba(154,170,181,.78));display:grid;place-items:center;font-size:26px;color:#fff;border:3px solid var(--panel-bg);box-shadow:0 2px 8px #0000001f}.wx-composer{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel-bg);border-bottom:1px solid var(--border-color)}.wx-composer-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cold),rgba(154,170,181,.78));display:grid;place-items:center;font-size:14px;color:#fff;flex-shrink:0}.wx-composer-hint{flex:1;padding:8px 12px;text-align:left;font-size:13px;color:var(--text-sub);background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit}.wx-composer-expand{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:flex-end;justify-content:center}.wx-composer-expand-panel{width:100%;max-width:480px;padding:20px 16px 32px;background:var(--panel-bg);border-radius:16px 16px 0 0}.wx-composer-textarea{width:100%;min-height:120px;padding:12px;font-size:16px;line-height:1.6;resize:none;outline:none;border:1px solid var(--border-color);background:var(--input-bg);border-radius:8px;color:var(--text-main);font-family:inherit;box-sizing:border-box}.wx-composer-textarea::placeholder{color:var(--text-sub)}.wx-composer-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.wx-composer-cancel{padding:8px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-soft-bg);color:var(--text-sub);font-size:14px;cursor:pointer;font-family:inherit}.wx-composer-send{padding:8px 24px;border:none;border-radius:8px;background:var(--accent-cold);color:#fff;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}.wx-composer-send:disabled{opacity:.4;cursor:not-allowed}.wx-moment{background:var(--panel-bg)}.wx-moment-top{display:flex;gap:12px;padding:14px 16px 10px}.wx-moment-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cold),rgba(154,170,181,.78));display:grid;place-items:center;font-size:16px;color:#fff;flex-shrink:0}.wx-moment-body{flex:1;min-width:0}.wx-moment-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.wx-moment-name{font-size:15px;font-weight:500;color:var(--accent-cold)}.wx-moment-role-tag{padding:0 5px;font-size:10px;border-radius:3px;color:var(--accent-cold);border:1px solid var(--accent-cold);background:transparent}.wx-moment-content{font-size:15px;line-height:1.6;color:var(--text-main);margin:0 0 6px;white-space:pre-wrap;word-break:break-word}.wx-moment-meta-row{display:flex;align-items:center;justify-content:space-between}.wx-moment-time{font-size:11px;color:var(--text-sub)}.wx-moment-ops{display:flex;gap:4px}.wx-moment-op-btn{width:28px;height:24px;display:grid;place-items:center;border:1px solid var(--border-color);background:var(--panel-soft-bg);border-radius:3px;font-size:13px;cursor:pointer;color:var(--text-sub);font-family:inherit}.wx-moment-op-btn.is-liked{color:var(--danger)}.wx-moment-zone{margin-top:4px;padding:6px 10px;background:var(--panel-soft-bg);border-radius:4px}.wx-zone-likes{display:flex;align-items:baseline;gap:6px;padding-bottom:4px;font-size:13px;color:var(--text-main)}.wx-zone-heart{color:var(--danger);font-size:11px;flex-shrink:0;padding-top:1px}.wx-zone-comment{padding:2px 0;font-size:13px;color:var(--text-main);line-height:1.5}.wx-zone-comment-author{color:var(--accent-cold);font-weight:500}.wx-comment-box{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:var(--panel-soft-bg);border-radius:4px}.wx-comment-input{flex:1;padding:4px 8px;font-size:13px;outline:none;border:none;background:transparent;color:var(--text-main);font-family:inherit}.wx-comment-input::placeholder{color:var(--text-sub)}.wx-comment-send{padding:3px 12px;border:none;border-radius:3px;background:var(--accent-cold);color:#fff;font-size:12px;cursor:pointer;font-family:inherit}.wx-comment-send:disabled{opacity:.4;cursor:not-allowed}.wx-moment-sep{height:1px;margin:0 16px;background:var(--border-color)}.wx-feed-end{padding:24px 0;text-align:center;font-size:12px;color:var(--text-sub);background:var(--shell-bg)}.wx-empty{display:flex;justify-content:center;padding:60px 0;font-size:14px;color:var(--text-sub);background:var(--panel-bg);border-bottom:1px solid var(--border-color)}.profile-root{background:var(--paper-2);min-height:0;flex:1;overflow-y:auto}.profile-header{background:var(--shell-bg);padding:24px 16px 20px;display:flex;align-items:center;gap:16px;margin-bottom:12px}.profile-avatar{width:60px;height:60px;border-radius:10px;background:var(--accent-cold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.profile-name{font-size:19px;font-weight:500;color:var(--text-main);margin-bottom:4px}.profile-id{font-size:13px;color:var(--text-sub)}.profile-section{background:var(--shell-bg);margin-bottom:12px}.profile-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:inherit;font-size:15px;color:var(--text-main)}.profile-row:last-child{border-bottom:none}.profile-row:active{background:var(--highlight-bg)}.profile-row-arrow{color:var(--text-sub);font-size:15px}.create-char-root{display:flex;flex-direction:column;height:100%;background:var(--paper-2)}.create-char-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);flex-shrink:0}.create-char-header-title{font-size:17px;font-weight:500;color:var(--text-main)}.create-char-back{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-main);padding:0;font-family:inherit}.create-char-body{flex:1;overflow-y:auto;padding:14px}.create-char-section{background:var(--shell-bg);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--border-color)}.create-char-section-title{font-size:14px;font-weight:500;color:var(--text-main);margin-bottom:10px}.create-char-field{margin-bottom:12px}.create-char-label{display:block;font-size:13px;color:var(--text-sub);margin-bottom:4px}.create-char-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:14px;font-family:inherit;outline:none;box-sizing:border-box}.create-char-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:14px;font-family:inherit;outline:none;min-height:80px;resize:vertical;box-sizing:border-box}.create-char-chips{display:flex;flex-wrap:wrap;gap:8px}.create-char-chip{padding:6px 14px;border-radius:18px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:13px;cursor:pointer;font-family:inherit;transition:all .15s}.create-char-chip:hover{background:var(--highlight-bg)}.create-char-chip.selected{background:var(--accent-cold);color:#fff;border-color:var(--accent-cold)}.create-char-chip-note{display:block;font-size:11px;color:var(--text-sub);margin-top:2px}.create-char-kink-cat{margin-bottom:10px}.create-char-kink-label{font-size:12px;color:var(--text-sub);margin-bottom:6px;display:block}.create-char-submit{padding:12px 24px;border-radius:10px;border:1px solid var(--border-color);background:var(--accent-cold);color:#fff;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;width:100%;margin-top:8px;margin-bottom:24px}.create-char-submit:active{opacity:.85}.create-char-section-desc{font-size:12px;color:var(--text-sub);margin-bottom:12px;line-height:1.5}.charm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.charm-panel{width:100%;max-width:420px;max-height:85vh;background:var(--shell-bg);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}.charm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.charm-title{font-family:var(--font-serif, serif);font-size:17px;font-weight:600;color:var(--text-main)}.charm-close{width:28px;height:28px;border:none;background:none;font-size:20px;color:var(--text-sub);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.charm-close:hover{background:var(--hover-bg)}.charm-body{flex:1;overflow-y:auto;padding:16px 20px}.charm-section{margin-bottom:20px}.charm-section-title{font-family:var(--font-serif, serif);font-size:15px;font-weight:600;color:var(--text-main);margin-bottom:4px}.charm-section-desc{font-size:12px;color:var(--text-sub);margin-bottom:10px}.charm-field{margin-top:12px}.charm-label{display:block;font-size:13px;color:var(--text-sub);margin-bottom:4px}.charm-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-main);background:var(--paper-2);box-sizing:border-box;outline:none}.charm-input:focus{border-color:var(--accent-cold)}.charm-chips{display:flex;flex-wrap:wrap;gap:8px}.charm-chip{padding:6px 14px;border:1px solid var(--border-color);border-radius:20px;background:var(--paper-2);font-size:13px;color:var(--text-main);cursor:pointer;transition:all .15s}.charm-chip:hover{border-color:var(--accent-cold)}.charm-chip.selected{background:var(--accent-cold);color:#fff;border-color:var(--accent-cold)}.charm-footer{padding:14px 20px;border-top:1px solid var(--border-color)}.charm-save{width:100%;padding:12px;border:none;border-radius:10px;background:var(--accent-cold);color:#fff;font-size:15px;font-family:var(--font-serif, serif);cursor:pointer}.charm-save:active{opacity:.85}.charm-test-btn{width:100%;padding:9px;border:1px solid var(--accent-cold);border-radius:10px;background:transparent;color:var(--accent-cold);font-size:13px;cursor:pointer;transition:all .15s}.charm-test-btn:hover:not(:disabled){background:var(--accent-cold);color:#fff}.charm-test-btn:disabled{opacity:.4;cursor:not-allowed}.charm-test-result{margin-top:8px;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.5}.charm-test-result.success{background:#e8f5e9;color:#2e7d32}.charm-test-result.fail{background:#fce4ec;color:#c62828}
