.header{position:relative;padding:28px 30px 20px}.washi-tape{position:absolute;height:36px;border-radius:2px;opacity:.78;transform:rotate(-1.5deg);box-shadow:0 1px 2px #0000000f}.washi-tape:nth-child(1){top:-6px;left:20px;width:90px;background:var(--tape-yellow);transform:rotate(-2deg)}.washi-tape:nth-child(2){top:-8px;left:130px;width:75px;background:var(--tape-pink);transform:rotate(1.5deg)}.washi-tape:nth-child(3){top:-4px;right:40px;width:80px;background:var(--tape-green);transform:rotate(-1deg)}.washi-tape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 8px,rgba(255,255,255,.3) 8px,rgba(255,255,255,.3) 9px);border-radius:2px}.header-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.title-group{display:flex;align-items:baseline;gap:10px}.title{font-family:ZCOOL KuaiLe,cursive;font-size:2rem;color:var(--ink);letter-spacing:2px}.title-icon{font-size:1.6rem}.date-stamp{font-family:Ma Shan Zheng,cursive;font-size:.85rem;color:var(--accent);background:#d4846b1a;border:1.5px dashed var(--accent-soft);border-radius:50%;width:60px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;transform:rotate(8deg);flex-shrink:0}.date-stamp .day{font-size:1.3rem;font-weight:700}@media(max-width:480px){.header{padding:20px 16px 14px}.title{font-size:1.5rem}.date-stamp{width:48px;height:48px;font-size:.7rem}.date-stamp .day{font-size:1.1rem}}.stats-bar{display:flex;gap:12px;padding:0 30px 6px;font-size:.78rem;color:var(--ink-light);margin-top:6px}.stat-item{display:flex;align-items:center;gap:4px}.stat-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.stat-dot.done{background:var(--green)}.stat-dot.pending{background:var(--accent-soft)}.progress-bar-wrap{margin:8px 30px 0;height:4px;background:var(--line);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--green);border-radius:2px;transition:width .4s ease}@media(max-width:480px){.stats-bar{padding:0 16px 4px}}.input-section{padding:16px 30px;display:flex;flex-direction:column;gap:10px;border-bottom:1px dashed var(--line)}.input-row{display:flex;gap:8px}.input-main{flex:1;padding:12px 16px;border:2px dashed var(--line);border-radius:10px;background:#fff9;font-family:Noto Sans SC,sans-serif;font-size:.95rem;color:var(--ink);outline:none;transition:all .2s}.input-main:focus{border-color:var(--accent-soft);background:#ffffffe6;box-shadow:0 0 0 3px #d4846b14}.input-main::placeholder{color:#c4b5a0;font-style:italic}.btn-add{padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:ZCOOL KuaiLe,cursive;font-size:1rem;cursor:pointer;letter-spacing:1px;transition:all .2s;box-shadow:0 3px 8px #d4846b4d;white-space:nowrap}.btn-add:hover{background:#c77a62;transform:translateY(-1px);box-shadow:0 5px 14px #d4846b59}.btn-add:active{transform:translateY(0);box-shadow:0 2px 4px #d4846b4d}.btn-add:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ai{padding:12px 16px;background:linear-gradient(135deg,#7a8c9e,#6a7c8e);color:#fff;border:none;border-radius:10px;font-family:ZCOOL KuaiLe,cursive;font-size:.95rem;cursor:pointer;letter-spacing:1px;transition:all .2s;box-shadow:0 3px 8px #7a8c9e4d;white-space:nowrap}.btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#6a7c8e,#5a6c7e);transform:translateY(-1px);box-shadow:0 5px 14px #7a8c9e66}.btn-ai:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #7a8c9e4d}.btn-ai:disabled{opacity:.5;cursor:not-allowed;transform:none}.category-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.category-label{font-size:.75rem;color:var(--ink-light);margin-right:2px;font-family:Ma Shan Zheng,cursive}.category-chip{padding:4px 12px;border-radius:20px;font-size:.78rem;cursor:pointer;border:1.5px solid transparent;transition:all .2s;font-family:Ma Shan Zheng,cursive;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.category-chip.active{border-color:var(--ink);box-shadow:0 1px 3px #0000001a}@media(max-width:480px){.input-section{padding:12px 16px}}.filter-row{display:flex;gap:8px;padding:12px 30px;flex-wrap:wrap}.filter-btn{padding:5px 14px;border-radius:15px;font-size:.75rem;cursor:pointer;border:1.5px dashed var(--line);background:transparent;color:var(--ink-light);font-family:Ma Shan Zheng,cursive;letter-spacing:.5px;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:#d4846b1a;border-color:var(--accent-soft);color:var(--accent)}@media(max-width:480px){.filter-row{padding:8px 16px}}.task-item{display:flex;align-items:center;gap:10px;padding:12px 10px;border-bottom:1px dotted var(--line);transition:all .25s;position:relative;animation:taskIn .35s ease;cursor:default}.checkbox-wrap{flex-shrink:0;position:relative;width:26px;height:26px;cursor:pointer}.checkbox-wrap input{position:absolute;opacity:0;pointer-events:none}.check-box{width:26px;height:26px;border:2.5px solid var(--ink-light);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .25s;background:#ffffff80;position:relative}.check-box:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:1.5px solid var(--ink-light);border-radius:8px;opacity:0;transition:opacity .25s}.checkbox-wrap:hover .check-box:before{opacity:.4}.check-box svg{opacity:0;transform:scale(.5);transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.checkbox-wrap input:checked+.check-box{background:var(--green);border-color:var(--green)}.checkbox-wrap input:checked+.check-box svg{opacity:1;transform:scale(1)}.task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.task-text{font-size:.95rem;color:var(--ink);word-break:break-word;transition:all .25s;line-height:1.5}.task-item.done .task-text{text-decoration:line-through;text-decoration-color:var(--ink-light);text-decoration-thickness:2px;color:var(--ink-light);opacity:.65}.task-meta{display:flex;gap:8px;align-items:center;font-size:.7rem;color:var(--ink-light);flex-wrap:wrap}.task-cat{padding:2px 8px;border-radius:10px;font-size:.7rem;font-family:Ma Shan Zheng,cursive;letter-spacing:.5px}.task-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .2s}.task-item:hover .task-actions{opacity:1}.btn-icon{width:30px;height:30px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-light);font-size:1rem;transition:all .15s}.btn-icon:hover{background:#0000000d;color:var(--ink)}.btn-icon.danger:hover{background:#dc64501a;color:#c75a50}.edit-input{width:100%;padding:6px 10px;border:2px dashed var(--accent-soft);border-radius:8px;font-family:Noto Sans SC,sans-serif;font-size:.95rem;color:var(--ink);background:#fffc;outline:none}.task-list{list-style:none;padding:8px 30px 24px;min-height:200px}.empty-hint{text-align:center;color:#c4b5a0;font-family:Ma Shan Zheng,cursive;font-size:1rem;padding:50px 0;line-height:1.8;border-bottom:none}@media(max-width:480px){.task-list{padding:8px 16px 20px}}.clear-section{text-align:center;padding:0 30px 18px}.btn-clear{font-family:Ma Shan Zheng,cursive;font-size:.8rem;color:var(--ink-light);background:none;border:none;cursor:pointer;padding:6px 16px;border-radius:12px;transition:all .2s;letter-spacing:1px}.btn-clear:hover:not(:disabled){background:#c8645014;color:#c75a50}.btn-clear:disabled{opacity:.4;cursor:default}.footer-decor{display:flex;justify-content:center;gap:8px;padding:0 30px 24px;font-size:1.2rem;opacity:.5}:root{--paper: #faf5eb;--paper-dark: #f0e8d5;--ink: #4a3728;--ink-light: #8b7355;--accent: #d4846b;--accent-soft: #f0c4b4;--green: #7a9e7a;--blue: #7a8c9e;--yellow: #e8d49a;--pink: #e8b4b8;--purple: #b4a4c8;--line: #d4c5b2;--shadow: rgba(74, 55, 40, .08);--tape-yellow: #f5e6c8;--tape-pink: #f2d4d8;--tape-green: #d4e0d4}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans SC,sans-serif;background:#e8ddd0;background-image:radial-gradient(circle,rgba(180,160,140,.25) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(190,170,150,.35) 2px,transparent 2px),radial-gradient(circle,rgba(200,180,160,.2) 1px,transparent 1px),radial-gradient(ellipse at 20% 50%,#efe4d5 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,#f0e6d8 0%,transparent 60%),radial-gradient(ellipse at 50% 80%,#e8dcc8 0%,transparent 60%);background-size:24px 24px,48px 48px,16px 16px,100% 100%,100% 100%,100% 100%;background-position:0 0,12px 12px,4px 4px,0 0,0 0,0 0;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:30px 20px}.desk{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(180,160,140,.06) 23px,rgba(180,160,140,.06) 24px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(180,160,140,.03) 80px,rgba(180,160,140,.03) 81px)}.journal{position:relative;z-index:1;width:100%;max-width:520px;background:var(--paper);border-radius:16px 8px 8px 16px;box-shadow:0 2px 20px var(--shadow),0 1px 3px #0000000f,inset 0 0 0 1px #ffffff80;overflow:visible}.rings{position:absolute;left:-16px;top:30px;bottom:30px;width:24px;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-around}.ring{width:22px;height:28px;border-radius:50%;border:3px solid #c4b5a0;background:linear-gradient(135deg,#d4c8b8,#bfb09a);box-shadow:inset 0 2px 3px #ffffff80,0 2px 4px #0000001a,0 0 0 4px var(--paper);position:relative}.ring:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#00000026;transform:translate(-50%);border-radius:1px}.sticker{position:absolute;font-size:2rem;opacity:.6;pointer-events:none;z-index:0;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.1))}.sticker.s1{bottom:-30px;right:20px;animation-delay:0s}.sticker.s2{bottom:-20px;left:30px;animation-delay:2s;font-size:1.6rem}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes taskIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.journal{border-radius:10px 4px 4px 10px}.ring{width:16px;height:22px}.rings{left:-12px}}
