:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--primary: #0071e3;--primary-hover: #0062c9;--primary-link: #0071e3;--primary-soft: rgba(0, 113, 227, .2);--primary-tint: #f0f6ff;--on-primary: #fff;--danger: #c0392b;--muted: #666;--border: #ccc;--border-soft: #f0f0f0;--bg: #f5f5f5;--surface: #fff;--surface-2: #f0f0f0;--header-base: #fff;--header-tint-1: rgba(0, 113, 227, .08);--header-tint-2: rgba(58, 155, 255, .1);--text: #222;--text-strong: #1a1a1a;--text-soft: #444;--text-on-legal: #333;--secondary-bg: #e5e5e5;--secondary-hover: #d4d4d4;--secondary-text: #222;--success-border: #4caf50;--success-heading: #2e7d32;--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--shadow-strong: 0 8px 32px rgba(0, 0, 0, .25);--shadow-dialog-backdrop: rgba(0, 0, 0, .5);--radius: 8px}@media(prefers-color-scheme:dark){:root{--primary-hover: #1a85ed;--primary-link: #5fa9ed;--primary-soft: rgba(94, 169, 237, .28);--primary-tint: #1f2a3a;--danger: #ff7a6c;--muted: #a8a8a8;--border: #3a3a3a;--border-soft: #2a2a2a;--bg: #121212;--surface: #1e1e1e;--surface-2: #2a2a2a;--header-base: #1e1e1e;--header-tint-1: rgba(94, 169, 237, .1);--header-tint-2: rgba(58, 155, 255, .1);--text: #e8e8e8;--text-strong: #f5f5f5;--text-soft: #cccccc;--text-on-legal: #d8d8d8;--secondary-bg: #3a3a3a;--secondary-hover: #4a4a4a;--secondary-text: #e8e8e8;--success-border: #66bb6a;--success-heading: #a5d6a7;--shadow-card: 0 4px 16px rgba(0, 0, 0, .5);--shadow-strong: 0 8px 32px rgba(0, 0, 0, .7)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg);color:var(--text)}.site-header{position:relative;background:radial-gradient(120% 140% at 0% 0%,var(--header-tint-1),transparent 55%),radial-gradient(120% 140% at 100% 0%,var(--header-tint-2),transparent 60%),var(--header-base);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:var(--text-strong)}.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:var(--text-soft)}.vp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.vp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;font-size:.85rem;line-height:1.45;color:var(--text);transition:transform .2s ease,box-shadow .2s ease}.vp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.vp-card strong{display:block;margin-bottom:.35rem;font-size:.88rem}.vp-card p{margin:0;color:var(--muted)}.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:var(--surface);color:var(--text)}#place-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}#search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:0;margin:0;list-style:none;z-index:2000;box-shadow:var(--shadow-card);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 var(--border-soft)}#search-results li:last-child{border-bottom:none}#search-results li:hover,#search-results li[aria-selected=true]{background:var(--primary-tint)}#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%;background:var(--surface);color:var(--text);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 var(--primary-soft)}.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 var(--surface);outline-offset:2px;box-shadow:0 0 0 4px var(--primary-soft)}#btn-create:not(:disabled):hover,.primary:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px)}#btn-preview:not(:disabled):hover,.secondary:not(:disabled):hover{background:var(--secondary-hover);transform:translateY(-1px)}button:not(:disabled):active{transform:scale(.97) translateY(0);transition-duration:.05s}#btn-create,.primary{background:var(--primary);color:var(--on-primary)}#btn-preview,.secondary{background:var(--secondary-bg);color:var(--secondary-text)}.actions{display:flex;gap:.75rem;margin-top:.25rem}#success-panel{display:flex;flex-direction:column;gap:.9rem;padding:1.5rem;background:var(--surface);color:var(--text);border-radius:var(--radius);border:1px solid var(--success-border);margin-top:1rem}#success-panel[hidden]{display:none}#success-panel h2{margin:0;color:var(--success-heading);font-size:1.2rem}.success-note{font-size:.85rem;color:var(--muted);margin:0}.url-row{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border-radius:var(--radius);padding:.5rem .75rem}.url-row a{flex:1;word-break:break-all;font-size:.9rem;color:var(--primary-link);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:var(--text-on-legal)}.legal-page article ul{padding-left:1.25rem}.legal-page article li{margin-bottom:.3rem}.legal-page article a{color:var(--primary-link)}.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:var(--surface);color:var(--text);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:var(--text-strong)}.about-body p{margin:0 0 .6rem;font-size:.9rem;line-height:1.5;color:var(--text-soft)}.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:var(--surface);margin-top:auto}footer a{color:var(--muted)}.contact-button{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--primary-link);text-decoration:underline}footer .contact-button{color:var(--muted)}dialog{border:none;border-radius:var(--radius);padding:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-strong);max-width:90vw}dialog::backdrop{background:var(--shadow-dialog-backdrop)}.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}}
