.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/home-desktop.png) center center / cover no-repeat;overflow:hidden}@media (max-width: 768px){.splash-screen{background:url(/home-mobile.png) center center / cover no-repeat}.splash-key{width:48px}}.splash-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 68%,rgba(255,205,130,.32),transparent 62%);pointer-events:none;animation:splashGlowPulse 4.5s ease-in-out infinite}@keyframes splashGlowPulse{0%,to{opacity:.55}50%{opacity:1}}.splash-key-wrap{position:absolute;left:51%;top:62%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.splash-key{position:relative;width:48px;height:auto;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;filter:drop-shadow(0 0 6px rgba(255,246,228,.6)) drop-shadow(0 0 14px rgba(255,230,190,.35));animation:splashKeyBreathe 2.6s ease-in-out infinite;-webkit-tap-highlight-color:transparent}.splash-key:focus-visible{outline:2px solid rgba(255,224,170,.7);outline-offset:4px;border-radius:50%}.splash-key-icon{display:block;width:100%;height:auto;max-width:100%;-webkit-user-select:none;user-select:none;pointer-events:none}@keyframes splashKeyBreathe{0%,to{opacity:.6}50%{opacity:1}}.splash-key-used{animation:none;opacity:0;transition:opacity .2s ease;pointer-events:none}.bottom-nav{flex-shrink:0;display:flex;align-items:stretch;justify-content:space-around;gap:2px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,20px));background:#fffbf0;border-top:1px solid rgba(154,107,67,.14);box-shadow:0 -4px 14px #9a6b4314;position:relative;z-index:5}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px 4px;border:none;background:transparent;color:#a8988a;border-radius:12px;transition:color .2s ease,background .2s ease,transform .2s ease}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;line-height:0}.bottom-nav-icon svg{width:18px;height:18px;stroke-width:1.7}.bottom-nav-label{font-family:var(--font-round);font-size:10.5px;font-weight:600;letter-spacing:.5px}.bottom-nav-item:hover{color:#8c7361}.bottom-nav-item-active{color:#a8663c;background:#a8663c1f;transform:translateY(-2px)}.bottom-nav-item-active:hover{color:#a8663c}.mini-player{flex-shrink:0;position:relative;background:var(--color-paper-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-tan-line);box-shadow:0 -2px 10px #7a522314;z-index:6;-webkit-user-select:none;user-select:none}.mini-player-progress{position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-tan-line)}.mini-player-progress-fill{height:100%;background:var(--color-accent);transition:width .25s linear}.mini-player-body{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px}.mini-player-cover{width:38px;height:38px;flex-shrink:0;border-radius:10px;object-fit:cover;background:var(--color-cream);box-shadow:var(--shadow-soft)}.mini-player-meta{flex:1;min-width:0}.mini-player-name{font-size:13.5px;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-player-artist{margin-top:2px;font-size:11.5px;color:var(--color-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-player-artist-error{color:var(--color-warm-red-ink)}.mini-player-btn{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background:transparent;color:var(--color-tan-deep);display:flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease}.mini-player-btn+.mini-player-btn{margin-left:2px}.mini-player-btn:hover{background:#c6a87829;color:var(--color-ink)}.mini-player-btn svg{width:20px;height:20px}.mini-player-close{color:var(--color-ink-soft)}.mini-player-close svg{width:18px;height:18px}.kc-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a220c61;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200;animation:kc-modal-fade-in .15s ease}@keyframes kc-modal-fade-in{0%{opacity:0}to{opacity:1}}.kc-modal-panel{width:100%;max-width:380px;max-height:min(600px,86vh);overflow-y:auto;background:#fffefb;border-radius:22px;box-shadow:0 12px 32px #7a522347;display:flex;flex-direction:column}.kc-modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px 4px;flex-shrink:0}.kc-modal-title{margin:0;font-family:var(--font-round);font-size:16.5px;color:var(--color-ink);letter-spacing:.3px}.kc-modal-close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:var(--color-bg-soft);color:var(--color-ink-soft);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.kc-modal-close:hover{background:var(--color-accent-soft);color:var(--color-accent-strong)}.kc-modal-body{padding:14px 20px 4px;display:flex;flex-direction:column;gap:12px;color:var(--color-ink);font-size:13.5px;line-height:1.6}.kc-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px 20px;flex-shrink:0}.kc-modal-btn{border:none;border-radius:999px;padding:9px 20px;font-size:13.5px;font-family:var(--font-round);letter-spacing:.4px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.kc-modal-btn:hover{transform:translateY(-1px)}.kc-modal-btn-ghost{background:var(--color-bg-soft);color:var(--color-ink-soft)}.kc-modal-btn-primary{background:var(--color-accent);color:#fffaf0;box-shadow:var(--shadow-soft)}.kc-modal-btn-danger{background:var(--color-warm-red);color:#fff8ec;box-shadow:var(--shadow-soft)}.kc-modal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.kc-modal-input{width:100%;border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:var(--radius-md);padding:9px 12px;font-size:14px;color:var(--color-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.kc-modal-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8a33d2e}.kc-modal-textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:var(--radius-md);padding:10px 12px;font-size:13.5px;line-height:1.6;color:var(--color-ink);outline:none;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.kc-modal-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8a33d2e}.kc-modal-field-label{font-size:12px;font-weight:700;color:var(--color-accent-strong);letter-spacing:.3px;margin-bottom:6px;display:block}.kc-modal-field-hint{margin:4px 0 0;font-size:11px;color:var(--color-ink-faint);line-height:1.5}.kc-action-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.kc-action-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:var(--color-bg-soft);border-radius:14px;padding:12px 14px;font-size:14px;color:var(--color-ink);text-align:left;transition:background .15s ease}.kc-action-item:hover{background:var(--color-accent-soft)}.kc-action-item.danger{color:var(--color-warm-red-ink)}.kc-action-item.danger:hover{background:var(--color-warm-red-soft)}.kc-action-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-ink-soft)}.kc-action-item.danger .kc-action-icon{color:inherit}.kc-action-item.is-active .kc-action-icon{color:var(--color-accent-strong)}.kc-action-icon svg{width:17px;height:17px}.favorites-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:linear-gradient(180deg,#fdf6ea,#f7ecd9 60%,#f3e4c4);display:flex;justify-content:center;animation:kc-modal-fade-in .15s ease}.favorites-panel{width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;padding:0 16px calc(20px + env(safe-area-inset-bottom))}.favorites-header{display:flex;align-items:center;gap:12px;padding:18px 0 12px;flex-shrink:0}.favorites-back{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:#fffefb;box-shadow:var(--shadow-soft);color:var(--color-ink);display:flex;align-items:center;justify-content:center}.favorites-back svg{width:18px;height:18px}.favorites-title{margin:0;font-family:var(--font-round);font-size:20px;color:var(--color-ink);letter-spacing:.5px}.favorites-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.favorites-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;border:none;background:#fffefb;border-radius:18px;padding:12px 14px;text-align:left;box-shadow:0 4px 18px #7a52231f;transition:box-shadow .15s ease}.favorites-item:hover{box-shadow:var(--shadow-lift)}.favorites-item-text{font-size:14px;line-height:1.6;color:var(--color-ink);word-break:break-word}.favorites-item-meta{display:flex;align-items:center;gap:8px;width:100%;font-size:11.5px;color:var(--color-ink-soft)}.favorites-item-who{flex-shrink:0;padding:1px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}.favorites-item-conv{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorites-item-date{flex-shrink:0}.favorites-empty{padding:40px 0;text-align:center;color:var(--color-ink-soft);font-size:13px}.favorites-detail-meta{font-size:11.5px;color:var(--color-ink-soft)}.favorites-detail-content{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.7;color:var(--color-ink)}.favorites-toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#3c3028db;color:#fffdf8;font-size:12px;white-space:nowrap;pointer-events:none;z-index:260;box-shadow:0 4px 14px #3a220c3d}.home-page{position:relative;height:100%;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:#fdf6ec}.home-page-inner{position:relative;max-width:640px;margin:0 auto;padding:16px calc(16px + env(safe-area-inset-bottom)) calc(80px + env(safe-area-inset-bottom)) 16px;display:flex;flex-direction:column;gap:10px}.home-bg-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.home-card{position:relative;background:#fffdf8d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:20px;box-sizing:border-box;color:#6b5643}.home-hero-card{position:relative;width:100%;height:260px;border-radius:16px;overflow:hidden;padding:20px 56px;background:linear-gradient(#00000026,#0000004d),url(/avatar.png);background-size:cover;background-position:center;background-repeat:no-repeat;border:2px solid rgba(198,168,120,.6);box-shadow:inset 0 0 20px #c6a87826,0 4px 12px #00000014;box-sizing:border-box}.home-hero-meet{position:absolute;top:6px;left:6px;z-index:2;background:#fdf6ecbf;color:#6b5643;padding:4px 10px;border-radius:20px;font-size:12px;font-family:"Noto Serif SC",serif;font-weight:400;white-space:nowrap}.home-hero-body{position:absolute;top:32px;bottom:auto;left:0;width:60%;padding-left:14px;z-index:2;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box}.home-hero-left{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;flex:1}.home-hero-title{font-family:"Noto Serif SC",serif;font-size:24px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);line-height:1.1}.home-hero-greeting{margin:0;max-width:100%;font-family:"Noto Serif SC",serif;font-size:14px;font-weight:400;letter-spacing:.5px;line-height:1.5;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.35);white-space:normal;overflow-wrap:anywhere}.home-hero-cta{position:absolute;left:12px;bottom:12px;top:auto;z-index:10;border:none;border-radius:20px;background:#e8a94a;color:#fff;font-size:14px;font-weight:700;padding:6px 20px;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.home-hero-cta:hover{opacity:.92}.home-hero-cta:active{transform:translateY(1px)}.home-row2{display:flex;align-items:flex-start;gap:10px}.home-row2>.home-card{min-width:0;display:flex;flex-direction:column}.home-row2>.home-weather-mood-card,.home-row2>.home-todo-card{flex:1 1 0}.home-weather-mood-card,.home-todo-card{padding:16px;gap:10px;writing-mode:horizontal-tb;text-orientation:mixed}.home-weather-mood-card{align-items:stretch;justify-content:flex-start;text-align:left}.home-weather-title{font-size:15px;font-weight:600;color:#7a8a99;line-height:1.3;text-align:left;white-space:nowrap}.home-weather-main{display:flex;align-items:center;gap:12px;min-width:0}.home-weather-emoji-big{font-size:32px;line-height:1;flex-shrink:0}.home-weather-main-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.home-weather-city{font-size:14px;color:#999;line-height:1.3;white-space:nowrap}.home-weather-temp{display:flex;align-items:baseline;gap:6px;line-height:1.2;white-space:nowrap}.home-weather-desc{font-size:16px;font-weight:600;color:#3a2a1a}.home-weather-degree{font-size:28px;font-weight:700;color:#3a2a1a}.home-weather-footer{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.home-weather-date{font-size:13px;color:#999;line-height:1.4;white-space:nowrap}.home-mood-text{border:none;background:none;padding:0;font-size:13px;line-height:1.4;color:#8a6a4a;text-align:left;cursor:pointer;white-space:nowrap}.home-mood-text.is-empty{color:#b9a48e}.home-mood-text:disabled{cursor:default}.home-todo-title{font-size:14px;font-weight:700;color:#6b5643;margin-bottom:10px;white-space:nowrap}.home-todo-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.home-todo-item{display:flex;align-items:flex-start;gap:8px}.home-todo-checkbox{flex-shrink:0;width:14px;height:14px;margin-top:3px;border-radius:50%;border:1.5px solid #d9c7a8;background:transparent;padding:0;cursor:pointer}.home-todo-checkbox.is-done{background:#e8734a;border-color:#e8734a}.home-todo-text{flex:1;min-width:0;font-size:13px;line-height:1.5;color:#6b5643;white-space:normal;overflow-wrap:anywhere}.home-todo-text.is-done{text-decoration:line-through;color:#b0a89c}.home-todo-delete{flex-shrink:0;border:none;background:none;color:#c9b8a0;font-size:15px;line-height:1;cursor:pointer;padding:0 2px}.home-todo-delete:hover{color:#c14c3a}.home-todo-empty{margin:0 0 8px;font-size:13px;color:#b0a89c;padding:4px 0;line-height:1.5}.home-todo-add{border:1px dashed #d9c7a8;background:none;color:#b08968;border-radius:8px;width:100%;padding:4px 0;font-size:13px;line-height:1.3;cursor:pointer}.home-todo-input{width:100%;border:1px solid #d9c7a8;border-radius:8px;padding:5px 8px;font-size:13px;color:#3a2a1a;background:#fffefb;box-sizing:border-box}.home-todo-input:focus{outline:none;border-color:#e8734a}.home-todo-error{margin:4px 0 0;font-size:11px;color:#c14c3a;text-align:center}.home-quote-card{width:100%;padding:20px;font-family:var(--font-body);writing-mode:horizontal-tb;text-orientation:mixed}.home-quote-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.home-quote-title{font-size:14px;letter-spacing:2px;color:#8b7b6b}.home-quote-vol{flex-shrink:0;font-family:"Noto Serif SC",serif;font-style:italic;font-size:13px;color:#c4b5a4;white-space:nowrap}.home-quote-divider{height:1px;background:#e8ddd0;margin:10px 0}.home-quote-main{margin:0;font-size:18px;font-weight:400;line-height:1.7;color:#4a4036;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}.home-quote-date{margin:8px 0 0;font-size:12px;color:#c4b5a4}.home-quote-empty{margin:0;font-size:13px;color:#9b8e80;line-height:1.6}.home-quote-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px}.home-quote-note{font-style:italic;font-size:12px;color:#c4b5a4}.home-quote-more{flex-shrink:0;border:none;background:none;padding:0;font-size:12px;color:#c4b5a4;cursor:pointer;white-space:nowrap}.home-quote-more:hover{color:#8b7b6b}.home-mood-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.home-mood-picker-btn{border:2px solid transparent;background:#fdf6ec;border-radius:16px;font-size:24px;line-height:1;padding:9px 0;transition:transform .15s ease,border-color .15s ease,background .15s ease,opacity .15s ease}.home-mood-picker-btn:active:not(:disabled){transform:scale(.9)}.home-mood-picker-btn.is-active{border-color:#e8734a;background:#e8734a1f}.home-mood-picker-btn:disabled{opacity:.55;cursor:not-allowed}.home-mood-picker-hint{margin:0;font-size:12px;text-align:center;color:#8a7a68}.home-mood-picker-error{margin:0;font-size:12px;text-align:center;color:#c14c3a}@media (max-width: 320px){.home-row2{flex-direction:column}.home-row2>.home-weather-mood-card,.home-row2>.home-todo-card{flex:0 0 auto;width:100%}}@media (max-width: 420px){.home-hero-card{height:236px;padding:20px 32px}.home-hero-body{padding-left:14px}.home-hero-cta{left:12px;bottom:12px;top:auto}}.persona-switcher{position:relative;padding:14px 16px 10px;border-bottom:1px solid var(--color-border-soft)}.persona-switcher-current{width:100%;display:flex;align-items:center;gap:10px;border:none;background:var(--color-paper);border-radius:var(--radius-md);padding:8px 10px;box-shadow:var(--shadow-soft);transition:box-shadow .15s ease,transform .15s ease}.persona-switcher-current:hover{box-shadow:var(--shadow-lift)}.persona-switcher-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--color-accent-soft)}.persona-switcher-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.persona-switcher-name{font-size:14.5px;font-weight:700;color:var(--color-ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-switcher-hint{font-size:11px;color:var(--color-ink-soft)}.persona-switcher-caret{width:16px;height:16px;flex-shrink:0;color:var(--color-ink-soft);transition:transform .15s ease}.persona-switcher-caret.is-open{transform:rotate(180deg)}.persona-switcher-menu{position:absolute;top:calc(100% - 4px);left:16px;right:16px;background:#fffefb;border-radius:16px;box-shadow:0 10px 28px #7a52233d;padding:8px;z-index:30;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.persona-switcher-item{display:flex;align-items:center;gap:10px;border:none;background:transparent;border-radius:12px;padding:8px 10px;text-align:left;transition:background .15s ease}.persona-switcher-item:hover{background:var(--color-bg-soft)}.persona-switcher-item.is-active{background:var(--color-accent-soft)}.persona-switcher-item-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.persona-switcher-item-texts{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.persona-switcher-item-name{font-size:13.5px;font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-switcher-item-sig{font-size:11px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-uploader{position:relative;flex-shrink:0;border-radius:50%;border:none;padding:0;background:var(--color-accent-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-soft)}.avatar-uploader-img{width:100%;height:100%;object-fit:cover}.avatar-uploader-fallback-icon{width:30px;height:30px;color:var(--color-accent-strong)}.avatar-uploader-badge{position:absolute;right:-1px;bottom:-1px;width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:#fffaf0;display:flex;align-items:center;justify-content:center;border:2px solid #fffefb}.avatar-uploader-badge svg{width:13px;height:13px}@media (max-width: 360px){.avatar-uploader{width:56px!important;height:56px!important}}.persona-manage-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:linear-gradient(180deg,#fdf6ea,#f7ecd9 60%,#f3e4c4);display:flex;justify-content:center;animation:kc-modal-fade-in .15s ease}.persona-manage-panel{width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;padding:0 16px calc(20px + env(safe-area-inset-bottom))}.persona-manage-header{display:flex;align-items:center;gap:12px;padding:18px 0 12px;flex-shrink:0}.persona-manage-back{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:#fffefb;box-shadow:var(--shadow-soft);color:var(--color-ink);display:flex;align-items:center;justify-content:center}.persona-manage-back svg{width:18px;height:18px}.persona-manage-title{margin:0;font-family:var(--font-round);font-size:20px;color:var(--color-ink);letter-spacing:.5px}.persona-manage-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.persona-card{display:flex;align-items:center;gap:12px;background:#fffefb;border-radius:20px;padding:12px 14px;box-shadow:0 4px 18px #7a52231f}.persona-card.is-current{box-shadow:0 0 0 2px var(--color-accent),0 4px 18px #7a52231f}.persona-card-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--color-accent-soft)}.persona-card-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:none;background:transparent;padding:0;text-align:left}.persona-card-name-row{display:flex;align-items:center;gap:8px;max-width:100%}.persona-card-name{font-size:15px;font-weight:700;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-card-badge{flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--color-accent-strong);background:var(--color-accent-soft);border-radius:999px;padding:2px 8px}.persona-card-sig{font-size:12px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.persona-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.persona-card-actions button{border:1px solid var(--color-border);background:var(--color-bg-soft);color:var(--color-ink-soft);border-radius:999px;padding:5px 14px;font-size:12px}.persona-card-actions button:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-strong)}.persona-card-actions button.danger{color:#c14c3a}.persona-card-actions button.danger:hover:not(:disabled){background:#fbe3dc;border-color:#e8b6a5}.persona-card-actions button:disabled{opacity:.45;cursor:not-allowed}.persona-manage-empty{padding:40px 0;text-align:center;color:var(--color-ink-soft);font-size:13px}.persona-manage-add{flex-shrink:0;width:100%;padding:12px;border:1px dashed var(--color-accent-soft);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-accent-strong);font-size:14px;font-weight:600;margin-top:8px}.persona-manage-add:hover{background:#fff;box-shadow:var(--shadow-soft)}.persona-form-avatar-row{display:flex;justify-content:center;margin-bottom:4px}.persona-form-error{color:#c14c3a!important}.memory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:linear-gradient(180deg,var(--color-bg-soft) 0%,var(--color-cream) 60%,#f3e4c4 100%);display:flex;justify-content:center;animation:kc-modal-fade-in .15s ease}.memory-panel{width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;padding:0 16px calc(20px + env(safe-area-inset-bottom))}.memory-header{display:flex;align-items:center;gap:12px;padding:18px 0 12px;flex-shrink:0}.memory-back{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--color-paper);box-shadow:var(--shadow-soft);color:var(--color-ink);display:flex;align-items:center;justify-content:center}.memory-back svg{width:18px;height:18px}.memory-title{margin:0;font-family:var(--font-round);font-size:20px;color:var(--color-ink);letter-spacing:.5px}.memory-total{margin-left:auto;font-size:12px;color:var(--color-ink-soft)}.memory-pending{flex-shrink:0;display:flex;flex-direction:column;gap:8px;max-height:34vh;overflow-y:auto;margin-bottom:10px;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:14px;background:var(--color-paper-glass)}.memory-pending-title{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.3px;color:var(--color-ink-soft)}.memory-pending-item{display:flex;align-items:center;gap:10px}.memory-pending-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.memory-pending-range{font-size:13px;color:var(--color-ink);word-break:break-word}.memory-pending-why{font-size:11.5px;color:var(--color-ink-soft);word-break:break-word}.memory-pending-retry{flex-shrink:0;padding:6px 14px;font-size:12.5px;letter-spacing:.5px}.memory-pending-retry:disabled{opacity:.5}.memory-pending-done{padding:4px 0;font-size:12.5px;color:var(--color-accent-strong);word-break:break-word}.memory-search{flex-shrink:0;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--color-tan-line);border-radius:999px;background:var(--color-paper-glass)}.memory-search:focus-within{border-color:var(--color-tan-line-strong);box-shadow:0 0 0 3px var(--color-tan-glow)}.memory-search-icon{flex-shrink:0;width:16px;height:16px;color:var(--color-tan)}.memory-search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--color-ink)}.memory-search-input::placeholder{color:var(--color-ink-soft);opacity:.7}.memory-filters{flex-shrink:0;display:flex;gap:8px;padding:10px 0 8px;overflow-x:auto;scrollbar-width:none}.memory-filters::-webkit-scrollbar{display:none}.memory-filters.is-muted{opacity:.45}.memory-filter{flex-shrink:0;border:1px solid var(--color-border-soft);border-radius:999px;padding:5px 14px;font-size:13px;color:var(--color-ink-soft);background:var(--color-paper);transition:background .15s ease,color .15s ease,border-color .15s ease}.memory-filter.is-active{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}.memory-filter:disabled{pointer-events:none}.memory-sorts{flex-shrink:0;display:flex;gap:8px;padding:0 0 12px}.memory-sorts.is-muted{opacity:.45}.memory-sort{flex-shrink:0;border:1px solid var(--color-border-soft);border-radius:999px;padding:3px 11px;font-size:12px;color:var(--color-ink-soft);background:var(--color-paper);opacity:.8;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.memory-sort.is-active{border-color:var(--color-accent-soft);color:var(--color-accent-strong);opacity:1}.memory-sort:disabled{pointer-events:none}.memory-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.memory-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;border:none;background:var(--color-paper);border-radius:18px;padding:12px 14px;text-align:left;box-shadow:0 4px 18px #7a52231f;transition:box-shadow .15s ease}.memory-card:hover{box-shadow:var(--shadow-lift)}.memory-card-top{display:flex;align-items:baseline;gap:6px;width:100%}.memory-card-name{flex:1;min-width:0;font-family:var(--font-round);font-size:15px;line-height:1.5;color:var(--color-ink);word-break:break-word}.memory-pin{flex-shrink:0;font-size:12px;line-height:1;color:var(--color-accent-strong)}.memory-card-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--color-ink-soft)}.memory-type{flex-shrink:0;padding:1px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}.memory-card-date{flex-shrink:0}.memory-card-preview{font-size:13px;line-height:1.6;color:var(--color-ink);word-break:break-word}.memory-card-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}.memory-card.is-call{border-left:2px solid var(--color-moonlight-line)}.memory-card.is-call .memory-card-name{display:flex;align-items:center;gap:6px}.memory-call-icon{flex-shrink:0;width:14px;height:14px;color:var(--color-moonlight)}.memory-call-duration{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-moonlight)}.memory-card.is-plan.is-faded{opacity:.6}.memory-plan-status{flex-shrink:0;padding:1px 8px;border-radius:999px;border:1px solid var(--color-border-soft);font-size:11px;color:var(--color-ink-soft)}.memory-plan-weight{flex-shrink:0}.memory-dots{flex-shrink:0;display:inline-flex;gap:1px;font-size:9px;line-height:1;color:var(--color-border);letter-spacing:0}.memory-dot.is-on{color:var(--color-accent)}.memory-tags{display:flex;flex-wrap:wrap;gap:6px}.memory-tag{padding:1px 8px;border-radius:999px;border:1px solid var(--color-border-soft);font-size:11px;color:var(--color-ink-soft)}.memory-locked{font-size:12.5px;color:var(--color-ink-soft)}.memory-hint{padding:40px 0;text-align:center;color:var(--color-ink-soft);font-size:13px}.memory-hint-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 0}.memory-hint-wrap .memory-hint{padding:0;margin:0}.memory-retry{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:9px 26px;font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--color-wood-dark);background:var(--color-bg-soft);box-shadow:var(--shadow-soft);transition:transform .14s ease}.memory-retry:active{transform:scale(.97)}.memory-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:#3a220c4d;animation:kc-modal-fade-in .15s ease}.memory-sheet{width:100%;max-width:560px;max-height:76vh;display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-border-soft);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 28px #7a522338;animation:memory-sheet-up .25s cubic-bezier(.22,.8,.3,1)}@keyframes memory-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.memory-sheet-grip{flex-shrink:0;display:flex;justify-content:center;padding:10px 16px 4px}.memory-sheet-grip-bar{width:38px;height:4px;border-radius:999px;background:var(--color-border)}.memory-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px))}.memory-sheet-title{margin:0;font-family:var(--font-round);font-size:17px;line-height:1.5;letter-spacing:.5px;color:var(--color-ink);word-break:break-word}.memory-sheet-content{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.75;color:var(--color-ink)}.memory-sheet-section{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--color-border-soft)}.memory-sheet-label{margin:0;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--color-ink-soft)}.memory-sheet-label-inline{font-size:12px;color:var(--color-ink-soft)}.memory-sheet-text{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.7;color:var(--color-ink)}.memory-quote{margin:0;padding:8px 12px;border-left:2px solid var(--color-accent-soft);border-radius:0 10px 10px 0;background:var(--color-bg-soft);display:flex;flex-direction:column;gap:4px}.memory-quote-text{white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.7;color:var(--color-ink)}.memory-quote-who{align-self:flex-end;font-size:11.5px;color:var(--color-ink-soft)}.memory-sheet-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--color-ink-soft)}.memory-sheet-importance{display:flex;align-items:center;gap:8px}.memory-locked-detail{margin:0;font-size:13.5px;line-height:1.8;color:var(--color-ink-soft)}.memory-sheet-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.memory-act{flex-shrink:0;border:1px solid var(--color-border);border-radius:999px;padding:6px 18px;font-size:13px;color:var(--color-wood-dark);background:var(--color-bg-soft);transition:transform .14s ease}.memory-act:active{transform:scale(.97)}.memory-act:disabled{opacity:.45;pointer-events:none}.memory-act.is-primary{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:700}.memory-act.is-danger{color:#a4503a}.memory-confirm-text{flex:1;min-width:0;font-size:12.5px;color:var(--color-ink-soft)}.memory-confirm-btns,.memory-edit-btns{flex-shrink:0;display:flex;gap:8px}.memory-edit{display:flex;flex-direction:column;gap:8px}.memory-edit-warn{margin:0;font-size:11.5px;color:#a4503a}.memory-edit-area{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--color-tan-line);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.75;color:var(--color-ink);background:var(--color-bg-soft);outline:none}.memory-edit-area:focus{border-color:var(--color-tan-line-strong);box-shadow:0 0 0 3px var(--color-tan-glow)}.memory-edit-bar{display:flex;align-items:center;gap:10px}.memory-edit-count{margin-left:auto;font-size:11.5px;color:var(--color-ink-soft)}.memory-edit-count.is-over{color:#a4503a}.memory-toast{position:fixed;left:50%;bottom:14%;transform:translate(-50%);z-index:260;max-width:80%;padding:9px 18px;border-radius:999px;background:#3a220cdb;color:#fff8ec;font-size:13px;line-height:1.5;text-align:center;animation:kc-modal-fade-in .15s ease}@media (prefers-reduced-motion: reduce){.memory-overlay,.memory-sheet-mask,.memory-sheet,.memory-toast{animation:none}}.health-overlay{--hl-bg: #faf6ee;--hl-bg-sink: #f3ece0;--hl-card: #ffffff;--hl-line: #efe6d8;--hl-shadow: 0 2px 12px rgba(138, 106, 64, .08);--hl-ink: #3f352c;--hl-ink-mid: #7d7066;--hl-ink-soft: #a89c90;--hl-accent: #f08a3c;--hl-accent-strong: #d96c1c;--hl-accent-weak: #f8c79a;--hl-accent-tint: #fdf0e3;--hl-sleep: #9a86d4;--hl-sleep-deep: #6a56b0;--hl-sleep-light: #9a86d4;--hl-sleep-tint: #f2eefb;--hl-radius: 18px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--hl-bg);display:flex;justify-content:center;color:var(--hl-ink);animation:hl-fade-in .15s ease}@keyframes hl-fade-in{0%{opacity:0}to{opacity:1}}.health-page{width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;min-height:0}.hl-header{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px 16px 10px}.hl-icon-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--hl-card);box-shadow:var(--hl-shadow);color:var(--hl-ink);display:flex;align-items:center;justify-content:center}.hl-icon-btn svg{width:18px;height:18px}.hl-header-text{flex:1;min-width:0}.hl-title{margin:0;font-family:var(--font-round);font-size:20px;letter-spacing:.5px;color:var(--hl-ink)}.hl-tagline{margin-top:2px;font-size:12px;color:var(--hl-ink-mid)}.hl-subtitle{margin-top:2px;font-size:11.5px;color:var(--hl-ink-soft)}.hl-refresh{margin-left:auto;color:var(--hl-accent-strong)}.hl-refresh:disabled{opacity:.6}.hl-refresh.is-spinning svg{animation:hl-spin .9s linear infinite}@keyframes hl-spin{to{transform:rotate(360deg)}}.hl-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;padding:4px 16px calc(24px + env(safe-area-inset-bottom,0px))}.hl-card{background:var(--hl-card);border-radius:var(--hl-radius);box-shadow:var(--hl-shadow);padding:14px 16px 16px}.hl-card-head{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.hl-card-title{margin:0;font-family:var(--font-round);font-size:15px;letter-spacing:.5px;color:var(--hl-ink)}.hl-card-extra{margin-left:auto;font-size:11.5px;color:var(--hl-ink-soft)}.hl-empty{padding:18px 0;text-align:center;font-size:13px;color:var(--hl-ink-soft)}.hl-note{margin-top:10px;font-size:11px;color:var(--hl-ink-soft)}.hl-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 10px}.hl-stat{min-width:0}.hl-stat-label{font-size:11.5px;color:var(--hl-ink-soft)}.hl-stat-value{margin-top:2px;font-family:var(--font-round);font-size:22px;line-height:1.25;color:var(--hl-accent-strong);word-break:break-all}.hl-stat-value.is-mute{color:var(--hl-ink-mid)}.hl-stat-unit{font-family:var(--font-body);font-size:11.5px;font-weight:400;color:var(--hl-ink-mid)}.hl-stat-sub{font-size:11px;color:var(--hl-ink-soft)}.hl-overview-foot{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--hl-line);font-size:11.5px;color:var(--hl-ink-mid)}.hl-week{display:flex;align-items:flex-end;gap:6px;height:126px}.hl-week-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.hl-week-num{flex-shrink:0;font-size:10px;line-height:1.2;color:var(--hl-ink-mid);white-space:nowrap}.hl-week-track{flex:1;min-height:0;width:100%;max-width:22px;display:flex;align-items:flex-end;border-radius:7px;background:var(--hl-bg-sink)}.hl-week-bar{width:100%;border-radius:7px;background:linear-gradient(180deg,var(--hl-accent) 0%,var(--hl-accent-strong) 100%)}.hl-week-bar.is-patched{background:var(--hl-accent-weak)}.hl-week-day{flex-shrink:0;font-size:11px;color:var(--hl-ink-soft);white-space:nowrap}.hl-week-day.is-today{color:var(--hl-accent-strong);font-weight:700}.hl-hr-chart{display:block;width:100%;height:auto;overflow:visible}.hl-hr-grid{stroke:var(--hl-line);stroke-width:1}.hl-hr-tick{fill:var(--hl-ink-soft);font-size:8px;font-family:var(--font-body)}.hl-hr-line{fill:none;stroke:var(--hl-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hl-hr-dot{fill:var(--hl-accent)}.hl-hr-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hl-line);font-size:11.5px;color:var(--hl-ink-mid)}.hl-sleep-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hl-sleep-start{font-family:var(--font-round);font-size:30px;line-height:1.15;color:var(--hl-sleep-deep)}.hl-sleep-wake{font-size:13px;color:var(--hl-ink-mid)}.hl-sleep-total{margin-top:4px;font-size:12.5px;color:var(--hl-ink-mid)}.hl-sleep-bar{display:flex;gap:2px;height:12px;margin-top:12px;border-radius:999px;overflow:hidden;background:var(--hl-sleep-tint)}.hl-sleep-seg.is-deep{background:var(--hl-sleep-deep)}.hl-sleep-seg.is-light{background:var(--hl-sleep-light)}.hl-sleep-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px;margin-top:12px}.hl-sleep-item{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0}.hl-sleep-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.hl-sleep-dot.is-deep{background:var(--hl-sleep-deep)}.hl-sleep-dot.is-light{background:var(--hl-sleep-light)}.hl-sleep-item-label{color:var(--hl-ink-soft)}.hl-sleep-item-value{margin-left:auto;color:var(--hl-ink);white-space:nowrap}.hl-summary{margin:0;font-size:13px;line-height:1.8;color:var(--hl-ink-soft)}.hl-skeleton{display:flex;flex-direction:column;gap:12px}.hl-skeleton-card{height:108px;border-radius:var(--hl-radius);background:linear-gradient(100deg,var(--hl-card) 30%,var(--hl-bg-sink) 50%,var(--hl-card) 70%);background-size:300% 100%;box-shadow:var(--hl-shadow);animation:hl-shimmer 1.3s ease-in-out infinite}.hl-skeleton-tall{height:170px}@keyframes hl-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.hl-fail{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 0}.hl-fail-text{margin:0;font-size:13.5px;color:var(--hl-ink-mid)}.hl-retry{border:1px solid var(--hl-accent-weak);border-radius:999px;padding:8px 26px;font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--hl-accent-strong);background:var(--hl-accent-tint);transition:transform .14s ease}.hl-retry:active{transform:scale(.97)}@media (prefers-reduced-motion: reduce){.health-overlay,.hl-skeleton-card,.hl-refresh.is-spinning svg{animation:none}}.read-overlay[data-read-theme=day],.news-overlay{--rd-bg: linear-gradient(180deg, #fbf6fa 0%, #f7f0f5 48%, #f2e7ef 100%);--rd-card: #fffdfe;--rd-card-sink: #f6eef4;--rd-ink: #44374e;--rd-ink-mid: #7b6b85;--rd-ink-soft: #a596ad;--rd-accent: #c9a7d8;--rd-accent-strong: #9d74b4;--rd-accent-tint: #f3e9f8;--rd-on-accent: #ffffff;--rd-pink: #e8b4c8;--rd-pink-strong: #cf7a9c;--rd-pink-tint: #fceef3;--rd-his: #8fa8e0;--rd-his-strong: #5b74b8;--rd-his-tint: #eaeffb;--rd-line: rgba(120, 95, 135, .16);--rd-line-dash: rgba(154, 122, 170, .38);--rd-shadow: 0 2px 12px rgba(136, 102, 150, .1);--rd-shadow-lift: 0 8px 24px rgba(136, 102, 150, .18);--rd-danger: #c35a6a;--rd-mask: rgba(70, 54, 80, .3);--rd-pattern: radial-gradient(2px 2px at 14% 12%, rgba(201, 167, 216, .26), transparent), radial-gradient(2px 2px at 76% 24%, rgba(232, 180, 200, .24), transparent), radial-gradient(1.6px 1.6px at 36% 58%, rgba(201, 167, 216, .18), transparent), radial-gradient(2.2px 2.2px at 88% 72%, rgba(232, 180, 200, .18), transparent), radial-gradient(1.6px 1.6px at 10% 84%, rgba(201, 167, 216, .16), transparent);--rd-art-glow: rgba(232, 180, 200, .3);--rd-art-page: #fffdfe;--rd-art-line: #c9a7d8;--rd-art-ink: #b79ac6;--rd-art-stem: #9fc4a8;--rd-art-petal: #e8b4c8;--rd-art-petal2: #c9a7d8;--rd-art-heart: #f3d7a8;--rd-art-paw: #d9bfe4;--rd-art-star: #e3c7a0}.read-overlay[data-read-theme=night]{--rd-bg: linear-gradient(180deg, #2b2646 0%, #24203a 50%, #1a1730 100%);--rd-card: rgba(255, 255, 255, .07);--rd-card-sink: rgba(255, 255, 255, .04);--rd-ink: #efe4f3;--rd-ink-mid: #c0b2cf;--rd-ink-soft: #94869f;--rd-accent: #c3a6e2;--rd-accent-strong: #ddc8f2;--rd-accent-tint: rgba(195, 166, 226, .16);--rd-on-accent: #241f3a;--rd-pink: #eeaac8;--rd-pink-strong: #f6c6db;--rd-pink-tint: rgba(238, 170, 200, .16);--rd-his: #9db2f0;--rd-his-strong: #c3cffa;--rd-his-tint: rgba(157, 178, 240, .16);--rd-line: rgba(255, 255, 255, .13);--rd-line-dash: rgba(195, 166, 226, .4);--rd-shadow: 0 2px 14px rgba(0, 0, 0, .3);--rd-shadow-lift: 0 8px 26px rgba(0, 0, 0, .42);--rd-danger: #ff9fae;--rd-mask: rgba(10, 8, 22, .56);--rd-pattern: radial-gradient(1.6px 1.6px at 14% 12%, rgba(255, 255, 255, .4), transparent), radial-gradient(1.2px 1.2px at 76% 24%, rgba(255, 255, 255, .3), transparent), radial-gradient(1.5px 1.5px at 36% 58%, rgba(255, 255, 255, .24), transparent), radial-gradient(1.2px 1.2px at 88% 72%, rgba(255, 255, 255, .22), transparent), radial-gradient(1.6px 1.6px at 10% 84%, rgba(255, 255, 255, .2), transparent);--rd-art-glow: rgba(195, 166, 226, .18);--rd-art-page: #39335c;--rd-art-line: #c3a6e2;--rd-art-ink: #8d7fb5;--rd-art-stem: #7fae92;--rd-art-petal: #eeaac8;--rd-art-petal2: #c3a6e2;--rd-art-heart: #f4dba6;--rd-art-paw: #9a87c2;--rd-art-star: #f3e3b6}.read-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;overflow:hidden;background:var(--rd-bg);color:var(--rd-ink);display:flex;justify-content:center;animation:kc-modal-fade-in .18s ease}.read-overlay:before,.read-overlay .rd-layer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--rd-pattern);background-size:260px 220px}.rd-page,.rd-layer{position:relative;z-index:1;width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;min-height:0}.rd-layer{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translate(-50%);background:var(--rd-bg);animation:kc-modal-fade-in .16s ease}.rd-detail{z-index:2}.rd-reader{z-index:3}.rd-header{flex-shrink:0;padding:10px 16px 6px}.rd-header-bar{display:flex;align-items:center;gap:8px}.rd-icon-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--rd-card);box-shadow:var(--rd-shadow);color:var(--rd-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.rd-icon-btn svg{width:18px;height:18px}.rd-icon-btn:disabled{opacity:.6}.rd-upload-btn{margin-left:auto;color:var(--rd-accent-strong)}.rd-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--rd-accent-tint);border-top-color:var(--rd-accent-strong);animation:rd-spin .8s linear infinite}@keyframes rd-spin{to{transform:rotate(360deg)}}.rd-theme-pick,.rd-font-pick{display:flex;gap:2px;padding:2px;border-radius:999px;background:var(--rd-card-sink);border:1px solid var(--rd-line)}.rd-theme-btn,.rd-font-btn{border:none;background:transparent;color:var(--rd-ink-mid);font-size:11.5px;line-height:1;padding:6px 10px;border-radius:999px;cursor:pointer}.rd-theme-btn.is-on,.rd-font-btn.is-on{background:var(--rd-accent);color:var(--rd-on-accent)}.rd-art-box{margin-top:6px;display:flex;justify-content:center}.rd-art{width:100%;max-width:320px;height:108px}.rd-title{margin:2px 0 0;text-align:center;font-family:var(--font-round);font-size:21px;letter-spacing:1px;color:var(--rd-ink)}.rd-tagline{margin:4px 0 0;text-align:center;font-size:12.5px;color:var(--rd-ink-mid)}.rd-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 28px;display:flex;flex-direction:column;gap:14px}.rd-section-title{margin:0 0 8px;display:flex;align-items:center;gap:6px;font-family:var(--font-round);font-size:14px;color:var(--rd-accent-strong)}.rd-section-n{font-size:11px;color:var(--rd-ink-soft);background:var(--rd-card-sink);border-radius:999px;padding:1px 7px}.rd-books{display:flex;flex-direction:column;gap:10px}.rd-book{display:flex;gap:10px;width:100%;text-align:left;padding:12px;border-radius:18px;border:1px dashed var(--rd-line-dash);background:var(--rd-card);box-shadow:var(--rd-shadow);color:inherit;cursor:pointer}.rd-book:active{box-shadow:var(--rd-shadow-lift)}.rd-book-icon{flex-shrink:0;width:34px;height:34px;border-radius:12px;background:var(--rd-accent-tint);color:var(--rd-accent-strong);display:flex;align-items:center;justify-content:center}.rd-book-icon svg{width:20px;height:20px}.rd-book-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rd-book-title{font-family:var(--font-round);font-size:15px;color:var(--rd-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-book-author{font-size:11.5px;color:var(--rd-ink-soft)}.rd-progs{margin-top:6px;display:flex;flex-direction:column;gap:5px}.rd-prog{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--rd-ink-mid);flex-wrap:wrap}.rd-prog-who{flex-shrink:0;width:14px;text-align:center;color:var(--rd-ink-soft)}.rd-prog-track{flex:1;min-width:60px;height:7px;border-radius:999px;background:var(--rd-card-sink);overflow:hidden}.rd-prog-fill{display:block;height:100%;border-radius:999px;transition:width .3s ease}.rd-prog-user .rd-prog-fill{background:linear-gradient(90deg,var(--rd-pink),var(--rd-accent))}.rd-prog-user .rd-prog-pct{color:var(--rd-pink-strong)}.rd-prog-kiro .rd-prog-fill{background:linear-gradient(90deg,var(--rd-his),var(--rd-accent))}.rd-prog-kiro .rd-prog-pct{color:var(--rd-his-strong)}.rd-prog-pct{flex-shrink:0;width:36px;text-align:right;font-variant-numeric:tabular-nums}.rd-prog-at{width:100%;padding-left:20px;font-size:11px;color:var(--rd-ink-soft)}.rd-card{padding:14px;border-radius:18px;background:var(--rd-card);box-shadow:var(--rd-shadow)}.rd-card-title{margin:0 0 8px;font-family:var(--font-round);font-size:14px;color:var(--rd-accent-strong)}.rd-btn{border:none;border-radius:999px;padding:8px 16px;font-size:13px;cursor:pointer}.rd-btn:disabled{opacity:.5}.rd-btn-primary{background:var(--rd-accent);color:var(--rd-on-accent)}.rd-btn-soft{background:var(--rd-his-tint);color:var(--rd-his-strong)}.rd-btn-ghost{background:var(--rd-card-sink);color:var(--rd-ink-mid);border:1px solid var(--rd-line)}.rd-error,.rd-ok,.rd-note-line{border-radius:14px;padding:9px 12px;font-size:12.5px;line-height:1.6}.rd-error{background:#c35a6a1f;color:var(--rd-danger)}.rd-ok{background:var(--rd-accent-tint);color:var(--rd-accent-strong)}.rd-note-line{background:var(--rd-card-sink);color:var(--rd-ink-mid)}.rd-fail{padding:28px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.rd-fail-text{margin:0;font-size:13px;color:var(--rd-ink-mid)}.rd-loading{padding:36px 16px;text-align:center;font-size:13px;color:var(--rd-ink-soft)}.rd-empty{padding:30px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.rd-empty-art svg{width:44px;height:44px}.rd-empty-text{margin:0;font-size:13px;line-height:1.7;color:var(--rd-ink-mid)}.rd-empty-line{padding:12px 14px;border-radius:14px;border:1px dashed var(--rd-line-dash);font-size:12.5px;color:var(--rd-ink-soft);text-align:center}.rd-skeleton{display:flex;flex-direction:column;gap:12px}.rd-skeleton-card{height:92px;border-radius:18px;background:var(--rd-card-sink);animation:rd-pulse 1.4s ease-in-out infinite}.rd-skeleton-tall{height:150px}@keyframes rd-pulse{0%,to{opacity:1}50%{opacity:.55}}.rd-sub-header{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--rd-line)}.rd-sub-title{flex:1;min-width:0;font-family:var(--font-round);font-size:15px;color:var(--rd-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-detail-head{text-align:center}.rd-detail-title{margin:0;font-family:var(--font-round);font-size:19px;color:var(--rd-ink)}.rd-detail-author{margin-top:4px;font-size:12px;color:var(--rd-ink-soft)}.rd-detail-quote{margin:10px 0 0;font-size:12.5px;line-height:1.8;color:var(--rd-pink-strong)}.rd-read-btn{width:100%;height:48px;border:none;border-radius:999px;background:linear-gradient(90deg,var(--rd-pink),var(--rd-accent));color:var(--rd-on-accent);font-family:var(--font-round);font-size:15px;letter-spacing:1px;box-shadow:var(--rd-shadow-lift);cursor:pointer}.rd-read-btn:disabled{opacity:.5;box-shadow:none}.rd-detail-foot{margin-top:6px;text-align:center}.rd-quiet-danger{border:none;background:transparent;font-size:11.5px;color:var(--rd-ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.rd-toc{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.rd-toc-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 6px;border:none;border-bottom:1px solid var(--rd-line);background:transparent;color:var(--rd-ink);text-align:left;font-size:13px;cursor:pointer}.rd-toc-item.is-here{color:var(--rd-accent-strong)}.rd-toc-no{flex-shrink:0;width:22px;font-size:11px;color:var(--rd-ink-soft);font-variant-numeric:tabular-nums}.rd-toc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-toc-count{flex-shrink:0;font-size:11px;color:var(--rd-ink-soft)}.rd-reader{--rd-para-size: 16px}.rd-reader[data-rd-font=sm]{--rd-para-size: 14.5px}.rd-reader[data-rd-font=lg]{--rd-para-size: 18.5px}.rd-pager{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:manipulation}.rd-pager-track{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;transition:transform .2s ease;will-change:transform}.rd-pager-cols{height:100%;column-fill:auto}.rd-para-block{margin-bottom:4px}.rd-para{margin:0 0 14px;font-size:var(--rd-para-size);line-height:1.95;color:var(--rd-ink);text-indent:2em;word-break:break-word;orphans:2;widows:2}.rd-para-mark{display:inline-flex;align-items:center;gap:1px;margin-left:4px;vertical-align:baseline;padding:1px 6px 1px 4px;border:none;border-radius:999px;background:var(--rd-pink-tint);color:var(--rd-pink-strong);cursor:pointer}.rd-para-mark.is-open{background:var(--rd-accent-tint);color:var(--rd-accent-strong)}.rd-para-mark svg{width:13px;height:13px}.rd-para-mark-n{font-size:10.5px;line-height:1}.rd-notes{margin:-4px 0 16px;text-indent:0}.rd-notes>.rd-note+.rd-note{margin-top:8px}.rd-note-bubble{border-radius:14px;padding:9px 12px;font-size:13px;line-height:1.7}.rd-note.is-mine>.rd-note-bubble{background:var(--rd-pink-tint);border:1px solid var(--rd-pink);color:var(--rd-ink)}.rd-note.is-his>.rd-note-bubble{background:var(--rd-his-tint);border:1px solid var(--rd-his);color:var(--rd-ink)}.rd-note-who{display:inline-block;margin-bottom:2px;padding:1px 7px;border-radius:999px;background:var(--rd-his);color:var(--rd-on-accent);font-size:10.5px;line-height:1.5}.rd-note-cite{margin-bottom:4px;padding-left:8px;border-left:2px solid var(--rd-line-dash);font-size:11.5px;line-height:1.6;color:var(--rd-ink-soft)}.rd-note-text{margin:0;white-space:pre-wrap}.rd-note-meta{margin-top:4px;display:flex;align-items:center;gap:10px}.rd-note-time{font-size:10.5px;color:var(--rd-ink-soft)}.rd-note-act{border:none;background:transparent;padding:0;font-size:11px;color:var(--rd-ink-mid);cursor:pointer}.rd-note-act.is-danger{color:var(--rd-danger)}.rd-note .rd-note{margin-top:6px}.rd-chapter-nav{margin:22px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;break-inside:avoid}.rd-chapter-end{font-size:12px;color:var(--rd-ink-soft)}.rd-action{position:absolute;left:12px;right:12px;bottom:16px;z-index:4;padding:12px 14px;border-radius:18px;background:var(--rd-card);border:1px solid var(--rd-line);box-shadow:var(--rd-shadow-lift);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rd-action-quote{font-size:12px;line-height:1.6;color:var(--rd-ink-mid);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rd-action-btns{margin-top:10px;display:flex;gap:8px}.rd-action-btns .rd-btn{flex:1}.rd-toast{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:5;padding:6px 14px;border-radius:999px;background:var(--rd-card);border:1px solid var(--rd-line);box-shadow:var(--rd-shadow);font-size:12px;color:var(--rd-ink-mid);white-space:nowrap}.rd-toc-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:var(--rd-mask);display:flex;justify-content:center;align-items:flex-start;padding:56px 14px 24px}.rd-toc-sheet{width:100%;max-width:420px;max-height:100%;overflow-y:auto;padding:14px 16px 18px;border-radius:20px;background:var(--rd-card);box-shadow:var(--rd-shadow-lift);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.rd-toc-sheet-head{margin-bottom:6px;font-family:var(--font-round);font-size:14px;color:var(--rd-accent-strong)}.rd-note-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--rd-mask);display:flex;align-items:center;justify-content:center;padding:18px;animation:kc-modal-fade-in .16s ease}.rd-note-card{width:100%;max-width:420px;padding:16px;border-radius:20px;background:var(--rd-bg);border:1px solid var(--rd-line);box-shadow:var(--rd-shadow-lift)}.rd-note-head{display:flex;align-items:center;justify-content:space-between}.rd-note-title{margin:0;font-family:var(--font-round);font-size:15px;color:var(--rd-ink)}.rd-note-close{border:none;background:transparent;font-size:20px;line-height:1;color:var(--rd-ink-soft);cursor:pointer}.rd-note-quote{margin:10px 0 0;padding:8px 10px;border-left:3px solid var(--rd-accent);border-radius:0 10px 10px 0;background:var(--rd-accent-tint);font-size:12px;line-height:1.7;color:var(--rd-ink-mid);max-height:96px;overflow-y:auto}.rd-note-input{margin-top:12px;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:14px;border:1px solid var(--rd-line);background:var(--rd-card);color:var(--rd-ink);font-size:14px;line-height:1.7;font-family:inherit;resize:vertical}.rd-note-input:focus{outline:none;border-color:var(--rd-accent)}.rd-note-foot{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.rd-note-count{font-size:11px;color:var(--rd-ink-soft);font-variant-numeric:tabular-nums}.rd-note-btns{display:flex;gap:8px}.rd-note-error{margin-top:10px}.news-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;overflow:hidden;background:var(--rd-bg);color:var(--rd-ink);display:flex;justify-content:center;animation:kc-modal-fade-in .18s ease}.news-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--rd-pattern);background-size:260px 220px}.nw-page{position:relative;z-index:1;width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;min-height:0}.nw-header{flex-shrink:0;padding:10px 16px 6px}.nw-header-bar{display:flex;align-items:center;gap:8px}.nw-icon-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--rd-card);box-shadow:var(--rd-shadow);color:var(--rd-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.nw-icon-btn svg{width:18px;height:18px}.nw-art-box{margin-top:2px;display:flex;justify-content:center}.nw-art{width:100%;max-width:300px;height:92px}.nw-title{margin:2px 0 0;text-align:center;font-family:var(--font-round);font-size:21px;letter-spacing:1px;color:var(--rd-ink)}.nw-day{margin:4px 0 0;text-align:center;font-size:12.5px;color:var(--rd-accent-strong)}.nw-tagline{margin:2px 0 0;text-align:center;font-size:12px;color:var(--rd-ink-mid)}.nw-tabs{margin:10px auto 0;display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--rd-card-sink);border:1px solid var(--rd-line);width:fit-content}.nw-tab{border:none;background:transparent;color:var(--rd-ink-mid);font-family:var(--font-round);font-size:13px;line-height:1;padding:8px 20px;border-radius:999px;cursor:pointer}.nw-tab.is-on{background:var(--rd-accent);color:var(--rd-on-accent)}.nw-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 28px;display:flex;flex-direction:column;gap:16px}.nw-loading{padding:36px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.nw-spinner{width:24px;height:24px;border-radius:50%;border:2.5px solid var(--rd-accent-tint);border-top-color:var(--rd-accent-strong);animation:nw-spin .8s linear infinite}@keyframes nw-spin{to{transform:rotate(360deg)}}.nw-loading-text{margin:0;font-size:13px;color:var(--rd-ink-mid)}.nw-error{padding:12px 14px;border-radius:14px;background:var(--rd-card);border:1px solid var(--rd-line);color:var(--rd-danger);font-size:13px;line-height:1.6}.nw-section-title{margin:0 0 8px;font-family:var(--font-round);font-size:14px;color:var(--rd-accent-strong)}.nw-note{margin:0;padding:12px 14px;border-radius:14px;background:var(--rd-card-sink);border:1px dashed var(--rd-line-dash);font-size:13px;line-height:1.6;color:var(--rd-ink-mid)}.nw-picks{display:flex;flex-direction:column;gap:12px}.nw-pick{padding:14px;border-radius:18px;background:var(--rd-card);border:1px solid var(--rd-line);box-shadow:var(--rd-shadow)}.nw-pick-main{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.nw-pick-body{flex:1;min-width:0}.nw-pick-title{margin:0;font-family:var(--font-round);font-size:16px;line-height:1.45;color:var(--rd-ink)}.nw-pick-summary{margin:6px 0 0;font-size:12.5px;line-height:1.6;color:var(--rd-ink-mid);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nw-pick-thumb{flex-shrink:0;width:84px;height:64px;border-radius:12px;object-fit:cover;background:var(--rd-card-sink)}.nw-why{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--rd-line-dash);font-size:12.5px;line-height:1.6;color:var(--rd-pink-strong)}.nw-why-who{color:var(--rd-accent-strong)}.nw-list{display:flex;flex-direction:column;gap:10px}.nw-row{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:16px;background:var(--rd-card);border:1px solid var(--rd-line);box-shadow:var(--rd-shadow);cursor:pointer}.nw-row:active{box-shadow:var(--rd-shadow-lift)}.nw-row-body{flex:1;min-width:0}.nw-row-title{margin:0;font-size:14px;line-height:1.45;color:var(--rd-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nw-row-thumb{flex-shrink:0;width:60px;height:46px;border-radius:10px;object-fit:cover;background:var(--rd-card-sink)}.nw-meta{margin-top:6px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11.5px;color:var(--rd-ink-soft)}.nw-dot{color:var(--rd-ink-soft)}.nw-tag{padding:1px 7px;border-radius:999px;background:var(--rd-accent-tint);color:var(--rd-accent-strong);font-size:11px}.nw-save{flex-shrink:0;width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--rd-ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}.nw-save svg{width:17px;height:17px}.nw-save.is-on{color:var(--rd-pink-strong)}.nw-unsave{flex-shrink:0;border:1px solid var(--rd-line);background:var(--rd-card-sink);color:var(--rd-ink-mid);font-size:12px;padding:5px 12px;border-radius:999px;cursor:pointer}.nw-failed{margin:0;text-align:center;font-size:11.5px;line-height:1.6;color:var(--rd-ink-soft)}.wake-row{display:flex;justify-content:center;margin:14px 0}.wake-card{width:90%;max-width:560px;box-sizing:border-box;padding:9px 12px;border-radius:var(--radius-bubble);background:#fffaf073;border:1px solid var(--color-tan-line);color:var(--color-ink-soft);font-size:13px;line-height:1.6}.wake-card-head{display:flex;align-items:center;gap:6px}.wake-card-icon{flex-shrink:0;font-size:12px;line-height:1;opacity:.85}.wake-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:.02em}.wake-card-tools{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.wake-card-tool{display:flex;align-items:baseline;gap:6px;font-size:12.5px}.wake-card-tool:before{content:"";flex-shrink:0;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.45;transform:translateY(-3px)}.wake-card-tool-name{overflow:hidden;text-overflow:ellipsis}.wake-card-tool.is-fail{opacity:.55}.wake-card-tool-fail{flex-shrink:0;font-size:11px;color:var(--color-warm-red-faint)}.wake-card-text{display:flex;align-items:flex-start;gap:6px;width:100%;margin-top:6px;padding:0;border:none;background:none;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer}.wake-card-text:hover{opacity:.85}.wake-card-text-body{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.wake-card-text-body.is-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wake-card-arrow{flex-shrink:0;font-size:13px;line-height:1.6;opacity:.6;transition:transform .18s ease}.wake-card-arrow.is-open{transform:rotate(90deg)}@media (prefers-reduced-motion: reduce){.wake-card-arrow{transition:none}}@media (max-width: 768px){.wake-row{margin:10px 0}.wake-card{width:92%}}.study-overlay{--study-paper: #f7f1e6;--study-paper-rgb: 247, 241, 230;--study-card: #fffdf9;--study-note-paper: #efdec0;--study-title: #5a4636;--study-ink: #3e3a36;--study-accent: #3f5e4a;--study-star: #e3c7a0;--study-accent-rgb: 63, 94, 74;--study-tape: rgba(63, 94, 74, .16);--study-hero-h: clamp(160px, 22vh, 210px);--study-hero-bar-h: 52px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;overflow:hidden;background:var(--study-paper);color:var(--study-ink);display:flex;justify-content:center;animation:kc-modal-fade-in .18s ease}.study-overlay-timeline{z-index:151}.study-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(135deg,#5a463607 0,#5a463607 2px,#fff0 2px,#fff0 6px),radial-gradient(circle at 30% 20%,#5a463609 0,#5a463609 1px,#fff0 1px);background-size:14px 14px,90px 90px}.study-page{position:relative;z-index:1;width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;min-height:0}.study-hero{position:absolute;top:0;left:0;right:0;z-index:3;height:var(--study-hero-h);overflow:hidden;background:var(--study-paper);transition:height .2s ease;pointer-events:none}.study-hero .study-icon-btn{pointer-events:auto}.study-hero.is-collapsed{height:var(--study-hero-bar-h);box-shadow:0 1px 5px #5a463624}.study-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#f3ead9,#ece4d6 46%,#dfe3e8)}.study-hero-img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 40%}.study-hero-bg:before,.study-hero-bg:after{content:"";position:absolute;left:0;right:0;pointer-events:none}.study-hero-bg:before{top:0;height:100%;background:linear-gradient(to bottom,rgba(var(--study-paper-rgb),.55),rgba(var(--study-paper-rgb),.2) 38%,rgba(var(--study-paper-rgb),0) 62%)}.study-hero-bg:after{bottom:0;height:30%;background:linear-gradient(to top,var(--study-paper) 0%,rgba(var(--study-paper-rgb),0) 100%)}.study-hero-fit{position:relative;z-index:1}.study-hero-bar{position:relative;z-index:2;height:var(--study-hero-bar-h);display:flex;align-items:center;gap:8px;padding:0 12px}.study-hero-bar-title{font-size:16px;font-weight:600;color:var(--study-title);text-shadow:0 1px 2px rgba(var(--study-paper-rgb),.8);opacity:0;transition:opacity .18s ease}.study-hero.is-collapsed .study-hero-bar-title{opacity:1}.study-icon-btn{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:none;background:#fffdf9db;box-shadow:0 1px 4px #5a46361f;color:var(--study-accent);display:flex;align-items:center;justify-content:center;cursor:pointer}.study-icon-btn svg{width:19px;height:19px}.study-hero-body{position:relative;z-index:1;padding:2px 16px 10px;transition:opacity .16s ease}.study-hero.is-collapsed .study-hero-body{opacity:0;pointer-events:none}.study-note{position:relative;display:inline-flex;flex-direction:column;gap:2px;padding:10px 16px 10px 14px;background:var(--study-note-paper);border-radius:4px;box-shadow:0 3px 12px #5a46361a;transform:rotate(-1.6deg)}.study-note-tape{position:absolute;top:-7px;left:50%;width:54px;height:15px;margin-left:-27px;pointer-events:none;background:rgba(var(--study-accent-rgb),.28);border-left:1px solid rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.5);transform:rotate(-3deg)}.study-note-title{font-size:22px;font-weight:700;letter-spacing:.06em;color:var(--study-title)}.study-note-sub{font-size:14px;color:var(--study-ink);opacity:.8}.study-hero-status{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--study-title);text-shadow:0 1px 2px rgba(var(--study-paper-rgb),.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-hero-home{display:flex;align-items:center;gap:7px;margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--study-title);text-shadow:0 1px 2px rgba(var(--study-paper-rgb),.8);white-space:nowrap}.study-hero-home.is-awake{color:var(--study-accent)}.study-home-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--study-accent);animation:study-home-breathe 2.6s ease-in-out infinite}@keyframes study-home-breathe{0%,to{opacity:.55}50%{opacity:1}}.study-hero.is-night{--study-hero-night-ink: #f7f1e6}.study-hero.is-night .study-hero-bg:before{background:linear-gradient(to bottom,#1e181473,#1e181433 40%,#1e181400 64%)}.study-hero.is-night .study-hero-bar-title,.study-hero.is-night .study-hero-home,.study-hero.is-night .study-hero-status{color:var(--study-hero-night-ink);text-shadow:0 1px 2px rgba(26,20,16,.55)}.study-hero.is-night .study-home-dot{box-shadow:0 0 0 1.5px rgba(var(--study-paper-rgb),.75)}.study-lamp{position:absolute;top:-70px;right:-50px;z-index:4;width:min(340px,86%);height:300px;pointer-events:none;background:radial-gradient(closest-side,#f6cd8524,#f6cd8512 52%,#f6cd8500)}.study-topbar{flex-shrink:0;height:56px;display:flex;align-items:center;gap:8px;padding:0 12px}.study-topbar-title{margin:0;font-size:17px;font-weight:600;color:var(--study-title)}.study-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px 32px;display:flex;flex-direction:column;gap:14px}.study-scroll-hero{padding-top:calc(var(--study-hero-h) + 14px)}.study-card{position:relative;box-sizing:border-box;padding:14px 16px;background:var(--study-card);border-radius:14px;box-shadow:0 1px 6px #5a46361a}.study-tape{position:absolute;width:46px;height:14px;pointer-events:none;background:var(--study-tape);border-left:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45)}.study-tape-tl{top:-6px;left:14px;transform:rotate(-5deg)}.study-tape-tr{top:-6px;right:14px;transform:rotate(5deg)}.study-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.study-card-title{margin:0;font-size:17px;font-weight:600;color:var(--study-title)}.study-card-count{flex-shrink:0;font-size:14px;color:var(--study-accent)}.study-auto{padding-bottom:8px}.study-last{margin-top:10px}.study-last-time{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--study-title)}.study-last-tools{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--study-ink)}.study-last-tools li{display:flex;align-items:baseline;gap:7px}.study-last-tools li:before{content:"";flex-shrink:0;width:3px;height:3px;border-radius:50%;background:var(--study-accent);opacity:.6;transform:translateY(-3px)}.study-last-main{display:flex;align-items:flex-start;gap:10px}.study-last-main.is-tools{margin-top:8px}.study-last-main .study-last-tools{flex:1 1 auto;min-width:0;margin-top:0}.study-last-main .study-last-tools li{word-break:break-word}.study-last-main .study-last-time{flex:1 1 auto;min-width:0}.study-last-crab{flex:0 0 auto;display:block;width:120px;height:auto;aspect-ratio:280 / 151;margin-left:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.study-last-more{color:var(--study-accent);opacity:.9}.study-last-summary{margin:10px 0 0;font-size:14px;line-height:1.65;color:var(--study-ink);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.study-card-foot{display:flex;justify-content:flex-end;margin-top:6px}.study-more{min-height:44px;padding:0 4px;border:none;background:none;color:var(--study-accent);font-size:14px;cursor:pointer}.study-more:hover{opacity:.8}.study-hint{margin:10px 0 0;font-size:14px;color:var(--study-ink);opacity:.75}.study-fail{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-retry{flex-shrink:0;min-height:44px;padding:0 16px;border:1px solid rgba(var(--study-accent-rgb),.3);border-radius:10px;background:none;color:var(--study-accent);font-size:14px;cursor:pointer}.study-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.study-row>.study-card{height:100%}.study-scroll-hero>.study-card,.study-scroll-hero .study-row>.study-card{transition:transform .14s ease}.study-scroll-hero>.study-auto{transform:rotate(-.5deg)}.study-scroll-hero .study-row>.study-card:first-child{transform:rotate(.4deg)}.study-scroll-hero .study-row>.study-card:last-child{transform:rotate(.3deg)}.study-scroll-hero>.study-wall{transform:rotate(-.4deg)}.study-scroll-hero>.study-auto .study-tape{left:20px;width:50px;transform:rotate(-7deg)}.study-scroll-hero .study-row>.study-card:first-child .study-tape{right:10px;width:42px;transform:rotate(6deg)}.study-scroll-hero .study-row>.study-card:last-child .study-tape{left:16px;width:44px;transform:rotate(-3deg)}.study-scroll-hero>.study-wall .study-tape{right:22px;width:48px;transform:rotate(9deg)}.study-scroll-hero>.study-card:active,.study-scroll-hero .study-row>.study-card:first-child:active,.study-scroll-hero .study-row>.study-card:last-child:active{transform:rotate(0)}.study-timeline-track{--study-axis-gutter: 22px;--study-axis-row-top: 14px;--study-axis-dot-y: calc(var(--study-axis-row-top) + 19.6px);--study-axis-title-y: 10.5px;position:relative;padding-left:var(--study-axis-gutter);display:flex;flex-direction:column;gap:14px}.study-timeline-track:before{content:"";position:absolute;top:var(--study-axis-title-y);bottom:var(--study-axis-row-top);left:calc(var(--study-axis-gutter) / 2 - 1px);width:2px;border-radius:1px;background:rgba(var(--study-accent-rgb),.3);pointer-events:none}.study-day{display:flex;flex-direction:column}.study-day-title{position:relative;margin:0 0 2px;font-size:14px;line-height:21px;font-weight:600;color:var(--study-accent);letter-spacing:.04em}.study-day-title:before{content:"";position:absolute;top:50%;left:calc(-1 * var(--study-axis-gutter) / 2 - 5.5px);width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--study-accent);pointer-events:none}.study-timeline-item{position:relative}.study-timeline-item:before{content:"";position:absolute;top:var(--study-axis-dot-y);left:calc(-1 * var(--study-axis-gutter) / 2 - 4.5px);box-sizing:border-box;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;pointer-events:none}.study-timeline-item.is-day:before{background:var(--study-card);border:2px solid var(--study-accent)}.study-timeline-item.is-night:before{background:var(--study-accent)}.study-timeline-item.is-error:before{background:var(--study-card);border:2px solid rgba(90,70,54,.22)}.study-day .wake-row{justify-content:flex-start}.study-day .wake-card{width:100%}.study-wake-flag{flex-shrink:0;font-size:12px;padding:1px 7px;border-radius:999px;background:rgba(var(--study-accent-rgb),.1);color:var(--study-accent);white-space:nowrap}@media (prefers-reduced-motion: reduce){.study-hero,.study-hero-body,.study-hero-bar-title{transition:none}.study-overlay{animation:none}.study-home-dot{animation:none;opacity:1}.study-scroll-hero>.study-card,.study-scroll-hero .study-row>.study-card{transition:none}}@media (max-width: 768px){.study-timeline-track{--study-axis-row-top: 10px}}@media (max-width: 420px){.study-last-crab{width:96px}}.study-overlay-l2{z-index:151}.study-overlay-l3{z-index:152}.study-overlay-l4{z-index:153}.study-topbar-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-sub-title{margin:0;font-size:15px;font-weight:600;color:var(--study-title);letter-spacing:.02em}.study-empty{margin:10px 0 0;font-size:14px;line-height:1.7;color:var(--study-ink);opacity:.8;text-wrap:pretty}.study-wall-todo{margin-top:10px;padding-bottom:12px;border-bottom:1px dashed rgba(90,70,54,.14)}.study-thread-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.study-thread{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:14px;line-height:1.6;color:var(--study-ink)}.study-thread-text{min-width:0;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.study-thread-tail{flex-shrink:0;font-size:12px;line-height:1.9;color:var(--study-accent);white-space:nowrap}.study-thread-tap{flex:1;min-width:0;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:44px;padding:2px 0;border:none;background:none;font:inherit;line-height:inherit;color:inherit;text-align:left;cursor:pointer}.study-thread-text.is-open{display:block;overflow:visible;white-space:pre-wrap}.study-thread.is-done .study-thread-text{text-decoration:line-through;opacity:.55}.study-thread.is-done .study-thread-tail{opacity:.6}.study-thread.is-expired{opacity:.4}.study-thread.is-expired.is-open{opacity:.75}.study-slips{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.study-slip-wall{margin-top:8px;column-count:2;column-gap:12px}.study-slip-wall .study-slip{width:100%;margin:0 0 14px;break-inside:avoid}.study-slip{position:relative;display:block;box-sizing:border-box;padding:16px 12px 10px;border:none;background:#fffefb;border-radius:3px;box-shadow:0 2px 7px #5a463629;text-align:left;font:inherit;color:var(--study-ink)}.study-slip-pin{position:absolute;top:-5px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;pointer-events:none;background-color:var(--study-accent);background-image:radial-gradient(circle at 34% 30%,#ffffff80,#fff0 60%);box-shadow:0 2px 3px #5a46364d,inset 0 -1px 2px #0000002e}.study-slips>.study-slip:nth-child(3n+2) .study-slip-pin,.study-slip-wall>.study-slip:nth-child(3n+2) .study-slip-pin{background-color:#9b4a3c}.study-slips>.study-slip:nth-child(3n+3) .study-slip-pin,.study-slip-wall>.study-slip:nth-child(3n+3) .study-slip-pin{background-color:#c19a3b}.study-slip-text{display:-webkit-box;font-size:14px;line-height:1.65;color:var(--study-ink);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.study-slip-text.is-open{display:block;overflow:visible}.study-slip-date{display:block;margin-top:8px;padding-right:26px;font-size:12px;color:var(--study-title);opacity:.6}.study-slip-stamp{position:absolute;right:8px;bottom:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--study-accent);border-radius:50%;font-size:12px;line-height:1;opacity:.7;pointer-events:none;transform:rotate(-8deg)}.study-slip-tap>.study-slip-stamp{right:-4px;bottom:-4px}.study-slip-tap{display:block;box-sizing:border-box;position:relative;width:100%;min-height:44px;margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.study-slip-tappable:hover{box-shadow:0 3px 10px #5a463633}.study-wall-section{display:flex;flex-direction:column;gap:10px}.study-note-day{display:flex;flex-direction:column}.study-day-sub{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--study-accent);letter-spacing:.04em}@media (max-width: 420px){.study-slip-wall{column-count:1}.study-slips{grid-template-columns:1fr}}.study-shelf{display:flex;flex-direction:column;align-items:flex-start;gap:0;border:none;text-align:left;font:inherit;color:var(--study-ink);cursor:pointer}.study-shelf:hover{box-shadow:0 2px 9px #5a463626}.study-shelf .study-card-title,.study-shelf .study-hint{display:block}.study-shelf-stat{display:block;margin-top:8px;font-size:13px;color:var(--study-accent)}.study-nowrap{white-space:nowrap}.study-shelf-word{display:-webkit-box;margin-top:6px;font-size:14px;line-height:1.6;color:var(--study-ink);word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.study-tabs{flex-shrink:0;display:flex;gap:18px;padding:0 18px;border-bottom:1px solid rgba(90,70,54,.1)}.study-tab{position:relative;min-height:42px;padding:0 2px;border:none;background:none;font-size:15px;color:var(--study-ink);opacity:.6;cursor:pointer}.study-tab.is-on{color:var(--study-accent);font-weight:600;opacity:1}.study-tab.is-on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:1px;background:var(--study-accent)}.study-work-card{display:flex;flex-direction:column;align-items:flex-start;border:none;text-align:left;font:inherit;color:var(--study-ink);cursor:pointer}.study-work-card:hover{box-shadow:0 2px 9px #5a463626}.study-kind{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;line-height:1.7;color:#5a4636;background:#5a463614;white-space:nowrap}.study-kind.is-essay{background:#f2e8d5}.study-kind.is-poem{background:#f6e2e5}.study-kind.is-story{background:#e3eedd}.study-kind.is-serial{background:#e0e6ec}.study-work-title{display:block;margin-top:8px;font-size:16px;font-weight:600;line-height:1.5;color:var(--study-title);word-break:break-word}.study-work-sub{display:block;margin-top:3px;font-size:13px;color:var(--study-accent)}.study-work-line{display:-webkit-box;margin-top:6px;font-size:14px;line-height:1.65;color:var(--study-ink);opacity:.88;white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.study-work-date{display:block;margin-top:8px;font-size:12px;color:var(--study-title);opacity:.6}.study-toc{margin:8px 0 0;padding:0;list-style:none}.study-toc-row{width:100%;min-height:44px;display:flex;align-items:baseline;gap:10px;padding:6px 0;border:none;background:none;text-align:left;font:inherit;color:var(--study-ink);cursor:pointer}.study-toc li+li .study-toc-row{border-top:1px dashed rgba(90,70,54,.14)}.study-toc-no{flex-shrink:0;width:18px;font-size:12px;color:var(--study-accent);opacity:.8}.study-toc-title{flex:1;min-width:0;font-size:15px;color:var(--study-title);word-break:break-word}.study-toc-date{flex-shrink:0;font-size:12px;color:var(--study-title);opacity:.6}.study-letter{padding:26px 22px 30px;background:var(--study-card);border-radius:14px;box-shadow:0 1px 6px #5a46361a}.study-letter-title{margin:0;font-size:20px;font-weight:700;line-height:1.5;color:var(--study-title);letter-spacing:.02em;word-break:break-word}.study-letter-meta{display:flex;align-items:center;gap:10px;margin-top:10px}.study-letter-date{font-size:12px;color:var(--study-title);opacity:.6}.study-letter-text{margin:18px 0 0;font-size:16px;line-height:2;color:var(--study-ink);white-space:pre-wrap;word-break:break-word}.study-letter-nav{display:flex;justify-content:space-between;gap:12px}.study-letter-step{min-height:44px;padding:0 6px;border:none;background:none;font-size:14px;color:var(--study-accent);cursor:pointer}.study-letter-step:disabled{opacity:.35;cursor:default}.study-chapter{display:flex;flex-direction:column;gap:10px}.study-paper{padding:14px 16px 10px}.study-paper-text{margin:0;font-size:15px;line-height:1.85;color:var(--study-ink);white-space:pre-wrap;word-break:break-word}.study-paper-date{margin:10px 0 0;font-size:12px;color:var(--study-title);opacity:.6}.study-tools-card{display:flex;flex-direction:column}.study-tools-card .study-card-head{display:block}.study-tools-card .study-card-title{white-space:nowrap}.study-tools-card .study-card-count{display:block;margin-top:8px;font-size:13px}.study-tools-word{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--study-ink);word-break:break-word;text-wrap:pretty}.study-tools-card .study-card-foot{margin-top:auto}.study-tools-note{margin:0;font-size:13px;line-height:1.7;color:var(--study-ink);opacity:.62;text-wrap:pretty}.study-tool-group{padding:12px 16px}.study-group-note{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--study-ink);opacity:.55;text-wrap:pretty}.study-tool-group.is-sleep{opacity:.62}.study-tool-list{margin-top:4px}.study-tool-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 0}.study-tool-row+.study-tool-row{border-top:1px dashed rgba(90,70,54,.12)}.study-tool-main{min-width:0;flex:1}.study-tool-label{margin:0;font-size:15px;line-height:1.5;color:var(--study-ink);word-break:break-word}.study-tool-tag{margin-left:8px;font-size:12px;color:var(--study-accent);opacity:.8;white-space:nowrap}.study-tool-off{margin-left:8px;font-size:12px;color:var(--study-ink);opacity:.45;white-space:nowrap}.study-tool-desc{margin:2px 0 0;font-size:12px;line-height:1.6;color:var(--study-ink);opacity:.6;word-break:break-word}.study-tool-err{margin:4px 0 0;font-size:12px;line-height:1.6;color:#b4503c;word-break:break-word}.study-switch{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:46px;height:44px;padding:0;border:none;background:none;cursor:pointer}.study-switch-track{position:relative;display:block;width:46px;height:27px;border-radius:999px;background:#5a463633;transition:background-color .2s ease}.study-switch.is-on .study-switch-track{background:var(--study-accent)}.study-switch-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fffefb;box-shadow:0 1px 3px #5a463659;transition:transform .2s ease}.study-switch.is-on .study-switch-knob{transform:translate(19px)}.study-switch:disabled{cursor:default;opacity:.5}.study-switch.is-busy{opacity:.6}@media (prefers-reduced-motion: reduce){.study-switch-track,.study-switch-knob{transition:none}}.study-reply-note{margin:0 0 2px;font-size:12px;line-height:1.6;color:var(--study-ink);opacity:.55;text-wrap:pretty}.study-reply-box{margin-top:10px;padding-top:10px;border-top:1px solid rgba(90,70,54,.14)}.study-reply-list{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.study-reply+.study-reply{padding-top:10px;border-top:1px dashed rgba(90,70,54,.12)}.study-reply-meta{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;line-height:1.6}.study-reply-time{color:var(--study-title);opacity:.6}.study-reply-stamp{flex-shrink:0;align-self:center;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--study-accent);border-radius:50%;font-size:10px;line-height:1;opacity:.7;pointer-events:none;transform:rotate(-8deg)}.study-reply-revised{color:var(--study-title);opacity:.45}.study-reply-seen{color:var(--study-accent);opacity:.75}.study-reply-seen.is-seen{color:var(--study-title);opacity:.5}.study-reply-text{margin:4px 0 0;font-size:14px;line-height:1.65;color:var(--study-ink);white-space:pre-wrap;word-break:break-word}.study-reply-input{display:block;box-sizing:border-box;width:100%;min-height:66px;margin:6px 0 0;padding:8px 10px;border:1px solid rgba(90,70,54,.2);border-radius:4px;background:#fffdf8;font:inherit;font-size:14px;line-height:1.6;color:var(--study-ink);resize:vertical}.study-reply-input:focus{outline:none;border-color:var(--study-accent)}.study-reply-input:disabled{opacity:.6}.study-reply-acts{margin-top:2px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.study-reply-btn{box-sizing:border-box;min-height:44px;padding:0 12px;border:1px solid rgba(90,70,54,.18);border-radius:4px;background:none;font:inherit;font-size:13px;line-height:1.6;color:var(--study-accent);white-space:nowrap;cursor:pointer}.study-reply-btn.is-main{border-color:var(--study-accent);background:var(--study-accent);color:#fffefb}.study-reply-btn.is-warn{border-color:#b4503c;color:#b4503c}.study-reply-btn:disabled{cursor:default;opacity:.45}.study-reply-ask{font-size:13px;line-height:1.6;color:var(--study-ink);opacity:.8}.study-reply-left{font-size:12px;line-height:1.6;color:var(--study-title);opacity:.55}.study-reply-err{margin:4px 0 0;font-size:12px;line-height:1.6;color:#b4503c;word-break:break-word}.study-card-art{--rd-art-stem: var(--study-accent);--rd-art-petal: var(--study-accent);--rd-art-petal2: var(--study-accent);--rd-art-heart: var(--study-accent);--rd-art-star: var(--study-star);position:absolute;top:6px;right:10px;width:44px;height:32px;pointer-events:none}.study-card-art svg{display:block;width:100%;height:100%}.study-art-sprig{position:absolute;right:0;bottom:0;width:22px;height:22px;opacity:.55}.study-art-star{position:absolute;width:9px;height:9px;opacity:.6}.study-card-art.is-shelf .study-art-star-a{top:2px;right:24px}.study-card-art.is-shelf .study-art-star-b{top:14px;right:34px;width:7px;height:7px;opacity:.5}.study-card-art.is-tools .study-art-star-a{top:4px;right:25px;width:8px;height:8px}.study-card-art.is-wall .study-art-star-a{top:0;right:26px;width:8px;height:8px}.study-card-art.is-wall .study-art-star-b{top:16px;right:36px;width:6px;height:6px;opacity:.5}.sz-overlay{--sz-paper: #f8f3eb;--sz-ink: #594b49;--sz-muted: #80746e;--sz-green: #647567;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;justify-content:center;overflow:hidden;color:var(--sz-ink);background:radial-gradient(ellipse at 85% 5%,rgba(236,193,201,.3),transparent 50%),radial-gradient(ellipse at 5% 80%,rgba(189,203,185,.16),transparent 55%),var(--sz-paper)}.sz-page{position:relative;display:flex;flex-direction:column;width:100%;max-width:640px;height:100%;min-height:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.sz-topbar{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;flex-shrink:0;padding:calc(18px + env(safe-area-inset-top,0px)) 20px 14px;border-bottom:1px solid rgba(177,145,146,.15)}.sz-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(177,145,146,.2);border-radius:50%;color:var(--sz-green);background:#fffdf8cc}.sz-title{margin:0;font-size:22px;font-weight:600;line-height:1.4}.sz-date{color:var(--sz-muted);font-size:12px;line-height:1.7;text-align:right}.sz-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 20px calc(30px + env(safe-area-inset-bottom,0px))}.sz-intro{margin:0 0 22px;color:var(--sz-muted);font-size:13px;line-height:1.8;text-align:center}.sz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sz-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;min-height:235px;padding:18px;border:1px solid rgba(188,157,157,.23);border-radius:22px 19px 24px 18px;color:var(--sz-ink);background:radial-gradient(ellipse at 90% 0%,rgba(241,213,216,.27),transparent 65%),#fffdf8;box-shadow:0 5px 16px #715b550b;font:inherit;text-align:left;transition:transform .15s ease,box-shadow .15s ease}.sz-card-schedule{border-color:#92a48f66;background:radial-gradient(ellipse at 0% 0%,rgba(207,220,201,.3),transparent 65%),#fffdf8}.sz-badge{position:absolute;top:12px;right:12px;padding:3px 8px;border:1px solid rgba(188,157,157,.15);border-radius:8px 6px 9px 5px;color:#86676e;background:#f6e8e9;font-size:11px;line-height:1.4}.sz-card-art{align-self:center;flex-shrink:0;width:85%;max-width:140px;height:78px;margin:22px 0 8px;border-radius:48% 55% 46% 58%;background:radial-gradient(ellipse,rgba(229,190,198,.23),rgba(245,225,225,.08) 70%,transparent)}.sz-card:nth-child(2n) .sz-card-art,.sz-card-schedule .sz-card-art{background:radial-gradient(ellipse,rgba(174,194,167,.2),rgba(226,234,217,.08) 70%,transparent)}.sz-card-title{font-size:17px;font-weight:600;line-height:1.5}.sz-card-description{color:var(--sz-muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.sz-back:focus-visible,.sz-card:focus-visible{outline:2px solid var(--sz-green);outline-offset:3px}.sz-toast{position:absolute;right:20px;bottom:calc(28px + env(safe-area-inset-bottom,0px));left:20px;z-index:1;width:fit-content;max-width:calc(100% - 40px);margin:0 auto;padding:11px 18px;border-radius:14px;color:#fffdf8;background:#596457f0;box-shadow:0 5px 18px #50544a1f;font-size:13px;line-height:1.6;text-align:center;pointer-events:none}.sz-toast:empty{display:none}@media (hover: hover){.sz-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #715b5517}}@media (max-width: 400px){.sz-topbar{padding-right:16px;padding-left:16px}.sz-title{font-size:20px}.sz-date{max-width:90px;font-size:11px}.sz-scroll{padding-right:16px;padding-left:16px}.sz-grid{gap:12px}.sz-card{min-height:230px;padding:14px}.sz-card-title{font-size:16px}}@media (prefers-reduced-motion: reduce){.sz-card{transition:none}}.sz-schedule-overlay{z-index:151}.sz-schedule-scroll{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.sz-schedule-status-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin:8px 0 22px}.sz-schedule-summary{position:relative;min-width:0;padding:18px;border:1px solid rgba(188,157,157,.23);border-radius:22px 19px 24px 18px;background:#fffdf8;box-shadow:0 5px 16px #715b550b;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.sz-schedule-now{background:linear-gradient(135deg,#fffdf8,#f9ecec)}.sz-schedule-crab{position:absolute;top:-20px;right:0;width:68px;height:68px;object-fit:contain;pointer-events:none}.sz-schedule-eyebrow{margin:0 0 12px;color:var(--sz-green);font-size:12px;font-weight:500}.sz-schedule-now .sz-schedule-eyebrow{padding-right:38px}.sz-schedule-current{display:flex;flex-direction:column;gap:4px;margin:8px 0}.sz-schedule-current strong{font-size:16px;font-weight:600}.sz-schedule-current span,.sz-schedule-touch{color:var(--sz-muted);font-size:12px}.sz-schedule-touch{margin:14px 0 0}.sz-schedule-viewbar,.sz-schedule-tabs{display:flex;align-items:center;gap:6px}.sz-schedule-viewbar{justify-content:space-between;margin-bottom:16px}.sz-schedule-tabs{padding:4px;border-radius:16px;background:#e6d3d159}.sz-schedule-tabs button,.sz-schedule-refresh,.sz-schedule-button,.sz-schedule-type{padding:9px 18px;border:1px solid transparent;border-radius:12px;color:var(--sz-ink);background:transparent;font:inherit;font-size:13px}.sz-schedule-tabs button[aria-pressed=true]{background:#fffdf8;box-shadow:0 2px 6px #715b550f}.sz-schedule-refresh{padding-right:0;color:var(--sz-green)}.sz-schedule-hint,.sz-schedule-empty{margin:12px 0;color:var(--sz-muted);font-size:12px;line-height:1.8}.sz-schedule-error{padding:10px 12px;border-radius:12px;color:#93534f;background:#f9e7e3;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.sz-schedule-morning{--sz-section-bg: #f8f0db}.sz-schedule-afternoon{--sz-section-bg: #f9e9df}.sz-schedule-evening{--sz-section-bg: #ecebf3}.sz-schedule-section{margin-top:16px;padding:16px;border-radius:20px;background:var(--sz-section-bg)}.sz-schedule-section-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin:0 0 14px;font-size:15px;font-weight:600}.sz-schedule-section-title small{color:var(--sz-muted);font-size:11px;font-weight:400}.sz-schedule-timeline{margin:0;padding:0;list-style:none}.sz-schedule-tone-rose{--sz-item-tone: #d69aa9}.sz-schedule-tone-lavender{--sz-item-tone: #b6a5ce}.sz-schedule-tone-sage{--sz-item-tone: #a0b09c}.sz-schedule-tone-orange{--sz-item-tone: #deb17a}.sz-schedule-tone-coral{--sz-item-tone: #df9a8a}.sz-schedule-tone-gray{--sz-item-tone: #c4c6c2}.sz-schedule-tone-wheat{--sz-item-tone: #d8c79a}.sz-schedule-item{margin-top:10px;border-left:4px solid var(--sz-item-tone);border-radius:4px 13px 13px 4px;background:#fffdf8db}.sz-schedule-active{background:#fffdf8;box-shadow:0 0 0 2px var(--sz-item-tone),0 4px 12px #715b550f}.sz-schedule-fixed-item,.sz-schedule-event-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px;border:0;border-radius:inherit;color:inherit;background:transparent;font:inherit;text-align:left;overflow-wrap:anywhere}.sz-schedule-item-time,.sz-schedule-item-meta{color:var(--sz-muted);font-size:11px;line-height:1.6}.sz-schedule-item-title{font-size:15px;line-height:1.6}.sz-schedule-week-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:14px}.sz-schedule-week{width:100%;min-width:800px;table-layout:fixed;border-collapse:separate;border-spacing:0 6px;font-size:12px}.sz-schedule-week caption{padding:4px 0 10px;color:var(--sz-muted);font-size:12px;text-align:left}.sz-schedule-week th,.sz-schedule-week td{padding:0;border-right:1px solid rgba(188,157,157,.15);background:#fffdf8;text-align:center}.sz-schedule-week th{padding:10px 8px;font-weight:500}.sz-schedule-week th:first-child{position:sticky;left:0;z-index:2;width:118px;background:#f9f3e9}.sz-schedule-week small{display:block;margin-top:4px;color:var(--sz-muted);font-size:10px;font-weight:400}.sz-schedule-week .sz-schedule-today-col{background:#fae9ed}.sz-schedule-week .sz-schedule-weekend-col{color:var(--sz-muted);background:#eeede9}.sz-schedule-week .sz-schedule-weekend-col.sz-schedule-today-col{background:#eee3e5}.sz-schedule-weekend-note td{padding:8px 10px;color:var(--sz-muted);background:#f1eee7;font-size:11px;text-align:left}.sz-schedule-week-group-title th:first-child,.sz-schedule-week-group-title td{padding:12px 8px 8px;border:0;background:var(--sz-section-bg);text-align:left}.sz-schedule-week-group-title td{color:var(--sz-muted);font-size:11px}.sz-schedule-slot{width:100%;min-height:58px;padding:9px;border:0;color:var(--sz-ink);background:transparent;font:inherit;overflow-wrap:anywhere}.sz-schedule-slot-empty{color:#b7a8a0}.sz-schedule-week-cell{position:relative;isolation:isolate;min-height:58px}.sz-schedule-slot-hit{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.sz-schedule-fixed-label{position:relative;display:block;min-height:32px;padding:9px 9px 6px;overflow-wrap:anywhere;pointer-events:none}.sz-schedule-covered{opacity:.45;text-decoration:line-through}.sz-schedule-cell-events{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:0 5px 7px;pointer-events:none}.sz-schedule-event-tag{display:block;width:100%;min-width:0;padding:4px 5px;overflow:hidden;border:1px solid rgba(188,157,157,.2);border-left:3px solid var(--sz-item-tone);border-radius:6px;color:var(--sz-ink);background:linear-gradient(#fffdf880,#fffdf880),var(--sz-item-tone);font:inherit;font-size:11px;line-height:1.5;text-align:left;text-overflow:ellipsis;white-space:nowrap;pointer-events:auto}.sz-schedule-more-events{color:var(--sz-muted);font-size:11px;line-height:1.5;text-align:right;pointer-events:auto}.sz-schedule-break th:first-child{padding:3px 8px;font-size:10px}.sz-schedule-break small{margin-top:1px;font-size:9px}.sz-schedule-break td{background:transparent}.sz-schedule-break span{display:flex;align-items:center;gap:14px;color:var(--sz-muted);font-size:10px}.sz-schedule-break span:before,.sz-schedule-break span:after{flex:1;height:1px;background:#bc9d9d4d;content:""}.sz-schedule-add{position:absolute;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:3;width:56px;height:56px;padding:0;border:1px solid rgba(255,253,248,.7);border-radius:50%;color:#fffdf8;background:#bd8996;box-shadow:0 5px 16px #715b5533;font-size:29px}.sz-schedule-dialog-mask{--sz-ink: #594b49;--sz-muted: #80746e;--sz-green: #647567;position:fixed;top:0;right:0;bottom:0;left:0;z-index:152;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:var(--sz-ink);background:#594b4940}.sz-schedule-confirm-mask{z-index:153}.sz-schedule-dialog{width:100%;max-width:500px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:22px;border:1px solid rgba(188,157,157,.23);border-radius:22px;background:#fffdf8;box-shadow:0 8px 30px #715b5524;font-size:14px;line-height:1.7}.sz-schedule-dialog-header,.sz-schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.sz-schedule-dialog-header{margin-bottom:16px}.sz-schedule-dialog-header h2{margin:0;font-size:17px;font-weight:600}.sz-schedule-close{flex-shrink:0;width:36px;height:36px;padding:0;border:0;border-radius:50%;color:var(--sz-muted);background:#f7edeb;font-size:23px}.sz-schedule-form,.sz-schedule-field{display:flex;flex-direction:column;gap:14px}.sz-schedule-field{min-width:0;gap:6px;font-size:13px}.sz-schedule-field input,.sz-schedule-field textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid rgba(188,157,157,.35);border-radius:12px;color:var(--sz-ink);background:#fdf9f4;font:inherit;font-size:16px}.sz-schedule-field textarea{resize:vertical}.sz-schedule-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sz-schedule-types{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.sz-schedule-types legend{margin-bottom:8px;font-size:13px}.sz-schedule-type,.sz-schedule-button{border-color:#bc9d9d4d;background:#fcf6f0}.sz-schedule-type{padding:7px 12px}.sz-schedule-type[aria-pressed=true]{border-color:#c89ca6;background:#f7e1e6}.sz-schedule-cover{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#f3f4ec;font-size:13px}.sz-schedule-cover input{flex-shrink:0;width:18px;height:18px;accent-color:var(--sz-green)}.sz-schedule-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.sz-schedule-primary{border-color:#bd8996;color:#fffdf8;background:#bd8996}.sz-schedule-danger{color:#93534f;background:#f9e7e3}.sz-schedule-overlay button:focus-visible,.sz-schedule-dialog-mask button:focus-visible,.sz-schedule-field input:focus-visible,.sz-schedule-field textarea:focus-visible,.sz-schedule-cover input:focus-visible,.sz-schedule-week-scroll:focus-visible{outline:2px solid var(--sz-green);outline-offset:2px}.sz-schedule-overlay button:disabled,.sz-schedule-dialog-mask button:disabled{opacity:.55;cursor:default}@media (max-width: 400px){.sz-schedule-status-grid{gap:10px}.sz-schedule-summary{padding:14px}.sz-schedule-section{padding:12px}.sz-schedule-current strong{font-size:15px}.sz-schedule-dialog{padding:18px}}.sz-schedule-week-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 12px}.sz-schedule-week-nav .sz-schedule-button{flex:1;min-width:0;padding-right:10px;padding-left:10px}.sz-schedule-week-nav .sz-schedule-button[aria-pressed=true]{border-color:#c89ca6;background:#f7e1e6}.sz-schedule-week-range{flex-basis:100%;margin:6px 0 0;color:var(--sz-muted);font-size:13px;text-align:center}.sz-schedule-extra{margin-top:20px;padding:16px;border:1px solid rgba(188,157,157,.23);border-radius:20px;background:#fffdf8}.sz-schedule-extra h2{margin:0 0 12px;font-size:15px;font-weight:600}.sz-schedule-extra-list{margin:0;padding:0;list-style:none}.sz-schedule-extra-item{display:flex;flex-direction:column;gap:5px;width:100%;margin-top:8px;padding:10px 12px;border:0;border-left:4px solid var(--sz-item-tone);border-radius:4px 12px 12px 4px;color:var(--sz-ink);background:#faf5ee;font:inherit;text-align:left;overflow-wrap:anywhere}.sz-schedule-extra-item span{color:var(--sz-muted);font-size:11px}.sz-schedule-extra-item strong{font-size:13px;font-weight:500}.sidebar{width:clamp(260px,18vw,300px);flex-shrink:0;background:linear-gradient(180deg,#fffdf8,#f8f0e3);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;position:relative}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:clamp(260px,40vw,300px);max-width:300px;z-index:20;transform:translate(-100%);transition:transform .25s ease;box-shadow:6px 0 20px #3a220c38}.sidebar-open{transform:translate(0)}}.sidebar-header{flex-shrink:0;padding:16px 14px 10px}.sidebar-brand{display:flex;align-items:center;gap:8px}.sidebar-brand-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-title{font-size:16px;font-weight:600;color:#3c3028;letter-spacing:.5px}.sidebar .persona-switcher{flex-shrink:0;padding:0 14px 10px;border-bottom:none}.sidebar .persona-switcher-current{gap:8px;padding:7px 9px;border:1px solid rgba(255,255,255,.6);border-radius:12px;background:#fffdf8d9;box-shadow:0 1px 4px #785a320f}.sidebar .persona-switcher-current:hover{background:#fffdf8fa;box-shadow:var(--shadow-soft)}.sidebar .persona-switcher-avatar{width:32px;height:32px;border-width:1px}.sidebar .persona-switcher-name{font-size:13px}.sidebar .persona-switcher-hint{font-size:10px}.sidebar .persona-switcher-menu{left:14px;right:14px}.sidebar-features{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 12px}.sidebar-feature-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;text-align:center;background:#fffdf8d9;border:1px solid rgba(255,255,255,.6);border-radius:12px;box-shadow:0 1px 4px #785a320f;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.sidebar-feature-tile:hover{background:#fffdf8fa;box-shadow:var(--shadow-soft)}.sidebar-feature-tile:active{background:#fffdf8}.sidebar-feature-label{font-size:12px;color:#6b5a45;line-height:1;white-space:nowrap}.sidebar-feature-soon{position:absolute;top:4px;right:6px;font-size:8px;color:#b8a88ab3;line-height:1;letter-spacing:.3px}.sidebar-feature-dot{position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:#d9533f}.sidebar-new-chat{flex-shrink:0;padding:0 14px 12px}.new-chat-btn{width:100%;height:40px;padding:0 12px;border:1px dashed rgba(198,168,120,.6);border-radius:12px;background:#fffdf899;color:#a0825a;font-size:14px;font-weight:600;transition:background .15s ease,box-shadow .15s ease}.new-chat-btn:hover{background:#fffdf8e6;box-shadow:var(--shadow-soft)}.sidebar-section-label{flex-shrink:0;padding:0 16px 6px;font-size:11px;font-weight:600;color:#b8a88a;letter-spacing:1px}.sidebar-list{flex:1;min-height:0;overflow-y:auto;padding:0 12px 12px}.sidebar-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:12px;background:#fffdf8b3;box-shadow:0 1px 4px #785a320f;cursor:pointer;margin-bottom:6px;transition:background .15s ease;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sidebar-item:hover,.sidebar-item:active{background:#fffdf8e6}.sidebar-item.active{background:#fffdf8f2}.sidebar-item.active:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:3px;border-radius:2px;background:#c6a878}.sidebar-item-title{flex:1;min-width:0;font-size:14px;color:#3c3028;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-time{flex-shrink:0;font-size:11px;color:#b8a88a;white-space:nowrap}.sidebar-empty{padding:24px 12px;text-align:center;color:#b8a88a;font-size:13px}.sidebar-footer{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.7)}.sidebar-manage-persona-btn{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid rgba(198,168,120,.3);border-radius:12px;background:#fffdf899;color:#6b5a45;font-size:13px;font-weight:600;transition:background .15s ease,box-shadow .15s ease,color .15s ease}.sidebar-manage-persona-btn svg{flex-shrink:0}.sidebar-manage-persona-btn:hover{background:#fffdf8f2;box-shadow:var(--shadow-soft)}.sidebar-toast{position:absolute;left:50%;bottom:132px;transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#3c3028db;color:#fffdf8;font-size:12px;white-space:nowrap;pointer-events:none;z-index:40;box-shadow:0 4px 14px #3a220c3d}.kc-image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#180e06eb;animation:kc-image-viewer-fade-in .15s ease}@keyframes kc-image-viewer-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.kc-image-viewer{animation:none}}.kc-image-viewer-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px}.kc-image-viewer-failed{padding:28px 36px;border-radius:12px;background:#ffffff14;color:#fff9;font-size:14px}.kc-image-viewer-close{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:#ffffff24;color:#fff;font-size:22px;line-height:1}.kc-image-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:#ffffff24;color:#fff}.kc-image-viewer-nav.is-prev{left:10px}.kc-image-viewer-nav.is-next{right:10px}.kc-image-viewer-counter{position:absolute;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));text-align:center;color:#ffffffbf;font-size:13px;pointer-events:none}.tool-steps{align-self:flex-start;max-width:100%;margin-bottom:5px;font-size:12px;line-height:1.5;color:var(--color-ink-soft)}.tool-steps-summary{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:2px 0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tool-steps-summary:hover{opacity:.8}.tool-steps-emoji{font-size:12px;line-height:1;flex-shrink:0}.tool-steps-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-steps-arrow{flex-shrink:0;font-size:13px;line-height:1;opacity:.7;transition:transform .18s ease}.tool-steps-arrow.is-open{transform:rotate(90deg)}.tool-steps-spinner{flex-shrink:0;width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;border-top-color:transparent;opacity:.55;animation:tool-steps-spin .9s linear infinite}@keyframes tool-steps-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.tool-steps-spinner{animation:tool-steps-breathe 1.4s ease-in-out infinite}}@keyframes tool-steps-breathe{0%,to{opacity:.25}50%{opacity:.7}}.tool-steps-list{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.tool-steps-item{display:flex;align-items:center;gap:5px}.tool-steps-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-steps-mark{flex-shrink:0;font-size:11px;line-height:1}.tool-steps-mark.is-ok{color:var(--color-ink-soft);opacity:.75}.tool-steps-mark.is-fail{color:var(--color-warm-red-faint)}.terminal-card{align-self:flex-start;width:100%;max-width:360px;margin-bottom:6px;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-paper);box-shadow:var(--shadow-soft);color:var(--color-ink);font-size:14px;line-height:1.6}.terminal-card.is-danger{border-color:var(--color-warm-red-faint);background:var(--color-warm-red-soft)}.terminal-card-head{font-size:13px;font-weight:600;color:var(--color-ink-soft)}.terminal-card.is-danger .terminal-card-head{color:var(--color-warm-red-ink)}.terminal-card-why{margin:6px 0 0;white-space:pre-wrap;word-break:break-word}.terminal-card-danger{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--color-warm-red-ink)}.terminal-card-cmd-wrap{position:relative;margin-top:8px}.terminal-card-cmd{margin:0;padding:8px 46px 8px 10px;border-radius:8px;background:#241a12;color:#f3e6d2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;white-space:pre;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text}.terminal-card-copy{position:absolute;top:5px;right:5px;padding:2px 7px;border:none;border-radius:6px;background:#fffaf029;color:#f3e6d2;font:inherit;font-size:11px;cursor:pointer}.terminal-card-copy:hover{background:#fffaf042}.terminal-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.terminal-card-tip{margin-right:auto;font-size:11px;color:var(--color-ink-soft)}.terminal-card-btn{min-width:56px;padding:6px 14px;border-radius:999px;border:1px solid var(--color-tan-line);background:var(--color-paper-glass);color:var(--color-ink);font:inherit;font-size:13px;cursor:pointer}.terminal-card-btn.is-allow{border-color:transparent;background:var(--color-accent);color:#4a2f1c;font-weight:600}.terminal-card.is-danger .terminal-card-btn.is-allow{background:var(--color-warm-red);color:#fffaf0}.terminal-card-btn:disabled{opacity:.45;cursor:default}.terminal-card-status{margin-top:10px;font-size:13px;color:var(--color-ink-soft)}.terminal-card-foot{margin-top:6px;font-size:11px;color:var(--color-ink-soft);opacity:.85}.terminal-card-screen-wrap{margin-top:8px}.terminal-card-omitted{padding:2px 0;font-size:11px;color:var(--color-ink-soft)}.terminal-card-screen{margin:0;padding:8px 10px;max-height:320px;border-radius:8px;background:#241a12;color:#e6dac6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow:auto;-webkit-overflow-scrolling:touch}.terminal-card-screen.is-collapsed{max-height:16em}.terminal-card-toggle{margin-top:4px;padding:0;border:none;background:none;color:var(--color-ink-soft);font:inherit;font-size:12px;cursor:pointer}.terminal-card-toggle:hover{opacity:.8}.terminal-card-result{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;color:var(--color-ink-soft)}.terminal-card-exit.is-bad{color:var(--color-warm-red-ink)}.song-card{display:flex;align-items:center;gap:10px;width:100%;max-width:260px;margin-top:6px;padding:8px 8px 8px 10px;border-radius:var(--radius-md);background:var(--color-paper-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-tan-line);box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none}.song-card-cover{width:44px;height:44px;flex-shrink:0;border-radius:10px;object-fit:cover;background:var(--color-cream)}.song-card-cover-empty{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-tan)}.song-card-meta{flex:1;min-width:0}.song-card-name{font-size:13.5px;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-card-artist{margin-top:2px;font-size:11.5px;color:var(--color-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-card-btn{flex-shrink:0;width:34px;height:34px;border:none;border-radius:50%;background:#c6a87824;color:var(--color-tan-deep);display:flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease}.song-card-btn:hover{background:#c6a87842;color:var(--color-ink)}.song-card-btn svg{width:18px;height:18px}.call-record-card{width:100%;max-width:300px;margin-top:6px;padding:9px 12px;border-radius:var(--radius-bubble);background:var(--color-moonlight-soft);border:1px solid var(--color-moonlight-line)}.call-record-head{display:flex;align-items:center;gap:6px}.call-record-icon{flex-shrink:0;width:14px;height:14px;color:var(--color-moonlight)}.call-record-duration{font-size:12.5px;font-weight:600;letter-spacing:.3px;color:var(--color-moonlight)}.call-record-summary{margin:5px 0 0;font-size:13px;line-height:1.65;color:var(--color-ink);white-space:pre-wrap;word-break:break-word}.bubble-row{display:flex;gap:10px;margin:14px 0;align-items:flex-start}.bubble-row.from-user{justify-content:flex-end}.avatar{width:42px;height:42px;box-sizing:border-box;border-radius:50%;padding:2px;background:#fffdf8f2;border:1.5px solid rgb(198,168,120);box-shadow:0 2px 6px #785a321f;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;overflow:hidden}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.avatar-user-icon{width:22px;height:22px;color:var(--color-accent-strong)}.bubble-col{max-width:65%;display:flex;flex-direction:column}.from-user .bubble-col{align-items:flex-end}.from-assistant .bubble-col{align-items:flex-start}.bubble{padding:10px 14px;border-radius:var(--radius-bubble);font-size:14.5px;line-height:1.65;box-shadow:var(--shadow-soft);word-break:break-word}.bubble-assistant{color:#3c3028;border-top-left-radius:8px}.bubble-user{color:#3c3028;border-top-right-radius:8px}.bubble-style-tape,.bubble-style-note,.bubble-style-stitch{position:relative}.bubble-style-tape{overflow:visible;margin-top:9px}.bubble-style-tape:after{content:"";position:absolute;top:-7px;left:50%;width:44px;height:14px;transform:translate(-50%) rotate(-4deg);background:#ffffff8c;border-left:1px dashed rgba(198,168,120,.4);border-right:1px dashed rgba(198,168,120,.4);pointer-events:none}.bubble-style-note:after{content:"";position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-bottom-right-radius:7px;background:linear-gradient(135deg,transparent 0 45%,rgba(255,255,255,.75) 45% 55%,var(--bubble-tint-dark, rgba(198, 168, 120, .9)) 55% 100%);pointer-events:none}.bubble-style-stitch:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1.5px dashed var(--bubble-tint-dark, rgba(198, 168, 120, .9));border-radius:calc(var(--radius-bubble) - 4px);pointer-events:none}.bubble-plain{white-space:pre-wrap}.bubble-images{margin-bottom:6px;max-width:100%;border-radius:var(--radius-bubble);overflow:hidden;box-shadow:var(--shadow-soft)}.bubble-images.is-single{display:flex;max-width:220px}.bubble-images.is-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;width:220px}.bubble-image{display:block;cursor:pointer;background:var(--color-cream)}.bubble-images.is-single .bubble-image{width:auto;height:auto;max-width:220px;max-height:280px}.bubble-images.is-grid .bubble-image{width:100%;aspect-ratio:1 / 1;object-fit:cover}.bubble-image-failed{display:flex;align-items:center;justify-content:center;min-width:110px;padding:8px;font-size:12px;color:var(--color-tan);background:var(--color-cream)}.bubble-images.is-single .bubble-image-failed{width:160px;height:110px}.bubble-images.is-grid .bubble-image-failed{aspect-ratio:1 / 1}.bubble-action{font-size:13.5px;font-style:italic;line-height:1.6;white-space:pre-wrap}.bubble-col>.bubble+.bubble{margin-top:5px}.bubble-col>.bubble+.bubble.bubble-style-tape{margin-top:12px}.bubble p{margin:0 0 8px}.bubble p:last-child{margin-bottom:0}.bubble-sticker{display:block;width:120px;max-width:100%;height:auto;margin-top:6px;border-radius:var(--radius-bubble)}.bubble-time{font-size:10.5px;color:var(--color-ink-soft);padding:0 4px}.bubble-usage{font-size:10.5px;color:var(--color-ink-soft);padding:0 4px;white-space:nowrap}.bubble-meta{display:flex;align-items:center;gap:2px;margin-top:2px}.from-user .bubble-meta{justify-content:flex-end}.bubble-actions{display:flex;align-items:center;gap:2px}.bubble-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-ink-soft);opacity:.5;transition:opacity .15s ease;-webkit-tap-highlight-color:transparent}.bubble-action-btn svg{width:16px;height:16px}.bubble-action-btn:hover{opacity:.8}.bubble-action-btn:active{opacity:1}.bubble-action-btn.is-danger:hover,.bubble-action-btn.is-danger:active{color:var(--color-warm-red-ink)}.bubble-action-btn.is-active{color:var(--color-accent-strong);opacity:1}@media (hover: none) and (pointer: coarse){.bubble{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.bubble-typing{display:inline-flex;gap:4px;padding:4px 2px}.bubble-typing i{width:6px;height:6px;border-radius:50%;background:var(--color-accent);opacity:.5;animation:bubble-blink 1.1s infinite ease-in-out}.bubble-typing i:nth-child(2){animation-delay:.15s}.bubble-typing i:nth-child(3){animation-delay:.3s}@keyframes bubble-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (max-width: 768px){.bubble-row{gap:8px;margin:10px 0}.bubble-col{max-width:72%}.bubble{padding:9px 12px;font-size:14px}.bubble-action{font-size:13px}}.compress-line{margin:16px 0}.compress-line-head{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:none;background:none;color:var(--color-ink-soft);font-family:inherit;text-align:left;cursor:pointer}.compress-line-rule{flex:1;min-width:12px;height:1px;background:var(--color-tan-line)}.compress-line-label{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;line-height:1.4;letter-spacing:.02em;white-space:nowrap}.compress-line-head:hover .compress-line-label{color:var(--color-ink)}.compress-line-arrow{font-size:9px;line-height:1;opacity:.7}.compress-line-body{margin-top:8px;padding:10px 14px;border-radius:var(--radius-md);background:#fffaf08c;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.compress-line-text{white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.7;color:var(--color-ink)}.compress-line-foot{margin-top:8px;font-size:11px;color:var(--color-ink-soft);opacity:.8}@media (max-width: 768px){.compress-line{margin:12px 0}.compress-line-body{padding:9px 12px}.compress-line-text{font-size:13px}}.date-divider{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 10px;user-select:none;-webkit-user-select:none}.date-divider-rule{width:18px;height:1px;background:var(--color-tan-line);opacity:.5}.date-divider-label{flex-shrink:0;font-size:10.5px;line-height:1.4;letter-spacing:.04em;white-space:nowrap;color:var(--color-ink-soft);opacity:.6}@media (max-width: 768px){.date-divider{margin:12px 0 8px}.date-divider-label{font-size:10px}}.chat-scrollbar-track{position:absolute;top:10px;right:0;bottom:10px;width:44px;pointer-events:none;z-index:7}.chat-scrollbar-handle{position:absolute;right:0;width:44px;height:44px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-right:5px;opacity:0;pointer-events:none;touch-action:none;cursor:grab;transition:opacity .25s ease}.chat-scrollbar-handle.is-visible{opacity:1;pointer-events:auto}.chat-scrollbar-handle.is-dragging{cursor:grabbing}.chat-scrollbar-bar{width:4px;height:34px;border-radius:999px;background:var(--color-tan-line-strong);transition:background-color .15s ease}.chat-scrollbar-handle.is-dragging .chat-scrollbar-bar{background:var(--color-tan-deep)}.chat-scrollbar-count{padding:3px 8px;border-radius:999px;border:1px solid var(--color-tan-line);background:var(--color-paper-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-ink-soft);font-size:11px;line-height:1.2;white-space:nowrap;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion: reduce){.chat-scrollbar-handle,.chat-scrollbar-bar{transition:none}}.chat-search{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column}.chat-search-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#3c30282e;animation:kc-chat-search-fade .15s ease}.chat-search-sheet{position:relative;display:flex;flex-direction:column;max-height:100%;padding:12px 14px 10px;background:linear-gradient(180deg,#fdf6ea,#f9f0e0);border-bottom:1px solid var(--color-tan-line);box-shadow:0 8px 22px #7a522329;animation:kc-chat-search-slide .18s ease}.chat-search-bar{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-search-input{flex:1;min-width:0;height:36px;padding:0 12px;border:1px solid var(--color-tan-line);border-radius:999px;background:#fffefb;color:var(--color-ink);font-size:14px;outline:none}.chat-search-input:focus{border-color:var(--color-tan-line-strong);box-shadow:0 0 0 3px var(--color-tan-glow)}.chat-search-close{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--color-tan-line);border-radius:50%;background:#fffefb;color:var(--color-ink-soft);font-size:18px;line-height:1}.chat-search-head{flex-shrink:0;padding:10px 4px 2px;color:var(--color-ink-soft);font-size:12px}.chat-search-tip{flex-shrink:0;padding:6px 4px 0;color:var(--color-accent-strong);font-size:12px}.chat-search-empty{padding:22px 4px;text-align:center;color:var(--color-ink-soft);font-size:13px}.chat-search-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:8px 2px 2px}.chat-search-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 12px;border:none;border-radius:14px;background:#fffefb;text-align:left;box-shadow:0 3px 12px #7a52231a}.chat-search-item:active{background:#fdf7ec}.chat-search-item-head{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--color-ink-soft)}.chat-search-who{color:var(--color-ink);font-size:12px}.chat-search-text{font-size:13px;line-height:1.6;color:var(--color-ink);word-break:break-word}.chat-search-mark{padding:0 1px;border-radius:3px;background:var(--color-accent-soft);color:var(--color-ink)}.chat-search-more{padding:8px 4px 2px;text-align:center;color:var(--color-ink-soft);font-size:12px}@keyframes kc-chat-search-fade{0%{opacity:0}to{opacity:1}}@keyframes kc-chat-search-slide{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.chat-search-backdrop,.chat-search-sheet{animation:none}}.kc-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:flex-end;justify-content:center;background:#3a220c4d;opacity:0;transition:opacity .25s ease}.kc-sheet-mask.is-shown{opacity:1}.kc-sheet{width:100%;max-width:560px;height:70vh;max-height:70vh;display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-border-soft);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 28px #7a522338;transform:translateY(100%);transition:transform .25s cubic-bezier(.22,.8,.3,1);will-change:transform}.kc-sheet.is-shown{transform:translateY(0)}.kc-sheet-grip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 16px;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.kc-sheet-grip-bar{width:38px;height:4px;border-radius:999px;background:var(--color-border)}.kc-sheet-title{margin:0;font-family:var(--font-round);font-size:16px;letter-spacing:.8px;color:var(--color-ink)}.kc-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 16px calc(18px + env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion: reduce){.kc-sheet-mask,.kc-sheet{transition:none}}.kc-pick-menu{display:flex;flex-direction:column;gap:10px;padding:6px 0}.kc-pick-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-soft);color:var(--color-ink);text-align:left;transition:background .2s ease,border-color .2s ease}.kc-pick-menu-item:hover{background:var(--color-cream);border-color:var(--color-border)}.kc-pick-menu-item:active{background:var(--color-cream)}.kc-pick-menu-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--color-paper);border:1px solid var(--color-tan-line);color:var(--color-wood)}.kc-pick-menu-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.kc-pick-menu-label{font-family:var(--font-round);font-size:15px;color:var(--color-ink)}.kc-pick-menu-sub{font-size:12px;line-height:1.5;color:var(--color-ink-soft)}.kc-pick-back{display:flex;align-items:center;gap:6px;padding:6px 4px;border:none;background:none;color:var(--color-ink-soft);font-size:13px}.kc-pick-back:active{color:var(--color-ink)}.kc-pick-album-list{display:flex;flex-direction:column;gap:8px;padding:2px 0}.kc-pick-album{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-soft);color:var(--color-ink);text-align:left}.kc-pick-album:active{background:var(--color-cream)}.kc-pick-album-cover{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;overflow:hidden;border-radius:10px;background:var(--color-cream);border:1px solid var(--color-tan-line);color:var(--color-tan)}.kc-pick-album-cover img{width:100%;height:100%;object-fit:cover;display:block}.kc-pick-album-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.kc-pick-album-name{font-family:var(--font-round);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kc-pick-album-count{font-size:12px;color:var(--color-ink-soft)}.kc-pick-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0}.kc-pick-photo{display:flex;flex-direction:column;gap:4px;padding:0;border:none;background:none;text-align:left}.kc-pick-photo-thumb{position:relative;display:block;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:10px;border:1px solid var(--color-tan-line);background:var(--color-cream)}.kc-pick-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease}.kc-pick-photo.is-picked .kc-pick-photo-thumb{border-color:var(--color-accent-strong);box-shadow:0 0 0 2px var(--color-accent-soft)}.kc-pick-photo.is-picked .kc-pick-photo-thumb img{opacity:.82}.kc-pick-photo-check{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-accent-strong);color:var(--color-paper)}.kc-pick-photo-title{font-size:11px;line-height:1.4;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kc-pick-footer{position:sticky;bottom:0;margin:10px -16px 0;padding:10px 16px;background:var(--color-paper);border-top:1px solid var(--color-border-soft)}.kc-pick-confirm{width:100%;padding:11px 0;border:none;border-radius:22px;background:var(--color-tan);color:var(--color-paper);font-family:var(--font-round);font-size:15px;box-shadow:var(--shadow-soft);transition:background .2s ease,color .2s ease,box-shadow .2s ease}.kc-pick-confirm:active:not(:disabled){background:var(--color-tan-deep)}.kc-pick-confirm:disabled{background:var(--color-paper-glass-soft);border:1px solid var(--color-tan-line);color:var(--color-border);box-shadow:none;cursor:not-allowed}.kc-pick-hint{margin:0;padding:26px 8px;text-align:center;font-size:13px;line-height:1.7;color:var(--color-ink-soft)}.kc-sticker-tabs{display:flex;gap:8px;padding:2px 0 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.kc-sticker-tab{flex-shrink:0;padding:6px 14px;border:1px solid var(--color-tan-line);border-radius:16px;background:var(--color-bg-soft);color:var(--color-ink-soft);font-family:var(--font-round);font-size:13px;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease}.kc-sticker-tab:hover{background:var(--color-cream);border-color:var(--color-border)}.kc-sticker-tab.is-active{background:var(--color-tan);border-color:var(--color-tan);color:var(--color-paper)}.kc-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 8px;padding:4px 0 6px}.kc-sticker-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:none;background:none}.kc-sticker-thumb{position:relative;display:block;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:10px;border:1px solid var(--color-tan-line);background:var(--color-cream);transition:border-color .2s ease,transform .2s ease}.kc-sticker-cell:hover .kc-sticker-thumb{border-color:var(--color-tan-line-strong)}.kc-sticker-cell:active .kc-sticker-thumb{transform:scale(.94)}.kc-sticker-thumb img{width:100%;height:100%;object-fit:contain;display:block}.kc-sticker-text{width:100%;font-size:11px;line-height:1.4;text-align:center;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kc-sticker-hint{margin:0;padding:26px 8px;text-align:center;font-size:13px;line-height:1.7;color:var(--color-ink-soft)}.input-bar{display:flex;flex-direction:column;padding:8px 14px 16px;margin:0 12px;background:var(--color-bg-soft);border-top:1px solid var(--color-border-soft)}.input-row{display:flex;align-items:flex-end;gap:10px}.input-image-strip{display:flex;gap:8px;padding:2px 0 8px}.input-image-thumb{position:relative;width:56px;height:56px;flex-shrink:0;border:1px solid var(--color-tan-line);border-radius:10px;overflow:hidden;background:var(--color-cream)}.input-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.input-image-thumb.is-error{border-color:var(--color-warm-red)}.input-image-thumb.is-error img{opacity:.5}.input-image-failed{position:absolute;left:0;right:0;bottom:0;padding:1px 0;font-size:10px;line-height:1.4;text-align:center;color:#fff;background:var(--color-warm-red)}.input-image-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d}.input-image-spinner:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:input-image-spin .7s linear infinite}@keyframes input-image-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.input-image-spinner:after{animation-duration:2s}}.input-image-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:#180e0699;color:#fff;font-size:14px;line-height:1}.input-image-remove:active{background:#180e06cc}.input-plus-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;box-sizing:border-box;padding:0;border:1px solid var(--color-tan-line);border-radius:50%;background:var(--color-paper-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-ink-soft);transition:background .2s ease,border-color .2s ease,transform .2s ease}.input-plus-btn:hover{background:var(--color-paper);border-color:var(--color-tan-line-strong)}.input-plus-btn:active{transform:scale(.94);background:var(--color-cream)}.input-plus-btn.is-open{background:var(--color-cream);border-color:var(--color-tan-line-strong);color:var(--color-ink)}.input-textarea{flex:1;min-width:0;box-sizing:border-box;resize:none;border:1px solid var(--color-tan-line);border-radius:22px;padding:11px 16px;font-size:15px;line-height:22px;min-height:44px;max-height:134px;overflow-y:auto;color:var(--color-ink);background:var(--color-paper-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-textarea:focus{border-color:var(--color-tan-line-strong);box-shadow:0 0 0 3px var(--color-tan-glow)}.input-textarea::placeholder{color:var(--color-tan)}.send-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;box-sizing:border-box;padding:0;border:none;border-radius:50%;background:var(--color-tan);color:var(--color-paper);box-shadow:var(--shadow-soft);transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.send-btn:hover:not(:disabled){background:var(--color-tan-dark)}.send-btn:active:not(:disabled){background:var(--color-tan-deep);transform:scale(.94);box-shadow:0 1px 4px var(--color-shadow-warm)}.send-btn:disabled{background:var(--color-paper-glass-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-tan-line);color:var(--color-border);box-shadow:none;cursor:not-allowed}.send-btn.is-stop{background:var(--color-tan-dark)}.send-btn.is-stop:hover:not(:disabled){background:var(--color-tan-deep)}.send-btn.is-stop svg{animation:send-btn-pulse 1.2s ease-in-out infinite}@keyframes send-btn-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.send-btn.is-stop svg{animation:none}}@media (max-width: 768px){.input-bar{padding:6px 10px calc(14px + env(safe-area-inset-bottom,0px));gap:6px}}.crab-companion{position:absolute;right:15px;bottom:100%;margin-bottom:10px;display:flex;align-items:center;justify-content:center;width:60px;height:60px;pointer-events:none;z-index:5}.crab-companion-gif{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(122,82,35,.18));pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.crab-companion,.crab-companion-gif{width:48px;height:48px}}.chat-call-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--header-ink, var(--color-ink));flex-shrink:0;transition:background .15s ease,color .15s ease}.chat-call-btn:hover:not(:disabled){background:var(--color-ink-faint)}.chat-call-btn:disabled{opacity:.4;pointer-events:none}.chat-call-btn svg{width:20px;height:20px}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:48px 24px 40px;background:radial-gradient(120% 70% at 50% 0%,#aabee629,#aabee600 60%),linear-gradient(180deg,var(--color-paper) 0%,var(--color-bg-soft) 100%)}.call-stage{flex:1;min-height:0;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.call-avatar{width:112px;height:112px;border-radius:50%;padding:3px;background:var(--color-paper-glass);border:1px solid var(--color-tan-line);box-shadow:var(--shadow-soft)}.call-avatar.is-speaking{border-color:var(--color-moonlight-line);animation:call-avatar-breathe 2s ease-in-out infinite}@keyframes call-avatar-breathe{0%,to{box-shadow:0 0 #aabee600}50%{box-shadow:0 0 0 10px #aabee62e}}.call-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.call-name{margin-top:10px;font-family:var(--font-round);font-size:22px;letter-spacing:.5px;color:var(--color-ink)}.call-timer{font-size:15px;font-variant-numeric:tabular-nums;color:var(--color-ink-soft)}.call-status{font-size:13px;color:var(--color-moonlight);letter-spacing:1px}.call-error{margin:6px 0 0;padding:8px 14px;max-width:100%;border-radius:var(--radius-md);background:var(--color-warm-red-soft);color:var(--color-warm-red-ink);font-size:13px;line-height:1.6}.call-lines{margin-top:18px;width:100%;display:flex;flex-direction:column;gap:8px}.call-line{margin:0;padding:8px 12px;border-radius:var(--radius-md);font-size:12.5px;line-height:1.7;text-align:left;color:var(--color-ink);background:#fffaf08c;border:1px solid var(--color-tan-line);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.call-line.is-ai{background:var(--color-moonlight-soft);border-color:var(--color-moonlight-line)}.call-line-who{margin-right:6px;font-size:11.5px;color:var(--color-ink-soft)}.call-actions{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:36px}.call-btn{display:flex;align-items:center;justify-content:center;width:58px;height:58px;padding:0;border:none;border-radius:50%;box-shadow:var(--shadow-soft);transition:background .15s ease,color .15s ease,transform .12s ease}.call-btn:active{transform:scale(.94)}.call-btn svg{width:24px;height:24px}.call-btn-mute{background:var(--color-paper-glass);border:1px solid var(--color-tan-line);color:var(--color-ink-soft)}.call-btn-mute.is-on{background:var(--color-moonlight-soft);border-color:var(--color-moonlight-line);color:var(--color-moonlight)}.call-btn-hangup{width:66px;height:66px;background:var(--color-warm-red);color:#fff}@media (max-width: 768px){.call-overlay{padding:36px 18px 32px}.call-avatar{width:96px;height:96px}.call-actions{gap:28px}}.chat-window{flex:1;display:flex;flex-direction:column;height:100%;min-width:0}.chat-input-wrap{position:relative}.chat-header{--header-ink: var(--color-ink);display:flex;align-items:center;gap:12px;padding:14px 24px;background:linear-gradient(180deg,var(--color-paper) 0%,var(--color-bg-soft) 100%);border-bottom:1px solid var(--color-border-soft)}.chat-menu-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--header-ink);flex-shrink:0;z-index:1;transition:background .15s ease}.chat-menu-btn:hover{background:var(--color-ink-faint)}.chat-menu-btn svg{width:20px;height:20px}.chat-header-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.chat-header-progress{position:relative;flex-shrink:0;display:flex;align-items:center;margin-left:4px}.chat-context-ring{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;line-height:0}.chat-context-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:12px 14px;background:var(--color-paper-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-glass-edge);border-radius:14px;box-shadow:var(--shadow-soft);z-index:30;font-family:var(--font-body)}.chat-context-popover-title{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-ink);margin-bottom:8px}.chat-context-usage-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;white-space:nowrap}.chat-context-used{font-size:18px;color:var(--color-ink)}.chat-context-slash,.chat-context-limit{font-size:13px;color:var(--color-ink-soft)}.chat-context-usage-pct{font-size:13px;color:var(--color-ink-soft);margin-left:auto}.chat-context-bar{margin-top:6px;height:4px;border-radius:2px;background:var(--color-tan-line);overflow:hidden}.chat-context-bar-fill{height:100%;border-radius:2px;background:var(--color-tan);transition:width .25s ease}.chat-context-divider{height:1px;margin:10px 0;background:var(--color-tan-line)}.chat-context-rows{display:flex;flex-direction:column;gap:6px}.chat-context-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;white-space:nowrap}.chat-context-label{font-size:12px;color:var(--color-ink-soft)}.chat-context-value{font-size:13px;color:var(--color-ink)}.chat-header-title{font-family:var(--font-round);font-size:16px;font-weight:600;letter-spacing:.3px;color:var(--header-ink);line-height:1.3;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.chat-header-subtitle{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--color-ink-soft);margin-top:2px;max-width:100%;min-width:0}.chat-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chat-status-dot.is-online{background:#8fbf8f;animation:chat-status-breathe 2.4s ease-in-out infinite}.chat-status-dot.is-sleeping{background:var(--color-moonlight);animation:chat-status-breathe-sleep 6s ease-in-out infinite}.chat-status-dot.is-offline{background:#c4b8a8}@keyframes chat-status-breathe{0%{box-shadow:0 0 #8fbf8f80}to{box-shadow:0 0 0 5px #8fbf8f00}}@keyframes chat-status-breathe-sleep{0%{box-shadow:0 0 #aabee673}to{box-shadow:0 0 0 5px #aabee600}}@media (prefers-reduced-motion: reduce){.chat-status-dot.is-online,.chat-status-dot.is-sleeping{animation:none}}.chat-status-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-error{margin:10px 24px 0;padding:10px 14px;background:#f6dcc4;border:1px solid #e0ab7d;color:#6b3d1a;border-radius:var(--radius-md);font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}.chat-error-text{flex:1;cursor:pointer;line-height:1.5}.chat-error-with-action .chat-error-text{cursor:default}.chat-error-close{flex-shrink:0;font-size:16px;opacity:.7;cursor:pointer}.chat-error-action{flex-shrink:0;border:none;border-radius:999px;padding:6px 14px;background:var(--color-accent);color:#fffaf0;font-size:12.5px;font-family:var(--font-round);letter-spacing:.5px;box-shadow:var(--shadow-soft)}.chat-error-action:hover{transform:translateY(-1px)}.chat-body-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.chat-body{flex:1;overflow-y:auto;padding:24px 28px;background-color:#faf6f0;background-image:radial-gradient(circle at 18% 24%,rgba(180,148,102,.05) 0,transparent 42%),radial-gradient(circle at 82% 68%,rgba(180,148,102,.05) 0,transparent 46%),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--color-border-soft) 32px);background-attachment:local}.chat-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-ink-soft);text-align:center;gap:4px}.chat-empty-icon{font-size:34px;margin-bottom:8px;opacity:.85}.chat-empty p{margin:0;font-size:14px}.chat-jump-bottom{position:absolute;right:16px;bottom:80px;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-tan-line);border-radius:50%;background:var(--color-paper-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-ink-soft);font-size:16px;line-height:1;box-shadow:var(--shadow-soft);z-index:6;transition:border-color .15s ease,transform .15s ease,color .15s ease;animation:chat-jump-fade-in .18s ease}.chat-jump-bottom:hover{border-color:var(--color-tan-line-strong);color:var(--color-ink);transform:translateY(-1px)}.chat-jump-bottom:active{transform:translateY(0)}.chat-jump-dot{position:absolute;top:1px;right:1px;width:8px;height:8px;border-radius:50%;background:var(--color-accent);border:1.5px solid var(--color-paper)}@keyframes chat-jump-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.chat-jump-bottom{animation:none}}.kc-mid-flash{animation:kc-mid-flash 1.5s ease;border-radius:12px}@keyframes kc-mid-flash{0%{background-color:transparent}18%{background-color:#e8a33d2e}62%{background-color:#e8a33d2e}to{background-color:transparent}}.chat-compress-tip{position:absolute;left:16px;bottom:80px;padding:5px 11px;border-radius:999px;background:#fffaf0b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-tan-line);color:var(--color-ink-soft);font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;z-index:6}.chat-toast{position:absolute;left:50%;bottom:24px;transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#3c3028db;color:#fffdf8;font-size:12px;white-space:nowrap;pointer-events:none;z-index:40;box-shadow:0 4px 14px #3a220c3d}@media (max-width: 768px){.chat-menu-btn{display:flex}.chat-header{padding:10px 14px;gap:12px}.chat-header-title{font-size:14.5px}.chat-header-subtitle{font-size:11px}.chat-error{margin:8px 12px 0}.chat-body{padding:14px 12px}.chat-jump-bottom{right:12px;bottom:66px}.chat-compress-tip{left:12px;bottom:66px}}.chat-page{display:flex;height:100%;width:100%;overflow:hidden;position:relative}.chat-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e120661;z-index:15}@media (min-width: 769px){.chat-sidebar-mask{display:none}}.xinchao-mind-row{display:flex;gap:14px}.xinchao-mind-card{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 13px;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-soft);color:var(--color-ink-soft);-webkit-tap-highlight-color:transparent;transition:opacity .12s ease}.xinchao-mind-card:active{opacity:.68}.xinchao-mind-head{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--color-ink-soft)}.xinchao-mind-title{font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--color-ink-soft)}.xinchao-mind-sub{font-size:11.5px;line-height:1.5;color:var(--color-ink-soft);opacity:.72;text-align:center}.xinchao-mind-dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 2px var(--color-paper)}.xinchao-mind-blank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:52vh;padding:0 24px;text-align:center}.xinchao-mind-blank-main{margin:0;font-family:var(--font-round);font-size:15px;letter-spacing:.6px;color:var(--color-ink-soft)}.xinchao-mind-blank-sub{margin:0;font-size:12px;line-height:1.6;color:var(--color-ink-soft);opacity:.6}.xinchao-thought-block{padding:12px 0 2px}.xinchao-thought-heading{margin:0;font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--color-ink)}.xinchao-thought-note{margin:2px 0 0;font-size:11.5px;color:var(--color-ink-soft);opacity:.7}.xinchao-thought-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.xinchao-thought-item{margin:0;padding:9px 12px;border-radius:var(--radius-bubble);background:var(--color-bg-soft);font-size:13.5px;line-height:1.7;color:var(--color-ink);word-break:break-word}.xinchao-thought-item.is-obsession{background:var(--color-cream)}.xinchao-dream-list{display:flex;flex-direction:column;gap:10px;padding:12px 0 2px}.xinchao-dream-card{padding:11px 13px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-soft)}.xinchao-dream-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.xinchao-dream-when{font-size:11.5px;letter-spacing:.3px;font-variant-numeric:tabular-nums;color:var(--color-wood)}.xinchao-dream-tag{padding:2px 9px;border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:10.5px;letter-spacing:.2px;white-space:nowrap}.xinchao-dream-text{margin:7px 0 0;font-size:13.5px;line-height:1.75;color:var(--color-ink);white-space:pre-wrap;word-break:break-word}.xinchao-dream-residue{margin:6px 0 0;font-size:12px;font-style:italic;line-height:1.6;color:var(--color-ink-soft);opacity:.8;word-break:break-word}@media (prefers-reduced-motion: reduce){.xinchao-mind-card{transition:none}}.xinchao-page{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff8f0;background-image:radial-gradient(circle at 15% 0%,#fffaf0,#fff3de 60%,#fbe9c8)}.xinchao-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:16px 16px 8px}.xinchao-title{flex:1;margin:0;font-family:var(--font-round);font-size:21px;letter-spacing:.6px;color:var(--color-ink)}.xinchao-refresh{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-ink-soft);transition:opacity .12s ease,background .12s ease}.xinchao-refresh:active{opacity:.6;background:#4a2f1c14}.xinchao-refresh:disabled{pointer-events:none}.xinchao-refresh.is-spinning svg{animation:xinchao-spin 1.1s linear infinite}@keyframes xinchao-spin{to{transform:rotate(360deg)}}.xinchao-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;padding:4px 16px calc(96px + env(safe-area-inset-bottom,0px))}.xinchao-card{position:relative;padding:16px 16px 18px;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-soft)}.xinchao-empty{margin:0;font-size:13px;line-height:1.7;color:var(--color-ink-soft)}.xinchao-hint-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0 32px 15vh}.xinchao-hint{margin:0;text-align:center;font-size:14.5px;line-height:1.8;color:var(--color-ink-soft)}.xinchao-retry{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:9px 26px;font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--color-wood-dark);background:var(--color-bg-soft);box-shadow:var(--shadow-soft);transition:transform .14s ease,opacity .14s ease}.xinchao-retry:active{transform:scale(.97)}.xinchao-retry:disabled{opacity:.6;pointer-events:none}.xinchao-nowcard{text-align:center;padding:20px 16px 16px;transition:background .3s ease,border-color .3s ease}.xinchao-nowcard.is-sleeping{background:#f6eddd;border-color:var(--color-border)}.xinchao-moon{position:absolute;top:14px;right:14px;display:flex;color:var(--color-wood-light);opacity:.85}.xinchao-headline{margin:0 24px;font-family:var(--font-round);font-size:16.5px;line-height:1.6;letter-spacing:.6px;color:var(--color-ink)}.xinchao-subline{margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--color-ink-soft)}.xinchao-flower-wrap{display:flex;justify-content:center;padding:14px 0 6px}.xinchao-flower{width:72%;max-width:72%;height:auto;display:block;margin:0 auto;overflow:visible;-webkit-tap-highlight-color:transparent;transition:opacity .4s ease}.xinchao-flower.is-sleeping{opacity:.85}.xinchao-moonlight{pointer-events:none}.xinchao-stop-moon-core{stop-color:var(--color-moonlight);stop-opacity:.12}.xinchao-stop-moon-edge{stop-color:var(--color-moonlight);stop-opacity:0}.xinchao-petal{stroke:var(--color-petal-edge);stroke-width:1;vector-effect:non-scaling-stroke;transition:transform .6s cubic-bezier(.33,.9,.35,1),opacity .3s ease}.xinchao-stop-you-base{stop-color:var(--color-petal-you)}.xinchao-stop-you-deep{stop-color:var(--color-petal-you-deep)}.xinchao-stop-you-tip{stop-color:var(--color-petal-you-tip)}.xinchao-stop-self-base{stop-color:var(--color-petal-self)}.xinchao-stop-self-deep{stop-color:var(--color-petal-self-deep)}.xinchao-stop-self-tip{stop-color:var(--color-petal-self-tip)}.xinchao-stop-feeling-base{stop-color:var(--color-petal-feeling)}.xinchao-stop-feeling-deep{stop-color:var(--color-petal-feeling-deep)}.xinchao-stop-feeling-tip{stop-color:var(--color-petal-feeling-tip)}.xinchao-flower.is-focused .xinchao-petal{opacity:.42}.xinchao-flower.is-focused .xinchao-petal.is-active{opacity:1;filter:brightness(1.07)}.xinchao-petal-glow{fill:none;stroke:var(--color-lamp-soft);stroke-width:3;opacity:.6;filter:blur(1.6px);transition:transform .6s cubic-bezier(.33,.9,.35,1)}.xinchao-petal-label{font-size:6.4px;fill:var(--color-ink-soft);opacity:.55;-webkit-user-select:none;user-select:none;pointer-events:none;transition:transform .6s cubic-bezier(.33,.9,.35,1)}.xinchao-petal-hit{fill:transparent;cursor:pointer}.xinchao-core{transform-origin:100px 100px;animation:xinchao-breathe 4s ease-in-out infinite;cursor:pointer;outline:none}.xinchao-core.is-sleeping{animation-name:xinchao-breathe-sleep}@keyframes xinchao-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes xinchao-breathe-sleep{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.xinchao-core-disc{stroke:var(--color-paper);stroke-width:1.2;transition:fill .6s ease}.xinchao-core-text{font-family:var(--font-round);fill:var(--color-ink);letter-spacing:.4px;-webkit-user-select:none;user-select:none;pointer-events:none}.xinchao-flower-hint{margin:6px 0 0;font-size:10.5px;color:var(--color-ink-soft);opacity:.5;transition:opacity .3s ease}.xinchao-flower-hint.is-dim{opacity:.22}.xinchao-petal-panel{max-height:0;opacity:0;overflow:hidden;text-align:left;transition:max-height .36s ease,opacity .26s ease}.xinchao-petal-panel.is-open{max-height:320px;opacity:1}.xinchao-petal-detail{margin-top:10px;padding:12px 12px 10px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-soft)}.xinchao-detail-head{display:flex;align-items:baseline;gap:8px}.xinchao-detail-short{font-family:var(--font-round);font-size:15px;letter-spacing:1px;color:var(--color-ink)}.xinchao-detail-pct{margin-left:auto;font-family:var(--font-round);font-size:24px;font-variant-numeric:tabular-nums;color:var(--color-accent-strong)}.xinchao-detail-label{margin:2px 0 0;font-size:11.5px;color:var(--color-ink-soft)}.xinchao-detail-note{margin:3px 0 0;font-size:11.5px;color:var(--color-wood)}.xinchao-spark{display:block;width:100%;max-width:460px;height:auto;margin-top:8px;border-radius:var(--radius-md);background:var(--color-paper);overflow:visible}.xinchao-spark-line{fill:none;stroke:var(--color-accent-strong);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.xinchao-spark-ceil{stroke:var(--color-wood-light);stroke-width:.8;stroke-dasharray:3 3;opacity:.45}.xinchao-spark-visit{fill:var(--color-wood);stroke:var(--color-paper);stroke-width:1}.xinchao-spark-visit-text{font-size:6px;fill:var(--color-wood);opacity:.8;-webkit-user-select:none;user-select:none}.xinchao-spark-legend{margin:4px 0 0;font-size:10.5px;color:var(--color-ink-soft)}.xinchao-caption{margin-top:7px;color:var(--color-ink-soft)}.xinchao-caption.is-peach{color:var(--color-petal-you-soft)}.xinchao-caption.is-mist{color:var(--color-petal-feeling-soft)}.xinchao-caption-line{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;text-align:center;-webkit-tap-highlight-color:transparent}.xinchao-caption-line:before,.xinchao-caption-line:after{content:"";flex:0 0 auto;width:16px;height:1px;background:currentColor;opacity:.28}button.xinchao-caption-line{cursor:pointer}button.xinchao-caption-line:active{opacity:.65}.xinchao-caption-text{font-family:var(--font-round);font-size:14.5px;font-weight:400;line-height:1.6;letter-spacing:.4px;color:inherit}.xinchao-caption-time{flex-shrink:0;font-size:11.5px;line-height:1.6;letter-spacing:.2px;color:var(--color-wood);white-space:nowrap}.xinchao-caption-chips{display:flex;justify-content:center;gap:6px;max-height:0;padding-top:6px;overflow:hidden;opacity:0;transform:translateY(-3px);transition:max-height .28s ease,opacity .24s ease,transform .24s ease}.xinchao-caption-chips.is-open{max-height:40px;opacity:1;transform:none}.xinchao-caption-chip{padding:2.5px 10px;border-radius:var(--radius-lg);font-size:11px;letter-spacing:.3px;font-variant-numeric:tabular-nums;color:inherit;background:var(--color-bg-soft);background:color-mix(in srgb,currentColor 12%,transparent)}.xinchao-foldcard{padding:4px 16px 6px}.xinchao-fold-bar{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:13px 0;border:none;background:transparent;font-family:var(--font-round);font-size:14px;letter-spacing:1px;color:var(--color-ink-soft);-webkit-tap-highlight-color:transparent}.xinchao-fold-bar:active{opacity:.6}.xinchao-fold-arrow{display:inline-block;font-size:12px;transition:transform .28s ease}.xinchao-fold-arrow.is-open{transform:rotate(180deg)}.xinchao-fold-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .42s ease,opacity .3s ease}.xinchao-fold-body.is-open{max-height:560px;opacity:1}.xinchao-compass{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;overflow:visible}.xinchao-stop-dim{stop-color:var(--color-compass-dim);stop-opacity:.42}.xinchao-stop-mid{stop-color:var(--color-lamp-soft);stop-opacity:.4}.xinchao-stop-warm{stop-color:var(--color-lamp);stop-opacity:.55}.xinchao-stop-clear{stop-color:var(--color-paper);stop-opacity:0}.xinchao-stop-paper{stop-color:var(--color-paper);stop-opacity:.92}.xinchao-compass-ring{fill:none;stroke:var(--color-border);stroke-width:.8;opacity:.6}.xinchao-compass-word{font-family:var(--font-round);font-size:7px;fill:var(--color-wood-light);opacity:.45;-webkit-user-select:none;user-select:none;pointer-events:none}.xinchao-compass-trail{fill:none;stroke:var(--color-wood-light);stroke-linecap:round}.xinchao-compass-dot{fill:var(--color-wood-light);transition:r .2s ease,opacity .2s ease}.xinchao-compass-dot.is-selected{fill:var(--color-wood-dark)}.xinchao-compass-hit{fill:transparent;cursor:pointer}.xinchao-compass-bead{transition:transform .6s ease}.xinchao-bead-halo{fill:var(--color-accent-soft);opacity:.5;filter:blur(2px)}.xinchao-bead-core{fill:var(--color-accent-strong);stroke:var(--color-paper);stroke-width:1.1}.xinchao-compass-note{margin:2px 0 0;text-align:center;font-size:10px;line-height:1.6;color:var(--color-ink-soft);opacity:.7}.xinchao-compass-detail{margin:8px 0;min-height:18px;text-align:center;font-size:12.5px;line-height:1.5;color:var(--color-ink)}.xinchao-compass-detail.is-placeholder{color:var(--color-ink-soft);opacity:.8}.xinchao-footnote{margin:0 0 2px;text-align:center;font-size:11px;letter-spacing:.5px;color:var(--color-ink-soft);opacity:.8}@media (prefers-reduced-motion: reduce){.xinchao-core{animation:none}.xinchao-petal,.xinchao-petal-glow,.xinchao-petal-label,.xinchao-caption-chips,.xinchao-compass-bead,.xinchao-core-disc,.xinchao-fold-arrow{transition:none}.xinchao-caption-chips{transform:none}.xinchao-refresh.is-spinning svg{animation:none}}.cal-page{--font-round: "Nunito", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--cal-bg: radial-gradient(circle at 12% 6%, rgba(249, 204, 216, .55), transparent 38%), radial-gradient(circle at 92% 18%, rgba(253, 228, 234, .85), transparent 42%), radial-gradient(circle at 50% 105%, rgba(242, 175, 194, .28), transparent 55%), linear-gradient(180deg, #fff2f5 0%, #fff8fa 55%, #ffffff 100%);--cal-ink: #5a4148;--cal-ink-soft: #a88a93;--cal-accent: #e07a93;--cal-accent-weak: rgba(224, 122, 147, .12);--cal-card: rgba(255, 255, 255, .72);--cal-card-border: rgba(224, 122, 147, .15);--cal-card-radius: 18px;--cal-tier-0: #fff7f9;--cal-tier-1: #fde4ea;--cal-tier-2: #f9ccd8;--cal-tier-3: #f2afc2;--cal-tier-4: #e68fa8;--cal-period: #e0607e;--cal-period-guess: rgba(224, 96, 126, .5);position:relative;width:100%;height:100%;min-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(40px + env(safe-area-inset-bottom));background:var(--cal-bg);background-attachment:local;color:var(--cal-ink);display:flex;flex-direction:column}.cal-page:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;pointer-events:none;z-index:0;background-image:radial-gradient(ellipse 6px 9px at 7% 9%,rgba(242,175,194,.36),transparent 70%),radial-gradient(ellipse 9px 6px at 93% 6%,rgba(242,175,194,.3),transparent 70%),radial-gradient(ellipse 5px 8px at 4% 34%,rgba(242,175,194,.25),transparent 70%),radial-gradient(ellipse 8px 5px at 96% 27%,rgba(242,175,194,.33),transparent 70%),radial-gradient(ellipse 7px 10px at 88% 46%,rgba(242,175,194,.22),transparent 70%);background-repeat:no-repeat}.cal-topbar{position:absolute;top:calc(10px + env(safe-area-inset-top));left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:0 12px;pointer-events:none}.cal-back,.cal-gear{pointer-events:auto;flex-shrink:0;width:30px;height:30px;padding:0;border:1px solid rgba(224,122,147,.16);border-radius:50%;background:#ffffffb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 8px #e07a9324;color:var(--cal-ink);display:flex;align-items:center;justify-content:center;line-height:1;transition:background .15s ease,color .15s ease,transform .12s ease}.cal-gear{color:var(--cal-ink-soft);font-size:15px}.cal-back:hover,.cal-gear:hover{background:#ffffffe0;color:var(--cal-accent)}.cal-back:active,.cal-gear:active{transform:scale(.92)}.cal-hero{position:relative;z-index:1;flex-shrink:0;width:100%;max-width:520px;margin:0 auto;padding:0}.cal-hero:before{content:"";position:absolute;left:-8%;right:-8%;top:-6%;bottom:2%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 50% 48%,rgba(249,204,216,.6),rgba(249,204,216,.22) 55%,transparent 78%)}.cal-hero img{display:block;position:relative;z-index:1;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;background:transparent;border:none;box-shadow:none;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 45%,#000 60%,transparent 100%),linear-gradient(180deg,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 75% 70% at 50% 45%,#000 60%,transparent 100%),linear-gradient(180deg,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.cal-hero-title{position:relative;z-index:2;flex-shrink:0;width:calc(100% - 32px);max-width:380px;margin:-36px auto 0;display:flex;align-items:center;justify-content:center;gap:14px}.cal-hero-title.is-bare{margin-top:calc(46px + env(safe-area-inset-top))}.cal-hero-name{display:flex;flex-direction:column;align-items:center;gap:1px}.cal-title{margin:0;font-family:var(--font-hand);font-size:40px;font-weight:700;line-height:1.05;letter-spacing:.5px;color:var(--cal-accent);transform:rotate(-4deg)}.cal-hero-month{font-family:var(--font-round);font-size:13px;font-weight:600;letter-spacing:.6px;font-variant-numeric:tabular-nums;color:var(--cal-ink-soft)}.cal-together-badge{position:relative;flex-shrink:0;width:88px;height:88px;border-radius:50%;background:#ffffffbf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--cal-accent);box-shadow:0 3px 12px #e07a9329;transform:rotate(6deg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cal-together-badge:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1px dashed rgba(224,122,147,.55);pointer-events:none}.cal-badge-cap{font-family:var(--font-round);font-size:9.5px;font-weight:600;line-height:1.2;letter-spacing:.4px;color:var(--cal-ink-soft);white-space:nowrap}.cal-badge-num{font-family:var(--font-hand);font-size:26px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--cal-accent)}.cal-badge-since{margin-top:1px;font-family:var(--font-round);font-size:8px;font-weight:600;line-height:1.2;letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--cal-ink-soft);white-space:nowrap}.cal-settings-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:270}.cal-settings-pop{position:absolute;top:calc(48px + env(safe-area-inset-top));right:14px;z-index:271;width:232px;background:var(--cal-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--cal-card-border);border-radius:var(--cal-card-radius);box-shadow:0 8px 24px #e07a932e;padding:12px 14px}.cal-settings-title{margin:0 0 8px;font-family:var(--font-round);font-size:13px;color:var(--cal-ink)}.cal-settings-row{display:flex;align-items:center;gap:6px}.cal-settings-input{width:64px;border:1px solid var(--cal-card-border);background:#fffc;border-radius:10px;padding:7px 9px;font-size:13.5px;color:var(--cal-ink);outline:none}.cal-settings-input:focus{border-color:var(--cal-accent)}.cal-settings-unit{font-size:12.5px;color:var(--cal-ink-soft)}.cal-settings-error{margin:8px 0 0;font-size:11.5px;color:#c7496a}.cal-settings-hint{margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--cal-ink-soft)}.cal-upcoming{position:relative;z-index:1;flex-shrink:0;width:calc(100% - 32px);max-width:380px;margin:12px auto 0;padding:8px 12px;background:var(--cal-accent-weak);border-radius:14px;display:flex;flex-direction:column;gap:4px}.cal-upcoming-item{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--cal-ink)}.cal-upcoming-date{font-family:var(--font-round);font-weight:600;font-variant-numeric:tabular-nums;color:var(--cal-accent)}.cal-upcoming-guess{font-size:9.5px;padding:1px 5px;border-radius:999px;background:#ffffffb3;color:var(--cal-ink-soft)}.cal-upcoming-when{color:var(--cal-ink-soft)}.cal-page>.cal-sheet{position:relative;z-index:1;flex-shrink:0;width:calc(100% - 32px);max-width:380px;margin:8px auto 0;padding:12px 10px 10px;background:#ffffff9e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(224,122,147,.14);border-radius:24px;box-shadow:0 8px 24px #e07a931f}.cal-letter-btn{position:absolute;top:-14px;right:16px;z-index:2;width:28px;height:28px;padding:0;border:1px solid rgba(224,122,147,.18);border-radius:50%;background:#ffffffd1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 8px #e07a9329;color:var(--cal-accent);font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .12s ease}.cal-letter-btn:hover{background:#fffffff2}.cal-letter-btn:active{transform:scale(.92)}.cal-monthbar{display:flex;align-items:center;gap:6px;padding:0 2px 6px;flex-shrink:0}.cal-nav-btn{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--cal-card-border);background:var(--cal-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cal-ink-soft);display:flex;align-items:center;justify-content:center;transition:transform .15s ease,color .15s ease}.cal-nav-btn:hover{color:var(--cal-accent)}.cal-nav-btn:active{transform:scale(.9)}.cal-weekdays{flex:1;display:grid;grid-template-columns:repeat(7,1fr)}.cal-weekday{text-align:center;font-size:12px;font-weight:700;color:var(--cal-ink-soft);letter-spacing:.5px}.cal-weekday.is-weekend{color:var(--cal-accent)}.cal-grid-wrap{padding:0;flex-shrink:0;touch-action:pan-y}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;animation:cal-fade-in .22s ease}@keyframes cal-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cal-grid.is-loading{opacity:.55}.cal-cell{position:relative;border:none;background:transparent;border-radius:0;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:0;cursor:pointer;overflow:visible;transition:transform .12s ease}.cal-cell:active{transform:scale(.94)}.cal-cell-day{position:relative;z-index:1;flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-round);font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--cal-ink);line-height:1;background:transparent;transition:background .15s ease,box-shadow .15s ease,color .15s ease}.cal-cell[data-tier="0"] .cal-cell-day{background:transparent}.cal-cell[data-tier="1"] .cal-cell-day{background:var(--cal-tier-1)}.cal-cell[data-tier="2"] .cal-cell-day{background:var(--cal-tier-2)}.cal-cell[data-tier="3"] .cal-cell-day{background:var(--cal-tier-3)}.cal-cell[data-tier="4"] .cal-cell-day{background:var(--cal-tier-4)}.cal-cell[data-tier="4"] .cal-cell-day{color:#fff}.cal-cell.cal-cell-outside .cal-cell-day{background:transparent;color:var(--cal-ink-soft);opacity:.55}.cal-cell.is-today .cal-cell-day{box-shadow:0 0 0 2px var(--cal-accent);font-weight:700}.cal-cell.is-selected .cal-cell-day{background:var(--cal-accent);color:#fff;opacity:1}.cal-cell.is-today.is-selected .cal-cell-day{box-shadow:0 0 0 2px var(--cal-accent)}.cal-cell.has-period:after,.cal-cell.has-period-guess:after{content:"";position:absolute;left:50%;bottom:0;width:30px;margin-left:-15px;height:3px;border-radius:999px}.cal-cell.has-period:after{background:var(--cal-period)}.cal-cell.has-period-guess:after{background:none;border-top:3px dashed var(--cal-period-guess);height:0}.cal-cell.has-period.has-period-guess:after{background:var(--cal-period);border-top:none;height:3px}.cal-petals{position:absolute;top:-4px;left:50%;margin-left:-19px;width:38px;height:38px;z-index:0;pointer-events:none}.cal-petals:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(ellipse 5px 6px at 50% 8%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 6px 5px at 11% 37%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 6px 5px at 89% 37%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 6px 5px at 26% 83%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 6px 5px at 74% 83%,rgba(242,175,194,.7),transparent 70%);background-repeat:no-repeat}.cal-corner{position:absolute;top:-2px;left:calc(50% + 8px);z-index:2;pointer-events:none;line-height:1;font-style:normal}.cal-corner.is-birthday{font-size:10px;color:#e07a93}.cal-corner.is-festival{font-size:8px;color:#c98fb5}.cal-cell-markers{flex-shrink:0;height:9px;display:flex;align-items:center;justify-content:center;gap:2px;line-height:1}.cal-mk{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:9px}.cal-mk-mood{font-size:10px}.cal-legend{flex-shrink:0;padding:8px 2px 0;display:flex;flex-direction:column;gap:5px;font-size:9.5px;color:var(--cal-ink-soft)}.cal-legend-tiers,.cal-legend-marks{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.cal-legend-tier,.cal-legend-mark{display:inline-flex;align-items:center;gap:3px}.cal-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-legend-swatch[data-tier="0"]{background:var(--cal-tier-0);border:1px solid var(--cal-card-border)}.cal-legend-swatch[data-tier="1"]{background:var(--cal-tier-1)}.cal-legend-swatch[data-tier="2"]{background:var(--cal-tier-2)}.cal-legend-swatch[data-tier="3"]{background:var(--cal-tier-3)}.cal-legend-swatch[data-tier="4"]{background:var(--cal-tier-4)}.cal-legend-note{margin-left:2px}.cal-legend-petals{position:relative;width:14px;height:14px;flex-shrink:0;border-radius:50%;background:var(--cal-tier-2)}.cal-legend-petals:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;background-image:radial-gradient(ellipse 3px 4px at 50% 9%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 4px 3px at 11% 37%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 4px 3px at 89% 37%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 4px 3px at 26% 83%,rgba(242,175,194,.7),transparent 70%),radial-gradient(ellipse 4px 3px at 74% 83%,rgba(242,175,194,.7),transparent 70%);background-repeat:no-repeat}.cal-legend-bloom{color:#e07a93;font-style:normal;font-size:10px}.cal-legend-star{color:#c98fb5;font-style:normal}.cal-legend-line{width:14px;height:0;border-top:3px solid var(--cal-period);border-radius:999px;flex-shrink:0}.cal-legend-line.is-guess{border-top:3px dashed var(--cal-period-guess)}.cal-recap{position:relative;z-index:1;flex-shrink:0;width:calc(100% - 32px);max-width:380px;margin:10px auto 0;padding:10px 14px 11px;background:#ffffff9e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(224,122,147,.14);border-radius:24px;box-shadow:0 8px 24px #e07a931f}.cal-recap-title{margin:0 0 6px;font-family:var(--font-round);font-size:12.5px;font-weight:700;letter-spacing:.4px;color:var(--cal-accent)}.cal-recap-month{font-family:var(--font-hand);font-size:19px;font-weight:700;line-height:1;margin-right:2px}.cal-recap-list{display:flex;flex-direction:column;gap:3px}.cal-recap-line{margin:0;font-size:12.5px;line-height:1.65;color:var(--cal-ink);overflow-wrap:anywhere}.cal-recap-num{font-family:var(--font-round);font-weight:700;font-variant-numeric:tabular-nums;color:var(--cal-accent)}.cal-recap-empty{margin:0;font-size:12.5px;line-height:1.65;color:var(--cal-ink-soft)}.cal-drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#5a414800;display:flex;align-items:flex-end;justify-content:center;transition:background .26s ease}.cal-drawer-mask.show{background:#5a414847}.cal-drawer-mask .cal-sheet{width:100%;max-width:480px;max-height:min(680px,86vh);background:var(--cal-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--cal-card-border);border-bottom:none;border-radius:var(--cal-card-radius) var(--cal-card-radius) 0 0;box-shadow:0 -8px 28px #e07a9333;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom)}.cal-drawer-mask .cal-sheet.show{transform:translateY(0)}.cal-sheet-handle{width:40px;height:4px;border-radius:999px;background:#e07a934d;margin:10px auto 2px;flex-shrink:0}.cal-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 18px;flex-shrink:0}.cal-sheet-titles{min-width:0}.cal-sheet-date{margin:0;font-family:var(--font-round);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cal-ink);letter-spacing:.4px}.cal-sheet-tags{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:5px}.cal-sheet-tag{font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--cal-accent-weak);color:var(--cal-accent)}.cal-sheet-tag.is-festival{color:#a9699a}.cal-sheet-tag.is-birthday{color:var(--cal-ink)}.cal-sheet-close{width:28px;height:28px;border:none;border-radius:50%;background:#ffffffb3;color:var(--cal-ink-soft);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cal-sheet-close:hover{background:var(--cal-accent-weak);color:var(--cal-accent)}.cal-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 18px calc(18px + env(safe-area-inset-bottom))}.cal-sheet-loading{text-align:center;color:var(--cal-ink-soft);font-size:13px;padding:24px 0}.cal-note{display:flex;flex-direction:column;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--cal-card-border)}.cal-note-block{display:flex;flex-direction:column;gap:4px}.cal-note-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--cal-accent)}.cal-note-line{margin:0;font-size:13px;line-height:1.65;font-variant-numeric:tabular-nums;color:var(--cal-ink);overflow-wrap:anywhere}.cal-note-dim{color:var(--cal-ink-soft)}.cal-note-empty{color:var(--cal-ink-soft);font-size:12.5px}.cal-note-said{background:#fff9;border-radius:12px;padding:8px 11px}.cal-mood-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cal-mood-one{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;background:#fff9;border-radius:12px;padding:8px 10px;min-width:0}.cal-mood-who{font-size:11px;color:var(--cal-accent);flex-shrink:0}.cal-mood-emoji{font-size:16px;line-height:1}.cal-mood-note{font-size:12px;color:var(--cal-ink);overflow-wrap:anywhere}.cal-photo-row{display:flex;gap:8px}.cal-photo-thumb{position:relative;flex-shrink:0;width:64px;height:64px;padding:0;border:none;border-radius:12px;overflow:hidden;background:#fff9;transition:transform .12s ease}.cal-photo-thumb:active{transform:scale(.95)}.cal-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}.cal-photo-more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f2afc29e;color:#fff;font-family:var(--font-round);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.cal-said-tap{width:100%;display:flex;align-items:flex-start;gap:8px;padding:0;border:none;background:none;font:inherit;text-align:left;transition:opacity .15s ease}.cal-said-tap:active{opacity:.65}.cal-said-tap .cal-note-line{flex:1;display:block;text-align:left}.cal-said-pen{flex-shrink:0;margin-top:2px;font-size:12px;line-height:1.4;color:var(--cal-accent);opacity:.6}.cal-said-edit{margin-top:2px;display:flex;flex-direction:column;gap:6px}.cal-said-foot{display:flex;align-items:center;gap:10px}.cal-said-foot .cal-word-count{margin-right:auto}.cal-word-count{font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--cal-ink-soft)}.cal-sheet-tabs{position:relative;display:flex;gap:0;height:32px;padding:3px;margin:14px 0;border-radius:999px;background:#e07a9314;flex-shrink:0}.cal-tab-pad{position:absolute;top:3px;left:3px;width:calc((100% - 6px) / 3);height:calc(100% - 6px);border-radius:999px;background:#fff;box-shadow:0 2px 8px #e07a931a;transition:transform .2s ease;pointer-events:none}.cal-sheet-tab{position:relative;z-index:1;flex:1 1 0;min-width:0;border:none;background:transparent;color:var(--cal-ink-soft);border-radius:999px;padding:0;font-family:var(--font-round);font-size:12.5px;font-weight:600;letter-spacing:.3px;transition:color .2s ease}.cal-sheet-tab.is-active{background:transparent;color:var(--cal-accent)}.cal-tab-panel{display:flex;flex-direction:column;gap:14px}.cal-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;justify-items:center}.cal-emoji-btn{width:36px;height:36px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;box-shadow:none;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .15s ease,background .15s ease}.cal-emoji-btn:active{transform:scale(.9)}.cal-emoji-btn.is-active{border-color:var(--cal-accent);background:var(--cal-accent-weak);transform:scale(1.08)}.cal-paper-input{width:100%;min-height:94px;resize:vertical;border:1px solid rgba(224,122,147,.18);border-radius:14px;padding:8px 12px;background-color:#fff8fa;background-image:repeating-linear-gradient(to bottom,rgba(224,122,147,.12),rgba(224,122,147,.12) 1px,transparent 1px,transparent 26px);background-position:0 33px;background-attachment:local;font-family:inherit;font-size:13.5px;line-height:26px;color:var(--cal-ink);outline:none;transition:border-color .15s ease}.cal-paper-input::placeholder{color:var(--cal-ink-soft)}.cal-paper-input:focus{border-color:var(--cal-accent)}.cal-textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--cal-card-border);background:#ffffffb3;border-radius:var(--radius-md);padding:10px 12px;font-size:13.5px;line-height:1.6;color:var(--cal-ink);font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cal-textarea-sm{min-height:54px}.cal-textarea:focus{border-color:var(--cal-accent);box-shadow:0 0 0 3px var(--cal-accent-weak)}.cal-input{width:100%;border:1px solid var(--cal-card-border);background:#ffffffb3;border-radius:var(--radius-md);padding:10px 12px;font-size:14px;color:var(--cal-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cal-input:focus{border-color:var(--cal-accent);box-shadow:0 0 0 3px var(--cal-accent-weak)}.cal-seg-line{margin:0;font-family:var(--font-round);font-size:14px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--cal-ink)}.cal-seg-date{font-variant-numeric:tabular-nums;color:var(--cal-accent)}.cal-seg-num{font-family:var(--font-hand);font-size:20px;font-weight:700;line-height:1;color:var(--cal-accent)}.cal-seg-hint{margin:0;font-size:12px;line-height:1.6;color:var(--cal-ink-soft)}.cal-date-row{display:flex;align-items:center;gap:8px}.cal-date-input{flex:0 1 auto;min-width:0;height:32px;border:1px solid rgba(224,122,147,.18);border-radius:10px;background:#ffffffb3;padding:0 8px;font-family:var(--font-round);font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--cal-ink);outline:none;transition:border-color .15s ease}.cal-date-input:focus{border-color:var(--cal-accent)}.cal-date-sep{flex-shrink:0;font-size:12.5px;color:var(--cal-ink-soft)}.cal-field-block{display:flex;flex-direction:column;gap:6px}.cal-field-label{margin:0;font-size:12px;font-weight:700;color:var(--cal-accent);letter-spacing:.3px}.cal-pill-row{display:flex;flex-wrap:wrap;gap:6px}.cal-pill{height:28px;padding:0 12px;border:1px solid rgba(224,122,147,.28);border-radius:999px;background:transparent;color:var(--cal-ink-soft);font-family:var(--font-round);font-size:12px;line-height:1;display:inline-flex;align-items:center;transition:background .15s ease,color .15s ease,border-color .15s ease}.cal-pill.is-active{background:var(--cal-accent-weak);color:var(--cal-accent);border-color:var(--cal-accent)}.cal-color-row{display:flex;flex-wrap:wrap;gap:10px}.cal-color-swatch{width:22px;height:22px;border-radius:50%;border:none;padding:0;box-shadow:none;transition:transform .15s ease,outline-color .15s ease;outline:2px solid transparent;outline-offset:2px}.cal-color-swatch.is-active{outline-color:var(--cal-accent);transform:scale(1.08)}.cal-record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cal-record-item{display:flex;align-items:center;gap:8px;background:#ffffff8c;border:1px solid rgba(224,122,147,.18);border-radius:14px;padding:9px 12px}.cal-record-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%}.cal-record-text{flex:1;min-width:0;font-size:13px;color:var(--cal-ink);overflow-wrap:anywhere;display:flex;flex-direction:column;gap:2px}.cal-record-sub{font-size:10.5px;color:var(--cal-ink-soft)}.cal-record-action{flex-shrink:0;border:none;background:none;padding:0;color:var(--cal-ink-soft);font-family:var(--font-round);font-size:12px;display:inline-flex;align-items:center;transition:color .15s ease}.cal-record-action:hover{background:none;color:var(--cal-accent)}.cal-record-action-danger,.cal-record-action-danger:hover{background:none;color:#c7496a}.cal-feedback{margin:0;font-size:12px;text-align:center}.cal-feedback-success{color:#4f8a63}.cal-feedback-error{color:#c7496a}.cal-tab-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:2px}.cal-save-btn{flex-shrink:0;height:34px;padding:0 18px;border:none;border-radius:999px;background:var(--cal-accent);color:#fff;font-family:var(--font-round);font-size:13px;font-weight:600;letter-spacing:.3px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s ease,transform .12s ease}.cal-save-btn:disabled{opacity:.4;cursor:not-allowed}.cal-save-btn:active:not(:disabled){transform:scale(.97)}.cal-save-btn.is-line{background:transparent;border:1px solid var(--cal-accent);color:var(--cal-accent)}.cal-link-btn{border:none;background:none;padding:0;font-family:var(--font-round);font-size:12.5px;color:var(--cal-ink-soft);transition:opacity .15s ease}.cal-link-btn.is-danger{color:#c7496a}.cal-link-btn:disabled{opacity:.4;cursor:not-allowed}.cal-tab-actions .cal-link-btn:first-child{margin-right:auto}.cal-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:10px 18px;font-family:var(--font-round);font-size:13.5px;letter-spacing:.3px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.cal-btn-sm{padding:7px 14px;font-size:12.5px}.cal-btn:hover:not(:disabled){transform:translateY(-1px)}.cal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.cal-btn-primary{background:var(--cal-accent);color:#fff;box-shadow:0 2px 10px #e07a934d}.cal-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;background:#f9ccd8d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(52px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom))}.cal-lightbox-stage{position:relative;flex:1;min-height:0;width:100%;max-width:520px;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.cal-lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px}.cal-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:none;border-radius:50%;background:#ffffffc7;color:var(--cal-accent);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #e07a932e}.cal-lightbox-arrow.is-prev{left:2px}.cal-lightbox-arrow.is-next{right:2px}.cal-lightbox-close{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;width:30px;height:30px;padding:0;border:none;border-radius:50%;background:#ffffffd1;color:var(--cal-ink-soft);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.cal-lightbox-meta{flex-shrink:0;margin:12px 0 0;max-width:520px;text-align:center;font-size:12px;line-height:1.6;color:var(--cal-ink);overflow-wrap:anywhere}.cal-lightbox-from{margin-right:6px;padding:1px 7px;border-radius:999px;background:#ffffffb8;color:var(--cal-accent);font-size:10.5px}.cal-lightbox-count{margin-left:8px;font-variant-numeric:tabular-nums;color:var(--cal-ink-soft)}.cal-ex-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:262;background:#5a414800;display:flex;align-items:flex-end;justify-content:center;transition:background .26s ease}.cal-ex-mask.show{background:#5a414847}.cal-ex-sheet{position:relative;z-index:263;width:100%;max-width:480px;height:100%;background:var(--cal-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--cal-card-border);border-bottom:none;border-radius:var(--cal-card-radius) var(--cal-card-radius) 0 0;box-shadow:0 -8px 28px #e07a9333;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom)}.cal-ex-sheet.show{transform:translateY(0)}.cal-ex-handle{width:40px;height:4px;border-radius:999px;background:#e07a934d;margin:10px auto 2px;flex-shrink:0}.cal-ex-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 18px;flex-shrink:0}.cal-ex-titles{min-width:0}.cal-ex-title{margin:0;font-family:var(--font-round);font-size:16px;font-weight:600;letter-spacing:.4px;color:var(--cal-ink)}.cal-ex-sub{margin:3px 0 0;font-size:11px;letter-spacing:.3px;color:var(--cal-ink-soft)}.cal-ex-close{flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:#ffffffb3;color:var(--cal-ink-soft);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.cal-ex-close:hover{background:var(--cal-accent-weak);color:var(--cal-accent)}.cal-ex-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.cal-ex-state{margin:0;padding:28px 0;text-align:center;font-size:13px;line-height:1.7;color:var(--cal-ink-soft)}.cal-ex-card{background:#fff9;border:1px solid var(--cal-card-border);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cal-ex-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.cal-ex-date{font-family:var(--font-round);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cal-ink)}.cal-ex-nth{font-size:11px;font-variant-numeric:tabular-nums;color:var(--cal-accent)}.cal-ex-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cal-ex-side{min-width:0;display:flex;flex-direction:column;gap:3px}.cal-ex-who{font-size:10.5px;font-weight:700;letter-spacing:.3px;color:var(--cal-accent)}.cal-ex-text{margin:0;font-size:12.5px;line-height:1.65;color:var(--cal-ink);overflow-wrap:anywhere}.cal-ex-text.is-blank{color:var(--cal-ink-soft);opacity:.7}@media (max-width: 360px){.cal-title{font-size:34px}.cal-together-badge{width:78px;height:78px}.cal-badge-num{font-size:23px}.cal-badge-since{font-size:7.5px}.cal-cell{height:38px}.cal-cell-day{width:27px;height:27px;font-size:12.5px}.cal-cell.has-period:after,.cal-cell.has-period-guess:after{width:27px;margin-left:-13.5px}.cal-petals{top:-3.5px;margin-left:-17px;width:34px;height:34px}.cal-corner{left:calc(50% + 7px)}.cal-ex-pair{grid-template-columns:1fr;gap:8px}.cal-photo-row{gap:6px}.cal-emoji-grid{gap:3px}.cal-emoji-btn{width:31px;height:31px;font-size:18px}.cal-mood-pair{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.cal-grid{animation:none}.cal-tab-pad,.cal-ex-sheet,.cal-ex-mask{transition:none}}.diary-page{position:relative;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff8f0;background-image:radial-gradient(circle at 15% 0%,#fffaf0,#fff3de 60%,#fbe9c8);display:flex;flex-direction:column}.diary-header{display:flex;align-items:center;gap:10px;padding:16px 14px 8px;flex-shrink:0}.diary-back,.diary-delete-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-ink);transition:opacity .12s ease,background .12s ease}.diary-back:active,.diary-delete-btn:active{opacity:.6;background:#4a2f1c14}.diary-delete-btn{color:#b4553f}.diary-delete-btn:disabled{opacity:.4;pointer-events:none}.diary-title{flex:1;margin:0;font-family:var(--font-round);font-size:21px;letter-spacing:.6px;color:var(--color-ink);text-align:center}.diary-header-spacer{flex-shrink:0;width:36px;height:36px}.diary-list{flex:1;padding:8px 16px 96px;display:flex;flex-direction:column;gap:14px}.diary-empty{display:flex;align-items:center;justify-content:center;padding-top:25vh}.diary-empty-hint{margin:0;text-align:center;font-size:14px;line-height:1.7;color:var(--color-ink-soft);padding:0 24px}.diary-card{position:relative;display:block;width:100%;text-align:left;padding:16px 18px 16px 20px;border:none;border-radius:var(--radius-md, 14px);background:var(--color-paper, #fffaf0);box-shadow:var(--shadow-soft, 0 2px 10px rgba(122, 82, 35, .14));overflow:hidden;transition:transform .14s ease,box-shadow .14s ease}.diary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--color-accent, #e8a33d),var(--color-accent-strong, #cf8a1f))}.diary-card:active{transform:scale(.98);box-shadow:0 1px 6px #7a52231f}.diary-card-date{font-size:12px;color:var(--color-accent-strong, #cf8a1f);letter-spacing:.3px;margin-bottom:6px;font-family:var(--font-round)}.diary-card-title{font-size:16.5px;font-weight:700;color:var(--color-ink);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diary-card-preview{font-size:13.5px;line-height:1.6;color:var(--color-ink-soft);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.diary-fab{position:absolute;right:20px;bottom:28px;width:56px;height:56px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fffaf0;background:linear-gradient(145deg,var(--color-accent, #e8a33d),var(--color-accent-strong, #cf8a1f));box-shadow:var(--shadow-lift, 0 6px 18px rgba(122, 82, 35, .2));transition:transform .15s ease,box-shadow .15s ease}.diary-fab:active{transform:scale(.9);box-shadow:0 3px 10px #7a52233d}.diary-editor-page{background-image:radial-gradient(circle at 85% 0%,#fffaf0,#fff3de 55%,#fbe9c8)}.diary-editor-body{flex:1;display:flex;flex-direction:column;padding:4px 18px 12px;min-height:0}.diary-title-input{border:none;outline:none;background:transparent;font-family:var(--font-round);font-size:22px;color:var(--color-ink);padding:8px 2px;letter-spacing:.3px}.diary-title-input::placeholder{color:var(--color-ink-faint, #a8927240)}.diary-editor-date{margin:0 2px 12px;font-size:12.5px;color:var(--color-accent-strong, #cf8a1f);letter-spacing:.3px}.diary-editor-updated{margin-left:6px;color:var(--color-ink-soft)}.diary-content-textarea{flex:1;min-height:40vh;resize:none;border:none;outline:none;background:var(--color-paper, #fffaf0);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(207,138,31,.16) 32px);background-position:0 6px;border-radius:var(--radius-md, 14px);box-shadow:var(--shadow-soft, 0 2px 10px rgba(122, 82, 35, .14));padding:14px 16px;font-size:15.5px;line-height:32px;color:var(--color-ink);font-family:var(--font-body)}.diary-content-textarea::placeholder{color:var(--color-ink-faint, #a8927240)}.diary-error{margin:2px 20px 0;font-size:13px;color:#b4553f;text-align:center}.diary-editor-footer{flex-shrink:0;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px))}.diary-save-btn{width:100%;border:none;border-radius:var(--radius-lg, 20px);padding:13px 0;font-family:var(--font-round);font-size:16px;letter-spacing:1px;color:#fffaf0;background:linear-gradient(145deg,var(--color-accent, #e8a33d),var(--color-accent-strong, #cf8a1f));box-shadow:var(--shadow-lift, 0 6px 18px rgba(122, 82, 35, .2));transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.diary-save-btn:active{transform:scale(.98)}.diary-save-btn:disabled{opacity:.6;pointer-events:none}.budget-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:flex;align-items:flex-end;justify-content:center;background:#5a403352;opacity:0;transition:opacity .24s ease}.budget-sheet-mask.is-shown{opacity:1}.budget-sheet{width:100%;max-width:560px;max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -8px 28px #e8969638;transform:translateY(100%);transition:transform .24s cubic-bezier(.22,.8,.3,1);will-change:transform}.budget-sheet.is-shown{transform:translateY(0)}.budget-sheet-grip{flex-shrink:0;display:flex;justify-content:center;padding:10px 0 2px}.budget-sheet-grip-bar{width:38px;height:4px;border-radius:999px;background:#e3dad2}.budget-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 18px calc(18px + env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion: reduce){.budget-sheet-mask,.budget-sheet{transition:none}}.budget-page{--bd-bg: #fff7ec;--bd-pink: #f7a6b4;--bd-pink-deep: #e8879a;--bd-pink-soft: #fde3e8;--bd-over: #e25c6e;--bd-gold: #f4c866;--bd-milk: #b8865b;--bd-ink: #5a4033;--bd-mint: #6cc4a1;--bd-card-shadow: 0 4px 14px rgba(232, 150, 150, .12);position:relative;width:100%;height:100%;overflow:hidden;background:var(--bd-bg);color:var(--bd-ink)}.budget-scroll{width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;padding-bottom:110px}.budget-page .budget-budget-big,.budget-page .budget-cell-value,.budget-page .budget-entry-amount,.budget-page .budget-category-amount,.budget-page .budget-category-percent,.budget-page .budget-donut-value,.budget-page .budget-day-total,.budget-page .budget-daily-allow,.budget-page .budget-daily-bubble{font-variant-numeric:tabular-nums}.budget-hero{position:relative;flex-shrink:0;padding-bottom:24px;background-image:linear-gradient(180deg,#fce4ea,#fff7ec);background-size:100% calc(100% + 40px);background-repeat:no-repeat}.budget-hero-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.budget-hero-wave{position:absolute;left:0;right:0;bottom:-1px;display:block;width:100%;height:16px;pointer-events:none}.budget-header{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:16px 14px 0;flex-shrink:0}.budget-back,.budget-gear{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--bd-ink);transition:transform .15s ease,background .15s ease}.budget-gear{background:#fff;color:var(--bd-pink-deep);box-shadow:var(--bd-card-shadow)}.budget-back:active,.budget-gear:active{transform:scale(.96)}.budget-gear:disabled{opacity:.5}.budget-title{flex:1;margin:0;font-family:var(--font-round);font-size:20px;font-weight:700;letter-spacing:.6px;text-align:center;color:var(--bd-ink)}.budget-periodbar{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:2px 16px 0}.budget-period-nav{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border:none;border-radius:50%;background:#fff;color:var(--bd-pink-deep);box-shadow:var(--bd-card-shadow);transition:transform .15s ease,opacity .15s ease}.budget-period-nav:active{transform:scale(.96)}.budget-period-nav:disabled{opacity:.35;box-shadow:none}.budget-period-center{min-width:128px;text-align:center}.budget-period-name{margin:0;font-family:var(--font-round);font-size:22px;font-weight:700;letter-spacing:.5px;color:var(--bd-ink)}.budget-period-range{margin:2px 0 0;font-size:12px;letter-spacing:.4px;color:var(--bd-milk);font-variant-numeric:tabular-nums;min-height:16px}.budget-period-back{position:absolute;right:16px;top:50%;transform:translateY(-50%);border:none;border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:700;color:#fff;background:var(--bd-pink);box-shadow:var(--bd-card-shadow);transition:transform .15s ease}.budget-period-back:active{transform:translateY(-50%) scale(.96)}.budget-card{--bd-tape: var(--bd-pink);flex-shrink:0;margin:0 16px;padding:16px;border-radius:20px;background:#fff;box-shadow:var(--bd-card-shadow)}.budget-card--mint{background:#eef8f3;--bd-tape: #9ed8c5}.budget-card--gold{background:#fff6dd;--bd-tape: #f4c866}.budget-card--pink{background:#fdeef1;--bd-tape: #f7a6b4}.budget-card-title{position:relative;z-index:0;display:inline-block;margin:0 0 12px;font-family:var(--font-round);font-size:15px;font-weight:700;letter-spacing:.4px;color:var(--bd-ink)}.budget-card-title:before{content:"";position:absolute;z-index:-1;left:-4px;right:-4px;bottom:1px;height:60%;background:var(--bd-tape);opacity:.45;border-radius:1.5px;clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%)}.budget-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.budget-card-head .budget-card-title{margin-bottom:12px}.budget-card-head-sticker{flex-shrink:0;height:auto;margin:-8px -4px 0 0;transform:rotate(5deg);pointer-events:none;filter:drop-shadow(0 2px 6px rgba(232,150,150,.2))}.budget-cell{flex:1;text-align:center;min-width:0}.budget-cell-value{margin:0;font-family:var(--font-round);font-size:15.5px;font-weight:700;letter-spacing:.2px;color:var(--bd-ink)}.budget-cell-value.is-income{color:var(--bd-mint)}.budget-cell-value.is-expense{color:var(--bd-pink-deep)}.budget-cell-label{margin:4px 0 0;font-size:11.5px;color:var(--bd-milk);letter-spacing:.3px}.budget-cell-hint{margin:3px 0 0;font-size:10.5px;letter-spacing:.2px;color:#a9a09a}.budget-budget-card{padding:16px 16px 18px}.budget-budget-top{display:flex;align-items:center;gap:12px}.budget-budget-sticker,.budget-nobudget-sticker,.budget-settings-sticker,.budget-blank img,.budget-vsprev img{height:auto;flex-shrink:0}.budget-budget-figure{flex:1;min-width:0}.budget-budget-caption{margin:0 0 2px;font-size:12.5px;color:var(--bd-milk);letter-spacing:.3px}.budget-budget-big{margin:0;font-family:var(--font-round);font-size:28px;font-weight:700;line-height:1.2;letter-spacing:.5px;color:var(--bd-pink-deep);white-space:nowrap}.budget-budget-big.is-over{color:var(--bd-over)}.budget-budget-yuan{font-size:18px;margin-right:1px}.budget-over-tag{font-size:15px;margin-right:5px}.budget-progress-tip{margin:12px 0 0;text-align:right;font-size:12px;letter-spacing:.3px;color:var(--bd-milk)}.budget-progress{position:relative;margin-top:14px;height:12px;border-radius:999px;background:var(--bd-pink-soft)}.budget-progress-tip+.budget-progress{margin-top:6px}.budget-progress-fill{display:block;height:100%;border-radius:999px;background:var(--bd-pink-deep);transition:width .3s ease}.budget-progress-fill.is-over{background:var(--bd-over)}.budget-progress-coin{position:absolute;top:50%;display:block;width:18px;height:18px;line-height:0;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(224,168,63,.4));transition:left .3s ease,transform .3s ease}.budget-budget-cells{display:flex;align-items:flex-start;margin-top:12px}.budget-daily-allow{margin:10px 0 0;text-align:center;font-size:12px;color:var(--bd-milk);letter-spacing:.3px}.budget-nobudget{display:flex;align-items:center;gap:12px}.budget-nobudget-main{flex:1;min-width:0}.budget-nobudget-text{margin:0 0 10px;font-family:var(--font-round);font-size:15px;font-weight:700;color:var(--bd-ink)}.budget-triple{display:flex;align-items:flex-start;padding:14px 10px}.budget-category-body{display:flex;align-items:center;gap:14px}.budget-donut{position:relative;flex-shrink:0;width:140px;height:140px}.budget-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}.budget-donut-label{font-size:11px;color:var(--bd-milk)}.budget-donut-value{font-family:var(--font-round);font-size:15px;font-weight:700;color:var(--bd-ink)}.budget-category-list{flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.budget-category-item{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--bd-ink)}.budget-category-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%}.budget-category-icon{flex-shrink:0;font-size:13px}.budget-category-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-category-amount{flex-shrink:0;font-weight:700}.budget-category-percent{flex-shrink:0;width:40px;text-align:right;color:var(--bd-milk)}@media (max-width: 400px){.budget-category-body{flex-direction:column;align-items:stretch}.budget-donut{align-self:center}}.budget-daily{position:relative}.budget-daily-bubble{position:absolute;left:50%;top:0;transform:translate(-50%);z-index:3;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;color:#fff;background:var(--bd-pink-deep);box-shadow:0 2px 8px #e8879a4d;white-space:nowrap;pointer-events:none}.budget-daily-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}.budget-daily-scroll::-webkit-scrollbar{display:none}.budget-daily-track{position:relative;display:flex;align-items:flex-end;gap:4px;padding:0 2px 2px;min-width:100%}.budget-daily-avg{position:absolute;left:2px;right:2px;z-index:1;height:0;border-top:1.5px dashed var(--bd-gold);pointer-events:none}.budget-daily-avg-label{position:absolute;right:0;bottom:2px;padding:0 3px;border-radius:4px;font-size:9.5px;line-height:1.4;color:#c79a3e;background:#ffffffdb;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-daily-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;width:11px;border:none;background:transparent;padding:0}.budget-daily-bar-slot{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;height:50px}.budget-daily-bar{display:block;width:7px;border-radius:4px 4px 2px 2px;background:var(--bd-pink);transition:background .15s ease}.budget-daily-bar.is-over-avg,.budget-daily-col.is-picked .budget-daily-bar{background:var(--bd-pink-deep)}.budget-daily-today-heart{position:absolute;left:50%;transform:translate(-50%);z-index:2;line-height:0;color:var(--bd-pink-deep);pointer-events:none}.budget-daily-dot{display:block;width:7px;height:3px;border-radius:999px;background:var(--bd-pink-soft)}.budget-daily-tick{font-size:9.5px;line-height:1;height:10px;color:var(--bd-milk);font-variant-numeric:tabular-nums}.budget-vsprev{display:flex;align-items:center;gap:12px;padding:12px 16px}.budget-vsprev-text{margin:0;font-family:var(--font-round);font-size:14.5px;font-weight:700;color:var(--bd-ink)}.budget-vsprev-text .is-income{color:var(--bd-mint);font-variant-numeric:tabular-nums}.budget-vsprev-text .is-expense{color:var(--bd-pink-deep);font-variant-numeric:tabular-nums}.budget-trend-row{display:flex;align-items:flex-end;justify-content:space-between;gap:6px}.budget-trend-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;border:none;background:transparent;padding:0;transition:transform .15s ease}.budget-trend-col:active{transform:scale(.96)}.budget-trend-bar-slot{display:flex;align-items:flex-end;justify-content:center;width:100%;height:72px}.budget-trend-bar{display:block;width:60%;max-width:26px;border-radius:7px 7px 3px 3px;background:var(--bd-pink-soft)}.budget-trend-bar.is-selected{background:var(--bd-pink-deep)}.budget-trend-tick{font-size:11px;color:var(--bd-milk);font-variant-numeric:tabular-nums}.budget-trend-tick.is-selected{color:var(--bd-pink-deep);font-weight:700}.budget-detail{display:flex;flex-direction:column;gap:14px}.budget-detail-head{display:flex;align-items:center;gap:10px;padding:2px 22px 0}.budget-detail-head img{flex-shrink:0;height:auto;transform:rotate(-4deg);filter:drop-shadow(0 2px 6px rgba(232,150,150,.2))}.budget-detail-head-text{margin:0;font-family:var(--font-round);font-size:13.5px;font-weight:700;letter-spacing:.4px;color:var(--bd-milk);font-variant-numeric:tabular-nums}.budget-day-group{display:flex;flex-direction:column;gap:6px}.budget-day-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 22px}.budget-day-title{font-size:12.5px;font-weight:700;color:var(--bd-milk);letter-spacing:.3px}.budget-day-total{font-size:11.5px;color:var(--bd-milk)}.budget-day-card{padding:4px 14px}.budget-entry{display:flex;align-items:center;gap:11px;padding:11px 0;user-select:none;-webkit-user-select:none;transition:transform .15s ease}.budget-entry+.budget-entry{border-top:1px solid #f7efe5}.budget-entry:active{transform:scale(.98)}.budget-entry-icon{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:50%;background:var(--bd-pink-soft)}.budget-entry-main{flex:1;min-width:0}.budget-entry-name{margin:0;font-size:14.5px;color:var(--bd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-entry-note{margin:3px 0 0;font-size:12px;color:#a9988c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-entry-amount{flex-shrink:0;margin:0;font-family:var(--font-round);font-size:15px;font-weight:700;letter-spacing:.2px}.budget-entry-amount.is-income{color:var(--bd-mint)}.budget-entry-amount.is-expense{color:var(--bd-pink-deep)}.budget-blank{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0 6px}.budget-blank-text{margin:0;text-align:center;font-size:13.5px;line-height:1.7;color:var(--bd-milk);padding:0 24px}.budget-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 0}.budget-footer img{height:auto;transform:rotate(3deg);filter:drop-shadow(0 3px 8px rgba(232,150,150,.2))}.budget-footer-text{margin:0;font-family:var(--font-round);font-size:13px;letter-spacing:.6px;color:var(--bd-milk)}.budget-fab-btn{position:absolute;right:20px;bottom:28px;z-index:40;display:block;width:84px;padding:0;border:none;background:none;line-height:0;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}.budget-fab-btn:active{transform:scale(.92)}.budget-fab-sticker{display:block;width:84px;height:auto;transform:translateY(0) rotate(-6deg);filter:drop-shadow(0 4px 8px rgba(232,135,154,.25));animation:budget-fab-float 4s ease-in-out infinite}@keyframes budget-fab-float{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-4px) rotate(-6deg)}}.budget-celebrate{position:absolute;left:50%;top:44%;height:auto;z-index:170;pointer-events:none;transform:translate(-50%,-50%) scale(.4);animation:budget-celebrate-pop .6s cubic-bezier(.2,1.4,.4,1) forwards,budget-celebrate-fade .4s ease .6s forwards}@keyframes budget-celebrate-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes budget-celebrate-fade{to{opacity:0}}.budget-toast{position:absolute;left:50%;bottom:104px;transform:translate(-50%);z-index:180;max-width:calc(100% - 48px);border-radius:999px;padding:9px 16px;font-size:13px;line-height:1.5;color:#fff;background:#3a2a22e6;box-shadow:0 4px 14px #3a2a2242;text-align:center}.budget-sheet-heading{margin:2px 0 14px;text-align:center;font-family:var(--font-round);font-size:17px;font-weight:700;letter-spacing:.6px;color:#5a4033}.budget-sheet-heading.is-inline{margin:0;text-align:left}.budget-settings-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}.budget-type-switch{display:flex;gap:8px;padding:2px;border-radius:999px;background:#f8f2ea}.budget-type-pill{flex:1;border:none;border-radius:999px;padding:9px 0;font-family:var(--font-round);font-size:14.5px;font-weight:700;letter-spacing:.5px;color:#b8865b;background:transparent;transition:transform .15s ease,background .15s ease,color .15s ease}.budget-type-pill:active{transform:scale(.96)}.budget-type-pill.is-active.is-expense{color:#fff;background:#f7a6b4}.budget-type-pill.is-active.is-income{color:#fff;background:#6cc4a1}.budget-amount-row{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:18px 0 14px}.budget-amount-yuan{font-family:var(--font-round);font-size:22px;font-weight:700;color:#b8865b}.budget-amount-big{width:60%;max-width:220px;border:none;outline:none;background:transparent;font-family:var(--font-round);font-size:36px;font-weight:700;line-height:1.2;text-align:center;color:#5a4033;font-variant-numeric:tabular-nums}.budget-amount-big::placeholder{color:#e3d6c8}.budget-field{margin-top:14px}.budget-field-label{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.3px;color:#b8865b}.budget-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px 4px}.budget-cat-cell{display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:transparent;padding:0;transition:transform .15s ease}.budget-cat-bubble{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid transparent;background:#fde3e8;font-size:20px;transition:border-color .15s ease,transform .15s ease}.budget-cat-name{font-size:11px;color:#b8865b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.budget-cat-cell.is-active .budget-cat-bubble{border-color:#e8879a;transform:scale(1.08)}.budget-cat-cell.is-active .budget-cat-name{color:#e8879a;font-weight:700}.budget-cat-cell:active{transform:scale(.96)}.budget-date-row{display:flex;flex-wrap:wrap;gap:8px}.budget-date-pill{position:relative;border:1.5px solid #f3e6da;border-radius:999px;padding:7px 14px;font-size:13px;color:#b8865b;background:#fff;transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease}.budget-date-pill:active{transform:scale(.96)}.budget-date-pill.is-active{border-color:#e8879a;background:#fde3e8;color:#e8879a;font-weight:700}.budget-date-pill.is-picker{cursor:pointer;font-variant-numeric:tabular-nums}.budget-date-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;padding:0}.budget-note-input{width:100%;border:1.5px solid #f3e6da;border-radius:999px;padding:10px 14px;font-size:14px;font-family:inherit;color:#5a4033;background:#fff;outline:none;transition:border-color .15s ease}.budget-note-input:focus{border-color:#f7a6b4}.budget-note-input::placeholder{color:#cdbcae}.budget-setting-row{display:flex;align-items:center;gap:8px;border:1.5px solid #f3e6da;border-radius:999px;padding:4px 6px 4px 14px;background:#fff;transition:border-color .15s ease}.budget-setting-row:focus-within{border-color:#f7a6b4}.budget-setting-yuan{flex-shrink:0;font-size:14px;color:#b8865b}.budget-setting-input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:6px 0;font-size:15px;font-family:var(--font-round);color:#5a4033;font-variant-numeric:tabular-nums}.budget-setting-input::placeholder{color:#cdbcae;font-family:var(--font-body);font-size:13px}.budget-clear-btn{flex-shrink:0;border:none;border-radius:999px;padding:6px 12px;font-size:12px;color:#b8865b;background:#f8f2ea;transition:transform .15s ease}.budget-clear-btn:active{transform:scale(.96)}.budget-settings-hint{margin:10px 0 0;font-size:11.5px;line-height:1.6;color:#b0a194}.budget-sheet-actions{display:flex;align-items:center;gap:12px;margin-top:18px}.budget-primary-btn{flex:1;border:none;border-radius:999px;padding:13px 0;font-family:var(--font-round);font-size:15.5px;font-weight:700;letter-spacing:1px;color:#fff;background:#f7a6b4;box-shadow:0 4px 14px #e8879a42;transition:transform .15s ease,opacity .15s ease}.budget-primary-btn.is-compact{flex:0 0 auto;padding:9px 20px;font-size:13.5px;letter-spacing:.6px}.budget-primary-btn:active{transform:scale(.96)}.budget-primary-btn:disabled{opacity:.5;pointer-events:none}.budget-delete-link{flex-shrink:0;border:none;background:transparent;padding:6px 2px;font-size:12.5px;color:#a9988c;transition:transform .15s ease}.budget-delete-link:active{transform:scale(.96)}@media (prefers-reduced-motion: reduce){.budget-celebrate{animation:none;opacity:0}.budget-fab-sticker{animation:none;transform:rotate(-6deg)}}.moments-page{position:relative;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;display:flex;flex-direction:column;color:#0f1419}.moments-profile{flex-shrink:0}.moments-banner{position:relative;width:100%;height:160px;overflow:hidden;background:#cfd9de;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.moments-banner-img{width:100%;height:100%;object-fit:cover;display:block;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.moments-banner-uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f141973;color:#fff;font-size:14px;font-weight:700;letter-spacing:.4px}.moments-banner-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e3ecf2,#c9d9e4 55%,#bcccd9)}.moments-banner-btn{position:absolute;top:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;padding:0;background:#00000073;color:#fff;transition:background .12s ease}.moments-banner-btn.is-back{left:12px}.moments-banner-btn.is-back:active{background:#0000009e}.moments-banner-right{position:absolute;top:0;right:12px;display:flex;gap:8px}.moments-banner-right .moments-banner-btn{position:static;margin-top:12px}.moments-profile-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 16px}.moments-profile-avatar{flex-shrink:0;position:relative;z-index:1;width:80px;height:80px;margin-top:-44px;border:4px solid #fff;border-radius:50%;overflow:hidden;background:#eff3f4;display:flex;align-items:center;justify-content:center}.moments-profile-avatar-img{width:100%;height:100%;object-fit:cover}.moments-profile-avatar-icon{width:52%;height:52%;color:#8b98a5}.moments-banner-change{flex-shrink:0;margin-top:10px;border:1px solid #cfd9de;border-radius:999px;padding:7px 15px;font-size:14px;font-weight:700;color:#0f1419;background:#fff;transition:background .12s ease,opacity .12s ease}.moments-banner-change:active{background:#eff3f4}.moments-banner-change:disabled{opacity:.55;pointer-events:none}.moments-profile-meta{padding:8px 16px 14px}.moments-profile-name{margin:0;font-family:var(--font-round);font-size:20px;font-weight:800;line-height:1.3;color:#0f1419}.moments-profile-handle{margin:1px 0 0;font-size:14px;color:#536471}.moments-tabs{display:flex;border-bottom:1px solid #eff3f4}.moments-tab{flex:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:14px 0 0;font-size:15px;color:#536471;transition:background .12s ease}.moments-tab:active{background:#f7f9f9}.moments-tab-label{position:relative;display:block;padding-bottom:14px}.moments-tab.is-active{color:#0f1419;font-weight:700}.moments-tab.is-active .moments-tab-label:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:56px;height:4px;border-radius:999px;background:#1d9bf0}.moments-list{flex:1;padding:0 0 110px;display:flex;flex-direction:column}.moments-empty{display:flex;align-items:center;justify-content:center;padding-top:25vh}.moments-empty-hint{margin:0;padding:18px 24px;text-align:center;font-size:14px;line-height:1.7;color:#536471}.moment-item{display:flex;gap:11px;padding:12px 16px 6px;border-bottom:1px solid #eff3f4}.moment-item-body{flex:1;min-width:0}.moment-avatar{flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eff3f4}.moment-avatar-md{width:40px;height:40px}.moment-avatar-sm{width:28px;height:28px}.moment-avatar-img{width:100%;height:100%;object-fit:cover}.moment-avatar-icon{width:55%;height:55%;color:#8b98a5}.moment-item-head{display:flex;align-items:baseline;gap:5px;min-width:0}.moment-author{font-size:15px;font-weight:700;color:#0f1419;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-handle{font-size:14px;color:#536471;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-time{font-size:14px;color:#536471;flex-shrink:0}.moment-head-more{margin-left:auto;align-self:flex-start;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:50%;padding:0;background:transparent;color:#536471;transition:color .12s ease,background .12s ease}.moment-head-delete:active{color:#f4212e;background:#f4212e1a}.moment-content{margin:2px 0 0;font-size:15.5px;line-height:1.4;color:#0f1419;white-space:pre-line;word-break:break-word}.moment-images{display:grid;gap:2px;margin-top:10px;border:1px solid #cfd9de;border-radius:16px;overflow:hidden}.moment-images-1{grid-template-columns:minmax(0,1fr)}.moment-images-1 .moment-image{aspect-ratio:4 / 3}.moment-images-2,.moment-images-4{grid-template-columns:repeat(2,1fr)}.moment-images-3{grid-template-columns:repeat(3,1fr)}.moment-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#eff3f4}.moment-actions{display:flex;align-items:center;justify-content:space-between;margin:8px -8px 0;max-width:340px}.moment-action{display:flex;align-items:center;gap:5px;border:none;background:transparent;padding:6px 8px;border-radius:999px;font-size:13px;color:#536471;transition:color .15s ease,background .15s ease,transform .12s ease}.moment-action.is-decor{pointer-events:none}.moment-action:active{transform:scale(.9)}.moment-action-comment:active{color:#1d9bf0;background:#1d9bf01a}.moment-action-comment.is-open{color:#1d9bf0}.moment-comment-input-slot.is-collapsed{display:none}.moment-action-like:active,.moment-action-like.liked{color:#f91880}.moment-action-like.liked:active{background:#f918801a}.moment-like-note{margin:2px 0 0;font-size:12.5px;color:#536471}.moment-comments{margin-top:4px;padding-left:11px;border-left:2px solid #eff3f4}.moment-comment-list{display:flex;flex-direction:column}.moment-comment{display:flex;gap:8px;padding:7px 8px;border-radius:10px}.moment-comment.is-kiro{background:#f5fafe}.moment-comment-body{flex:1;min-width:0}.moment-comment-head{display:flex;align-items:baseline;gap:5px}.moment-comment-author{font-size:13.5px;font-weight:700;color:#0f1419;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-comment.is-kiro .moment-comment-author{color:#1d9bf0}.moment-comment-handle{font-size:12px;color:#536471;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-comment-time{font-size:12px;color:#536471;flex-shrink:0}.moment-comment-delete{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:#8b98a5;padding:0;transition:color .12s ease,background .12s ease}.moment-comment-delete:active{color:#f4212e;background:#f4212e1a}.moment-comment-delete:disabled{opacity:.45;pointer-events:none}.moment-comment-content{margin:1px 0 0;font-size:14px;line-height:1.5;color:#0f1419;white-space:pre-line;word-break:break-word}.moment-comment-input-wrap{padding:4px 0 8px 8px}.moment-comment-input-row{display:flex;align-items:center;gap:8px}.moment-comment-input{flex:1;min-width:0;border:1px solid #eff3f4;outline:none;background:#f7f9f9;border-radius:999px;padding:7px 13px;font-size:13.5px;color:#0f1419;font-family:var(--font-body);transition:border-color .15s ease,background .15s ease}.moment-comment-input:focus{border-color:#1d9bf0;background:#fff}.moment-comment-input::placeholder{color:#8b98a5}.moment-comment-input:disabled{opacity:.6}.moment-comment-send{flex-shrink:0;border:none;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:700;color:#fff;background:#1d9bf0;transition:opacity .15s ease,transform .12s ease}.moment-comment-send:active{transform:scale(.96)}.moment-comment-send:disabled{opacity:.45;pointer-events:none}.moment-comment-error{margin:6px 2px 0;font-size:12.5px;color:#f4212e}.moments-fab{position:absolute;right:20px;bottom:28px;width:56px;height:56px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#1d9bf0;box-shadow:0 4px 14px #1d9bf066;transition:transform .15s ease,background .15s ease}.moments-fab:active{transform:scale(.9);background:#1a8cd8}.moments-toast{position:absolute;left:50%;bottom:96px;transform:translate(-50%);max-width:80%;z-index:30;padding:9px 16px;border-radius:999px;background:#0f1419e6;color:#fff;font-size:13px;line-height:1.4;text-align:center;animation:moments-fade-in .15s ease}.moments-composer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f141966;display:flex;align-items:flex-end;z-index:20;animation:moments-fade-in .15s ease}@keyframes moments-fade-in{0%{opacity:0}to{opacity:1}}.moments-composer{width:100%;max-height:82%;overflow-y:auto;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -6px 22px #0f14192e;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;animation:moments-slide-up .18s ease}@keyframes moments-slide-up{0%{transform:translateY(16px);opacity:.6}to{transform:translateY(0);opacity:1}}.moments-composer-handle{align-self:center;width:40px;height:4px;border-radius:999px;background:#cfd9de;margin-bottom:10px}.moments-composer-title{margin:0 0 12px;font-family:var(--font-round);font-size:17px;font-weight:700;color:#0f1419;text-align:center}.moments-composer-textarea{min-height:96px;resize:none;border:1px solid #eff3f4;outline:none;background:#f7f9f9;border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5;color:#0f1419;font-family:var(--font-body);transition:border-color .15s ease,background .15s ease}.moments-composer-textarea:focus{border-color:#1d9bf0;background:#fff}.moments-composer-textarea::placeholder{color:#8b98a5}.moments-image-input-row{display:flex;gap:8px;margin-top:10px}.moments-add-image-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(29,155,240,.4);border-radius:999px;padding:10px 14px;font-size:13.5px;color:#1d9bf0;background:#1d9bf014;transition:opacity .12s ease,transform .12s ease}.moments-add-image-btn:active{transform:scale(.96)}.moments-add-image-btn:disabled{opacity:.5;pointer-events:none}.moments-image-preview-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.moments-image-preview-item{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#eff3f4}.moments-image-preview-item img{width:100%;height:100%;object-fit:cover}.moments-image-uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059}.moments-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:moments-spin .7s linear infinite}@keyframes moments-spin{to{transform:rotate(360deg)}}.moments-image-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;border:none;border-radius:50%;background:#0f141999;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;padding:0}.moments-image-remove:disabled{opacity:.5;pointer-events:none}.moments-composer-error{margin:10px 2px 0;font-size:13px;color:#f4212e;text-align:center}.moments-composer-footer{display:flex;gap:10px;margin-top:16px}.moments-cancel-btn,.moments-publish-btn{flex:1;border:none;border-radius:999px;padding:12px 0;font-family:var(--font-round);font-size:15px;font-weight:700;letter-spacing:.4px;transition:transform .14s ease,opacity .14s ease}.moments-cancel-btn{color:#0f1419;background:#eff3f4}.moments-publish-btn{color:#fff;background:#1d9bf0}.moments-cancel-btn:active,.moments-publish-btn:active{transform:scale(.98)}.moments-publish-btn:disabled{opacity:.5;pointer-events:none}.moments-edit-avatar-row{display:flex;justify-content:center;margin:2px 0 14px}.moments-edit-field{display:flex;flex-direction:column;gap:6px}.moments-edit-label{font-size:13px;color:#536471}.moments-edit-input{border:1px solid #eff3f4;outline:none;background:#f7f9f9;border-radius:14px;padding:11px 14px;font-size:15px;line-height:1.4;color:#0f1419;font-family:var(--font-body);transition:border-color .15s ease,background .15s ease}.moments-edit-input:focus{border-color:#1d9bf0;background:#fff}.moments-edit-input::placeholder{color:#8b98a5}.moments-edit-tip{margin:10px 2px 0;font-size:12.5px;line-height:1.4;color:#8b98a5}.album-page{position:relative;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff8f0;background-image:radial-gradient(circle at 12% 4%,#fffaf0,#fff3de 55%,#fbe9c8);display:flex;flex-direction:column}.album-header{display:flex;align-items:center;gap:10px;padding:16px 14px 8px;flex-shrink:0}.album-back{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-ink);transition:opacity .12s ease,background .12s ease}.album-back:active{opacity:.6;background:#4a2f1c14}.album-header-action{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-ink);font-size:22px;line-height:1;transition:opacity .12s ease,background .12s ease}.album-header-action:active{opacity:.6;background:#4a2f1c14}.album-title{flex:1;margin:0;font-family:var(--font-round);font-size:21px;letter-spacing:.6px;color:var(--color-ink);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-header-spacer{flex-shrink:0;width:36px;height:36px}.album-empty{display:flex;align-items:center;justify-content:center;padding-top:25vh}.album-empty-hint{margin:0;text-align:center;font-size:14px;line-height:1.7;color:var(--color-ink-soft);padding:0 24px}.album-list{flex:1;padding:10px 16px 110px}.album-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 16px}.album-card{background:var(--color-paper, #fffaf0);border-radius:4px;box-shadow:var(--shadow-soft, 0 2px 10px rgba(122, 82, 35, .14));padding:8px 8px 12px;transition:transform .15s ease,box-shadow .15s ease}.album-card-tilt-left{transform:rotate(-2.4deg)}.album-card-tilt-right{transform:rotate(2.2deg)}.album-card:active{transform:scale(.96) rotate(0);box-shadow:var(--shadow-lift, 0 6px 18px rgba(122, 82, 35, .2))}.album-cover{width:100%;aspect-ratio:1 / 1;border-radius:2px;overflow:hidden;background:var(--color-bg-soft, #fbf3e4)}.album-cover-img{width:100%;height:100%;object-fit:cover}.album-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-ink-faint, #a8927280);background:linear-gradient(150deg,var(--color-bg-soft, #fbf3e4),var(--color-accent-soft, #ffdca0))}.album-info{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.album-name{font-family:var(--font-round);font-size:14px;color:var(--color-ink);letter-spacing:.3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-count{font-size:11.5px;color:var(--color-ink-soft)}.album-photo-view{flex:1;padding:6px 12px 110px}.album-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.album-photo-thumb{aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;background:var(--color-bg-soft, #fbf3e4);box-shadow:0 1px 6px #7a52231f}.album-photo-thumb img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.album-fab{position:absolute;right:20px;bottom:28px;width:56px;height:56px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fffaf0;background:linear-gradient(145deg,var(--color-accent, #e8a33d),var(--color-accent-strong, #cf8a1f));box-shadow:var(--shadow-lift, 0 6px 18px rgba(122, 82, 35, .2));transition:transform .15s ease,box-shadow .15s ease}.album-fab:active{transform:scale(.9);box-shadow:0 3px 10px #7a52233d}.album-modal-error{margin:2px 0 0;font-size:12.5px;color:#b4553f}.album-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#180e06eb;display:flex;align-items:center;justify-content:center;outline:none;animation:album-viewer-fade-in .15s ease}@keyframes album-viewer-fade-in{0%{opacity:0}to{opacity:1}}.album-viewer-image{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 30px #00000080;-webkit-user-select:none;user-select:none}.album-viewer-close{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:16px;width:36px;height:36px;border:none;border-radius:50%;background:#ffffff24;color:#fffaf0;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.album-viewer-close:active{background:#ffffff3d}.album-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:#ffffff24;color:#fffaf0;display:flex;align-items:center;justify-content:center}.album-viewer-nav:active{background:#ffffff3d}.album-viewer-nav-prev{left:10px}.album-viewer-nav-next{right:10px}.album-viewer-body{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(560px,92vw);max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0 14px}.album-viewer-image-compact{flex-shrink:0;max-width:100%;max-height:46vh}.album-viewer-memory{display:flex;flex-direction:column;gap:10px;width:100%}.album-memory-title{margin:0;text-align:center;font-family:var(--font-round);font-size:18px;font-weight:400;letter-spacing:.6px;line-height:1.5;color:var(--color-paper)}.album-memory-card{padding:12px 14px 14px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-soft);box-shadow:var(--shadow-soft)}.album-memory-card-desc{background:color-mix(in srgb,var(--color-petal-you-tip) 45%,var(--color-paper));border-color:color-mix(in srgb,var(--color-petal-you) 34%,var(--color-border-soft))}.album-memory-card-label{display:block;margin-bottom:5px;font-size:11.5px;letter-spacing:.3px;color:var(--color-ink-soft)}.album-memory-card-label-btn{padding:0;border:none;background:transparent;font-family:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.album-memory-card-label-btn:active{opacity:.6}.album-memory-card-text{margin:0;font-size:13.5px;line-height:1.8;color:var(--color-ink);white-space:pre-wrap}.album-memory-card-text-quote{font-style:italic}.album-memory-fold{align-self:center;padding:4px 6px;border:none;background:transparent;font-size:12.5px;letter-spacing:.3px;color:var(--color-paper);color:color-mix(in srgb,var(--color-paper) 75%,transparent);-webkit-tap-highlight-color:transparent}.album-memory-fold:active{opacity:.6}.album-upload-toast-list{position:absolute;right:20px;bottom:96px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:15;pointer-events:none}.album-upload-toast{display:flex;align-items:center;gap:8px;background:#fffaf0f2;border-radius:999px;padding:4px 14px 4px 4px;box-shadow:var(--shadow-soft, 0 2px 10px rgba(122, 82, 35, .14));font-size:12.5px;color:var(--color-ink-soft)}.album-upload-thumb{position:relative;width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.album-upload-thumb img{width:100%;height:100%;object-fit:cover}.album-upload-spinner{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center}.album-upload-spinner:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:album-upload-spin .7s linear infinite}@keyframes album-upload-spin{to{transform:rotate(360deg)}}.album-upload-error-toast{position:absolute;left:16px;right:16px;bottom:96px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fdecea;color:#b4553f;border-radius:12px;padding:10px 14px;font-size:12.5px;box-shadow:var(--shadow-soft, 0 2px 10px rgba(122, 82, 35, .14));z-index:15}.album-upload-error-close{flex-shrink:0;border:none;background:transparent;color:inherit;font-size:16px;line-height:1;padding:0 2px}.life-page{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--color-kraft)}.life-page-canvas{position:relative;width:100%;min-height:100%;padding-top:14px;padding-bottom:2px;display:flex;flex-direction:column;gap:8px}.life-bg-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.life-row{position:relative;z-index:1;display:flex;align-items:flex-start;gap:4%}.life-row-3{justify-content:center}.life-slot{position:relative;flex:none;display:flex;flex-direction:column}.life-slot-calendar{width:44%}.life-slot-album{width:52%}.life-slot-diary{width:54%}.life-slot-moments{width:42%}.life-slot-budget{width:92%}.life-deco{display:flex;align-items:center;gap:4px;margin-bottom:2px;color:var(--color-ink);pointer-events:none}.life-slot-album .life-deco,.life-slot-diary .life-deco{justify-content:flex-start}.life-slot-calendar .life-deco{justify-content:flex-end}.life-slot-calendar .life-deco-label{order:1}.life-slot-calendar .life-deco-icon{order:2}.life-slot-calendar .life-deco-arrow{order:3}.life-slot-moments .life-deco{flex-direction:row-reverse;justify-content:flex-start}.life-slot-budget .life-deco{justify-content:center}.life-deco-icon{height:26px;width:auto;flex:none;display:block;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.life-deco-label{font-family:var(--font-hand);font-size:22px;line-height:1.1;font-weight:700;white-space:nowrap}.life-deco-arrow{width:40px;height:auto;flex:none;display:block;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.life-deco-arrow-calendar,.life-deco-arrow-album,.life-deco-arrow-diary,.life-deco-arrow-moments{align-self:flex-end}.life-deco-arrow-calendar{transform:scale(-1) rotate(-50deg)}.life-deco-arrow-album{transform:scale(-1) rotate(40deg)}.life-deco-arrow-diary{transform:rotate(35deg)}.life-deco-arrow-moments{transform:rotate(-75deg)}.life-deco-arrow-budget{transform:rotate(90deg)}.life-card{position:relative;width:100%;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none;transition:opacity .12s ease}.life-card:active{opacity:.82}.life-card-photo{position:absolute;top:10%;right:10%;bottom:10%;left:10%;z-index:1;overflow:hidden}.life-card-photo-img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.life-card-moments .life-card-photo-img{border-radius:50%}.life-card-diary .life-card-photo,.life-card-budget .life-card-photo{top:0;right:0;bottom:0;left:0;margin:auto;aspect-ratio:1439 / 1093;max-width:100%;max-height:100%}.life-card-diary .life-card-photo-img,.life-card-budget .life-card-photo-img{transform:scale(.8)}.life-card-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.life-card-calendar{aspect-ratio:1214 / 1295;transform:rotate(-2deg)}.life-card-album{aspect-ratio:1295 / 1215;transform:rotate(1.5deg)}.life-card-diary{aspect-ratio:1439 / 1093;transform:rotate(-1.5deg)}.life-card-moments{aspect-ratio:1295 / 1215;transform:rotate(2deg)}.life-card-budget{aspect-ratio:1439 / 1093;transform:rotate(-1deg)}.life-slot-budget .life-card{margin-top:-20px}.setting-page{height:100%;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#fdf6ea,#f7ecd9 60%,#f3e4c4)}.setting-page-inner{max-width:560px;margin:0 auto;padding:22px 16px calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.setting-page-heading{margin:4px 0 0;font-family:var(--font-round);font-size:24px;color:var(--color-ink);letter-spacing:1px}.setting-page-sub{margin:0 0 4px;font-size:12.5px;color:var(--color-ink-soft)}.setting-page-heading-compact{margin-top:0;font-size:20px}.setting-menu-list{display:flex;flex-direction:column;gap:12px;margin-top:6px}.setting-menu-item{display:flex;align-items:center;gap:14px;width:100%;border:none;background:#fffefb;border-radius:20px;padding:16px;box-shadow:0 4px 18px #7a52231f;cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .15s ease}.setting-menu-item:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7a522329}.setting-menu-item:active{transform:translateY(0)}.setting-menu-icon{flex-shrink:0;width:44px;height:44px;border-radius:14px;background:var(--color-accent-soft);display:flex;align-items:center;justify-content:center;font-size:22px}.setting-menu-texts{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.setting-menu-title{font-family:var(--font-round);font-size:15.5px;color:var(--color-ink);letter-spacing:.3px}.setting-menu-subtitle{font-size:11.5px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-menu-chevron{flex-shrink:0;width:18px;height:18px;color:var(--color-ink-soft)}.setting-logout-btn{align-self:flex-start;border:1px solid var(--color-warm-red-ink);background:transparent;color:var(--color-warm-red-ink);border-radius:999px;padding:9px 20px;font-family:var(--font-round);font-size:13.5px;letter-spacing:.5px;transition:background .15s ease,opacity .15s ease}.setting-logout-btn:hover:not(:disabled){background:var(--color-warm-red-soft)}.setting-logout-btn:disabled{opacity:.6;cursor:not-allowed}.setting-subpage-header{display:flex;align-items:flex-start;gap:12px;margin:4px 0 0}.setting-back-button{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:#fffefb;box-shadow:var(--shadow-soft);color:var(--color-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease}.setting-back-button:hover{transform:translate(-1px)}.setting-back-button svg{width:18px;height:18px}.setting-card{background:#fffefb;border-radius:22px;box-shadow:0 4px 18px #7a52231f;padding:18px 18px 20px}.setting-card-title{margin:0 0 14px;font-family:var(--font-round);font-size:16px;color:var(--color-ink);letter-spacing:.5px;display:flex;align-items:center;gap:8px}.setting-card-title:before{content:"";display:inline-block;width:6px;height:16px;border-radius:4px;background:var(--color-accent)}.setting-divider{height:1px;margin:16px 0;background:var(--color-border-soft)}.setting-group{display:flex;flex-direction:column;gap:10px}.setting-group-label{font-size:12.5px;font-weight:700;color:var(--color-accent-strong);letter-spacing:.3px}.setting-hint{margin:2px 0 0;font-size:11.5px;color:var(--color-ink-soft);line-height:1.5}.setting-row{display:flex;align-items:flex-start;gap:14px}.setting-row-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.setting-field{display:flex;flex-direction:column;gap:5px}.setting-field-label{font-size:11.5px;color:var(--color-ink-soft)}.setting-field-hint{font-size:10.5px;color:var(--color-ink-faint);line-height:1.4}.setting-input{border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:var(--radius-md);padding:8px 12px;font-size:14px;color:var(--color-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.setting-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8a33d2e}.setting-swatch-row{display:flex;flex-wrap:wrap;gap:12px}.setting-swatch{width:40px;height:40px;border-radius:50%;border:2px solid var(--color-border-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .15s ease,border-color .15s ease;flex-shrink:0}.setting-swatch:hover{transform:translateY(-1px)}.setting-swatch.is-active{border-color:var(--color-accent-strong);box-shadow:0 0 0 3px #cf8a1f38}.setting-swatch-check{width:16px;height:16px;color:var(--color-ink);filter:drop-shadow(0 1px 1px rgba(255,255,255,.7))}.setting-swatch-upload{background:var(--color-bg-soft);color:var(--color-ink-soft)}.setting-swatch-upload-icon{width:18px;height:18px}.setting-swatch-image{width:100%;height:100%;object-fit:cover}.setting-bubble-style-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.setting-bubble-style-option{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;padding:6px;border:1.5px solid transparent;border-radius:12px;background:var(--color-bg-soft);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.setting-bubble-style-option:hover{transform:translateY(-1px)}.setting-bubble-style-option.is-active{border:1.5px solid rgb(198,168,120)}.setting-bubble-style-preview{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;max-width:82px;height:52px;padding:7px 6px;border-radius:8px;overflow:hidden;background-color:#faf6f0;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 11px,var(--color-border-soft) 12px)}.setting-bubble-style-bubble{display:block;height:15px;border-radius:8px}.setting-bubble-style-bubble.is-ai{width:68%;align-self:flex-start;border-top-left-radius:4px}.setting-bubble-style-bubble.is-me{width:54%;align-self:flex-end;border-top-right-radius:4px}.setting-bubble-style-bubble.bubble-style-tape,.setting-bubble-style-bubble.bubble-style-note,.setting-bubble-style-bubble.bubble-style-stitch{position:relative}.setting-bubble-style-bubble.bubble-style-tape{margin-top:0;overflow:visible}.setting-bubble-style-bubble.bubble-style-tape:after{content:"";position:absolute;top:-4px;left:50%;width:20px;height:6px;transform:translate(-50%) rotate(-4deg);background:#ffffff8c;border-left:1px dashed rgba(198,168,120,.4);border-right:1px dashed rgba(198,168,120,.4);pointer-events:none}.setting-bubble-style-bubble.bubble-style-note:after{content:"";position:absolute;right:1px;bottom:1px;width:7px;height:7px;border-bottom-right-radius:4px;background:linear-gradient(135deg,transparent 0 45%,rgba(255,255,255,.75) 45% 55%,var(--bubble-tint-dark, rgba(198, 168, 120, .9)) 55% 100%);pointer-events:none}.setting-bubble-style-bubble.bubble-style-stitch:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px dashed var(--bubble-tint-dark, rgba(198, 168, 120, .9));border-radius:5px;pointer-events:none}.setting-bubble-style-label{font-size:12px;color:var(--color-ink-soft)}.setting-bubble-style-option.is-active .setting-bubble-style-label{color:var(--color-accent-strong);font-weight:700}.setting-input-group{position:relative;display:flex;align-items:center}.setting-input-with-action{width:100%;padding-right:40px}.setting-input-action{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--color-ink-soft);display:flex;align-items:center;justify-content:center}.setting-input-action:hover{background:var(--color-accent-soft);color:var(--color-ink)}.setting-input-action svg{width:18px;height:18px}.setting-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%238a6b4e' d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:34px}.setting-select:disabled{opacity:.6;cursor:not-allowed}.setting-test-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;border:none;border-radius:999px;padding:10px 20px;background:var(--color-accent);color:#fffaf0;font-family:var(--font-round);font-size:14px;letter-spacing:.5px;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.setting-test-btn svg{width:17px;height:17px}.setting-test-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lift)}.setting-test-btn:disabled{opacity:.7;cursor:not-allowed}.setting-test-status{margin:8px 0 0;font-size:12.5px;line-height:1.5}.setting-test-status-testing{color:var(--color-ink-soft)}.setting-test-status-success{color:#3f7d4f}.setting-test-status-error{color:#c14c3a}.setting-row-toggle{align-items:center;justify-content:space-between;gap:16px}.setting-row-toggle .setting-row-fields{gap:4px}.setting-row-toggle .setting-field-hint{margin:0}.setting-toggle{flex-shrink:0;width:46px;height:27px;border:none;border-radius:999px;padding:0;background:var(--color-border-soft);position:relative;cursor:pointer;transition:background-color .2s ease}.setting-toggle.is-on{background:var(--color-accent)}.setting-toggle-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fffefb;box-shadow:0 1px 3px #7a522359;transition:transform .2s ease}.setting-toggle.is-on .setting-toggle-knob{transform:translate(19px)}.home-bg-preview{flex-shrink:0;width:64px;height:64px;border-radius:14px;overflow:hidden;background:var(--color-bg-soft);border:1px solid var(--color-border-soft);display:flex;align-items:center;justify-content:center}.home-bg-preview-image{width:100%;height:100%;object-fit:cover}.home-bg-preview-empty{font-size:11px;color:var(--color-ink-faint)}.setting-upload-btn{align-self:flex-start;display:inline-flex;align-items:center;border:none;border-radius:999px;padding:8px 18px;background:var(--color-accent);color:#fffaf0;font-family:var(--font-round);font-size:13px;letter-spacing:.3px;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.setting-upload-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift)}.setting-upload-btn.is-disabled{opacity:.7;cursor:not-allowed;pointer-events:none}.setting-mode-btn-group{display:flex;flex-wrap:wrap;gap:8px}.setting-mode-btn{border:1px solid var(--color-border);background:var(--color-bg-soft);color:var(--color-ink-soft);border-radius:999px;padding:6px 16px;font-size:12.5px;transition:background .15s ease,color .15s ease,border-color .15s ease}.setting-mode-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fffaf0}.setting-slider{width:100%;accent-color:var(--color-accent)}.setting-reset-btn{align-self:flex-start;border:1px solid var(--color-border);background:transparent;color:var(--color-ink-soft);border-radius:999px;padding:7px 16px;font-size:12.5px;transition:border-color .15s ease,color .15s ease,opacity .15s ease}.setting-reset-btn:hover:not(:disabled){border-color:var(--color-accent-strong);color:var(--color-accent-strong)}.setting-reset-btn:disabled{opacity:.5;cursor:not-allowed}.mcp-server-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.mcp-server-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--color-border-soft);background:var(--color-bg-soft);border-radius:16px;padding:12px 14px}.mcp-server-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;margin-top:6px;box-shadow:0 0 0 3px #0000000a}.mcp-server-dot.is-online{background:#3f9d5c}.mcp-server-dot.is-offline{background:#d9694b}.mcp-server-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mcp-server-name-row{display:flex;align-items:center;gap:8px}.mcp-server-name{font-size:14.5px;font-weight:700;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-server-status-text{flex-shrink:0;font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px}.mcp-server-status-text.is-online{color:#3f9d5c;background:#3f9d5c1f}.mcp-server-status-text.is-offline{color:#d9694b;background:#d9694b1f}.mcp-server-url{font-size:11.5px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-server-meta{font-size:11px;color:var(--color-ink-faint)}.mcp-server-actions{flex-shrink:0;display:flex;flex-direction:column;gap:6px}.mcp-server-action-btn{border:1px solid var(--color-border);background:#fffefb;color:var(--color-ink-soft);border-radius:999px;padding:5px 14px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.mcp-server-action-btn svg{width:15px;height:15px}.mcp-server-action-btn:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-strong)}.mcp-server-action-btn:disabled{opacity:.55;cursor:not-allowed}.mcp-server-action-btn.danger{color:#c14c3a}.mcp-server-action-btn.danger:hover:not(:disabled){background:#fbe3dc;border-color:#e8b6a5}.mcp-server-add-btn{width:100%;padding:12px;border:1px dashed var(--color-accent-soft);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-accent-strong);font-size:14px;font-weight:600}.mcp-server-add-btn:hover{background:#fff;box-shadow:var(--shadow-soft)}.ai-route-list{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.ai-route-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--color-border-soft);background:var(--color-bg-soft);border-radius:16px;padding:14px}.ai-route-key-row{display:flex;align-items:center;gap:10px}.ai-route-key-saved{flex:1;min-width:0;font-size:13px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-route-key-change-btn,.ai-route-key-cancel-btn{flex-shrink:0;border:1px solid var(--color-border);background:#fffefb;color:var(--color-ink-soft);border-radius:999px;padding:5px 14px;font-size:12px}.ai-route-key-change-btn:hover,.ai-route-key-cancel-btn:hover{background:var(--color-accent-soft);color:var(--color-accent-strong)}.ai-route-key-edit{align-items:center}.ai-route-key-edit .setting-input{flex:1}.ai-route-card-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-route-action-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--color-border);background:#fffefb;color:var(--color-ink-soft);border-radius:999px;padding:6px 14px;font-size:12.5px}.ai-route-action-btn svg{width:14px;height:14px}.ai-route-action-btn:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-strong)}.ai-route-action-btn:disabled{opacity:.6;cursor:not-allowed}.ai-route-action-btn.danger{color:#c14c3a}.ai-route-action-btn.danger:hover:not(:disabled){background:#fbe3dc;border-color:#e8b6a5}.ai-route-add-btn{width:100%;padding:12px;border:1px dashed var(--color-accent-soft);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-accent-strong);font-size:14px;font-weight:600}.ai-route-add-btn:hover{background:#fff;box-shadow:var(--shadow-soft)}.ai-use-list{display:flex;flex-direction:column;gap:14px}.ai-use-row{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--color-border-soft);padding-bottom:14px}.ai-use-row:last-child{border-bottom:none;padding-bottom:0}.ai-use-row-label{font-size:13px;font-weight:700;color:var(--color-ink)}.ai-use-row-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ai-use-route-select{flex:1 1 120px;min-width:100px}.ai-use-test-btn{padding:8px 16px;font-size:13px}.ai-model-picker{position:relative;flex:2 1 160px;min-width:140px}.ai-model-picker .setting-input{width:100%}.ai-model-picker-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:#fffefb;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lift);padding:4px;display:flex;flex-direction:column}.ai-model-picker-option{text-align:left;border:none;background:transparent;color:var(--color-ink);padding:7px 10px;border-radius:8px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-model-picker-option:hover{background:var(--color-accent-soft)}.ai-save-btn{width:100%;border:1px solid var(--color-border);background:var(--color-bg-soft);color:var(--color-ink-soft);border-radius:999px;padding:13px;font-family:var(--font-round);font-size:15px;letter-spacing:.5px;transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease}.ai-save-btn.is-dirty{background:var(--color-accent);border-color:var(--color-accent);color:#fffaf0;box-shadow:var(--shadow-soft)}.ai-save-btn.is-dirty:hover:not(:disabled){box-shadow:var(--shadow-lift)}.ai-save-btn:disabled{opacity:.7;cursor:not-allowed}.ai-legacy-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;padding:0;font-family:var(--font-round);font-size:15px;color:var(--color-ink-soft);letter-spacing:.3px}.ai-legacy-chevron{width:16px;height:16px;color:var(--color-ink-faint);transition:transform .15s ease}.ai-legacy-chevron.is-open{transform:rotate(90deg)}.ai-legacy-body{display:flex;flex-direction:column;gap:16px;margin-top:16px}@media (max-width: 360px){.setting-card{padding:16px 14px 18px}.setting-swatch{width:36px;height:36px}}.main-app{height:100vh;height:100dvh;width:100%;display:flex;flex-direction:column;background:var(--color-cream);overflow:hidden}.main-app-content{flex:1;min-height:0;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}.tab-pane{display:none;height:100%;width:100%}.tab-pane-active{display:block}.listen-overlay[data-listen-theme=warm]{--lt-bg: linear-gradient(180deg, #fdf8f1 0%, #faeee4 46%, #f3dcd3 100%);--lt-veil: linear-gradient(180deg, rgba(253, 248, 241, .8) 0%, rgba(250, 238, 228, .86) 46%, rgba(243, 220, 211, .92) 100%);--lt-card: rgba(255, 253, 249, .76);--lt-card-strong: #fffdf8;--lt-text: #3b2d24;--lt-text-soft: #76655a;--lt-text-faint: #a08e7f;--lt-accent: #e8a33d;--lt-accent-weak: rgba(232, 163, 61, .14);--lt-accent-ink: #94651a;--lt-on-accent: #4a3005;--lt-line: rgba(90, 76, 60, .16);--lt-line-strong: rgba(90, 76, 60, .28);--lt-shadow: 0 4px 16px rgba(120, 90, 60, .12);--lt-shadow-lift: 0 8px 24px rgba(120, 90, 60, .18);--lt-danger: #c14c3a;--lt-danger-weak: rgba(193, 76, 58, .12);--lt-lyric-dim: rgba(59, 45, 36, .32);--lt-lyric-near: rgba(59, 45, 36, .58);--lt-note-bg: #fdf1cf;--lt-note-ink: #5f4f33;--lt-pin: #d07f2a;--lt-mask: rgba(60, 50, 40, .34);--lt-bg-blur: 40px}.listen-overlay[data-listen-theme=night]{--lt-bg: linear-gradient(180deg, #1e2655 0%, #161d40 46%, #0b0f27 100%);--lt-veil: linear-gradient(180deg, rgba(30, 38, 85, .84) 0%, rgba(22, 29, 64, .88) 46%, rgba(11, 15, 39, .93) 100%);--lt-card: rgba(255, 255, 255, .08);--lt-card-strong: #242c56;--lt-text: #f2ece1;--lt-text-soft: #bcc4de;--lt-text-faint: #8d97b6;--lt-accent: #f0c278;--lt-accent-weak: rgba(240, 194, 120, .16);--lt-accent-ink: #f6d9a4;--lt-on-accent: #1d2140;--lt-line: rgba(255, 255, 255, .14);--lt-line-strong: rgba(255, 255, 255, .26);--lt-shadow: 0 4px 16px rgba(0, 0, 0, .32);--lt-shadow-lift: 0 8px 26px rgba(0, 0, 0, .42);--lt-danger: #ff9f8c;--lt-danger-weak: rgba(255, 159, 140, .16);--lt-lyric-dim: rgba(242, 236, 225, .34);--lt-lyric-near: rgba(242, 236, 225, .62);--lt-note-bg: #f0e2bb;--lt-note-ink: #574a30;--lt-pin: #bd7d26;--lt-mask: rgba(4, 7, 20, .58);--lt-bg-blur: 40px}.listen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;overflow:hidden;background:var(--lt-bg);color:var(--lt-text);animation:kc-modal-fade-in .18s ease}.listen-overlay[data-listen-theme=night]:before,.listen-overlay[data-listen-theme=night] .listen-library:before,.listen-overlay[data-listen-theme=night] .listen-sub:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 12% 14%,#ffffff8c,#fff0),radial-gradient(1.1px 1.1px at 28% 8%,#fff6,#fff0),radial-gradient(1.6px 1.6px at 46% 19%,#ffffff80,#fff0),radial-gradient(1.1px 1.1px at 68% 11%,#ffffff61,#fff0),radial-gradient(1.4px 1.4px at 84% 22%,#ffffff75,#fff0),radial-gradient(1.1px 1.1px at 8% 38%,#ffffff4d,#fff0),radial-gradient(1.3px 1.3px at 92% 44%,#ffffff57,#fff0),radial-gradient(1.1px 1.1px at 34% 52%,#ffffff3d,#fff0),radial-gradient(1.5px 1.5px at 74% 63%,#ffffff42,#fff0),radial-gradient(1.1px 1.1px at 18% 72%,#fff3,#fff0)}.listen-bg{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;object-fit:cover;pointer-events:none;filter:blur(var(--lt-bg-blur)) saturate(1.15);transform:scale(1.1);opacity:0;transition:opacity .4s ease}.listen-bg.is-ready{opacity:1}.listen-bg-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--lt-veil)}.listen-page{position:relative;width:100%;max-width:560px;height:100%;margin:0 auto;display:flex;flex-direction:column;padding:0 18px calc(12px + env(safe-area-inset-bottom));color:var(--lt-text)}.listen-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:14px 0 6px}.listen-header-actions{display:flex;align-items:center;gap:8px}.listen-header-title{font-family:var(--font-round);font-size:15px;letter-spacing:2px;color:var(--lt-text-soft)}.listen-icon-btn{width:36px;height:36px;border:none;border-radius:50%;background:var(--lt-card);box-shadow:var(--lt-shadow);color:var(--lt-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.listen-icon-btn:disabled{opacity:.4}.listen-icon-btn svg{width:18px;height:18px}.listen-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.listen-body-idle{overflow-y:auto;-webkit-overflow-scrolling:touch;align-items:center;gap:14px;padding-bottom:8px}.listen-pair{flex-shrink:0;width:100%;display:flex;flex-direction:column;align-items:center;padding:10px 2px 4px;text-align:center}.listen-pair-avatars{display:flex;align-items:center;justify-content:center}.listen-pair-avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--lt-accent);border:2px solid var(--lt-card-strong);box-shadow:var(--lt-shadow)}.listen-pair-avatar.is-blank{display:block;background:var(--lt-accent)}.listen-pair-link{position:relative;width:46px;height:2px;margin:0 -2px;flex-shrink:0;background:#d9534f;border-radius:2px}.listen-pair-heart{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);color:#d9534f;fill:currentColor;stroke:none}.listen-pair-headline{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--lt-text)}.listen-pair-sub{margin-top:5px;font-size:11.5px;line-height:1.5;color:var(--lt-text-soft)}.listen-pair-sub.is-error{color:var(--lt-danger)}.listen-pair-slots{display:flex;gap:2px;width:min(56%,180px);height:2px;margin-top:8px}.listen-pair-slot{flex-basis:0;border-radius:2px;background:var(--lt-accent);opacity:.75}.listen-pair-slot:nth-child(2n){background:var(--lt-text-faint);opacity:.55}.listen-vinyl{flex-shrink:0;display:flex;flex-direction:column;align-items:center;align-self:center;margin:6px 0 2px}.listen-vinyl-lg{--vinyl: min(56vw, 220px)}.listen-vinyl-md{--vinyl: min(40vw, 150px)}.listen-vinyl-stage{position:relative;width:var(--vinyl);height:var(--vinyl)}.listen-vinyl-disc{position:absolute;left:0;bottom:0;width:88%;height:88%;border-radius:50%;background-color:#15120f;background-image:radial-gradient(circle at 34% 28%,#ffffff29,#fff0 54%),repeating-radial-gradient(circle at 50% 50%,#ffffff12 0,#ffffff12 1px,#0000 1px,#0000 5px);box-shadow:var(--lt-shadow-lift),inset 0 0 0 1px #ffffff14;animation:listen-vinyl-spin 20s linear infinite;animation-play-state:paused}.listen-vinyl.is-playing .listen-vinyl-disc{animation-play-state:running}@keyframes listen-vinyl-spin{to{transform:rotate(360deg)}}.listen-vinyl-label{position:absolute;left:50%;top:50%;width:42%;height:42%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;background:var(--lt-accent)}.listen-vinyl-cover{width:100%;height:100%;object-fit:cover;display:block}.listen-vinyl-hole{position:absolute;left:50%;top:50%;width:6%;height:6%;transform:translate(-50%,-50%);border-radius:50%;background:#15120f;box-shadow:0 0 0 2px #00000038}.listen-vinyl-arm{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.listen-vinyl-arm g{transform:rotate(-22deg);transform-origin:90px 10px;transform-box:view-box;transition:transform .5s ease}.listen-vinyl.is-playing .listen-vinyl-arm g{transform:rotate(0)}.listen-vinyl-pivot{fill:var(--lt-text-faint)}.listen-vinyl-rod{stroke:var(--lt-text-soft);stroke-width:3;stroke-linecap:round}.listen-vinyl-head{fill:var(--lt-text-soft)}.listen-vinyl-caption{margin:12px 0 0;font-size:13px;color:var(--lt-text-soft)}@media (prefers-reduced-motion: reduce){.listen-vinyl-disc{animation:none}.listen-vinyl-arm g{transition:none}}.listen-resume{flex-shrink:0;width:100%;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:var(--radius-md);background:var(--lt-card);box-shadow:var(--lt-shadow)}.listen-resume-text{flex:1;min-width:0;font-size:13px;color:var(--lt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-resume-play{flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;background:var(--lt-accent);color:var(--lt-on-accent);display:flex;align-items:center;justify-content:center}.listen-resume-play svg{width:18px;height:18px}.listen-sticky{position:relative;display:block;width:calc(100% - 8px);margin:10px 4px 4px;padding:13px 14px 12px 22px;border:none;text-align:left;border-radius:3px 14px 5px 12px;background:var(--lt-note-bg);color:var(--lt-note-ink);box-shadow:0 3px 12px #32241238;transform:rotate(-1.1deg)}.listen-sticky-pin{position:absolute;left:3px;top:-8px;width:17px;height:17px;color:var(--lt-pin);fill:currentColor;stroke:none;transform:rotate(-14deg);filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}.listen-sticky-song{display:block;width:100%;padding:0;border:none;background:transparent;text-align:left;font-size:14.5px;font-weight:700;color:var(--lt-note-ink)}.listen-sticky-artist{margin-left:6px;font-size:12px;font-weight:400;opacity:.8}.listen-sticky-reason{display:block;margin:7px 0 0;font-size:12.5px;line-height:1.65;color:var(--lt-note-ink);white-space:pre-wrap;word-break:break-word}.listen-sticky-more{display:block;margin:8px 0 0 auto;padding:2px 0;border:none;background:transparent;font-size:12px;color:var(--lt-pin);text-decoration:underline}.listen-sticky-row{margin:-2px 4px 10px 14px;padding:10px 12px 10px 20px;transform:rotate(-.7deg)}.listen-sticky-row .listen-sticky-reason{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.listen-sticky-row.is-open .listen-sticky-reason{display:block;overflow:visible}.listen-daily-peek{flex-shrink:0;align-self:center;margin-top:4px;min-height:40px;padding:0 18px;border:1px dashed var(--lt-line-strong);border-radius:999px;background:transparent;color:var(--lt-text-soft);font-size:13px}.listen-song{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:12px 2px 10px}.listen-song-meta{min-width:0;flex:1;text-align:center}.listen-song-spacer{flex-shrink:0;width:34px;visibility:hidden}.listen-song-add{flex-shrink:0;width:34px;height:34px;border:none;border-radius:50%;background:var(--lt-card);box-shadow:var(--lt-shadow);color:var(--lt-text);display:flex;align-items:center;justify-content:center}.listen-song-add svg{width:17px;height:17px}.listen-song-name{font-size:17px;font-weight:700;color:var(--lt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-song-artist{margin-top:3px;font-size:12.5px;color:var(--lt-text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-error{flex-shrink:0;margin-bottom:8px;padding:8px 12px;border-radius:var(--radius-md);background:var(--lt-card);color:var(--lt-danger);font-size:12.5px;line-height:1.5}.listen-hint{flex-shrink:0;margin-bottom:8px;padding:7px 12px;border-radius:var(--radius-md);background:var(--lt-card);color:var(--lt-text-soft);font-size:12.5px;line-height:1.5}.listen-lyric{position:relative;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 86%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 86%,transparent 100%)}.listen-lyric-inner{padding:30% 4px}.listen-lyric-line{padding:9px 6px;text-align:center;color:var(--lt-lyric-dim);font-size:15px;line-height:1.5;transition:color .3s ease,font-size .3s ease,opacity .3s ease;cursor:pointer}.listen-lyric-line.is-near{color:var(--lt-lyric-near);font-size:16px}.listen-lyric-line.is-active{color:var(--lt-text);font-size:19px;font-weight:700}.listen-lyric-trans{margin-top:3px;font-size:12px;font-weight:400;color:inherit;opacity:.75}.listen-lyric-empty{padding:30px 0;text-align:center;font-size:13.5px;color:var(--lt-text-soft)}.listen-controls{flex-shrink:0;padding:10px 2px 4px}.listen-progress{display:flex;align-items:center;gap:10px}.listen-time{width:40px;flex-shrink:0;font-size:11.5px;color:var(--lt-text-soft);font-variant-numeric:tabular-nums}.listen-progress .listen-time:last-child{text-align:right}.listen-range{flex:1;min-width:0;height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.listen-range::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--lt-line-strong)}.listen-range::-moz-range-track{height:3px;border-radius:3px;background:var(--lt-line-strong)}.listen-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--lt-accent);box-shadow:0 1px 4px #0000004d}.listen-range::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:var(--lt-accent)}.listen-range:disabled{opacity:.45}.listen-buttons{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;padding:10px 0 6px}.listen-ctrl{width:44px;height:44px;border:none;border-radius:50%;background:transparent;color:var(--lt-text);display:flex;align-items:center;justify-content:center}.listen-ctrl:disabled{opacity:.35}.listen-ctrl svg{width:24px;height:24px}.listen-ctrl-main{width:58px;height:58px;background:var(--lt-accent);color:var(--lt-on-accent);box-shadow:var(--lt-shadow-lift)}.listen-ctrl-main svg{width:28px;height:28px}.listen-note{flex-shrink:0;padding-top:4px}.listen-note-hint{padding:0 4px 6px;font-size:11.5px;color:var(--lt-text-soft)}.listen-note-bar{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:22px;background:var(--lt-card);box-shadow:var(--lt-shadow)}.listen-note-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--lt-text)}.listen-note-input::placeholder{color:var(--lt-text-faint)}.listen-note-send{flex-shrink:0;width:34px;height:34px;border:none;border-radius:50%;background:var(--lt-accent);color:var(--lt-on-accent);display:flex;align-items:center;justify-content:center}.listen-note-send:disabled{background:var(--lt-line);color:var(--lt-text-faint)}@media (max-height: 720px){.listen-vinyl-md{--vinyl: min(34vw, 124px)}.listen-pair{padding:6px 2px 2px}.listen-body:not(.listen-body-idle) .listen-pair-avatar{width:56px;height:56px}.listen-pair-headline{margin-top:8px}.listen-song{padding:8px 2px 6px}.listen-buttons{padding:6px 0 2px}}@media (max-height: 620px){.listen-vinyl-md{--vinyl: min(28vw, 104px)}.listen-body:not(.listen-body-idle) .listen-pair-headline,.listen-body:not(.listen-body-idle) .listen-pair-sub,.listen-body:not(.listen-body-idle) .listen-pair-slots{display:none}}@media (max-height: 540px){.listen-vinyl-md{--vinyl: min(24vw, 84px)}.listen-body:not(.listen-body-idle) .listen-pair{display:none}}.listen-library,.listen-sub{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:var(--lt-bg);color:var(--lt-text);animation:kc-modal-fade-in .15s ease}.listen-sub-top{z-index:3}.listen-library-top{flex-shrink:0;display:flex;align-items:center;gap:8px}.listen-tabs{flex:1;min-width:0;display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--lt-card)}.listen-tab{flex:1;min-width:0;border:none;border-radius:999px;padding:7px 4px;background:transparent;color:var(--lt-text-soft);font-size:13px}.listen-tab.is-active{background:var(--lt-accent);color:var(--lt-on-accent);font-weight:600;box-shadow:var(--lt-shadow)}.listen-library-close{flex-shrink:0;border:none;background:transparent;color:var(--lt-text-soft);font-size:12.5px;padding:7px 4px}.listen-charts{flex-shrink:0;display:flex;gap:6px;margin-top:10px;padding-bottom:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.listen-charts::-webkit-scrollbar{display:none}.listen-chart{flex-shrink:0;border:none;border-radius:999px;padding:6px 13px;background:var(--lt-card);color:var(--lt-text-soft);font-size:12.5px;white-space:nowrap}.listen-chart.is-active{background:var(--lt-accent);color:var(--lt-on-accent);font-weight:600;box-shadow:var(--lt-shadow)}.listen-chart-stale{flex-shrink:0;margin-top:10px;padding:8px 12px;border-radius:var(--radius-md);background:var(--lt-line);color:var(--lt-text-soft);font-size:12px;line-height:1.6}.listen-sub-head{flex-shrink:0;display:flex;align-items:center;gap:8px}.listen-sub-back{flex-shrink:0;border:none;background:transparent;color:var(--lt-text-soft);font-size:12.5px;padding:7px 2px}.listen-sub-title{flex:1;min-width:0;text-align:center;font-size:14.5px;font-weight:600;color:var(--lt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-search-bar{flex-shrink:0;display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 8px 6px 12px;border-radius:var(--radius-lg);background:var(--lt-card);box-shadow:var(--lt-shadow)}.listen-search-icon{width:16px;height:16px;flex-shrink:0;color:var(--lt-text-faint)}.listen-search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--lt-text)}.listen-search-input::placeholder{color:var(--lt-text-faint)}.listen-search-go{flex-shrink:0;border:none;border-radius:14px;padding:7px 12px;font-size:12.5px;background:var(--lt-accent);color:var(--lt-on-accent)}.listen-search-go:disabled{background:var(--lt-line);color:var(--lt-text-faint)}.listen-list-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:0 4px}.listen-list-head-text{font-size:12.5px;color:var(--lt-text-soft)}.listen-list-refresh{width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--lt-text-soft);display:flex;align-items:center;justify-content:center}.listen-list-refresh:disabled{opacity:.4}.listen-list-refresh svg{width:15px;height:15px}.listen-list-error{flex-shrink:0;display:flex;align-items:center;gap:10px;margin-top:10px;padding:0 4px;font-size:12.5px;line-height:1.5;color:var(--lt-danger)}.listen-retry{flex-shrink:0;border:none;border-radius:12px;padding:5px 12px;background:var(--lt-danger-weak);color:var(--lt-danger);font-size:12px}.listen-daily-note{flex-shrink:0;margin-top:10px;padding:9px 12px;border-radius:var(--radius-md);background:var(--lt-accent-weak);color:var(--lt-text-soft);font-size:12.5px;line-height:1.6;white-space:pre-wrap}.listen-list{flex:1;min-height:0;margin-top:10px;padding-bottom:6px;overflow-y:auto;-webkit-overflow-scrolling:touch}.listen-row-wrap{margin-bottom:8px}.listen-row{display:flex;align-items:center;margin-bottom:8px;border-radius:var(--radius-md);background:var(--lt-card);box-shadow:var(--lt-shadow)}.listen-row-wrap .listen-row{margin-bottom:0}.listen-row:hover,.listen-row.is-current{background:var(--lt-accent-weak)}.listen-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px;border:none;background:transparent;text-align:left}.listen-row-rank{flex-shrink:0;width:18px;margin-left:2px;text-align:center;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--lt-text-soft)}.listen-row-rank.is-top{color:var(--lt-accent);font-weight:700}.listen-row-cover{width:42px;height:42px;flex-shrink:0;border-radius:10px;object-fit:cover;background:var(--lt-line);font-size:17px}.listen-row-meta{flex:1;min-width:0;display:flex;flex-direction:column}.listen-row-title{display:flex;align-items:center;gap:6px;min-width:0}.listen-row-name{font-size:14px;color:var(--lt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-row-sub{margin-top:2px;font-size:11.5px;color:var(--lt-text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-row-right{flex-shrink:0;font-size:11.5px;color:var(--lt-text-faint);font-variant-numeric:tabular-nums}.listen-row-arrow{width:16px;height:16px;flex-shrink:0;color:var(--lt-text-faint)}.listen-row-add{flex-shrink:0;width:32px;height:32px;margin-right:2px;border:none;border-radius:50%;background:transparent;color:var(--lt-text-soft);display:flex;align-items:center;justify-content:center}.listen-row-add:disabled{opacity:.4}.listen-row-add svg{width:16px;height:16px}.listen-row-danger{color:var(--lt-danger)}.listen-vinyl-mini{display:block;border-radius:50%;background-color:#15120f;background-image:radial-gradient(circle at 50% 50%,#15120f 0,#15120f 7%,#0000 7.5%),radial-gradient(circle at 50% 50%,var(--lt-accent) 0 30%,rgba(0,0,0,0) 30.5%),repeating-radial-gradient(circle at 50% 50%,#ffffff1a 0,#ffffff1a 1px,#0000 1px,#0000 3px);box-shadow:inset 0 0 0 1px #ffffff1a}.listen-tag{flex-shrink:0;padding:1px 6px;border-radius:6px;background:var(--lt-accent-weak);color:var(--lt-accent-ink);font-size:10.5px;line-height:1.6;font-weight:600}.listen-tag-mute{background:var(--lt-line);color:var(--lt-text-soft)}.listen-list-empty{padding:30px 0;text-align:center;font-size:13px;color:var(--lt-text-soft)}.listen-list-empty-sub{margin-top:6px;font-size:11.5px;color:var(--lt-text-faint)}.listen-one-more{display:block;width:100%;margin-top:2px;padding:10px 0;border:none;background:transparent;color:var(--lt-text-faint);font-size:12.5px}.listen-dialog-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--lt-mask);animation:kc-modal-fade-in .15s ease}.listen-dialog{width:100%;max-width:320px;padding:16px;border-radius:var(--radius-lg);background:var(--lt-card-strong);color:var(--lt-text);box-shadow:var(--lt-shadow-lift)}.listen-dialog-wide{max-width:360px;display:flex;flex-direction:column;max-height:80%}.listen-dialog-title{font-size:15px;font-weight:700;color:var(--lt-text)}.listen-dialog-text{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--lt-text-soft)}.listen-dialog-input{width:100%;margin-top:12px;padding:9px 12px;border:1px solid var(--lt-line-strong);border-radius:var(--radius-md);outline:none;background:var(--lt-card);font-size:14px;color:var(--lt-text)}.listen-dialog-input::placeholder{color:var(--lt-text-faint)}.listen-dialog-input:focus{border-color:var(--lt-accent)}.listen-dialog-count{margin-top:4px;text-align:right;font-size:11px;color:var(--lt-text-faint);font-variant-numeric:tabular-nums}.listen-dialog-error{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;line-height:1.5;color:var(--lt-danger)}.listen-dialog-hint{margin-top:8px;font-size:12px;line-height:1.5;color:var(--lt-text-soft)}.listen-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.listen-dialog-btn{border:none;border-radius:14px;padding:8px 16px;background:var(--lt-line);color:var(--lt-text);font-size:13px}.listen-dialog-btn.is-primary{background:var(--lt-accent);color:var(--lt-on-accent)}.listen-dialog-btn.is-danger{background:var(--lt-danger);color:var(--lt-card-strong)}.listen-dialog-btn:disabled{opacity:.45}.listen-ncm{flex-shrink:0;display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;border-radius:999px;background:var(--lt-card);font-size:12px;color:var(--lt-text-soft)}.listen-ncm-text{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listen-ncm-vip{flex-shrink:0}.listen-ncm-btn{flex-shrink:0;border:none;border-radius:999px;padding:5px 12px;background:var(--lt-accent);color:var(--lt-on-accent);font-size:12px}.listen-ncm-quit{flex-shrink:0;border:none;background:transparent;color:var(--lt-text-faint);font-size:11.5px;padding:5px 2px}.listen-qr-mask{z-index:5}.listen-qr-box{display:flex;align-items:center;justify-content:center;width:200px;height:200px;margin:14px auto 0;border-radius:var(--radius-md);background:#fff}.listen-qr-img{width:200px;height:200px;display:block;border-radius:var(--radius-md)}.listen-qr-placeholder{font-size:12px;color:#8a7f74}.listen-qr-tip{margin:10px 0 0;text-align:center;font-size:12.5px;color:var(--lt-text-soft)}.listen-qr-state{margin-top:6px;min-height:18px;text-align:center;font-size:13px;color:var(--lt-text)}.listen-qr-raw{color:var(--lt-text-soft);font-size:12px;word-break:break-all}.listen-add-song{display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px;border-radius:var(--radius-md);background:var(--lt-card)}.listen-add-meta{min-width:0;flex:1}.listen-add-cover{width:36px;height:36px;flex-shrink:0;border-radius:9px;object-fit:cover;background:var(--lt-line);font-size:15px}.listen-add-list{flex:1;min-height:48px;margin-top:10px;overflow-y:auto;-webkit-overflow-scrolling:touch}.listen-add-item{width:100%;display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:8px;border:none;border-radius:var(--radius-md);background:var(--lt-card);text-align:left}.listen-add-item:hover{background:var(--lt-accent-weak)}.listen-add-item:disabled{opacity:.6}.listen-add-new{display:flex;align-items:center;gap:8px;margin-top:6px}.listen-add-new .listen-dialog-input{margin-top:0}.listen-add-newbtn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:6px;padding:9px;border:1px dashed var(--lt-line-strong);border-radius:var(--radius-md);background:transparent;color:var(--lt-text-soft);font-size:13px}.listen-add-newbtn svg{width:15px;height:15px}.listen-sleep{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:flex-end}.listen-sleep-btn{border:1px solid var(--lt-line-strong);border-radius:999px;background:transparent;color:var(--lt-text-soft);padding:4px 10px;font-size:11.5px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer}.listen-sleep-btn.is-on{border-color:var(--lt-accent);color:var(--lt-accent)}.listen-sleep-menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:5;display:flex;flex-direction:column;min-width:110px;padding:4px;border-radius:var(--radius-md);background:var(--lt-bg);box-shadow:var(--lt-shadow-lift)}.listen-sleep-item{border:none;background:transparent;color:var(--lt-text);padding:8px 12px;font-size:13px;text-align:left;border-radius:10px;cursor:pointer}.listen-sleep-item.is-off{color:var(--lt-text-soft)}@media (max-width: 340px){.listen-buttons{gap:18px}.listen-sleep-btn{padding:3px 7px;font-size:11px}}.listen-playlog-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.listen-playlog{width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--lt-bg);box-shadow:var(--lt-shadow-lift)}.listen-playlog-head{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--lt-line);font-size:13px;color:var(--lt-text)}.listen-playlog-head>span{flex:1;min-width:0}.listen-playlog-act{flex-shrink:0;border:1px solid var(--lt-line-strong);border-radius:999px;background:transparent;color:var(--lt-text-soft);padding:3px 10px;font-size:12px;cursor:pointer}.listen-playlog-body{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 12px}.listen-playlog-line{padding:3px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;color:var(--lt-text);word-break:break-all;-webkit-user-select:text;user-select:text}.listen-playlog-empty{padding:12px 0;font-size:12.5px;color:var(--lt-text-soft)}.pp-popup{position:fixed;z-index:1200;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;width:min(420px,calc(100% - 24px));transform:translate(-50%);overflow:hidden;border:1px solid var(--color-border-soft);border-radius:18px;background:var(--color-paper);box-shadow:var(--shadow-lift);color:var(--color-ink);animation:pp-slide-down .24s ease-out}.pp-open{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pp-avatar{flex-shrink:0;width:42px;height:42px;border-radius:50%;object-fit:cover}.pp-body{display:block;flex:1;min-width:0}.pp-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:28px;margin-bottom:5px}.pp-title{font-size:14px;font-weight:600}.pp-count{color:var(--color-ink-soft);font-size:11px;white-space:nowrap}.pp-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:4.8em;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.pp-close{position:absolute;top:7px;right:7px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-ink-soft);font:inherit;font-size:20px;cursor:pointer}.pp-open:focus-visible,.pp-close:focus-visible{outline:2px solid var(--color-border);outline-offset:-3px}@keyframes pp-slide-down{0%{opacity:0;transform:translate(-50%,calc(-100% - 24px))}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.pp-popup{animation:none}}.app-root{height:100vh;height:100dvh;overflow:hidden;position:relative}.splash-door-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;pointer-events:none;overflow:hidden}.splash-door-glow:before{content:"";position:absolute;left:50%;top:68%;width:220vmax;height:220vmax;margin-left:-110vmax;margin-top:-110vmax;border-radius:50%;background:radial-gradient(circle,#fffaf0d9,#fffaf0b3 35%,#fffaf066 60%,#fffaf026 82%,#fffaf000);filter:blur(12px);transform:scale(0);opacity:0;animation:keyDoorGlowExpand 1.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes keyDoorGlowExpand{0%{transform:scale(0);opacity:0}12%{opacity:.85}55%{transform:scale(1);opacity:.85}to{transform:scale(1);opacity:0}}.main-app-fade-in{height:100%;animation:mainAppFadeIn .7s ease-out forwards}@keyframes mainAppFadeIn{0%{opacity:0}to{opacity:1}}.auth-gate{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-gate-card{width:100%;max-width:320px;display:flex;flex-direction:column;gap:12px;background:#fffefb;border-radius:22px;box-shadow:0 4px 18px #7a52231f;padding:26px 22px 24px}.auth-gate-title{margin:0;font-family:var(--font-round);font-size:19px;letter-spacing:.5px;color:var(--color-ink)}.auth-gate-sub{margin:0 0 4px;font-size:12.5px;line-height:1.5;color:var(--color-ink-soft)}.auth-gate-input-group{position:relative;display:flex;align-items:center}.auth-gate-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:14px;padding:11px 40px 11px 13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-gate-input:focus{border-color:var(--color-tan-line-strong);box-shadow:0 0 0 3px var(--color-tan-glow)}.auth-gate-input-action{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--color-ink-soft);display:flex;align-items:center;justify-content:center}.auth-gate-input-action:hover{background:var(--color-accent-soft);color:var(--color-ink)}.auth-gate-input-action svg{width:18px;height:18px}.auth-gate-submit{border:none;border-radius:999px;padding:11px 20px;background:var(--color-accent);color:#fffaf0;font-family:var(--font-round);font-size:14.5px;letter-spacing:1px;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.auth-gate-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lift)}.auth-gate-submit:disabled{opacity:.6;cursor:not-allowed}.auth-gate-error{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-warm-red-ink)}@font-face{font-family:Caveat;src:url(/fonts/caveat-700-latin.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--color-bg: #f7ecd9;--color-bg-soft: #fbf3e4;--color-paper: #fffaf0;--color-cream: #f7ecd9;--color-sidebar: #efdfc0;--color-border: #e0c99a;--color-border-soft: #ecdcb8;--color-kraft: #ecdec2;--color-ink: #4a2f1c;--color-ink-soft: #8a6b4e;--color-ink-faint: #a8927240;--color-accent: #e8a33d;--color-accent-strong: #cf8a1f;--color-accent-soft: #ffdca0;--color-wood: #9a6b43;--color-wood-dark: #7a5233;--color-wood-light: #b98956;--color-petal-you: #f4a48e;--color-petal-you-tip: #ffd3b8;--color-petal-you-deep: #e8806a;--color-petal-self: #f3d9a0;--color-petal-self-tip: #fbefd2;--color-petal-self-deep: #e8c47a;--color-petal-feeling: #b9aec6;--color-petal-feeling-tip: #ddd6e6;--color-petal-feeling-deep: #9c8fae;--color-petal-edge: rgba(255, 250, 240, .6);--color-petal-you-soft: #c9785f;--color-petal-feeling-soft: #8a7d9c;--color-moonlight: #aabee6;--color-moonlight-soft: rgba(170, 190, 230, .18);--color-moonlight-line: rgba(170, 190, 230, .6);--color-mood-dim: #cbb9a6;--color-compass-dim: #ab9884;--color-tan: #c6a878;--color-tan-dark: #ba9c6c;--color-tan-deep: #ac8f61;--color-tan-line: rgba(198, 168, 120, .35);--color-tan-line-strong: rgba(198, 168, 120, .7);--color-tan-glow: rgba(198, 168, 120, .12);--color-paper-glass: rgba(255, 250, 240, .85);--color-paper-glass-soft: rgba(255, 250, 240, .6);--color-glass-edge: rgba(255, 255, 255, .7);--color-shadow-warm: rgba(122, 82, 35, .22);--color-warm-red: #d9694b;--color-warm-red-ink: #c14c3a;--color-warm-red-soft: #fbe3dc;--color-warm-red-faint: #c07a6b;--color-lamp: #ffcb66;--color-lamp-soft: #ffe7b8;--color-lamp-strong: #ffb84d;--shadow-soft: 0 2px 10px rgba(122, 82, 35, .14);--shadow-lift: 0 6px 18px rgba(122, 82, 35, .2);--font-round: "ZCOOL KuaiLe", "Nunito", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Nunito", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-hand: "Caveat", "Segoe Script", cursive;--radius-md: 14px;--radius-lg: 20px;--radius-bubble: 18px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-ink);background:radial-gradient(circle at 20% -10%,#fff6e4 0%,var(--color-bg) 55%,#ecd8ab 100%);-webkit-font-smoothing:antialiased}#root{height:100vh;height:100dvh}button{font-family:inherit;cursor:pointer}textarea,input{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--color-accent-soft) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--color-accent-soft);border-radius:8px}*::-webkit-scrollbar-track{background:transparent}@media (pointer: coarse){*{scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}}.song-cover-empty{display:flex;align-items:center;justify-content:center;background:#5a4c3c14;color:#5a4c3c66;font-size:.9em;line-height:1;-webkit-user-select:none;user-select:none}
