@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,550;9..144,650&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:"Source Sans 3",Segoe UI,sans-serif;font-weight:400;line-height:1.5}body{margin:0}#root{height:100%}:root{--font-display:"Fraunces", "Palatino Linotype", Palatino, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--ink:#13221c;--muted:#4d5f56;--line:#c9d5cc;--panel:#fffcf7e0;--accent:#0f6b4c;--accent-soft:#d8efe4;--warn:#9a3412;--danger:#b91c1c;--ok:#166534;--page-top:#e7f2ea;--page-bottom:#f7f3ea;--map-wash:radial-gradient(circle at 70% 20%, #fff 0%, #edf5f0 48%, #e4ebe3 100%);color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow:hidden}body{background:linear-gradient(180deg, #e7f2eaeb, #f7f3eaf5), radial-gradient(ellipse at top left, #cfe6d8 0%, transparent 45%), linear-gradient(160deg, var(--page-top), var(--page-bottom));min-width:320px;color:var(--ink);caret-color:#0000}input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,[contenteditable=true]{caret-color:auto}button,.chip,.mode-btn,.control-block h2,.accordion-title,.eyebrow,.app-header h1,.lede,.credit-line,.preview-meta,.field>span,.check,.hint,.coffee-trigger,.coffee-phone-number,.assistant-bubble,.group-summary-row,.assistant-modal-head,.assistant-modal-close{-webkit-user-select:none;user-select:none}.how-to-body,.data-input,.table-value,.manual-value,.field input:not([type=color]):not([type=checkbox]):not([type=radio]),.field textarea{-webkit-user-select:text;user-select:text}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);-webkit-user-select:none;user-select:none;caret-color:#0000;background:#fff;border-radius:8px;padding:.55rem .85rem}button:hover{border-color:#9fb5a7}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{filter:brightness(1.05)}.app-shell{flex-direction:column;width:min(1360px,100% - 2rem);height:100%;max-height:100dvh;margin:0 auto;padding:.9rem 0 1rem;display:flex;overflow:hidden}.app-header{flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.45rem;display:flex}.header-brand{flex:1;min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.app-header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.55rem,2.5vw,2.2rem);font-weight:650;line-height:1.05}.lede{max-width:40rem;color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.header-credit{text-align:right;flex:none;align-self:flex-end;padding-top:0}.credit-line{color:var(--muted);margin:0;font-size:.95rem}.credit-line a{color:var(--accent);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;font-weight:650;text-decoration:none;transition:color .2s,background-size .25s,letter-spacing .2s}.credit-line a:hover{color:#0a4f39;letter-spacing:.02em;background-size:100% 2px}.coffee-wrap{margin-top:.2rem;display:inline-block;position:relative}.coffee-trigger{color:var(--muted);background:0 0;border:none;padding:0;font-size:.82rem;text-decoration:none}.coffee-trigger:hover{color:var(--ink)}.coffee-mug{color:#b45309;transform-origin:50% 80%;font-size:1.05rem;line-height:1;animation:2.8s ease-in-out infinite coffee-nudge;display:inline-block}.coffee-wrap:hover .coffee-mug{animation-play-state:paused}@keyframes coffee-nudge{0%,70%,to{transform:rotate(0)translateY(0)}76%{transform:rotate(-12deg)translateY(-1px)}82%{transform:rotate(10deg)translateY(-1px)}88%{transform:rotate(-6deg)translateY(0)}94%{transform:rotate(4deg)}}@media (prefers-reduced-motion:reduce){.coffee-mug{animation:none}}.coffee-popover{border:1px solid var(--line);opacity:0;visibility:hidden;z-index:20;text-align:center;pointer-events:none;background:#fff;border-radius:12px;width:220px;padding:.75rem;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + .55rem);right:0;transform:translateY(4px);box-shadow:0 10px 28px #0f221c24}.coffee-wrap:hover .coffee-popover,.coffee-wrap:focus-within .coffee-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.coffee-popover-title{color:var(--ink);margin:0 0 .55rem;font-size:.78rem;line-height:1.35}.coffee-qr-slot{aspect-ratio:1;background-color:#0000;background-image:linear-gradient(45deg,#f1f5f2 25%,#0000 25%),linear-gradient(-45deg,#f1f5f2 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f1f5f2 75%),linear-gradient(-45deg,#0000 75%,#f1f5f2 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:12px 12px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:1px dashed #c9d5cc;border-radius:8px;place-items:center;width:100%;display:grid;overflow:hidden}.coffee-qr-slot img{object-fit:contain;width:100%;height:100%;display:block}.coffee-phone-row{justify-content:center;align-items:center;gap:.35rem;margin-top:.55rem;display:flex}.coffee-phone-number{letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:650}.coffee-copy-btn{border:1px solid var(--line);width:1.7rem;height:1.7rem;color:var(--muted);background:#fff;border-radius:6px;place-items:center;padding:0;display:grid}.coffee-copy-btn:hover{color:var(--accent);border-color:#7fba9a}.workspace{flex:1;grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:stretch;gap:1.1rem;min-height:0;display:grid}.controls{scrollbar-gutter:stable;flex-direction:column;gap:.75rem;height:100%;min-height:0;padding-right:.25rem;display:flex;overflow:hidden auto}.control-block{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #c9d5cce6;border-radius:14px;padding:.85rem .9rem .95rem}.control-block.accordion{padding-top:.6rem;padding-bottom:.6rem}.control-block.accordion.open{padding-bottom:.95rem}.control-block h2{letter-spacing:.04em;text-transform:uppercase;color:#274237;margin:0 0 .55rem;font-size:.95rem}.how-to-modal{flex-direction:column;width:min(560px,100%);max-height:min(84vh,720px);display:flex}.how-to-body{color:var(--ink);padding:.85rem 1rem 1.1rem;font-size:.92rem;line-height:1.45;overflow:auto}.how-to-body p{color:var(--muted);margin:0 0 .85rem}.how-to-body h3{letter-spacing:.04em;text-transform:uppercase;color:#274237;margin:.85rem 0 .35rem;font-size:.82rem}.how-to-body ul{margin:0;padding-left:1.1rem}.how-to-body li{margin:.25rem 0}.how-to-body code{background:#f1f5f2;border-radius:4px;padding:.05em .3em;font-size:.86em}.how-to-video{aspect-ratio:16/9;background:#0f172a;border-radius:10px;margin-top:.45rem;overflow:hidden}.how-to-video iframe{border:0;width:100%;height:100%;display:block}.accordion-trigger{cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;caret-color:#0000;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.65rem;width:100%;margin:0;padding:.15rem 0;display:flex}.accordion-trigger:focus{outline:none}.accordion-trigger:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #7fba9a}.accordion-title{letter-spacing:.04em;text-transform:uppercase;color:#274237;pointer-events:none;margin:0;font-size:.95rem;font-weight:650}.accordion-chevron{opacity:.75;pointer-events:none;border-bottom:2px solid #274237;border-right:2px solid #274237;flex:none;width:.5rem;height:.5rem;transition:transform .2s;transform:rotate(45deg)}.accordion.open .accordion-chevron{margin-top:.2rem;transform:rotate(225deg)}.accordion-panel{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.accordion.open .accordion-panel{grid-template-rows:1fr}.accordion-panel-inner{min-height:0;overflow:hidden}.accordion.open .accordion-panel-inner{padding-top:.55rem}.hint{color:var(--muted);margin:0 0 .65rem;font-size:.9rem}.mode-toggle{grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-bottom:.55rem;display:grid}.mode-btn{background:#fff;border-radius:8px;padding:.55rem .35rem;font-size:.82rem;line-height:1.2}.mode-btn.active{background:var(--accent-soft);border-color:#7fba9a;font-weight:650}.group-summary{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.group-summary-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.45rem;padding:.4rem .5rem;font-size:.86rem;display:grid}.group-color-picker{place-items:center;margin:0;display:grid}.group-color-picker input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:1.7rem;height:1.7rem;padding:0}.import-warnings{background:#fff7f7;border:1px solid #fecaca;border-radius:8px;max-height:160px;margin-top:.75rem;padding:.55rem .7rem;overflow:auto}.import-warnings ul{color:#9f1239;margin:.35rem 0 0;padding-left:1.1rem;font-size:.8rem}.data-input{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:9rem;padding:.75rem;line-height:1.45}.field{flex-direction:column;gap:.3rem;margin-bottom:.65rem;font-size:.92rem;display:flex}.field span{color:var(--muted)}.field input,.field select,.manual-row input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.5rem .65rem}.check{align-items:center;gap:.5rem;margin:.35rem 0 .7rem;font-size:.92rem;display:flex}.intensity-scale{border:1px solid var(--line);background:#fff;border-radius:10px;margin:.35rem 0 .75rem;padding:.55rem .65rem .35rem}.intensity-scale legend{letter-spacing:.04em;text-transform:uppercase;color:#274237;padding:0 .3rem;font-size:.78rem}.intensity-scale .check{align-items:flex-start;margin:.35rem 0 .55rem}.intensity-scale .check span{flex-direction:column;gap:.1rem;display:flex}.field-note{color:var(--muted);font-size:.78rem;font-weight:400}.inline-fields{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.55rem;display:grid}.manual-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.75rem;display:flex}.manual-row input[list]{box-sizing:border-box;flex:9.5rem;width:9.5rem;min-width:0}.manual-row input.manual-value,.manual-row input[type=number]{box-sizing:border-box;flex:0 0 6.5rem;width:6.5rem;min-width:0}.table-value{box-sizing:border-box;border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;max-width:6.5rem;padding:.25rem .4rem}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:160px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e7eee8;padding:.45rem .55rem}th{background:#f4f8f5;font-weight:600;position:sticky;top:0}.cell-main{font-weight:600}.cell-sub,.cell-warn{color:var(--muted);font-size:.78rem}.cell-warn{color:var(--warn)}.status{font-size:.75rem;font-weight:600;display:inline-block}.status-recognized{color:var(--ok)}.status-not-recognized,.status-invalid{color:var(--danger)}.empty{color:var(--muted);text-align:center}.actions-cell{text-align:center;vertical-align:middle;width:2.25rem}.remove-btn{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;place-items:center;width:1.55rem;height:1.55rem;padding:0;font-size:1.05rem;line-height:1;display:inline-grid}.remove-btn:hover{background:#fee2e2;border-color:#f87171}.linkish{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem;display:flex}.chip{background:#fff;border-radius:999px;padding:.35rem .65rem}.chip.active{background:var(--accent-soft);border-color:#7fba9a}.export-actions{flex-wrap:wrap;gap:.5rem;display:flex}.error{color:var(--danger);margin:0}.preview-pane{flex-direction:column;height:100%;min-height:0;display:flex}.preview-frame{background:var(--map-wash);border:1px solid #c9d5ccf2;border-radius:18px;flex:1;place-items:center;min-height:0;padding:.75rem 1rem;display:grid;overflow:hidden}.map-svg{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.preview-meta{color:var(--muted);flex:none;margin:.45rem 0 0;font-size:.85rem}.assistant-dock{z-index:40;opacity:0;flex-direction:column;align-items:flex-end;gap:.4rem;transition:transform .45s cubic-bezier(.2,.9,.2,1),opacity .35s;display:flex;position:fixed;bottom:1.1rem;right:1.1rem;transform:translate(120%,20%)scale(.92)}.assistant-dock.entered{opacity:1;transform:translate(0)scale(1)}.assistant-bubble{width:3rem;height:3rem;color:var(--accent);font-family:var(--font-display);background:#fffcf7f5;border:1px solid #7fba9ad9;border-radius:12px;place-items:center;padding:0;font-size:1.55rem;font-weight:650;line-height:1;display:grid;box-shadow:0 12px 30px #0f221c24}.assistant-bubble:hover{border-color:var(--accent);background:var(--accent-soft)}.assistant-modal-backdrop{z-index:60;background:#0f221c6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.assistant-modal{border:1px solid var(--line);background:#fffdf9;border-radius:16px;width:min(720px,100%);overflow:hidden;box-shadow:0 18px 50px #0f221c38}.assistant-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.assistant-modal-head h2{margin:0;font-size:1.05rem}.assistant-modal-close{border-radius:8px;width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1}.assistant-video{aspect-ratio:16/9;background:#0f172a}.assistant-video iframe,.assistant-video-placeholder{border:0;width:100%;height:100%;display:block}.assistant-video-placeholder{color:#e2e8f0;text-align:center;place-items:center;padding:1rem;font-size:.9rem;display:grid}.assistant-video-placeholder code{color:#bbf7d0}.assistant-modal-note{color:var(--muted);margin:0;padding:.75rem 1rem 1rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.assistant-dock{transition:none}}.export-slot--after-preview{display:none}@media (width<=960px){html,body,#root{height:auto;overflow:auto}.app-shell{height:auto;max-height:none;padding:1rem 0 1.5rem;overflow:visible}.app-header{flex-direction:column}.app-header h1{font-size:clamp(1.75rem,6vw,2.4rem)}.header-credit{text-align:center;align-self:center;width:100%}.coffee-popover{left:50%;right:auto;transform:translate(-50%,4px)}.coffee-wrap:hover .coffee-popover,.coffee-wrap:focus-within .coffee-popover{transform:translate(-50%)}.workspace{flex:none;grid-template-columns:1fr}.controls{height:auto;max-height:none;overflow:visible}.export-slot--in-controls{display:none}.export-slot--after-preview{display:block}.preview-pane{height:auto}.preview-frame{flex:none;min-height:55vh}}
