:root{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;color:#1a2233;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#fff}a{color:inherit}.app-shell{position:relative;min-height:100vh;display:flex;flex-direction:column}.app-content{position:relative;z-index:1;flex:1 0 auto}.user-header{width:100%;padding:0 .75rem;border-bottom:1px solid transparent;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.user-header-inner{width:100%;max-width:840px;margin:0 auto;min-height:64px;padding:.75rem 0;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-title{margin:0;display:flex;align-items:center;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1rem,4.2vw,1.125rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:0;color:#1a2233}.app-title-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none}.app-title-link:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.app-title-logo{display:block;width:auto;height:56px}.user-badge{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:0}.user-badge-button{border:0;background:transparent;padding:0;cursor:pointer}.user-menu{position:relative;display:flex;align-items:center}.user-avatar{width:36px;height:36px;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:999px;box-shadow:0 8px 18px #061c121f;object-fit:cover;display:block;flex-shrink:0}.user-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;background:#f2f4f8;color:#1a2233}.user-name{max-width:clamp(120px,42vw,280px);font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;font-weight:700;letter-spacing:.02em;color:#1a2233;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-popover{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;position:absolute;top:calc(100% + .5rem);right:0;min-width:150px;padding:.5rem;display:flex;flex-direction:column;gap:2px;z-index:100}.user-menu-item{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.user-menu-item:focus{outline:2px solid #3b67ad;outline-offset:2px}.user-menu-item:disabled{opacity:.5;cursor:not-allowed}.user-menu-item{display:flex;align-items:center;width:100%;text-align:left;text-decoration:none;border-color:transparent;background:transparent;color:#1a2233;text-transform:none;letter-spacing:normal}.user-menu-item:hover{background:#f2f4f8}@media(min-width:760px){.user-header{padding:0 1rem}.user-header-inner{padding:1rem 0}.app-title-logo{height:64px}}.app-footer{flex-shrink:0;padding:.75rem}.app-footer__inner{width:min(100%,1280px);margin:0 auto;padding-top:.75rem;border-top:1px solid rgba(165.4695652174,179.7130434783,204.1304347826,.45);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.app-footer__strava-link,.app-footer__text-link{display:inline-flex;align-items:center}.app-footer__strava-link:focus-visible,.app-footer__text-link:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.app-footer__strava-mark{display:block;width:auto;height:18px}.app-footer__nav{display:flex;justify-content:flex-start}.app-footer__text-link{min-height:40px;padding:0;gap:.5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#4a5872;text-decoration:none;transition:color .2s ease}.app-footer__text-link:hover{color:#1a2233;text-decoration:underline;text-underline-offset:.16em}.app-footer__icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}@media(min-width:760px){.app-footer{padding:.75rem 1rem 1rem}.app-footer__inner{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}}.landing{min-height:calc(100vh - 72px);padding:.75rem;color:#1a2233;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}.landing .authenticated-content{max-width:840px;margin:0 auto}.landing .auth-shell{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);max-width:420px;margin:2rem auto 0}.landing .auth-shell .loading-text{margin:0}.landing .activities-section{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;gap:.75rem}.landing .activities-header-actions{display:grid;grid-template-columns:1fr;gap:.75rem}.landing .activity-search,.landing .activity-type-filter{width:100%}.landing .search-input,.landing .type-select{padding:.5rem .75rem;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem;color:#1a2233;background-color:#fff;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0;transition:border-color .2s ease}.landing .search-input:focus,.landing .type-select:focus{outline:none;border-color:#2f4f8f;box-shadow:0 0 0 3px #3b67ad2e}.landing .search-input::placeholder,.landing .type-select::placeholder{color:#73809a}.landing .search-input,.landing .type-select{width:100%;min-height:44px;background:#fff;border-color:#a5b4cc;color:#1a2233}.landing .activity-type-filter{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.landing .activity-type-filter label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#4a5872;white-space:nowrap}.landing .activities-summary-row{display:flex;flex-direction:column;gap:.75rem}.landing .activities-summary{margin:0;color:#4a5872;font-size:.9375rem}.landing .activities-pagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding-top:0;border-top:0}.landing .pagination-pages{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.landing .pagination-button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.landing .pagination-button:focus{outline:2px solid #3b67ad;outline-offset:2px}.landing .pagination-button:disabled{opacity:.5;cursor:not-allowed}.landing .pagination-button{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:#3b67ad;font-size:.6875rem;letter-spacing:.03em;text-transform:none}.landing .pagination-button:hover:not(:disabled){color:#2e5087;text-decoration:underline}.landing .pagination-button.is-active{background:transparent;color:#3b67ad;text-decoration:underline}.landing .pagination-page{min-width:0}.landing .pagination-ellipsis{display:inline-flex;align-items:center;padding:0 4px;color:#3b67ad;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.03em}.landing .connect-button{width:100%;max-width:236.867px;padding:0;border:0;background:transparent;display:block;margin:0 auto;line-height:0;cursor:pointer;border-radius:0;transition:opacity .2s ease}.landing .connect-button:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.landing .connect-button:disabled{cursor:not-allowed;opacity:.6}.landing .connect-button-image{width:100%;height:auto;display:block;border-radius:0}.landing .auth-shell .loading-text{text-align:center}.landing .activities-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.landing .activity-item{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.landing .activity-item:hover{transform:translateY(-1px);box-shadow:0 16px 34px #061c1229}.landing .activity-content{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.landing .activity-left-wrapper{display:flex;flex-direction:column;gap:.75rem;min-width:0}.landing .activity-left{min-width:0;display:flex;flex-direction:column;gap:.25rem}.landing .activity-name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;font-weight:700;letter-spacing:.03em;line-height:1.2}.landing .activity-distance,.landing .activity-type{border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);background:#fff;padding:2px .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.landing .activity-location{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:#4a5872}.landing .location-icon{flex-shrink:0}.landing .activity-minimap{width:100%;max-width:260px;overflow:hidden}.landing .activity-minimap svg path{stroke:red!important}.landing .activity-right{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.landing .activity-date{font-size:.8125rem;color:#4a5872}.landing .activity-photos{display:flex;gap:4px}.landing .activity-photo-thumbnail{width:40px;height:40px;object-fit:cover;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);display:block}.landing .loading-text,.landing .no-activities,.landing .error-message,.landing .success-message{margin:0;padding:.75rem;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);background:#fff;font-size:.9375rem}.landing .error-message{border-color:#b43b3473;background:#b43b3414;color:#b43b34}.landing .success-message{border-color:#a5b4cc;background:#2f7b4b1a;color:#1e4f30}.landing .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:760px){.landing{padding:1.5rem 1rem}.landing .activities-header-actions{grid-template-columns:minmax(220px,1fr) 220px;align-items:end}.landing .activities-summary-row{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.landing .activities-pagination{flex-wrap:nowrap}.landing .activity-content{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem}.landing .activity-left-wrapper{flex:1;flex-direction:row;align-items:center}.landing .activity-right{flex-direction:column;align-items:flex-end;justify-content:flex-start;flex-shrink:0}}.map-canvas-stage{position:relative;width:100%;background:#fff;overflow:hidden}.map-canvas-surface{display:block;width:100%;height:auto;background:#fff}.activity-selector{min-height:calc(100vh - 72px);padding:.75rem;color:#1a2233}.activity-selector .content-wrapper{width:100%;max-width:840px;margin:0 auto}.activity-selector .selector-shell{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;gap:1rem;padding-bottom:25px}.activity-selector .selector-back-button{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;border:0;background:transparent;padding:0;color:#2f4f8f;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;line-height:1;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.activity-selector .selector-back-button:hover{color:#3b67ad}.activity-selector .selector-back-button:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-shell-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.activity-selector .selector-button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.activity-selector .selector-button:focus{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-button:disabled{opacity:.5;cursor:not-allowed}.activity-selector .selector-button{min-height:44px}.activity-selector .selector-button-primary{border-color:#2f4f8f;background:#2f4f8f;color:#fff}.activity-selector .selector-button-secondary{border-color:#a5b4cc;background:#fff;color:#1a2233}.activity-selector .selector-button-generate{border-color:red;background:red;color:#fff}.activity-selector .selector-activity-card{width:100%;border:1px solid #d3dae6;background:#fff;color:inherit;text-align:left;cursor:pointer}.activity-selector .selector-activity-card:hover{transform:none;box-shadow:0 8px 18px #061c121f}.activity-selector .selector-activity-card .activity-content{padding:1rem}.activity-selector .selector-activity-card:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .activity-name{font-size:clamp(1.05rem,3.8vw,1.3rem)}.activity-selector .activity-distance,.activity-selector .activity-type{font-size:.8125rem}.activity-selector .activity-location,.activity-selector .activity-date{font-size:.9375rem}.activity-selector .activity-right{flex-direction:column;align-items:flex-end;justify-content:flex-start}.activity-selector .activity-minimap{max-width:300px}.activity-selector .selector-options-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.activity-selector .selector-option{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:.75rem;min-height:44px;display:flex;flex-direction:column;gap:.5rem}.activity-selector .selector-option-square{padding:0;overflow:hidden}.activity-selector .selector-option-main{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;min-height:44px;text-align:left;text-decoration:none;transition:opacity .2s ease;overflow:hidden}.activity-selector .selector-option-main:hover{opacity:.9}.activity-selector .selector-option-main:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-option-square-link{height:100%}.activity-selector .selector-option-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.activity-selector .selector-option-title-button{display:inline-block;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;text-decoration:none}.activity-selector .selector-option-title-button:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-rerun-buttons{display:inline-flex;gap:.25rem;flex-wrap:nowrap;align-items:center}.activity-selector .selector-rerun-button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.activity-selector .selector-rerun-button:focus{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-rerun-button:disabled{opacity:.5;cursor:not-allowed}.activity-selector .selector-rerun-button{min-height:28px;min-width:28px;padding:0;border-color:#a5b4cc;background:#fff;color:#1a2233;font-size:.65rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em}.activity-selector .selector-rerun-button:hover{border-color:#2f4f8f;color:#2f4f8f}.activity-selector .selector-map-options-toolbar{display:flex;flex-direction:column;gap:.75rem}.activity-selector .selector-map-options-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.activity-selector .selector-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.activity-selector .selector-group-card{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:0;overflow:hidden;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.activity-selector .selector-group-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px #061c1229;border-color:#2f4f8f}.activity-selector .selector-group-card:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-group-media{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f2f4f8}.activity-selector .selector-group-media-masked:after{content:"";position:absolute;inset:0;background:#ffffff1a;z-index:1;pointer-events:none}.activity-selector .selector-group-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.75rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1a2233;text-align:center;z-index:2;pointer-events:none}.activity-selector .selector-group-title-light{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28)}.activity-selector .selector-group-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#f2f4f8;z-index:0}.activity-selector .selector-group-image-empty{background:linear-gradient(135deg,#d3dae699,#fffffff2),#f2f4f8}.activity-selector .selector-map-options-title-row{display:flex;align-items:center;justify-content:center;padding:10px 0}.activity-selector .selector-map-options-title{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:calc(1.125rem * 1.3);letter-spacing:.04em;text-transform:uppercase;color:red;text-align:center}.activity-selector .selector-map-options-inline-action{border:0;background:transparent;padding:0;color:#2f4f8f;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.activity-selector .selector-map-options-inline-action:hover{color:#3b67ad}.activity-selector .selector-map-options-inline-action:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-map-options-inline-action:disabled{opacity:.5;cursor:not-allowed}.activity-selector .selector-generate-panel-inline{margin-top:-.5rem}.activity-selector .selector-option-placeholder{min-height:188px;cursor:default;border-style:dashed;border-color:#a5b4cca6;background:#ffffff73;box-shadow:none;pointer-events:none}.activity-selector .selector-option-placeholder:hover{transform:none;box-shadow:none}.activity-selector .option-title{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.activity-selector .selector-option-media{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f2f4f8}.activity-selector .selector-option-media-has-image:after{content:"";position:absolute;inset:0;background:#ffffff14;z-index:1;pointer-events:none}.activity-selector .selector-option-overlay-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.75rem;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.28);z-index:2;pointer-events:none}.activity-selector .selector-option-thumb{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#f2f4f8;z-index:0}.activity-selector .selector-selected-stage{display:flex;flex-direction:column;gap:.75rem}.activity-selector .selector-selected-main{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-items:start}.activity-selector .selector-advanced-settings{display:flex;flex-direction:column;gap:1rem;width:100%;padding:.5rem 0 0;border-top:1px solid rgba(211,218,230,.8)}.activity-selector .selector-advanced-settings-header{display:flex;flex-direction:column;gap:.25rem}.activity-selector .selector-advanced-settings-title{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1a2233}.activity-selector .selector-advanced-settings-copy{margin:0;color:#4a5872;font-size:.8125rem;line-height:1.55;max-width:24ch}.activity-selector .selector-advanced-settings-fields{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:.25rem}.activity-selector .selector-advanced-field{display:flex;flex-direction:column;gap:6px}.activity-selector .selector-advanced-label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#4a5872}.activity-selector .selector-advanced-input{min-height:40px;border:0;border-bottom:1px solid #1a2233;border-radius:0;background:transparent;padding:0 0 .25rem;color:#1a2233;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;letter-spacing:.02em;transition:border-color .2s ease,background-color .2s ease}.activity-selector .selector-advanced-input:hover{border-bottom-color:#2f4f8f}.activity-selector .selector-advanced-input:focus{outline:none;border-bottom-width:2px;border-bottom-color:#2f4f8f;background:#2f4f8f08}.activity-selector .selector-advanced-regenerate{width:100%;margin-top:.25rem}.activity-selector .selector-selected-preview-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.activity-selector .selector-selected-header{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.activity-selector .selector-selected-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.activity-selector .selector-selected-title-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:0 100px}.activity-selector .selector-selected-preview-thumb{width:56px;height:56px;object-fit:cover;flex-shrink:0;border:1px solid #d3dae6;background:#f2f4f8}.activity-selector .selector-selected-description{margin:0;font-size:.8125rem;line-height:1.55;color:#4a5872}.activity-selector .selector-selected-description strong{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;letter-spacing:.03em;text-transform:uppercase;color:#1a2233}.activity-selector .selector-selected-description{width:100%}.activity-selector .selector-inline-link{color:#2f4f8f;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}.activity-selector .selector-inline-link:hover{color:#3b67ad}.activity-selector .selector-inline-link:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-inline-link-emphasis{flex-shrink:0;padding-top:2px;color:red}.activity-selector .selector-topbar-actions{display:inline-flex;align-items:flex-start;gap:.75rem}.activity-selector .selector-inline-action-button{border:0;background:transparent;padding:2px 0 0;cursor:pointer}.activity-selector .selector-inline-action-button:disabled{opacity:.5;cursor:not-allowed}.activity-selector .selector-preset-back{border:0;background:transparent;color:#2f4f8f;font-size:1.125rem;font-weight:700;line-height:1;cursor:pointer;padding:0}.activity-selector .selector-preset-back:hover{color:#3b67ad}.activity-selector .selector-preset-back:focus-visible{outline:2px solid #3b67ad;outline-offset:2px}.activity-selector .selector-map-view{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:.5rem;display:flex;justify-content:center;align-items:center;width:100%}.activity-selector .selector-debug-panel-wrap{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.activity-selector .selector-debug-toggle{border:0;background:transparent;padding:0;cursor:pointer}.activity-selector .selector-debug-panel{width:100%;background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:.75rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;gap:.75rem}.activity-selector .selector-debug-panel-header{display:flex;flex-direction:column;gap:.75rem}.activity-selector .selector-debug-panel-title{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#1a2233}.activity-selector .selector-debug-panel-meta,.activity-selector .selector-debug-empty{margin:0;color:#4a5872;font-size:.8125rem;line-height:1.55}.activity-selector .selector-debug-run-picker{display:flex;flex-direction:column;gap:.25rem;width:100%;max-width:260px}.activity-selector .selector-debug-run-picker span{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#4a5872}.activity-selector .selector-debug-run-picker select{padding:.5rem .75rem;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem;color:#1a2233;background-color:#fff;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0;transition:border-color .2s ease}.activity-selector .selector-debug-run-picker select:focus{outline:none;border-color:#2f4f8f;box-shadow:0 0 0 3px #3b67ad2e}.activity-selector .selector-debug-run-picker select::placeholder{color:#73809a}.activity-selector .selector-debug-run-picker select{min-height:40px;font-size:.8125rem}.activity-selector .selector-debug-step-list{display:flex;flex-direction:column;gap:.25rem}.activity-selector .selector-debug-step-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:.5rem 0;border-top:1px solid #d3dae6}.activity-selector .selector-debug-step-name,.activity-selector .selector-debug-step-duration{font-size:.8125rem;color:#1a2233}.activity-selector .selector-debug-step-duration{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.activity-selector .selector-debug-step-status{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#4a5872}.activity-selector .selector-debug-step-status-failed{color:#b43b34}.activity-selector .selector-debug-step-status-skipped{color:#a16621}.activity-selector .selector-debug-step-status-completed{color:#2f7b4b}.activity-selector .selector-map-image{width:100%;height:auto;object-fit:contain;background:#f2f4f8}.activity-selector .selector-generate-panel{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:0}.activity-selector .selector-generate-cta{display:flex;justify-content:center;align-items:center;padding:40px 0 48px}.activity-selector .selector-generate-panel-active{border-color:transparent;background:transparent;box-shadow:none}.activity-selector .selector-progress-block{display:flex;flex-direction:column;gap:.5rem;padding:20px 24px 24px}.activity-selector .selector-progress-preview{position:relative;width:100%;max-width:510px;margin:0 auto;aspect-ratio:16/9}.activity-selector .selector-progress-preview-base,.activity-selector .selector-progress-preview-fill{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.activity-selector .selector-progress-preview-base{opacity:0}.activity-selector .selector-progress-preview-fill{opacity:1}.activity-selector .selector-progress-preview-path{opacity:0}.activity-selector .selector-progress-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.8125rem;color:#c40000;font-family:Sora,Avenir Next,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:.04em}.activity-selector .selector-progress-track{width:100%;height:10px;border:0;background:#ff000014;overflow:hidden}.activity-selector .selector-progress-fill{height:100%;background:red;transition:width .2s ease}.activity-selector .selector-message{margin:0;padding:.75rem;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);background:#fff}@media(min-width:960px){.activity-selector .selector-selected-main{grid-template-columns:minmax(220px,1fr) minmax(0,3fr)}}.activity-selector .selector-message-error{border-color:#b43b3473;color:#b43b34;background:#b43b3414}@media(min-width:760px){.activity-selector{padding:1.5rem 1rem}.activity-selector .selector-map-options-toolbar{gap:.5rem}.activity-selector .selector-options-grid.selector-options-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-selector .selector-options-grid.selector-options-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-selector .selector-option-thumb{height:100%}.activity-selector .selector-option-placeholder{min-height:218px}}.map-tool-page{min-height:100vh;padding:.75rem;color:#1a2233}.map-tool-shell{width:100%;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.map-tool-header,.map-tool-panel{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6}.map-tool-header{display:flex;flex-direction:column;gap:1rem}.map-tool-header-main{min-width:0}.map-tool-title-row,.map-tool-header-preset,.map-tool-variable-field,.map-tool-variable-actions{display:flex;flex-direction:column;gap:.5rem}.map-tool-kicker,.map-tool-field-label,.map-tool-panel h2{margin:0 0 .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.map-tool-header h1{margin:0 0 .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.2rem,4.8vw,1.875rem);text-transform:uppercase;letter-spacing:.04em}.map-tool-title-row h1{margin:0}.map-tool-header-preset{max-width:320px}.map-tool-subtitle,.map-tool-helper,.map-tool-result-head p,.map-tool-status p,.map-tool-empty-state p{margin:0;color:#4a5872;font-size:.8125rem}.map-tool-header-actions,.map-tool-layout,.map-tool-panel-head,.map-tool-variable-row,.map-tool-chip-row,.map-tool-id-list,.map-tool-variable-meta,.map-tool-step-groups,.map-tool-step-group,.map-tool-step-group-list{display:flex;flex-direction:column;gap:.75rem}.map-tool-back-link,.map-tool-primary-button,.map-tool-secondary-button,.map-tool-tertiary-button,.map-tool-rerun-button,.map-gen-tool-link{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.map-tool-back-link:focus,.map-tool-primary-button:focus,.map-tool-secondary-button:focus,.map-tool-tertiary-button:focus,.map-tool-rerun-button:focus,.map-gen-tool-link:focus{outline:2px solid #3b67ad;outline-offset:2px}.map-tool-back-link:disabled,.map-tool-primary-button:disabled,.map-tool-secondary-button:disabled,.map-tool-tertiary-button:disabled,.map-tool-rerun-button:disabled,.map-gen-tool-link:disabled{opacity:.5;cursor:not-allowed}.map-tool-back-link,.map-tool-primary-button,.map-tool-secondary-button,.map-tool-tertiary-button,.map-tool-rerun-button,.map-gen-tool-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0}.map-tool-back-link,.map-tool-secondary-button,.map-tool-tertiary-button,.map-tool-rerun-button,.map-gen-tool-link{background:#fff;color:#1a2233}.map-tool-primary-button,.map-gen-tool-link-primary{background:#2f4f8f;color:#fff}.map-tool-tertiary-button{align-self:flex-start}.map-tool-input{padding:.5rem .75rem;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem;color:#1a2233;background-color:#fff;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0;transition:border-color .2s ease}.map-tool-input:focus{outline:none;border-color:#2f4f8f;box-shadow:0 0 0 3px #3b67ad2e}.map-tool-input::placeholder{color:#73809a}.map-tool-input{width:100%;min-height:40px;border-radius:0}.map-tool-input-textarea{min-height:96px;resize:vertical}.map-tool-variable-list,.map-tool-result-grid{display:grid;gap:1rem}.map-tool-result-grid{grid-template-columns:minmax(0,1fr)}.map-tool-result-card{display:flex;flex-direction:column;gap:.75rem}.map-tool-result-error{padding:.75rem;border:1px solid #b43b34;background:#b43b340f}.map-tool-result-error p{margin:0;color:#b43b34;font-size:.8125rem}.map-tool-result-action{margin-top:.75rem;width:100%}.map-tool-rerun-buttons{display:inline-flex;gap:.25rem;align-items:center}.map-tool-rerun-buttons.map-tool-result-action{width:auto}.map-tool-rerun-button{min-width:40px;padding:.25rem}.map-tool-result-head h3{margin:0 0 .25rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.map-tool-result-status-line{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.map-tool-run-id{display:inline-flex;align-items:center;gap:.25rem;min-height:40px;padding:0 .25rem;border:1px solid #d3dae6;background:#fff}.map-tool-run-id-label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:#4a5872}.map-tool-run-id-copy{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.map-tool-run-id-copy:focus{outline:2px solid #3b67ad;outline-offset:2px}.map-tool-run-id-copy:disabled{opacity:.5;cursor:not-allowed}.map-tool-run-id-copy{min-height:40px;padding:0 .5rem;border-color:#a5b4cc;background:#fff;color:#1a2233;font-size:.6875rem}.map-tool-result-title-link{color:inherit;text-decoration:none}.map-tool-result-title-row{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.map-tool-result-title-controls{margin-left:.25rem}.map-tool-result-title-link:hover,.map-tool-result-title-link:focus-visible{text-decoration:underline}.map-tool-result-frame{aspect-ratio:1/1;border:2px solid #1a2233;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.map-tool-result-link{display:block;width:100%}.map-tool-result-frame.pending,.map-tool-result-frame.running,.map-tool-result-frame.idle{background:linear-gradient(135deg,#809bd61a,#ffffffeb),repeating-linear-gradient(45deg,rgba(26,34,51,.05),rgba(26,34,51,.05) 10px,transparent 10px,transparent 20px)}.map-tool-result-frame.error{border-color:#b43b34}.map-tool-result-image{width:100%;height:100%;object-fit:cover;display:block}.map-tool-result-grid-benchmark .map-tool-result-frame{aspect-ratio:auto;align-items:stretch;justify-content:flex-start}.map-tool-result-grid-benchmark .map-tool-result-frame.pending,.map-tool-result-grid-benchmark .map-tool-result-frame.running,.map-tool-result-grid-benchmark .map-tool-result-frame.idle,.map-tool-result-grid-benchmark .map-tool-result-frame.error{min-height:200px}.map-tool-result-grid-benchmark .map-tool-result-image{height:auto;object-fit:contain}.map-tool-result-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:#4a5872}.map-tool-result-placeholder .map-tool-result-action{max-width:160px;margin-top:0}.map-tool-status-loading{border-color:#3b67ad}.map-tool-status-success{border-color:#2f7b4b}.map-tool-status-error{border-color:#b43b34}.map-tool-empty-state{border:1px solid #d3dae6;padding:1.5rem;background:#ffffffc7}.map-tool-empty-state.compact{padding:1rem}.map-tool-current-value{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;color:#1a2233}.map-tool-chip-row,.map-tool-id-list{flex-wrap:wrap}.map-tool-variable-step,.map-tool-variable-key,.map-tool-step-variable-range{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.map-tool-step-groups{padding-top:.75rem;max-height:500px;overflow-y:auto;padding-right:.5rem;border-top:1px solid #d3dae6}.map-tool-panel-head-compact{padding-top:.75rem;border-top:1px solid #d3dae6}.map-tool-step-group{padding:.75rem;border:1px solid #d3dae6;background:#ffffffb3}.map-tool-step-group-head h3,.map-tool-step-variable-card h4{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em}.map-tool-step-group-head p,.map-tool-step-variable-card p{margin:0;color:#4a5872;font-size:.8125rem}.map-tool-step-group-list{gap:.5rem}.map-tool-step-variable-card{padding:.75rem;border:1px solid #d3dae6;background:#fff}.map-tool-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 .75rem;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;background:#fff}.map-gen-tools{margin-bottom:.75rem;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border:1px solid #d3dae6;background:#ffffffe0}.map-gen-tools-title{margin:0 0 .25rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em}.map-gen-tools-helper{margin:0;color:#4a5872;font-size:.8125rem}.map-gen-tool-link-list{display:grid;gap:.5rem}.map-gen-tool-link.active{border-color:#1a2233}@media(min-width:768px){.map-tool-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.map-tool-header-main{width:100%}.map-tool-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:start;gap:1rem}.map-tool-header-actions{min-width:240px;position:relative;z-index:1}.map-tool-layout{grid-template-columns:minmax(0,1fr)}.map-tool-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-tool-result-grid-benchmark{grid-template-columns:repeat(4,minmax(0,1fr))}.map-tool-variable-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:end}.map-tool-variable-field{align-self:stretch}.map-tool-variable-actions{justify-content:flex-end;min-height:100%}.map-tool-variable-actions .map-tool-tertiary-button{align-self:stretch}.map-gen-tool-link-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-generation{min-height:100vh;padding:.75rem;background:transparent;color:#1a2233;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;line-height:1.55}.map-generation .content-wrapper{width:100%;max-width:1400px;margin:0 auto}.map-generation .header{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6;display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.map-generation .header h1{margin:0;flex:initial;min-width:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.05rem,4.6vw,1.375rem);font-weight:700;text-transform:uppercase;letter-spacing:.03em;word-break:break-word}.map-generation .regen-progress{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6;margin-bottom:1rem;padding:.75rem}.map-generation .regen-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.map-generation .regen-progress-track{height:12px;border:1px solid #1a2233;background:#fff;overflow:hidden}.map-generation .regen-progress-fill{height:100%;background:#1a2233;transition:width .2s ease}.map-generation .back-button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.map-generation .back-button:focus{outline:2px solid #3b67ad;outline-offset:2px}.map-generation .back-button:disabled{opacity:.5;cursor:not-allowed}.map-generation .back-button{min-height:40px;padding:.5rem 1rem;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);background:#fff;color:#1a2233}.map-generation .back-button:hover:not(:disabled){background:#ededed}.map-generation .back-button:disabled{cursor:not-allowed;opacity:.6}.map-generation .back-button{width:100%}.map-generation .rerun-profile-button,.map-generation .execute-button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.map-generation .rerun-profile-button:focus,.map-generation .execute-button:focus{outline:2px solid #3b67ad;outline-offset:2px}.map-generation .rerun-profile-button:disabled,.map-generation .execute-button:disabled{opacity:.5;cursor:not-allowed}.map-generation .rerun-profile-button,.map-generation .execute-button{min-height:40px;padding:.5rem 1rem;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);background:#2f4f8f;color:#fff}.map-generation .rerun-profile-button:hover:not(:disabled),.map-generation .execute-button:hover:not(:disabled){background:#264074}.map-generation .rerun-profile-button:disabled,.map-generation .execute-button:disabled{cursor:not-allowed;opacity:.6}.map-generation .rerun-profile-button,.map-generation .execute-button{width:100%}.map-generation .rerun-button-row{display:inline-grid;grid-template-columns:repeat(3,minmax(40px,1fr));gap:.5rem;width:auto}.map-generation .rerun-profile-button{min-width:40px;padding-left:.5rem;padding-right:.5rem}.map-generation .map-gen-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.map-generation .map-gen-config{display:flex;flex-direction:column;gap:1rem;min-width:0}.map-generation .tech-tree-section,.map-generation .steps-section,.map-generation .map-gen-outputs{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6}.map-generation .tech-tree-title,.map-generation .steps-section-title,.map-generation .outputs-title,.map-generation .outputs-inspect-title,.map-generation .parameters-title,.map-generation .step-inspect-title{margin:0 0 .75rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.map-generation .tech-tree-intro,.map-generation .outputs-intro,.map-generation .step-description{margin:0 0 .75rem;font-size:.8125rem;color:#4a5872}.map-generation .style-preset-panel{margin-bottom:.75rem}.map-generation .style-preset-label{display:block;margin-bottom:.25rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.map-generation .style-preset-select{width:100%;min-height:40px;border:2px solid #1a2233;border-radius:0;background:#fff;color:#1a2233;padding:0 .75rem;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem}.map-generation .style-preset-helper{margin:.25rem 0 0;font-size:.8125rem;color:#4a5872}.map-generation .tech-tree-branches{display:flex;flex-wrap:wrap;gap:.5rem}.map-generation .tech-tree-branch{border:2px solid #1a2233;background:#fff;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;cursor:pointer}.map-generation .tech-tree-branch.enabled{background:#f2f4f8}.map-generation .tech-tree-checkbox{margin:0;width:1rem;height:1rem;accent-color:#1a2233}.map-generation .tech-tree-branch-label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase}.map-generation .tech-tree-branch-desc{font-size:.8125rem;color:#4a5872}.map-generation .steps-section{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.map-generation .steps-section-title,.map-generation .empty-state{grid-column:1/-1}.map-generation .flowchart{border:1px solid #1a2233;background:#fff;padding:.75rem}.map-generation .flowchart-trunk,.map-generation .flowchart-trunk-after,.map-generation .flowchart-branch-steps{display:flex;flex-direction:column;gap:.5rem}.map-generation .flowchart-row{position:relative}.map-generation .flowchart-node-wrap{width:100%}.map-generation .flowchart-node{width:100%;min-height:40px;border:2px solid #1a2233;border-radius:0;background:#fff;color:#1a2233;display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;text-align:left;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;cursor:pointer}.map-generation .flowchart-node:hover{background:#fff}.map-generation .flowchart-node.selected{background:#f2f4f8;border-width:2px}.map-generation .flowchart-node.completed{border-left-width:8px}.map-generation .flowchart-node.running{border-left-width:8px;border-left-color:#a16621}.map-generation .flowchart-node-num{width:24px;height:24px;border:1px solid #1a2233;background:#fff;display:flex;align-items:center;justify-content:center;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;flex-shrink:0}.map-generation .flowchart-node-preview{width:32px;height:32px;border:1px solid #1a2233;background:#f2f4f8;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.map-generation .flowchart-node-thumb{width:100%;height:100%;object-fit:contain;background:#f2f4f8}.map-generation .flowchart-node-placeholder{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.58rem;text-transform:uppercase;color:#4a5872}.map-generation .flowchart-node-name{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;flex:1;min-width:0}.map-generation .flowchart-node-badge{border:1px solid #1a2233;background:#fff;padding:1px .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;text-transform:uppercase}.map-generation .flowchart-node-badge.running{background:#a1662124}.map-generation .flowchart-branch-point{margin:.75rem 0;border:1px solid #1a2233;background:#f2f4f8;padding:.75rem}.map-generation .flowchart-branches{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.map-generation .flowchart-branch-column{border:1px solid #1a2233;background:#fff;padding:.5rem}.map-generation .flowchart-branch-label{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.5rem}.map-generation .flowchart-branch-name{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase}.map-generation .flowchart-branch-optional{font-size:.6875rem;color:#4a5872}.map-generation .tech-tree-node-detail{border:1px solid #1a2233;background:#fff;padding:.75rem;min-height:0;position:static}.map-generation .tech-tree-node-detail-empty{display:flex;align-items:center;justify-content:center}.map-generation .detail-empty-message{margin:0;font-size:.9375rem;color:#4a5872}.map-generation .detail-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.map-generation .detail-title{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.9375rem;font-weight:700;text-transform:uppercase}.map-generation .detail-status-badge{border:1px solid #1a2233;background:#f2f4f8;padding:1px .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase}.map-generation .detail-status-badge.running{background:#a1662124}.map-generation .step-parameters,.map-generation .step-inspect{border:1px solid #1a2233;background:#fff;padding:.5rem;margin-bottom:.75rem}.map-generation .parameter-field{display:flex;flex-direction:column;gap:2px;margin-bottom:.5rem}.map-generation .parameter-field:last-child{margin-bottom:0}.map-generation .parameter-label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase}.map-generation .parameter-helper{font-size:.6875rem;color:#4a5872}.map-generation .parameter-input{min-height:40px;padding:.25rem .5rem;border:1px solid #1a2233;border-radius:0;background:#fff;color:#1a2233;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem}.map-generation .prerequisite-warning{border:2px solid #1a2233;background:#a1662124;padding:.5rem;margin-bottom:.75rem;font-size:.8125rem}.map-generation .warning-content strong{font-family:Sora,Avenir Next,Segoe UI,sans-serif;margin-right:4px}.map-generation .step-actions{display:flex;flex-direction:column;gap:.5rem;flex-wrap:wrap}.map-generation .step-inspect-item,.map-generation .outputs-inspect-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.map-generation .step-inspect-item:last-child,.map-generation .outputs-inspect-item:last-child{margin-bottom:0}.map-generation .step-inspect-image,.map-generation .outputs-inspect-image{width:100%;height:auto;border:1px solid #1a2233;display:block}.map-generation .step-inspect-link,.map-generation .step-inspect-download,.map-generation .outputs-inspect-link,.map-generation .outputs-inspect-download{color:#1a2233;font-size:.8125rem;text-decoration:underline}.map-generation .outputs-inspect-section{border-bottom:1px solid #1a2233;margin-bottom:.75rem;padding-bottom:.75rem}.map-generation .outputs-loading,.map-generation .outputs-empty{border:1px dashed #1a2233;background:#fff;padding:1rem;text-align:center}.map-generation .outputs-loading p,.map-generation .outputs-empty p{margin:0;font-size:.9375rem}.map-generation .outputs-empty-icon{display:block;margin-bottom:.5rem;font-size:1.2rem}.map-generation .outputs-empty-hint{margin-top:.5rem!important;color:#4a5872;font-size:.8125rem!important}.map-generation .output-selector-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.map-generation .output-selector-button{min-height:40px;border:1px solid #1a2233;background:#fff;color:#1a2233;padding:.25rem .5rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.map-generation .output-selector-button:hover{background:#f2f4f8}.map-generation .output-selector-button.active{background:#1a2233;color:#fff}.map-generation .output-item{margin:0;border:1px solid #1a2233;background:#fff}.map-generation .output-item-featured{width:100%}.map-generation .output-link{display:block}.map-generation .output-image{width:100%;height:auto;display:block}.map-generation .output-caption{margin:0;padding:.5rem;border-top:1px solid #1a2233;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase}.map-generation .output-satellite-link{display:inline-block;margin-top:.5rem;color:#1a2233;font-size:.8125rem;text-decoration:underline}.map-generation .outputs-satellite-row{margin-top:.5rem}.map-generation .empty-state,.map-generation .loading-state,.map-generation .error-state{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6;text-align:center}.map-generation .empty-state p,.map-generation .loading-state p,.map-generation .error-state p{margin:0;font-size:.9375rem}.map-generation .error-state p{margin-bottom:.75rem;color:#b43b34}@media(min-width:760px){.map-generation{padding:1rem}.map-generation .header{flex-direction:row;align-items:center;flex-wrap:wrap}.map-generation .back-button,.map-generation .rerun-button-row,.map-generation .rerun-profile-button,.map-generation .execute-button{width:auto}.map-generation .step-actions{flex-direction:row;align-items:center}}@media(min-width:900px){.map-generation .steps-section{grid-template-columns:minmax(0,1fr) 340px}.map-generation .tech-tree-node-detail{position:sticky;top:1rem;min-height:280px}.map-generation .flowchart-branches{grid-template-columns:1fr}}@media(min-width:1100px){.map-generation .map-gen-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}}.logo-gen{min-height:100vh;padding:.75rem;background:transparent;color:#1a2233;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}.logo-gen__content{width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.logo-gen__panel{background-color:#fff;border:1px solid #d3dae6;box-shadow:0 8px 18px #061c121f;border-radius:0;padding:1rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-color:#d3dae6}.logo-gen__header{display:flex;flex-direction:column;gap:.75rem}.logo-gen__header h1{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.1rem,5.2vw,1.375rem);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.logo-gen__eyebrow{margin:0 0 .25rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4a5872}.logo-gen__subtitle{margin:0;color:#4a5872;font-size:.9375rem}.logo-gen__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.logo-gen__panel-title{margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.logo-gen__panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.logo-gen__form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:.75rem}.logo-gen__action-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.logo-gen__action-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;align-items:end}.logo-gen__field{display:flex;flex-direction:column;gap:.25rem}.logo-gen__field--full{grid-column:1/-1}.logo-gen__label{font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#4a5872}.logo-gen__input{padding:.5rem .75rem;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:.9375rem;color:#1a2233;background-color:#fff;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0;transition:border-color .2s ease}.logo-gen__input:focus{outline:none;border-color:#2f4f8f;box-shadow:0 0 0 3px #3b67ad2e}.logo-gen__input::placeholder{color:#73809a}.logo-gen__input{min-height:40px;width:100%;border-color:#a5b4cc}.logo-gen__color-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.5rem;align-items:center}.logo-gen__swatch{height:40px;width:44px;border:1px solid rgb(165.4695652174,179.7130434783,204.1304347826);border-radius:0;padding:0;background:#fff;cursor:pointer}.logo-gen__toggle{min-height:40px;display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;color:#1a2233}.logo-gen__toggle input{width:1rem;height:1rem;margin:0;accent-color:#1a2233}.logo-gen__button{padding:.5rem 1rem;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f4f8f;cursor:pointer;transition:all .2s ease;border-radius:0}.logo-gen__button:focus{outline:2px solid #3b67ad;outline-offset:2px}.logo-gen__button:disabled{opacity:.5;cursor:not-allowed}.logo-gen__button{min-height:40px;border-color:#2f4f8f;background:#2f4f8f;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.logo-gen__button:hover:not(:disabled){background:#274278;border-color:#274278}.logo-gen__button--secondary{border-color:#a5b4cc;background:#fff;color:#1a2233}.logo-gen__button--secondary:hover:not(:disabled){background:#f2f4f8;border-color:#1a2233}.logo-gen__helper{margin:0 0 .75rem;color:#4a5872;font-size:.8125rem}.logo-gen__helper strong{color:#1a2233;font-weight:700}.logo-gen__status{margin:.75rem 0 0;font-size:.8125rem;color:#4a5872}.logo-gen__status--error{color:#b43b34;font-weight:500}.logo-gen__status--success{color:#2f7b4b;font-weight:500}.logo-gen__output-links{margin-top:.75rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.logo-gen__output-link{min-height:40px;border:1px solid #1a2233;background:#fff;padding:.5rem .75rem;text-decoration:none;color:#1a2233;font-family:Sora,Avenir Next,Segoe UI,sans-serif;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;transition:background .12s ease}.logo-gen__output-link:hover{background:#f2f4f8}.logo-gen__preview-stage{border:1px solid #1a2233;background:linear-gradient(180deg,#ffffffb3,#ffffffe6),linear-gradient(45deg,rgba(11,35,75,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(11,35,75,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(11,35,75,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(11,35,75,.06) 75%);background-size:auto,24px 24px,24px 24px,24px 24px,24px 24px;background-position:0 0,0 0,0 12px,12px -12px,-12px 0}.logo-gen__preview-svg{width:100%;height:auto;display:block;aspect-ratio:640/420}.logo-gen__preview-image{width:100%;height:auto;display:block;aspect-ratio:640/420;object-fit:contain}.logo-gen__code{margin:0;border:1px solid #1a2233;background:#fff;padding:.75rem;overflow-x:auto;white-space:pre;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.5;color:#1a2233}.logo-gen__runbook{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.5rem;color:#4a5872;font-size:.9375rem;line-height:1.55}@media(min-width:760px){.logo-gen__action-row,.logo-gen__form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:980px){.logo-gen__layout{grid-template-columns:1.15fr 1fr}.logo-gen__header{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem}}
