@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/assets/inter-latin-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/assets/inter-latin-ext-DO1Apj_S.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg-main:#090d16;--bg-darker:#05080e;--bg-card:#111827b3;--glass-bg:#0a0f1ebf;--glass-border:#ffffff14;--primary:#ff7a3d;--primary-hover:#ff6424;--primary-line:#ff7a3d;--switch-off-bg:#64748b;--primary-text:#ff8f5c;--secondary:#475569;--secondary-hover:#334155;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dark:#0f172a;--danger:#ef4444;--success:#22c55e;--favorite:#f43f5e;--favorite-active-bg:#f43f5e2e;--favorite-active-border:#f43f5e66;--toast-bg:#0f172ad9;--toast-border:#ff7a3d33;--toast-border-error:#ef444466;--toast-shadow:0 10px 25px #0006;--toast-icon-success:var(--success);--toast-icon-error:var(--danger);--toolbar-tile-hover:#ffffff14;--toolbar-tile-active-bg:#ff7a3d2e;--toolbar-tile-active-border:var(--primary-line);--toolbar-tile-active-fg:var(--primary-line);--option-card-bg:#ffffff08;--option-card-border:#ffffff1a;--option-card-hover:#ffffff12;--option-card-active-bg:#ff7a3d1f;--stat-tile-bg:#ffffff08;--stat-tile-border:#ffffff1a;--stat-bar:#ff7a3db8;--stat-bar-current:var(--primary);--stat-baseline:#ffffff12;--stat-skeleton:#ffffff0f;--stat-skeleton-sheen:#ffffff1c;--stat-error-bg:#ef444414;--stat-error-border:#ef444459;--stat-error-fg:#fca5a5;--arbeit-bg:#ff7a3d1a;--arbeit-fg:var(--primary-text);--reiter-aktiv-bg:#ffffff24;--zeile-bg:#ffffff06;--zeile-linie:#ffffff14;--zeile-hover:#ffffff0f;--zeile-hover-linie:#ffffff29;--diff-easy:#38bdf8;--diff-moderate:#22c55e;--diff-difficult:#eab308;--diff-very-hard:#f97316;--diff-extreme:#ef4444;--diff-unknown:#ffffff5c;--rang-schiene:#ffffff12;--rang-fuellung:#ffffff61;--toolbar-popover-bg:#111726fa;--toolbar-popover-shadow:0 12px 32px #00000073;--icon-clear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4 L12 12 M12 4 L4 12' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");--focus-ring:#ff7a3d3d;--admin-sticky-bg:#090e1b;--admin-sticky-bg-hover:#0e131f;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-premium:0 8px 32px 0 #00000080;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-main:#f8fafc;--bg-darker:#f1f5f9;--bg-card:#fff;--glass-bg:#ffffffd9;--glass-border:#0f172a14;--primary:#f26a21;--primary-hover:#e0560f;--primary-line:#e0560f;--primary-text:#b93f0b;--switch-off-bg:var(--text-muted);--secondary:#cbd5e1;--secondary-hover:#94a3b8;--text-main:#0f172a;--text-muted:#5b6b7f;--text-dark:#0f172a;--shadow-premium:0 10px 30px -10px #0f172a14, 0 1px 3px #0f172a05;--focus-ring:#e0560f24;--toast-bg:#ffffffeb;--toast-border:#0f172a1a;--toast-border-error:#b91c1c59;--toast-shadow:0 12px 32px -8px #0f172a38;--toast-icon-success:#15803d;--toast-icon-error:#b91c1c;--admin-sticky-bg:#feffff;--admin-sticky-bg-hover:#fff;--toolbar-tile-hover:#0f172a0f;--toolbar-tile-active-bg:#f26a2124;--toolbar-tile-active-border:var(--primary-line);--toolbar-tile-active-fg:var(--primary-line);--favorite:#be123c;--favorite-active-bg:#be123c24;--favorite-active-border:#be123c52;--option-card-bg:#fff;--option-card-border:#0f172a24;--option-card-hover:#0f172a0d;--option-card-active-bg:#f26a211f;--stat-tile-bg:#fff;--stat-tile-border:#0f172a24;--stat-bar:var(--primary-line);--stat-bar-current:var(--primary-text);--stat-baseline:#0f172a12;--stat-skeleton:#0f172a0f;--stat-skeleton-sheen:#0f172a1c;--stat-error-bg:#b91c1c0f;--stat-error-border:#b91c1c4d;--stat-error-fg:#b91c1c;--arbeit-bg:#e0560f12;--arbeit-fg:var(--primary-text);--reiter-aktiv-bg:#0f172a1a;--zeile-bg:#fff;--zeile-linie:#0f172a1a;--zeile-hover:#fff;--zeile-hover-linie:#0f172a33;--diff-easy:#089ee1;--diff-moderate:#1dab52;--diff-difficult:#b98d06;--diff-very-hard:#f76906;--diff-extreme:#ef4444;--diff-unknown:#0f172a80;--rang-schiene:#0f172a12;--rang-fuellung:#0f172a85;--toolbar-popover-bg:#fffffffa;--toolbar-popover-shadow:0 12px 32px -8px #0f172a38}[data-theme=light] .glass{-webkit-backdrop-filter:blur(20px)saturate(180%)!important;background:#ffffffd9!important;border:1px solid #0f172a0f!important;box-shadow:0 12px 40px -12px #0f172a1f!important}[data-theme=light] select,[data-theme=light] input[type=text],[data-theme=light] input[type=number],[data-theme=light] input[type=password],[data-theme=light] input[type=email],[data-theme=light] input[type=search],[data-theme=light] input[type=url],[data-theme=light] textarea{color:#0f172a!important;background-color:#fff!important;border:1px solid #0f172a1f!important;transition:all .2s!important}[data-theme=light] select:focus,[data-theme=light] input[type=text]:focus,[data-theme=light] input[type=number]:focus,[data-theme=light] input[type=password]:focus,[data-theme=light] input[type=email]:focus,[data-theme=light] input[type=search]:focus,[data-theme=light] input[type=url]:focus,[data-theme=light] textarea:focus{border-color:var(--primary-line)!important;box-shadow:0 0 0 3px var(--focus-ring)!important}[data-theme=light] .gallery-search-input{background-color:var(--bg-darker)!important}[data-theme=light] .gallery-search-input:focus{background-color:#fff!important}[data-theme=light] select option{color:#0f172a!important;background-color:#fff!important}[data-theme=light] .btn-secondary{color:#0f172a!important;background-color:#f1f5f9!important;border:1px solid #0f172a0f!important}[data-theme=light] .btn-secondary:hover{background-color:#e2e8f0!important;border-color:#0f172a1a!important}[data-theme=light] .burger-dropdown{background:#fff!important;border:1px solid #0f172a14!important;box-shadow:0 12px 32px #0f172a1f!important}[data-theme=light] .burger-item{color:#0f172a!important}[data-theme=light] .burger-item:hover{background:#f1f5f9!important}[data-theme=light] .modal-overlay{background-color:#0f172a40!important}[data-theme=light] .modal-overlay.active{-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}[data-theme=light] .modal-card{background:#fff!important;border:1px solid #0f172a0f!important;box-shadow:0 24px 64px -12px #0f172a2e!important}[data-theme=light] .modal-header h2{color:#0f172a!important}[data-theme=light] .wall-card{background:#fff!important;border:1px solid #0f172a0d!important}[data-theme=light] .wall-desc-card:not([open]){border-color:#0f172a14!important}[data-theme=light] .route-item{background:#fff!important;border:1px solid #0f172a0f!important}[data-theme=light] .route-item:hover,[data-theme=light] .route-item.hovered{background:#f8fafc!important;border-color:#0f172a1a!important}[data-theme=light] .route-item.selected{background:color-mix(in srgb, var(--primary) 5%, transparent)!important;border-color:var(--primary-line)!important}[data-theme=light] .sidebar-tabs{background:#0f172a08!important;border-bottom:1px solid #0f172a0f!important}[data-theme=light] .tab-btn{color:#64748b!important}[data-theme=light] .tab-btn.active{color:var(--primary-text)!important}[data-theme=light] .tab-btn.active:after{background-color:var(--primary)!important}[data-theme=light] .rating-star-btn{color:#475569!important;background:#0f172a0a!important;border-color:#0f172a14!important}[data-theme=light] .rating-star-btn:hover{border-color:var(--primary-line)!important;color:var(--primary-text)!important;background:color-mix(in srgb, var(--primary) 10%, transparent)!important}[data-theme=light] .rating-star-btn.active{background:color-mix(in srgb, var(--primary) 15%, transparent)!important;border-color:var(--primary-line)!important;color:var(--primary-text)!important;box-shadow:none!important}[data-theme=light] .canvas-container{background-color:#f1f5f9!important}[data-theme=light] .route-selection-chip{background:#fff!important;border:1px solid #0f172a14!important;box-shadow:0 8px 24px #0f172a0f!important}[data-theme=light] .chip-route-name{color:#0f172a!important}[data-theme=light] .chip-color-dot{border-color:#0f172a33!important}[data-theme=light] .editor-tip{background:#fff!important;border:1px solid #0f172a14!important;box-shadow:0 8px 24px #0f172a0f!important}[data-theme=light] .editor-tip span{color:#0f172a!important}[data-theme=light] .control-section h3{color:#0f172a!important;border-bottom:1px solid #0f172a0f!important}[data-theme=light] .file-dropzone{background:#f8fafc!important;border:2px dashed #0f172a1f!important}[data-theme=light] .file-dropzone:hover{border-color:var(--primary-line)!important;background:color-mix(in srgb, var(--primary) 2%, transparent)!important}[data-theme=light] .btn-toggle-sidebar{color:#475569!important;background:#f1f5f9!important;border-color:#0f172a1f!important}[data-theme=light] .btn-toggle-sidebar:hover{color:var(--primary-line)!important;border-color:var(--primary-line)!important;background:#e2e8f0!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);flex-direction:column;width:100vw;height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-line);outline-offset:2px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-premium)}.hidden,[hidden]{display:none!important}.flex-child{flex:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.25s forwards fadeIn}@media (prefers-reduced-motion:reduce){:not(.spinner),:not(.spinner):before,:not(.spinner):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.wall-card:hover,.wall-card:hover img,.wall-card:hover .wall-card-routes-svg,.btn-primary:hover,.btn-danger:hover,.btn-sharepic:hover,.btn-edit-wall:hover,.btn-delete-wall:hover{transform:scale(1)}}.loading-spinner-container{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--primary-line);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.icon-inline{margin-right:4px}.icon-inline.is-dim{opacity:.8}.is-initially-hidden.is-initially-hidden{display:none}.u-mb-16.u-mb-16{margin-bottom:16px}.u-mt-0.u-mt-0{margin-top:0}.u-mt-10.u-mt-10{margin-top:10px}.u-gap-8.u-gap-8{gap:8px}.u-gap-16.u-gap-16{gap:16px}.u-full-width.u-full-width{width:100%}.u-fs-145.u-fs-145{font-size:1.45rem}.u-accent.u-accent{accent-color:var(--primary)}.u-muted-sm.u-muted-sm{color:var(--text-muted);font-size:.8rem}.row-gap-8.row-gap-8{gap:8px;display:flex}.row-gap-10.row-gap-10{gap:10px;display:flex}.row-center-8.row-center-8{align-items:center;gap:8px;display:flex}.u-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack-gap-8.stack-gap-8{flex-direction:column;gap:8px;display:flex}.stack-gap-16.stack-gap-16{flex-direction:column;gap:16px;display:flex}.screen-subtitle.screen-subtitle{color:var(--text-muted);margin-left:8px;font-size:1rem;font-weight:300}.app-header .screen-subtitle:before{content:"|";margin-right:8px}.app-container{width:100%;height:100%;position:relative;overflow:hidden}.screen{flex-direction:column;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.screen.active{z-index:10;display:flex}.app-header{background-color:var(--bg-darker);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-icon{color:var(--primary-line);font-size:1.8rem}.logo-icon-img{object-fit:contain;display:none}.logo-text{flex-direction:column;gap:1px;display:flex}.logo h1{letter-spacing:-.5px;font-size:1.35rem;font-weight:800}.app-slogan{color:var(--text-muted);letter-spacing:.2px;font-size:.8rem;font-weight:500}.logo h1 span,.brand-suffix{color:var(--primary-text)}.version-badge{color:var(--primary-text);background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary-line) 20%, transparent);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:.7rem;font-weight:600}.header-actions{align-items:center;gap:10px;display:flex}.burger-menu{position:relative}.burger-btn{justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex;padding:0!important}.burger-dropdown{opacity:0;visibility:hidden;z-index:1000;pointer-events:none;border-radius:12px;flex-direction:column;gap:2px;min-width:220px;padding:6px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)scale(.96);box-shadow:0 12px 40px #00000080}.burger-dropdown.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.burger-item{width:100%;color:var(--text-main);cursor:pointer;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;transition:background .15s,color .15s;display:flex}.burger-badge{background:var(--favorite);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.burger-sep{background:#80808040;height:1px;margin:6px 8px}.burger-item i{text-align:center;width:20px;color:var(--text-muted);font-size:1rem;transition:color .15s}.burger-item:hover,.burger-item:active{background:#ffffff0f}.burger-item:hover i,.burger-item:active i{color:var(--primary-line)}.burger-backdrop{z-index:999;-webkit-tap-highlight-color:transparent;background:#0006;display:none;position:fixed;inset:0}.hide-mobile{display:inline}@media (width<=768px){.hide-mobile{display:none}.app-header{padding:10px 12px}.app-slogan{display:none}.logo-icon-img{width:36px;height:36px}.logo h1{font-size:1.15rem}.header-actions{gap:6px}.header-actions .btn{padding:8px 10px;font-size:.85rem}.burger-backdrop.open{background:0 0;display:block}.burger-dropdown{border-radius:14px;min-width:232px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto}.burger-item{gap:14px;padding:14px 16px;font-size:1rem}.burger-item i{font-size:1.1rem}}@media (width<=359px){.logo-text{display:none}.logo-icon-img{display:block}}#btn-show-upload{white-space:nowrap}#gallery-screen.gallery-is-empty #btn-show-upload{display:none}.user-profile-container{align-items:center;display:flex;position:relative}.btn-header-login{color:var(--text-main);border:1px solid var(--glass-border);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:600;display:flex}.btn-header-login:hover{background:var(--glass-bg);border-color:var(--text-muted)}.user-profile-badge{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:var(--transition-smooth);border-radius:20px;align-items:center;gap:10px;padding:4px 6px;display:flex}.user-profile-badge:hover{border-color:color-mix(in srgb, var(--primary-line) 40%, transparent);background:#ffffff0d}.user-avatar{object-fit:cover;border:1px solid var(--glass-border);border-radius:50%;width:28px;height:28px}.user-name-display{color:var(--text-main);padding-right:6px;font-size:.85rem;font-weight:500}.user-profile-dropdown{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);z-index:1000;background:#0b0f19f2;border-radius:12px;flex-direction:column;gap:4px;width:220px;padding:8px;animation:.2s cubic-bezier(.16,1,.3,1) fadeInDropdown;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px #00000080}.user-profile-dropdown.active{display:flex}.user-dropdown-header{border-bottom:1px solid var(--glass-border);margin-bottom:6px;padding:8px 12px 12px}.user-dropdown-email{color:var(--text-muted);word-break:break-all;margin-top:2px;font-size:.75rem}.user-dropdown-item{color:var(--text-main);cursor:pointer;text-align:left;transition:var(--transition-smooth);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.85rem;font-weight:500;display:flex}.user-dropdown-item:hover{background:#ffffff0d}.user-dropdown-item.logout{color:#ff453a}.user-dropdown-item.logout:hover{background:#ff453a1a}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=light] .user-profile-dropdown{background:#fffffffa;box-shadow:0 10px 25px #0f172a14}.user-dropdown-name{color:var(--text-main);font-size:.85rem;font-weight:700}.admin-badge.is-spaced{margin-top:4px}.app-footer{border-top:1px solid var(--glass-border);color:var(--text-muted);z-index:1;margin-top:48px;padding:24px 20px 32px;font-size:.8rem;position:relative}.app-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.app-footer-brand{align-items:center;gap:8px;display:inline-flex}.app-footer-logo{letter-spacing:-.02em;color:var(--text-main);font-size:.9rem;font-weight:700}.app-footer-brand .version-badge{color:var(--text-muted);background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-full,9999px);font-variant-numeric:tabular-nums;margin-left:0;padding:2px 7px;font-size:.7rem;font-weight:500}.app-footer-links{flex-wrap:wrap;align-items:center;gap:12px;margin:0;display:inline-flex}.app-footer-link{color:var(--text-muted);font-size:.8rem;font-weight:500;text-decoration:none;transition:color .15s}.app-footer-link:hover,.app-footer-link:focus-visible{color:var(--text-main);text-underline-offset:3px;text-decoration:underline}.app-footer-dot{color:var(--glass-border);-webkit-user-select:none;user-select:none;font-size:.85rem}.app-footer-btn{border-radius:var(--radius-full,9999px);background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:500;text-decoration:none;transition-property:background-color,border-color,transform,box-shadow;display:inline-flex}.app-footer-btn:hover,.app-footer-btn:focus-visible{background:color-mix(in srgb, var(--danger) 20%, transparent);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--text-main);text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.app-footer-btn-icon{color:var(--danger);font-size:.72rem}@media (width<=640px){.app-footer{margin-top:36px;padding:20px 16px 28px}.app-footer-inner{text-align:center;flex-direction:column;justify-content:center;gap:14px}.app-footer-links{justify-content:center;gap:10px}}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition-property:background-color,color,border-color,transform,box-shadow,filter,opacity;display:inline-flex}.btn:disabled{opacity:.5;filter:none;transform:none;cursor:not-allowed!important}.btn-primary{background-color:var(--primary);color:var(--text-dark);box-shadow:inset 0 0 0 1px var(--primary-line)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary);color:var(--text-main)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-hover)}.btn-quiet{color:var(--text-muted);background-color:#0000;border-color:#0000}.btn-quiet:hover:not(:disabled){background-color:var(--toolbar-tile-hover);color:var(--text-main)}.btn-danger{background-color:var(--danger)!important;color:#fff!important;border:none!important}.btn-danger:hover:not(:disabled){transform:translateY(-1px);background-color:#dc2626!important}.btn-sharepic{color:#fff;background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);border:none;font-weight:600}.btn-sharepic:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #fd1d1d4d}.btn:not(:disabled):active{filter:brightness(.93);transition-duration:0s;transform:translateY(0)}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-block{width:100%}.btn-close{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:4px;font-size:1.5rem}.btn-close:hover:not(:disabled){color:var(--text-main)}.btn-toggle-sidebar{display:none}.btn-plain.btn-plain{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.btn--split.btn--split{flex:1;justify-content:center;align-items:center;gap:8px;margin-top:0;padding:10px 16px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-muted);font-size:.9rem;font-weight:600}.form-group input[type=text],.form-group input[type=number],.form-group input[type=password],.form-group input[type=email],.form-group input[type=search],.form-group input[type=url],.form-group select,.form-group textarea{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-main);transition:var(--transition-smooth);background:#ffffff0d;width:100%;min-width:0;padding:12px;font-family:inherit;font-size:.95rem}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=password]:focus,.form-group input[type=email]:focus,.form-group input[type=search]:focus,.form-group input[type=url]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-line);background:#ffffff14}.settings-field select,.settings-field input{border:1px solid var(--glass-border);width:100%;color:var(--text-main);background:#ffffff0d;border-radius:8px;padding:10px 12px;font-size:.9rem}@media (width<=768px){input[type=text],input[type=number],input[type=password],input[type=email],input[type=search],input[type=url],input[type=date],select,textarea{font-size:16px}}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.field-hint.field-hint{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;display:block}.field-select.field-select{width:100%;color:var(--text-main);cursor:pointer;background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-size:.9rem}.form-group--inline.form-group--inline{cursor:pointer;flex-direction:row;align-items:center;gap:8px}.checkbox-lg.checkbox-lg{cursor:pointer;width:18px;height:18px}.checkbox-label.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.checkbox-row.checkbox-row{cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:flex}.field-row-label.field-row-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.field-row-between.field-row-between{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.form-details{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px}.form-details-summary{cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 14px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.form-details-summary::-webkit-details-marker{display:none}.form-details-summary>span{flex:1}.form-details-chevron{color:var(--text-muted);font-size:.8rem;transition:transform .2s}.form-details[open] .form-details-chevron{transform:rotate(180deg)}.form-details-content{border-top:1px solid var(--glass-border);flex-direction:column;gap:16px;padding:14px;display:flex}.route-badge-type,.route-meta-detail,.route-badge-grade{align-items:center;gap:3px;line-height:1;display:inline-flex}.route-badge-type i,.route-badge-type svg,.route-meta-detail i,.route-badge-grade i,.bolt-icon{width:12px;height:12px;color:var(--primary-line);vertical-align:middle;justify-content:center;align-items:center;font-size:11px;display:inline-flex;margin:0!important}.rating-star-picker{gap:8px;margin-top:4px;display:flex}.rating-star-btn{color:var(--text-muted);cursor:pointer;background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:8px 10px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.rating-star-btn:hover{border-color:var(--primary-line);color:var(--primary-text);background:color-mix(in srgb, var(--primary) 10%, transparent)}.rating-star-btn.active{background:color-mix(in srgb, var(--primary) 20%, transparent);border-color:var(--primary-line);color:var(--primary-text);box-shadow:0 0 10px color-mix(in srgb, var(--primary) 30%, transparent)}.route-rating-stars{color:var(--primary-text);letter-spacing:1px;align-items:center;margin-left:4px;font-size:.9rem;font-weight:700;display:inline-flex}.modal-overlay{top:var(--visual-viewport-top,0px);width:100%;height:var(--visual-viewport-height,100%);box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;pointer-events:none;visibility:hidden;background-color:#05080ecc;justify-content:center;align-items:center;padding:12px 0;transition:opacity .3s,visibility 0s linear .3s;display:flex;position:fixed;left:0}.modal-overlay:not(.active){-webkit-backdrop-filter:none;backdrop-filter:none}.modal-overlay.active{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .3s,visibility}.modal-overlay .modal-card.glass{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}.modal-card{border-radius:var(--radius-lg);flex-direction:column;width:90%;max-width:480px;max-height:100%;display:flex;overflow:hidden}.modal-card>.modal-body,.modal-card>.modal-form{min-height:0;overflow-y:auto}.modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h2{font-size:1.25rem;font-weight:700}.modal-form{flex-direction:column;gap:20px;padding:24px;display:flex}.modal-body{padding:20px 24px}.modal-actions{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.login-divider{border-top:1px solid var(--glass-border);width:100%;height:1px;margin:14px 0 6px;position:relative}.password-login-form{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.password-login-form input{width:100%;color:var(--text-main);background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.9rem}[data-theme=light] .password-login-form input{background:#fff;border-color:#0f172a1f}.password-login-form .btn{height:42px;margin-top:0}.login-error{color:var(--danger);margin:0;font-size:.82rem}.login-error.hidden{display:none}.login-notice{color:var(--primary-text);margin:0;font-size:.82rem;line-height:1.45}.login-notice.hidden{display:none}.login-hint{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.45}.link-button{color:var(--primary-text);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:var(--primary-text)}.login-divider-text{color:var(--text-muted);background:#090d16;border-radius:4px;padding:0 10px;font-size:.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=light] .login-divider-text{background:#fff!important}.area-list-item{border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:var(--transition-smooth);background:#ffffff08;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.area-list-item:hover{background:#ffffff0f;border-color:#ffffff1f}.area-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.area-item-name{color:var(--text-main);margin:0;font-size:.9rem;font-weight:600}.area-item-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}.area-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.area-item-btn{color:var(--text-muted);cursor:pointer;width:28px;height:28px;transition:var(--transition-smooth);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.area-item-btn:hover{color:var(--text-main);background:#ffffff1a}.area-item-btn.delete:hover{color:#ef4444;background:#ef444426}.area-inline-edit{gap:8px;width:100%;display:flex}.area-inline-input{color:var(--text-main);background:#0f172a99;border:1px solid #ffffff1a;border-radius:6px;flex:1;padding:6px 10px;font-size:.85rem}.sharepic-preview-item{aspect-ratio:9/16;border-radius:var(--radius-md);background:#05080e;border:2px solid #ffffff14;flex:none;width:240px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 10px 25px #0006}.sharepic-preview-item.format-feed{aspect-ratio:4/5}.sharepic-preview-item:hover{border-color:var(--primary-line);transform:translateY(-4px)}.sharepic-preview-item img{object-fit:cover;width:100%;height:100%}.sharepic-preview-download-btn{border:1px solid var(--glass-border);color:#fff;cursor:pointer;z-index:10;background:#0b0f19d9;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:all .2s;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 10px #0000004d}.sharepic-preview-download-btn:hover{background:var(--primary);transform:scale(1.1);color:var(--bg-main)!important}.sharepic-preview-badge{border:1px solid var(--glass-border);color:#fff;z-index:10;background:#0b0f19d9;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:700;position:absolute;top:12px;left:12px}.sharepic-format{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.sharepic-format-option{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:inherit;font-size:.8rem;font-weight:600}.sharepic-format-option:hover{color:var(--text-main)}.sharepic-format-option.active{background:var(--primary);color:var(--text-dark);box-shadow:inset 0 0 0 1px var(--primary-line)}.btn-square-social{width:50px;height:50px;transition:var(--transition-smooth);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-social-placeholder{border:1px solid var(--glass-border);width:50px;height:50px;transition:var(--transition-smooth);cursor:not-allowed;opacity:.5;background:#80808014;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-social-placeholder.whatsapp{color:#25d366;border-color:#25d36659}.btn-social-placeholder.tiktok{color:var(--text-muted)}.brand-icon{width:1em;height:1em;display:block}.conflict-list{flex-direction:column;gap:16px;max-height:60vh;display:flex;overflow-y:auto}.conflict-item{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-card);padding:14px}.conflict-item-title{color:var(--text-main);margin:0 0 10px;font-size:.95rem}.conflict-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.conflict-choices .btn{text-align:left;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.conflict-choice-label{font-size:.85rem;font-weight:700}.conflict-choice-value{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}@media (width<=480px){.conflict-choices{grid-template-columns:1fr}.modal-actions,.modal-footer{flex-wrap:wrap}.modal-actions>.btn,.modal-footer>.btn{flex:1 1 0;min-width:0}.modal-actions--wrap>.btn{flex:auto}}.empty-state.is-compact{font-size:.85rem}.area-readonly-hint{color:var(--text-muted);opacity:.7;padding-right:8px;font-size:.75rem}.area-item-btn.is-confirm{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary-text)}.modal-overlay--elevated.modal-overlay--elevated{z-index:2000}.modal-overlay--top.modal-overlay--top{z-index:2100}.modal-text.modal-text{color:var(--text-muted);font-size:.95rem;line-height:1.5}.modal-body--scroll.modal-body--scroll{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.modal-card--narrow.modal-card--narrow{flex-direction:column;max-width:400px;display:flex}.modal-card--sm.modal-card--sm{width:90%;max-width:420px}.section-divider-above.section-divider-above{border-top:1px solid var(--glass-border);margin-top:4px;padding-top:20px}.modal-section-head.modal-section-head{margin-bottom:12px}.modal-section-title.modal-section-title{color:var(--text-main);font-size:.95rem;font-weight:600;display:block}.modal-section-hint.modal-section-hint{color:var(--text-muted);margin-top:3px;font-size:.8rem;line-height:1.45}.picker-list.picker-list{flex:1;margin-top:8px;padding:12px 0;overflow-y:auto}.option-card.option-card{background:var(--option-card-bg);border:1px solid var(--option-card-border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;padding:12px;transition:background .15s,border-color .15s;display:grid}.option-card.option-card:hover{background:var(--option-card-hover)}.option-card.option-card:has(input:checked){background:var(--option-card-active-bg);border-color:var(--primary-line)}.option-card.option-card:has(input:focus-visible){outline:2px solid var(--primary-line);outline-offset:2px}.option-card input:focus-visible{outline:none}.option-card-radio.option-card-radio{width:18px;height:18px;accent-color:var(--primary-line);margin:0}.option-card-main.option-card-main{min-width:0}.option-card-title.option-card-title{color:var(--text-main);font-size:.95rem;font-weight:600;display:block}.option-card-desc.option-card-desc{color:var(--text-muted);margin-top:1px;font-size:.8rem;display:block}.option-card-spec.option-card-spec{text-align:right;white-space:nowrap}.option-card-dim.option-card-dim{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:.82rem;display:block}.option-card-size.option-card-size{color:var(--primary-text);font-variant-numeric:tabular-nums;margin-top:1px;font-size:.82rem;display:block}@media (width<=430px){.option-card.option-card{grid-template-columns:auto 1fr}.option-card-spec.option-card-spec{text-align:left;grid-column:2;margin-top:2px}.option-card-dim.option-card-dim,.option-card-size.option-card-size{display:inline}.option-card-size.option-card-size:before{content:" · ";color:var(--text-muted)}}#btn-confirm-ok{background-color:var(--danger);color:#fff}#btn-mock-admin-login{background-color:var(--primary);width:100%;height:42px;color:var(--text-dark);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:500;display:flex}#btn-mock-login{border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-bottom:4px;font-weight:500;display:flex}#btn-resend-verification{align-self:flex-start}#btn-reset-cancel{align-self:center}#google-signin-btn-container{justify-content:center;align-items:center;width:100%;min-height:40px;margin-top:8px;display:flex}#login-mock-divider{border-top:1px solid var(--glass-border);width:100%;height:1px;margin:12px 0 4px;position:relative}#report-reason-input{resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card);width:100%;color:var(--text-main);padding:10px 12px;font-family:inherit;font-size:.9rem}#verify-icon{color:var(--primary-line);font-size:2.4rem}#verify-message{color:var(--text-main);margin:0}.auth-promo-text.auth-promo-text{color:var(--text-muted);margin:-4px 0 0;font-size:.85rem;line-height:1.5}.auth-promo-title.auth-promo-title{color:var(--text-main);margin:0;font-size:.95rem;font-weight:500}.auth-promo-logo.auth-promo-logo{color:var(--primary-line);margin-bottom:8px;font-size:2.5rem}.modal-body--auth.modal-body--auth{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px 24px;display:flex}.modal-card--login.modal-card--login{flex-direction:column;width:90%;max-width:440px;display:flex}.login-hint.login-hint{margin-bottom:4px}.modal-body--tight.modal-body--tight{padding:20px 24px}.modal-body--centered.modal-body--centered{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex}.modal-actions--end.modal-actions--end{justify-content:flex-end;gap:12px;margin-top:12px;display:flex}.modal-footer.modal-footer{border-top:1px solid var(--glass-border);background:#0003;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.modal-actions--wrap.modal-actions--wrap{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;margin-top:10px;display:flex}.modal-actions--spaced.modal-actions--spaced{gap:10px;margin-top:16px}.feedback-modal-card{max-width:540px}.feedback-category-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px;display:grid}.feedback-category-card{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 8px;transition-property:background-color,border-color,box-shadow,transform;display:flex;position:relative}.feedback-category-card:hover{background:var(--option-card-hover);border-color:var(--glass-border-focus);transform:translateY(-1px)}.feedback-category-card.is-active,.feedback-category-card.active{background:var(--stat-tile-bg);border-color:var(--primary-line);box-shadow:0 0 0 1px var(--primary-line)}.feedback-category-icon{font-size:1.35rem;transition:transform .2s}.feedback-category-card:hover .feedback-category-icon{transform:scale(1.1)}.feedback-category-icon--bug{color:var(--danger)}.feedback-category-icon--idea{color:var(--primary-line)}.feedback-category-icon--general{color:#38bdf8}.feedback-category-label{color:var(--text-muted);font-size:.8rem;font-weight:600;line-height:1.25;transition:color .2s}.feedback-category-card.is-active .feedback-category-label,.feedback-category-card:hover .feedback-category-label{color:var(--text-main)}@media (width<=480px){.feedback-category-grid{gap:6px}.feedback-category-card{gap:6px;padding:10px 4px}.feedback-category-icon{font-size:1.15rem}.feedback-category-label{word-break:break-word;font-size:.72rem}}.feedback-textarea{resize:vertical;min-height:110px}.feedback-diagnostics-card{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;font-size:.85rem}.feedback-diagnostics-toggle{cursor:pointer;color:var(--text-main);align-items:center;gap:8px;font-weight:500;display:flex}.feedback-diagnostics-details{margin-top:8px;font-size:.8rem}.feedback-diagnostics-summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.feedback-diagnostics-preview{font-family:monospace;font-size:.75rem}.feedback-diagnostics-code{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-muted);max-height:120px;margin-top:6px;padding:8px;font-size:.75rem;overflow-x:auto}.modal-card--share{width:100%;max-width:520px}.modal-subtitle{color:var(--text-muted);margin-top:2px;font-size:.8rem;font-weight:500}.share-modal-tabs{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-md,10px);gap:4px;margin-bottom:16px;padding:4px;display:flex}.share-tab-btn{min-width:0;color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.share-tab-btn:hover{color:var(--text-main)}.share-tab-btn.active{background:var(--bg-card);color:var(--text-main);box-shadow:0 1px 3px #0000004d, inset 0 0 0 1px var(--glass-border)}.share-panels-container{grid-template-rows:1fr;grid-template-columns:1fr;display:grid}.reiter-inhalt{opacity:0;pointer-events:none;visibility:hidden;grid-area:1/1;transition:opacity .2s,visibility 0s linear .2s}.reiter-inhalt.active{opacity:1;visibility:inherit;transition-delay:0s}.modal-overlay.active .reiter-inhalt.active{pointer-events:auto}.share-card-section{flex-direction:column;gap:10px;display:flex}.share-input-group{align-items:stretch;gap:8px;display:flex}.share-input-group input{flex:1;min-width:0}.btn-sharepic-cta{background:var(--primary);color:var(--text-dark);cursor:pointer;transition:var(--transition-smooth);box-shadow:inset 0 0 0 1px var(--primary-line);border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-sharepic-cta:hover{filter:brightness(1.08);box-shadow:0 4px 12px #00000040, inset 0 0 0 1px var(--primary-line);transform:translateY(-1px)}.share-qr-card{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-md,10px);flex-direction:column;align-items:center;gap:16px;padding:16px 12px;display:flex}.share-qr-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.share-embed-card{flex-direction:column;gap:10px;display:flex}@media (width<=480px){.share-modal-tabs{gap:2px}.share-tab-btn{gap:4px;padding:6px 4px;font-size:.75rem}.share-input-group{flex-direction:column}.share-input-group button{justify-content:center;width:100%}.share-qr-actions button{flex:1;justify-content:center}}.toast{--toast-inset:24px;bottom:var(--toast-bottom,var(--toast-inset));background:var(--toast-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--toast-border);width:max-content;max-width:calc(100% - 32px);color:var(--text-main);box-shadow:var(--toast-shadow);z-index:9999;opacity:0;pointer-events:none;border-radius:50px;align-items:center;gap:10px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.error{border-color:var(--toast-border-error)}.toast-icon{color:var(--toast-icon-success);font-size:1.1rem}.toast.error .toast-icon{color:var(--toast-icon-error)}.offline-indicator{background-color:var(--danger);color:#fff;text-align:center;z-index:9999;justify-content:center;align-items:center;gap:8px;width:100%;height:32px;font-size:.85rem;font-weight:600;transition:transform .3s;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 10px #0003}.offline-indicator.hidden{display:none!important}body.is-offline .screen{height:calc(100% - 32px);top:32px}body.is-offline button[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.leaflet-container{background-color:var(--bg-primary);font-family:inherit}.map-is-loading{justify-content:center;align-items:center;display:flex}.map-is-loading:after{content:"";border:3px solid var(--glass-border);border-top-color:var(--primary-line);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite map-lade-dreher}@keyframes map-lade-dreher{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.map-is-loading:after{animation:none}}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border:1px solid var(--glass-border);box-shadow:var(--shadow-premium);border-radius:12px;background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(16px)!important;color:var(--text-main)!important}.leaflet-popup-content{min-width:200px;margin:14px}.leaflet-popup-close-button{color:var(--text-muted)!important;padding:4px!important}.map-popup-thumb{object-fit:cover;border-radius:8px;width:100%;height:120px;margin-bottom:10px}.map-popup-title{margin:0 0 4px;font-size:1.1rem;font-weight:700}.map-popup-area{color:var(--text-muted);align-items:center;gap:6px;margin:0 0 10px;font-size:.85rem;display:flex}.leaflet-control-zoom a,.leaflet-control-fullscreen a{background-color:var(--bg-card)!important;color:var(--text-main)!important;border-color:var(--glass-border)!important}.leaflet-control-zoom a:hover,.leaflet-control-fullscreen a:hover{background-color:var(--bg-darker)!important}:-webkit-any(#leaflet-map-container:fullscreen,#leaflet-map-container:-webkit-full-screen,#leaflet-map-container.map-fullscreen-fallback){background:var(--bg-primary);padding:0!important}:is(#leaflet-map-container:fullscreen,#leaflet-map-container:fullscreen,#leaflet-map-container.map-fullscreen-fallback){background:var(--bg-primary);padding:0!important}#leaflet-map-container.map-fullscreen-fallback{z-index:9999!important;position:fixed!important;inset:0!important}:-webkit-any(#leaflet-map-container:fullscreen #leaflet-map,#leaflet-map-container:-webkit-full-screen #leaflet-map,#leaflet-map-container.map-fullscreen-fallback #leaflet-map){border-radius:0!important;height:100%!important;min-height:0!important}:is(#leaflet-map-container:fullscreen #leaflet-map,#leaflet-map-container:fullscreen #leaflet-map,#leaflet-map-container.map-fullscreen-fallback #leaflet-map){border-radius:0!important;height:100%!important;min-height:0!important}.view-toggle{background-color:var(--bg-darker);border:1px solid var(--glass-border);border-radius:8px;min-height:40px;margin-left:auto;padding:4px;display:flex}[data-theme=light] .view-toggle{border:none}.map-popup-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.map-popup-routes{background:var(--bg-darker);color:var(--text-main);border-radius:4px;padding:4px 8px;font-size:.8rem;display:inline-block}.sparkline-wrap{width:100%;height:48px;position:relative}.sparkline-svg{width:100%;height:48px;overflow:visible}.sparkline-area{fill:color-mix(in srgb, var(--primary) 14%, transparent);stroke:none}.sparkline-line{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sparkline-hover-dot{fill:var(--primary);stroke:var(--bg-card);stroke-width:1.5px}.sparkline-crosshair{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 2;opacity:.5}.sparkline-tooltip{background:var(--bg-darker);color:var(--text-main);border:1px solid var(--glass-border);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:5;padding:3px 8px;font-size:.75rem;font-weight:600;position:absolute;top:-4px;transform:translate(-50%,-100%)}.gallery-content{flex:1;padding:24px;overflow-y:auto}.walls-grid{grid-template-columns:1fr;align-items:start;gap:8px;max-width:1400px;margin:0 auto;display:grid}@media (width>=920px){.walls-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:10px}}.wall-card{background:var(--zeile-bg);border:1px solid var(--zeile-linie);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.wall-card:hover{background:var(--zeile-hover);border-color:var(--zeile-hover-linie)}[data-theme=light] .wall-card:hover{box-shadow:var(--shadow-premium)}.wall-card-img-wrapper{aspect-ratio:4/3;border-radius:6px;flex-shrink:0;width:128px;position:relative;overflow:hidden}@media (width>=920px){.wall-card-img-wrapper{width:158px}}.wall-card img{object-fit:contain;width:100%;height:100%;position:absolute;top:0;left:0}.wall-card-routes-svg{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.wall-card-details{flex-direction:column;gap:2px;min-width:0;display:flex}.wall-card-headline{align-items:flex-start;gap:2px;min-width:0;display:flex}.wall-card-title{letter-spacing:-.015em;color:var(--text-main);flex:0 auto;min-width:0;margin:0;font-size:1rem;font-weight:700;line-height:1.28}.wall-card-open{-webkit-line-clamp:2;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;-webkit-box-orient:vertical;padding:0;display:-webkit-box;overflow:hidden}.wall-card-open:after{content:"";border-radius:var(--radius-md);position:absolute;inset:0}.wall-card-open:focus-visible{outline:none}.wall-card-open:focus-visible:after{outline:2px solid var(--primary-line);outline-offset:2px}.wall-card-chip{z-index:1;width:22px;height:22px;color:var(--text-muted);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:.78rem;text-decoration:none;display:inline-flex;position:relative}.wall-card-chip:after{content:"";position:absolute;inset:-1px}.wall-card-chip:hover{color:var(--primary-text)}.wall-card-meta,.wall-card-facts,.wall-card-desc-line{min-width:0;color:var(--text-muted);margin:0;line-height:1.5;display:block;overflow:hidden}.wall-card-meta{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem}.wall-card-facts,.wall-card-desc-line{-webkit-box-orient:vertical;font-size:.775rem;display:-webkit-box}.wall-card-facts{-webkit-line-clamp:2}.wall-card-desc-line{-webkit-line-clamp:1;opacity:.85}.wall-card-sep{opacity:.5}.wall-card-fact--grad{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:700}.wall-card-fact--offen{font-style:italic}.wall-card-diff-bar{border-radius:2px;width:100%;max-width:240px;height:4px;margin-top:5px;display:flex;overflow:hidden}.diff-bar-segment{min-width:3px;display:block}.diff-bar-segment.diff-tier--easy{background-color:var(--diff-easy)}.diff-bar-segment.diff-tier--moderate{background-color:var(--diff-moderate)}.diff-bar-segment.diff-tier--difficult{background-color:var(--diff-difficult)}.diff-bar-segment.diff-tier--veryHard{background-color:var(--diff-very-hard)}.diff-bar-segment.diff-tier--extreme{background-color:var(--diff-extreme)}.diff-bar-segment.diff-tier--unbekannt{background-color:var(--diff-unknown)}.wall-card-owner-actions{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;display:flex;position:relative}.btn-edit-wall,.btn-delete-wall{width:34px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:.82rem;transition:background .16s,color .16s;display:flex}.btn-edit-wall:hover{background:var(--zeile-hover);color:var(--text-main)}.btn-delete-wall:hover{background:var(--zeile-hover);color:var(--danger)}[data-theme=light] .btn-edit-wall:hover,[data-theme=light] .btn-delete-wall:hover{background:var(--bg-darker)}.wall-card--skeleton{cursor:default;grid-template-columns:auto minmax(0,1fr)}.skeleton-block{background:linear-gradient(90deg, var(--zeile-linie) 25%, var(--zeile-hover-linie) 37%, var(--zeile-linie) 63%);background-size:400% 100%;border-radius:5px;animation:1.5s ease-in-out infinite wall-skeleton-shimmer}.skeleton-line{width:70%;height:11px;margin:4px 0;display:block}.skeleton-line--title{width:55%;height:15px}.skeleton-line--short{width:38%}@keyframes wall-skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.gallery-error{background:var(--zeile-bg);border:1px solid var(--zeile-linie);border-radius:var(--radius-md);gap:12px;padding:14px 16px;display:flex}.gallery-error-icon{color:var(--danger);flex-shrink:0;margin-top:2px;font-size:1.05rem}.gallery-error-text{color:var(--text-muted);max-width:62ch;font-size:.86rem;line-height:1.55}.gallery-error-text strong{color:var(--text-main);margin-bottom:2px;font-size:.95rem;display:block}.gallery-error-retry{width:fit-content;margin-top:11px;display:flex}.share-qr-box{justify-content:center;margin:0 auto;display:flex}.share-qr-box canvas{max-width:100%;height:auto;display:block}a.wall-card-location{text-decoration:none}.upload-photo{flex-direction:column;gap:8px;display:flex}.file-dropzone{border:2px dashed var(--glass-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;height:150px;transition:var(--transition-smooth);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;overflow:hidden}.file-dropzone:hover,.file-dropzone.dragover{border-color:var(--primary-line);background:color-mix(in srgb, var(--primary) 5%, transparent)}.file-dropzone.has-photo{border-style:solid;border-color:#0000;padding:0}.file-dropzone.has-photo:hover{border-color:var(--primary-line);background:0 0}.dropzone-inner{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;display:flex}#dropzone-preview{object-fit:cover;border-radius:calc(var(--radius-md) - 2px);width:100%;height:100%;display:block}.dropzone-icon{color:var(--text-muted);transition:var(--transition-smooth);font-size:1.9rem}.file-dropzone:hover .dropzone-icon{color:var(--primary-line)}.upload-chosen{align-items:center;gap:8px;display:flex}.upload-chosen-icon{color:var(--text-muted);flex-shrink:0;font-size:.85rem}.upload-chosen .file-info{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-chosen .btn{flex-shrink:0}.file-info{color:var(--text-muted);font-size:.8rem}#upload-sources .btn{white-space:nowrap;gap:6px;min-width:0;padding-left:8px;padding-right:8px}.file-dropzone input[type=file]{display:none}#upload-modal>.modal-card>.upload-progress{margin:0;padding:12px 24px 0}.upload-location{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-location-icon{color:var(--text-muted);flex-shrink:0;font-size:.85rem}.upload-location-text{min-width:0;color:var(--text-muted);flex:auto;font-size:.8rem}.upload-location .btn{flex-shrink:0;margin-left:auto}.gallery-welcome{justify-content:center;width:100%;padding:8px 0 32px;display:flex}.gallery-welcome-hero{border-radius:var(--radius-lg);outline-offset:12px;outline:2px dashed #0000;grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;width:100%;max-width:1040px;transition:outline-color .15s;display:grid}.gallery-welcome-dropzone.dragover{outline-color:var(--primary-line)}.gallery-welcome-proof{aspect-ratio:16/10;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--bg-darker);order:-1;margin:0;overflow:hidden}.gallery-welcome-proof img{object-fit:cover;width:100%;height:100%;display:block}.gallery-welcome-body{flex-direction:column;align-items:flex-start;display:flex}.gallery-welcome-title{letter-spacing:-.02em;color:var(--text-main);margin:0 0 10px;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.5rem);font-weight:800;line-height:1.1}.gallery-welcome-text{max-width:44ch;color:var(--text-muted);text-wrap:pretty;margin:0 0 24px;font-size:1rem;line-height:1.5}.gallery-welcome-cta{min-height:48px;padding:12px 28px;font-size:1rem;font-weight:700}.gallery-welcome-trust{flex-direction:column;gap:6px;margin-top:14px;display:flex}.gallery-welcome-hint,.gallery-welcome-trust-pill{color:var(--text-muted);text-wrap:pretty;align-items:baseline;gap:8px;font-size:.82rem;line-height:1.4;display:inline-flex}.gallery-welcome-hint i,.gallery-welcome-trust-pill i{flex-shrink:0;font-size:.8rem}.gallery-welcome-steps{border-top:1px solid var(--glass-border);counter-reset:schritt;flex-wrap:wrap;gap:8px 20px;width:100%;margin:28px 0 0;padding:16px 0 0;list-style:none;display:flex}.gallery-welcome-step{color:var(--text-muted);counter-increment:schritt;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.gallery-welcome-step:before{content:counter(schritt);border:1px solid var(--glass-border);width:22px;height:22px;color:var(--text-main);border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}#gallery-screen.gallery-is-empty .gallery-controls{display:none}#gallery-screen.gallery-is-empty #walls-list{flex-direction:column;flex:1 0 auto;justify-content:center;display:flex}@media (width>=900px){.gallery-welcome{padding:48px 0 64px}.gallery-welcome-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px}.gallery-welcome-proof{order:0}}@media (width<=560px){.gallery-welcome-cta{width:100%}}.empty-state{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:60px 20px;font-size:1.05rem}.empty-state .empty-state-icon{color:var(--text-muted);margin-bottom:12px;font-size:3rem;display:block}.area-group-section{margin-bottom:24px}.area-group-header{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:9px;display:flex}.area-group-toggle{border-radius:var(--radius-sm);min-width:0;max-width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:0 auto;align-items:center;gap:10px;padding:4px 8px 4px 4px;transition:background .16s;display:flex}.area-group-toggle:hover{background:var(--zeile-hover)}.area-group-title-block{flex-direction:row;flex:0 auto;align-items:baseline;gap:8px;min-width:0;display:flex}.area-group-title{color:var(--text-main);flex:0 auto;align-items:center;gap:8px;min-width:0;margin:0;font-size:1.05rem;font-weight:700;display:flex}.area-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.area-group-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:0 100 auto;margin:0;font-size:.78rem;overflow:hidden}.area-group-desc:before{content:"·";margin-right:8px}.area-group-meta{flex-shrink:0;align-items:center;gap:8px;margin-right:auto;display:flex}.area-offline-btn{border-radius:var(--radius-sm);border:1px solid var(--glass-border);min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:#ffffff0a;justify-content:center;align-items:center;padding:0 8px;font-size:.9rem;display:inline-flex;position:relative}.area-offline-btn:after{content:"";border-radius:var(--radius-sm);position:absolute;inset:-4px}.area-offline-btn:hover{color:var(--text-main);background:#ffffff17}.area-offline-btn.is-offline{color:var(--primary-text);border-color:color-mix(in srgb, var(--primary-line) 35%, transparent);background:color-mix(in srgb, var(--primary) 10%, transparent)}.area-offline-btn.is-busy{cursor:progress}.area-offline-btn.is-unavailable{opacity:.45;cursor:help}.area-offline-progress{font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.area-group-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.78rem}.area-group-chevron{color:var(--text-muted);font-size:.9rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.area-group-section.collapsed .area-group-chevron{transform:rotate(-90deg)}.area-group-section.collapsed .walls-grid{display:none!important}.area-group-section.collapsed .area-group-desc{display:none}.area-group-section.collapsed .area-group-header{margin-bottom:0}@media (width<=768px){.area-group-header{gap:4px}.area-group-desc{display:none}.area-group-title{font-size:.95rem}.area-group-meta{gap:8px}}.walls-scroll-sentinel{justify-content:center;align-items:center;min-height:64px;padding:24px 0;display:flex}.walls-scroll-sentinel .spinner{opacity:0;transition:opacity .15s}.walls-scroll-sentinel.is-loading .spinner{opacity:1}.wall-card-draft{cursor:default;border-style:dashed;border-color:color-mix(in srgb, var(--primary-line) 45%, transparent)}.wall-card-draft:hover{box-shadow:none;transform:none}.draft-badge{background-color:var(--primary);color:var(--text-dark);letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.draft-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.draft-actions .btn{flex:auto;padding:6px 10px;font-size:.85rem}.draft-actions .btn-draft-discard{flex:none}.draft-progress{color:var(--text-muted);margin:10px 0 0;font-size:.85rem}.route-pending-badge{border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary-text);white-space:nowrap;align-items:center;gap:4px;margin-left:6px;padding:1px 7px;font-size:.72rem;font-weight:600;display:inline-flex}.gallery-search{flex:auto;max-width:420px;position:relative}.gallery-search-icon{color:var(--text-muted);pointer-events:none;font-size:.9rem;transition:color .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.gallery-search-input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-darker);width:100%;height:40px;color:var(--text-main);padding:0 12px 0 40px;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.gallery-search-input::placeholder{color:var(--text-muted)}.gallery-search-input:hover{border-color:var(--primary-line)}.gallery-search-input:focus{border-color:var(--primary-line);box-shadow:0 0 0 3px var(--focus-ring)}.gallery-search:focus-within .gallery-search-icon{color:var(--primary-line)}.gallery-search-input::-webkit-search-cancel-button{appearance:none;cursor:pointer;background-color:var(--text-muted);width:14px;height:14px;-webkit-mask:var(--icon-clear) center / contain no-repeat;-webkit-mask:var(--icon-clear) center / contain no-repeat;mask:var(--icon-clear) center / contain no-repeat}.gallery-search-input::-webkit-search-cancel-button:hover{background-color:var(--text-main)}.gallery-controls.gallery-controls{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:10px 12px;display:flex}@media (width<=640px){.gallery-content{padding:16px}.gallery-controls{flex-wrap:wrap}.gallery-search{flex-basis:100%;order:-1;max-width:none}.view-toggle{width:100%}.view-toggle .btn{flex:1 1 0;justify-content:center}}#add-area-form{border-bottom:1px solid var(--glass-border);flex-direction:column;gap:10px;padding-bottom:16px;display:flex}#area-desc{width:100%;color:var(--text-main);resize:vertical;background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-size:.9rem}#area-name{width:100%;color:var(--text-main);background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-size:.9rem}#areas-list-container{flex-direction:column;gap:8px;max-height:250px;padding-right:4px;display:flex;overflow-y:auto}#btn-view-grid{background:var(--bg-card);color:var(--text-main);padding:6px 12px;font-size:.9rem;border:none!important}#btn-view-map{color:var(--text-muted);background:0 0;padding:6px 12px;font-size:.9rem;border:none!important}#leaflet-map{z-index:1;border-radius:12px;width:100%;height:100%;min-height:500px}#leaflet-map-container{flex:1;padding:0 20px 20px;display:none}.areas-list-heading.areas-list-heading{color:var(--text-main);margin-bottom:10px;font-size:1rem}.area-add-submit.area-add-submit{align-self:flex-end;margin-top:4px;padding:8px 16px}@media (width<=480px){.area-add-submit.area-add-submit{justify-content:center;align-self:stretch}}.modal-card--areas.modal-card--areas{flex-direction:column;width:90%;max-width:500px;display:flex}.gallery-content.gallery-content{flex-direction:column;display:flex}.wall-card-bilder{z-index:2;-webkit-backdrop-filter:blur(6px);color:#ffffffe6;font-variant-numeric:tabular-nums;pointer-events:none;background:#0f141ea6;border:1px solid #ffffff26;border-radius:11px;align-items:center;gap:4px;height:22px;padding:2px 7px;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;bottom:6px;left:6px}.wall-card-fav{z-index:2;-webkit-backdrop-filter:blur(6px);color:#ffffffbf;cursor:pointer;background:#0f141ea6;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:4px;height:24px;padding:3px 7px;font-size:.75rem;font-weight:600;transition:transform .15s,background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:6px;right:6px}.wall-card-fav:hover{color:#fff;background:#141926d9;border-color:#ffffff4d;transform:scale(1.06)}.wall-card-fav.is-active{color:var(--favorite);background:color-mix(in srgb, var(--favorite) 22%, #0a080cd9);border-color:color-mix(in srgb, var(--favorite) 40%, transparent)}.wall-card-fav.is-active:hover{background:color-mix(in srgb, var(--favorite) 30%, #0c090deb);border-color:color-mix(in srgb, var(--favorite) 60%, transparent)}.wall-card-fav .fav-count{font-variant-numeric:tabular-nums;font-size:.72rem}.wall-card-fav.heart-pop{animation:.35s cubic-bezier(.175,.885,.32,1.275) heartPop}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.favorites-filter-banner{background:color-mix(in srgb, var(--favorite) 12%, var(--bg-card));border:1px solid color-mix(in srgb, var(--favorite) 35%, transparent);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1400px;margin:8px auto 12px;padding:8px 14px;display:flex;box-shadow:0 2px 8px #00000026}.favorites-filter-label{color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.favorites-filter-label i{color:var(--favorite)}.favorites-filter-clear{border-radius:6px;margin:0;padding:4px 10px;font-size:.8rem}.empty-state--favorites{text-align:center;max-width:480px;margin:0 auto;padding:48px 16px}.empty-state--favorites .empty-state-icon{color:var(--favorite);opacity:.85;margin-bottom:16px;font-size:3rem}#editor-screen{background-color:var(--bg-darker);--editor-dock-inset:24px;--editor-dock-top:80px;--dock-tile:36px;--dock-gap:4px;--dock-pad:6px;--dock-radius:var(--radius-sm);position:relative;overflow:clip}.wall-brand{background:var(--bg-main);border-bottom:1px solid var(--glass-border);height:44px;color:var(--text-main);flex:none;align-items:center;padding:0 16px;text-decoration:none;display:flex}.wall-brand-name{letter-spacing:-.4px;font-size:1.05rem;font-weight:800;line-height:1}.wall-brand:hover .wall-brand-name{color:var(--primary-text)}.editor-stage{flex:1;min-height:0;position:relative}.embed-mode .wall-brand{display:none}.canvas-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}#topo-bg-canvas,#topo-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}#topo-bg-canvas{z-index:1;pointer-events:none;transform-origin:0 0;will-change:transform}#topo-canvas{z-index:2;cursor:grab}#topo-canvas:active{cursor:grabbing}.editor-sidebar{z-index:100;flex-direction:column;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--glass-border);grid-template-rows:auto;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 16px;padding:16px 20px;display:grid}#btn-back-to-gallery{grid-area:1/1}.btn-toggle-sidebar{grid-area:1/3}.btn-icon-label{border:1px solid var(--glass-border);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);background:#ffffff14;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:flex}.btn-icon-label:hover{background:#ffffff26}.wall-title-container{grid-area:1/2;align-items:baseline;gap:8px;min-width:0;display:flex}.wall-route-count{color:var(--primary-text);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:12px;flex:none;align-items:center;gap:5px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.wall-title{white-space:nowrap;text-overflow:ellipsis;color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.wall-desc-card{background:color-mix(in srgb, var(--primary) 4%, transparent);border:1px solid color-mix(in srgb, var(--primary-line) 12%, transparent);border-radius:8px;margin:12px 20px 16px;transition:border-color .2s;overflow:hidden}.wall-desc-card[open]{border-color:color-mix(in srgb, var(--primary-line) 25%, transparent)}.wall-desc-card:not([open]){background:0 0;border-color:#ffffff0f}.wall-desc-summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 10px;font-size:.78rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.wall-desc-summary::-webkit-details-marker{display:none}.wall-desc-summary:hover{color:var(--primary-text)}.wall-desc-summary .fa-circle-info{color:var(--primary-line);opacity:.7;font-size:.82rem}.wall-desc-chevron{opacity:.5;margin-left:auto;font-size:.65rem;transition:transform .25s}.wall-desc-card[open] .wall-desc-chevron{transform:rotate(180deg)}.wall-desc-content{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:200px;padding:0 10px 10px;font-size:.82rem;line-height:1.55;overflow-y:auto}.wall-desc-content:empty{display:none}.wall-desc-card:has(.wall-desc-content:empty){display:none}.wall-desc-paragraph{white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.wall-desc-paragraph:last-child{margin-bottom:0}.btn-editor-help,.btn-editor-settings{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;font-size:.95rem;display:inline-flex}.btn-editor-help:hover,.btn-editor-settings:hover{color:var(--primary-line);background:color-mix(in srgb, var(--primary) 10%, transparent)}.sidebar-tabs{border-bottom:1px solid var(--glass-border);background:#0003;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;flex:1;padding:12px;font-size:.9rem;font-weight:600;position:relative}.tab-btn.active{color:var(--primary-text)}.tab-btn.active:after{content:"";background-color:var(--primary);width:100%;height:2px;position:absolute;bottom:-1px;left:0}.tab-panel{flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px;display:none;overflow-y:auto}.tab-panel.active{display:flex}.control-section{flex-direction:column;gap:10px;display:flex}.control-section h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:.8rem;font-weight:700}.color-picker-grid{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.color-swatch{aspect-ratio:1;cursor:pointer;transition:var(--transition-smooth);border:2px solid #0000;border-radius:50%;padding:0;box-shadow:inset 0 0 4px #00000080}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text-main);box-shadow:0 0 10px var(--primary)}.row-actions{flex-direction:row;gap:12px}.row-actions button{flex:1}.row-group{flex-direction:row;gap:12px}.route-form{border-top:1px solid var(--glass-border);margin-top:10px;padding-top:20px}#panel-routes{overflow:hidden!important}.routes-list{flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.route-item{border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);background:#ffffff08;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:relative}.route-item:hover,.route-item.hovered{background:#ffffff14;border-color:#ffffff26}.route-item.selected{background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:var(--primary-line)}.route-item.dragging{opacity:.4;border:1px dashed var(--primary-line);background:#0003}.route-item.drag-over-top:before{content:"";background:var(--primary);width:100%;height:3px;box-shadow:0 0 8px var(--primary);z-index:10;pointer-events:none;border-radius:2px;position:absolute;top:-2px;left:0}.route-item.drag-over-bottom:after{content:"";background:var(--primary);width:100%;height:3px;box-shadow:0 0 8px var(--primary);z-index:10;pointer-events:none;border-radius:2px;position:absolute;bottom:-2px;left:0}.route-drag-handle{cursor:grab;color:var(--text-muted);transition:var(--transition-smooth);justify-content:center;align-items:center;margin-right:-4px;padding:4px;display:inline-flex}.route-drag-handle:hover{color:var(--primary-line)}.route-drag-handle:active{cursor:grabbing}.route-item-left{flex:1 1 0;align-items:center;gap:8px;min-width:0;display:flex}.route-color-indicator{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 0 4px #00000080}.route-meta{flex-direction:column;min-width:0;display:flex}.route-meta-detail{font-variant-numeric:tabular-nums}.route-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.route-item-sub{color:var(--text-muted);white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:4px;font-size:.75rem;display:flex;overflow-x:auto}.route-item-sub::-webkit-scrollbar{display:none}.route-item-right-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.btn-edit-route,.btn-delete-route,.btn-toggle-route-visibility{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:inline-flex}.btn-delete-route:hover{color:var(--danger);background:#ef444426}.btn-edit-route:hover{color:var(--primary-line);background:color-mix(in srgb, var(--primary) 15%, transparent)}.btn-toggle-route-visibility:hover{color:var(--text-main);background:#ffffff1a}.route-item.hidden-route{opacity:.6}.route-item.hidden-route .route-color-indicator{filter:grayscale(80%)opacity(60%)}.mobile-helper-bar{bottom:var(--editor-dock-top);z-index:10;align-items:center;gap:var(--dock-gap);padding:var(--dock-pad);border-radius:var(--radius-md);flex-direction:column;display:flex;position:absolute;right:24px}.btn-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.btn-icon:hover{background:#ffffff26}.canvas-top-island{z-index:150;border-radius:var(--radius-md);align-items:center;gap:4px;max-width:calc(100% - 80px);height:40px;padding:3px;display:none;position:absolute;top:16px;left:16px}.canvas-back-btn{border-radius:var(--dock-radius);width:32px;height:32px;color:var(--text-main);flex:none;justify-content:center;align-items:center;display:flex}.canvas-back-btn:hover{background:var(--toolbar-tile-hover);color:var(--text-main)}.canvas-wall-title{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;padding-right:6px;font-size:.9rem;font-weight:600;overflow:hidden}.canvas-wall-title:empty{display:none}.routes-fab{z-index:150;border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-main);background:var(--glass-bg);border:1px solid var(--glass-border);justify-content:center;align-items:center;transition:opacity .2s,visibility .2s;display:none;position:absolute;top:16px;right:16px}.routes-fab:hover{background:var(--toolbar-tile-hover);color:var(--text-main)}.routes-fab-count{background:var(--primary);color:#0f172a;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.routes-fab-count:empty{display:none}.share-fab{z-index:150;border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-main);background:var(--glass-bg);border:1px solid var(--glass-border);justify-content:center;align-items:center;display:none;position:absolute;top:16px}.share-fab:hover{background:var(--toolbar-tile-hover);color:var(--text-main)}.favorite-fab{z-index:150;border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-main);background:var(--glass-bg);border:1px solid var(--glass-border);justify-content:center;align-items:center;transition:transform .15s,background .15s,color .15s,border-color .15s,box-shadow .15s;display:none;position:absolute;top:16px}.favorite-fab:hover{background:var(--toolbar-tile-hover);color:var(--text-main);transform:scale(1.05)}.favorite-fab.is-active{color:var(--favorite);background:var(--favorite-active-bg);border-color:var(--favorite-active-border)}.favorite-fab.is-active:hover{background:var(--favorite-active-bg);border-color:var(--favorite-active-border);color:var(--favorite)}[data-theme=light] .favorite-fab.is-active,[data-theme=light] .favorite-fab.is-active:hover{background:var(--favorite-active-bg)!important;border-color:var(--favorite-active-border)!important}.favorite-fab.heart-pop{animation:.35s cubic-bezier(.175,.885,.32,1.275) heartPop}#btn-favorite-wall.is-active{color:var(--favorite)}.editor-tip{bottom:var(--editor-dock-top);z-index:90;color:var(--text-muted);pointer-events:none;border-radius:30px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 48px);padding:8px 16px;font-size:.8rem;font-weight:500;transition:opacity .3s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.editor-tip i{color:var(--primary-line)}.canvas-loading{z-index:120;pointer-events:none;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 24px;font-size:.9rem;display:flex;position:absolute;inset:0}.canvas-loupe{z-index:170;pointer-events:none;background:var(--bg-elevated,#1e293b);border:2px solid #ffffffd9;border-radius:50%;width:132px;height:132px;display:none;position:absolute;overflow:hidden;box-shadow:0 6px 20px #00000059}.canvas-minimap{z-index:140;cursor:crosshair;border:1px solid #ffffff26;border-radius:8px;width:150px;height:150px;transition:opacity .3s;position:absolute;top:24px;right:24px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.canvas-minimap.hidden{opacity:0;pointer-events:none}.minimap-bg{width:100%;height:100%;display:block}.minimap-viewport{border:2px solid var(--primary-line);background:color-mix(in srgb, var(--primary) 15%, transparent);box-sizing:border-box;cursor:move;border-radius:4px;position:absolute;top:0;left:0;box-shadow:0 0 0 9999px #0006}.route-selection-chip{bottom:var(--editor-dock-top);z-index:90;border-radius:30px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:8px 8px 8px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.route-selection-chip.hidden{display:none}.route-edit-bar{bottom:var(--editor-dock-top);z-index:155;border-radius:16px;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);padding:10px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.route-edit-bar.hidden{display:none}.route-edit-bar .edit-bar-info{align-items:center;gap:10px;min-width:0;display:flex}.route-edit-bar .edit-bar-info>i{color:var(--primary-line);flex-shrink:0;font-size:1.1rem}.route-edit-bar .edit-bar-text{flex-direction:column;min-width:0;display:flex}.route-edit-bar .edit-bar-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.route-edit-bar .edit-bar-hint{color:var(--text-muted);max-width:340px;font-size:.75rem;line-height:1.3}.route-edit-bar .edit-bar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.route-edit-bar .btn-sm{white-space:nowrap;padding:8px 12px;font-size:.8rem}.chip-color-dot{border:1px solid #fff6;border-radius:50%;flex-shrink:0;width:12px;height:12px}.chip-route-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.btn-chip-edit{background:var(--primary);color:#0f172a;cursor:pointer;transition:var(--transition-smooth);box-shadow:inset 0 0 0 1px var(--primary-line);border:none;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-chip-edit:hover{background:var(--primary-hover)}.view-only #btn-chip-edit-route{display:none!important}.btn-close-tip{color:var(--text-muted);cursor:pointer;opacity:.6;pointer-events:auto;background:0 0;border:none;padding:0 0 0 4px;font-size:1.1rem;line-height:1;transition:opacity .2s}.btn-close-tip:hover{opacity:1}.canvas-toolbar{bottom:var(--editor-dock-inset);z-index:160;justify-content:center;align-items:center;gap:var(--dock-gap);padding:var(--dock-pad);border-radius:var(--radius-md);flex-wrap:wrap;width:max-content;max-width:calc(100% - 32px);display:flex;position:absolute;top:auto;left:50%;transform:translate(-50%)}.canvas-toolbar .toolbar-tools,.canvas-toolbar .toolbar-color-wrap{align-items:center;gap:var(--dock-gap);display:flex}.canvas-toolbar .toolbar-color-wrap{position:relative}.canvas-toolbar .tool-btn,.canvas-toolbar .toolbar-icon,.canvas-toolbar .toolbar-color-btn,.canvas-toolbar .toolbar-save-btn,.mobile-helper-bar .btn-icon{width:var(--dock-tile);height:var(--dock-tile);border-radius:var(--dock-radius);color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1rem;display:flex}.canvas-toolbar .tool-btn:hover,.canvas-toolbar .toolbar-icon:hover:not(:disabled),.canvas-toolbar .toolbar-color-btn:hover,.mobile-helper-bar .btn-icon:hover{background:var(--toolbar-tile-hover);color:var(--text-main)}.canvas-toolbar .toolbar-divider{width:1px;height:calc(var(--dock-tile) - 16px);background:var(--glass-border);align-self:center;margin:0}.current-color-dot{width:calc(var(--dock-tile) * .44);height:calc(var(--dock-tile) * .44);background:#ff3b30;border:1.5px solid #ffffffbf;border-radius:50%;display:block;box-shadow:inset 0 0 4px #00000080}.canvas-toolbar .toolbar-icon:disabled{opacity:.4;cursor:default}.canvas-toolbar .tool-btn.active,.canvas-toolbar .toolbar-icon.active{background:var(--toolbar-tile-active-bg);border-color:var(--toolbar-tile-active-border);color:var(--toolbar-tile-active-fg)}.toolbar-more-wrap{align-items:center;display:flex;position:relative}.toolbar-more-menu{background:var(--toolbar-popover-bg);border:1px solid var(--glass-border);min-width:200px;box-shadow:var(--toolbar-popover-shadow);z-index:200;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:auto;bottom:calc(100% + 8px);right:0}.toolbar-more-menu.hidden{display:none}.toolbar-more-menu .toolbar-more-item{border-radius:var(--radius-sm);width:100%;color:var(--text-main);text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.85rem;font-weight:500;display:flex}.toolbar-more-menu .toolbar-more-item.is-initially-hidden{display:none}.toolbar-more-menu .toolbar-more-item i{text-align:center;width:18px;color:var(--text-muted)}.toolbar-more-menu .toolbar-more-item:hover:not(:disabled){background:var(--toolbar-tile-hover);color:var(--text-main)}.toolbar-more-menu .toolbar-more-item.active{background:var(--toolbar-tile-active-bg);color:var(--toolbar-tile-active-fg)}.toolbar-more-menu .toolbar-more-item.active i{color:inherit}.toolbar-more-menu .toolbar-more-item:disabled{opacity:.4;cursor:default}#btn-melden-wall{border-top:1px solid var(--glass-border);margin-top:4px;padding-top:14px}.toolbar-more-sep{background:var(--glass-border);height:1px;margin:4px 6px}.canvas-toolbar .toolbar-save-btn{background:var(--primary);border-color:var(--primary-line);color:var(--text-dark)}.toolbar-save-btn:hover:not(:disabled){filter:brightness(1.08)}.toolbar-save-btn:disabled{opacity:.4;cursor:default}.color-palette{background:var(--toolbar-popover-bg);border:1px solid var(--glass-border);width:208px;box-shadow:var(--toolbar-popover-shadow);z-index:200;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px;position:absolute;top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.color-palette.hidden{display:none}#panel-draw{gap:0;padding:0;overflow:hidden}.sheet-form{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.sheet-form-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px;display:flex;overflow-y:auto}.sheet-form-footer{border-top:1px solid var(--glass-border);background:#0000002e;flex-shrink:0;gap:10px;padding:12px 16px;display:flex}.sheet-form-footer .btn-block{flex:1}.sheet-form-footer .btn{margin:0}[data-theme=light] .sheet-form-footer{background:#0000000a}.route-details{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px}.route-details-summary{cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 14px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.route-details-summary::-webkit-details-marker{display:none}.route-details-summary>span{flex:1}.route-details-chevron{color:var(--text-muted);font-size:.8rem;transition:transform .2s}.route-details[open] .route-details-chevron{transform:rotate(180deg)}.route-details-content{border-top:1px solid var(--glass-border);flex-direction:column;gap:16px;padding:14px;display:flex}.view-only #panel-draw,.view-only .sidebar-tabs,.view-only .btn-edit-route,.view-only .btn-delete-route,.view-only .route-drag-handle,.view-only #btn-undo,.view-only #btn-clear,.view-only #btn-band-bilder,.view-only #tool-line,.view-only #tool-hold,.view-only #editor-color-section,.view-only #btn-redo,.view-only #btn-route-details,.view-only #btn-save-route-float{display:none!important}.view-only .toolbar-divider:has(+#btn-save-route-float){display:none!important}.view-only #panel-routes{height:100%!important;display:block!important}.embed-mode #btn-back-to-gallery,.embed-mode .canvas-top-island,.embed-mode .routes-fab,.embed-mode .share-fab,.embed-mode .favorite-fab,.embed-mode #btn-share-wall,.embed-mode #btn-favorite-wall,.embed-mode #btn-editor-help,.embed-mode #btn-editor-settings{display:none!important}@media (width>=768px){.canvas-top-island,.routes-fab,.share-fab,.favorite-fab{display:flex}.canvas-top-island{max-width:calc(100% - 192px);left:20px}.routes-fab{right:20px}.share-fab{right:72px}.favorite-fab{right:124px}#btn-share-wall,#btn-favorite-wall{display:none}.editor-sidebar{border-radius:var(--radius-md);width:420px;height:calc(100% - 92px);transition:transform .4s cubic-bezier(.4,0,.2,1);inset:72px 20px 20px auto;overflow:hidden;transform:translate(0)}.editor-sidebar.collapsed{transform:translate(calc(100% + 20px))}.canvas-minimap{top:72px;left:20px;right:auto}.sidebar-header>#btn-back-to-gallery,.sidebar-header>.wall-title-container{display:none}.sidebar-header{border-bottom:none;padding:0}#btn-fit-image-menu,#btn-fullscreen-menu{display:none}.mobile-helper-bar{display:flex;left:20px;right:auto}}@media (width<=767px){.route-edit-bar .edit-bar-hint{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:none;display:-webkit-box;overflow:hidden}.editor-sidebar{bottom:var(--editor-dock-top);border-radius:var(--radius-lg);border-bottom:1px solid var(--glass-border);width:auto;height:auto;max-height:55vh;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s cubic-bezier(.4,0,.2,1),visibility .32s;left:12px;right:12px;overflow:hidden;box-shadow:0 12px 40px #00000073}.editor-sidebar.collapsed{transform:translateY(calc(100% + var(--editor-dock-top) + 24px));opacity:0;visibility:hidden;pointer-events:none}.sidebar-header{cursor:pointer;grid-template-columns:auto 1fr auto;gap:8px 10px;padding:10px 14px}.wall-title{font-size:.95rem}.tab-panel{gap:10px;padding:10px 12px 12px}.routes-list{gap:6px}.route-item{padding:6px 10px}.route-item-title{font-size:.875rem}.route-item-sub{gap:6px;margin-top:1px;font-size:.7rem}.route-color-indicator{width:20px;height:20px}.wall-desc-card{margin:6px 14px 10px}.sidebar-header:before{content:"";background-color:var(--glass-border);border-radius:2px;width:36px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.btn-toggle-sidebar{border:1px solid var(--glass-border);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:var(--transition-smooth);background:#ffffff14;grid-area:1/3;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.btn-toggle-sidebar:hover{background:#ffffff26}#editor-screen{--editor-dock-inset:12px}.editor-sidebar:not(.collapsed)~.canvas-container .routes-fab{opacity:0;visibility:hidden;pointer-events:none}.mobile-helper-bar{display:none}.editor-tip{font-size:.75rem}.canvas-top-island,.routes-fab{display:flex}.canvas-minimap{top:64px}#btn-back-to-gallery{display:none}#editor-screen{--dock-tile:44px;--dock-gap:3px;--dock-pad:4px}.canvas-toolbar{max-width:calc(100% - 16px);top:auto}.canvas-toolbar #btn-undo:not(:disabled){color:var(--primary-line)}}@media (width<=389px){#editor-screen{--dock-gap:2px;--dock-pad:3px}}@media (width<=350px){#editor-screen{--dock-tile:40px;--dock-gap:1px;--dock-pad:2px}}@media (width<=599px) and (orientation:landscape){#editor-screen{--dock-tile:40px;--dock-gap:2px;--dock-pad:3px}}@media (width<=520px){.route-edit-bar{flex-direction:column;align-items:stretch;gap:8px;width:calc(100% - 32px)}.route-edit-bar .edit-bar-actions{justify-content:flex-end}}@media (width<=767px) and (orientation:landscape){#editor-screen{--editor-panel-width:min(320px, 40%)}.editor-sidebar{width:var(--editor-panel-width);border-radius:var(--radius-lg);border-bottom:1px solid var(--glass-border);height:auto;max-height:none;inset:12px auto 12px 12px;overflow:hidden;box-shadow:0 12px 40px #00000073}.editor-sidebar.collapsed{transform:translate(calc(-100% - 24px))}.sidebar-header:before{content:none}}.grade-picker-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:50vh;padding:8px 16px;display:grid}.grade-picker-btn{color:var(--text-main);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;padding:12px 8px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:flex}.grade-picker-btn:hover{background:color-mix(in srgb, var(--primary) 10%, transparent);border-color:var(--primary-line);color:var(--primary-text)}.grade-picker-btn:active{background:color-mix(in srgb, var(--primary) 20%, transparent);transform:scale(.95)}.grade-picker-btn.active{background:var(--primary)!important;color:var(--text-dark)!important;border-color:var(--primary-line)!important}.grade-picker-wheel{max-height:none!important;padding:0!important;overflow-y:hidden!important}.wheel-picker-container{height:190px;margin:8px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.wheel-picker-highlight{pointer-events:none;z-index:2;background:#ffffff0a;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;border-radius:8px;height:38px;position:absolute;top:76px;left:16px;right:16px}[data-theme=light] .wheel-picker-highlight{background:#0f172a0a;border-top:1px solid #0f172a1a;border-bottom:1px solid #0f172a1a}.wheel-picker-scroll{scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;z-index:1;height:100%;position:relative;overflow-y:scroll}.wheel-picker-scroll::-webkit-scrollbar{display:none}.wheel-picker-spacer{pointer-events:none;height:76px}.wheel-picker-item{height:38px;color:var(--text-muted);text-align:center;scroll-snap-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transform-origin:center center -80px;backface-visibility:hidden;font-size:1.25rem;font-weight:500;line-height:38px;transition:color .15s}.wheel-picker-item.selected{color:var(--primary-line);font-weight:700}@media (width<=768px){.grade-picker-grid{grid-template-columns:repeat(4,1fr);gap:10px}}.exit-fullscreen-btn{z-index:2200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;width:44px;height:44px;transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 4px 12px #0000004d;color:#fff!important;background:#0f172ab3!important;border:1px solid #ffffff26!important}.exit-fullscreen-btn:hover{transform:scale(1.05);background:#0f172ae6!important}[data-theme=light] .exit-fullscreen-btn{box-shadow:0 4px 12px #0000001a;color:#0f172a!important;background:#fffc!important;border-color:#0f172a26!important}[data-theme=light] .exit-fullscreen-btn:hover{background:#fff!important}#canvas-container:not(.fullscreen):not(.fullscreen-fallback) #btn-exit-fullscreen,#canvas-container.fullscreen .canvas-top-island,#canvas-container.fullscreen-fallback .canvas-top-island,#canvas-container.fullscreen .routes-fab,#canvas-container.fullscreen-fallback .routes-fab,#canvas-container.fullscreen .share-fab,#canvas-container.fullscreen-fallback .share-fab,#canvas-container.fullscreen .favorite-fab,#canvas-container.fullscreen-fallback .favorite-fab{display:none!important}#canvas-container:fullscreen{background:#020617!important;width:100vw!important;height:100vh!important}#canvas-container:fullscreen{background:#020617!important;width:100vw!important;height:100vh!important}#canvas-container.fullscreen-fallback{z-index:9999!important;background:#020617!important;width:100vw!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important}[data-theme=light] #canvas-container:fullscreen{background:#f8fafc!important}[data-theme=light] #canvas-container:fullscreen{background:#f8fafc!important}[data-theme=light] #canvas-container.fullscreen-fallback{background:#f8fafc!important}#editor-screen.is-draft-wall #btn-share-wall,#editor-screen.is-draft-wall #btn-band-bilder,#editor-screen.is-draft-wall .share-fab,#editor-screen.is-draft-wall #btn-favorite-wall,#editor-screen.is-draft-wall .favorite-fab{display:none}.route-pitches-toggle{width:100%;color:var(--primary-text);cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:8px;padding-top:6px;font-size:.75rem;font-weight:600;display:flex}.route-pitches-list{border-left:2px solid var(--primary-line);flex-direction:column;gap:4px;width:100%;margin-top:6px;padding-left:12px;display:flex}.route-pitches-list.is-collapsed{display:none}.pitch-item{color:var(--text-muted);background:#ffffff05;border-radius:4px;justify-content:space-between;align-items:center;padding:3px 6px;font-size:.75rem;display:flex}.pitch-item-label{font-weight:500}.pitch-item-values{gap:8px;display:flex}.pitch-badge-grade{color:var(--text-main);font-weight:700}.pitch-num-input,.pitch-length-input,.pitch-grade-input,.btn-draw-pitch,.btn-delete-pitch{color:var(--text-main);background:#0f172a99;border:1px solid #ffffff1a;border-radius:6px;padding:6px;font-size:.85rem}.pitch-num-input{text-align:center;width:45px}.pitch-length-input{flex:1}.pitch-grade-input{width:80px}.btn-draw-pitch,.btn-delete-pitch{cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.btn-delete-pitch{color:#ef4444;background:#ef444426;border-color:#ef44444d}#btn-add-pitch{align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;display:flex}#btn-copy-embed-code{align-self:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}@media (width<=480px){#btn-copy-embed-code{justify-content:center;align-self:stretch}}#btn-copy-share-link{padding:10px 16px}#btn-route-confirm-save{background-color:var(--primary);color:var(--text-dark);box-shadow:inset 0 0 0 1px var(--primary-line)}#embed-code-input{width:100%;height:120px;color:var(--text-main);resize:vertical;box-sizing:border-box;word-break:break-all;white-space:pre-wrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-family:monospace;font-size:.85rem;overflow-y:auto}#grade-picker-footer{border-top:1px solid var(--glass-border);padding:12px 16px 16px;display:none}#grade-picker-scale-select{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;background:#ffffff08;flex:1;padding:8px 12px;font-size:.9rem}#msl-pitches-section{border-top:1px solid #ffffff0d;margin-top:12px;padding-top:12px;display:none}#panel-routes{flex-direction:column;gap:8px}#routes-list-container{flex:1;overflow-y:auto}#share-link-input{color:var(--text-main);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:10px 12px;font-size:.9rem}#sharepic-format-note{color:var(--primary-text);margin-top:4px;font-weight:600;display:block}#sharepic-slides-container{scrollbar-width:thin;gap:16px;padding:12px 4px;display:flex;overflow-x:auto}.color-swatch[data-color=\#007aff]{background-color:#007aff}.color-swatch[data-color=\#333333]{background-color:#333}.color-swatch[data-color=\#34c759]{background-color:#34c759}.color-swatch[data-color=\#af52de]{background-color:#af52de}.color-swatch[data-color=\#ff3b30]{background-color:#ff3b30}.color-swatch[data-color=\#ff9500]{background-color:#ff9500}.color-swatch[data-color=\#ffcc00]{background-color:#fc0}.color-swatch[data-color=\#ffffff]{background-color:#fff}.grade-picker-footer.grade-picker-footer{border-top:1px solid var(--glass-border);padding:12px 16px 16px}.grade-picker-scale-label.grade-picker-scale-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem;font-weight:600}.grade-picker-scale-selector.grade-picker-scale-selector{border-bottom:1px solid var(--glass-border);align-items:center;gap:10px;padding:8px 16px 12px;display:flex}.export-subject.export-subject{background:var(--option-card-bg);border:1px solid var(--option-card-border);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:.9rem;display:flex}.export-subject i{color:var(--primary-text)}.export-subject strong{color:var(--text-main);font-weight:600}.export-group.export-group{border:0;min-width:0;margin:0;padding:0}.export-legend.export-legend{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding:0;font-size:.8rem;font-weight:600}.export-format-choice.export-format-choice{gap:8px;display:flex}.export-format-option.export-format-option{cursor:pointer;background:var(--option-card-bg);border:1px solid var(--option-card-border);border-radius:var(--radius-sm);flex-direction:column;flex:1 1 0;align-items:center;gap:1px;min-width:0;padding:9px 10px;transition:background .15s,border-color .15s;display:flex;position:relative}.export-format-option input{opacity:0;pointer-events:none;position:absolute}.export-format-option-name{color:var(--text-main);font-size:.92rem;font-weight:600}.export-format-option-hint{color:var(--text-muted);font-size:.75rem}.export-format-option:hover{background:var(--option-card-hover)}.export-format-option:has(input:checked){background:var(--option-card-active-bg);border-color:var(--primary-line)}.export-format-option:has(input:checked) .export-format-option-name{color:var(--primary-text)}.export-format-option:has(input:focus-visible){outline:2px solid var(--primary-line);outline-offset:2px}.export-options.export-options{flex-direction:column;gap:8px;display:flex}@media (width<=430px){#export-modal .modal-actions{flex-direction:column;align-items:stretch;gap:4px}#export-modal .modal-actions .btn-primary{width:100%}#export-modal .modal-actions .btn-secondary{width:100%;padding:12px;font-weight:500;box-shadow:none!important;color:var(--text-muted)!important;background:0 0!important;border:none!important}#export-modal .modal-actions .btn-secondary:hover{color:var(--text-main)!important;background-color:#0000!important}}.sharepic-hint.sharepic-hint{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.modal-card--sharepic.modal-card--sharepic{flex-direction:column;width:90%;max-width:800px;display:flex}.brand-icon--sm.brand-icon--sm{font-size:1.35rem}.share-social-row.share-social-row{gap:12px;display:flex}.share-embed-block.share-embed-block{flex-direction:column;gap:12px;display:flex}.route-modal-body.route-modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.modal-card--route-save.modal-card--route-save{flex-direction:column;width:90%;max-width:480px;display:flex}.band-schieber{left:50%;bottom:var(--editor-dock-leiste,var(--editor-dock-top));z-index:85;border-radius:var(--radius-sm);touch-action:none;-webkit-user-select:none;user-select:none;padding:4px;position:absolute;transform:translate(-50%)}.band-schieber.ist-senkrecht{top:72px;bottom:auto;left:12px;transform:none}.band-schieber-innen{width:var(--schieber-breite);height:var(--schieber-hoehe);position:relative}.band-schieber-bild{border-radius:4px;width:100%;height:100%;display:block}.band-schieber-knoepfe{position:absolute;inset:0}.band-schieber-knopf{cursor:pointer;background:0 0;border:0;border-radius:3px;margin:0;padding:0;position:absolute}.band-schieber-nummer{box-sizing:border-box;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#05080ed1;border-radius:5px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.band-schieber-knopf.ist-aktiv .band-schieber-nummer{background:var(--primary);color:var(--text-dark)}.band-schieber-fenster{border:2px solid var(--primary-line);background:color-mix(in srgb, var(--primary) 12%, transparent);box-sizing:border-box;pointer-events:none;border-radius:3px;position:absolute}.band-bilder-hinweis{color:var(--text-muted);margin:0 0 14px;font-size:.9rem}.band-bilder-liste{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.band-bild-zeile{border:1px solid var(--option-card-border);border-radius:var(--radius-sm);background:var(--option-card-bg);grid-template-columns:48px 1.2em minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;display:grid}.band-bild-vorschau{object-fit:cover;border-radius:6px;width:48px;height:40px;display:block}.band-bild-nr{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center;font-weight:700}.band-bild-zeile .form-group{margin:0}.band-bild-zeile .form-group input[type=text]{padding:8px 10px}.band-bild-knoepfe{gap:0;display:flex}.band-bild-knoepfe .btn-icon{width:32px;min-width:32px;height:40px;padding:0}.band-bild-knoepfe .btn-icon:disabled{opacity:.3;cursor:default}#band-bilder-modal .modal-body{padding-inline:16px}.band-bilder-anordnung{border:0;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 16px;padding:0;display:flex}.band-bilder-anordnung legend{margin-bottom:6px;padding:0;font-weight:600}.band-bilder-wahl{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.band-bilder-status{min-height:1.3em;color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:.9rem}.settings-content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:30px 20px;overflow-y:auto}.settings-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:24px;display:grid}#settings-screen .settings-container{grid-template-columns:minmax(0,1fr);gap:28px;max-width:640px;margin:0 auto}#settings-screen .settings-card{border-radius:0;padding:0}#settings-screen .settings-card+.settings-card{border-top:1px solid var(--glass-border);padding-top:28px}#settings-screen .settings-card-header{gap:8px;margin-bottom:16px}#settings-screen .settings-card-header h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:700}#settings-screen .settings-icon{color:var(--text-muted);font-size:.8rem}.settings-card{border-radius:16px;flex-direction:column;padding:24px;display:flex}.settings-card-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.settings-card-header h2{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:600}.settings-icon{color:var(--primary-line);font-size:1.2rem}.settings-card-desc{color:var(--text-muted);margin-bottom:20px;font-size:.85rem;line-height:1.4}.settings-form{flex-direction:column;gap:18px;display:flex}.settings-log-actions{flex-wrap:wrap;gap:8px;display:flex}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--switch-off-bg);border:1px solid var(--glass-border);transition:var(--transition-smooth);transition-property:background-color,border-color;position:absolute;inset:0}.slider:before{content:"";background-color:var(--bg-main);width:16px;height:16px;transition:var(--transition-smooth);transition-property:transform,background-color;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{background-color:var(--primary);border-color:var(--primary-line)}.switch input:checked+.slider:before{background-color:var(--text-dark);transform:translate(20px)}.switch input:focus-visible+.slider{outline:2px solid var(--primary-line);outline-offset:2px}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}#settings-default-opacity{width:100%;accent-color:var(--primary);cursor:pointer}#settings-opacity-val{color:var(--primary-text);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}#settings-log-count:empty{display:none}.settings-slider-label.settings-slider-label{color:var(--text-main);font-size:.9rem;font-weight:500}.settings-slider-header.settings-slider-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.settings-field--slider.settings-field--slider{margin-top:16px;padding:6px 0}.settings-toggle-desc.settings-toggle-desc{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.settings-toggle-title.settings-toggle-title{color:var(--text-main);font-size:.9rem;font-weight:500;display:block}.settings-field--row.settings-field--row{justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.settings-field--row>label{cursor:pointer;min-width:0}.settings-choice-row.settings-choice-row{flex-wrap:wrap;gap:10px;display:flex}.settings-field--compact.settings-field--compact{margin-bottom:12px}.palette-preview{gap:4px;margin-top:8px;display:flex}.palette-preview-swatch{border:1px solid var(--glass-border);border-radius:6px;flex:1 1 0;height:22px;transition:transform .15s,box-shadow .15s}.palette-preview-swatch:hover{transform:translateY(-1px)}.segmented-control{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.segmented-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;background:0 0;border:1px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600;transition-property:background-color,color,border-color,box-shadow;display:inline-flex}.segmented-btn:hover{color:var(--text-main);background:var(--option-card-hover)}.segmented-btn.active{color:var(--primary-text);background:var(--stat-tile-bg);border-color:var(--primary-line)}.segmented-btn i{font-size:.95rem}#profile-screen .settings-container{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}#profile-screen .settings-card.glass{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}.profile-identity{align-items:center;gap:18px;padding:4px 2px;display:flex}.profile-avatar{object-fit:cover;background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:50%;flex-shrink:0;width:88px;height:88px}.profile-identity-text{flex:1;min-width:0}.profile-display-name{letter-spacing:-.6px;overflow-wrap:break-word;margin:0 0 4px;font-size:1.6rem;font-weight:800;line-height:1.15}.profile-identity-meta{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.5}.profile-edit-toggle{flex-shrink:0;align-self:flex-start}@media (width<=560px){.profile-identity{flex-wrap:wrap;gap:14px}.profile-avatar{width:72px;height:72px}.profile-identity-text{flex:8rem}.profile-display-name{font-size:1.4rem}.profile-edit-toggle{flex:1 0 100%;justify-content:flex-start;margin-left:-12px}}.profile-edit-form{gap:18px}.profile-avatar-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.profile-avatar-preview{object-fit:cover;background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:50%;flex-shrink:0;width:44px;height:44px}.profile-field-note{margin:6px 0 0}#profile-screen .settings-form .settings-field--compact,#profile-screen .profile-edit-form .settings-field--compact{margin-bottom:0}.settings-card-note{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.78rem}.profile-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.profile-stat{background:var(--stat-tile-bg);border:1px solid var(--stat-tile-border);border-radius:var(--radius-md);grid-template-areas:"icon""wert""label""kurve";align-content:start;justify-items:center;gap:2px;min-width:0;padding:16px 12px;display:grid}.profile-stat-icon{color:var(--primary-line);grid-area:icon;margin-bottom:4px;font-size:1.1rem}.profile-stat-value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;grid-area:wert;font-size:clamp(1.35rem,1rem + 1.4vw,1.7rem);font-weight:800;line-height:1.05}.profile-stat-label{color:color-mix(in srgb, var(--text-main) 78%, transparent);grid-area:label;font-size:.78rem}.profile-stat-trend{grid-area:kurve;width:100%;margin-top:10px;position:relative}@media (width<=560px){.profile-stats-grid{grid-template-columns:minmax(0,1fr);gap:8px}.profile-stat{grid-template-columns:auto 1fr auto;grid-template-areas:"icon label wert""kurve kurve kurve";place-items:center start;gap:0 10px;padding:12px 14px}.profile-stat-icon{margin-bottom:0}.profile-stat-value{justify-self:end;font-size:1.45rem}.profile-stat-label{font-size:.9rem}.profile-stat-trend{margin-top:8px}}.profile-stats-hint{margin:14px 0 0}.verlauf-balken-reihe{touch-action:pan-y;align-items:flex-end;gap:2px;height:30px;display:flex}.verlauf-balken{background:var(--stat-bar);border-radius:1.5px 1.5px 0 0;flex:1 1 0;min-width:2px;min-height:2px}.verlauf-balken.ist-gewaehlt{background:var(--stat-bar-current)}.verlauf-grundlinie{background:var(--stat-baseline);height:1px;margin-top:2px}.verlauf-blase{border-radius:var(--radius-sm);background:var(--toast-bg);border:1px solid var(--toast-border);box-shadow:var(--toast-shadow);color:var(--text-main);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:2;padding:4px 8px;font-size:.72rem;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.profile-stat--skeleton{background:var(--stat-skeleton);background-image:linear-gradient(90deg, transparent 0%, var(--stat-skeleton-sheen) 50%, transparent 100%);background-size:200% 100%;border-color:#0000;min-height:148px;animation:1.4s ease-in-out infinite profil-schimmer}@media (width<=560px){.profile-stat--skeleton{min-height:74px}}@keyframes profil-schimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.profile-stat--skeleton{animation:none}}.profile-stats-error{border-radius:var(--radius-md);background:var(--stat-error-bg);border:1px solid var(--stat-error-border);flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.profile-stats-error-icon{color:var(--stat-error-fg);margin-top:1px;font-size:1.1rem}.profile-stats-error-text{flex:12rem;min-width:0;margin:0;font-size:.88rem;line-height:1.45}.profile-account-row{align-items:baseline;gap:12px;margin:0 0 16px;font-size:.9rem;display:flex}.profile-account-row dt{color:var(--text-muted);flex-shrink:0}.profile-account-row dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.profile-logins{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-login{border-radius:var(--radius-md);background:var(--stat-tile-bg);border:1px solid var(--stat-tile-border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;font-size:.9rem;display:flex}.profile-login-icon{color:var(--text-muted);font-size:1.05rem}.profile-login.is-connected .profile-login-icon{color:var(--toast-icon-success)}.profile-login-name{font-weight:600}.profile-login-state{color:var(--text-muted);font-size:.82rem}.profile-login-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}#profile-screen .btn-sm{min-height:40px;padding-top:8px;padding-bottom:8px}.profile-password-form{margin-top:14px}.profile-account-foot{border-top:1px solid var(--glass-border);margin-top:18px;padding-top:14px;display:flex}.btn-logout:hover{color:var(--danger);background:var(--stat-error-bg)}#help-screen{background-color:var(--bg-main)}.help-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:30px 24px;overflow-y:auto}.help-hero{margin-bottom:32px}.help-hero h2{color:var(--text-main);margin-bottom:12px;font-size:2.2rem;font-weight:800}.help-hero p{color:var(--text-muted);max-width:60ch;font-size:1.05rem;line-height:1.5}.help-topics{flex-direction:column;gap:28px;display:flex}.help-group{flex-direction:column;display:flex}.help-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:.75rem;font-weight:700}.help-card{border-top:1px solid var(--glass-border)}.help-card:last-child{border-bottom:1px solid var(--glass-border)}.help-card-header{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:12px 8px;list-style:none;transition:background-color .15s;display:flex}.help-card-header::-webkit-details-marker{display:none}.help-card-header:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex-shrink:0;width:8px;height:8px;margin-left:auto;margin-right:4px;transition:transform .2s;transform:rotate(-45deg)}.help-card[open]>.help-card-header:after{transform:rotate(45deg)}@media (hover:hover){.help-card-header:hover{background-color:var(--option-card-hover)}}.help-card-header:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.step-badge{color:var(--text-muted);border:1px solid var(--glass-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:flex}.help-card-header h4{color:var(--text-main);margin:0;font-size:1rem;font-weight:600}.help-card-body{flex-direction:column;gap:12px;padding:4px 8px 20px 46px;display:flex}.help-card p{color:var(--text-muted);font-size:.92rem;line-height:1.6}.help-card ul{flex-direction:column;gap:8px;margin-left:0;list-style:none;display:flex}.help-card li{color:var(--text-muted);padding-left:20px;font-size:.9rem;line-height:1.5;position:relative}.help-card li i{color:var(--primary-line);text-align:center;width:14px;font-size:.85rem;position:absolute;top:3px;left:0}.help-card li:not(:has(i)):before{content:"";background-color:color-mix(in srgb, var(--primary) 55%, transparent);border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:4px}.help-tool-list li i{font-size:.9rem}.help-card li strong{color:var(--text-main)}@media (width<=768px){.help-hero h2{font-size:1.7rem}.help-hero p{font-size:.95rem}.help-content{padding:20px 16px}}.help-feedback-banner{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:20px;margin-top:36px;margin-bottom:24px;padding:20px 24px;display:flex}.help-feedback-banner__text h3{color:var(--text-main);margin-bottom:4px;font-size:1.1rem;font-weight:600}.help-feedback-banner__text p{color:var(--text-muted);margin:0;font-size:.9rem}@media (width<=640px){.help-feedback-banner{text-align:left;flex-direction:column;align-items:stretch}}.admin-content{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:24px;width:100%;max-width:1400px;min-height:0;margin:0 auto;padding:24px;display:flex;overflow:hidden scroll}.admin-abschnitt{flex-direction:column;gap:12px;display:flex}.admin-abschnitt-kopf{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-abschnitt-neben{color:var(--text-muted);font-size:.8rem}.admin-lage{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.admin-lage-satz{color:var(--text-main);margin:0;font-size:1rem;line-height:1.45}.admin-lage-zahl{font-variant-numeric:tabular-nums;color:var(--arbeit-fg);font-weight:700}.admin-lage-knopf{min-height:44px}.admin-lage-weitere{color:var(--text-muted);margin:0;font-size:.85rem}.admin-lage-verweis{font:inherit;color:var(--text-main);text-decoration:underline;-webkit-text-decoration-color:var(--glass-border);text-decoration-color:var(--glass-border);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0}.admin-lage-verweis:hover{text-decoration-color:currentColor}.admin-lage-verweis+.admin-lage-verweis:before{content:"·";color:var(--text-muted);margin:0 8px;display:inline-block}.admin-ai-import{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:16px;display:flex}.admin-ai-import .btn-quiet{margin-left:-18px}.admin-ai-import-hinweis{color:var(--text-muted);font-size:.8rem}.admin-vorrat-ruhe{color:var(--text-muted);align-items:center;gap:10px;margin:0;font-size:.9rem;display:flex}.admin-vorrat-haken{color:var(--success)}.admin-gerippe{background:var(--stat-skeleton);border-radius:6px;position:relative;overflow:hidden}.admin-gerippe:after{content:"";background:linear-gradient(90deg, transparent, var(--stat-skeleton-sheen), transparent);animation:1.4s infinite admin-schimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes admin-schimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.admin-gerippe:after{animation:none}}.admin-gerippe-zeile{width:min(360px,80%);height:14px;margin:4px 0;display:block}.admin-gerippe-knopf{border-radius:var(--radius-sm);width:180px;height:44px;display:block}.admin-stoerung{border-radius:var(--radius-md);background:var(--stat-error-bg);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.admin-stoerung-zeichen{color:var(--stat-error-fg);font-size:1.05rem;line-height:1.4}.admin-stoerung-satz{color:var(--text-main);font-size:.85rem}.admin-stoerung-satz strong{margin-bottom:2px;font-weight:600;display:block}.admin-stoerung-knopf{width:fit-content;margin-top:10px;display:flex}.admin-bestand{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}@media (width>=720px){.admin-bestand{grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-posten{align-content:start;gap:2px;display:grid}.admin-posten-name{color:var(--text-muted);font-size:.78rem}.admin-posten-reihe{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.admin-posten-wert{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-main);font-size:1.4rem;font-weight:700}.admin-posten-spark,.admin-posten-spark .sparkline-svg{height:22px}.admin-posten-spark:empty{display:none}.admin-posten-spark .sparkline-line{stroke:var(--rang-fuellung);stroke-width:1.5px}.admin-posten-spark .sparkline-area{fill:none}.admin-posten-spark .sparkline-hover-dot{fill:var(--rang-fuellung)}.admin-tab-container{flex-direction:column;gap:20px;width:100%;min-width:0;display:flex}.admin-tabs{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;gap:18px 26px;padding-bottom:14px;display:flex}.admin-tab-gruppe{min-width:0}.admin-tab-gruppentitel{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin:0 0 7px;font-size:.68rem;font-weight:600}.admin-tab-chips{flex-wrap:wrap;gap:6px;display:flex}.admin-tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.admin-tab-btn:hover{color:var(--text-main);background:var(--toolbar-tile-hover)}.admin-tab-btn.active{background:var(--reiter-aktiv-bg);color:var(--text-main);font-weight:600}.admin-tab-btn.is-blass{opacity:.55}.admin-tab-zaehler{font-variant-numeric:tabular-nums;background:var(--arbeit-bg);min-width:20px;height:20px;color:var(--arbeit-fg);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.admin-tab-btn.active .admin-tab-zaehler{background:var(--bg-card)}.admin-tab-panels{width:100%;min-width:0;overflow:hidden}.admin-panel{width:100%;min-width:0;display:none;overflow:hidden}.admin-panel.active{display:block}.admin-report-card{align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.admin-report-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.admin-report-head{align-items:center;gap:8px;min-width:0;display:flex}.admin-report-head .admin-card-title-link,.admin-report-head .admin-report-gone{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-report-status{flex-shrink:0}.admin-report-reason{color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.45}.admin-report-gone{color:var(--text-muted);font-style:italic}.admin-report-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.admin-report-actions .admin-btn-secondary-action{flex:none}@media (width<=560px){.admin-report-card{flex-direction:column}.admin-report-actions{align-self:flex-end}}.admin-log-card{flex-direction:column;gap:4px;padding:12px 16px;display:flex}.admin-log-head{align-items:center;gap:8px;min-width:0;display:flex}.admin-log-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-main);flex:1;font-size:.95rem;font-weight:700;overflow:hidden}.admin-log-action{flex-shrink:0}.admin-meta-line{color:var(--text-muted);align-items:baseline;gap:10px;min-width:0;font-size:.8rem;display:flex}.admin-meta-kind{flex-shrink:0}.admin-meta-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-meta-kind+.admin-meta-who:before{content:"·";margin-right:10px}.admin-meta-when{font-variant-numeric:tabular-nums;flex-shrink:0}.admin-table-thumb{object-fit:cover;border-radius:var(--radius-sm);background:#0003;width:40px;height:40px}.admin-card-split{align-items:flex-start;gap:20px;display:flex}.admin-card-split .admin-card-grid{flex:auto;min-width:0}.admin-card-field--preview{flex:none;max-width:45%}@media (width<=640px){.admin-card-split{flex-direction:column;gap:12px}.admin-card-field--preview{max-width:100%}}.admin-card-preview{border-radius:var(--radius-sm);cursor:pointer;background:#0003;align-self:flex-start;width:auto;max-width:100%;max-height:220px}@media (width<=768px){.admin-card-preview{max-height:160px}}.admin-badge{color:var(--text-muted);background:#8080801a;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.admin-btn-delete{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:#8080801a;border:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:all .2s;display:inline-flex}.admin-btn-delete:hover,.admin-btn-delete:focus-visible{color:#fff;background:#ef4444}.admin-section-title{color:var(--text-main);margin:0 0 4px;font-size:1.1rem;font-weight:700}.admin-trends-section{flex-direction:column;gap:16px;display:flex}.admin-trend-delta{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;font-weight:600}.admin-leaderboards-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.admin-leaderboards-grid{grid-template-columns:repeat(2,1fr)}}.admin-leaderboard{border-top:1px solid var(--glass-border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.admin-leaderboard-title{color:var(--text-main);margin:0;font-size:.95rem;font-weight:700}.admin-leaderboard-list{flex-direction:column;gap:10px;display:flex}.admin-leaderboard-row{grid-template-columns:minmax(0,1fr) 96px auto;align-items:center;gap:12px;display:grid}.admin-leaderboard-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.admin-leaderboard-list.is-single .admin-leaderboard-bar-track,.admin-leaderboard-list.is-flach .admin-leaderboard-bar-track{display:none}.admin-leaderboard-list.is-flach .admin-leaderboard-row{grid-template-columns:minmax(0,1fr) auto}.admin-leaderboard-hinweis{color:var(--text-muted);margin:-6px 0 2px;font-size:.78rem}.admin-leaderboard-bar-track{background:var(--rang-schiene);border-radius:3px;height:5px;display:block;overflow:hidden}.admin-leaderboard-bar-fill{background:var(--rang-fuellung);border-radius:3px;height:100%;display:block}.admin-leaderboard-value{color:var(--text-main);text-align:right;min-width:24px;font-size:.85rem;font-weight:700}.admin-leaderboard-empty{color:var(--text-muted);padding:12px 0;font-size:.85rem}.admin-system-health{border-top:1px solid var(--glass-border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.admin-system-health-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width>=768px){.admin-system-health-grid{grid-template-columns:repeat(4,1fr)}}.admin-health-stat{flex-direction:column;gap:4px;display:flex}.admin-health-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.admin-health-value{color:var(--text-main);align-items:center;gap:6px;font-size:1rem;font-weight:700;display:flex}.admin-health-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.admin-health-dot.ok{background:var(--success)}.admin-health-dot.error{background:var(--danger)}.admin-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-search-input,.admin-filter-select,.admin-filter-checkbox{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card);min-height:40px;color:var(--text-main);font-size:.9rem}.admin-filter-checkbox.admin-filter-checkbox{background:0 0;border-color:#0000}.admin-search-input{flex:1;min-width:180px;padding:9px 14px}.admin-search-input:focus{border-color:var(--primary-line)}.admin-filter-select{padding:9px 12px}.admin-filter-checkbox{color:var(--text-muted);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.admin-filter-checkbox:hover{color:var(--text-main);background:var(--toolbar-tile-hover)}.admin-filter-checkbox input{width:17px;height:17px;accent-color:var(--primary-line);margin:0}.admin-load-more-row{text-align:center;margin-top:16px}.admin-badge-warning{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary-text);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.admin-badge-danger{color:#ef4444;background:#ef444426;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.admin-card-area-select{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text-main);min-height:36px;padding:6px 10px;font-size:.85rem}.admin-btn-secondary-action{color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;background:#8080801a;border:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:all .2s;display:inline-flex}.admin-btn-secondary-action:hover{background:var(--primary);color:var(--text-dark);border-color:var(--primary-line)}.admin-btn-secondary-action.active-warning{color:#ef4444;background:#ef444426}.admin-routes-list{flex-direction:column;gap:12px;padding:4px 0;display:flex}.admin-route-card{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:transform .2s,border-color .2s;display:flex}.admin-route-card:hover{border-color:color-mix(in srgb, var(--primary-line) 25%, transparent);transform:translateY(-2px)}.route-card-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.route-card-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-card-name{color:var(--text-main);font-size:1.05rem;font-weight:700}.route-card-meta{color:var(--text-muted);font-size:.85rem}.route-card-details{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;font-size:.82rem;display:flex}.route-card-details span strong{color:var(--text-main);font-weight:500}.route-card-actions{align-items:center;display:flex}@media (width<=768px){.admin-route-card{flex-direction:column;align-items:stretch;gap:14px}.route-card-actions{justify-content:flex-end}}.admin-cards-list{flex-direction:column;display:flex}.admin-card{border-bottom:1px solid var(--glass-border);transition:background .15s}.admin-card:first-child{border-top:1px solid var(--glass-border)}@media (hover:hover){.admin-card:hover{background:var(--option-card-hover)}}.admin-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.admin-card-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.admin-card-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-card-badges{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.admin-card-title,.admin-card-title-link{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:700;overflow:hidden}.admin-card-title-link{cursor:pointer;text-decoration:none;transition:color .15s}.admin-card-title-link:hover{color:var(--primary-text)}.admin-card-details{max-height:0;padding:0 18px;transition:max-height .3s cubic-bezier(.4,0,.2,1),padding .3s;overflow:hidden}.admin-card.expanded .admin-card-details{max-height:500px;padding:4px 18px 16px}.admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px;display:grid}.admin-card-field{flex-direction:column;gap:4px;display:flex}.admin-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.admin-card-value{color:var(--text-main);font-size:.88rem;font-weight:500}.admin-card-actions{gap:8px;display:flex}.admin-card-chevron{color:var(--text-muted);font-size:.85rem;transition:transform .3s}.admin-card.expanded .admin-card-chevron{transform:rotate(180deg)}.upload-progress{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.upload-progress.hidden{display:none}.upload-progress-track{background:#ffffff1f;border-radius:999px;flex:1;height:8px;overflow:hidden}.upload-progress-fill{background:var(--primary);border-radius:999px;width:0;height:100%;transition:width .2s}.upload-progress-text{text-align:right;min-width:6.5em;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.85rem}@media (width<=768px){.admin-content{gap:16px!important;padding:12px!important}.admin-posten-wert{font-size:1.25rem}.admin-tab-container{gap:16px!important}.admin-tabs{gap:14px 18px!important;padding-bottom:12px!important}.admin-tab-btn{padding:8px 11px!important;font-size:.8rem!important}.admin-card-header{gap:10px!important;padding:10px 12px!important}.admin-card-main{flex-direction:column;align-items:flex-start;gap:4px!important}.admin-card-badges{flex-wrap:wrap;margin-left:0}.admin-card-title,.admin-card-title-link{max-width:100%;font-size:.88rem!important}.admin-card-details{padding:0 12px!important}.admin-card.expanded .admin-card-details{padding:4px 12px 12px!important}.admin-card-grid{grid-template-columns:1fr!important;gap:10px!important}.admin-card-field{gap:2px!important}.admin-card-value{word-break:break-all!important;font-size:.82rem!important}}.admin-card-icon{color:var(--primary-line);margin:0 8px;font-size:1.1rem}.admin-card-field.is-full-width{grid-column:1/-1}.admin-card-value.is-wrapping{white-space:normal;line-height:1.4}.admin-badge.is-superuser{color:#ef4444;background:#ef444426}.admin-badge.is-user{color:#3b82f6;background:#3b82f626}.admin-table-thumb.is-avatar{border-radius:50%;width:32px;height:32px}.admin-empty-text.admin-empty-text{max-width:400px;margin:0 auto;font-size:.85rem;line-height:1.4}.admin-empty-title.admin-empty-title{color:var(--text-main);font-size:1.1rem;font-weight:600}.admin-empty-icon.admin-empty-icon{color:var(--primary-line);opacity:.7;font-size:2.5rem}.admin-empty-block.admin-empty-block{white-space:normal;flex-direction:column;align-items:center;gap:12px;display:flex}.admin-feedback-diag-details{margin-top:6px;margin-bottom:6px;font-size:.8rem}.admin-feedback-diag-summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.admin-feedback-diag-summary:hover{color:var(--text-main)}.admin-feedback-diag-pre{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-muted);max-height:120px;margin-top:4px;padding:8px;font-size:.72rem;overflow-x:auto}.ai-topo-card.ai-topo-card{max-width:640px}.ai-topo-body{flex-direction:column;gap:16px;display:flex}.ai-topo-photo-wrap{border-radius:var(--radius-md);background:var(--bg-darker);border:1px solid var(--glass-border);width:100%;max-height:320px;position:relative;overflow:hidden}.ai-topo-photo{object-fit:contain;width:100%;max-height:320px;display:block}.ai-topo-pins{pointer-events:none;position:absolute;inset:0}.ai-topo-pin{color:#fff;cursor:pointer;pointer-events:auto;background:#0f141ecc;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;transition:transform .15s,background .15s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.ai-topo-pin:hover,.ai-topo-pin.is-linked{background:var(--primary);color:var(--text-dark);border-color:var(--text-dark);z-index:1;transform:translate(-50%,-50%)scale(1.25)}.ai-topo-photo-actions{align-items:center;gap:8px;display:flex}.ai-topo-replace-status{color:var(--text-muted);font-size:.8rem}.ai-topo-title-group.ai-topo-title-group{margin:0}.ai-topo-routes-heading{margin-bottom:8px;font-size:1rem;font-weight:600}.ai-topo-routes-list{background:var(--bg-darker);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;max-height:280px;padding:4px;display:flex;overflow-y:auto}.ai-topo-routes-empty{text-align:center;color:var(--text-muted);padding:16px 12px;font-size:.85rem}.ai-route-row{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;transition:background-color .6s;display:flex}.ai-route-row:not(:last-child){border-bottom:1px solid var(--glass-border)}.ai-route-row.is-flashed{background-color:var(--focus-ring);transition:background-color .15s}.ai-route-num{width:22px;height:22px;color:var(--text-muted);background:#ffffff14;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.ai-route-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-main);min-width:0;transition:var(--transition-smooth);background:#ffffff0d;padding:7px 9px;font-family:inherit;font-size:.88rem}.ai-route-input:focus{border-color:var(--primary-line);background:#ffffff14}.ai-route-name{flex:auto}.ai-route-grade-wrap{flex:none;align-items:center;gap:6px;display:flex}.ai-route-grade{text-align:center;width:64px}.ai-route-warn.ai-route-warn{color:var(--danger);font-size:.85rem;display:none}.ai-route-row.is-grade-missing .ai-route-warn.ai-route-warn{display:inline-block}.ai-route-delete{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.ai-route-delete:hover{color:var(--danger);background:#ffffff0f}.ai-topo-add-btn.ai-topo-add-btn{align-self:flex-start;margin-top:8px}
