*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;background:#f7f1e8;color:#2d1f14;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.wg-root{min-height:100vh;display:flex;flex-direction:column}.topbar{height:3.25rem;background:#fff;border-bottom:1px solid rgba(198,93,62,.15);display:flex;align-items:center;padding:0 1.5rem;gap:1rem;position:sticky;top:0;z-index:50;flex-shrink:0;box-shadow:0 1px 8px #c65d3e0f}.wg-logo{font-family:Playfair Display,serif;font-size:.9rem;font-weight:700;color:#c65d3e;letter-spacing:.04em;display:flex;align-items:center;gap:.4rem}.wg-badge{font-size:.46rem;background:#6b8e5a1f;color:#6b8e5a;border:1px solid rgba(107,142,90,.25);padding:.1rem .3rem;border-radius:2px;letter-spacing:.08em;font-family:JetBrains Mono,monospace}.wg-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#c65d3e,#8b3a20);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:#fff;margin-left:auto}.main-layout{flex:1;display:grid;grid-template-columns:1fr 220px;overflow:hidden}.dashboard{padding:.85rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:#f7f1e8}.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.panel{background:#fff;border:1px solid rgba(198,93,62,.1);border-radius:8px;padding:.75rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #c65d3e0d}.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a,#c65d3e),transparent);opacity:.5}.panel-title{font-family:Playfair Display,serif;font-size:.65rem;font-weight:600;color:#c65d3e;margin-bottom:.6rem;letter-spacing:.04em}.section-label{font-size:.5rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#a08060;padding:.3rem .5rem;background:#c65d3e0f;border-left:2px solid #c65d3e;margin-bottom:.6rem;border-radius:0 4px 4px 0}.map-wrap{position:relative;width:100%;background:#e8f0e4;border-radius:6px;overflow:hidden}.map-svg{width:100%;display:block}.map-pin{cursor:default;transition:all .4s}.map-pin circle{transition:all .4s}.map-pin.active circle{filter:drop-shadow(0 0 4px var(--pc,#6b8e5a))}.map-pin-label{font-size:5px;font-family:JetBrains Mono,monospace;fill:#2d1f14}.map-arc{fill:none;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1s ease-out}.map-arc.drawn{stroke-dashoffset:0}.prov-track{overflow-x:auto;padding:.4rem 0}.prov-steps{display:flex;align-items:flex-start;gap:0;min-width:500px}.prov-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.prov-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;border:2px solid rgba(198,93,62,.2);background:#fff;transition:all .4s;flex-shrink:0}.prov-dot.active{border-color:var(--sc,#6b8e5a);background:var(--sc,#6b8e5a);box-shadow:0 0 10px #6b8e5a4d}.prov-dot.fake{border-color:#ef4444;background:#ef44441a;animation:fake-flash .4s 3}@keyframes fake-flash{0%,to{border-color:#ef4444}50%{border-color:transparent}}.prov-line{position:absolute;top:14px;left:50%;width:100%;height:2px;background:#c65d3e1a;z-index:0}.prov-line.active{background:#6b8e5a}.prov-label{font-size:.46rem;font-weight:600;color:#2d1f14;margin-top:.3rem;text-align:center;font-family:Playfair Display,serif}.prov-loc{font-size:.4rem;color:#a08060;text-align:center;font-family:JetBrains Mono,monospace}.prov-sig{font-size:.42rem;color:var(--sc,#6b8e5a);margin-top:.1rem;font-family:JetBrains Mono,monospace}.gauge-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.3rem;padding:.3rem 0}.gauge-val{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:700;line-height:1;transition:color .5s}.gauge-lbl{font-size:.46rem;color:#a08060;letter-spacing:.08em;text-transform:uppercase}.maker-list{display:flex;flex-direction:column;gap:.2rem;max-height:160px;overflow-y:auto}.maker-row{display:flex;align-items:center;gap:.4rem;padding:.22rem .3rem;background:#faf7f2;border-radius:5px;border:1px solid rgba(198,93,62,.08)}.maker-row.active{border-color:#6b8e5a4d;background:#6b8e5a0d}.maker-icon{font-size:.9rem;flex-shrink:0}.maker-name{font-size:.55rem;font-weight:600;color:#2d1f14;flex:1;font-family:Playfair Display,serif}.maker-loc{font-size:.44rem;color:#a08060;font-family:JetBrains Mono,monospace}.maker-cert{font-size:.4rem;background:#6b8e5a1f;color:#6b8e5a;padding:.06rem .2rem;border-radius:99px;font-weight:600;margin-left:.2rem}.qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.4rem;padding:.4rem 0}.qr-box{width:80px;height:80px;background:#2d1f14;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.qr-pattern{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:grid;grid-template-columns:repeat(10,1fr);gap:1px}.qr-cell{border-radius:1px;transition:background .1s}.qr-label{font-size:.48rem;font-family:JetBrains Mono,monospace;color:#a08060;text-align:center}.qr-scan{font-size:.52rem;color:#6b8e5a;font-weight:700;text-align:center}.product-grid-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;grid-column:span 3}.product-card-mini{background:#fff;border:1px solid rgba(198,93,62,.1);border-radius:6px;overflow:hidden;box-shadow:0 2px 6px #c65d3e0a}.product-img-mini{height:56px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:1.6rem}.product-info-mini{padding:.35rem .4rem}.product-name-mini{font-size:.56rem;font-weight:600;color:#2d1f14;font-family:Playfair Display,serif;margin-bottom:.1rem}.product-price-mini{font-size:.52rem;color:#c65d3e;font-weight:700;font-family:JetBrains Mono,monospace}.product-trace-mini{font-size:.42rem;margin-top:.1rem;font-family:JetBrains Mono,monospace}.prov-banner{position:fixed;top:3.25rem;left:0;right:0;z-index:200;padding:.5rem 1rem;border-bottom:2px solid var(--bc,#6b8e5a);background:var(--bb,rgba(107,142,90,.1));text-align:center;font-size:.7rem;font-weight:700;color:var(--bt,#6b8e5a);letter-spacing:.06em;animation:slide-down .3s;font-family:Playfair Display,serif}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.aha-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#f7f1e8f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aha-icon{font-size:4rem}.aha-main{font-family:Playfair Display,serif;font-size:clamp(1.1rem,3vw,1.8rem);font-weight:700;color:#2d1f14;text-align:center;max-width:500px;line-height:1.3}.aha-sub{font-size:.75rem;color:#a08060;text-align:center;max-width:440px;line-height:1.6}.aha-dots{display:flex;gap:.4rem;margin-top:.5rem}.aha-dot{width:8px;height:8px;border-radius:50%;background:#c65d3e33;transition:background .3s}.aha-dot.active{background:#c65d3e}.sidebar{border-left:1px solid rgba(198,93,62,.1);padding:.75rem;display:flex;flex-direction:column;gap:.65rem;background:#fff;overflow-y:auto}.s-counter{background:#faf7f2;border:1px solid rgba(198,93,62,.1);border-radius:8px;padding:.65rem;text-align:center}.s-val{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--sc,#c65d3e);line-height:1}.s-label{font-size:.45rem;letter-spacing:.08em;text-transform:uppercase;color:#a08060;margin-top:.2rem}.run-btn{padding:.65rem 1rem;background:linear-gradient(135deg,#c65d3e,#8b3a20);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;border:none;border-radius:8px;cursor:pointer;font-family:Playfair Display,serif;transition:opacity .2s;text-transform:uppercase;width:100%;margin-top:auto}.run-btn:hover{opacity:.85}.run-btn:disabled{opacity:.4;cursor:not-allowed}.ticker-bar{height:2rem;background:#faf7f2;border-top:1px solid rgba(198,93,62,.08);overflow:hidden;display:flex;align-items:center;flex-shrink:0}.ticker-track{display:flex;gap:3rem;animation:ticker 32s linear infinite;white-space:nowrap;padding:0 1rem}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{font-size:.48rem;color:#a08060;flex-shrink:0}.ticker-item span{color:#c65d3e;margin-right:.3rem;font-weight:600}.end-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f1e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.end-heading{font-family:Playfair Display,serif;font-size:clamp(.85rem,2.2vw,1.4rem);font-weight:700;color:#c65d3e;text-align:center;line-height:1.4;max-width:620px;padding:0 1.5rem}.end-sub{font-size:.7rem;color:#a08060;margin-top:.5rem;text-align:center;font-family:JetBrains Mono,monospace}.end-actions{display:flex;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap;justify-content:center}.end-btn{padding:.55rem 1.3rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;border-radius:6px;cursor:pointer;font-family:Playfair Display,serif;transition:all .2s}.end-btn-primary{background:linear-gradient(135deg,#c65d3e,#8b3a20);color:#fff;border:none}.end-btn-primary:hover{opacity:.85}.end-btn-ghost{background:transparent;color:#c65d3e;border:1px solid rgba(198,93,62,.4)}.end-btn-ghost:hover{background:#c65d3e14}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:#fff;border:1px solid rgba(198,93,62,.15);border-radius:10px;padding:1.75rem;width:400px;max-width:90vw;box-shadow:0 16px 48px #c65d3e1a}.modal-title{font-family:Playfair Display,serif;font-size:.95rem;font-weight:700;color:#2d1f14;margin-bottom:.35rem}.modal-close{float:right;background:none;border:none;color:#a08060;font-size:.9rem;cursor:pointer}.form-group{margin-bottom:.65rem}.form-label{display:block;font-size:.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a08060;margin-bottom:.3rem}.form-input{width:100%;padding:.5rem .75rem;background:#faf7f2;border:1px solid rgba(198,93,62,.15);border-radius:6px;color:#2d1f14;font-size:.78rem;font-family:"Inter",inherit}.form-input:focus{outline:none;border-color:#c65d3e66}.success-box{padding:.75rem;background:#6b8e5a14;border:1px solid rgba(107,142,90,.2);border-radius:6px;color:#6b8e5a;font-size:.72rem;line-height:1.65}
