:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;width:100%}body{min-height:100vh;color:#111}.page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:96px 32px 32px;background:linear-gradient(135deg,#78d0d6,#5d93dd)}.app-shell{width:min(760px,100%)}.app-title{text-align:center;margin-bottom:18px}.app-title h1{margin:0;font-size:2.2rem;font-weight:700;color:#fff;letter-spacing:.02em;text-shadow:0 8px 24px rgba(0,0,0,.18)}.app-card{width:100%;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001f;padding:24px;color:#111;overflow:hidden}.app-stack{display:flex;flex-direction:column}.composer-input{display:block;width:100%;min-height:56px;border:none;outline:none;background:transparent;color:#111;font:inherit;line-height:1.4;padding:14px 0;margin:0;resize:none;overflow:hidden;box-sizing:border-box}.composer-row,.todo-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:stretch;width:100%;background:#e5e7eb;border:5px solid #dadde2;border-radius:18px;padding:0}.composer-row{background-color:#e5e7eb;margin-bottom:16px}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.todo-list,.completed-list{will-change:contents}.todo-main,.composer-main{display:flex;align-items:center;padding:0 12px;min-height:56px;min-width:0}.todo-text{display:block;width:100%;min-height:56px;color:#111;line-height:1.4;white-space:pre-wrap;word-break:break-word;padding:14px 0;margin:0}.todo-edit-input{display:block;width:100%;min-height:56px;border:none;outline:none;background:transparent;color:#111;font:inherit;line-height:1.4;padding:14px 0;margin:0;resize:none;overflow:hidden;box-sizing:border-box}.todo-main span{display:block;color:#111;word-break:break-word}.control-group{display:flex;align-items:stretch;overflow:hidden;border-radius:12px}.segment{border:none;background:transparent;color:#111;min-width:44px;width:48px;min-height:56px;font-size:1.25rem;padding:0 14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.segment:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.segment:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.segment+.segment{border-left:1px solid #e5e7eb}.segment:hover{background:#eef2f7}.segment:active{background:#e2e8f0}.segment svg,.add-btn svg{width:18px;height:18px;stroke-width:2;display:block}.segment,.add-btn,.checkbox-segment{display:flex;align-items:center;justify-content:center}.checkbox-indicator{display:block;width:24px;aspect-ratio:1 / 1;box-sizing:border-box;flex-shrink:0;border:2px solid #94a3b8;border-radius:6px;background:#fff;position:relative;transition:background .16s ease,border-color .16s ease,transform .12s ease}.checkbox-indicator:after{content:"";position:absolute;inset:50% auto auto 50%;width:10px;height:10px;border-radius:2px;background:#fff;transform:translate(-50%,-50%) scale(0);transition:transform .16s ease}.checkbox-segment.checked .checkbox-indicator{background:#111;border-color:#111;transform:scale(1.06)}.checkbox-segment.checked .checkbox-indicator:after{transform:translate(-50%,-50%) scale(1)}.checkbox-segment:active .checkbox-indicator{transform:scale(.94)}.checkbox-segment:hover{background:transparent}.completed-section{margin-top:20px}.completed-toggle{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0;border:none;background:transparent;cursor:pointer;color:#111;font:inherit}.completed-line{height:1px;background:#11111129}.completed-label{display:inline-flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap}.completed-arrow{display:inline-flex;align-items:center;justify-content:center;transition:transform .22s ease}.completed-arrow.open{transform:rotate(180deg)}.completed-list{list-style:none;padding:12px 0 0;margin:0;display:flex;flex-direction:column;gap:12px}.completed-list .todo-item{border:5px solid #dadde2;background-color:#e0e3e9}.completed-list .todo-left,.completed-list .todo-actions{opacity:1}.completed-list .todo-text{color:#11111180}.completed-collapse{overflow:hidden}.drag-segment{color:#6b7280;cursor:grab;line-height:1}.drag-segment:active{background:transparent;cursor:grabbing}.drag-segment:hover{background:transparent}.drag-segment svg{width:18px;height:18px;color:#6b7280}.drag-ghost{opacity:0}.todo-item{transition:transform .18s ease;align-items:start}.todo-item .control-group{height:56px}.todo-item .segment{min-height:56px}.composer-actions{display:flex;align-items:stretch;width:96px}.segment,.add-btn{font-size:1.1rem;display:flex;align-items:center;justify-content:center}.add-btn{border:none;background:transparent;color:#111;padding:0 16px;width:100%;min-width:0;cursor:pointer;transition:background .15s ease}.add-btn:hover{background:#eef2f7}.add-btn:active{background:#e2e8f0}.composer-input,.todo-edit-input{width:100%;min-height:56px;border:none;outline:none;background:transparent;color:#111;font:inherit;line-height:1.4;padding:14px 0;margin:0;resize:none;overflow:hidden}input::placeholder{color:#6b7280}
