@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{color:#282b29;font-synthesis:none;background:#f6f3ed;font-family:DM Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.page-shell{background:radial-gradient(circle at 12% 12%,#d5e1cdb3,#0000 25%),radial-gradient(circle at 88% 90%,#e7cfb180,#0000 24%),#f6f3ed;flex-direction:column;height:100dvh;padding:12px;display:flex}.todo-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #3441371a;border-radius:22px;flex-direction:column;flex:1;align-self:center;width:min(620px,100%);min-height:0;padding:clamp(20px,3vw,36px);display:flex;box-shadow:0 24px 70px #37342b1a}.todo-card.columns-2{width:min(1240px,100%)}.hero{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.eyebrow{color:#788d76;letter-spacing:.2em;margin:0 0 8px;font-size:.72rem;font-weight:700}h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.15}h1 span{display:block}h1 span:last-child{color:#5f765c}.leaf-counter{color:#fff;text-align:center;background:linear-gradient(135deg,#8fb07f 0%,#5f765c 100%);border-radius:12px 50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:144px;height:144px;padding:0 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #4f684a47,inset 0 1px #ffffff40}.leaf-counter:before{content:"";background:#ffffff24;width:150%;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.leaf-counter>span{position:relative}.leaf-label{letter-spacing:.02em;font-size:.9rem;font-weight:700}.leaf-count{font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:700;line-height:1.1}.leaf-count small{margin-left:2px;font-size:1rem;font-weight:500}.leaf-co2{font-size:.95rem;font-weight:700}.subtitle{color:#777a75;margin:14px 0 0}.toolbar{color:#858781;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 10px;font-size:.78rem;display:flex}.toolbar-start{align-items:center;gap:12px;display:flex}.toolbar-end{align-items:center;gap:16px;display:flex}.add-button{color:#fff;background:#5f765c;border:0;border-radius:12px;flex:none;width:44px;height:44px;padding:0;font-size:1.5rem;line-height:1;transition:transform .15s,background .15s;box-shadow:0 6px 16px #4f684a40}.add-button:hover{background:#536a50;transform:translateY(-2px)}.add-button:focus-visible{outline-offset:2px;outline:3px solid #879c8273}.layout-switch{background:#f1f0eb;border-radius:10px;gap:3px;padding:4px;display:flex}.layout-switch button{color:#73766f;background:0 0;border:0;border-radius:7px;padding:6px 10px;font-size:.75rem}.layout-switch button.active{color:#344132;background:#fff;box-shadow:0 2px 7px #32373014}.filters{background:#f1f0eb;border-radius:10px;gap:4px;padding:4px;display:flex}.filters button{color:#73766f;background:0 0;border:0;border-radius:7px;padding:6px 10px;font-size:.75rem}.filters button.active{color:#344132;background:#fff;box-shadow:0 2px 7px #32373014}.todo-list{scrollbar-color:#b8c2b4 transparent;scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;column-gap:20px;min-height:0;margin:0;padding:0 6px 0 0;list-style:none;display:grid;overflow-y:auto}.todo-list.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-list li{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-bottom:1px solid #ecebe6;align-items:center;gap:10px;min-height:42px;padding:6px 10px;transition:background .15s,opacity .15s,transform .15s,box-shadow .15s;display:flex}.todo-list li.dragging{z-index:1;cursor:grabbing;opacity:.75;background:#edf1eb;border-radius:10px;position:relative;transform:scale(1.02);box-shadow:0 8px 20px #3746342e}.todo-list li.drop-before{border-top:2px solid #5f765c}.todo-list li.drop-after{border-bottom:2px solid #5f765c}.editable-title{min-width:0;color:inherit;text-align:left;overflow-wrap:anywhere;cursor:text;background:0 0;border:0;border-radius:4px;flex:1;padding:4px 0;font-size:1rem}.editable-title:focus-visible{outline-offset:2px;outline:2px solid #879c82}.todo-list li.completed .editable-title{color:#a1a39e;text-decoration:line-through}.check-button{color:#fff;background:0 0;border:1.5px solid #acb5a9;border-radius:50%;width:23px;height:23px;padding:0;font-size:.72rem}.completed .check-button{background:#73866f;border-color:#73866f}.edit-form{flex:1;gap:6px;min-width:0;display:flex}.edit-form input{color:#282b29;background:#f5f4ef;border:1px solid #879c82;border-radius:8px;outline:none;flex:1;min-width:0;padding:8px 10px}.delete-button{color:#b3aaa3;opacity:0;background:0 0;border:0;font-size:1.35rem;transition:color .15s,opacity .15s}.todo-list li:hover .delete-button,.delete-button:focus{opacity:1}.delete-button:hover{color:#a1584e}.empty-state{color:#a5aaa2;place-items:center;min-height:180px;display:grid}.empty-state span{border:1px solid #cbd0c7;border-radius:50%;place-items:center;width:48px;height:48px;margin-top:30px;font-size:1.2rem;display:grid}.empty-state p{margin:-10px 0 30px;font-size:.9rem}.clear-button{color:#8b7770;text-underline-offset:4px;background:0 0;border:0;margin:22px auto 0;font-size:.78rem;text-decoration:underline;display:block}footer{color:#93928c;text-align:center;letter-spacing:.05em;margin-top:8px;font-size:.7rem}footer p{margin:0}.shortcut-hint{color:#73766f;letter-spacing:.02em;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:.76rem;display:flex;margin-bottom:4px!important}kbd{color:#344132;min-width:1.6em;font:inherit;text-align:center;background:#fff;border:1px solid #d6d9d2;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.page-shell{padding:8px}.todo-card{border-radius:18px;padding:20px 16px}.hero{gap:10px}h1{font-size:1.45rem}.leaf-counter{width:104px;height:104px;padding:0 4px}.leaf-label{letter-spacing:0;font-size:.66rem}.leaf-co2{font-size:.76rem}.leaf-count{font-size:1.9rem}.toolbar{flex-wrap:wrap}.toolbar-end{justify-content:space-between;width:100%}.delete-button{opacity:1}}@media (height<=560px){.empty-state{min-height:120px}.empty-state span{margin-top:12px}.empty-state p{margin-bottom:12px}}@media (hover:none) and (pointer:coarse){.shortcut-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
