*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#1a1a18;background:var(--theme-50);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;height:100%;height:100dvh;overflow:hidden}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}input{font-family:inherit;font-size:16px;color:#1a1a18;border:1px solid #c5c2b8;border-radius:8px;padding:0 12px;background:#fafaf7;outline:none;-webkit-appearance:none}input:focus{border-color:var(--theme-400);box-shadow:0 0 0 3px var(--theme-50)}[hidden]{display:none!important}[data-theme=teal]{--theme-50: #E1F5EE;--theme-100: #C5EBDD;--theme-200: #9FE1CB;--theme-400: #1D9E75;--theme-600: #0F6E56;--theme-800: #085041;--theme-900: #04342C;--header-text: #04342C;--header-icon: #04342C}[data-theme=blue]{--theme-50: #E6F1FB;--theme-100: #CDE3F7;--theme-200: #B5D4F4;--theme-400: #378ADD;--theme-600: #185FA5;--theme-800: #0C447C;--theme-900: #042C53;--header-text: #042C53;--header-icon: #042C53}[data-theme=purple]{--theme-50: #EEEDFE;--theme-100: #DEDCFA;--theme-200: #CECBF6;--theme-400: #7F77DD;--theme-600: #534AB7;--theme-800: #3C3489;--theme-900: #26215C;--header-text: #26215C;--header-icon: #26215C}[data-theme=pink]{--theme-50: #FBEAF0;--theme-100: #F7D5E0;--theme-200: #F4C0D1;--theme-400: #D4537E;--theme-600: #993556;--theme-800: #72243E;--theme-900: #4B1528;--header-text: #4B1528;--header-icon: #4B1528}[data-theme=coral]{--theme-50: #FAECE7;--theme-100: #F5D8CD;--theme-200: #F5C4B3;--theme-400: #D85A30;--theme-600: #993C1D;--theme-800: #712B13;--theme-900: #4A1B0C;--header-text: #4A1B0C;--header-icon: #4A1B0C}[data-theme=amber]{--theme-50: #FAEEDA;--theme-100: #FADDB7;--theme-200: #FAC775;--theme-400: #BA7517;--theme-600: #854F0B;--theme-800: #633806;--theme-900: #412402;--header-text: #412402;--header-icon: #412402}[data-theme=green]{--theme-50: #EAF3DE;--theme-100: #D5E8BD;--theme-200: #C0DD97;--theme-400: #639922;--theme-600: #3B6D11;--theme-800: #27500A;--theme-900: #173404;--header-text: #173404;--header-icon: #173404}[data-theme=white]{--theme-50: #F5F5F2;--theme-100: #FFFFFF;--theme-200: #ECECE8;--theme-400: #6B6B65;--theme-600: #4A4A45;--theme-800: #2E2E2B;--theme-900: #1A1A18;--header-text: #1A1A18;--header-icon: #1A1A18}[data-theme=black]{--theme-50: #3A3A36;--theme-100: #0A0A09;--theme-200: #4A4A45;--theme-400: #888780;--theme-600: #B4B2A9;--theme-800: #E8E7E2;--theme-900: #FFFFFF;--header-text: #FFFFFF;--header-icon: #FFFFFF}[data-theme=black] body{background:var(--theme-50)}[data-theme=black] #done-section,[data-theme=black] #done-list{background:#3a3a36}[data-theme=black] .done-row{color:#c8c6bd!important;border-bottom-color:#4a4a45!important}[data-theme=black] #done-header span,[data-theme=black] #done-chevron{color:#fff!important}[data-theme=black] #clear-done{border-color:#888780;color:#e8e7e2}#theme-root{background:var(--theme-50);height:100%;display:flex;flex-direction:column;overflow:hidden}.screen{background:#fff;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}[data-theme=black] .screen{background:#fff}#screen-settings,#screen-dict{overflow-y:auto;-webkit-overflow-scrolling:touch}.screen-header{padding:16px 18px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--theme-100);color:var(--header-text)}.title-block{display:flex;align-items:center;gap:8px;min-width:0;flex:1}#list-emoji{font-size:22px;line-height:1}#list-name{font-size:24px;font-weight:700;color:var(--theme-900);letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.settings-header{height:72px;flex-shrink:0;padding:0 18px;display:flex;align-items:center;background:var(--theme-100);color:var(--header-text)}.settings-header .icon-btn{margin-right:14px}.settings-title{font-size:24px;font-weight:700;letter-spacing:-.3px;color:var(--header-text)}.dict-title-block{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.dict-subtitle{font-size:11px;opacity:.65;font-weight:400;letter-spacing:0;margin-top:3px}.icon-btn{background:transparent;border:none;padding:0;display:flex;align-items:center;justify-content:center;opacity:.9;transition:opacity .15s,transform .1s;color:var(--header-icon);min-width:32px;min-height:32px}.icon-btn:active{transform:scale(.9)}.input-zone{padding:12px 14px;background:#fff;flex-shrink:0}#input-wrap{position:relative;display:flex;align-items:center;background:#fafaf7;border-radius:8px;border:1px solid #c5c2b8;transition:border-color .15s,box-shadow .15s,background .15s}#input-wrap:focus-within{border-color:var(--theme-400);background:#fff;box-shadow:0 0 0 3px var(--theme-50)}.input-icon{padding:0 6px 0 12px;color:#888780;display:flex;align-items:center}#add-input{flex:1;height:40px;font-size:16px;border:none;background:transparent;padding:0 4px;border-radius:0}#add-input:focus{box-shadow:none}#mic-btn{background:transparent;border:none;padding:0 12px;height:40px;display:flex;align-items:center;justify-content:center;color:#5f5e5a}#suggestions{display:none;position:absolute;left:0;right:0;top:44px;background:#fff;border:1px solid #c5c2b8;border-radius:8px;max-height:220px;overflow-y:auto;z-index:10;box-shadow:0 2px 8px #0000000a}.sugg-item{padding:10px 14px;font-size:14px;cursor:pointer;border-bottom:1px solid #e8e6df}.sugg-item:last-child{border-bottom:none}.sugg-add-new{padding:10px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--theme-800);background:var(--theme-50)}.sugg-add-new strong{font-weight:500}#active-list{background:#fff;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.item-row{padding:14px 18px;border-bottom:1px solid #e8e6df;cursor:pointer;font-size:14px;max-height:60px;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}.item-row.removing{max-height:0!important;padding-top:0!important;padding-bottom:0!important;opacity:0;transform:translateY(8px);border-bottom-width:0!important}.item-row.entering,.done-row.entering{animation:enterDown .32s cubic-bezier(.4,0,.2,1)}@keyframes enterDown{0%{max-height:0;opacity:0;transform:translateY(-8px);padding-top:0;padding-bottom:0}to{max-height:60px;opacity:1;transform:translateY(0);padding-top:14px;padding-bottom:14px}}.empty-state{padding:56px 16px;text-align:center;color:#888780;font-size:13px}#done-section{background:var(--theme-50);flex-shrink:0;border-top:1px solid var(--theme-200);padding-bottom:env(safe-area-inset-bottom)}#done-header{padding:10px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.done-label{display:flex;align-items:center;gap:6px}#done-chevron{transition:transform .2s;transform:rotate(180deg);color:var(--theme-800)}#done-header span{font-size:13px;color:var(--theme-800);font-weight:500}#clear-done{font-size:11px;padding:4px 10px;border:1px solid var(--theme-600);border-radius:8px;background:transparent;color:var(--theme-800)}#done-list{background:var(--theme-50);height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch}.done-row{padding:11px 18px;border-bottom:1px solid var(--theme-100);cursor:pointer;font-size:13px;color:var(--theme-800);opacity:.7;text-decoration:line-through;max-height:50px;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}.done-row.removing-up{max-height:0!important;padding-top:0!important;padding-bottom:0!important;opacity:0;transform:translateY(-8px);border-bottom-width:0!important}.done-empty{padding:16px;text-align:center;color:var(--theme-800);opacity:.5;font-size:12px;display:flex;align-items:center;justify-content:center;height:100%}.settings-body{padding:20px 16px;background:#fff}.section-label{font-size:11px;color:#5f5e5a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.section-label+#theme-picker{margin-top:2px}.name-row{display:flex;gap:10px;align-items:stretch;margin-bottom:28px}#emoji-input{width:52px;height:44px;font-size:22px;text-align:center;flex-shrink:0;padding:0;background:#fafaf7}#rename-input{flex:1;height:44px;font-size:16px;background:#fafaf7}#theme-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:28px}.theme-swatch{aspect-ratio:1;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:transform .1s;position:relative}.theme-swatch.selected{border-color:#1a1a18}.theme-swatch.selected:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1.5px solid white}.theme-swatch.theme-white{border:1px solid #c5c2b8}.theme-swatch.theme-white.selected{border:2.5px solid #1a1a18}.theme-swatch.theme-white.selected:after{border-color:#1a1a18}.theme-swatch.theme-black.selected:after{border-color:#fff}.theme-swatch:active{transform:scale(.92)}.grouped-list{border:1px solid #c5c2b8;border-radius:8px;overflow:hidden;background:#fff;margin-bottom:28px}.grouped-list>*{border-radius:0!important;border:none!important;border-bottom:1px solid #e8e6df!important}.grouped-list>*:last-child{border-bottom:none!important}.sort-radio,.grouped-row{display:flex;align-items:center;width:100%;padding:0 14px;height:48px;background:transparent;cursor:pointer;font-size:13px;color:#1a1a18;text-align:left;gap:12px}.sort-radio{justify-content:space-between}.sort-radio.active{background:var(--theme-50);color:var(--theme-800);font-weight:500}.sort-radio .check-icon{opacity:0}.sort-radio.active .check-icon{opacity:1;color:var(--theme-600)}.grouped-row .lead-icon{color:var(--theme-600);flex-shrink:0}.grouped-row .row-label{flex:1}.grouped-row .row-meta{font-size:11px;color:#5f5e5a;margin-right:6px}.grouped-row .chevron{color:#888780;flex-shrink:0}#haptic-toggle{display:flex;align-items:center;justify-content:space-between;padding:0 14px;height:48px;border:1px solid #c5c2b8;border-radius:8px;cursor:pointer;margin-bottom:28px;background:#fff}#haptic-toggle span{font-size:13px}.switch{width:36px;height:20px;border-radius:999px;background:var(--theme-400);position:relative;transition:background .2s}.switch.off{background:#c5c2b8!important}.switch-knob{position:absolute;top:2px;left:18px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}.switch.off .switch-knob{left:2px!important}.about-text{font-size:12px;color:#5f5e5a;line-height:1.6}.dict-search-wrap{padding:12px 16px;border-bottom:1px solid #e8e6df;background:#fff}#dict-search{width:100%;height:40px;font-size:16px;background:#fafaf7}#dict-list{background:#fff;overflow-y:auto}.dict-row{padding:10px 16px;border-bottom:1px solid #e8e6df;display:flex;align-items:center;justify-content:space-between}.dict-row span{font-size:13px}.dict-remove{background:transparent;border:none;color:#888780;font-size:11px;padding:4px 8px}#add-dict-row{padding:12px 16px;background:var(--theme-50);border-bottom:1px solid var(--theme-200);cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--theme-800);font-size:13px}#add-dict-row strong{font-weight:500}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:22;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;transition:background .3s ease}.sheet-backdrop.open{background:#00000073;pointer-events:auto}.sheet{background:#fff;border-radius:12px 12px 0 0;padding:12px 16px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:600px;transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);will-change:transform;box-shadow:0 -4px 20px #00000014}.sheet-backdrop.open .sheet{transform:translateY(0)}.sheet-handle{width:36px;height:5px;background:#c5c2b8;border-radius:3px;margin:0 auto 14px}.sheet-title{font-size:16px;font-weight:500;margin-bottom:14px;padding:0 4px}.send-list{margin-bottom:12px}.send-row{display:flex;align-items:center;gap:14px;width:100%;padding:0 14px;min-height:56px;background:transparent;color:#1a1a18}.send-row .lead-icon{color:var(--theme-600);flex-shrink:0}.send-row .send-text{flex:1;text-align:left}.send-row .send-label{font-size:14px;font-weight:500}.send-row .send-sub{font-size:11px;color:#5f5e5a;margin-top:1px}.send-row .chevron{color:#888780;flex-shrink:0}#send-cancel{width:100%;height:48px;border:none;background:#f1efe8;color:#1a1a18;font-size:14px;font-weight:500;border-radius:8px}#confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:25;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-dialog{background:#fff;border-radius:12px;padding:20px;max-width:280px;width:100%}#confirm-title{font-size:15px;font-weight:500;margin-bottom:6px}#confirm-msg{font-size:13px;color:#5f5e5a;margin-bottom:16px;line-height:1.5}.confirm-buttons{display:flex;gap:8px}.confirm-buttons button{flex:1;height:36px;border:1px solid #c5c2b8;background:transparent;border-radius:8px;font-size:13px}#confirm-ok{border-color:#f5c4c4;background:#fcebeb;color:#b04040;font-weight:500}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#1a1a18;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;z-index:30;white-space:nowrap;box-shadow:0 4px 12px #00000026}.loading-screen{background:var(--theme-50);display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.loading-emoji{font-size:64px;margin-bottom:16px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.loading-text{font-size:18px;font-weight:600;color:var(--theme-900);letter-spacing:-.2px}.auth-screen{background:var(--theme-50);display:flex;align-items:center;justify-content:center;padding:24px}.auth-content{width:100%;max-width:320px;text-align:center}.auth-emoji{font-size:56px;margin-bottom:12px}.auth-title{font-size:28px;font-weight:700;color:var(--theme-900);letter-spacing:-.4px;margin:0 0 6px}.auth-subtitle{font-size:14px;color:var(--theme-800);opacity:.75;margin:0 0 28px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form input{width:100%;height:48px;font-size:16px;background:#fff;text-align:left;padding:0 14px}.auth-button-primary{width:100%;height:48px;border:none;background:var(--theme-600);color:#fff;border-radius:8px;font-size:15px;font-weight:600;margin-top:4px;transition:opacity .15s,transform .1s}.auth-button-primary:active{transform:scale(.98);opacity:.9}.auth-button-primary:disabled{opacity:.5}.auth-button-text{background:transparent;border:none;color:var(--theme-700, var(--theme-600));font-size:13px;padding:8px;margin-top:4px}.auth-error{margin-top:14px;padding:10px 14px;background:#fcebeb;border:1px solid #f5c4c4;color:#b04040;border-radius:8px;font-size:13px;text-align:left}.lists-body{padding:20px 16px;background:#fff;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}#lists-container{display:flex;flex-direction:column;gap:8px}.list-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid #c5c2b8;border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s}.list-card:active{background:var(--theme-50)}.list-card.active{border-color:var(--theme-400);background:var(--theme-50)}.list-card-emoji{font-size:24px;flex-shrink:0}.list-card-content{flex:1;min-width:0}.list-card-name{font-size:15px;font-weight:500;color:#1a1a18;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card-meta{font-size:11px;color:#5f5e5a}.list-card-active-badge{font-size:10px;background:var(--theme-200);color:var(--theme-900);padding:2px 8px;border-radius:4px;font-weight:500;flex-shrink:0}.new-list-row{display:flex;gap:10px;padding:10px;align-items:stretch}#new-list-emoji{width:52px;height:44px;font-size:22px;text-align:center;flex-shrink:0;padding:0}#new-list-name{flex:1;height:44px;font-size:16px}.account-info{font-size:13px;color:#5f5e5a;background:#fafaf7;padding:12px 14px;border-radius:8px;margin-bottom:12px}.account-info strong{font-weight:500;color:#1a1a18}.logout-button{width:100%;height:44px;background:transparent;border:1px solid #c5c2b8;color:#1a1a18;border-radius:8px;font-size:14px}.danger-button{width:100%;height:44px;background:#fcebeb;border:1px solid #f5c4c4;color:#b04040;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:28px}.sheet-description{font-size:13px;color:#5f5e5a;line-height:1.5;margin:0 4px 16px}.invite-form{display:flex;flex-direction:column;gap:10px}#invite-email{width:100%;height:48px;font-size:16px;background:#fff;border:1px solid #c5c2b8}.invite-link-box{background:var(--theme-50);border:1px solid var(--theme-200);border-radius:8px;padding:12px 14px;font-size:12px;color:var(--theme-800);word-break:break-all;font-family:-apple-system-monospaced-numbers,SF Mono,monospace;line-height:1.4;margin-bottom:10px}.invite-link-actions{display:flex;flex-direction:column}.pending-invite-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #e8e6df;border-radius:8px;margin-bottom:8px}.pending-invite-email{font-size:13px;color:#1a1a18;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-invite-status{font-size:11px;color:#5f5e5a}.pending-invite-cancel{background:transparent;border:none;color:#b04040;font-size:12px;padding:4px 10px;flex-shrink:0}.list-card-share-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--theme-100);color:var(--theme-800);border:1px solid var(--theme-200);border-radius:6px;font-size:12px;font-weight:500;flex-shrink:0;transition:background .15s,transform .1s}.list-card-share-btn:active{transform:scale(.95);background:var(--theme-200)}.list-card-share-btn svg{flex-shrink:0}.member-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid #e8e6df;border-radius:8px;margin-bottom:8px}.member-info{flex:1;min-width:0}.member-email{font-size:13px;color:#1a1a18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.member-role{font-size:11px;color:#5f5e5a}.member-remove{background:transparent;border:none;color:#b04040;font-size:12px;padding:6px 10px;flex-shrink:0}.member-you-badge{font-size:10px;background:var(--theme-200);color:var(--theme-900);padding:2px 8px;border-radius:4px;font-weight:500;flex-shrink:0}
