body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-form{background-color:var(--surface);border-radius:.75rem;color:var(--on-primary);display:flex;flex-direction:column;font-family:var(--font-family);gap:1.5rem;max-width:30rem;padding:1.5rem;width:90%}.login-form h2{font-size:clamp(1.5rem,2vw,2rem);line-height:1.4;margin:0;text-align:center}.title-main{white-space:nowrap}.title-main,.title-sub{display:inline-block}.login-form input{background-color:var(--gray-900);border:1px solid var(--border);border-radius:.375rem;color:var(--on-primary);font-size:1rem;padding:.625rem}.login-form input::placeholder{color:var(--gray-500)}.message{color:var(--error-color);font-size:.95rem;text-align:center}.login-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:clamp(1rem,3vw,2rem);width:100%}@media screen and (orientation:landscape) and (max-height:600px){.login-container{min-height:100vh;padding:clamp(.5rem,2vw,1rem)}}@media screen and (min-width:1200px){.login-container{padding:clamp(2rem,4vw,3rem)}}.dashboard-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.dashboard-container,.dashboard-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.dashboard-container{background-color:var(--bg-primary);color:var(--on-primary)}.dashboard-content{-ms-overflow-style:none;box-sizing:border-box;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:hidden;padding:clamp(1rem,2vw,1.5rem);scrollbar-width:none}.dashboard-content::-webkit-scrollbar{display:none}.dashboard-content.scrollable{-ms-overflow-style:auto;overflow-y:auto;scrollbar-width:auto}.dashboard-content.scrollable::-webkit-scrollbar{display:block;width:clamp(.5rem,1vw,.75rem)}.dashboard-content.scrollable::-webkit-scrollbar-track{background:var(--gray-900);border-radius:.25rem}.dashboard-content.scrollable::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:.25rem;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.dashboard-content.scrollable::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media screen and (max-width:767px){.dashboard-content{padding:clamp(.75rem,2vw,1rem)}}@media screen and (min-width:768px) and (max-width:1023px){.dashboard-content{padding:clamp(1rem,2.5vw,1.25rem)}}@media screen and (min-width:1024px){.dashboard-content{padding:clamp(1.25rem,3vw,2rem)}}@media screen and (min-width:1200px){.dashboard-content{padding:clamp(1.5rem,4vw,2.5rem)}}.card{border-radius:16px;max-width:700px;padding:30px 40px}.card p{color:var(--on-primary);font-size:1rem;line-height:1.6;margin:10px 0}.card strong{color:var(--accent-hover)}.section-title{border-bottom:1px solid var(--border);color:var(--accent);font-size:1.3rem;margin:30px 0 15px;padding-bottom:5px}.action-buttons{align-items:center;justify-content:space-between;margin-top:2rem;max-width:43.75rem;width:100%}.left-buttons,.right-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.left-buttons{justify-content:flex-start}.right-buttons{justify-content:flex-end;margin-left:auto}.select-btn:before{content:"◀";font-size:.9rem;margin-right:.375rem}@media (max-width:48rem){.action-buttons{flex-direction:column;gap:1rem}.left-buttons,.right-buttons{justify-content:center;width:100%}.right-buttons{margin-left:0}}@media (max-width:30rem){.action-buttons{margin-top:1.5rem}.left-buttons,.right-buttons{align-items:center;flex-direction:column}}.title{color:var(--on-primary);font-size:2.5rem;margin-bottom:30px}.account-page-container{align-items:center;background-color:var(--bg-primary);display:flex;flex-direction:column;padding:50px 20px;width:100%}.status-message{background-color:var(--surface);border-radius:10px;font-size:1.2rem;padding:20px}.fullscreen-black{background-color:#000;height:100vh;width:100vw}.fullscreen-black,.media-box{align-items:center;display:flex;justify-content:center}.media-box{height:80vh;overflow:hidden;width:80vw}.fit-media{height:100%;object-fit:contain;width:100%}:-moz-full-screen img,:-moz-full-screen video,:-ms-fullscreen img,:-ms-fullscreen video,:-webkit-full-screen img,:-webkit-full-screen video,:fullscreen img,:fullscreen video{background-color:#000;display:block;height:auto;left:50%;margin:0;max-height:80vh;max-width:80vw;object-fit:contain;padding:0;position:fixed;top:50%;transform:translate(-50%,-50%);width:auto;z-index:9999}.media-item{gap:.75rem;height:100%}.media-image-container{display:flex;justify-content:center;position:relative;width:100%}.fullscreen-icon{align-items:center;background-color:#0009;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;height:2rem;justify-content:center;padding:.25rem;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease;width:2rem;z-index:10}.fullscreen-icon:hover{background-color:#000c;transform:scale(1.1)}.fullscreen-icon svg{height:1rem;width:1rem}.media-caption{background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;box-sizing:border-box;color:#1f2937;flex-shrink:0;font-size:.875rem;padding:.5rem .75rem;width:100%}.media-description-section{display:flex;flex:1 1;flex-direction:column}.media-description-label{color:#374151;flex-shrink:0;font-size:.875rem;margin-bottom:.375rem}.media-description{background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;color:#1f2937;flex:1 1;font-size:.875rem;line-height:1.5;max-height:6rem;overflow-y:auto;padding:.5rem .75rem}.media-description::-webkit-scrollbar{width:.375rem}.media-description::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.1875rem}.media-description::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:.1875rem}.media-description::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:47.9375rem){.fullscreen-icon{height:1.75rem;right:.375rem;top:.375rem;width:1.75rem}.fullscreen-icon svg{height:.875rem;width:.875rem}.media-caption{padding:.375rem .625rem}.media-caption,.media-description-label{font-size:.8125rem}.media-description{font-size:.8125rem;max-height:5rem;padding:.375rem .625rem}}.media-slideshow{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:28rem;max-width:28rem;min-width:22rem;padding:.75rem;width:100%}.viewer-section{margin-bottom:1.25rem;width:100%}.viewer-label{color:#374151;display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.viewer-field{background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;color:#1f2937;font-size:.9375rem;line-height:1.5;padding:.625rem .875rem}.viewer-title{background-color:#fff;border:.125rem solid #e5e7eb;color:#1a1a1a;font-size:1.125rem;font-weight:600}.viewer-thumbnail-container{background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;display:flex;justify-content:center;padding:.75rem}.marker-viewer-label{align-items:center;background-color:#fff;border:.125rem solid #e5e7eb;display:flex;gap:.5rem}.marker-viewer-label__dot{border-radius:50%;box-shadow:0 0 0 .0625rem #0000001a;display:inline-block;height:.875rem;width:.875rem}.marker-viewer-edit-button-wrap{display:flex;justify-content:flex-end;margin-bottom:1rem}.marker-viewer-edit-button{align-items:center;background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;line-height:1.2;min-height:2.25rem;min-width:4.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.marker-viewer-edit-button:hover{background-color:#2563eb;transform:translateY(-.0625rem)}.media-slide{display:flex;flex-direction:column;height:22rem;margin:.5rem 0;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:.5rem;text-align:center;width:100%}.media-slide::-webkit-scrollbar{width:.375rem}.media-slide::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.25rem}.media-slide::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:.25rem}.media-slide::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.media-slide-image,.media-slide-video{border-radius:.375rem;box-shadow:0 .125rem .25rem #0000001a;flex-shrink:0;height:11rem;max-width:26rem;object-fit:contain;width:100%}.media-slide a{color:#3b82f6;display:inline-block;font-size:.875rem;text-decoration:underline;word-break:break-all}.media-slideshow-controls{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-top:.75rem}.media-slideshow-btn{align-items:center;background-color:#6b7280;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;justify-content:center;line-height:1.2;min-height:1.75rem;min-width:2.5rem;padding:.25rem .5rem;text-decoration:none;transition:all .2s ease}.media-slideshow-btn:hover:not(:disabled){background-color:#4b5563;transform:translateY(-.0625rem)}.media-slideshow-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.media-slideshow-counter{color:#374151;font-size:.875rem;font-weight:500;min-width:3rem;text-align:center}.media-slide-audio{margin-top:.75rem;max-width:22rem;width:100%}.media-slide-file{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:.375rem;justify-content:center}.media-slide-file a{color:#3b82f6;text-decoration:underline}.media-image,.media-video{border-radius:.5rem;box-shadow:0 .25rem .5rem #00000026;flex-shrink:0;height:11rem;max-width:26rem}.media-audio{flex-shrink:0;margin-top:.75rem;max-width:26rem}.meta-item{align-items:center;border-bottom:.0625rem solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.375rem 0}.meta-item:last-child{border-bottom:none;margin-bottom:0}.meta-label{color:#6b7280;font-size:.8125rem;font-weight:600;min-width:4rem}.meta-value{color:#1f2937;flex:1 1;font-size:.8125rem;text-align:right}@media (max-width:47.9375rem){.media-slideshow{height:24rem;max-width:24rem;min-width:20rem;padding:.5rem}.media-slide{height:18rem;overflow-x:hidden;overflow-y:auto;padding-right:.5rem}.media-image,.media-slide-image,.media-slide-video,.media-video{height:9rem}.media-audio,.media-slide-audio{max-width:18rem}.media-slideshow-btn{font-size:.8125rem;min-height:2rem;padding:.375rem .625rem}.viewer-section{margin-bottom:1rem}.viewer-field{font-size:.875rem;padding:.5rem .75rem}.viewer-title{font-size:1rem}}@media (min-width:48rem){.media-slideshow{height:30rem;max-width:30rem;min-width:24rem}.media-slide{height:24rem;overflow-x:hidden;overflow-y:auto;padding-right:.5rem}.media-image,.media-slide-image,.media-slide-video,.media-video{height:12rem}.media-audio,.media-slide-audio{max-width:24rem}}@media (min-width:75rem){.media-slideshow{height:32rem;max-width:32rem}.media-slide{height:26rem;overflow-x:hidden;overflow-y:auto;padding-right:.5rem}.media-image,.media-slide-image,.media-slide-video,.media-video{height:13rem}.media-audio,.media-slide-audio{max-width:26rem}}@media (max-height:48rem) and (orientation:landscape){.media-slideshow{height:26rem;max-width:28rem;min-width:24rem}.media-slide{height:22rem;overflow-x:hidden;overflow-y:auto;padding-right:.5rem}.media-slide-image,.media-slide-video{height:11rem}.media-slide-audio{max-width:24rem}}@media (max-height:40rem) and (orientation:landscape){.media-slideshow{height:24rem;max-width:26rem;min-width:22rem}.media-slide{height:20rem;overflow-x:hidden;overflow-y:auto;padding-right:.5rem}.media-slide-image,.media-slide-video{height:10rem}.media-slide-audio{max-width:22rem}}.marker-metadata{height:100%;overflow-x:hidden;overflow-y:auto;padding-right:.5rem;width:100%}.marker-metadata::-webkit-scrollbar{width:.375rem}.marker-metadata::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.25rem}.marker-metadata::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:.25rem}.marker-metadata::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.marker-thumbnail{border:2px solid #000;border-radius:4px;box-sizing:border-box;height:4rem;object-fit:cover;width:4rem}.marker-container,.marker-pin-container,.marker-thumbnail-container{display:inline-block;position:relative}.marker-item{transition:all .4s cubic-bezier(.4,0,.2,1)}.marker-hidden{filter:blur(2px);opacity:0;transform:scale(.3) translateY(20px)}.marker-visible{filter:blur(0);opacity:1;transform:scale(1) translateY(0)}.marker-item.marker-visible .marker-thumbnail-container{animation:thumbnailBounce .6s cubic-bezier(.68,-.55,.265,1.55) .1s both}@keyframes thumbnailBounce{0%{opacity:0;transform:scale(.8) rotate(-5deg)}50%{transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.marker-item.marker-visible{animation:markerDrop .4s cubic-bezier(.25,.46,.45,.94) .05s both}@keyframes markerDrop{0%{opacity:0;transform:translateY(-30px) scale(.5)}60%{transform:translateY(5px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}.marker-item.marker-visible .marker-pin-container{animation:pinDrop .4s cubic-bezier(.25,.46,.45,.94) .05s both}@keyframes pinDrop{0%{opacity:0;transform:translateY(-30px) scale(.5)}60%{transform:translateY(5px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}.marker-loading{background-color:#fffc;border-radius:4px;color:#999;font-size:12px;left:50%;padding:4px 8px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.marker-item:hover{transform:scale(1.05);transition:transform .2s ease}@media (max-width:1024px){.marker-thumbnail{height:3.5rem;width:3.5rem}}@media (max-width:768px){.marker-thumbnail{height:3rem;width:3rem}.marker-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.marker-item.marker-visible{animation:markerDrop .3s cubic-bezier(.25,.46,.45,.94) .05s both}.marker-item.marker-visible .marker-thumbnail-container{animation:thumbnailBounce .4s cubic-bezier(.68,-.55,.265,1.55) .1s both}}@media (max-width:480px){.marker-thumbnail{height:2.5rem;width:2.5rem}.marker-loading{font-size:10px;padding:2px 6px}}.media-upload-form{margin-top:1rem}.drop-zone-container{margin-bottom:1rem}.drop-zone{border-radius:.5rem}.file-limit-info{color:#888;font-size:.875rem;margin:.5rem 0 0}.upload-error{background-color:#fee;border:1px solid #fcc;border-radius:.375rem;color:#c33;margin-top:.5rem;padding:.5rem}.upload-error p{font-size:.875rem;margin:0}.selected-files-list-vertical{gap:.75rem}.selected-file-entry{border-radius:.5rem}.remove-file-button{font-size:1rem;height:1.75rem;right:.375rem;top:.375rem;width:1.75rem}.selected-file-preview img,.selected-file-preview video{border-radius:.375rem;margin-bottom:.75rem;max-height:12.5rem}.selected-file-preview audio{margin-bottom:.75rem}.form-label{font-size:.8125rem;margin-bottom:.25rem}.form-input,.form-textarea{border-radius:.375rem;font-size:.875rem;padding:.5rem}.form-textarea{min-height:5rem}@media (max-width:47.9375rem){.media-upload-form{margin-top:.75rem}.drop-zone,.selected-file-entry{margin-bottom:.75rem;padding:.75rem}.selected-file-preview img,.selected-file-preview video{max-height:10rem}.form-input,.form-textarea{font-size:1rem;padding:.375rem}}@media (min-width:48rem){.selected-file-entry{max-width:100%}.media-meta-inputs{gap:1.25rem}}@media (orientation:landscape) and (max-height:31.25rem){.selected-file-preview img,.selected-file-preview video{max-height:8rem}.form-textarea{min-height:3rem}}.media-upload-form{margin-top:16px}.drop-zone{background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;margin-bottom:16px;padding:1rem;text-align:center;transition:background-color .2s}.drop-zone:hover{background-color:#f0f0f0}.selected-files-list-vertical{display:flex;flex-direction:column;gap:12px;margin-bottom:1rem}.selected-file-entry{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:1rem;overflow:visible;padding:1rem;position:relative}.remove-file-button{align-items:center;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;position:absolute;right:6px;top:6px;width:28px;z-index:10}.selected-file-preview img,.selected-file-preview video{border-radius:6px;display:block;margin-bottom:12px;max-height:200px;max-width:100%}.selected-file-preview audio{margin-bottom:12px;width:100%}.media-meta-inputs{gap:1rem}.form-group,.media-meta-inputs{display:flex;flex-direction:column}.form-label{color:#444;font-size:13px;font-weight:600;margin-bottom:4px}.form-input,.form-textarea{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;color:#333;font-size:14px;padding:8px;resize:vertical;width:100%}.form-textarea{min-height:80px}.form-input:focus,.form-textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d226;outline:none}.form-hint{color:#666;font-size:12px;margin-top:4px}.marker-editor-thumbnail-preview{border:1px solid #ccc;border-radius:4px;display:block;margin-left:auto;margin-right:auto;margin-top:8px;max-height:200px;object-fit:contain;width:100%}.thumbnail-preview-wrapper{align-items:center;background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;display:flex;justify-content:center;margin-bottom:.75rem;min-height:120px;padding:.5rem;position:relative}.thumbnail-remove-button{align-items:center;background-color:#ef4444;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.6875rem;font-weight:600;justify-content:center;line-height:1.2;min-height:1.5rem;min-width:2.5rem;padding:.125rem .375rem;position:absolute;right:.25rem;text-decoration:none;top:.25rem;transition:all .2s ease;z-index:10}.thumbnail-remove-button:hover{background-color:#dc2626;transform:translateY(-.0625rem)}@media (max-width:47.9375rem){.thumbnail-remove-button{font-size:.75rem;min-height:1.75rem;padding:.1875rem .5rem}.thumbnail-preview-wrapper{min-height:100px;padding:.375rem}}.thumbnail-viewer{border:2px solid #000!important;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.thumbnail-viewer:hover{border-color:#333!important;box-shadow:0 4px 16px #00000026;transform:translateY(-1px)}.thumbnail-image{image-orientation:initial;transition:transform .3s ease}.thumbnail-viewer:hover .thumbnail-image{transform:scale(1.02)}.thumbnail-loading{background-color:#ffffffe6;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#999;font-size:12px;left:50%;padding:6px 12px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}@media (max-width:768px){.thumbnail-viewer{height:4rem!important;width:4rem!important}.thumbnail-loading{font-size:11px;padding:4px 8px}}@media (max-width:480px){.thumbnail-viewer{height:3.5rem!important;width:3.5rem!important}.thumbnail-loading{font-size:10px;padding:3px 6px}}.marker-editor-container{background-color:#fff;border-radius:.5rem;box-shadow:0 .25rem .75rem #00000026;box-sizing:border-box;font-family:Noto Sans JP,Segoe UI,sans-serif;max-height:25rem;overflow-y:auto;padding:1rem;width:auto}.marker-editor-header{border-bottom:.125rem solid #e0e0e0;color:#1a1a1a;font-size:1.125rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem;text-align:center}.marker-editor-meta-section{background-color:#f8fafc;border:.0625rem solid #e2e8f0;border-radius:.375rem;font-size:.8125rem;margin-bottom:1.25rem;padding:.75rem}.marker-editor-meta-label{color:#475569;display:block;font-weight:600;margin-bottom:.25rem}.marker-editor-meta-value{color:#64748b;font-weight:500}.marker-editor-label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin:.75rem 0 .375rem}.marker-editor-input,.marker-editor-select,.marker-editor-textarea{background-color:#fff;border:.125rem solid #d1d5db;border-radius:.375rem;box-sizing:border-box;color:#1f2937;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.marker-editor-input:focus,.marker-editor-select:focus,.marker-editor-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 .1875rem #3b82f61a;outline:none}.marker-editor-textarea{line-height:1.5;min-height:4rem;resize:vertical}.marker-editor-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5rem;padding-right:2.5rem}.marker-editor-display-field{background-color:#f9fafb;border:.125rem solid #e5e7eb;border-radius:.375rem;color:#374151;font-size:.875rem;line-height:1.5;padding:.5rem .75rem}.marker-editor-error{color:#dc2626;font-size:.75rem;font-weight:500;margin-top:.375rem}.marker-editor-actions{border-top:.125rem solid #e5e7eb;display:flex;gap:.75rem;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.marker-editor-button-delete,.marker-editor-button-save{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;flex:1 1;font-size:.8125rem;font-weight:600;justify-content:center;line-height:1.2;min-height:2rem;min-width:4rem;padding:.375rem .75rem;text-decoration:none;transition:all .2s ease}.marker-editor-button-save{background-color:#3b82f6;color:#fff}.marker-editor-button-save:hover{background-color:#2563eb;transform:translateY(-.0625rem)}.marker-editor-button-delete{background-color:#ef4444;color:#fff}.marker-editor-button-delete:hover{background-color:#dc2626;transform:translateY(-.0625rem)}.marker-editor-meta{background-color:#f9fafb;border-radius:.25rem;color:#6b7280;font-size:.75rem;margin-top:.5rem;padding:.5rem}.marker-editor-media-section{border-top:.0625rem solid #e5e7eb;margin-top:1.25rem;padding-top:1rem}.marker-editor-media-section h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.media-list{list-style:none;margin-top:.75rem;padding:0}.media-list-item{align-items:center;background-color:#f9fafb;border:.0625rem solid #e5e7eb;border-radius:.375rem;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.75rem;transition:background-color .2s ease}.media-list-item:hover{background-color:#f3f4f6}.media-thumb{border-radius:.25rem;max-height:4rem;max-width:4rem;object-fit:cover}.media-audio-thumb{height:auto;width:100%}.media-list-item button{background-color:#ef4444;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.6875rem;margin-left:auto;min-width:3rem;padding:.25rem .5rem;transition:background-color .2s ease}.media-list-item button:hover{background-color:#dc2626}@media (max-width:47.9375rem){.marker-editor-container{margin:.5rem;max-height:22rem;min-width:18rem;padding:.75rem}.marker-editor-header{font-size:1rem;margin-bottom:1rem}.marker-editor-actions{flex-direction:column;gap:.5rem}.marker-editor-button-delete,.marker-editor-button-save{font-size:.875rem;min-height:2.25rem;padding:.5rem 1rem;width:100%}.marker-editor-input,.marker-editor-select,.marker-editor-textarea{font-size:1rem;padding:.625rem .875rem}}@media (min-width:48rem){.marker-editor-container{max-width:24rem;min-width:20rem}}@media (orientation:landscape) and (max-height:31.25rem){.marker-editor-container{max-height:18rem}}.notification{animation:slideInRight .3s ease-out;max-width:400px;min-width:300px;position:fixed;right:20px;top:20px;z-index:10000}.notification-content{align-items:center;background:var(--surface);border-left:4px solid;border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:var(--on-primary);display:flex;justify-content:space-between;padding:clamp(.75rem,2vw,1rem)}.notification-error{background-color:#f443361a;border-left-color:var(--error-color)}.notification-success{background-color:#4caf501a;border-left-color:var(--success-color)}.notification-warning{background-color:#ff98001a;border-left-color:var(--warning-color)}.notification-message{flex:1 1;font-size:clamp(.875rem,2.5vw,1rem);font-weight:500;line-height:1.4;margin-right:.75rem}.notification-close{align-items:center;background:none;border:none;border-radius:.25rem;color:var(--on-primary);cursor:pointer;display:flex;font-size:1.25rem;font-weight:700;height:1.5rem;justify-content:center;line-height:1;min-width:1.5rem;padding:.25rem;transition:background-color .2s ease}.notification-close:hover{background-color:#0000001a}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.notification{left:10px;max-width:none;min-width:auto;right:10px;top:10px}.notification-content{padding:clamp(.625rem,2vw,.875rem)}.notification-message{font-size:clamp(.8125rem,2.2vw,.875rem)}}.map-container-wrapper{background-color:#f8fafc;border-radius:.5rem;box-shadow:0 .125rem .5rem #0000001a;height:100vh;min-height:80vh;overflow:hidden;position:relative;width:100%}.map-toggle-button{background-color:#fff;border:.0625rem solid #e5e7eb;border-radius:.375rem;box-shadow:0 .125rem .25rem #0000001a;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;left:.75rem;padding:.5rem .75rem;position:absolute;top:.75rem;transition:all .2s ease;z-index:10}.map-toggle-button:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 .25rem .5rem #00000026;transform:translateY(-.0625rem)}.map-container{border-radius:.5rem;height:100%;width:100%}.map-body{height:100%}.map-main{height:100vh;min-height:80vh}@media (min-width:48rem){.map-body{flex-direction:row}.map-main{height:100vh;min-height:85vh}.map-toggle-button{font-size:.875rem;left:1rem;padding:.625rem 1rem;top:1rem}}@media (max-width:47.9375rem){.map-container-wrapper{border-radius:.375rem}.map-container-wrapper,.map-main{height:90vh;min-height:75vh}.map-toggle-button{font-size:.8125rem;left:.5rem;padding:.375rem .625rem;top:.5rem}}@media (orientation:landscape) and (max-height:31.25rem){.map-container-wrapper,.map-main{height:100vh;min-height:100vh}}@media (min-width:75rem){.map-container-wrapper{margin:0 auto;max-width:90vw}.map-container-wrapper,.map-main{height:95vh;min-height:90vh}}@media (prefers-color-scheme:dark){.map-container-wrapper{background-color:#1f2937}.map-toggle-button{background-color:#374151;border-color:#4b5563;color:#f9fafb}.map-toggle-button:hover{background-color:#4b5563;border-color:#6b7280}}.layer-toggle-control{align-items:center;background-color:#fff;border:2px solid #ddd;border-radius:.5rem;box-shadow:0 .125rem .375rem #00000026;color:#333;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;gap:.625rem;margin:.625rem;min-width:9rem;padding:.625rem 1rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.layer-toggle-control:hover{background-color:#f8f9fa;border-color:#adb5bd;box-shadow:0 .25rem .5rem #0003}.layer-toggle-control.active{background-color:#007bff;border-color:#007bff;color:#fff}.layer-toggle-control.active:hover{background-color:#0056b3;border-color:#0056b3}.toggle-switch{background-color:#ccc;border-radius:.25rem;flex-shrink:0;height:1.5rem;position:relative;transition:background-color .2s ease;width:3rem}.layer-toggle-control.active .toggle-switch,.toggle-switch:after{background-color:#fff}.toggle-switch:after{border-radius:.125rem;box-shadow:0 .0625rem .1875rem #0003;content:"";height:1.25rem;left:.125rem;position:absolute;top:.125rem;transition:transform .2s ease;width:1.25rem}.layer-toggle-control.active .toggle-switch:after{background-color:#007bff;transform:translateX(1.5rem)}.toggle-label{font-size:.8125rem;font-weight:600;letter-spacing:.025rem;text-transform:uppercase}@media (max-width:48rem){.layer-toggle-control{font-size:.75rem;gap:.5rem;min-width:7.5rem;padding:.5rem .875rem}.toggle-switch{height:1.25rem;width:2.5rem}.toggle-switch:after{height:1rem;width:1rem}.layer-toggle-control.active .toggle-switch:after{transform:translateX(1.25rem)}}.label-filter{background-color:var(--surface);border:clamp(.03125rem,.1vw,.0625rem) solid var(--border);border-radius:clamp(.375rem,1vw,.5rem);box-shadow:0 clamp(.0625rem,.2vw,.125rem) clamp(.25rem,1vw,.5rem) #0000001a;display:flex;flex-wrap:wrap;gap:clamp(.375rem,1vw,.75rem);margin-bottom:clamp(.875rem,2vw,1.25rem);padding:clamp(.625rem,2vw,1rem);transition:all .3s ease}.label-filter--error{background-color:#f443360d;border-color:var(--error-color)}.label-filter--error p{color:var(--error-color);font-weight:500}.label-filter--loading{opacity:.7}.label-filter--loading p{color:var(--gray-500);font-style:italic}.label-filter__item{align-items:center;background-color:var(--bg-primary);border:clamp(.03125rem,.1vw,.0625rem) solid var(--border);border-radius:clamp(.25rem,.8vw,.375rem);color:var(--on-primary);cursor:pointer;display:flex;font-size:clamp(.8125rem,2.2vw,.875rem);font-weight:500;min-height:clamp(2rem,5vw,2.5rem);padding:clamp(.25rem,1vw,.5rem) clamp(.5rem,1.5vw,.875rem);transition:all .2s ease;-webkit-user-select:none;user-select:none}.label-filter__item:hover{background-color:var(--gray-800);border-color:var(--accent);box-shadow:0 clamp(.125rem,.3vw,.25rem) clamp(.25rem,.6vw,.5rem) #61dafb1a;transform:translateY(-.0625rem)}.label-filter__item:focus-within{outline:clamp(.125rem,.3vw,.25rem) solid var(--accent);outline-offset:clamp(.125rem,.3vw,.25rem)}.label-filter__item input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:clamp(.875rem,2.5vw,1rem);margin-right:clamp(.25rem,.8vw,.375rem);width:clamp(.875rem,2.5vw,1rem)}.label-filter__item input[type=checkbox]:checked+.label-filter__color+span{color:var(--accent);font-weight:600}.label-filter__color{border:clamp(.03125rem,.1vw,.0625rem) solid #0000001a;border-radius:clamp(.1875rem,.5vw,.25rem);box-shadow:0 clamp(.03125rem,.1vw,.0625rem) clamp(.0625rem,.2vw,.125rem) #0000001a;display:inline-block;flex-shrink:0;height:clamp(.75rem,2.2vw,.875rem);margin:0 clamp(.1875rem,.5vw,.25rem) 0 0;width:clamp(.75rem,2.2vw,.875rem)}.label-filter__color--all{background:linear-gradient(45deg,var(--gray-600),var(--gray-500));border:clamp(.03125rem,.1vw,.0625rem) solid var(--gray-700)}.label-filter__empty-message{background-color:var(--bg-primary);border:clamp(.03125rem,.1vw,.0625rem) dashed var(--border);border-radius:clamp(.25rem,.8vw,.375rem);color:var(--gray-500);font-style:italic;margin:0;padding:clamp(.5rem,1.5vw,.75rem);text-align:center;width:100%}@media screen and (max-width:47.9375rem){.label-filter{gap:clamp(.25rem,1vw,.375rem);margin-bottom:clamp(.75rem,2vw,.875rem);padding:clamp(.5rem,1.5vw,.625rem)}.label-filter__item{flex-basis:calc(50% - clamp(0.125rem, 0.5vw, 0.1875rem));flex-grow:1;flex-shrink:1;font-size:clamp(.75rem,2vw,.8125rem);min-height:clamp(1.75rem,4.5vw,2rem);min-width:0;padding:clamp(.1875rem,1vw,.25rem) clamp(.375rem,1.2vw,.5rem)}.label-filter__color{height:clamp(.625rem,2vw,.75rem);margin-right:clamp(.125rem,.4vw,.1875rem);width:clamp(.625rem,2vw,.75rem)}.label-filter__item input[type=checkbox]{height:clamp(.75rem,2.2vw,.875rem);margin-right:clamp(.1875rem,.6vw,.25rem);width:clamp(.75rem,2.2vw,.875rem)}}@media screen and (min-width:48rem) and (max-width:74.9375rem){.label-filter{gap:clamp(.5rem,1.2vw,.75rem);margin-bottom:clamp(1rem,2.5vw,1.25rem);padding:clamp(.75rem,2vw,1rem)}.label-filter__item{font-size:clamp(.8125rem,2.2vw,.875rem);min-height:clamp(2rem,4.5vw,2.25rem);padding:clamp(.375rem,1.2vw,.5rem) clamp(.625rem,1.8vw,.875rem)}}@media screen and (min-width:75rem){.label-filter{gap:clamp(.625rem,1vw,.75rem);margin-bottom:clamp(1.125rem,2vw,1.25rem);margin-left:auto;margin-right:auto;max-width:80rem;padding:clamp(.875rem,1.5vw,1rem)}.label-filter__item{font-size:clamp(.875rem,1.2vw,.875rem);min-height:clamp(2.25rem,3vw,2.5rem);padding:clamp(.5rem,1vw,.5rem) clamp(.75rem,1.5vw,.875rem)}}@media screen and (min-width:120rem){.label-filter{max-width:90rem}}@media (prefers-color-scheme:dark){.label-filter{background-color:var(--surface);border-color:var(--border);box-shadow:0 clamp(.0625rem,.2vw,.125rem) clamp(.25rem,1vw,.5rem) #0000004d}.label-filter__item{background-color:var(--bg-primary);border-color:var(--border);color:var(--on-primary)}.label-filter__item:hover{background-color:var(--gray-800);border-color:var(--accent)}.label-filter__item input[type=checkbox]:checked+.label-filter__color+span{color:var(--accent)}.label-filter__empty-message{background-color:var(--bg-primary);border-color:var(--border);color:var(--gray-500)}.label-filter--error{background-color:#f443361a}.label-filter--loading{opacity:.8}}@media (prefers-reduced-motion:reduce){.label-filter,.label-filter__item{transition:none}.label-filter__item:hover{transform:none}}@media (prefers-contrast:high){.label-filter__color,.label-filter__item{border-width:clamp(.0625rem,.2vw,.125rem)}}.uploading-overlay{background:#ffffffd9;height:100vh;left:0;pointer-events:all;position:fixed!important;top:0;width:100vw;z-index:9999}.uploading-box{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0003;left:50%;padding:24px 32px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.spinner{animation:spin 1s linear infinite;border:5px solid #ccc;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 16px;width:40px}.uploading-box p{color:#333;font-size:16px;font-weight:700;margin:0}.map-body{background-color:var(--bg-primary);box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.map-main{flex:1 1;min-width:0;position:relative}@media (min-width:768px){.map-body{padding:16px}}@media (min-width:1024px){.map-body{padding:32px}}.media-thumbnail-item{align-items:center;cursor:pointer;display:flex;flex-direction:column;height:256px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:128px}.media-thumbnail-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.media-thumbnail-box{align-items:center;background-color:#f0f0f0;border-radius:8px;display:flex;height:128px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:128px}.media-thumbnail-box:hover{background-color:#e8e8e8}.media-thumbnail-image{height:100%;image-orientation:initial;object-fit:cover;transition:transform .3s ease;width:100%}.media-thumbnail-image:hover{transform:scale(1.05)}.media-thumbnail-loading{background-color:#fffc;border-radius:4px;color:#999;font-size:12px;left:50%;padding:4px 8px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.media-thumbnail-icon-box{color:#555;font-size:48px;transition:color .2s ease}.media-thumbnail-icon-box:hover{color:#333}.media-thumbnail-caption{color:#555;font-size:12px;line-height:1.3;margin-top:4px;max-width:100%;transition:color .2s ease;word-break:break-word}.media-thumbnail-item:hover .media-thumbnail-caption{color:#333}@media (max-width:768px){.media-thumbnail-item{height:200px;width:100px}.media-thumbnail-box{height:100px;width:100px}.media-thumbnail-icon-box{font-size:36px}.media-thumbnail-caption{font-size:11px}}@media (max-width:480px){.media-thumbnail-item{height:160px;width:80px}.media-thumbnail-box{height:80px;width:80px}.media-thumbnail-icon-box{font-size:28px}.media-thumbnail-caption{font-size:10px}.media-thumbnail-loading{font-size:10px;padding:2px 6px}}.gallery-grid{grid-gap:clamp(1rem,3vw,1.5rem);background-color:var(--surface);border-radius:.5rem;display:grid;gap:clamp(1rem,3vw,1.5rem);grid-template-columns:repeat(auto-fill,minmax(clamp(12rem,25vw,18rem),1fr));min-height:20rem;padding:clamp(1rem,3vw,1.5rem)}.gallery-grid .mediaThumbnailItem{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.gallery-grid .mediaThumbnailItem:hover{box-shadow:0 clamp(.25rem,1vw,.5rem) clamp(.5rem,2vw,1rem) var(--shadow-light);transform:translateY(-.25rem)}.gallery-grid-empty{align-items:center;color:var(--gray-500);display:flex;font-size:clamp(.875rem,2.5vw,1rem);justify-content:center;min-height:20rem;padding:clamp(2rem,5vw,4rem);text-align:center}@media screen and (max-width:480px){.gallery-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));padding:.75rem}}@media screen and (min-width:768px){.gallery-grid{gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));padding:1.25rem}}@media screen and (min-width:1024px){.gallery-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));padding:1.5rem}}@media screen and (min-width:1200px){.gallery-grid{gap:2rem;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));padding:2rem}}.media-item{align-items:center;display:flex;flex-direction:column;width:100%}.media-image,.media-video{border-radius:4px;height:auto;max-width:100%;object-fit:contain;width:100%}.media-audio{width:100%}.media-caption{color:#666;color:#333;font-size:.8rem;font-size:.85rem;font-weight:600;margin-top:4px;margin-top:6px}.media-caption,.media-description{text-align:center;word-break:break-word}.media-description{color:#555;font-size:.75rem;margin-top:4px;padding:0 4px;white-space:pre-wrap}.media-description-section{margin-top:6px;text-align:left;width:100%}.media-description-label{color:#555;display:block;font-size:.75rem;font-weight:600;margin-bottom:2px}.gallery-media-item{align-items:center;display:flex;flex-direction:column;padding:clamp(.5rem,2vw,1rem);width:100%}.gallery-media-content{position:relative;width:100%}.gallery-media-content,.gallery-media-delete-button{align-items:center;display:flex;justify-content:center}.gallery-media-delete-button{background-color:var(--button-danger);border:2px solid var(--on-primary);border-radius:50%;box-shadow:0 2px 8px #0000004d;color:var(--on-primary);height:clamp(2rem,5vw,2.5rem);opacity:.8;position:absolute;right:clamp(.5rem,1.5vw,.75rem);top:clamp(.5rem,1.5vw,.75rem);transition:all .3s ease;width:clamp(2rem,5vw,2.5rem);z-index:10}.gallery-media-delete-button:hover{background-color:var(--button-danger-hover);opacity:1;transform:scale(1.1)}.gallery-media-delete-button:active{transform:scale(.95)}.gallery-media-image,.gallery-media-video{background:var(--surface);border-radius:.375rem;height:auto;max-width:100%;object-fit:contain;width:100%}.gallery-media-audio{border-radius:.375rem;width:100%}.gallery-media-caption{color:var(--on-primary);font-size:clamp(.75rem,2vw,.875rem);font-weight:600;line-height:1.4;margin-top:clamp(.25rem,1vw,.5rem);text-align:center;word-break:break-word}.gallery-media-description-section{margin-top:clamp(.375rem,1.5vw,.75rem);text-align:left;width:100%}.gallery-media-description-label{color:var(--gray-400);display:block;font-size:clamp(.75rem,2vw,.875rem);font-weight:600;margin-bottom:clamp(.125rem,.5vw,.25rem)}.gallery-media-description{border-radius:.25rem;color:var(--gray-300);line-height:1.5;padding:clamp(.25rem,1vw,.5rem);white-space:pre-wrap;word-break:break-word}.gallery-media-description,.gallery-media-item-error,.gallery-media-unsupported{background:var(--surface);border:1px solid var(--border);font-size:clamp(.75rem,2vw,.875rem);text-align:center}.gallery-media-item-error,.gallery-media-unsupported{align-items:center;border-radius:.375rem;color:var(--error-color);display:flex;justify-content:center;min-height:clamp(8rem,20vw,12rem);padding:clamp(1rem,3vw,1.5rem)}@media screen and (max-width:480px){.gallery-media-item{padding:.5rem}.gallery-media-delete-button{height:1.75rem;right:.25rem;top:.25rem;width:1.75rem}.gallery-media-caption,.gallery-media-description,.gallery-media-description-label{font-size:.75rem}}@media screen and (min-width:768px){.gallery-media-item{padding:.75rem}.gallery-media-delete-button{height:2.25rem;width:2.25rem}.gallery-media-caption,.gallery-media-description,.gallery-media-description-label{font-size:.875rem}}@media screen and (min-width:1024px){.gallery-media-item{padding:1rem}.gallery-media-delete-button{height:2.5rem;width:2.5rem}}.gallery-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;padding:clamp(1rem,3vw,2rem);position:fixed;top:0;width:100%;z-index:1000}.gallery-modal-overlay{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background-color:#000000b3;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.gallery-modal-content{animation:galleryFadeIn .3s ease-in-out;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 clamp(.25rem,1vw,.5rem) clamp(1rem,3vw,2rem) #0000004d;max-height:90vh;max-width:clamp(20rem,90vw,40rem);overflow-y:auto;padding:clamp(1rem,3vw,2rem);position:relative;width:100%;z-index:2}.gallery-close-button{align-items:center;border-radius:50%;display:flex;height:clamp(2rem,5vw,2.5rem);justify-content:center;position:absolute;right:clamp(.5rem,2vw,1rem);top:clamp(.5rem,2vw,1rem);transition:background-color .3s ease;width:clamp(2rem,5vw,2.5rem);z-index:3}.gallery-close-button:hover{background-color:var(--button-secondary-hover)}.gallery-modal-header{border-bottom:1px solid var(--border);margin-bottom:clamp(1rem,3vw,1.5rem);padding:clamp(.5rem,2vw,1rem);text-align:center}.gallery-modal-header h2{color:var(--on-primary);font-size:clamp(1.125rem,3vw,1.5rem);line-height:1.3;margin-bottom:clamp(.5rem,1.5vw,.75rem)}.gallery-location-details{display:flex;flex-wrap:wrap;gap:clamp(1rem,3vw,2rem);justify-content:center}.gallery-location-details p{color:var(--gray-400);font-size:clamp(.75rem,2vw,.875rem);margin:0}.gallery-modal-body{padding:clamp(.5rem,2vw,1rem)}@keyframes galleryFadeIn{0%{opacity:0;transform:scale(.95) translateY(-1rem)}to{opacity:1;transform:scale(1) translateY(0)}}@media screen and (max-width:480px){.gallery-modal{padding:.5rem}.gallery-modal-content{max-height:95vh;padding:1rem}.gallery-modal-header h2{font-size:1.125rem}.gallery-location-details{flex-direction:column;gap:.5rem}}@media screen and (min-width:768px){.gallery-modal-content{max-width:35rem;padding:1.5rem}.gallery-modal-header h2{font-size:1.375rem}}@media screen and (min-width:1024px){.gallery-modal-content{max-width:40rem;padding:2rem}.gallery-modal-header h2{font-size:1.5rem}}.gallery-controls{display:flex;flex-direction:column;gap:clamp(1rem,3vw,1.5rem);margin-bottom:clamp(1rem,3vw,1.25rem);padding:clamp(.5rem,2vw,1rem)}.gallery-search-section{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,1rem)}.gallery-search-input{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;color:var(--on-primary);flex:1 1;font-size:clamp(.875rem,2.5vw,1rem);min-width:clamp(12rem,30vw,20rem);padding:clamp(.5rem,2vw,.75rem);transition:border-color .3s ease,box-shadow .3s ease}.gallery-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.gallery-search-field-select{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem);min-width:clamp(8rem,15vw,12rem);padding:clamp(.5rem,2vw,.75rem);transition:border-color .3s ease,box-shadow .3s ease}.gallery-search-field-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.gallery-sort-section{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,1rem)}.gallery-sort-field-select,.gallery-sort-mode-select{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem);min-width:clamp(8rem,15vw,12rem);padding:clamp(.5rem,2vw,.75rem);transition:border-color .3s ease,box-shadow .3s ease}.gallery-sort-field-select:focus,.gallery-sort-mode-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.gallery-search-stats{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;margin-bottom:clamp(.5rem,2vw,1rem);padding:clamp(.5rem,2vw,1rem);text-align:center}.gallery-search-stats p{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem);margin:0}.gallery-no-results{color:var(--warning-color);font-weight:500}.gallery-scrollable{flex:1 1;height:100%;overflow-y:auto;padding-right:clamp(.25rem,1vw,.5rem);scrollbar-color:var(--border) #0000;scrollbar-width:thin}.gallery-scrollable::-webkit-scrollbar{width:clamp(.25rem,1vw,.5rem)}.gallery-scrollable::-webkit-scrollbar-track{background:#0000}.gallery-scrollable::-webkit-scrollbar-thumb{background:var(--border);border-radius:.25rem}.gallery-scrollable::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.gallery-status{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem);padding:clamp(1rem,3vw,1.25rem);text-align:center}.gallery-status.error{color:var(--error-color)}@media screen and (max-width:480px){.gallery-controls{gap:1rem}.gallery-search-section,.gallery-sort-section{flex-direction:column;gap:.75rem}.gallery-search-field-select,.gallery-search-input,.gallery-sort-field-select,.gallery-sort-mode-select{min-width:0;min-width:auto;width:100%}}@media screen and (min-width:768px){.gallery-controls{align-items:flex-start;flex-direction:row;gap:2rem;justify-content:space-between}.gallery-search-section,.gallery-sort-section{flex:1 1;max-width:50%}}@media screen and (min-width:1024px){.gallery-controls{gap:3rem}}.galleryGrid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding-bottom:20px}.imageCard{background-color:var(--surface);border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.imageCard:hover{box-shadow:0 6px 18px var(--shadow-light);transform:translateY(-5px)}.imageCard img{display:block;height:200px;object-fit:cover;width:100%}@media (max-width:768px){.galleryGrid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.galleryPage{background-color:var(--bg-primary);box-sizing:border-box;color:var(--on-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:20px;width:100%}.page-title{font-size:2rem;margin-bottom:20px;text-align:center}.project-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));margin:0 auto;max-width:90rem;padding:0 1rem;width:100%}.project-card{align-items:center;background:var(--surface);border:.0625rem solid #0000;border-radius:.625rem;box-shadow:0 .125rem .375rem #ffffff0d;color:var(--on-primary);cursor:pointer;display:flex;justify-content:center;min-height:8rem;overflow:hidden;padding:1.8rem 1.4rem;position:relative;text-align:center;transition:all .3s ease}.project-card:focus,.project-card:hover{border-color:var(--accent);box-shadow:0 .5rem 1.5rem var(--accent);outline:none;transform:translateY(-.25rem)}.project-card:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.project-name{font-size:1.125rem;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin:0;word-break:break-word}@media (max-width:48rem){.project-list{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));padding:0 .75rem}.project-card{min-height:6rem;padding:1.5rem 1rem}.project-name{font-size:1rem}}@media (max-width:36rem){.project-list{grid-template-columns:1fr;max-width:100%;padding:0 .5rem}.project-card{min-height:5rem;padding:1.25rem .75rem}}@media (min-width:48rem) and (max-width:64rem){.project-list{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.project-card{box-shadow:0 .0625rem .1875rem #ffffff0d}.project-card:focus,.project-card:hover{box-shadow:0 .25rem .75rem var(--accent)}}.select-container{align-items:center;background-color:var(--bg-primary);box-sizing:border-box;color:var(--on-primary);display:flex;flex-direction:column;font-family:var(--font-family);max-width:100%;min-height:100vh;padding:4rem 1rem 3rem}.select-title{color:var(--on-primary);font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.3;margin-bottom:3rem;max-width:90%;text-align:center}.title-accent{font-size:90%;font-weight:700}.loader-wrapper{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.loader{animation:spin 1s linear infinite;border-top:.3125rem solid var(--on-primary);border:.3125rem solid var(--on-primary);border-radius:50%;border-top-color:var(--accent);height:2.5rem;width:2.5rem}.loading{font-size:1rem;margin:0}.error-wrapper{align-items:center;display:flex;flex-direction:column;margin-top:2rem;max-width:90%;text-align:center}.error{color:var(--on-primary);font-size:1.2rem;line-height:1.5;margin:0}.error-details{display:block;font-size:.875rem;margin-top:.5rem;opacity:.8;word-break:break-word}.empty-wrapper{align-items:center;display:flex;flex-direction:column;margin-top:2rem;max-width:90%;text-align:center}.no-projects{color:var(--on-primary);font-size:1.2rem;line-height:1.5;margin:0}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:48rem){.select-container{padding:3rem .75rem 2rem}.select-title{font-size:1.8rem;margin-bottom:2rem}.empty-wrapper,.error-wrapper,.loader-wrapper{margin-top:1.5rem}.title-accent{font-size:80%}}@media (max-width:36rem){.select-container{padding:2rem .5rem 1.5rem}.select-title{font-size:1.5rem;margin-bottom:1.5rem}.loader{border-width:.25rem;height:2rem;width:2rem}.error,.loading,.no-projects{font-size:1rem}}@media (min-width:48rem) and (max-width:64rem){.select-container{padding:3.5rem 1.5rem 2.5rem}.select-title{font-size:2.2rem}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.loader{border-width:.1875rem}}@media (prefers-color-scheme:dark){.select-container{background-color:var(--bg-primary)}}@media (prefers-reduced-motion:reduce){.loader{animation:none}.project-card{transition:none}}.project-item:hover{background-color:var(--surface-hover);cursor:pointer;transition:background-color .2s ease-in-out}.label-manager-container{justify-content:center;min-height:100%}.label-form,.label-manager-container{display:flex;flex-direction:column;width:100%}.label-form{gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1.5rem,4vw,2rem)}.label-form>div{display:flex;flex-direction:column;gap:.5rem}.label-form label{font-weight:500}.label-form label,.label-input{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem)}.label-input{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;padding:clamp(.625rem,2vw,.75rem);transition:border-color .3s ease}.label-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.label-input:invalid{border-color:var(--error-color)}.label-color{background:none;border:1px solid var(--border);border-radius:.375rem;cursor:pointer;height:clamp(2.5rem,6vw,3rem);transition:border-color .3s ease;width:clamp(3rem,8vw,4rem)}.label-color:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.action-buttons{display:flex;gap:1rem;margin-top:.5rem}.label-list{display:flex;flex-direction:column;gap:clamp(.5rem,1.5vw,.75rem);list-style:none;margin:0;padding:0}.label-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:.5rem;display:flex;justify-content:space-between;padding:clamp(.75rem,2vw,1rem);transition:all .3s ease}.label-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #61dafb1a}.label-info{align-items:center;display:flex;flex:1 1;gap:.75rem;margin-right:2rem}.label-color-circle{border:2px solid var(--border);border-radius:50%;display:inline-block;height:clamp(1rem,3vw,1.25rem);width:clamp(1rem,3vw,1.25rem)}.label-name{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem);font-weight:500}.label-actions{display:flex;gap:.5rem}.status-message{border-radius:.25rem;font-size:clamp(.75rem,2vw,.875rem);margin-top:.5rem;padding:clamp(.5rem,1.5vw,.75rem);text-align:center}.status-message.error{background-color:#f443361a;color:var(--error-color)}.status-message.success{background-color:#4caf501a;color:var(--success-color)}.status-message.warning{background-color:#ff98001a;color:var(--warning-color)}@media screen and (min-width:768px){.label-form{gap:clamp(1rem,2.5vw,1.25rem);margin-bottom:clamp(2rem,5vw,2.5rem)}.label-form>div{gap:.75rem}.label-list{gap:clamp(.75rem,2vw,1rem)}.label-info{margin-right:3rem}}@media screen and (min-width:1024px){.label-form{gap:clamp(1.25rem,3vw,1.5rem);margin-bottom:clamp(2.5rem,6vw,3rem)}.label-form>div{gap:1rem}.label-list{gap:clamp(1rem,2.5vw,1.25rem)}.label-info{margin-right:4rem}}.card{background-color:var(--surface);border-radius:10px;box-shadow:0 2px 6px #0000001a;box-sizing:border-box;margin-bottom:30px;padding:20px;width:100%}.input{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--on-primary);font-size:1rem;padding:10px}.section-title{font-size:1.25rem;margin-bottom:1rem}.page-title,.section-title{color:var(--on-primary);font-weight:700}.page-title{font-size:1.5rem;margin-bottom:2rem}.status-message{color:var(--on-primary);font-size:.9rem}.status-message.error{color:red}.project-form{gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1.5rem,4vw,2rem);width:100%}.project-form,.project-form>div{display:flex;flex-direction:column}.project-form>div{gap:.5rem}.project-form label{font-weight:500}.project-form input,.project-form label{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem)}.project-form input{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;padding:clamp(.625rem,2vw,.75rem);transition:border-color .3s ease}.project-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.project-form input:invalid{border-color:var(--error-color)}.project-form .status-message{border-radius:.25rem;color:var(--on-primary);font-size:clamp(.75rem,2vw,.875rem);margin-top:.5rem;padding:clamp(.5rem,1.5vw,.75rem);text-align:center}.project-form .status-message.error{background-color:#f443361a;color:var(--error-color)}.project-form .status-message.success{background-color:#4caf501a;color:var(--success-color)}@media screen and (min-width:768px){.project-form{gap:clamp(1rem,2.5vw,1.25rem);margin-bottom:clamp(2rem,5vw,2.5rem)}.project-form>div{gap:.75rem}}@media screen and (min-width:1024px){.project-form{gap:clamp(1.25rem,3vw,1.5rem);margin-bottom:clamp(2.5rem,6vw,3rem)}.project-form>div{gap:1rem}}.project-location-container{display:flex;flex-direction:column;justify-content:center;min-height:100%;width:100%}.project-location-form{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1.5rem,4vw,2rem);width:100%}.project-location-form>div{display:flex;flex-direction:column;gap:.5rem}.project-location-form label{font-weight:500}.project-location-form input,.project-location-form label{color:var(--on-primary);font-size:clamp(.875rem,2.5vw,1rem)}.project-location-form input{background:var(--surface);border:1px solid var(--border);border-radius:.375rem;padding:clamp(.625rem,2vw,.75rem);transition:border-color .3s ease}.project-location-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61dafb33;outline:none}.project-location-form input:invalid{border-color:var(--error-color)}.project-location-form button{margin-top:.5rem}.project-location-form .status-message{border-radius:.25rem;color:var(--on-primary);font-size:clamp(.75rem,2vw,.875rem);margin-top:.5rem;padding:clamp(.5rem,1.5vw,.75rem);text-align:center}.project-location-form .status-message.error{background-color:#f443361a;color:var(--error-color)}.project-location-form .status-message.success{background-color:#4caf501a;color:var(--success-color)}@media screen and (min-width:768px){.project-location-form{gap:clamp(1rem,2.5vw,1.25rem);margin-bottom:clamp(2rem,5vw,2.5rem)}.project-location-form>div{gap:.75rem}}@media screen and (min-width:1024px){.project-location-form{gap:clamp(1.25rem,3vw,1.5rem);margin-bottom:clamp(2.5rem,6vw,3rem)}.project-location-form>div{gap:1rem}}.scrollable-center-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:100vh;overflow-y:auto;padding:clamp(1rem,3vw,2rem);width:100%}.scrollable-center-container>*{margin:0 auto;max-width:60rem;width:100%}.scrollable-center-container .card{margin-left:auto;margin-right:auto;width:100%}.error-message{color:var(--error-color);padding:clamp(2rem,5vw,4rem);text-align:center}.error-message p{margin-top:1rem}.error-message p,.loading{color:var(--on-primary);font-size:clamp(1rem,2.5vw,1.25rem)}.loading{align-items:center;display:flex;justify-content:center;padding:clamp(2rem,5vw,4rem)}@media screen and (min-width:768px){.scrollable-center-container{padding:clamp(1.5rem,4vw,2.5rem)}.scrollable-center-container>*{max-width:55rem}}@media screen and (min-width:1024px){.scrollable-center-container{max-width:80rem;padding:clamp(2rem,5vw,3rem)}.scrollable-center-container>*{max-width:60rem}}@media screen and (min-width:1200px){.scrollable-center-container{padding:clamp(2.5rem,6vw,4rem)}.scrollable-center-container>*{max-width:65rem}}.app-header{background-color:var(--bg-primary);box-shadow:0 .125rem .25rem var(--shadow-light);box-sizing:border-box;color:var(--on-primary);flex-shrink:0;font-family:var(--font-family);justify-content:space-between;padding:clamp(.75rem,2vw,1.25rem);width:100%;z-index:10}.app-header,.header-logo-container,.header-nav-container{align-items:center;display:flex}.header-logo{font-size:clamp(.875rem,2.5vw,1.25rem);font-weight:600;white-space:nowrap}.header-nav{display:flex;flex-wrap:wrap;gap:clamp(.5rem,1.5vw,1rem)}.nav-link{border-radius:.25rem;color:var(--gray-400);font-size:clamp(.75rem,2vw,1rem);padding:clamp(.25rem,1vw,.5rem);text-decoration:none;transition:color .3s ease,-webkit-text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease,-webkit-text-decoration .3s ease}.nav-link:focus,.nav-link:hover{background-color:var(--gray-800);color:var(--on-primary);text-decoration:underline}.logout-btn{background:#0000;border:1px solid var(--border);border-radius:.375rem;color:var(--gray-500);cursor:pointer;font-size:clamp(.75rem,2vw,1rem);padding:clamp(.375rem,1.5vw,.75rem) clamp(.75rem,2vw,1.25rem);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.logout-btn:hover{background-color:var(--gray-800);border-color:var(--on-primary);color:var(--on-primary)}@media screen and (max-width:767px){.app-header{align-items:stretch;flex-direction:column;gap:clamp(.25rem,1vw,.5rem);padding:clamp(.75rem,2vw,1rem)}.header-logo-container{justify-content:center;text-align:center}.header-nav,.header-nav-container{justify-content:center}.header-nav{gap:clamp(.5rem,2vw,.75rem)}.nav-link{font-size:clamp(.8rem,2.2vw,.9rem);padding:clamp(.375rem,1.5vw,.5rem)}}@media screen and (min-width:768px) and (max-width:1023px){.app-header{padding:clamp(.75rem,2.5vw,1rem)}}@media screen and (min-width:1024px){.app-header{padding:clamp(1rem,3vw,1.5rem)}}@media screen and (min-width:1200px){.app-header{padding:clamp(1.25rem,4vw,2rem)}}:root{--bg-primary:#121212;--surface:#1e1e1e;--on-primary:#fff;--font-color:#000;--accent:#61dafb;--accent-hover:#21a1f1;--border:#333;--shadow-light:#ffffff1a;--error-color:#f44336;--success-color:#4caf50;--warning-color:#ff9800;--info-color:#2196f3;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-400:#bdbdbd;--gray-500:#9e9e9e;--gray-600:#757575;--gray-700:#616161;--gray-800:#424242;--gray-900:#212121;--button-primary:#1976d2;--button-primary-hover:#1565c0;--button-secondary:#424242;--button-secondary-hover:#616161;--button-danger:#d32f2f;--button-danger-hover:#c62828;--button-success:#2e7d32;--button-success-hover:#1b5e20;--button-warning:#ed6c02;--button-warning-hover:#e65100;--font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--mobile:480px;--tablet:768px;--desktop:1024px;--large-desktop:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{background-color:#121212;background-color:var(--bg-primary);color:#fff;color:var(--on-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-family:var(--font-family)}#root,.App,body,html{min-height:100vh;overflow-x:hidden;overflow-y:auto;width:100%}.App{display:flex;flex-direction:column}h1{font-size:clamp(1.25rem,4vw,2.5rem);line-height:1.2}.title,h1{text-align:center}.title{font-size:clamp(1rem,6vw,3.5rem);line-height:1.1}.login-container,.select-container{padding:clamp(1.25rem,4vw,5rem) clamp(1rem,3vw,3.75rem)}.status-message{font-size:clamp(.875rem,2.5vw,1.6rem);line-height:1.4;padding:clamp(.9375rem,2vw,1.875rem)}.detail-section{margin-bottom:clamp(1.25rem,3vw,2.5rem);padding:clamp(1rem,3vw,2.5rem)}.loader{border-width:clamp(.3125rem,1vw,.4375rem);height:clamp(2.5rem,8vw,3.75rem);width:clamp(2.5rem,8vw,3.75rem)}.error,.no-projects{font-size:clamp(.875rem,2.5vw,1.6rem);line-height:1.4;padding:clamp(.625rem,2vw,1rem);text-align:center}@media screen and (min-width:768px){.login-container,.select-container{padding:clamp(3.75rem,6vw,5rem) clamp(2.5rem,4vw,3.75rem)}.detail-section{margin-bottom:clamp(1.875rem,4vw,2.5rem);padding:clamp(1.875rem,4vw,2.5rem)}}@media screen and (min-width:1024px){.login-container,.select-container{padding:clamp(5rem,8vw,6.25rem) clamp(3.75rem,6vw,5rem)}.detail-section{margin-bottom:clamp(2.5rem,5vw,3.75rem);padding:clamp(2.5rem,5vw,3.75rem)}}@media screen and (min-width:1200px){.login-container,.select-container{padding:clamp(6.25rem,10vw,8.75rem) clamp(5rem,8vw,7.5rem)}}.btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-family:var(--font-family);font-size:clamp(.875rem,2.5vw,1rem);font-weight:500;justify-content:center;line-height:1.2;min-width:6rem;padding:clamp(.625rem,2vw,.75rem) clamp(1rem,3vw,1.25rem);text-decoration:none;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0)}.btn-primary{background-color:#1976d2;background-color:var(--button-primary);color:#fff;color:var(--on-primary)}.btn-primary:hover:not(:disabled){background-color:#1565c0;background-color:var(--button-primary-hover)}.btn-secondary{background-color:#424242;background-color:var(--button-secondary);color:#fff;color:var(--on-primary)}.btn-secondary:hover:not(:disabled){background-color:#616161;background-color:var(--button-secondary-hover)}.btn-danger{background-color:#d32f2f;background-color:var(--button-danger);color:#fff;color:var(--on-primary)}.btn-danger:hover:not(:disabled){background-color:#c62828;background-color:var(--button-danger-hover)}.btn-success{background-color:#2e7d32;background-color:var(--button-success);color:#fff;color:var(--on-primary)}.btn-success:hover:not(:disabled){background-color:#1b5e20;background-color:var(--button-success-hover)}.btn-warning{background-color:#ed6c02;background-color:var(--button-warning);color:#fff;color:var(--on-primary)}.btn-warning:hover:not(:disabled){background-color:#e65100;background-color:var(--button-warning-hover)}.btn-sm{font-size:clamp(.75rem,2vw,.875rem);min-width:4rem;padding:clamp(.5rem,1.5vw,.625rem) clamp(.75rem,2vw,1rem)}.btn-lg{font-size:clamp(1rem,3vw,1.125rem);min-width:8rem;padding:clamp(.75rem,2.5vw,1rem) clamp(1.25rem,4vw,1.5rem)}@media screen and (max-width:480px){.btn{font-size:.875rem;min-width:5rem;padding:.5rem .75rem}.btn-sm{font-size:.75rem;min-width:3.5rem;padding:.375rem .625rem}.btn-lg{font-size:1rem;min-width:7rem;padding:.625rem 1rem}}@media screen and (min-width:768px){.btn{min-width:6.5rem}.btn-sm{min-width:4.5rem}.btn-lg{min-width:8.5rem}}
/*# sourceMappingURL=main.f92c87bf.css.map*/