:root{--bg:#f2f2f7;--card:#fff;--text:#000;--text-secondary:#6c6c70;--separator:#3c3c4329;--fill:#7676801f;--shop:#34c759;--edit:#ff9f0a;--voice:#bf5af2;--danger:#ff3b30;--accent:#1f8a4c;--nav:#fff;--safe-bottom:min(34px, env(safe-area-inset-bottom,0px));--shadow:0 10px 30px #0000000f;--nav-h:64px;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--text:#fff;--text-secondary:#8e8e93;--separator:#54545873;--fill:#7676803d;--nav:#1c1c1e;--shadow:none}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);height:100%}html,body,#app{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;overflow:hidden}body,#app,.app-root{height:100%;min-height:100%}html,body,#app,.app-root{height:100vh}@supports (height:100dvh){html,body,#app,.app-root{height:100dvh}}html.standalone{background:var(--nav)}html.standalone,html.standalone body,html.standalone #app,html.standalone .app-root{height:100vh;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit;font-size:16px}button{touch-action:manipulation}.app-root{flex-direction:column;display:flex;overflow:hidden}.page{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:auto;min-height:0;padding:0 16px 24px;overflow-y:auto}.page-header{padding:calc(env(safe-area-inset-top,0px) + 18px) 0 12px}html.standalone .page-header{padding-top:calc(max(env(safe-area-inset-top,0px), 12px) + 18px)}.page-header h1{letter-spacing:-.04em;margin:0;font-size:34px;font-weight:750}.eyebrow,.section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:650}.section-label{margin:22px 0 8px}.section-row{justify-content:space-between;align-items:baseline;display:flex}.card,.list,.field input,.install-hint,.add-form{background:var(--card);border-radius:14px}.card{box-shadow:var(--shadow);padding:14px 12px 10px}.muted,.row-sub,.hint{color:var(--text-secondary);font-size:13px}.hint{margin:8px 2px 0;line-height:1.4}.hint.tight{margin-top:4px;margin-bottom:8px}.list{overflow:hidden}.row{text-align:left;border:0;border-bottom:.5px solid var(--separator);background:0 0;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px;display:flex}.row:last-child{border-bottom:0}.row-main{flex:1;min-width:0}.row-title{font-weight:650}.row-sub{font-variant-numeric:tabular-nums}.tap:active{background:var(--fill)}.shop-row{-webkit-user-select:none;user-select:none;cursor:pointer;min-height:56px}.icon-x{background:var(--fill);width:32px;height:32px;color:var(--text-secondary);text-align:center;border:0;border-radius:16px;flex-shrink:0;font-size:22px;line-height:32px}.group-label{color:var(--text-secondary);align-items:center;gap:8px;margin:16px 2px 8px;font-size:13px;font-weight:650;display:flex}.empty-card{color:var(--text-secondary);padding:18px 16px}.bottom-nav{z-index:20;min-height:var(--nav-h);padding:4px 8px calc(4px + var(--safe-bottom,0px));box-sizing:border-box;background:var(--nav);border-top:.5px solid var(--separator);flex:none;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.nav-item{color:var(--text-secondary);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10px;font-weight:650;text-decoration:none;display:flex}.nav-icon{place-items:center;width:28px;height:28px;display:grid}.nav-icon svg{fill:currentColor;width:24px;height:24px}.nav-item.active.nav-shop{color:var(--shop)}.nav-item.active.nav-edit{color:var(--edit)}.nav-item.active.nav-voice{color:var(--voice)}.nav-item.active.nav-settings{color:var(--accent)}.modal-root{z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#0006;border:0;position:absolute;inset:0}.alert{background:var(--card);text-align:center;border-radius:16px;width:min(320px,100%);padding:18px 16px 12px;position:relative}.alert h2{margin:0 0 8px;font-size:17px}.alert p{color:var(--text-secondary);margin:0 0 14px;font-size:14px}.alert-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.alert-actions button{background:var(--fill);border:0;border-radius:12px;padding:10px;font-weight:650}.alert-actions .primary{background:var(--accent);color:#fff}.alert-actions .danger,.danger-btn{background:var(--danger);color:#fff}.toast{left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);z-index:50;color:#fff;white-space:nowrap;background:#1c1c1eeb;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:650;position:fixed;transform:translate(-50%)}.field{margin:12px 0;display:block}.field span{color:var(--text-secondary);margin:0 0 6px 2px;font-size:13px;font-weight:650;display:block}.field input{border:0;outline:none;width:100%;padding:13px 14px}.primary-btn,.danger-btn{border:0;border-radius:14px;width:100%;margin-top:14px;padding:14px;font-weight:750}.primary-btn{background:var(--accent);color:#fff}.primary-btn:disabled{opacity:.45}.text-btn{color:var(--accent);background:0 0;border:0;padding:8px 0;font-weight:650;text-decoration:none}.text-btn:disabled{opacity:.4}.install-hint{margin:0 0 8px;padding:12px 14px;font-size:14px;line-height:1.4}.hidden-file{display:none}.boot{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding-bottom:8vh;display:flex}.boot img{border-radius:18px}.boot p{margin:0;font-size:22px;font-weight:750}.boot-error{text-align:center;max-width:280px;color:var(--danger);font-size:15px!important;font-weight:500!important}.check{background:0 0;border:2px solid #3c3c435c;border-radius:13px;flex-shrink:0;width:26px;height:26px;padding:0;position:relative}@media (prefers-color-scheme:dark){.check{border-color:#ebebf55c}}.check.on{background:var(--shop);border-color:var(--shop)}.check.on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:3px;left:7px;transform:rotate(45deg)}.star{width:36px;height:36px;color:var(--text-secondary);opacity:.35;background:0 0;border:0;flex-shrink:0;padding:0;font-size:22px;line-height:36px}.star.on{color:var(--edit);opacity:1}.mini-btn{background:var(--accent);color:#fff;border:0;border-radius:10px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:700}.add-form{box-shadow:none;border-radius:0;align-items:center;gap:8px;padding:4px 10px 4px 14px;display:flex}.add-input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:12px 0}.add-go{flex-shrink:0;padding:8px 6px}.suggest-list{background:var(--fill)}.match-row{min-height:48px}.suggest-card h2{margin:0;font-size:15px;font-weight:700}.suggest-row{border-top:.5px solid var(--separator);align-items:center;gap:8px;padding:8px 4px;display:flex}.voice-stage{flex-direction:column;align-items:center;gap:12px;margin:28px 0 18px;display:flex}.record-btn{background:var(--voice);color:#fff;border:0;border-radius:44px;place-items:center;width:88px;height:88px;display:grid;box-shadow:0 8px 24px #bf5af247}.record-btn:disabled{opacity:.55}.record-btn.recording{background:var(--danger);box-shadow:none}.record-dot{background:#fff;border-radius:14px;width:28px;height:28px}.record-btn.recording .record-dot{border-radius:8px;width:28px;height:28px}.voice-status{color:var(--text-secondary);margin:0;font-weight:650}.voice-error{color:var(--danger);margin:0 2px 12px;font-size:14px;font-weight:650}.transcript{color:var(--text-secondary);margin:0 2px 16px;font-size:15px;line-height:1.4}
