:root,[data-theme=light]{--brand: #538946;--brand-dark: #447039;--bg: #faf7f0;--surface: #ffffff;--text: #14161c;--text-muted: #4b5563;--border: #dcdfe4;--danger: #c62828;--radius: 12px;--shadow: 0 1px 3px rgba(17, 24, 39, .1), 0 1px 2px rgba(17, 24, 39, .05);--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=dark]{--brand: #6bb35a;--brand-dark: #58a247;--bg: #101218;--surface: #1e212b;--text: #f5f6f8;--text-muted: #c7cdd9;--border: #333846;--danger: #f37472;--shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4)}html{color-scheme:light dark}.home{text-align:center;max-width:520px;margin:0 auto;padding:32px 0 48px;display:flex;flex-direction:column;align-items:center}.home-logo{width:160px;height:160px;border-radius:34px;box-shadow:0 10px 30px #11182726;margin-bottom:28px}.home-title{font-size:2.2rem;line-height:1.15;margin:0 0 14px;letter-spacing:-.02em}.home-sub{font-size:1.1rem;color:var(--text-muted);margin:0 0 32px;max-width:420px}.home-cta{display:flex;flex-direction:column;align-items:center;gap:16px}.home-login-link{color:var(--text-muted);text-decoration:none;font-weight:600}.home-login-link:hover{color:var(--brand-dark)}.home-platforms{margin-top:36px;color:var(--text-muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.nav-icon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);padding:8px}.nav-icon-link:hover{color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px #00000059;padding:22px;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-title{margin:0 0 16px;font-size:1.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px;max-height:220px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:10px}.icon-choice{aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .12s,background .12s}.icon-choice:hover{border-color:var(--border)}.icon-choice.selected{border-color:var(--brand);background:var(--brand);color:#fff}.profile-identity{display:flex;align-items:center;gap:14px;margin-bottom:24px}.profile-name{font-weight:700;font-size:1.1rem}.profile-email{color:var(--text-muted)}.avatar{border-radius:50%;object-fit:cover;display:block;background:var(--bg)}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.nav-icon-link{padding:4px}.legal{max-width:640px}.legal h1{margin:0 0 4px}.legal-updated{color:var(--text-muted);font-size:.85rem;margin:0 0 20px}.legal h2{font-size:1.1rem;margin:24px 0 6px}.legal p,.legal li{line-height:1.6;color:var(--text)}.legal-links{margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}.about{max-width:640px}.about-figure{margin:12px 0 24px;text-align:center}.about-photo{width:100%;max-width:320px;border-radius:16px;box-shadow:var(--shadow)}.about-figure figcaption{margin-top:10px;color:var(--text-muted);font-size:.9rem;font-style:italic}.about p{line-height:1.65}.home-footer{margin-top:40px;display:flex;gap:10px;align-items:center;color:var(--text-muted);font-size:.85rem}.home-footer a{color:var(--text-muted);text-decoration:none}.home-footer a:hover{color:var(--brand-dark);text-decoration:underline}.auth-legal{margin-top:16px;font-size:.82rem;color:var(--text-muted);text-align:center}.profile-section{padding:18px 0;border-top:1px solid var(--border)}.profile-heading{margin:0 0 4px;font-size:1.05rem}.profile-hint{margin:0 0 12px;color:var(--text-muted);font-size:.9rem}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;gap:10px;cursor:pointer}.radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--brand)}.space-switch{display:flex;gap:3px;padding:3px;margin-bottom:16px;background:color-mix(in srgb,var(--text) 7%,transparent);border-radius:10px}.space-switch button{flex:1;border:none;background:none;padding:8px 0;border-radius:8px;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.space-switch button.active{background:var(--brand);color:#fff}.paste-choice-text{color:var(--text-secondary, var(--text-muted));margin:0 0 20px;line-height:1.5}.paste-choice-actions{display:flex;flex-direction:column;gap:10px}.paste-choice-actions .btn{width:100%}.paste-choice-one{border:1px solid var(--border)}.trash-section{margin-top:32px}.trash-note{color:var(--text-muted);font-size:.85rem;margin:0 0 12px}.list-card.trashed{padding:10px 12px;gap:12px;opacity:.85}.list-card.trashed .list-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom));z-index:120;display:flex;align-items:center;gap:16px;padding:12px 16px;background:#21242e;color:#f5f6f8;border-radius:12px;box-shadow:0 8px 28px #00000059;font-size:.9rem;animation:slide-up .2s ease-out}.toast-action{background:none;border:none;color:#8fd07e;font:inherit;font-weight:700;cursor:pointer;padding:0}.install-prompt{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;width:calc(100% - 24px);max-width:460px;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px #0000002e;animation:slide-up .25s ease-out}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.install-logo{width:44px;height:44px;border-radius:10px;flex-shrink:0}.install-text{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.9rem;min-width:0}.install-text strong{font-size:.95rem}.install-text span{color:var(--text-muted)}.install-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app-shell{min-height:100%;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-left)) 12px max(16px,env(safe-area-inset-right));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:var(--brand);text-decoration:none}.brand-logo{display:block;border-radius:10px;width:48px;height:48px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);padding:8px}.theme-toggle:hover{color:var(--text)}.navbar-login{font-weight:600;color:var(--brand-dark);text-decoration:none}.navbar-actions{display:flex;align-items:center;gap:10px}.navbar-email{color:var(--text-muted);font-size:.85rem;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right))}.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:10px;padding:10px 16px;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{cursor:not-allowed}.btn-ghost:disabled,.btn-google:disabled{opacity:.55}.btn-primary{background:var(--brand);color:#fff}.btn-primary:disabled{background:color-mix(in srgb,var(--brand) 55%,var(--surface));color:#fff}.btn-lg{padding:14px 26px;font-size:1.05rem;border-radius:12px}.btn-sm{padding:7px 12px;font-size:.9rem}.btn-primary:not(:disabled):hover{background:var(--brand-dark)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent;padding:6px 10px}.btn-ghost:hover{background:#1118270d}.btn-danger{color:var(--danger)}.link-button{background:none;border:none;color:var(--brand);font:inherit;cursor:pointer;padding:0;margin-top:12px}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-google:not(:disabled):hover{background:#11182708}.google-g{flex-shrink:0}.or-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--text-muted);font-size:.85rem}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--border)}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:var(--text-muted)}input[type=text],input[type=email],input[type=password]{font:inherit;color:var(--text);padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);width:100%}input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.inline-form{display:flex;gap:8px;margin-bottom:18px}.inline-form input{flex:1}.form-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;margin:0;font-size:.9rem}.form-notice{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:8px 12px;margin:0;font-size:.9rem}.auth-card,.notice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px;max-width:420px;margin:32px auto}.auth-card h1,.notice-card h1{margin:0 0 4px;font-size:1.5rem}.auth-sub{margin:0 0 20px;color:var(--text-muted)}.auth-alt{margin-top:20px;color:var(--text-muted);font-size:.9rem}a{color:var(--brand)}.page-header{margin-bottom:16px}.page-header h1{margin:0;font-size:1.6rem}.breadcrumb{margin-bottom:16px;font-size:.9rem}.breadcrumb a{text-decoration:none}.empty{color:var(--text-muted);text-align:center;padding:32px 0}.list-grid{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.list-card{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px 8px 4px 4px}.list-card-link{flex:1;display:flex;align-items:center;gap:12px;padding:14px 4px;font-weight:600;color:var(--text);text-decoration:none;min-width:0}.list-card-link:hover{color:var(--brand)}.list-card-icon{display:inline-flex;color:var(--brand);flex-shrink:0}.list-card-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card-count{flex-shrink:0;min-width:26px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:.8rem;font-weight:700}.list-card-btn{flex-shrink:0;padding:6px 8px;font-size:.85rem}.items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.item{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 8px 6px 6px}.item-row{display:flex;align-items:center;gap:8px}.item-thumb-btn{border:none;background:none;padding:0;margin:2px 4px 4px 46px;cursor:zoom-in;align-self:flex-start;max-width:calc(100% - 50px)}.item-thumb{display:block;max-height:160px;max-width:100%;border-radius:8px;border:1px solid var(--border)}.add-image-btn{flex-shrink:0;padding:9px 10px;color:var(--text-muted)}.add-image-btn:hover{color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:20px}.lightbox-image{max-width:100%;max-height:90vh;border-radius:8px;object-fit:contain}.lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:1.1rem;cursor:pointer}.drag-handle{border:none;background:none;color:var(--text-muted);font-size:1.1rem;cursor:grab;padding:8px 6px;touch-action:none;line-height:1}.drag-handle:active{cursor:grabbing}.item-checkbox{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0;cursor:pointer}.item-text{flex:1;min-width:0;word-break:break-word;white-space:pre-wrap}.item-text-editable{cursor:text;border-radius:6px;padding:2px 4px;margin:-2px -4px}.item-text-editable:hover{background:var(--bg)}.item-edit-input{flex:1;min-width:0;font:inherit;line-height:1.4;color:var(--text);padding:6px 8px;border:1px solid var(--brand);border-radius:8px;background:var(--surface);resize:none;overflow:hidden}.item-done .item-text{color:var(--text-muted);text-decoration:line-through}.item-link{display:inline-flex;align-items:center;gap:2px;padding:1px 8px;border-radius:999px;background:#e9f5e6;color:var(--brand-dark);font-weight:600;font-size:.85em;text-decoration:none}.item-link:hover{background:#d8eecf}.item-delete{flex-shrink:0}.done-section{margin-top:28px}.done-heading{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px}.spinner{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);padding:40px 0}.spinner-dot{width:16px;height:16px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .item-link{background:#223a1d;color:#c3ecb4}[data-theme=dark] .item-link:hover{background:#2c4a25}[data-theme=dark] .form-error{background:#3b1d1d;border-color:#7f1d1d;color:#fca5a5}[data-theme=dark] .form-notice{background:#06281f;border-color:#065f46;color:#6ee7b7}[data-theme=dark] .btn-ghost:hover{background:#ffffff14}[data-theme=dark] .btn-google:not(:disabled):hover{background:#ffffff0f}
