@import"https://fonts.googleapis.com/css2?family=Clash+Display:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Syne:wght@400..800&display=swap";:root{--bg-main: #F2F2F7;--bg-card: #FFFFFF;--primary-green: #2ecc71;--primary-glow: rgba(46, 204, 113, .15);--accent-blue: #007AFF;--accent-orange: #FF9500;--text-main: #1C1C1E;--text-dim: #8E8E93;--border-light: rgba(0, 0, 0, .05);--safe-area: 20px;--border-radius: 24px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg-main);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,DM Sans,sans-serif;min-height:100vh;display:flex;justify-content:center;transition:background .3s ease}#app{width:100%;max-width:500px;min-height:100vh;padding:var(--safe-area);padding-bottom:120px;position:relative;background:var(--bg-main);box-shadow:0 0 100px #0000000d}h1,h2,h3,.clash{font-family:Clash Display,sans-serif;font-weight:600;letter-spacing:-.5px}.card{background:var(--bg-card);border-radius:var(--border-radius);padding:24px;box-shadow:0 4px 20px #0000000a;margin-bottom:20px;border:1px solid var(--border-light)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.logo{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:700;color:var(--primary-green)}.streak-pill{background:#ff95001a;padding:8px 16px;border-radius:100px;color:var(--accent-orange);font-weight:700;font-size:14px}.date-picker{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--safe-area);margin:0 calc(-1 * var(--safe-area)) 32px;scrollbar-width:none}.date-picker::-webkit-scrollbar{display:none}.date-item{scroll-snap-align:center;flex:0 0 calc(100% / 7);min-width:52px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:12px;transition:.2s;cursor:pointer}.date-item .day{font-size:10px;color:var(--text-dim);text-transform:uppercase}.date-item .num{font-size:16px;font-weight:600}.date-item.active{background:#000;color:#fff}.date-item.active .day{color:#fff9}.main-chart{display:flex;justify-content:space-between;align-items:center}.score-details .val{font-size:48px;line-height:1}.score-details .limit{color:var(--text-dim);font-size:20px}.score-details .label{color:var(--text-dim);font-size:14px;margin-top:4px}.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}.mini-card{text-align:center;padding:16px 8px}.mini-card .val{font-weight:700;font-size:18px;margin-bottom:4px}.mini-card .label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.section-title{font-size:22px;margin-bottom:16px}.ai-carousel{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.tip-card{min-width:260px;background:#007aff0d;border:1px solid rgba(0,122,255,.1);border-radius:18px;padding:16px;position:relative}.tip-card .tag{font-size:10px;font-weight:700;color:var(--accent-blue);margin-bottom:4px}.tip-card p{font-size:13px;line-height:1.5;color:#1c1c1e}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:500px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);z-index:1000}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-dim);cursor:pointer;font-size:10px}.nav-item.active{color:var(--primary-green)}.add-btn{width:60px;height:60px;background:var(--primary-green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;box-shadow:0 10px 30px #2ecc7166;transform:translateY(-20px);cursor:pointer}.fade-in{animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.swipe-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0;margin-bottom:8px;border-radius:var(--border-radius)}.swipe-container::-webkit-scrollbar{display:none}.swipe-slide{flex:0 0 100%;scroll-snap-align:center;padding:24px;min-height:160px;display:flex;justify-content:space-between;align-items:center;transition:background .4s ease}.slide-usage{background:var(--bg-card)}.slide-gains,.slide-risk{background:var(--bg-card);border:1px solid var(--border-light)}.pagination{display:flex;justify-content:center;gap:6px;margin-bottom:24px}.dot{width:8px;height:8px;border-radius:50%;background:var(--border-light);transition:all .3s cubic-bezier(.4,0,.2,1)}.dot.active{background:var(--primary-green);box-shadow:0 0 10px var(--primary-glow);transform:scale(1.2)}.visual-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-top:4px}.status-pill{font-size:10px;padding:4px 8px;border-radius:4px;font-weight:800;display:inline-block;margin-top:8px}.status-good{background:#e8f5e9;color:#2e7d32}.status-warn{background:#fff3e0;color:#ef6c00}.status-danger{background:#ffebee;color:#c62828}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}#scanner-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s ease;display:flex}.scanned-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.scanned-item:last-child{border:none}.scanned-item .name{font-weight:600;font-size:14px}.scanned-item .co2{color:var(--accent-orange);font-weight:700;font-size:14px}.ring-progress{transition:stroke-dashoffset 1s ease-in-out}.activity-swipe-wrap{--swipe-progress: 0;--swipe-linear: 0;position:relative;overflow:hidden;border-radius:var(--border-radius);margin-bottom:12px}.activity-swipe-wrap.activity-feed-row-removing{pointer-events:none}@keyframes activity-feed-row-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.activity-feed-row-enter{animation:activity-feed-row-enter .44s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion: reduce){.activity-feed-row-enter{animation:none;opacity:1;transform:none}}.activity-swipe-actions{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;z-index:0;border-radius:var(--border-radius);pointer-events:none;background:linear-gradient(90deg,#fff0,#f2f2f7a6 8%,#0000000f 22%,#00000061 48%,#141414 78%,#000);display:flex;align-items:stretch;justify-content:flex-end}.activity-swipe-delete-visual{width:92px;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 14px 12px 8px;color:#fff;opacity:var(--swipe-progress, 0);filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));transition:opacity .32s cubic-bezier(.22,1,.36,1)}.activity-swipe-wrap.activity-swipe-dragging .activity-swipe-delete-visual{transition:none}.activity-swipe-delete-visual svg{stroke:currentColor}.activity-swipe-delete-label{font-size:11px;font-weight:600;letter-spacing:.03em;line-height:1;opacity:calc(.35 + .65 * var(--swipe-linear, 0))}.activity-swipe-panel{position:relative;z-index:1;touch-action:pan-y;display:flex;align-items:center;gap:14px;padding:12px 14px;min-height:80px;margin:0;background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-light);box-shadow:0 4px 20px #0000000a,inset -10px 0 20px -14px #00000012;-webkit-user-select:none;user-select:none;cursor:grab;transform:translateZ(0)}.activity-swipe-wrap.activity-swipe-dragging .activity-swipe-panel{will-change:transform}.activity-swipe-panel:active{cursor:grabbing}.activity-feed-thumb-wrap{flex-shrink:0;width:56px;height:56px}.activity-feed-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;display:block;background:#eee}.activity-feed-thumb-placeholder{width:56px;height:56px;border-radius:12px;background:var(--bg-main);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.activity-feed-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.activity-feed-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.activity-feed-title{font-size:15px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-feed-time{font-size:12px;color:var(--text-dim);flex-shrink:0}.activity-feed-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.activity-feed-value{font-size:17px;font-weight:700;letter-spacing:-.02em}.activity-feed-meta{font-size:11px;color:var(--text-dim);font-weight:500}.car-log-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;background:#00000073;display:flex;align-items:flex-end;justify-content:center;padding:0}.car-log-sheet{width:100%;max-width:500px;border-radius:28px 28px 0 0;margin:0;padding:12px 18px 28px;max-height:min(92vh,720px);overflow-y:auto;box-shadow:0 -8px 40px #0000001f}.car-log-handle{width:40px;height:4px;background:#ddd;margin:0 auto 12px;border-radius:10px}.car-log-topbar{margin-bottom:6px}.car-log-title{font-size:20px;margin:0;text-align:center;width:100%}.car-log-sub{font-size:13px;color:var(--text-dim);margin:0 0 16px;line-height:1.4}.car-log-view[hidden]{display:none!important}.car-log-grid-2x2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.car-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:100px;padding:14px 10px;border-radius:var(--border-radius);border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;text-align:center;font-family:inherit;color:var(--text-main);transition:transform .15s ease,box-shadow .15s ease}.car-tile:active{transform:scale(.98)}.car-tile i{color:var(--accent-blue);width:28px;height:28px}.car-tile-accent i,.car-tile-primary i{color:var(--primary-green)}.car-tile span{font-weight:700;font-size:15px}.car-tile small{font-size:11px;color:var(--text-dim);font-weight:500;line-height:1.2}.car-selected-pill{text-align:center;font-size:13px;padding:12px 14px;border-radius:14px;background:var(--bg-main);color:var(--text-dim);border:1px dashed var(--border-light)}.car-selected-pill.has-car{color:var(--text-main);border-style:solid;border-color:#2ecc7159;background:#2ecc7114}.car-hint{font-size:13px;color:var(--text-dim);margin:0 0 12px;line-height:1.4}.car-hint-tight{margin-bottom:10px;text-align:center}.car-garage-list{display:flex;flex-direction:column;gap:0}.car-garage-list .activity-swipe-wrap{margin-bottom:10px}.car-garage-empty{text-align:center;padding:28px 16px;color:var(--text-dim);font-size:14px}.car-garage-empty-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 12px 28px}.car-garage-empty-wrap .car-btn-solid{max-width:220px;margin-top:0}.car-garage-empty-hint{margin:0;font-size:14px;color:var(--text-dim);opacity:.55;text-align:center}.car-add-empty-note{margin:-6px 0 14px;font-size:13px;color:var(--text-dim);opacity:.5;text-align:center}.car-manual-estimate-note{margin:4px 0 0;font-size:12px;color:var(--text-dim);opacity:.75;line-height:1.35}.food-input-group input:focus{border-color:var(--primary-green);box-shadow:0 0 0 4px #47e68126}@keyframes pulse-red{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.listening .lucide-mic{animation:pulse-red 1.5s infinite;color:#ff3b30!important}.scanner-mode-card.active{border-color:var(--primary-green)!important;background:#e8f5e9;border-width:2px!important}.scanner-mode-card i{color:var(--text-main)}.scanner-mode-card.active i{color:var(--primary-green)}.listening{position:relative}.listening:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid #ff3b30;border-radius:50%;animation:pulse-red-border 1.5s infinite;pointer-events:none}.spinner{width:24px;height:24px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--primary-green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.activity-feed-row-processing .activity-feed-thumb-placeholder{background:#f5f5f5;border-color:#eee}.activity-feed-row-processing .activity-feed-title{color:#999}.activity-feed-row-error .activity-feed-value{color:#e74c3c!important}@keyframes pulse-red-border{0%{transform:scale(1);opacity:1}to{transform:scale(1.4);opacity:0}}.car-add-split{display:flex;flex-direction:column;gap:12px}.car-choice-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:18px 16px;border-radius:var(--border-radius);border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;text-align:left;font-family:inherit}.car-choice-btn i{color:var(--primary-green);margin-bottom:4px}.car-choice-btn span{font-weight:700;font-size:16px}.car-choice-btn small{font-size:12px;color:var(--text-dim)}.pictorial-selector{display:flex;gap:10px}.pic-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 10px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-dim)}.pic-btn i{width:24px;height:24px;transition:transform .2s}.pic-btn span{font-size:12px;font-weight:700;font-family:DM Sans,sans-serif}.pic-btn:active{transform:scale(.95)}.pic-btn.active{border-color:var(--primary-green);background:#2ecc7114;color:var(--primary-green);box-shadow:0 4px 12px #2ecc711a}.pic-btn.active i{transform:translateY(-2px);color:var(--primary-green)}.car-field-label{display:block;font-size:12px;font-weight:700;color:var(--text-main);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.car-field-label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin:10px 0 6px}.car-field-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border-light);font-size:15px;font-family:inherit;box-sizing:border-box}.car-btn-solid{width:100%;margin-top:16px;padding:14px;border:none;border-radius:100px;background:#000;color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.car-btn-outline{flex:1;padding:14px;border-radius:100px;border:1px solid var(--border-light);background:var(--bg-card);font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.car-btn-permanent{background:var(--primary-green);margin-top:0}.car-btn-temporary{border-color:var(--text-dim)}.car-scan-busy-inner{text-align:center;padding:32px 16px}.car-review-card{padding:16px;border-radius:var(--border-radius);background:var(--bg-main);border:1px solid var(--border-light);margin-bottom:16px;font-size:14px;line-height:1.5}.car-review-actions{display:flex;flex-direction:column;gap:10px}#car-review-actions-fine{flex-direction:row;gap:10px}#car-review-actions-fine .car-btn-outline,#car-review-actions-fine .car-btn-solid{flex:1;margin-top:0}.car-review-actions .car-btn-outline,.car-review-actions .car-btn-solid{margin-top:0}.car-save-split{display:flex;gap:10px}.car-save-split .car-btn-solid,.car-save-split .car-btn-outline{flex:1}.car-micro-hint{font-size:11px;color:var(--text-dim);text-align:center;margin:12px 0 0;line-height:1.35}.car-placeholder-card{text-align:center;padding:36px 20px;border-radius:var(--border-radius);background:var(--bg-main);border:1px dashed var(--border-light);color:var(--text-dim)}.car-placeholder-card .clash{margin:12px 0 8px;color:var(--text-main)}.car-log-footer{display:flex;gap:10px;margin-top:20px;padding-top:4px}.car-log-back-foot{flex:1;padding:14px 16px;border:none;border-radius:100px;background:var(--bg-main);color:var(--accent-blue);font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.car-log-back-foot[hidden]{display:none!important}.car-log-close-foot{flex:1;padding:14px 16px;border:none;border-radius:100px;background:#000;color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.garage-row-selected .activity-swipe-panel{box-shadow:0 0 0 2px var(--primary-green)}.dest-map-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2140;background:#0006}.dest-map-shell{position:relative;height:168px;border-radius:16px;overflow:hidden;margin-bottom:8px;border:1px solid var(--border-light);background:var(--bg-main)}.dest-map-shell.dest-map-shell--expanded{position:fixed;left:12px;right:12px;top:72px;bottom:100px;height:auto;z-index:2150;margin:0;border-radius:20px;box-shadow:0 12px 48px #00000040}.dest-map-canvas{width:100%;height:100%;min-height:140px}.dest-expand-toggle{position:absolute;z-index:2;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:100px;background:#fffffff2;color:var(--text-main);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 10px #0000001f}.dest-map-caption{font-size:12px;color:var(--text-dim);margin:0 0 14px;line-height:1.35}.dest-status{font-size:13px;padding:10px 12px;border-radius:12px;margin-bottom:10px;line-height:1.35}.dest-status[data-kind=error]{background:#e74c3c1a;color:#c0392b}.dest-status[data-kind=warn]{background:#f39c121f;color:#d35400}.dest-status[data-kind=info]{background:var(--bg-main);color:var(--text-dim)}.dest-section-label{font-size:12px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 8px}.dest-start-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.dest-chip-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:100px;border:1px solid var(--border-light);background:var(--bg-card);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text-main)}.dest-chip-btn--secondary{background:var(--bg-main)}.dest-inline-row{display:flex;gap:8px;align-items:stretch;margin-bottom:8px}.dest-inline-row .car-field-input{flex:1;margin:0}.dest-inline-btn{flex-shrink:0;padding:0 16px;border-radius:12px;border:1px solid var(--border-light);background:var(--bg-main);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}.dest-inline-btn--solid{background:#000;color:#fff;border-color:#000}.dest-start-summary{font-size:12px;color:var(--text-dim);margin:0 0 4px;line-height:1.4}.dest-start-summary--ok{color:var(--text-main);font-weight:600}.dest-hint-tight{margin-top:-4px;margin-bottom:10px}.dest-results-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;margin-top:10px}.dest-result-row{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;text-align:left;font-family:inherit}.dest-result-row--active{border-color:var(--primary-green);box-shadow:0 0 0 1px #2ecc7159}.dest-result-rank{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:var(--bg-main);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.dest-result-body{display:flex;flex-direction:column;gap:2px;min-width:0}.dest-result-name{font-weight:600;font-size:14px;line-height:1.25}.dest-result-meta{font-size:11px;color:var(--text-dim)}#dest-no-key-msg code{font-size:11px;word-break:break-all}.card.main-chart{padding:0;overflow:hidden}
