@import "https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700&display=swap";:root{--bg-body:#f5f6f8;--bg-app:#fff;--text-main:#333;--text-muted:#888;--border-color:#eee;--primary-color:#4a72ff;--primary-hover:#3a5ecc;--memo-bg:#f9f9fb;--tab-height:60px;--habit-purple:#e9d5ff;--habit-blue:#dbeafe;--habit-green:#dcfce7;--habit-pink:#fbcfe8;--habit-orange:#fed7aa}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent!important}html,body{width:100%;height:100%;height:var(--vh,100dvh);overflow:hidden}body{background-color:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}#root{justify-content:center;width:100%;height:100%;display:flex}.app-container{width:100%;max-width:480px;height:100%;height:var(--vh,100dvh);background-color:var(--bg-app);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000d}.header{border-bottom:1px solid var(--border-color);background-color:var(--bg-app);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px;display:flex}.header.header--recording{display:none}.header h1{color:var(--text-main);white-space:nowrap;font-size:1.25rem;font-weight:600}.header-icon{color:var(--text-muted);cursor:pointer;transition:color .2s}.header-icon:hover{color:var(--primary-color)}.header-title-container{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;transition:background-color .2s;display:flex}.header-title-container:hover{background-color:#f0f0f0}.header-date-stack{min-width:0;display:grid;position:relative}.header-date-stack h1{white-space:nowrap;grid-area:1/1;transition:opacity .12s linear}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.today-fab{z-index:5;background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:9px 18px;font-size:.8125rem;font-weight:600;animation:.16s ease-out today-fab-in;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000029,0 8px 20px -10px #00000059}.today-fab:active{background-color:var(--primary-hover)}@keyframes today-fab-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.today-fab{animation:none}}.timeline{background-color:var(--bg-app);touch-action:pan-y;flex-direction:column;flex:1;gap:0;padding:20px 10px;display:flex;overflow-y:auto}.timeline::-webkit-scrollbar{width:6px}.timeline::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.timeline-bottom-space{flex-shrink:0;height:140px}.timeline-day{flex-direction:column;gap:12px;display:flex}.timeline-day-divider{align-items:center;gap:10px;margin:4px 0 2px;display:flex}.timeline-day:first-child .timeline-day-divider{margin-top:0}.timeline-day-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.timeline-day-divider span{color:var(--text-muted);letter-spacing:-.01em;white-space:nowrap;font-size:.72rem;font-weight:700}.timeline-day-empty{color:#c4c6d0;padding:2px 0 6px;font-size:.78rem}.memo-group{flex-direction:column;gap:12px;display:flex}.memo-swipe-wrapper{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background-color:#0000;border-radius:12px;position:relative;overflow:hidden}.drop-indicator{background-color:var(--primary-color);border-radius:2px;flex-shrink:0;height:3px;margin:3px 8px 3px 66px}.memo-delete-reveal-btn{color:#fff;cursor:pointer;z-index:1;background-color:#ff3b30;border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;margin-right:8px;transition:background-color .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.memo-delete-reveal-btn:hover{background-color:#d32f2f}.memo-swipe-wrapper .memo-item{background-color:#0000;transition:transform .3s cubic-bezier(.25,.46,.45,.94);transform:translate(0)}.memo-swipe-wrapper.swiped .memo-item{transform:translate(-72px)}.memo-item{align-items:flex-start;gap:12px;padding-right:4px;animation:.3s ease-out slideIn;display:flex;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.memo-hover-delete-btn{opacity:0;color:#ccc;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:opacity .2s,color .2s,background-color .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}body.touch-device .memo-hover-delete-btn,body.touch-device .memo-delete-reveal-btn{display:none}body.touch-device .memo-swipe-wrapper.swiped .memo-delete-reveal-btn{display:flex}body.mouse-device .memo-swipe-wrapper:hover .memo-hover-delete-btn{opacity:1}body.mouse-device .memo-hover-delete-btn:hover{color:#ff3b30;background-color:#fff0ef}body.mouse-device .memo-delete-reveal-btn{display:none}.memo-time-container{cursor:pointer;border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;width:66px;min-width:66px;padding:4px 2px;transition:background-color .2s;display:flex}.memo-time-container:hover{background-color:#f0f0f0}.memo-time{color:var(--primary-color);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.memo-content{color:var(--text-main);word-break:break-word;border-radius:0 16px 16px;flex:0 auto;width:fit-content;max-width:100%;padding:12px 16px;font-size:.95rem;line-height:1.5}body.mouse-device .memo-content{max-width:calc(100% - 28px)}.memo-duration{float:right;color:#adafbb;white-space:nowrap;font-variant-numeric:tabular-nums;margin:3px 0 0 10px;font-size:.72rem;font-weight:600}.memo-content:after{content:"";clear:both;display:block}.memo-link{color:var(--primary-color);word-break:break-all;text-decoration:underline}.empty-state{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;line-height:1.6;display:flex}.input-toolbar{background-color:var(--bg-app);border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:none}body.keyboard-open .input-toolbar{display:flex}.input-toolbar-btn{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.input-toolbar-btn:active{background-color:#f0f0f4}.save-notice{border-top:1px solid var(--border-color);background-color:var(--memo-bg);flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.save-notice-text{min-width:0;color:var(--text-muted);flex:1;margin:0;font-size:.8125rem;line-height:1.5}.save-notice-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.save-notice-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:.8125rem}.save-notice-btn--primary{background-color:var(--primary-color);color:#fff;font-weight:600}@media (width<=480px){.save-notice{flex-direction:column;align-items:stretch;gap:10px}.save-notice-actions{justify-content:flex-end}}.input-area{border-top:1px solid var(--border-color);background-color:var(--bg-app);flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex;position:relative;overflow:visible}.input-field{color:var(--text-main);background-color:#f5f6f8;border:none;border-radius:24px;outline:none;flex:1;padding:12px 18px;font-family:inherit;font-size:.95rem;transition:background-color .2s,box-shadow .2s}.input-field:focus{box-shadow:0 0 0 2px var(--primary-color);background-color:#fff}.input-field::placeholder{color:#aaa}.input-field--chat{resize:none;max-height:35vh;font-family:inherit;line-height:1.4;display:block;overflow-y:auto}.input-area{flex-direction:column;align-items:stretch;gap:8px}.input-box{background-color:#f5f6f8;border-radius:16px;transition:background-color .2s,box-shadow .2s;position:relative}.input-box:focus-within{box-shadow:0 0 0 2px var(--primary-color);background-color:#fff}.input-text-metrics{letter-spacing:normal;padding:12px 16px;font-family:inherit;font-size:.95rem;line-height:1.4}.input-mirror{color:var(--text-main);white-space:pre-wrap;word-break:break-word;pointer-events:none;position:absolute;inset:0;overflow:hidden}.input-area .input-field--chat{color:#0000;width:100%;caret-color:var(--text-main);background:0 0;border-radius:16px;position:relative}.input-area .input-field--chat:focus{box-shadow:none;background:0 0}.input-area .input-field--chat::placeholder{color:#aaa}.time-mark{color:var(--primary-color);background-color:#4a72ff1a;border-radius:4px}.input-row{align-items:center;gap:8px;display:flex}.input-row .input-box{flex:1;min-width:0}.input-tools{align-items:center;gap:6px;display:flex}.input-tools .send-wrap{margin-left:auto}.link-chip{border:1px solid var(--border-color);color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.link-chip:active{transform:scale(.97)}.link-chip:disabled{opacity:.45;cursor:default}.link-chip.active{border-color:var(--primary-color);color:var(--primary-color);background:#eef2ff}.link-chip--slot{font-variant-numeric:tabular-nums}.send-wrap{flex-shrink:0;display:flex;position:relative}.send-hint{white-space:nowrap;pointer-events:none;z-index:30;background:#1e1e28eb;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.send-hint-item{color:#ffffff8c;font-size:.75rem;font-weight:500}.send-hint-item.active{color:#fff;font-weight:700}.send-btn--dragging{transform:scale(1.08)}.send-btn{touch-action:none;background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;transition:background-color .2s,transform .1s;display:flex}.send-btn:hover{background-color:var(--primary-hover)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{cursor:not-allowed;background-color:#ccc}.color-picker-wrapper{flex-shrink:0;position:relative}.color-trigger-btn{cursor:pointer;color:#46465f80;border:2px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:border-color .2s,transform .15s;display:flex}.color-trigger-btn:hover{border-color:var(--primary-color);transform:scale(1.1)}.color-palette-popup{z-index:50;white-space:nowrap;background:#fff;border-radius:16px;gap:8px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 8px 24px #0000001f}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--primary-color);transform:scale(1.2);box-shadow:0 0 0 2px #4a72ff4d}.bottom-tab-bar{border-top:1px solid var(--border-color);background-color:var(--bg-app);height:auto;padding-bottom:max(env(safe-area-inset-bottom), 10px);flex-shrink:0;display:flex}.tab-btn{cursor:pointer;height:58px;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:4px;padding-top:10px;font-family:inherit;font-size:.7rem;font-weight:500;transition:color .2s;display:flex}.tab-btn.active{color:var(--primary-color)}.tab-btn:hover:not(.active){color:#666}.keyboard-open .bottom-tab-bar{display:none}.undo-toast{color:#fff;z-index:200;white-space:nowrap;background-color:#333;border-radius:12px;align-items:center;gap:16px;width:fit-content;margin:0 auto;padding:12px 20px;font-size:.875rem;animation:.3s ease-out slideUp;display:flex;position:absolute;bottom:16px;left:0;right:0;box-shadow:0 4px 16px #0003}.undo-btn{color:#7eb8ff;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.875rem;font-weight:700;transition:color .2s}.undo-btn:hover{color:#aad4ff}.schedule-view,.block-sheet-overlay{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.schedule-view{background-color:var(--bg-app);flex:1;padding:20px;overflow-y:auto}.schedule-header{gap:6px;display:flex;position:relative}.schedule-times{flex-shrink:0;width:38px;position:relative}.schedule-hour-label{color:#999;text-align:right;white-space:nowrap;font-size:.75rem;font-weight:600;line-height:1;position:absolute;right:0;transform:translateY(-6px)}.schedule-day-line{z-index:1;pointer-events:none;border-top:1px solid #ccd2e8;height:0;position:absolute;left:0;right:0}.schedule-day-line span{letter-spacing:-.02em;color:#7a86c2;white-space:nowrap;margin-left:-6px;font-size:.75rem;font-weight:700;position:absolute;left:0;transform:translate(-100%,-50%)}.schedule-now-line{z-index:5;pointer-events:none;background-color:#f871718c;height:2px;position:absolute;left:3px;right:0}.schedule-now-line:before{content:"";background-color:#f87171d9;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.schedule-day-line--first span{transform:translate(-100%,calc(2px - 50%))}.schedule-grid{flex:1;position:relative}.schedule-pending-band{pointer-events:auto;cursor:pointer;z-index:6;background:#f9f9fb;border:1px solid #e3e6f0;border-radius:8px;min-height:24px;position:absolute;left:14px;right:4px;box-shadow:0 6px 18px #0000002e}.schedule-pending-label{color:#999;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600;position:absolute;top:6px;left:8px}.schedule-slot-highlight{border:1.5px dashed var(--primary-color);pointer-events:none;z-index:30;background:#4a72ff24;border-radius:8px;position:absolute;left:14px;right:4px}.schedule-hour-slot{background-color:#f0f0f0;height:1px;position:absolute;left:0;right:0}.schedule-blocks-layer{position:absolute;inset:0 4px 0 14px}.schedule-block{box-sizing:border-box;z-index:2;border:1px solid;border-radius:8px;flex-direction:column;align-items:stretch;gap:5px;padding:10px 10px 8px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.schedule-block--inner{z-index:3;left:12px;box-shadow:0 1px 4px #0000001a}.schedule-block--compact{flex-direction:row;align-items:center;gap:6px;padding:6px 8px}.schedule-block--compact .schedule-block-time{flex:none;line-height:1}.schedule-block--compact .schedule-block-content{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.schedule-block--narrow{flex-direction:column;align-items:stretch;gap:3px}.schedule-block--narrow .schedule-block-content{white-space:nowrap}.schedule-block-time{white-space:nowrap;color:#999;font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:600;line-height:1.2}.schedule-block-content{color:#333;white-space:normal;word-break:break-word;flex:1;min-width:0;font-size:.85rem;font-weight:500;line-height:1.35;overflow:hidden}.schedule-block--compact .schedule-block-content,.schedule-block--narrow .schedule-block-content{white-space:nowrap;text-overflow:ellipsis}.block-sheet-overlay{z-index:1000;background-color:#00000080;align-items:flex-end;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.block-sheet-overlay--peek{background-color:#0000002e}.block-sheet{padding:8px 20px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:88%;margin:0 auto;animation:.3s slideUp;display:flex;box-shadow:0 -4px 20px #0000001a}.block-sheet-handle{background:#dcdce4;border-radius:2px;flex:none;width:36px;height:4px;margin:4px auto 10px}.block-sheet-head{flex:none;justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.block-sheet-head h3{margin:0;font-size:1rem;font-weight:700}.block-sheet-close{color:#999;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.block-sheet-body{flex-direction:column;flex:1;gap:18px;padding-bottom:4px;display:flex;overflow:hidden auto}.block-field{flex-direction:column;gap:8px;display:flex}.block-field-label{color:#8a8a99;font-size:.8rem;font-weight:600}.block-field-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.block-mode-toggle{background:#f0f0f5;border-radius:8px;padding:2px;display:flex}.block-mode-toggle button{font:inherit;color:#8a8a99;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s}.block-mode-toggle button.active{color:var(--primary-color);background:#fff;box-shadow:0 1px 2px #0000000f}.block-textarea{width:100%;min-height:76px;color:var(--text-main);resize:none;border:1px solid #e2e2ea;border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;line-height:1.5}.block-textarea:focus{border-color:var(--primary-color)}.block-time-row{align-items:center;gap:10px;display:flex}.block-input{min-width:0;color:var(--text-main);appearance:none;background:#fff;border:1px solid #e2e2ea;border-radius:10px;outline:none;flex:1;min-height:42px;padding:10px 12px;font-family:inherit;font-size:.95rem}.block-input:focus{border-color:var(--primary-color)}.block-input:disabled{color:#a0a0ac;background:#f4f4f7}.block-time-sep{color:#a0a0ac;flex:none;font-size:.9rem}.block-time-btn{text-align:center;cursor:pointer;font-variant-numeric:tabular-nums}.block-time-btn.open{border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.block-time-btn:disabled{cursor:default}.time-wheel{background:#f7f7fa;border-radius:12px;gap:4px;padding:4px 8px;display:flex;position:relative}.time-wheel-band{background:#fff;border-radius:9px;height:36px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #e5e5ee}.time-wheel:after{content:"";pointer-events:none;background:linear-gradient(#f7f7fa 0%,#f7f7fa00 28% 72%,#f7f7fa 100%);border-radius:10px;position:absolute;inset:4px 8px}.wheel-col{scroll-snap-type:y mandatory;scrollbar-width:none;touch-action:pan-y;overscroll-behavior:contain;flex:1;height:180px;position:relative;overflow-y:auto}.wheel-col::-webkit-scrollbar{display:none}.wheel-pad{flex-shrink:0;height:72px}.wheel-item{scroll-snap-align:center;color:#b0b2c0;cursor:pointer;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:36px;font-size:1rem;display:flex}.wheel-item--active{color:var(--text-main);font-weight:700}.block-auto-toggle{cursor:pointer;background:#f7f7fa;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.block-auto-toggle input{width:20px;height:20px;accent-color:var(--primary-color);cursor:pointer;flex:none;margin:1px 0 0}.block-auto-toggle-text{flex-direction:column;gap:3px;display:flex}.block-auto-toggle-text strong{color:var(--text-main);font-size:.88rem;font-weight:600}.block-auto-toggle-text small{color:#8a8a99;font-size:.76rem;line-height:1.4}.block-color-row{flex-wrap:wrap;gap:10px;padding:4px 4px 6px;display:flex}.block-color-swatch{cursor:pointer;border-style:solid;border-width:2px;border-radius:50%;width:32px;height:32px;padding:0;transition:box-shadow .15s,border-width .15s}.block-color-swatch.selected{box-shadow:0 0 0 2px white, 0 0 0 3px var(--primary-color);border-width:4px}.block-sheet-actions{flex:none;gap:8px;margin-top:16px;display:flex}.block-delete-btn{cursor:pointer;color:#e53e3e;background-color:#fff5f5;border:none;border-radius:8px;flex:none;padding:12px 16px;font-family:inherit;font-size:.9rem;font-weight:600}.block-delete-btn:hover{background-color:#ffe9e9}.keyword-list{flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:12px;display:flex}.keyword-chip{color:#888;background-color:#fcfcfd;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 12px;font-size:.8rem;font-weight:600;display:flex}.keyword-chip button{color:#999;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .2s;display:flex}.keyword-chip button:hover{color:#e53e3e}.keyword-input-row{align-items:center;gap:8px;display:flex}.keyword-add-btn{justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex;border-radius:8px!important;padding:0!important}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:16px;width:90%;max-width:420px;padding:24px;animation:.3s ease-out slideUp;box-shadow:0 10px 25px #0000001a}.undo-toast--above-fab{bottom:64px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{text-align:center;margin-bottom:16px;font-size:1.1rem;font-weight:600}.modal-actions{gap:12px;display:flex}.btn-cancel,.btn-save{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-family:inherit;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-cancel{color:#666;background-color:#f5f5f5;border:1px solid #ddd}.btn-cancel:hover{background-color:#efefef}.btn-cancel.logout-action-btn{color:#4a5568!important;background-color:#fff!important;border:1px solid #e2e8f0!important;font-weight:500!important}.btn-cancel.logout-action-btn:hover{background-color:#f9fafb!important}.btn-save{background-color:var(--primary-color);color:#fff}.btn-save:hover{background-color:var(--primary-hover)}.upgrade-btn{background-color:#7090ff!important}.upgrade-btn:hover{background-color:#5a7ae8!important}.billing-history-btn{color:#4a5568!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;width:100%!important;padding:12px!important;font-size:.9rem!important;font-weight:500!important}.logout-action-btn{color:#4a5568!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;flex:1!important;width:100%!important;padding:12px!important;font-size:.9rem!important;font-weight:500!important}.delete-account-btn{color:#e53e3e!important;background-color:#fff5f5!important;border:1px solid #fed7d7!important}.calendar-container{background-color:#fff;border-radius:16px;width:90%;max-width:340px;padding:20px;animation:.3s ease-out slideUp;box-shadow:0 10px 25px #0000001a}.cal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal-month{font-size:1.1rem;font-weight:600}.cal-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.cal-btn:hover{color:var(--text-main);background-color:#f0f0f0}.cal-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.cal-weekday{color:var(--text-muted);font-size:.8rem;font-weight:600}.cal-body{flex-direction:column;gap:4px;display:flex}.cal-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:50%;outline:none;flex-direction:column;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex;position:relative;box-shadow:none!important;background-color:#0000!important}@media (hover:hover){.cal-day:hover:not(.cal-disabled){background-color:#f0f0f0}}@media (hover:none){.cal-day:hover,.cal-day:active,.cal-day:focus,.cal-day:focus-visible,.cal-day:focus-within,.cal-day:active *,.cal-day:focus *,.cal-day:focus-visible *{color:inherit!important;background-color:#0000!important}}.cal-disabled{color:#ccc}.cal-today{color:var(--primary-color);font-weight:700}.cal-selected{font-weight:600;background-color:var(--primary-color)!important;color:#fff!important}.cal-dot{background-color:var(--primary-color);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.cal-selected .cal-dot{background-color:#fff}.auth-wrapper{background-color:var(--bg-body);padding:0;display:flex;position:relative;overflow-y:auto}.auth-back-btn{top:max(12px, env(safe-area-inset-top));color:#888;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.4rem;line-height:1;display:flex;position:absolute;left:12px}.auth-back-btn:active{background-color:#0000000f}.auth-card{box-shadow:none;background:#fff;border-radius:0;flex-direction:column;width:100%;max-width:480px;min-height:100%;margin:0 auto;padding:64px 28px 0;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.auth-logo{text-align:left;margin-bottom:10px}.auth-logo-icon{margin-bottom:10px;font-size:2.8rem;display:block}.auth-logo h2{color:var(--text-main);letter-spacing:-.5px;margin-bottom:6px;font-size:1.45rem;font-weight:700}.auth-logo p{color:var(--text-muted);font-size:.85rem;line-height:1.4}.auth-tabs{background-color:#f1f3f5;border-radius:12px;margin-bottom:24px;padding:4px;display:flex}.auth-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s}.auth-tab.active{color:var(--primary-color);background-color:#fff;box-shadow:0 2px 8px #0000000a}.auth-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#666;margin-left:4px;font-size:.8rem;font-weight:600}.auth-input{background-color:#f8f9fa!important;border:1px solid #eef0f2!important;border-radius:12px!important;padding:12px 18px!important;font-size:.95rem!important}.auth-input:focus{border-color:var(--primary-color)!important;background-color:#fff!important;box-shadow:0 0 0 3px #4a72ff1a!important}.auth-submit-btn{text-align:center;justify-content:center;align-items:center;height:48px;margin-top:10px;display:flex;border-radius:12px!important;padding:14px!important;font-weight:600!important}.auth-error-message{color:#c53030;text-align:center;background-color:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:10px 14px;font-size:.85rem;font-weight:500;line-height:1.4;animation:.2s fadeIn}.auth-remember-container{align-items:center;margin-top:2px;margin-bottom:4px;display:flex}.auth-remember-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;display:flex}.auth-remember-checkbox{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;outline:none;width:16px;height:16px}.auth-divider{text-align:center;justify-content:center;align-items:center;margin:14px 0;display:flex;position:relative}.auth-divider:before{content:"";background-color:var(--border-color);z-index:1;height:1px;position:absolute;left:0;right:0}.auth-divider span{color:var(--text-muted);z-index:2;background-color:#fff;padding:0 12px;font-size:.8rem}.google-signin-btn{color:#555;cursor:pointer;background-color:#fff;border:1px solid #dcdcdc;border-radius:12px;justify-content:center;align-items:center;width:100%;height:48px;padding:12px;font-family:inherit;font-size:.95rem;font-weight:600;transition:background-color .2s,box-shadow .2s;display:flex}.google-signin-btn:hover{background-color:#f7f9fa;box-shadow:0 1px 3px #00000014}.google-signin-btn:disabled{color:#ccc;cursor:not-allowed;background-color:#f1f3f5;border-color:#e2e8f0}.auth-google-hint{text-align:left;color:var(--text-muted);margin:0 0 14px;font-size:.86rem;line-height:1.5}.auth-signup-link{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:14px;padding:8px;font-family:inherit;font-size:.88rem;display:block}.auth-signup-link strong{color:var(--primary-color);font-weight:700}.auth-signup-link:disabled{opacity:.5;cursor:default}.todo-backdrop{z-index:100;background-color:#00000059;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.todo-sheet{width:100%;max-height:min(92%,520px);padding:8px 16px max(env(safe-area-inset-bottom), 16px);background-color:#fff;border-radius:20px 20px 0 0;flex-direction:column;animation:.25s ease-out sheetUp;display:flex;box-shadow:0 -6px 24px #0000001f}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.todo-sheet-handle{background-color:#e2e5ea;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:4px auto 10px}.todo-sheet-head{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.todo-sheet-head h3{margin:0;font-size:1rem;font-weight:700}.todo-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:4px;display:flex}.todo-add-row{flex-shrink:0;align-items:center;gap:8px;margin-bottom:12px;display:flex}.todo-add-input{border:1px solid var(--border-color);background-color:#f7f8fa;border-radius:12px;outline:none;flex:1;padding:11px 14px;font-family:inherit;font-size:.95rem}.todo-add-input:focus{border-color:var(--primary-color);background-color:#fff}.todo-add-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.todo-add-btn:disabled{color:#b8bec9;cursor:not-allowed;background-color:#e2e5ea}.todo-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.todo-empty{text-align:center;color:var(--text-muted);margin:0;padding:28px 0;font-size:.85rem}.todo-item{border-bottom:1px solid #f1f3f5;align-items:center;gap:10px;padding:10px 2px;display:flex}.todo-item:last-child{border-bottom:none}.todo-check{cursor:pointer;background:#fff;border:1.5px solid #cfd4dc;border-radius:50%;flex-shrink:0;width:20px;height:20px;padding:0;transition:background-color .15s,border-color .15s}.todo-check.checked{background-color:var(--primary-color);border-color:var(--primary-color)}.todo-text{word-break:break-word;flex:1;font-size:.95rem;line-height:1.4}.todo-item:not(.todo-item--done) .todo-text{cursor:text}.todo-text-edit{border:none;border-bottom:1.5px solid var(--primary-color);background:0 0;outline:none;width:100%;min-width:0;padding:2px 0;font-family:inherit;font-size:.95rem}.todo-item--done .todo-text{color:#b8bec9;text-decoration:line-through}.todo-item--done .todo-move-btn{display:none}.todo-move-btn,.todo-del-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;padding:5px;display:flex}.todo-move-btn{color:var(--primary-color)}.todo-move-btn:hover{background-color:#4a72ff1a}.todo-del-btn{color:#cfd4dc}.todo-del-btn:hover{color:#e53e3e}.spinner{border:3.5px solid #eef0f2;border-top:3.5px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spinner-small{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-nav-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s,color .2s;display:flex}.header-nav-btn:hover{color:var(--primary-color);background-color:#f5f6f8}.header-profile-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s,color .2s;display:flex}.header-profile-btn:hover{color:var(--primary-color);background-color:#f5f6f8}.mypage-overlay{animation:.2s ease-out fadeIn}.mypage-content{background-color:#f8f9fa;border-radius:20px;flex-direction:column;width:95%;max-width:440px;height:90%;max-height:720px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 15px 40px #00000014}.mypage-header{border-bottom:1px solid var(--border-color);background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px;display:flex}.mypage-header h2{color:var(--text-main);font-size:1.2rem;font-weight:700}.mypage-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.mypage-close-btn:hover{color:var(--text-main);background-color:#f1f3f5}.mypage-scrollable{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.mypage-scrollable::-webkit-scrollbar{width:4px}.mypage-scrollable::-webkit-scrollbar-thumb{background-color:#e2e8f0;border-radius:4px}.mypage-card{background-color:#fff;border:1px solid #f1f3f5;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000005}.profile-card{align-items:center;gap:16px;display:flex}.profile-avatar{flex-shrink:0}.user-photo{object-fit:cover;border-radius:50%;width:48px;height:48px}.avatar-placeholder{color:#718096;background-color:#f0f2f5;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.profile-info{flex-direction:column;gap:4px;display:flex}.profile-email{color:var(--text-main);word-break:break-all;font-size:.95rem;font-weight:600}.profile-provider-badge{color:var(--text-muted);background-color:#edf2f7;border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:500}.card-header-icon{border-bottom:1px solid #f7f9fa;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:10px;display:flex}.card-header-icon h3{color:var(--text-main);font-size:.95rem;font-weight:700}.billing-icon{color:var(--primary-color)}.membership-status{background-color:#f7f9fc;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex}.status-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.status-value{font-size:.9rem;font-weight:700}.active-plan{color:var(--primary-color)}.billing-description{color:var(--text-muted);margin-bottom:16px;font-size:.8rem;line-height:1.5}.upgrade-btn{cursor:pointer;color:#fff;border:none;width:100%;margin-bottom:8px;transition:transform .15s,opacity .15s;box-shadow:0 4px 12px #4a72ff26;background:linear-gradient(135deg, var(--primary-color) 0%, #7090ff 100%)!important;border-radius:10px!important;padding:12px!important;font-size:.9rem!important;font-weight:600!important}.upgrade-btn:hover{opacity:.95;transform:translateY(-1px)}.upgrade-btn:active{transform:translateY(1px)}.billing-history-btn{width:100%;color:#4a5568!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;padding:12px!important;font-size:.9rem!important;font-weight:500!important}.billing-history-btn:hover{background-color:#f7fafc!important}.danger-icon{color:#e53e3e}.danger-zone-actions{flex-direction:column;gap:8px;display:flex}.logout-action-btn{width:100%;color:#4a5568!important;background-color:#fff!important;border:1px solid #cbd5e0!important;border-radius:10px!important;padding:12px!important;font-size:.9rem!important;font-weight:600!important}.logout-action-btn:hover{background-color:#f7fafc!important}.delete-account-btn{width:100%;transition:background-color .2s;color:#e53e3e!important;background-color:#fff5f5!important;border:1px solid #fed7d7!important;border-radius:10px!important;padding:12px!important;font-size:.9rem!important;font-weight:600!important}.delete-account-btn:hover{background-color:#fff0f0!important}.delete-account-btn:disabled{opacity:.6;cursor:not-allowed}.animate-fade-in{animation:.3s ease-out fadeIn}.touch-scroll-active{-webkit-tap-highlight-color:transparent!important;background-color:#0000!important}.build-stamp{text-align:center;color:var(--text-muted);opacity:.7;margin:18px 0 0;font-size:.6875rem}.todo-day+.todo-day{margin-top:6px}.todo-day-label{align-items:center;gap:8px;padding:10px 2px 4px;display:flex}.todo-day-label span{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:700}.todo-day-label:after{content:"";background-color:#f1f3f5;flex:1;height:1px}.schedule-block{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.schedule-block--moving{z-index:30;opacity:.92;box-shadow:0 10px 28px #0003}.schedule-drag-badge{background:var(--primary-color);color:#fff;z-index:31;pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:8px;padding:3px 8px;font-size:.72rem;font-weight:700;position:absolute;left:2px;transform:translateY(-50%);box-shadow:0 2px 8px #4a72ff66}.move-confirm-sheet .time-wheel{margin-top:4px}.move-confirm-prev{color:#9a9ca8;margin:-6px 0 10px;font-size:.8rem}.move-confirm-range{color:var(--primary-color);text-align:center;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:.85rem;font-weight:600}.schedule-am-band{pointer-events:none;background-color:#fcfcfd;position:absolute;left:0;right:0}.block-dawn-hint{color:#9a9ca8;font-size:.75rem;line-height:1.4}.day-summary{touch-action:pan-y;background-color:#fff;border:1px solid #ececf2;border-radius:16px;flex-direction:column;gap:12px;padding:16px 16px 14px;animation:.3s ease-out slideIn;display:flex}.day-summary-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-summary-title{color:var(--text-main);letter-spacing:-.01em;font-size:.9rem;font-weight:700}.day-summary-count{color:var(--primary-color);white-space:nowrap;font-size:.75rem;font-weight:600}.day-summary-stats{gap:8px;display:flex}.day-summary-stat{background-color:#fff;border:1px solid #eef0f6;border-radius:10px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 10px;display:flex}.day-summary-stat-label{color:var(--text-muted);white-space:nowrap;font-size:.68rem}.day-summary-stat-value{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.day-summary-chart{flex-direction:column;gap:4px;width:100%;display:flex}.day-summary-bars{align-items:flex-end;gap:3px;width:100%;height:56px;display:flex}.day-summary-bar-slot{flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex}.day-summary-bar{background-color:#cfd8f7;border-radius:4px 4px 2px 2px;width:100%;transition:height .25s ease-out;position:relative}.day-summary-bar--empty{background-color:#e8eaf2;border-radius:1px;height:2px!important}.day-summary-bar--max{background-color:var(--primary-color)}.day-summary-bar-count{color:var(--primary-color);font-size:.66rem;font-weight:700;line-height:1;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.day-summary-axis{gap:3px;width:100%;display:flex}.day-summary-axis-slot{min-width:0;height:14px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:1 1 0;font-size:.66rem;line-height:14px;position:relative}.day-summary-axis-slot span{white-space:nowrap;position:absolute;top:0}.day-summary-axis-slot--start span{left:0}.day-summary-axis-slot--end span{right:0}.day-summary-axis-slot--max span{color:var(--primary-color);font-weight:700;left:50%;transform:translate(-50%)}.day-summary-chart-text{color:var(--text-muted);font-size:.78rem}.day-summary-ai{background-color:#fff;border:1px solid #eef0f6;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.day-summary-ai-title{color:var(--primary-color);align-items:center;gap:5px;font-size:.72rem;font-weight:700;display:flex}.day-summary-mock{color:#8a6d00;background-color:#fff3cd;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:.62rem;font-weight:700}.day-summary-main{flex-direction:column;gap:2px;display:flex}.day-summary-main strong{color:var(--text-main);word-break:keep-all;font-size:.95rem;font-weight:700}.day-summary-keywords{flex-wrap:wrap;gap:6px;display:flex}.day-summary-chip{color:var(--primary-color);background-color:#eff3ff;border-radius:999px;padding:3px 9px;font-size:.74rem;font-weight:600}.day-summary-narrative{color:var(--text-main);word-break:keep-all;font-size:.85rem;line-height:1.55}.day-summary-muted{color:var(--text-muted);font-size:.8rem;line-height:1.5}.day-summary-ai--loading .day-summary-loading-text{animation:1.4s ease-in-out infinite day-summary-pulse}@keyframes day-summary-pulse{0%,to{opacity:.45}50%{opacity:1}}.day-summary--keep{background:#f7f8fd;border:1px dashed #c9cfe6}.day-summary-keep-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-summary-keep-title{color:var(--primary-color);font-size:1rem;font-weight:700}.day-summary-btn--small{flex-shrink:0;padding:8px 14px;font-size:.85rem}.day-summary-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:8px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.day-summary-btn:active{background-color:var(--primary-hover)}.day-summary-btn:disabled{cursor:default;background-color:#c9cfe6}.day-summary-btn--ghost{color:var(--primary-color);background-color:#eff3ff;padding:6px 10px;font-size:.74rem}.day-summary-btn--ghost:active{background-color:#e1e8ff}.day-summary-stale{color:var(--text-muted);border-top:1px dashed #e3e5ee;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:.74rem;display:flex}.day-summary-stale .day-summary-btn{white-space:nowrap;flex-shrink:0}.day-summary-hook{color:var(--text-muted);border-top:1px dashed #e3e5ee;justify-content:space-between;align-items:baseline;gap:8px;padding-top:10px;font-size:.75rem;display:flex}.day-summary-hook strong{color:var(--text-main);font-size:.85rem;font-weight:700}.review-screen{touch-action:pan-y;background-color:var(--bg-app);flex-direction:column;flex:1;gap:12px;padding:16px 16px 24px;display:flex;overflow-y:auto}.review-screen .day-summary-ai{background-color:#fff;border-color:#e8e8f0;padding:14px 16px}.review-screen .day-summary-hook{border-top:none;padding:4px 4px 0}.review-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;font-size:.9rem;line-height:1.6;display:flex}.review-empty .day-summary-btn{align-self:center}.review-seg{background-color:#f0f1f6;border-radius:10px;gap:4px;padding:3px;display:flex}.review-seg-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 0;font-family:inherit;font-size:.82rem;font-weight:600}.review-seg-btn--on{color:var(--text-main);background-color:#fff;box-shadow:0 1px 3px #0000000f}.day-summary--ai-gate{gap:8px}.day-summary-title{align-items:center;gap:5px;display:inline-flex}.cat-list{flex-direction:column;gap:12px;display:flex}.cat-list--compact{gap:10px}.cat-row{flex-direction:column;gap:5px;display:flex}.cat-row-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cat-row-name{color:var(--text-main);font-size:.86rem;font-weight:700}.cat-row--none .cat-row-name{color:var(--text-muted)}.cat-row-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.cat-row-bar{background-color:#e8eaf2;border-radius:3px;height:6px;overflow:hidden}.cat-row-fill{background-color:var(--primary-color);border-radius:3px;height:100%;transition:width .25s ease-out}.cat-row--none .cat-row-fill{background-color:#c4c6d0}.cat-row-items{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.cat-chip{max-width:100%;color:var(--text-main);cursor:pointer;background-color:#fff;border:1px solid #e8e8f0;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-family:inherit;font-size:.74rem;display:inline-flex}.cat-chip:active{background-color:#f0f1f6}.cat-chip-time{color:var(--primary-color);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.cat-chip-text{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.cat-hint{font-size:.72rem}.cat-picker-backdrop{z-index:60;background-color:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.cat-picker{width:100%;max-width:480px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));background-color:#fff;border-radius:16px 16px 0 0;flex-direction:column;gap:12px;animation:.2s ease-out slideUpSheet;display:flex}@keyframes slideUpSheet{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.cat-picker-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cat-picker-memo{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.cat-picker-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.cat-picker-list{flex-wrap:wrap;gap:8px;display:flex}.cat-picker-item{color:var(--text-main);cursor:pointer;background-color:#fff;border:1px solid #e8e8f0;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.84rem}.cat-picker-item--on{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.cat-picker-new{gap:8px;display:flex}.cat-picker-new input{border:1px solid #e8e8f0;border-radius:10px;outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:.84rem}.cat-picker-new input:focus{border-color:var(--primary-color)}.cat-picker-new button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;display:flex}.cat-picker-new button:disabled{cursor:default;background-color:#c9cfe6}.hl-quotes{flex-direction:column;gap:6px;display:flex}.hl-quote{border-left:3px solid var(--primary-color);color:var(--text-main);word-break:keep-all;background-color:#fff;border-radius:0 10px 10px 0;margin:0;padding:8px 12px;font-size:.85rem}.wk-days{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wk-day+.wk-day{border-top:1px solid #f0f1f6}.wk-day-btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:9px 2px;display:flex}.wk-day-btn:disabled{cursor:default}.wk-day--empty .wk-day-btn{opacity:.45}.wk-day-date{flex-direction:column;flex-shrink:0;align-items:center;width:28px;line-height:1.1;display:flex}.wk-day-dow{color:var(--text-muted);font-size:.66rem}.wk-day-num{font-size:.95rem;font-weight:700}.wk-day-rabbit{object-fit:cover;border-radius:9px;flex-shrink:0;width:34px;height:34px}.wk-day-rabbit--none{background-color:#eef0f7}.wk-day-text{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.84rem;line-height:1.4;overflow:hidden}.wk-day-text--headline{color:var(--text-main);font-weight:600}.habit-edit-btn{color:var(--primary-color);cursor:pointer;background-color:#fff;border:1px solid #dfe4f7;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.habit-empty{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.week-bars-caption{color:var(--text-muted);margin-top:4px;font-size:.72rem;font-weight:600}.week-bars{gap:6px;height:86px;display:flex}.week-bar-slot{flex-direction:column;flex:1 1 0;align-items:center;gap:3px;min-width:0;display:flex}.week-bar-count{height:14px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:700;line-height:14px}.week-bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.week-bar{background:linear-gradient(#4a72ff38,#4a72ff0f);border-radius:4px 4px 2px 2px;width:100%}.week-bar--max{background:linear-gradient(#4a72ff80,#4a72ff24)}.week-bar--empty{background-color:#e8eaf2;height:2px!important}.week-bar-label{color:var(--text-muted);font-size:.68rem}.shape{gap:10px}.shape-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.shape-main{flex-direction:column;gap:2px;display:flex}.shape-big{letter-spacing:-.02em;color:var(--text-main);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1.15}.streak-badge{color:#e0533a;white-space:nowrap;background-color:#fff1ee;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.shape-sub{color:var(--text-muted);border-bottom:1px solid #eceef5;padding-bottom:6px;font-size:.8rem}.shape-sub strong{color:var(--text-main);font-weight:700}.day-curve{flex-direction:column;gap:4px;width:100%;display:flex}.day-curve-plot{width:100%;height:96px;position:relative}.day-curve-svg{width:100%;height:100%;display:block;overflow:visible}.day-curve-grid{stroke:#e6e8f0;stroke-width:1px;stroke-dasharray:2 3}.day-curve-line{fill:none;stroke:var(--primary-color);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.day-curve-now-line{stroke:#9aa3c2;stroke-width:1px;stroke-dasharray:2 2}.day-curve-now-dot{border:3px solid var(--primary-color);pointer-events:none;background-color:#fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #4a72ff26}.day-curve-peak{color:var(--primary-color);white-space:nowrap;pointer-events:none;background-color:#fff;border:1px solid #dfe4f7;border-radius:999px;padding:2px 7px;font-size:.66rem;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.day-curve-peak--left{transform:translate(-100%)}.week-talk-day{fill:none;stroke:#4a72ff;stroke-opacity:.32;stroke-width:1px}.week-talk-legend{color:var(--text-muted);margin:2px 0 0;font-size:.68rem}.talk-curve-peak{color:var(--primary-color);white-space:nowrap;pointer-events:none;background-color:#fff;border:1px solid #dfe4f7;border-radius:999px;padding:1px 6px;font-size:.64rem;font-weight:700;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.talk-curve-emotion{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-50%)}.talk-curve-dot{background-color:#fff;border:3px solid #e0a100;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #e0a10026}.talk-curve-emotion b{color:#8a5a00;white-space:nowrap;background-color:#fff3d6;border-radius:6px;margin-top:2px;padding:1px 5px;font-size:.62rem;font-weight:700;position:absolute;top:100%}.talk-curve-emotion--neg .talk-curve-dot{border-color:#6b6f80;box-shadow:0 0 0 3px #6b6f8026}.talk-curve-emotion--neg b{color:#4b4f60;background-color:#f1f1f4}.talk-quotes{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.talk-quote{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.8rem;line-height:1.5;display:flex}.talk-quote-label{color:#8a5a00;background-color:#fff3d6;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:.66rem;font-weight:700}.talk-quote-label--neg{color:#4b4f60;background-color:#f1f1f4}.talk-quote-time{color:var(--text-muted);flex-shrink:0;font-size:.7rem}.talk-quote-text{color:var(--text-main);quotes:"\"" "\"";word-break:keep-all}.day-curve-axis{color:var(--text-muted);justify-content:space-between;font-size:.66rem;display:flex}.day-curve-axis span{text-align:left;flex:1}.reflection{gap:14px}.reflection-headline{letter-spacing:-.01em;color:var(--text-main);word-break:keep-all;margin:0;font-size:1.15rem;font-weight:800;line-height:1.35}.reflection-narrative{font-size:.92rem;line-height:1.7}.reflection-section{border-top:1px dashed #e3e5ee;flex-direction:column;gap:8px;padding-top:10px;display:flex}.reflection-label{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:700}.flow-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.flow-item{align-items:flex-start;gap:10px;display:flex}.flow-stage{width:34px;color:var(--primary-color);text-align:center;background-color:#eff3ff;border-radius:6px;flex-shrink:0;margin-top:2px;padding:2px 0;font-size:.68rem;font-weight:700}.flow-text{color:var(--text-main);word-break:keep-all;font-size:.85rem;line-height:1.55}.loop-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.loop-item{flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;line-height:1.5;display:flex}.loop-from{color:var(--text-muted)}.loop-arrow{color:var(--primary-color);font-weight:700}.loop-to{color:var(--text-main);background-color:#fff8dc;border-radius:4px;padding:0 4px;font-weight:600}.done-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.done-item{color:var(--text-main);word-break:keep-all;align-items:flex-start;gap:8px;font-size:.84rem;line-height:1.5;display:flex}.done-item:before{content:"✓";color:#1f8a4c;flex-shrink:0;font-weight:700}.energy-rows{flex-direction:column;gap:6px;display:flex}.energy-row{align-items:flex-start;gap:8px;display:flex}.energy-tag{border-radius:6px;flex-shrink:0;margin-top:1px;padding:3px 7px;font-size:.68rem;font-weight:700}.energy-tag--up{color:#1f8a4c;background-color:#e8f7ee}.energy-tag--down{color:#6b6f80;background-color:#f1f1f4}.day-summary-chip--up{color:#1f8a4c;background-color:#e8f7ee}.day-summary-chip--down{color:#6b6f80;background-color:#f1f1f4}.day-summary-chip--meaning{color:#8a5a00;background-color:#fff3d6}.seg-list{flex-direction:column;gap:8px;display:flex}.seg-row{background-color:#fff;border:1px solid #eef0f6;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.seg-row--later{opacity:.45}.seg-row--now{background-color:#f7f9ff;border-color:#c7d3ff}.seg-head{align-items:baseline;gap:8px;display:flex}.seg-label{color:var(--text-main);font-size:.86rem;font-weight:700}.seg-range{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.seg-now{color:var(--primary-color);background-color:#eff3ff;border-radius:999px;padding:1px 6px;font-size:.64rem;font-weight:700}.seg-count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.72rem}.seg-body{align-items:baseline;gap:6px;min-width:0;display:flex}.seg-cat{color:#8a5a00;background-color:#fff3d6;border-radius:6px;flex-shrink:0;padding:1px 6px;font-size:.68rem;font-weight:700}.seg-text{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.seg-more{color:var(--text-muted)}.seg-keywords{flex-wrap:wrap;gap:4px;display:flex}.seg-state{color:var(--text-main);word-break:keep-all;font-size:.84rem;font-weight:600}.day-summary-uses{color:var(--text-muted);font-size:.7rem}.monthly-head{align-items:center;gap:6px;display:flex}.monthly-head .day-summary-count{margin-left:auto}.monthly-nav{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.monthly-nav:disabled{opacity:.3;cursor:default}.monthly-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.monthly-dow{text-align:center;color:var(--text-muted);padding:2px 0;font-size:.66rem}.monthly-cell{aspect-ratio:1;cursor:pointer;background-color:#f4f5f9;border:none;border-radius:10px;padding:0;position:relative;overflow:hidden}.monthly-cell:disabled{cursor:default}.monthly-daynum{z-index:2;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:700;position:absolute;top:3px;left:5px}.monthly-cell--filled .monthly-daynum{color:#fff;text-shadow:0 1px 3px #000000a6}.monthly-rabbit{object-fit:cover;width:100%;height:100%;display:block}.rabbit-hero{background:linear-gradient(160deg,#f2f5ff 0%,#fbfcff 70%);border:1px solid #dfe6ff;border-radius:12px;flex-direction:column;gap:6px;margin:2px 0 6px;padding:14px;display:flex}.rabbit-photo{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%;margin-bottom:6px}.rabbit-label{letter-spacing:.04em;color:var(--primary-color);font-size:.7rem;font-weight:700}.rabbit-name{letter-spacing:-.02em;color:var(--text-main);margin:0;font-size:1.5rem;font-weight:800}.rabbit-desc{color:var(--text-main);word-break:keep-all;margin:0;font-size:.88rem;font-weight:600;line-height:1.55}.rabbit-reason{color:var(--text-main);word-break:keep-all;border-left:3px solid #c7d3ff;margin:2px 0 0;padding-left:10px;font-size:.84rem;line-height:1.6}.rabbit-hero--compact{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;flex-direction:row;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px}.rabbit-photo--compact{object-fit:cover;border-radius:14px;flex-shrink:0;width:64px;height:64px}.rabbit-hero-text{flex-direction:column;gap:2px;min-width:0;display:flex}.rabbit-name--compact{margin:0;font-size:1.02rem}.rabbit-desc--compact{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;overflow:hidden}.rabbit-card-dim{z-index:1000;background-color:#141622b8;justify-content:center;align-items:center;padding:56px 20px 24px;animation:.25s ease-out rabbit-dim-in;display:flex;position:fixed;inset:0}.rabbit-card-x{top:max(14px, env(safe-area-inset-top));cursor:pointer;color:#fff;background-color:#ffffff29;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;right:14px}.rabbit-card-stage{flex-direction:column;gap:14px;width:min(360px,100%);max-height:100%;animation:.55s cubic-bezier(.2,.9,.3,1.15) rabbit-card-in;display:flex}.rabbit-card{text-align:left;background-color:#fff;border-radius:24px;flex-direction:column;flex:auto;align-items:stretch;gap:0;min-height:0;padding:26px 24px 28px;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000059}.rabbit-card .rabbit-label{margin-bottom:14px}.rabbit-img--art{object-fit:contain;background:linear-gradient(160deg,#e9f1fb,#f7fbff)}.rabbit-card-photo{aspect-ratio:1;object-fit:cover;border-radius:20px;width:100%;margin:0 0 22px}.rabbit-card-name{margin:0 0 10px;font-size:1.5rem;line-height:1.3}.rabbit-card-desc{color:#3a3d4a;margin:0 0 16px;font-size:.98rem;line-height:1.65}.rabbit-card-reason{text-align:left;margin:0 0 20px;line-height:1.7}.rabbit-card-trivia{text-align:left;margin:0;padding-top:18px;font-size:.82rem;line-height:1.7}.rabbit-card-stage{position:relative}.rabbit-card-toast{color:#fff;white-space:nowrap;pointer-events:none;background-color:#141622eb;border-radius:999px;padding:10px 16px;font-size:.86rem;font-weight:600;animation:.2s ease-out rabbit-dim-in;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.rabbit-card-actions{flex-shrink:0;gap:10px;display:flex}.rabbit-card-action{cursor:pointer;color:#fff;background-color:#ffffff24;border:none;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px 10px;font-size:.92rem;font-weight:700;display:flex}.rabbit-card-action:disabled{opacity:.6}@keyframes rabbit-dim-in{0%{opacity:0}to{opacity:1}}@keyframes rabbit-card-in{0%{opacity:0;transform:translateY(40px)scale(.6)rotateY(90deg)}60%{opacity:1;transform:translateY(-6px)scale(1.04)rotateY(0)}to{transform:translateY(0)scale(1)}}.rabbit-trivia{color:var(--text-muted);word-break:keep-all;border-top:1px dashed #e4e8f4;margin:6px 0 0;padding-top:8px;font-size:.76rem;line-height:1.55}.habit-week{flex-direction:column;gap:2px;display:flex}.habit-week-row{align-items:center;gap:4px;padding:5px 0;display:flex}.habit-week-row+.habit-week-row{border-top:1px solid #f0f1f6}.habit-week-row--head{border-top:none;padding:0 0 2px}.habit-week-name{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex;overflow:hidden}.habit-week-dot{background-color:#c7d2fe;border-radius:50%;flex-shrink:0;width:9px;height:9px}.habit-week-day{text-align:center;width:26px;color:var(--text-muted);font-size:.68rem}.habit-week-cell{color:#dcdfe8;justify-content:center;align-items:center;width:26px;display:flex}.habit-week-cell--on{color:var(--primary-color)}.tour{z-index:80;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tour-block{pointer-events:auto;position:absolute}.tour--dim .tour-block{background-color:#1416228c}.tour--dim .tour-spot{animation:none;box-shadow:0 0 0 3px #4a72ffe6,0 0 0 8px #4a72ff40}.tour-spot{pointer-events:none;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1),width .35s,height .35s;animation:1.6s ease-in-out infinite tour-glow;position:absolute;box-shadow:0 0 0 3px #4a72ff2e,0 6px 22px #4a72ff73}@keyframes tour-glow{0%,to{box-shadow:0 0 0 3px #4a72ff2e,0 6px 22px #4a72ff73}50%{box-shadow:0 0 0 6px #4a72ff1a,0 10px 30px #4a72ffa6}}.tour-spot--dim{animation-name:tour-glow-dim}@keyframes tour-glow-dim{0%,to{box-shadow:0 0 0 3px #4a72ff2e,0 6px 22px #4a72ff73,0 0 0 9999px #14162212}50%{box-shadow:0 0 0 6px #4a72ff1a,0 10px 30px #4a72ffa6,0 0 0 9999px #14162212}}.tour-spot--pop{animation:.9s cubic-bezier(.2,.9,.3,1.4) .25s both tour-pop,1.6s ease-in-out 1.2s infinite tour-glow}@keyframes tour-pop{0%{opacity:0;transform:scale(.85);box-shadow:0 0 0 3px #4a72ff2e,0 6px 22px #4a72ff73}60%{opacity:1;transform:scale(1.06);box-shadow:0 0 0 8px #4a72ff38,0 14px 40px #4a72ffb3}to{opacity:1;transform:scale(1);box-shadow:0 0 0 3px #4a72ff2e,0 6px 22px #4a72ff73}}.tour-pointer{border:2px solid var(--primary-color);pointer-events:none;background-color:#ffffffeb;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;transition:left .5s cubic-bezier(.2,.8,.2,1),top .5s cubic-bezier(.2,.8,.2,1);position:absolute;box-shadow:0 2px 10px #00000040}.tour-pointer--tap{animation:1.4s ease-out .4s infinite tour-tap}@keyframes tour-tap{0%{transform:scale(1);box-shadow:0 2px 10px #00000040,0 0 #4a72ff80}25%{transform:scale(.8)}55%{transform:scale(1);box-shadow:0 2px 10px #00000040,0 0 0 18px #4a72ff00}to{transform:scale(1)}}.tour-pointer--drag-up{animation:2.4s ease-in-out .4s infinite tour-drag-up}@keyframes tour-drag-up{0%{opacity:1;transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(.8)}60%{opacity:1;transform:translateY(-64px)scale(.8)}80%{opacity:0;transform:translateY(-64px)scale(1)}to{opacity:0;transform:translateY(0)scale(1)}}.tour-bubble{pointer-events:auto;background-color:#fff;border-radius:14px;padding:12px 14px 10px;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s,bottom .35s;animation:.25s ease-out slideIn;position:absolute;box-shadow:0 10px 30px #14162233,0 0 0 1px #1416220d}.tour-bubble:after{content:"";left:var(--tail-x,50%);background-color:#fff;border-radius:2px;width:14px;height:14px;display:none;position:absolute;transform:translate(-50%)rotate(45deg)}.tour-bubble--tail-down:after{display:block;bottom:-6px;box-shadow:3px 3px 6px #14162214}.tour-bubble--tail-up:after{display:block;top:-6px;box-shadow:-2px -2px 5px #1416220f}.tour-bubble p{color:var(--text-main);word-break:keep-all;margin:0;font-size:.88rem;line-height:1.5}.tour-bubble-foot{justify-content:flex-end;margin-top:8px;display:flex}.tour-bubble--final p{font-size:.9rem}.tour-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:600}.tour-btn--small{padding:6px 12px;font-size:.76rem}.splash{z-index:90;padding:max(env(safe-area-inset-top), 28px) 28px max(env(safe-area-inset-bottom), 28px);background:linear-gradient(#fff 0%,#f4f6ff 100%);flex-direction:column;transition:opacity .4s;animation:.35s ease-out splash-in;display:flex;position:absolute;inset:0}.splash--leaving{opacity:0;pointer-events:none}@keyframes splash-in{0%{opacity:0}to{opacity:1}}.splash-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding-bottom:6vh;display:flex}.splash-brand{color:var(--primary-color);letter-spacing:.02em;font-size:.9rem;font-weight:700}.splash-title{letter-spacing:-.02em;color:var(--text-main);word-break:keep-all;margin:0;font-size:1.65rem;font-weight:800;line-height:1.4}.timeline-day-divider{color:var(--text-muted);letter-spacing:-.01em;align-items:center;gap:10px;margin:14px 4px 10px;font-size:.7rem;display:flex}.timeline-day-divider:before,.timeline-day-divider:after{content:"";border-top:1px dashed var(--border-color);flex:1}.timeline-day-divider span{flex-shrink:0}.shape-date{color:var(--text-muted);margin-bottom:8px;font-size:.78rem}.review-date-nav{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.review-date-label{color:var(--text-main);font-size:.95rem;font-weight:700}.review-date-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.review-date-btn:active{background-color:#eef0f7}.review-date-btn:disabled{opacity:.25;cursor:default}.day-curve-peak--start{transform:none}.consent-backdrop{z-index:95;background:#00000059;align-items:flex-end;display:flex;position:absolute;inset:0}.consent-sheet{width:100%;padding:22px 20px max(env(safe-area-inset-bottom), 20px);background:#fff;border-radius:20px 20px 0 0;animation:.25s ease-out sheet-up}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.consent-title{margin:0 0 6px;font-size:1.1rem;font-weight:700}.consent-desc{color:var(--text-muted);margin:0 0 14px;font-size:.85rem;line-height:1.5}.consent-row{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 4px;font-size:.92rem;display:flex}.consent-row input{opacity:0;width:0;height:0;position:absolute}.consent-check{color:#0000;border:1.5px solid #cfd3e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:.8rem;display:flex}.consent-row--on .consent-check{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.consent-text{line-height:1.45;display:block}.consent-text em{color:var(--primary-color);font-style:normal;font-weight:600}.consent-text a{color:inherit;text-underline-offset:2px;text-decoration:underline}.consent-sub{color:var(--text-muted);margin-top:2px;font-size:.74rem;display:block}.consent-divider{border-top:1px solid #eef0f5;margin:4px 0}.consent-btn{width:100%;margin-top:14px}.consent-btn:disabled{opacity:.4}.consent-close{color:#999;cursor:pointer;background:0 0;border:none;width:100%;margin-top:8px;padding:10px;font-size:.85rem;display:block}.header--week{border-bottom:none;flex-direction:column;align-items:stretch;gap:4px;padding:10px 12px 14px}.header-row{justify-content:space-between;align-items:center;min-height:36px;display:flex}.header--week h1{font-size:1.05rem;font-weight:500}.header--week .header-title-container{padding:4px 6px}.header-actions{align-items:center;gap:2px;display:flex}.week-strip{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(7,1fr);display:grid}.week-day{cursor:pointer;color:var(--text-main);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:2px 0 0;font-family:inherit;display:flex}.week-day:disabled{opacity:.3;cursor:default}.week-day-name{color:var(--text-muted);font-size:.72rem}.week-day-num{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;line-height:1;display:flex}.week-day--on .week-day-num{color:var(--primary-color);background-color:#e6ebff;font-weight:600}.week-day--today:not(.week-day--on) .week-day-num{color:var(--primary-color)}.week-day-dot{background:0 0;border-radius:50%;width:4px;height:4px}.week-day-dot--on{background-color:#c5cdf5}.week-day-dot--reviewed{background-color:var(--primary-color)}.tour-skip{top:calc(env(safe-area-inset-top) + 8px);z-index:6;color:#666;cursor:pointer;pointer-events:auto;background:#ffffffeb;border:none;border-radius:50%;width:34px;height:34px;font-size:.95rem;position:absolute;right:10px;box-shadow:0 1px 6px #0000001f}.input-time-hit{color:#0000;cursor:pointer;z-index:3;white-space:pre;background:0 0;border:none;position:absolute;top:0;left:0;overflow:hidden}.range-sheet-head{justify-content:center;align-items:center;padding:6px 0 14px;display:flex;position:relative}.range-sheet-head h3{margin:0;font-size:1rem;font-weight:700}.range-adv-btn{background:var(--primary-color);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:7px 14px;font-size:.82rem;font-weight:700;position:absolute;top:2px;right:0}.range-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;margin:0 4px 8px 0;overflow-y:auto}.range-timeline{border-left:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-left:44px;position:relative}.range-hour{background:#f0f0f0;height:1px;position:absolute;left:0;right:0}.range-hour span{text-align:right;width:40px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.7rem;position:absolute;top:-8px;left:-44px}.range-block{z-index:2;cursor:grab;touch-action:none;background:#4a72ff80;border-radius:10px;min-height:26px;position:absolute;left:6px;right:4px}.range-block-label{color:#fff;pointer-events:none;padding:8px 12px;font-size:.82rem;font-weight:700;line-height:1.35}.range-block-dur{opacity:.92;font-weight:500}.range-handle{z-index:3;background:var(--primary-color);touch-action:none;border:3px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;box-shadow:0 1px 4px #00000040}.range-handle--top{cursor:ns-resize;top:-11px;left:8px}.range-handle--bot{cursor:ns-resize;bottom:-11px;right:8px}.range-wheel-wrap{padding:4px 0 8px}.range-wheel-tabs{margin-bottom:18px}.range-dur-line{text-align:center;color:var(--primary-color);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:.85rem;font-weight:600}.link-chip--delete{color:#e5484d;border-color:#f3c0c2}.link-chip--delete:active{background:#fff0f0}.range-other{pointer-events:none;z-index:1;background:#eceef4;border:1px solid #dfe3ee;border-radius:7px;position:absolute;left:4px;right:4px;overflow:hidden}.range-other span{color:#9aa0b4;white-space:nowrap;text-overflow:ellipsis;padding:3px 7px;font-size:.68rem;display:block;overflow:hidden}.ob{z-index:1200;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom));background:linear-gradient(170deg,#eef2ff 0%,#fff 55%,#fff7ea 100%);flex-direction:column;display:flex;position:fixed;inset:0}.ob-skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-end;margin:4px 16px 0;padding:8px 12px;font-size:.86rem}.ob-track{touch-action:pan-y;flex:1;min-height:0;overflow:hidden}.ob-slides{height:100%;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex}.ob-card{box-sizing:border-box;text-align:center;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;padding:8px 28px 16px;display:flex;overflow:hidden}.ob-card-art{box-sizing:border-box;text-align:left;background-color:#fff;border-radius:22px;width:100%;max-width:340px;max-height:52vh;margin-bottom:26px;padding:16px 14px;overflow:hidden;box-shadow:0 18px 44px -18px #1e285a59,0 0 0 1px #e6eaf7;-webkit-mask-image:linear-gradient(#000 82%,#0000);mask-image:linear-gradient(#000 82%,#0000)}.ob-arrow{text-align:center;color:var(--primary-color);margin:6px 0;font-size:1.1rem}.ob-title{letter-spacing:-.01em;margin:0 0 8px;font-size:1.45rem;font-weight:800}.ob-line{color:var(--text-muted);margin:0;font-size:1rem}.ob-foot{flex-direction:column;align-items:center;gap:16px;padding:8px 24px 0;display:flex}.ob-dots{gap:7px;display:flex}.ob-dot{background-color:#d5dbf0;border-radius:50%;width:7px;height:7px;transition:all .2s}.ob-dot--on{background-color:var(--primary-color);border-radius:999px;width:20px}.ob-next{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;max-width:340px;padding:15px;font-size:1rem;font-weight:700}.ob-next:active{background-color:var(--primary-hover)}.ob-sample{pointer-events:none}.ob-static{cursor:default}.ob-sample--chat{flex-direction:column;gap:10px;display:flex}.ob-sample--chat .memo-content{font-size:.86rem}.ob-sample--review .reflection-headline{margin:6px 0 4px;font-size:1.05rem}.ob-sample--review .reflection-narrative{font-size:.84rem}.ob-sample--monthly .monthly-grid{gap:4px}.ob-sample--monthly-compact .monthly-cell{aspect-ratio:1}.ob-sample--habits{margin:0}.ob-sample--habits .habit-week{font-size:.86rem}.ob-sample--curve .day-summary{box-shadow:none;border:none;margin:0;padding:0}.tour-preview{text-align:left;background-color:#f7f8fc;border-radius:12px;max-height:44vh;margin-top:10px;padding:10px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 85%,#0000);mask-image:linear-gradient(#000 85%,#0000)}.tour-bubble--plain{box-shadow:none;background:0 0;padding:0 4px;animation:.25s ease-out rabbit-dim-in}.tour-bubble--plain:after{display:none}.tour-bubble--plain>p{color:#fff;text-shadow:0 1px 8px #00000059;font-size:1.08rem;font-weight:700;line-height:1.5}.tour-bubble--plain .tour-preview{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:16px;max-height:58vh;margin-top:12px;padding:14px;overflow-y:auto;box-shadow:0 16px 40px #0000004d;-webkit-mask-image:none;mask-image:none}.tour-bubble--plain .tour-bubble-foot{margin-top:12px}.tour-bubble--plain .tour-btn{color:var(--primary-color);background-color:#fff}.tour-bubble--arrow-down,.tour-bubble--arrow-up{position:absolute}.tour-bubble--arrow-down:before,.tour-bubble--arrow-up:before{content:"↓";left:var(--tail-x);color:#fff;text-shadow:0 1px 6px #0006;font-size:1.4rem;line-height:1;position:absolute;transform:translate(-50%)}.tour-bubble--arrow-down{padding-bottom:34px!important}.tour-bubble--arrow-down:before{bottom:4px}.tour-bubble--arrow-up{padding-top:34px!important}.tour-bubble--arrow-up:before{content:"↑";top:4px}.ob-sample--one{gap:6px}.ob-sample-typed{color:#ffffffd9;padding-left:4px;font-size:.78rem}.tour-bubble--plain .ob-sample--one .memo-content{background-color:#fff}.tour-bubble--plain .tour-preview:has(.ob-sample--one){box-shadow:none;background:0 0;max-height:none;padding:0;overflow:visible}.ob-input{background-color:#fff;border-radius:16px;padding:10px 12px 12px;box-shadow:0 10px 30px #00000040}.ob-input-row{align-items:center;gap:10px;display:flex}.ob-input-box{border:2px solid var(--primary-color);border-radius:22px;flex:1;padding:12px 14px;font-size:1rem;line-height:1.4}.ob-input-time{color:var(--primary-color);background-color:#e6ebff;border-radius:4px;padding:0 3px}.ob-input-send{background-color:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ob-input-chips{gap:6px;margin-top:8px;display:flex}.ob-input-chips span{color:var(--text-muted);border:1px solid #e3e5ee;border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;display:inline-flex}.ob-input-chip-icon{justify-content:center;width:34px;color:var(--primary-color)!important;padding:6px 0!important}.tour-bubble--plain .tour-preview:has(.ob-input){box-shadow:none;background:0 0;max-height:none;padding:0;overflow:visible}.ob-demo{background-color:#fff;border-radius:16px;padding:12px;box-shadow:0 16px 40px #0000004d}.ob-demo-grid{height:200px;position:relative}.ob-demo-line{border-top:1px solid #eceef5;position:absolute;left:0;right:0}.ob-demo-line:first-child{top:10px}.ob-demo-line:nth-child(2){top:60px}.ob-demo-line:nth-child(3){top:110px}.ob-demo-line:nth-child(4){top:160px}.ob-demo-line span{color:#9aa0b4;font-size:.7rem;position:absolute;top:-8px;left:0}.ob-demo-block{background-color:#eaf0ff;border:1px solid #c7d3ff;border-radius:10px;height:72px;padding:6px 10px;font-size:.9rem;font-weight:600;animation:3.2s ease-in-out infinite ob-demo-block;position:absolute;top:35px;left:48px;right:8px}.ob-demo-block-time{color:#7d86a8;margin-bottom:2px;font-size:.7rem;font-weight:500}.ob-demo-finger{border:2px solid var(--primary-color);background-color:#4a72ff59;border-radius:50%;width:26px;height:26px;animation:3.2s ease-in-out infinite ob-demo-finger;position:absolute;top:60px;left:55%}@keyframes ob-demo-block{0%,22%{box-shadow:none;transform:translateY(0)}30%{transform:translateY(0)scale(.97);box-shadow:0 8px 20px #4a72ff4d}55%{transform:translateY(60px)scale(.97);box-shadow:0 8px 20px #4a72ff4d}70%{box-shadow:none;transform:translateY(60px)scale(1)}to{transform:translateY(60px)}}@keyframes ob-demo-finger{0%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(.8)}30%{transform:translateY(0)scale(.8)}55%{opacity:1;transform:translateY(60px)scale(.8)}70%,to{opacity:0;transform:translateY(60px)scale(1)}}.tour-bubble--plain .tour-preview:has(.ob-demo){box-shadow:none;background:0 0;max-height:none;padding:0;overflow:visible}.ob-rabbit-card{border:1px solid #e6eaf7;border-radius:16px;margin-top:4px;padding:12px}.ob-rabbit-card-photo{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%;margin:8px 0}.ob-rabbit-card-name{font-size:1.1rem;font-weight:800}.ob-rabbit-card-desc{color:#3a3d4a;margin:4px 0 8px;font-size:.85rem}.ob-rabbit-card-reason{color:#4b4f60;border-left:3px solid #c7d3ff;padding-left:8px;font-size:.8rem}.ob-card-art--tall{max-height:60vh}.ob-demo-grid--short{height:130px}.ob-demo-grid--short .ob-demo-line:first-child{top:10px}.ob-demo-grid--short .ob-demo-line:nth-child(2){top:60px}.ob-demo-grid--short .ob-demo-line:nth-child(3){top:110px}.ob-demo-block--static{animation:3s ease-in-out infinite ob-demo-block-tap}.ob-demo-finger--tap{animation:3s ease-in-out infinite ob-demo-finger-tap}@keyframes ob-demo-block-tap{0%,25%{background-color:#eaf0ff}32%,40%{background-color:#d6e0ff}48%,to{background-color:#eaf0ff}}@keyframes ob-demo-finger-tap{0%,15%{opacity:0;transform:scale(.6)}25%{opacity:1;transform:scale(1)}32%{transform:scale(.75)}40%{opacity:1;transform:scale(1)}55%,to{opacity:0}}.ob-demo-input{box-shadow:none;border:1px solid #e6eaf7;margin-top:10px;animation:3s ease-in-out infinite ob-demo-input-in}@keyframes ob-demo-input-in{0%,40%{opacity:0;transform:translateY(8px)}55%,90%{opacity:1;transform:translateY(0)}to{opacity:0}}.ob-demo-caret{background-color:var(--primary-color);vertical-align:-2px;width:2px;height:1em;margin-left:2px;animation:1s steps(2,end) infinite ob-caret;display:inline-block}@keyframes ob-caret{to{opacity:0}}.ob-input--flat{box-shadow:none;padding:0;position:relative}.ob-input-time--target{animation:3s ease-in-out infinite ob-demo-chip}@keyframes ob-demo-chip{0%,25%{background-color:#e6ebff}32%,40%{background-color:#c7d3ff}48%,to{background-color:#e6ebff}}.ob-demo-finger--chip{animation:3s ease-in-out infinite ob-demo-finger-tap;top:14px;left:96px}.ob-demo-sheet{background-color:#fff;border:1px solid #e6eaf7;border-radius:16px 16px 0 0;margin-top:12px;padding:8px 12px 12px;animation:3s ease-in-out infinite ob-demo-sheet-in}@keyframes ob-demo-sheet-in{0%,42%{opacity:0;transform:translateY(24px)}58%,92%{opacity:1;transform:translateY(0)}to{opacity:0}}.ob-demo-sheet-handle{background-color:#dfe2ec;border-radius:2px;width:36px;height:4px;margin:0 auto 6px}.ob-demo-sheet-title{text-align:center;margin-bottom:6px;font-size:.9rem;font-weight:700}.ob-demo-sheet-grid{height:150px;position:relative}.ob-demo-sheet-grid .ob-demo-line:first-child{top:8px}.ob-demo-sheet-grid .ob-demo-line:nth-child(2){top:48px}.ob-demo-sheet-grid .ob-demo-line:nth-child(3){top:88px}.ob-demo-sheet-grid .ob-demo-line:nth-child(4){top:128px}.ob-demo-band{color:#fff;background-color:#aebcff;border-radius:10px;height:60px;padding:8px 12px;font-size:.86rem;font-weight:700;position:absolute;top:28px;left:44px;right:8px}.ob-demo-knob{background-color:var(--primary-color);border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;box-shadow:0 1px 4px #0003}.ob-demo-knob--s{top:-6px;left:-6px}.ob-demo-knob--e{bottom:-6px;right:-6px}.block-sheet-grip{touch-action:none;flex:none}.block-sheet-head-left,.block-sheet-head-right{align-items:center;gap:4px;display:flex}.block-sheet.edit-sheet{transition:border-radius .28s,padding .28s}.block-sheet-overlay:has(.edit-sheet){transition:background-color .28s}.edit-page-bar{animation:.28s fadeIn}.block-sheet--full{height:100%;max-height:100%;padding-top:calc(8px + env(safe-area-inset-top));border-radius:0}.block-sheet-overlay--full{background-color:#fff}.block-sheet--full .block-textarea{min-height:160px}.block-textarea{overflow-y:auto}.block-sheet.edit-sheet{padding-left:16px;padding-right:16px;padding-bottom:max(10px, calc(env(safe-area-inset-bottom) - var(--kb,0px)))}.block-sheet--full.edit-sheet{min-height:100%}.edit-sheet-head{margin-bottom:6px}.edit-sheet-when{font:inherit;color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;min-width:0;margin-left:-8px;padding:6px 8px;font-size:.86rem;font-weight:600;display:inline-flex}.edit-sheet-when span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.edit-sheet-when.active{background:#eef2ff}.edit-sheet-body{gap:0;padding:0}.edit-sheet-text{resize:none;width:100%;color:var(--text-main);background:0 0;border:none;outline:none;min-height:140px;padding:8px 4px;font-family:inherit;font-size:1.08rem;line-height:1.6;overflow-y:auto}.edit-sheet-text::placeholder{color:#b5b5c0}.block-sheet--full .edit-sheet-text{min-height:40vh}.edit-sheet-panel{background:#f7f7fa;border-radius:12px;flex-direction:column;flex:none;gap:10px;max-height:46%;margin-top:6px;padding:12px;display:flex;overflow-y:auto}.edit-sheet-tools{flex:none;align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.edit-tool-btn{border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.edit-tool-btn.active{border-color:var(--primary-color);color:var(--primary-color);background:#eef2ff}.edit-tool-btn--danger{color:#e53e3e}.edit-sheet-save{background:var(--primary-color);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-left:auto;padding:9px 22px;font-size:.92rem;font-weight:700}.edit-sheet-save:disabled{opacity:.4}.block-time-auto{color:#a0a0ac;margin-left:6px;font-size:.68rem;font-weight:600}.ob-time-guide{background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:26px 22px;display:flex;box-shadow:0 10px 30px #14162233}.ob-time-guide-bubble{color:var(--text-main);background:#f5f6f8;border-radius:14px;align-self:flex-start;padding:12px 16px;font-size:1rem}.ob-time-guide-bubble--alt{align-self:flex-end}.ob-time-guide .ob-input-time{padding:1px 4px}.tour-bubble--plain .tour-preview:has(.ob-time-guide){box-shadow:none;background:0 0;max-height:none;padding:0;overflow:visible}.edit-sheet-panel{max-height:calc(var(--vh,100dvh) * .42)}.edit-link-chips{gap:8px;display:flex}.rabbit-card-dim{height:var(--vh,100dvh);padding-bottom:max(24px, env(safe-area-inset-bottom));inset:0 0 auto}.auth-feedback{background-color:var(--bg-body);flex:1;margin:36px -28px 0;padding:22px 28px 24px}.auth-feedback .input-field{border:1px solid var(--border-color);background-color:#fff}.auth-feedback .input-field:focus{background-color:#fff}.auth-wrapper .build-stamp{background-color:var(--bg-body);margin:0 -28px;padding:0 28px 16px}.block-sheet--kb{padding-bottom:10px!important}.block-sheet--full .edit-sheet-body{flex-direction:column;flex:1;display:flex}.block-sheet--full .edit-sheet-text{flex:1}.block-sheet-overlay:has(.edit-sheet){inset:0;bottom:var(--kb,0px);max-width:480px;height:auto;margin:0 auto;position:fixed}.block-sheet--full.edit-sheet{padding-top:calc(14px + env(safe-area-inset-top));border-radius:0}.block-sheet--full .edit-sheet-head{margin-top:0}.edit-sheet-back{color:var(--text-main);margin-left:-6px;margin-right:2px}.block-sheet--full .edit-sheet-head{gap:6px}.block-sheet--full .edit-sheet-when{margin-left:0}.edit-page-bar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.edit-page-bar-right{align-items:center;gap:8px;display:flex}.edit-page-circle{width:42px;height:42px;color:var(--text-main);cursor:pointer;background:#f2f2f6;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.edit-page-circle--danger{color:#e53e3e}.edit-page-save{background:var(--primary-color);color:#fff;height:42px;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:0 18px;font-size:.92rem;font-weight:700}.edit-page-save:disabled{opacity:.4}.block-sheet--full .edit-sheet-head{margin-bottom:2px}.block-sheet--full .edit-sheet-tools{border:none}.day-note-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-note-saved{color:#9a9aa8;font-size:.72rem}.day-note-input{box-sizing:border-box;border:1px solid var(--border-color);width:100%;font:inherit;color:var(--text-main);resize:none;background:#fff;border-radius:12px;margin-top:8px;padding:10px 12px;font-size:.95rem;line-height:1.5}.day-note-input:focus{border-color:var(--primary-color);outline:none}.day-note-input::placeholder{color:#b5b5c0}.day-note-row{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.day-note-row .day-note-input{flex:1;margin-top:0}.day-note-save{flex:none;height:42px}.day-note-save:disabled{opacity:.4;cursor:default}.letter-dim{z-index:1200;background:linear-gradient(#e9f2fb 0%,#f6fafe 55%,#fdf5ec 100%);animation:.3s ease-out rabbit-dim-in;position:fixed;inset:0;overflow-y:auto}.letter-scene{min-height:100%;padding:40px 24px calc(28px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:30px;display:flex}.letter-title{text-align:center;color:#2b3150;font-size:1.35rem;font-weight:800;line-height:1.45;animation:.5s ease-out both letter-fade-up,.6s ease-in 3s forwards title-fade}@keyframes title-fade{to{opacity:0;transform:translateY(-8px)}}@keyframes letter-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.env{perspective:900px;width:260px;height:170px;animation:.6s cubic-bezier(.2,.8,.2,1) .4s both env-in;position:relative}@keyframes env-in{0%{opacity:0;transform:translateY(-50px)scale(.9)}to{opacity:1;transform:none}}.env-back{z-index:1;background:linear-gradient(#b9cfe1,#a9c2d8);border-radius:10px;animation:.6s ease-in 3s forwards env-fade;position:absolute;inset:0}.env-front{z-index:3;clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -2px 2px #0000000f);background:linear-gradient(#cadbe9,#bcd0e2);border-radius:10px;animation:.6s ease-in 3s forwards env-fade;position:absolute;inset:0}.env-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;background:linear-gradient(#a3bdd4,#b3c9dc);height:58%;animation:.8s ease-in-out 1.4s forwards flap-open,.6s ease-in 3s forwards env-fade;position:absolute;top:0;left:0;right:0}@keyframes flap-open{0%{z-index:4;transform:rotateX(0)}49%{z-index:4}50%{z-index:0;background:#d5e3ef;transform:rotateX(-90deg)}to{z-index:0;background:#d5e3ef;transform:rotateX(-180deg)}}@keyframes env-fade{to{opacity:0;transform:translateY(24px)}}.env-paper{z-index:2;box-sizing:border-box;background:#fffdf8;border-radius:8px;max-height:138px;padding:16px 18px 20px;animation:.8s cubic-bezier(.2,.8,.2,1) 2.2s forwards paper-out,.7s ease-out 3s forwards paper-unfold;position:absolute;top:12px;left:18px;right:18px;overflow:hidden;box-shadow:0 2px 8px #00000014}@keyframes paper-out{0%{z-index:2;transform:translateY(0)}99%{z-index:2}to{z-index:5;transform:translateY(-150px)}}@keyframes paper-unfold{0%{max-height:138px;transform:translateY(-150px)scale(1)}to{max-height:46vh;transform:translateY(-60px)scale(1.38);box-shadow:0 18px 44px #283c5a33}}.letter-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.letter-label{color:var(--primary-color);font-size:.74rem;font-weight:700}.letter-date{color:var(--text-muted);font-size:.72rem}.letter-text{color:var(--text-main);word-break:break-word;min-height:1.8em;margin:12px 0 0;font-size:.98rem;line-height:1.75}.letter-char{opacity:0;animation:.35s ease-out both letter-char;display:inline}@keyframes letter-char{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.letter-close{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:14px;width:min(100%,260px);padding:13px;font-family:inherit;font-size:.95rem;font-weight:700;animation:.4s ease-out 3.8s both letter-fade-up}.letter-close:active{background:var(--primary-hover)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.letter-title,.env,.letter-close,.letter-char{opacity:1;animation:none}.env-back,.env-front,.env-flap{display:none}.env-paper{z-index:5;max-height:none;animation:none;position:relative;top:0;left:0;right:0;transform:none}}.saving-toast{opacity:.9;padding:10px 16px;animation:none}.splash--boot{flex:1;position:relative}.cat-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.cat-trigger{color:#777;cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:16px;flex-shrink:0;align-items:center;gap:5px;max-width:150px;height:32px;padding:0 11px;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.cat-trigger--on{color:var(--text-main)}.cat-trigger-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-popup{z-index:50;background:#fff;border-radius:14px;flex-direction:column;min-width:170px;max-height:250px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cat-option{color:var(--text-main);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:.86rem;display:flex}.cat-option:active,.cat-option--on{background:#f1f3f9}.cat-option--manage{color:var(--primary-color);border-top:1px solid #f0f1f6;border-radius:0 0 9px 9px;margin-top:4px}.cat-popup-empty{color:#aaa;padding:8px 12px;font-size:.8rem}.memo-cat{float:right;color:#8a8d9c;white-space:nowrap;margin:3px 0 0 8px;font-size:.7rem;font-weight:600}.cat-chip-list{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.cat-chip{color:var(--text-main);border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;display:inline-flex}.cat-panel-list{flex-wrap:wrap;gap:8px;display:flex}.cat-panel-item{color:var(--text-main);cursor:pointer;background:#fff;border:1.5px solid #e3e5ee;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:.85rem;display:inline-flex}.cat-panel-item--on{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color) inset}.cat-panel-item--manage{color:var(--primary-color);border-style:dashed}.cat-modal-row{background:#f9f9fb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.cat-modal-palette{flex-basis:100%;padding-top:8px}.cat-palette{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.cat-swatch{cursor:pointer;border:2px solid #fff;border-radius:50%;width:26px;height:26px;padding:0;box-shadow:0 0 0 1px #00000014}.cat-swatch--on{box-shadow:0 0 0 2px var(--text-main)}.cat-swatch--custom{background:conic-gradient(#f2b705,#4dbb63,#2fb0d3,#6b7bf2,#e8609f,#f2b705);display:inline-block;position:relative;overflow:hidden}.cat-swatch--custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cat-modal-name{min-width:0;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:.9rem}.cat-modal-name:focus{border-bottom:1px solid var(--primary-color)}.cat-bars{flex-direction:column;gap:8px;display:flex}.cat-bar-row{color:var(--text-main);align-items:center;gap:8px;font-size:.84rem;display:flex}.cat-bar-row--none{color:#9a9dab}.cat-bar-name{flex-shrink:0;align-items:center;gap:6px;width:86px;min-width:0;display:inline-flex}.cat-bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-bar-track{background:#f0f1f6;border-radius:4px;flex:1;height:8px;overflow:hidden}.cat-bar-fill{border-radius:4px;height:100%;display:block}.cat-bar-val{text-align:right;width:60px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem}
