:root{--bg: #fbf0ef;--coral: #e8998d;--coral-soft: #efb0a2;--coral-deep: #d2705f;--mocha: #c9a38a;--text: #5c4a47;--muted: #b08c84;--card: #ffffff;--field-bg: #fcf2f0;--field-border: #f2ddd8;--err: #d05a5a;--ok: #6fae8e;--font-body: "Nunito", -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans Myanmar", sans-serif;--font-display: "Baloo 2", "Nunito", "PingFang SC", "Microsoft YaHei", "Noto Sans Myanmar", sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);background-image:radial-gradient(circle at 12% 8%,#fdeae6 0%,transparent 42%),radial-gradient(circle at 90% 100%,#f7e6df 0%,transparent 46%);background-attachment:fixed;min-height:100vh}.appbar{display:flex;align-items:center;gap:10px;padding:15px 18px;background:linear-gradient(135deg,var(--coral),var(--coral-soft));color:#fff;font-family:var(--font-display);font-size:18px;font-weight:600;box-shadow:0 4px 18px #e8998d47}.appbar .brandlogo{width:32px;height:32px;border-radius:10px;background:#ffffffe6;display:grid;place-items:center;font-size:17px}.langswitch{position:fixed;top:11px;right:12px;display:flex;gap:4px;z-index:10}.langswitch button{width:auto;padding:4px 9px;font-size:12px;font-weight:700;font-family:var(--font-body);color:#fff;background:#ffffff47;border:none;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .15s ease}.langswitch button:disabled{background:#fff;color:var(--coral-deep);opacity:1}main{padding:22px 16px 40px;display:flex;justify-content:center}.card{background:var(--card);width:100%;max-width:400px;padding:26px 22px;border-radius:26px;box-shadow:0 12px 36px #e8998d29,0 2px 8px #b4827814;display:flex;flex-direction:column;gap:15px;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.greet{font-size:14px;color:var(--muted);margin:6px 2px -4px;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.greet b{font-weight:800;color:var(--coral-deep)}.card h1{font-family:var(--font-display);font-size:23px;font-weight:700;color:var(--coral-deep);margin:0 0 2px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;color:var(--muted);padding-left:4px}input{width:100%;padding:14px 15px;font-size:16px;font-family:var(--font-body);color:var(--text);background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:14px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:#cdb3ab}input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px #e8998d24}button{width:100%;padding:14px;font-size:16px;font-weight:800;font-family:var(--font-body);color:#fff;background:var(--coral);border:none;border-radius:15px;cursor:pointer;box-shadow:0 7px 16px #e8998d52;transition:transform .12s ease,box-shadow .12s ease,background .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #e8998d61}button:active{transform:translateY(0);box-shadow:0 4px 10px #e8998d4d}button.ghost{background:#fff;color:var(--coral-deep);border:1.5px solid var(--coral-soft);box-shadow:none}button.ghost:hover{background:#fef6f4;box-shadow:0 4px 12px #e8998d29}.linkbtn,.card a{background:none;border:none;color:var(--mocha);font-weight:700;font-size:13px;text-align:center;text-decoration:none;cursor:pointer;box-shadow:none;padding:4px}.linkbtn:hover,.card a:hover{color:var(--coral-deep);transform:none;box-shadow:none}.langrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.langrow button{background:#fcf2f0;color:var(--coral-deep);font-weight:700;font-size:15px;padding:15px 10px;box-shadow:none;border:1.5px solid var(--field-border)}.langrow button.on{background:var(--coral);color:#fff;border-color:var(--coral);box-shadow:0 6px 14px #e8998d4d}.err{color:var(--err);margin:0;font-size:14px;font-weight:600}.ok{color:var(--ok);font-size:17px;font-weight:800;text-align:center;margin:6px 0 0}.tagline{text-align:center;font-size:12px;color:var(--muted);margin:8px 0 0;opacity:.85}.invite{background:linear-gradient(160deg,#fdf3f1,#fbeae6);border:1.5px solid #f6dfd9;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:14px;animation:fadeUp .4s cubic-bezier(.22,1,.36,1) both}.invite .ihint{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.invite-block{display:flex;flex-direction:column;gap:4px}.invite-label{font-size:11px;font-weight:800;color:var(--mocha);text-transform:uppercase;letter-spacing:.04em}.invite-link{font-size:13px;color:var(--text);word-break:break-all;background:#fff;padding:10px 12px;border-radius:11px}.invite-pin{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.18em;color:var(--coral-deep);background:#fff;padding:8px 14px;border-radius:11px;text-align:center}.invite-actions{display:flex;flex-direction:column;gap:9px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page{width:100%;max-width:400px}.muted{color:var(--muted);font-size:14px;text-align:center;margin:6px 0}main{padding-bottom:92px}.progresswrap{display:flex;align-items:center;gap:10px}.progressbar{flex:1;height:12px;background:#f3e3df;border-radius:999px;overflow:hidden}.progressfill{height:100%;background:linear-gradient(90deg,var(--coral),var(--coral-soft));border-radius:999px;transition:width .45s cubic-bezier(.22,1,.36,1)}.progressnum{font-family:var(--font-display);font-weight:700;color:var(--coral-deep);font-size:15px;min-width:46px;text-align:right}.tasklist{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:8px}.tasklist li{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--field-bg);border-radius:13px;font-size:15px}.tasklist li.done{opacity:.55}.tasklist li.done .ttitle{text-decoration:line-through}.tcheck{color:var(--coral);font-weight:800}.ttitle{flex:1}.ttime{font-size:12px;color:var(--mocha);background:#fff;padding:3px 9px;border-radius:999px;white-space:nowrap}.del{width:auto;padding:0 8px;background:none;color:var(--muted);font-size:22px;box-shadow:none;line-height:1}.del:hover{color:var(--err);transform:none;box-shadow:none}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.addbox{background:#fdf3f1;border:1.5px solid var(--field-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;animation:fadeUp .3s ease both}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{width:auto;padding:9px 14px;font-size:14px;font-weight:700;background:#fff;color:var(--coral-deep);border:1.5px solid var(--field-border);border-radius:999px;box-shadow:none}.chip.on{background:var(--coral);color:#fff;border-color:var(--coral)}.chip:hover{transform:none;box-shadow:none}.worklist{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:12px}.worklist li{display:flex;align-items:center;gap:14px;padding:18px 16px;background:var(--field-bg);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}.worklist li:active{transform:scale(.99)}.worklist li.done{background:#f0f7f1;border-color:#cce7d4}.wcheck{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:2px solid var(--coral-soft);display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px}.worklist li.done .wcheck{background:var(--ok);border-color:var(--ok)}.wtitle{flex:1;font-size:17px;font-weight:600}.worklist li.done .wtitle{text-decoration:line-through;opacity:.6}.wtime{font-size:12px;color:var(--mocha);background:#fff;padding:4px 10px;border-radius:999px}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #f2ddd8;padding:6px 0 calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px #b4827814;z-index:20}.bottomnav button{flex:1;background:none;box-shadow:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:11px;font-weight:700;border-radius:0}.bottomnav button:hover{transform:none;box-shadow:none}.bottomnav button.on{color:var(--coral-deep)}.bottomnav .ic{font-size:20px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
