:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--primary: #0071e3;--danger: #c0392b;--muted: #666;--border: #ccc;--radius: 8px}*,*:before,*:after{box-sizing:border-box}body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.site-header{position:relative;background:radial-gradient(120% 140% at 0% 0%,rgba(0,113,227,.08),transparent 55%),radial-gradient(120% 140% at 100% 0%,rgba(58,155,255,.1),transparent 60%),#fff;padding:1rem 1.5rem .85rem;border-bottom:1px solid var(--border)}.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--primary),#3a9bff,var(--primary));opacity:.85}.brand{display:flex;align-items:center;gap:.75rem;max-width:640px;margin:0 auto}.brand-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand-logo{flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,88,184,.25))}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{margin:0;font-size:1.55rem;font-weight:700;letter-spacing:-.02em;line-height:1.05;color:#1a1a1a}.brand-accent{background:linear-gradient(135deg,var(--primary),#3a9bff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}.tagline{margin:.15rem 0 0;font-size:.85rem;color:var(--muted)}main{flex:1;display:flex;flex-direction:column;max-width:640px;width:100%;margin:0 auto;padding:0 1rem 2rem}.value-prop{margin-top:1.25rem;margin-bottom:1.5rem}.vp-lead{margin:0 0 1rem;font-size:.95rem;line-height:1.55;color:#444}.vp-cards{display:flex;gap:.75rem}.vp-card{flex:1;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;font-size:.85rem;line-height:1.45;transition:transform .2s ease,box-shadow .2s ease}.vp-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.vp-card strong{display:block;margin-bottom:.35rem;font-size:.88rem}.vp-card p{margin:0;color:var(--muted)}@media(max-width:520px){.vp-cards{flex-direction:column}}.location-picker{margin-top:1rem;margin-bottom:1.25rem}.location-picker>h2{margin:0 0 .25rem;font-size:1.05rem}.location-picker-intro{margin:0 0 1rem;font-size:.85rem;color:var(--muted)}.location-option{margin-bottom:1.25rem}.location-option:last-child{margin-bottom:0}.location-option-title{margin:0 0 .15rem;font-size:.95rem}.location-option-help{margin:0 0 .5rem;font-size:.85rem;color:var(--muted)}.search-box{position:relative}#place-search{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;background:#fff}#place-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0071e333}#search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:0;margin:0;list-style:none;z-index:2000;box-shadow:0 4px 16px #0000001f;max-height:240px;overflow-y:auto}#search-results li{padding:.6rem .75rem;cursor:pointer;font-size:.85rem;line-height:1.35;border-bottom:1px solid #f0f0f0}#search-results li:last-child{border-bottom:none}#search-results li:hover,#search-results li[aria-selected=true]{background:#f0f6ff}#search-results li.search-no-results{color:var(--muted);cursor:default;font-style:italic}#search-error{margin-top:.3rem}#map{height:340px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);cursor:crosshair}.leaflet-container{cursor:crosshair!important}.pin-marker{background:none;border:none}.map-controls{display:flex;gap:.5rem}.map-controls button{font-size:.9rem;padding:.5rem 1rem}#map+.map-controls{margin-top:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.is-locating{display:inline-flex;align-items:center;gap:.5rem}.is-locating:after{content:"";width:.85em;height:.85em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.hint{font-size:.85rem;color:var(--muted);margin:.5rem 0 0;text-align:center}#creator-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-weight:600;font-size:.9rem}.required{color:var(--danger)}.optional{font-weight:400;color:var(--muted);font-size:.85rem}.field input,.field textarea{padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0071e333}.field-error,.form-error{font-size:.85rem;color:var(--danger);margin:0}button{padding:.65rem 1.25rem;border-radius:var(--radius);font-size:1rem;font-family:inherit;cursor:pointer;border:none;font-weight:600;transition:opacity .15s,background-color .15s,transform .12s}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #0071e38c}#btn-create:not(:disabled):hover,.primary:not(:disabled):hover{background:#0062c9;transform:translateY(-1px)}#btn-preview:not(:disabled):hover,.secondary:not(:disabled):hover{background:#d4d4d4;transform:translateY(-1px)}button:not(:disabled):active{transform:scale(.97) translateY(0);transition-duration:.05s}#btn-create,.primary{background:var(--primary);color:#fff}#btn-preview,.secondary{background:#e5e5e5;color:#222}.actions{display:flex;gap:.75rem;margin-top:.25rem}#success-panel{display:flex;flex-direction:column;gap:.9rem;padding:1.5rem;background:#fff;border-radius:var(--radius);border:1px solid #4caf50;margin-top:1rem}#success-panel[hidden]{display:none}#success-panel h2{margin:0;color:#2e7d32;font-size:1.2rem}.success-note{font-size:.85rem;color:var(--muted);margin:0}.url-row{display:flex;align-items:center;gap:.5rem;background:#f0f0f0;border-radius:var(--radius);padding:.5rem .75rem}.url-row a{flex:1;word-break:break-all;font-size:.9rem;color:var(--primary);text-decoration:none}.url-row a:hover{text-decoration:underline}.url-row button{flex-shrink:0;padding:.4rem .75rem;font-size:.85rem}.legal-page{padding-top:1.25rem}.legal-page article h2{margin:0 0 .4rem;font-size:1.4rem}.legal-page article h3{margin:1.5rem 0 .4rem;font-size:1.05rem}.legal-page article p,.legal-page article ul{margin:0 0 .75rem;font-size:.95rem;line-height:1.55;color:#333}.legal-page article ul{padding-left:1.25rem}.legal-page article li{margin-bottom:.3rem}.legal-page article a{color:var(--primary)}.legal-page article p.legal-effective{color:var(--muted);font-size:.85rem;margin-bottom:1.25rem}.about-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.about-section>h2{margin:0 0 1rem;font-size:1.05rem;text-align:center;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.about-card{display:flex;align-items:flex-start;gap:1.25rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.about-avatar{flex-shrink:0;width:140px;height:140px;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px #0000001f}.about-body{flex:1;min-width:0}.about-name{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#1a1a1a}.about-body p{margin:0 0 .6rem;font-size:.9rem;line-height:1.5;color:#444}.about-body p:last-child{margin-bottom:0}@media(max-width:520px){.about-card{flex-direction:column;align-items:center;text-align:center;padding:1.25rem 1rem}.about-avatar{width:128px;height:128px}}footer{text-align:center;padding:.9rem 1rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);background:#fff;margin-top:auto}footer a{color:var(--muted)}.contact-button{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--primary);text-decoration:underline}footer .contact-button{color:var(--muted)}dialog{border:none;border-radius:var(--radius);padding:0;box-shadow:0 8px 32px #00000040;max-width:90vw}dialog::backdrop{background:#00000080}.dialog-body{padding:1.5rem;width:380px;max-width:90vw}.dialog-body h2{margin-top:0;font-size:1.1rem}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}#preview-dialog[open]{width:min(480px,95vw);height:85vh;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--muted);flex-shrink:0}.preview-header button{background:none;border:none;padding:.25rem .5rem;font-size:1.1rem;cursor:pointer;color:var(--muted);font-weight:400;line-height:1}#preview-frame{flex:1;border:none;width:100%}#search-results{transition:opacity .15s ease,transform .15s ease}@starting-style{#search-results:not([hidden]){opacity:0;transform:translateY(-6px)}}#success-panel{transition:opacity .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}@starting-style{#success-panel:not([hidden]){opacity:0;transform:scale(.95) translateY(12px)}}dialog{opacity:1;transform:scale(1);transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.56,.64,1),overlay .22s ease allow-discrete,display .22s ease allow-discrete}@starting-style{dialog[open]{opacity:0;transform:scale(.92) translateY(-12px)}}dialog::backdrop{transition:background-color .22s ease,overlay .22s ease allow-discrete,display .22s ease allow-discrete}@starting-style{dialog[open]::backdrop{background-color:#0000}}@keyframes pin-drop{0%{transform:translateY(-18px) scale(.8);opacity:0}55%{transform:translateY(4px) scale(1.06);opacity:1}75%{transform:translateY(-3px) scale(.97)}to{transform:translateY(0) scale(1)}}.is-dropping svg{animation:pin-drop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes btn-pop{0%{transform:scale(1)}35%{transform:scale(.88)}65%{transform:scale(1.1)}to{transform:scale(1)}}.is-copied,.is-popping{animation:btn-pop .35s cubic-bezier(.34,1.56,.64,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
