:root{color:#292531;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#292531;--muted:#7a7580;--muted-light:#a29ca6;--accent:#6558d9;--line:#e6e3df;--surface:#fff;--background:#f7f6f2;background:#f7f6f2;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);-webkit-text-size-adjust:100%;min-width:320px}body{overscroll-behavior-y:none;min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{color:#fff;background:var(--accent)}.app-shell{width:100%;max-width:520px;min-height:100svh;padding:calc(max(18px, env(safe-area-inset-top)) + 8px) 18px 110px;background:var(--background);margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:linear-gradient(145deg,#8175ec,#5448bd);border-radius:13px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:750;display:grid;box-shadow:0 6px 16px #5b4dc138}.brand strong,.brand small{display:block}.brand strong{color:var(--ink);letter-spacing:-.025em;font-size:15px;font-weight:750}.brand small{color:var(--muted-light);margin-top:2px;font-size:10px;font-weight:500}.connection{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.connection>span{background:#48a87d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #48a87d1a}.connection.is-offline>span{background:#d58d49;box-shadow:0 0 0 3px #d58d491a}.app-content{animation:.22s ease-out screen-in}.screen-heading{padding:37px 3px 23px}.screen-heading p{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:700}.screen-heading h1{color:var(--ink);letter-spacing:-.05em;margin:0;font-size:38px;font-weight:740;line-height:1.05}.segmented-control{border:1px solid var(--line);background:#ebe9e4;border-radius:15px;gap:4px;margin-bottom:18px;padding:4px;display:grid}.work-tabs{grid-template-columns:1fr 1fr}.segmented-control button{min-height:39px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:8px 6px;font-size:12px;font-weight:650;display:flex}.segmented-control button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.segmented-control button.is-active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #2e284412}.selection-card{background:linear-gradient(145deg,#f0edff,#e9e5fb);border:1px solid #e5e1f5;border-radius:22px;padding:19px}.card-heading,.catalog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-heading h2,.catalog-heading h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:16px;font-weight:720}.empty-selection{color:#78718f;margin:12px 0 1px;font-size:12px;line-height:1.5}.selection-actions{align-items:center;gap:10px;display:flex}.selection-actions>span{min-width:22px;height:22px;color:var(--accent);background:#ffffffb3;border-radius:8px;place-items:center;font-size:11px;font-weight:750;display:grid}.selection-actions button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:11px;font-weight:650}.selected-list{gap:8px;margin:15px 0 0;padding:0;list-style:none;display:grid}.selected-list li{color:#373047;background:#ffffffb8;border:1px solid #ffffffbf;border-radius:13px;align-items:center;gap:9px;min-height:42px;padding:8px 8px 8px 11px;font-size:13px;font-weight:600;display:flex}.selected-check{color:#fff;background:var(--accent);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.selected-check svg{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.selected-list li>button{color:#9991aa;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.selected-list li>button:active{background:#e9e4f4}.selected-list li>button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:17px;height:17px}.catalog-section{margin-top:25px}.catalog-heading{padding:0 3px 12px}.catalog-heading>span{color:var(--muted-light);font-size:11px;font-weight:650}.catalog-list{border:1px solid var(--line);background:var(--surface);border-radius:20px;overflow:hidden}.catalog-item{width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:12px;padding:10px 15px;font-size:14px;font-weight:540;display:flex}.catalog-item+.catalog-item{border-top:1px solid #efede9}.catalog-item:active{background:#f3f1fb}.catalog-item.is-selected{color:var(--accent);background:#faf9ff;font-weight:650}.catalog-check{color:#fff;background:#fff;border:1.5px solid #d9d5dc;border-radius:8px;flex:none;place-items:center;width:23px;height:23px;display:grid}.catalog-check svg{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.catalog-item.is-selected .catalog-check{border-color:var(--accent);background:var(--accent)}.add-item-form{margin-top:19px;padding:0 2px}.add-item-form>label{color:var(--muted);margin:0 0 9px 2px;font-size:11px;font-weight:650;display:block}.add-item-row{gap:9px;display:flex}.add-item-row input,.chat-composer input{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--surface);appearance:none;outline:none;flex:1}.add-item-row input{border-radius:15px;height:50px;padding:0 15px;font-size:16px}.add-item-row input::placeholder,.chat-composer input::placeholder{color:#aaa6ae}.add-item-row input:focus,.chat-composer input:focus{border-color:#a89ee9;box-shadow:0 0 0 3px #6558d914}.add-item-row button,.chat-composer button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:15px;flex:none;place-items:center;width:50px;height:50px;display:grid;box-shadow:0 6px 15px #6558d92e}.add-item-row button:disabled,.chat-composer button:disabled{color:#b5b0ba;box-shadow:none;cursor:default;background:#e5e2e5}.add-item-row button svg,.chat-composer button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.form-error{color:#b55656;margin:8px 2px 0;font-size:12px}.bottom-nav{z-index:20;width:100%;max-width:520px;padding:9px 70px max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);background:#faf9f6ed;border-top:1px solid #e0ddd8e6;grid-template-columns:1fr 1fr;gap:18px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#9a959f;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:52px;padding:5px 12px;font-size:10px;font-weight:650;display:flex}.bottom-nav button svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bottom-nav button.is-active{color:var(--accent);background:#eeebfb}.local-notice{color:#77708e;background:#f0edfa;border:1px solid #e5e1f5;border-radius:15px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.local-notice svg{fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none}.local-notice p{margin:0;font-size:11px;line-height:1.5}.messages{flex-direction:column;gap:10px;min-height:290px;max-height:calc(100svh - 355px);padding:4px 2px 16px;display:flex;overflow-y:auto}.chat-empty{color:var(--muted);text-align:center;margin:auto;padding:35px 24px}.chat-empty>span{width:52px;height:52px;color:var(--accent);background:#ece8fb;border-radius:17px;place-items:center;margin:0 auto 15px;display:grid}.chat-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.chat-empty h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:18px}.chat-empty p{margin:9px 0 0;font-size:12px;line-height:1.5}.message{color:#fff;background:var(--accent);border-radius:17px 17px 5px;max-width:84%;margin-left:auto;padding:11px 13px 7px;box-shadow:0 4px 12px #6558d921}.message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.45}.message time{color:#fff9;text-align:right;margin-top:4px;font-size:9px;display:block}.chat-composer{gap:9px;margin-top:14px;display:flex}.chat-composer input{border-radius:16px;height:50px;padding:0 16px;font-size:16px}.chat-composer button{border-radius:16px}@keyframes screen-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width>=600px){.app-shell{border:1px solid var(--line);border-radius:30px;min-height:calc(100svh - 40px);margin-block:20px;padding-bottom:100px;box-shadow:0 20px 60px #27204d12}.bottom-nav{border:1px solid var(--line);border-radius:0 0 30px 30px;bottom:20px}.messages{max-height:390px}}@media (width<=350px){.app-shell{padding-inline:13px}.bottom-nav{padding-inline:50px}}@media (prefers-reduced-motion:reduce){.app-content{animation:none}}.weather-widget{background:linear-gradient(135deg,#eeebfb,#f5f3fc);border:1px solid #e3e0f2;border-radius:20px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:22px;padding:14px 15px;display:grid}.weather-glyph{width:48px;height:48px;color:var(--accent);background:#ffffffb3;border-radius:15px;place-items:center;display:grid}.weather-glyph svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:37px;height:37px;overflow:visible}.weather-sun circle{fill:#6558d91f}.weather-cloud path:first-child{fill:#6558d914}.weather-info{min-width:0}.weather-city{color:#77708e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;display:block;overflow:hidden}.weather-reading{align-items:baseline;gap:8px;margin-top:2px;display:flex}.weather-reading strong{color:var(--ink);letter-spacing:-.04em;font-size:26px;font-weight:720}.weather-reading>span{color:#514a66;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.weather-info small,.weather-loading{color:#91899f;margin-top:1px;font-size:9px;display:block}.weather-actions{gap:5px;display:grid}.weather-actions button{width:32px;height:32px;color:var(--accent);cursor:pointer;background:#ffffffa6;border:0;border-radius:10px;place-items:center;display:grid}.weather-actions button:disabled{opacity:.5;cursor:default}.weather-actions svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.weather-error{color:#9a6555;grid-column:1/-1;margin:0;font-size:10px;line-height:1.4}.weather-actions .is-spinning{animation:.8s linear infinite weather-spin}.screen-heading{padding-top:28px}.home-tabs{grid-template-columns:repeat(4,1fr)}.home-tabs button{font-size:11px}.catalog-row{background:var(--surface);align-items:center;display:flex}.catalog-row+.catalog-row{border-top:1px solid #efede9}.catalog-row.is-selected{background:#faf9ff}.catalog-row .catalog-item{flex:1;width:auto;min-width:0}.catalog-row.is-selected .catalog-item{color:var(--accent);background:0 0;font-weight:650}.catalog-row.is-selected .catalog-check{border-color:var(--accent);background:var(--accent)}.delete-item{color:#b2acb5;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;width:43px;height:43px;margin-right:5px;display:grid}.delete-item:active{color:#b55656;background:#f8eded}.delete-item svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.empty-catalog{color:var(--muted);text-align:center;margin:0;padding:25px 18px;font-size:12px;line-height:1.5}.bottom-nav{grid-template-columns:repeat(3,1fr);gap:12px;padding-inline:30px}@keyframes weather-spin{to{transform:rotate(360deg)}}@media (width<=350px){.weather-widget{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding-inline:11px}.weather-glyph{width:42px;height:42px}.weather-reading>span{display:none}.home-tabs button{font-size:10px}.bottom-nav{padding-inline:22px}}@media (prefers-reduced-motion:reduce){.weather-actions .is-spinning{animation:none}}.bottom-nav{display:block}.bottom-nav-track{touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,1fr);gap:12px;display:grid;position:relative}.nav-indicator{z-index:0;pointer-events:none;will-change:transform;background:#eeebfb;border-radius:14px;width:calc(33.3333% - 8px);height:52px;transition:transform .18s;position:absolute;top:0;left:0}.nav-indicator.position-1{transform:translate(calc(100% + 12px))}.nav-indicator.position-2{transform:translate(calc(200% + 24px))}.nav-indicator.is-dragging{transition:none}.bottom-nav .bottom-nav-track button{z-index:1;background:0 0;position:relative}.bottom-nav .bottom-nav-track button.is-active{background:0 0}@media (prefers-reduced-motion:reduce){.nav-indicator{transition:none}}
