:root{--bg:#f3f7f5;--card:#fff;--ink:#12302d;--muted:#61746f;--line:#e1ebe7;--teal:#0f766e;--teal-2:#14b8a6;--teal-soft:#e3f4f1;--amber:#fbbf24;--red:#dc2626;--red-soft:#fdecec;--radius:18px;--shadow:0 1px 2px #10302c0f, 0 8px 24px #10302c0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;font-size:16px;line-height:1.55}a{color:var(--teal)}button{font:inherit;cursor:pointer}input{font:inherit}.shell{flex-direction:column;max-width:680px;min-height:100dvh;margin:0 auto;padding:0 16px;display:flex}.main{flex:1;padding:8px 0 32px}.header{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand .dot{color:var(--teal)}.langs{border:1px solid var(--line);background:#fff;border-radius:999px;gap:2px;padding:3px;display:flex}.langs a{color:var(--muted);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;text-decoration:none}.langs a[aria-current=true]{background:var(--teal);color:#fff}.footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:20px 0 28px;font-size:14px}.footer p{margin:4px 0}.footer a{font-weight:600}.footer .copy{font-size:13px}.btn{color:var(--ink);background:#fff;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--teal);color:#fff}.btn.primary:hover{background:#0c5f58}.btn.ghost{border-color:var(--line)}.btn.ghost:hover{background:var(--teal-soft)}.btn.danger{color:var(--red);background:#fff;border-color:#f5c9c9}.btn.sm{border-radius:10px;padding:7px 12px;font-size:14px}.btn.big{border-radius:14px;width:100%;padding:14px;font-size:17px}.btn:disabled{opacity:.6;cursor:default}.home{padding-top:12px}.home-title{letter-spacing:-.02em;margin:8px 0 22px;font-size:clamp(26px,6vw,36px);line-height:1.2}.steps{gap:12px;margin:0 0 28px;padding:0;list-style:none;display:grid}.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:14px;padding:16px 18px;display:flex}.steps .num{background:var(--teal-soft);width:32px;height:32px;color:var(--teal);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.steps p{margin:4px 0 0}.steps strong{color:var(--teal)}.fab-big{background:linear-gradient(135deg, var(--teal-2), var(--teal));color:#fff;border:0;border-radius:18px;justify-content:center;align-items:center;gap:12px;width:100%;padding:18px;font-size:18px;font-weight:700;display:flex;box-shadow:0 10px 24px #0f766e47}.fab-big .plus{font-size:30px;line-height:1}.fab-big:disabled{opacity:.7}.recent{margin-top:30px}.recent h2{color:var(--muted);margin:0 0 10px;font-size:15px;font-weight:600}.recent ul{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:0;padding:0;list-style:none;overflow:hidden}.recent li+li{border-top:1px solid var(--line)}.recent a{color:var(--ink);justify-content:space-between;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.recent a:hover{background:var(--teal-soft)}.r-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.r-meta{color:var(--muted);flex:none;font-size:14px}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;overflow:hidden}.card-head{padding:20px 20px 14px}.title{letter-spacing:-.01em;cursor:default;word-break:break-word;margin:0 0 8px;font-size:24px;line-height:1.25}.title .pen{color:var(--muted);cursor:pointer;margin-left:8px;font-size:16px}.rename{gap:8px;margin-bottom:8px;display:flex}.rename input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:18px;font-weight:700}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.badge.lock{color:#8a5a00;background:#fff7e0}.badge.open{background:var(--teal-soft);color:var(--teal)}.bar{background:var(--line);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--teal-2), var(--teal));height:100%;transition:width .3s;display:block}.empty{text-align:center;padding:24px 20px 8px}.empty p{margin:4px 0}.muted{color:var(--muted);font-size:14px}.tasks{margin:0;padding:0;list-style:none}.task{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 16px 12px 20px;display:flex}.task .check{flex:none;margin-top:1px;position:relative}.task .check input{opacity:0;cursor:pointer;width:28px;height:28px;margin:0;position:absolute}.task .box{color:#0000;border:2px solid #b9cbc6;border-radius:9px;place-items:center;width:28px;height:28px;font-weight:800;transition:all .15s;display:grid}.task .check input:checked+.box{background:var(--teal);border-color:var(--teal);color:#fff}.task .check input:focus-visible+.box{outline:3px solid var(--teal-soft)}.task .body{cursor:pointer;flex:1;min-width:0}.task .name{word-break:break-word;font-weight:600}.task.done .name{color:var(--muted);font-weight:500;text-decoration:line-through}.task .sub{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:2px;font-size:14px;display:flex}.task .due.late{color:var(--red);font-weight:600}.task.done .due.late{color:var(--muted);font-weight:400}.task .icon{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;padding:2px 6px;font-size:18px}.task .icon:hover{background:var(--teal-soft);color:var(--teal)}.task.editing{background:#fafdfc;display:block}.tform{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:13px;font-weight:600;display:flex}.field.full{grid-column:1/-1}.field input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:9px 11px;font-size:16px}.field input:focus{outline:2px solid var(--teal-2);border-color:#0000}.form-actions{grid-column:1/-1;align-items:center;gap:8px;display:flex}.form-actions .spacer{flex:1}.add{border:0;border-top:1px dashed var(--line);text-align:left;width:100%;color:var(--teal);background:0 0;align-items:center;gap:10px;padding:14px 20px;font-weight:700;display:flex}.add span{font-size:22px;line-height:1}.add:hover{background:var(--teal-soft)}.actions{gap:12px;margin-top:18px;display:grid}.actions .hint{text-align:center;color:var(--muted);margin:0;font-size:14px}.owner{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px 14px}.owner p{margin:0 0 10px}.owner .row{flex-wrap:wrap;gap:8px;display:flex}.toast{background:var(--ink);color:#fff;max-width:calc(100% - 32px);box-shadow:var(--shadow);z-index:10;border-radius:12px;padding:12px 18px;font-size:15px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.notfound{text-align:center;padding:48px 0}.donate{text-align:center;padding:16px 0 8px}.donate-logo{margin:8px auto 12px;display:block}.donate h1{letter-spacing:-.01em;margin:0 0 10px;font-size:26px}.donate-text{max-width:480px;margin:0 auto 26px;font-size:18px}.donate-text a{font-weight:700}.donate section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;max-width:420px;margin:0 auto 16px;padding:18px}.donate h2{margin:0 0 12px;font-size:17px}.bank img{border-radius:14px;width:100%;max-width:320px;height:auto}.paypal-box{min-height:48px}@media (max-width:420px){.tform{grid-template-columns:1fr}.title{font-size:21px}}
