*{box-sizing:border-box;margin:0;padding:0}html,body{color:#1a1a3a;-webkit-font-smoothing:antialiased;background:#ebe5d0;min-height:100vh;font-family:Patrick Hand,Noto Sans TC,cursive;font-size:17px;line-height:1.6}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select{font-family:inherit}.notebook{max-width:1100px;min-height:100vh;margin:0 auto;padding:0 24px}.nb-bar{border-bottom:2px solid #1a1a3a;justify-content:space-between;align-items:center;padding:18px 0;display:flex}.nb-back{color:#1a1a3a;font-family:Kalam,cursive;font-size:18px;font-weight:700;text-decoration:none}.nb-back:hover{text-decoration:underline}.nb-date{color:#4a4a6a;letter-spacing:1px;font-family:Patrick Hand,cursive;font-size:16px}.nb-main{padding:36px 0 24px}.title-block{margin-bottom:32px}.nb-title{color:#1a1a3a;margin:0;font-family:Kalam,cursive;font-size:clamp(40px,7vw,64px);font-weight:700;line-height:1}.strikeover{color:#d92a2a;margin-left:12px;font-family:Kalam,cursive;font-size:.55em;font-weight:400;-webkit-text-decoration:line-through #d92a2a;text-decoration:line-through #d92a2a;display:inline-block;transform:rotate(-2deg)}.nb-sub{color:#4a4a6a;margin-top:8px;font-family:Patrick Hand,cursive;font-size:22px}.nb-grid{grid-template-columns:280px 1fr;align-items:start;gap:32px;display:grid}@media (width<=768px){.nb-grid{grid-template-columns:1fr}}.sticky{background:#fff4a3;padding:24px 22px;font-family:Kalam,cursive;transform:rotate(-2deg);box-shadow:0 1px 4px #0000001a,0 18px 24px -10px #00000026}.sticky:hover{transform:rotate(0)}.sticky h2{color:#1a1a3a;text-align:center;border-bottom:2px dashed #c9b850;margin:0 0 16px;padding-bottom:8px;font-family:Kalam,cursive;font-size:22px;font-weight:700}.sticky label{color:#1a1a3a;letter-spacing:.5px;margin-top:12px;margin-bottom:4px;font-family:Patrick Hand,cursive;font-size:14px;font-weight:400;display:block}.sticky input{color:#1a1a3a;background:#fff9;border:none;border-bottom:2px solid #1a1a3a;outline:none;width:100%;padding:6px 4px;font-family:Patrick Hand,cursive;font-size:15px}.sticky input:focus{background:#fff;border-bottom-color:#d92a2a}.subj-row{grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:4px;display:grid}.subj{color:#1a1a3a;background:#ffffff80;border:1.5px solid #0000;padding:4px;font-family:Patrick Hand,cursive;font-size:14px;transition:all .15s}.subj:hover{background:#ffffffd9}.subj-on{color:#fff4a3;background:#1a1a3a;border-color:#1a1a3a}.submit{color:#fff;letter-spacing:1px;background:#d92a2a;border-radius:4px;width:100%;margin-top:14px;padding:10px;font-family:Kalam,cursive;font-size:17px;font-weight:700;transition:transform .1s,background .15s}.submit:hover:not(:disabled){background:#b22222;transform:rotate(-1deg)}.submit:disabled{opacity:.4;cursor:not-allowed}.sticky-tip{color:#555;border-top:1.5px dashed #c9b850;margin-top:16px;padding-top:12px;font-family:Patrick Hand,cursive;font-size:13px;line-height:1.5}.paper{background:#fff linear-gradient(#0000 31px,#c1d6e8 32px,#0000 33px) 0 0/100% 32px;border-left:3px solid #d92a2a;padding:24px 30px 30px 50px;font-family:Patrick Hand,cursive;position:relative;box-shadow:0 6px 20px -8px #00000026}.paper:before{content:"";background:#d92a2a66;width:1.5px;position:absolute;top:0;bottom:0;left:18px}.progress-head{margin-bottom:18px}.prog-line{color:#1a1a3a;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-family:Kalam,cursive;font-size:22px;font-weight:700;display:flex}.percent{color:#d92a2a}.prog-bar{background:#ebe5d0;border:1.5px solid #1a1a3a;height:10px;position:relative;overflow:hidden}.prog-fill{background:repeating-linear-gradient(45deg,#d92a2a 0 8px,tomato 8px 16px);height:100%;transition:width .4s}.prog-meta{color:#4a4a6a;margin-top:6px;font-family:Patrick Hand,cursive;font-size:15px}.list-title{color:#1a1a3a;border-bottom:2px solid #1a1a3a;margin:24px 0 12px;padding-bottom:4px;font-family:Kalam,cursive;font-size:20px;font-weight:700}.empty{text-align:center;color:#888;padding:32px 0;font-style:italic}.todo{padding:0;list-style:none}.todo-item{border-bottom:1px dashed #1a1a3a26;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.todo-item:last-child{border:none}.todo-done{opacity:.5}.check{color:#d92a2a;cursor:pointer;background:#fff;border:2.5px solid #1a1a3a;flex-shrink:0;width:26px;height:26px;margin-top:4px;font-family:Kalam,cursive;font-size:22px;font-weight:700;transition:all .15s}.check.checked{color:#fff;background:#d92a2a}.todo-meat{flex:1;min-width:0}.todo-tags{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.subj-tag{color:#fff4a3;letter-spacing:.5px;background:#1a1a3a;padding:1px 8px;font-family:Patrick Hand,cursive;font-size:13px}.subj-tag.subj-國文{color:#fff;background:#d92a2a}.subj-tag.subj-英文{color:#fff;background:#2a6cd9}.subj-tag.subj-數學{color:#fff;background:#e89c20}.subj-tag.subj-社會{color:#fff;background:#2a8e3a}.subj-tag.subj-自然{color:#fff;background:#7a3ad9}.subj-tag.subj-其他{color:#fff;background:#4a4a6a}.due{color:#555;font-family:Patrick Hand,cursive;font-size:13px}.due-soon{color:#d97520;font-weight:700}.due-late{color:#d92a2a;font-weight:700}.todo-title{color:#1a1a3a;margin:2px 0 0;font-family:Patrick Hand,cursive;font-size:18px;line-height:1.35}.todo-done .todo-title{-webkit-text-decoration:line-through #d92a2a;text-decoration:line-through #d92a2a;text-decoration-thickness:2px}.del{color:#1a1a3a66;background:0 0;flex-shrink:0;margin-top:4px;font-size:16px}.del:hover{color:#d92a2a}.nb-foot{border-top:2px solid #1a1a3a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding:28px 0 36px;display:flex}.nb-foot p{color:#4a4a6a;margin:0;font-family:Kalam,cursive;font-size:16px}.cta{color:#fff;background:#d92a2a;padding:10px 22px;font-family:Kalam,cursive;font-size:17px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s}.cta:hover{background:#b22222;transform:rotate(-1deg)}
