*{box-sizing:border-box}body{margin:0;padding:0 12px 12px;font-family:Artifakt Element,Segoe UI,sans-serif;font-size:13px;color:var(--text-default, #3c3c3c);background:var(--surface-level100, #fff)}#app{display:flex;flex-direction:column;gap:12px}.gc-header{display:flex;align-items:center;gap:8px;padding:12px 0 8px;border-bottom:1px solid var(--divider-lightweight, rgba(60,60,60,.1))}.gc-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0}.gc-header h1{font-size:13px;font-weight:700;margin:0;color:var(--text-default, #3c3c3c)}.gc-header span{font-size:11px;color:var(--text-dim, rgba(60,60,60,.6));margin-left:auto}.gc-search-row{display:flex;gap:6px;align-items:flex-end}.gc-search-row weave-input{flex:1}.gc-filters{display:flex;gap:6px;flex-wrap:wrap}.gc-chip{padding:3px 10px;border-radius:12px;border:1px solid var(--border-base, rgba(128,128,128,.5));background:transparent;font-size:11px;cursor:pointer;color:var(--text-default, #3c3c3c);transition:all .15s}.gc-chip:hover,.gc-chip.active{background:#16a34a;color:#fff;border-color:#16a34a}.gc-results{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 220px);overflow-y:auto;padding-right:2px}.gc-card{border:1px solid var(--border-base, rgba(128,128,128,.3));border-radius:6px;padding:10px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.gc-card:hover{border-color:#16a34a;box-shadow:0 1px 4px #16a34a26}.gc-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.gc-card-name{font-weight:600;font-size:12px;line-height:1.3;flex:1;margin-right:8px}.gc-mcs-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;white-space:nowrap;flex-shrink:0}.gc-mcs-badge.high{background:#dcfce7;color:#166534}.gc-mcs-badge.medium{background:#fef9c3;color:#854d0e}.gc-mcs-badge.low{background:#fee2e2;color:#991b1b}.gc-card-meta{display:flex;gap:12px;font-size:11px;color:var(--text-dim, rgba(60,60,60,.6));margin-bottom:4px}.gc-card-gwp{font-size:11px;color:var(--text-dim, rgba(60,60,60,.6))}.gc-card-gwp strong{color:#16a34a}.gc-card-actions{display:flex;gap:6px;margin-top:8px}.gc-card-actions weave-button{font-size:11px}.gc-empty{text-align:center;padding:32px 16px;color:var(--text-dim, rgba(60,60,60,.6));font-size:12px}.gc-loading{text-align:center;padding:24px;color:var(--text-dim, rgba(60,60,60,.6));font-size:12px}.gc-carbon-summary{background:var(--surface-level250, #f5f5f5);border-radius:6px;padding:12px}.gc-carbon-value{font-size:24px;font-weight:700;color:#16a34a;line-height:1}.gc-carbon-unit{font-size:11px;color:var(--text-dim, rgba(60,60,60,.6));margin-top:2px}.gc-carbon-label{font-size:11px;font-weight:600;color:var(--text-dim, rgba(60,60,60,.6));text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.gc-swap-section h3{font-size:12px;font-weight:600;margin:12px 0 8px}.gc-swap-card{border:1px solid #dcfce7;border-radius:6px;padding:8px 10px;background:#f0fdf4;margin-bottom:6px}.gc-swap-saving{font-size:11px;color:#16a34a;font-weight:600}.gc-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--divider-lightweight, rgba(60,60,60,.1));margin-bottom:12px}.gc-tab{flex:1;padding:6px 8px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:12px;font-weight:500;color:var(--text-dim, rgba(60,60,60,.6));cursor:pointer;transition:color .15s,border-color .15s}.gc-tab:hover{color:var(--text-default, #3c3c3c)}.gc-tab.active{color:#16a34a;border-bottom-color:#16a34a;font-weight:600}.gc-filter-panel{background:var(--surface-level250, #f5f5f5);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.gc-filter-row{display:flex;flex-direction:column;gap:4px}.gc-filter-label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text-dim, rgba(60,60,60,.6));text-transform:uppercase;letter-spacing:.05em}.gc-filter-value{font-weight:400;font-size:11px;color:#16a34a;text-transform:none;letter-spacing:0}.gc-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border-base, rgba(128,128,128,.3));outline:none}.gc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#16a34a;cursor:pointer}.gc-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#16a34a;border:none;cursor:pointer}.gc-ec-card{flex:1;border-radius:6px;padding:10px 12px}.gc-ec-card.conventional{background:#fef2f2;border:1px solid #fecaca}.gc-ec-card.gc-verified{background:#f0fdf4;border:1px solid #bbf7d0}.gc-ec-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.gc-ec-card.conventional .gc-ec-card-label{color:#991b1b}.gc-ec-card.gc-verified .gc-ec-card-label{color:#166534}.gc-ec-card-value{font-size:18px;font-weight:700;line-height:1;margin-bottom:3px}.gc-ec-card-value.conventional{color:#7f1d1d}.gc-ec-card-value.gc-verified{color:#14532d}.gc-ec-card-sub{font-size:10px;line-height:1.3}.gc-ec-card.conventional .gc-ec-card-sub{color:#991b1b}.gc-ec-card.gc-verified .gc-ec-card-sub{color:#166534}.gc-budget-input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border-base, rgba(128,128,128,.5));border-radius:4px;font-size:12px;color:var(--text-default, #3c3c3c);background:var(--surface-level100, #fff)}.gc-budget-input:focus{outline:none;border-color:#16a34a}.gc-budget-track{height:8px;background:var(--surface-level250, #f0f0f0);border-radius:4px;overflow:hidden}.gc-budget-fill{height:100%;border-radius:4px;transition:width .3s ease}.gc-budget-fill.conventional{background:#ef4444}.gc-budget-fill.gc-verified{background:#16a34a}.gc-budget-status{font-size:11px;font-weight:600;margin-top:6px}.gc-budget-status.ok{color:#166534}.gc-budget-status.warn{color:#854d0e}.gc-interceptor{border:2px solid #10b981!important}.gc-interceptor weave-button{font-size:12px!important}.gc-toast{position:fixed;bottom:12px;left:12px;right:12px;background:#166534;color:#fff;border-radius:6px;padding:10px 14px;font-size:12px;font-weight:500;z-index:999;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}
