:root{--bg: #f5f8f8;--card: #ffffff;--text: #1b2426;--muted: #8b9a9c;--line: #e3ecec;--accent: #0e7490;--accent-soft: #dff1f3;--danger: #c93a3a;--shadow: 0 1px 2px rgba(20, 45, 50, .05), 0 6px 24px -8px rgba(20, 45, 50, .12);--radius: 18px}@media(prefers-color-scheme:dark){:root{--bg: #101718;--card: #1a2325;--text: #e9f2f2;--muted: #7c8c8e;--line: #263234;--accent: #2ba5c0;--accent-soft: #14343c;--danger: #e05c5c;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 24px -8px rgba(0, 0, 0, .5)}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;touch-action:manipulation}input,textarea{font:inherit;color:inherit}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:0 18px}.splash{min-height:100dvh;display:grid;place-items:center}.splash-icon{width:72px;height:72px;border-radius:18px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.92);opacity:.8}}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;text-align:center}.login-icon{width:76px;height:76px;border-radius:20px;margin:0 auto 6px;box-shadow:var(--shadow)}.login-card h1{font-size:32px;letter-spacing:-.5px}.login-tag{color:var(--muted);margin-bottom:14px}.login-error{color:var(--danger);font-size:14px}.shake{animation:shake .4s}@keyframes shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.remember{display:flex;align-items:flex-start;gap:11px;padding:4px 2px;text-align:left;cursor:pointer}.remember input{position:absolute;opacity:0;width:0;height:0}.remember-box{flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;border:2px solid var(--muted);display:grid;place-items:center;color:transparent;transition:background .15s,border-color .15s}.remember input:checked+.remember-box{background:var(--accent);border-color:var(--accent);color:#fff}.remember input:focus-visible+.remember-box{outline:2px solid var(--accent);outline-offset:2px}.remember-label{font-size:15px;line-height:1.3}.remember-label small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.link-btn{font-size:14.5px;font-weight:600;color:var(--muted);padding:8px}.home-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-btn,.account-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:700;color:#fff}.account-btn{margin-top:4px;transition:transform .12s}.account-btn:active{transform:scale(.9)}.account-head{display:flex;align-items:center;gap:13px;margin-bottom:4px}.account-avatar{width:46px;height:46px;font-size:19px}.invite{display:flex;flex-direction:column;gap:10px;background:var(--card);border-radius:16px;padding:16px}.invite-label{font-size:13.5px;color:var(--muted);line-height:1.4}.invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:25px;font-weight:700;letter-spacing:3px;text-align:center;padding:12px;border-radius:12px;background:var(--accent-soft);color:var(--accent);overflow-wrap:anywhere}.field{width:100%;padding:14px 16px;font-size:16px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;outline:none;transition:border-color .15s}.field:focus{border-color:var(--accent)}.field::placeholder{color:var(--muted)}.field-title{font-size:19px;font-weight:650}.field-note{resize:none;line-height:1.45}.btn-primary{padding:14px 16px;font-size:16px;font-weight:650;color:#fff;background:var(--accent);border-radius:14px;transition:transform .1s,opacity .15s}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.4}.btn-secondary{padding:13px 16px;font-size:16px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:14px;transition:transform .1s}.btn-secondary:active{transform:scale(.97)}.btn-danger{padding:12px 16px;font-size:15px;font-weight:600;color:var(--danger);border-radius:14px}.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--text);transition:background .15s}.icon-btn:active{background:var(--line)}.home-head{padding:calc(26px + env(safe-area-inset-top)) 4px 20px}.home-head h1{font-size:34px;letter-spacing:-.6px}.home-tag{color:var(--muted);margin-top:3px;font-size:15px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:calc(30px + env(safe-area-inset-bottom))}.card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 16px 16px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;transition:transform .12s}.card:active{transform:scale(.965)}.card-emoji{font-size:34px;line-height:1.2;margin-bottom:6px}.card-name{font-size:17px;font-weight:650;letter-spacing:-.2px}.card-meta{font-size:13px;color:var(--muted)}.card-new{justify-content:center;align-items:center;gap:2px;background:transparent;box-shadow:none;border:2px dashed var(--line);color:var(--muted);min-height:118px}.card-new-plus{font-size:30px;line-height:1;font-weight:300}.list-screen{display:flex;flex-direction:column;padding-bottom:0}.list-head{display:flex;align-items:center;gap:4px;padding:calc(10px + env(safe-area-inset-top)) 0 8px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:5}.list-title{flex:1;display:flex;align-items:center;gap:9px;min-width:0;justify-content:center}.list-title-emoji{font-size:22px}.list-title h2{font-size:19px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.items{flex:1;display:flex;flex-direction:column;gap:9px;padding:12px 0 calc(108px + env(safe-area-inset-bottom))}.row{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);animation:row-in .25s ease-out}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.check{flex:none;width:27px;height:27px;border-radius:50%;border:2px solid var(--muted);display:grid;place-items:center;color:transparent;transition:background .18s,border-color .18s,transform .18s}.check:active{transform:scale(.85)}.check.checked{background:var(--accent);border-color:var(--accent);color:#fff;animation:check-pop .3s}@keyframes check-pop{40%{transform:scale(1.22)}}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.row-title{font-size:16.5px;font-weight:550;line-height:1.3;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:6px;transition:color .2s}.row-link{flex:none;color:var(--muted)}.row-meta{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:6px;align-items:baseline}.row-stars{color:var(--accent);letter-spacing:1px}.row-avatar{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.row.is-done .row-title{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 55%,transparent)}.row.is-done{box-shadow:none;background:color-mix(in srgb,var(--card) 55%,var(--bg))}.done-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 6px 4px;color:var(--muted);font-size:14px;font-weight:650;letter-spacing:.2px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 30px;text-align:center;color:var(--muted)}.empty-emoji{font-size:44px;filter:grayscale(.3);opacity:.8}.addbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:560px;display:flex;gap:10px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 65%,transparent)}.addbar-input{flex:1;min-width:0;padding:14px 18px;font-size:16px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;outline:none;box-shadow:var(--shadow);transition:border-color .15s}.addbar-input:focus{border-color:var(--accent)}.addbar-input::placeholder{color:var(--muted)}.addbar-btn{flex:none;width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);transition:transform .12s,opacity .2s}.addbar-btn:active{transform:scale(.9)}.addbar-btn:disabled{opacity:.35}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#140c0873;opacity:0;transition:opacity .22s}.sheet{position:relative;width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .24s cubic-bezier(.32,.72,.25,1)}.sheet-wrap.open .sheet-backdrop{opacity:1}.sheet-wrap.open .sheet{transform:translateY(0)}.sheet-handle{width:38px;height:4.5px;border-radius:3px;background:var(--line);margin:2px auto 14px}.sheet-body{display:flex;flex-direction:column;gap:12px}.sheet-title{font-size:20px;letter-spacing:-.3px;margin-bottom:2px}.sheet-caption{font-size:13px;color:var(--muted);padding:0 2px}.sheet-link{font-size:15px;font-weight:600;color:var(--accent);text-decoration:none;padding:0 2px}.sheet-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.emoji-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.emoji-pick{aspect-ratio:1;font-size:22px;display:grid;place-items:center;background:var(--card);border:2px solid transparent;border-radius:13px;transition:transform .1s,border-color .15s;padding:0}.emoji-pick:active{transform:scale(.88)}.emoji-pick.active{border-color:var(--accent);background:var(--accent-soft)}.emoji-custom{text-align:center;outline:none;width:100%}.emoji-custom::placeholder{color:var(--muted)}.rating{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:14px;padding:12px 16px}.rating-label{font-size:15px;font-weight:600}.rating-stars{display:flex;gap:2px}.star{font-size:24px;padding:2px 4px;color:var(--line);transition:color .15s,transform .1s}.star:active{transform:scale(1.3)}.star.filled{color:var(--accent)}@media(hover:hover){.card:hover{transform:translateY(-2px)}.icon-btn:hover{background:var(--line)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
