.btn-main{width:100%;background:var(--color-primary);color:#fff;border:none;padding:18px;border-radius:var(--radius-xl);font-weight:600;font-size:1rem;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:transform .2s;box-shadow:var(--shadow-btn-primary)}.btn-main:hover:not(:disabled){transform:translateY(-2px)}.btn-main:active:not(:disabled){transform:translateY(0)}.btn-main:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-main i{font-size:1.2rem}.btn-main--danger{background:var(--color-error);box-shadow:0 4px 12px #dc26264d}.btn-main--danger:hover:not(:disabled){box-shadow:0 6px 16px #dc262666}.btn-main--small{padding:12px 20px;font-size:.9rem;width:auto}.btn-text{padding:8px 16px;font-size:.9rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.btn-text:hover{color:var(--color-primary)}.btn-text-small{padding:6px 12px;font-size:.85rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.btn-text-small:hover{color:var(--color-primary)}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-muted);background:var(--color-neutral-100);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.btn-icon:hover{color:var(--text-main);background:var(--color-neutral-200)}.btn-icon i{font-size:1.1rem}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast--success{border-left:4px solid var(--color-success)}.toast--error{border-left:4px solid var(--color-error)}.toast--warning{border-left:4px solid var(--color-warning)}.toast--info{border-left:4px solid var(--color-primary)}.toast__icon{flex-shrink:0;font-size:1.25rem}.toast--success .toast__icon{color:var(--color-success)}.toast--error .toast__icon{color:var(--color-error)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--info .toast__icon{color:var(--color-primary)}.toast__content{flex:1}.toast__message{font-size:.9rem;color:var(--text-main)}.toast__close{flex-shrink:0;padding:4px;color:var(--color-neutral-400);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer}.toast__close:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.toast--hiding{transform:translate(100%);opacity:0;transition:all .3s ease}.progress-bar{width:100%;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .3s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-window{width:100%;max-width:1024px;min-height:600px;background-color:var(--bg-card);border-radius:var(--radius-3xl);padding:25px 40px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;position:relative;z-index:1;transition:opacity .3s ease,box-shadow .3s ease;overflow:hidden}.app-header{display:flex;flex-direction:column;align-items:center;margin-bottom:25px;width:100%}.brand{display:none;align-items:center;gap:var(--space-2);flex-shrink:0}.brand i{font-size:1.75rem;color:var(--color-primary)}.brand__name{font-weight:700;font-size:1.25rem;color:var(--text-main);letter-spacing:-.5px}.nav-tabs{display:flex;gap:6px;background:var(--bg-element);padding:6px;border-radius:40px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;width:100%;justify-content:center}.nav-tabs--single{width:auto;background:transparent;padding:0}.nav-tabs--single .tab-btn{cursor:default;pointer-events:none}.nav-tabs::-webkit-scrollbar{display:none}.tab-btn{border:none;background:none;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-muted);padding:10px 22px;border-radius:30px;display:flex;align-items:center;gap:8px;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.tab-btn i{font-size:1.1rem}.tab-btn:hover{color:var(--color-primary);background:#ffffff80}.tab-btn.active{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn-primary)}.tab-instructions{background:linear-gradient(135deg,#fff,#fafaf8);border-radius:16px;padding:16px 20px;margin-top:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #577e8914;border:1px solid rgba(224,230,232,.6);position:relative;overflow:hidden;width:100%}.tab-instructions[hidden]{display:none!important}.tab-instructions:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--color-primary) 0%,var(--sea-nymph) 100%);border-radius:4px 0 0 4px}.tab-instructions__icon{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary-subtle) 0%,rgba(111,159,156,.15) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0;box-shadow:0 2px 8px #577e891f}.tab-instructions__icon i{font-size:1.15rem}.tab-instructions__content{flex:1;min-width:0}.tab-instructions__title{font-size:.9rem;font-weight:600;color:var(--text-main);margin-bottom:2px}.tab-instructions__description{font-size:.825rem;color:var(--text-muted);line-height:1.45;margin:0}.tab-instructions__text{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin:0}.tab-instructions__text strong{color:var(--text-main);font-weight:600}.workspace{flex:1;display:grid;grid-template-columns:340px 1fr;gap:40px;min-height:0;overflow:hidden;position:relative}.workspace--has-location{grid-template-rows:auto 1fr;row-gap:12px}.workspace .map-location-bar{z-index:10;box-sizing:border-box}.workspace--has-location:not(.workspace--show-all) .map-location-bar{grid-column:2;grid-row:1;margin-bottom:0}.workspace--has-location:not(.workspace--show-all) .settings-column{grid-row:1 / -1}.workspace--has-location:not(.workspace--show-all) .canvas-column{grid-row:2}.workspace--initial{grid-template-columns:1fr}.workspace--initial .settings-column{display:none}.workspace--show-all{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px}.workspace--show-all .map-location-bar{grid-row:1;grid-column:1;position:relative;margin-bottom:0}.workspace--show-all .settings-column,.workspace--show-all .canvas-column{display:none}.workspace--show-all .all-metadata-column{display:flex;width:100%;grid-row:2;grid-column:1}.workspace--show-all .all-metadata-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.workspace--show-all .all-metadata-group{break-inside:avoid}.settings-column{position:relative;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) transparent;min-height:0;padding-right:12px;margin-right:-12px}.settings-column::-webkit-scrollbar{width:8px}.settings-column::-webkit-scrollbar-track{background:transparent;border-radius:4px}.settings-column::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.settings-column::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400);border:2px solid transparent;background-clip:padding-box}.panel-content{display:none;animation:slideIn .3s ease;flex:1}.panel-content.active{display:flex;flex-direction:column}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:700;color:var(--text-main);margin-bottom:var(--space-2)}.panel-title i{font-size:1.5rem}.panel-description{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-5)}.control-block{margin-bottom:var(--space-5)}.label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--space-2)}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.label-value{font-size:.9rem;font-weight:700;color:var(--color-primary)}.canvas-column{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.dropzone{width:100%;height:100%;min-height:350px;background:#fbfbfb;border-radius:var(--radius-3xl);border:2px dashed #dcdcdc;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;transition:all .2s ease}.dropzone[hidden]{display:none}.dropzone:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dropzone:before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:linear-gradient(#999 1px,transparent 1px),linear-gradient(90deg,#999 1px,transparent 1px);background-size:30px 30px;border-radius:inherit}.dropzone--active{background:#577e890d;border-color:var(--color-primary)}.dropzone__content{text-align:center;position:relative;z-index:1}.dropzone__icon{margin-bottom:20px}.dropzone__icon i{font-size:60px;color:var(--text-muted);opacity:.5}.dropzone__title{font-size:1.5rem;font-weight:600;color:var(--text-main);margin-bottom:10px}.dropzone__title--secondary{font-size:1.3rem;margin-bottom:16px}.dropzone__subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.dropzone__button{display:inline-flex;align-items:center;gap:8px;padding:12px 36px;font-size:1rem;font-weight:600;color:#fff;background:var(--color-accent);border:none;border-radius:12px;cursor:pointer;box-shadow:var(--shadow-btn-accent);transition:transform .2s;margin-bottom:20px}.dropzone__button:hover{transform:translateY(-2px)}.dropzone__button i{font-size:1.1rem}.dropzone__formats{font-size:.9rem;font-weight:500;color:var(--text-main);margin-top:16px}.dropzone__privacy{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.85rem;font-weight:500;color:var(--text-main);margin-top:28px;padding:12px 20px;background:#4caf5014;border-radius:var(--radius-lg);text-align:left}.dropzone__privacy i{color:var(--color-success);font-size:1.1rem;flex-shrink:0}.dropzone__input{display:none}.preview-container{width:100%;height:100%;min-height:350px;display:flex;align-items:center;justify-content:center;position:relative}.preview-container[hidden]{display:none}#preview-normal[hidden],.preview-wrapper[hidden],#preview-actions[hidden]{display:none!important}.preview-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.preview-img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-image)}.preview-actions{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:2}.preview-change-btn{display:flex;align-items:center;gap:10px;padding:14px 32px;font-size:.9rem;font-weight:600;color:var(--color-primary);background:#fffffff2;backdrop-filter:blur(12px);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px #0000001f,0 2px 8px #00000014,inset 0 1px #fffc}.preview-change-btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 28px #577e8959,0 4px 12px #0000001a}.preview-change-btn:active{transform:translateY(0)}.preview-change-btn i{font-size:1.15rem}.map-container{width:100%;height:100%;min-height:350px;position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-image);cursor:pointer}.map-container[hidden]{display:none}.map-container:after{content:"";position:absolute;inset:0;z-index:1;transition:background .2s ease}.map-container:hover:after{background:#0000000d}.map-iframe{width:100%;height:100%;min-height:350px;border:none;border-radius:var(--radius-lg)}.map-error{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;background:var(--bg-element);color:var(--text-muted);text-align:center;padding:40px;z-index:2;border-radius:var(--radius-lg)}.map-error i{font-size:3rem;color:var(--color-accent);margin-bottom:16px}.map-error span{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:8px}.map-error p{font-size:.85rem;max-width:250px;margin:0}.map-location-bar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;margin-bottom:16px;background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-main);font-size:.9rem;font-weight:500;border-radius:var(--radius-lg);box-sizing:border-box}.map-location-bar[hidden]{display:none}.map-location-bar i{color:var(--color-accent);font-size:1.1rem}.map-actions{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:3}.details-section{margin-bottom:var(--space-5)}.details-section[hidden]{display:none}.details-section__title{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-bottom:12px}.details-section__title i{font-size:.9rem}.details-section__list{display:flex;flex-direction:column}.details-section__label{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:8px}.details-section__value{font-size:.85rem;color:var(--text-main);font-weight:500;text-align:right;word-break:break-word}.details-section__input{width:100%;padding:4px 8px;border:2px solid var(--color-primary);border-radius:4px;font-size:inherit;font-family:inherit;background:#fff;outline:none;text-align:right}.exif-row--disabled .details-section__label,.exif-row--disabled .details-section__value{opacity:.5;text-decoration:line-through}.details-empty{text-align:center;padding:var(--space-8)}.details-empty[hidden]{display:none}.details-empty i{font-size:3rem;color:var(--color-neutral-300);margin-bottom:var(--space-4);display:block}.details-empty__title{font-size:1rem;font-weight:600;color:var(--text-main);margin-bottom:var(--space-1)}.details-empty__text{font-size:.85rem;color:var(--text-muted)}.exif-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color);transition:opacity .2s}.exif-row:last-child{border-bottom:none}.exif-row[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + var(--space-1));left:50%;transform:translate(-50%);background:var(--color-neutral-800);color:var(--color-white);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100}.exif-row[data-tooltip]:hover:after{opacity:1}.exif-row[data-tooltip].show-tooltip:after{opacity:1}.exif-row--disabled{opacity:.4}.exif-row--disabled .editable-value{text-decoration:line-through;pointer-events:none}.exif-row dt{font-size:.85rem;color:var(--text-muted)}.exif-row dd{font-size:.85rem;color:var(--text-main);font-weight:500;margin:0;text-align:right;word-break:break-word}.exif-row--empty{opacity:.6}.exif-row--empty:hover{opacity:1}.details-section__value--empty{color:var(--text-muted);font-style:italic;cursor:pointer}.details-section__value--empty:hover{color:var(--color-primary)}.exif-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;cursor:pointer}.exif-toggle__input{opacity:0;width:0;height:0}.exif-toggle__slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:20px}.exif-toggle__slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.exif-toggle__input:checked+.exif-toggle__slider{background-color:var(--color-primary)}.exif-toggle__input:checked+.exif-toggle__slider:before{transform:translate(16px)}.editable-value{cursor:pointer;transition:background-color .2s;padding:2px 6px;border-radius:4px;margin:-2px -6px}.editable-value:hover{background-color:var(--bg-hover, rgba(0, 0, 0, .05))}.editable-value.editing{padding:0;margin:0}.editable-value.modified{background-color:#4caf5026;font-weight:600}.metadata-edit-input{width:100%;padding:4px 8px;border:2px solid var(--color-primary);border-radius:4px;font-size:inherit;font-family:inherit;background:#fff;outline:none;text-align:right}.master-toggle-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.master-toggle-section[hidden]{display:none}.master-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:linear-gradient(135deg,#dc262614,#dc26260a);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-lg)}.master-toggle__content{display:flex;align-items:center;gap:12px}.master-toggle__content>i{font-size:1.5rem;color:var(--color-error)}.master-toggle__text{display:flex;flex-direction:column;gap:2px}.master-toggle__title{font-size:.95rem;font-weight:600;color:var(--text-main)}.master-toggle__desc{font-size:.8rem;color:var(--text-muted)}.exif-toggle--large{width:48px;height:26px}.exif-toggle--large .exif-toggle__slider:before{height:18px;width:18px;left:4px;bottom:4px}.exif-toggle--large .exif-toggle__input:checked+.exif-toggle__slider:before{transform:translate(22px)}.exif-toggle--large .exif-toggle__input:checked+.exif-toggle__slider{background-color:var(--color-error)}.show-all-toggle-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color)}.show-all-toggle-section[hidden]{display:none}.show-all-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:linear-gradient(135deg,#577e8914,#6f9f9c0f);border:1px solid rgba(87,126,137,.15);border-radius:var(--radius-lg)}.show-all-toggle__content{display:flex;align-items:center;gap:10px}.show-all-toggle__content>i{font-size:1.25rem;color:var(--color-primary)}.show-all-toggle__text{display:flex;flex-direction:column;gap:1px}.show-all-toggle__title{font-size:.875rem;font-weight:600;color:var(--text-main)}.show-all-toggle__desc{font-size:.75rem;color:var(--text-muted)}.all-metadata-column{display:none;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) transparent;min-height:0;padding-left:8px}.all-metadata-column[hidden]{display:none!important}.all-metadata-column::-webkit-scrollbar{width:8px}.all-metadata-column::-webkit-scrollbar-track{background:transparent}.all-metadata-column::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:4px}.all-metadata-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);position:relative;z-index:100;overflow:visible}.all-metadata-header__back{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border-color);background:var(--bg-element);border-radius:var(--radius-lg);color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.all-metadata-header__back i{font-size:1rem}.all-metadata-header__back:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.all-metadata-header__title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text-main);margin:0;flex:1 1 auto;min-width:120px;white-space:nowrap}.all-metadata-header__title i{font-size:1.1rem;color:var(--color-primary)}.all-metadata-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.btn-download,.btn-export,.btn-change{display:inline-flex;align-items:center!important;justify-content:center!important;gap:6px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 14px!important;border-radius:10px!important;font-size:.85rem!important;font-weight:500!important;cursor:pointer;transition:all .2s ease;white-space:nowrap!important;box-sizing:border-box!important;line-height:1!important;vertical-align:middle!important}.btn-download i,.btn-export i,.btn-change i{font-size:1rem!important;line-height:1!important}.btn-download[hidden],.btn-export[hidden],.btn-change[hidden],.export-dropdown__item[hidden],.export-dropdown__divider[hidden]{display:none!important}.btn-download{border:1px solid var(--color-primary)!important;background:var(--color-primary)!important;color:#fff!important}.btn-download:hover{background:var(--color-primary-dark, #4a6b73)!important;border-color:var(--color-primary-dark, #4a6b73)!important}.btn-export{border:1px solid var(--border-color)!important;background:var(--bg-card)!important;color:var(--color-primary)!important}.btn-export:hover{background:var(--color-primary-subtle)!important;border-color:var(--color-primary)!important}.btn-change{border:1px solid var(--border-color)!important;background:var(--bg-card)!important;color:var(--text-secondary)!important}.btn-change:hover{background:var(--color-neutral-100)!important;border-color:var(--color-neutral-300)!important;color:var(--text-primary)!important}.export-dropdown--header{margin:0!important;padding:0!important;position:relative;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:36px!important;min-height:36px!important;max-height:36px!important;line-height:1!important;vertical-align:middle!important;box-sizing:border-box!important}.export-dropdown__menu--header{position:fixed;min-width:180px;z-index:9999;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:visible}.export-dropdown__menu--header:not([hidden]){display:block}.all-metadata-master-toggle{margin-bottom:var(--space-3)}.all-metadata-master-toggle[hidden]{display:none}.master-toggle--compact{padding:12px 16px}.all-metadata-header__count{font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--bg-element);padding:4px 10px;border-radius:var(--radius-full)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:var(--radius-lg);color:var(--color-primary);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.all-metadata-content{flex:1;overflow-y:auto}.all-metadata-group{margin-bottom:var(--space-5)}.all-metadata-group__title{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.all-metadata-group__title i{font-size:.85rem}.all-metadata-group__count{font-weight:500;color:var(--text-muted);font-size:.7rem}.all-metadata-group__list{display:flex;flex-direction:column}.all-metadata-group__list .exif-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.all-metadata-group__list .exif-row:last-child{border-bottom:none}.all-metadata-group__list .details-section__label{font-size:.85rem;color:var(--text-muted)}.all-metadata-group__list .details-section__value{font-size:.85rem;color:var(--text-main);font-weight:500;text-align:right;word-break:break-word}.export-dropdown{position:relative;margin-top:var(--space-3)}.export-dropdown .btn-secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;color:var(--color-primary);background:transparent;border:2px solid var(--color-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.export-dropdown .btn-secondary:hover{background:var(--color-primary-subtle)}.export-dropdown__caret{font-size:.8rem;transition:transform .2s ease}.export-dropdown.open .export-dropdown__caret{transform:rotate(180deg)}.export-dropdown__menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown)}.export-dropdown__menu[hidden]{display:none}.export-dropdown__item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.875rem;font-weight:500;color:var(--text-main);background:none;border:none;cursor:pointer;transition:background .15s ease;text-align:left}.export-dropdown__item:hover{background:var(--bg-element)}.export-dropdown__item i{font-size:1.1rem;color:var(--color-primary)}.export-dropdown__divider{height:1px;background:var(--border-light);margin:4px 0}.map-location-bar--clickable{cursor:pointer;transition:all .2s ease}.map-location-bar--clickable:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.map-location-bar__link{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--color-primary);font-weight:500}.map-location-bar__link-text{font-size:.85rem}.map-location-bar__link-icon{font-size:1rem}.details-hint{font-size:.85rem;font-weight:600;color:var(--color-primary);text-align:center;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-primary) 8%,var(--bg-element));border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--border-color));border-radius:var(--radius-md)}.details-hint[hidden],.details-hint--mobile{display:none}@media (max-width: 768px){.details-hint--desktop{display:none}.details-hint--mobile{display:inline}}.all-metadata-edit-hint{margin:var(--space-3) var(--space-4)}.details-actions{margin-top:var(--space-4);display:flex;gap:10px;align-items:stretch}.details-actions[hidden]{display:none!important}.details-actions__hint{font-size:.75rem;color:var(--text-muted);text-align:center;margin-bottom:var(--space-3)}.details-actions .btn-main{flex:1}.details-actions .export-dropdown{position:relative}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color);background:var(--bg-card);color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.tab-instructions.hidden,.action-wrapper.hidden{display:none!important}.loading-state{text-align:center;padding:var(--space-10)}.loading-state[hidden]{display:none}.loading-state__spinner{width:48px;height:48px;border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.loading-state__text{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:var(--space-1)}.loading-state__subtext{font-size:.9rem;color:var(--text-muted)}.upload-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fffffff2;backdrop-filter:blur(8px);border-radius:var(--radius-3xl);z-index:10}.upload-loading[hidden]{display:none}.upload-loading__content{text-align:center;max-width:280px}.upload-loading__icon{width:80px;height:80px;margin:0 auto var(--space-5);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-subtle) 0%,rgba(111,159,156,.15) 100%);border-radius:var(--radius-2xl);animation:pulse-glow 2s ease-in-out infinite}.upload-loading__icon i{font-size:2.5rem;color:var(--color-primary)}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 #577e8933}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #577e891a}}.upload-loading__message{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:var(--space-4);min-height:1.5em;transition:opacity .3s ease}.upload-loading__bar{width:100%;height:6px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}.upload-loading__progress{height:100%;width:0%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--sea-nymph) 50%,var(--color-primary) 100%);background-size:200% 100%;border-radius:var(--radius-full);transition:width .3s ease;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.upload-loading__hint{font-size:.8rem;color:var(--text-muted);margin:0}.file-meta{display:none!important}.app-footer{margin-top:20px;text-align:center}.app-footer[hidden]{display:none!important}.footer__privacy{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;color:var(--text-muted)}.footer__privacy i{color:var(--color-success);font-size:1rem}.lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:40px}.lightbox[hidden]{display:none}.lightbox__overlay{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(4px)}.lightbox__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh}.lightbox__close{position:absolute;top:-50px;right:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.lightbox__close:hover{background:#fff3}.lightbox__image-wrapper{max-height:calc(90vh - 120px);display:flex;align-items:center;justify-content:center}.lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080}.lightbox__details{display:flex;gap:24px;margin-top:20px;padding:16px 24px;background:#ffffff1a;border-radius:var(--radius-full);backdrop-filter:blur(10px)}.lightbox__detail{display:flex;flex-direction:column;align-items:center;gap:4px}.lightbox__detail[hidden]{display:none}.lightbox__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff9}.lightbox__value{font-size:.9rem;font-weight:500;color:#fff}@media (max-width: 768px){.lightbox{padding:20px}.lightbox__close{top:-45px;right:0}.lightbox__details{flex-wrap:wrap;justify-content:center;gap:16px;padding:12px 16px}.lightbox__detail{min-width:80px}}.ad-slot{display:flex;align-items:center;justify-content:center;background:transparent}.ad-slot[hidden]{display:none!important}.ad-slot--left{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:100}.ad-slot--right{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:100}.ad-slot--bottom{width:100%;margin-top:4px;padding:4px 0}.ad-slot--mobile-sticky{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg-card);padding:8px;box-shadow:0 -2px 10px #0000001a;display:none}.ad-slot__container{background:var(--bg-element);border:1px dashed var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem}.ad-slot__container--skyscraper{width:160px;height:600px}.ad-slot__container--leaderboard{width:728px;max-width:100%;height:90px;margin:0 auto}.ad-slot__container--mobile-banner{width:320px;height:50px;margin:0 auto}.ad-slot__close{position:absolute;top:-12px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-muted);font-size:.75rem;transition:all .2s}.ad-slot__close:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}@media (max-width: 1400px){.ad-slot--left,.ad-slot--right{display:none!important}}@media (max-width: 768px){.ad-slot--bottom .ad-slot__container--leaderboard{width:100%;height:60px}}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden]{display:none}.modal__overlay{position:absolute;inset:0;background:#4a5a60b3;z-index:var(--z-modal-backdrop);opacity:0;pointer-events:none;transition:opacity .3s}.modal:not([hidden]) .modal__overlay{opacity:1;pointer-events:auto}.modal__content{position:relative;z-index:var(--z-modal);background:#fff;border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000040;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);transition:transform .3s}.modal:not([hidden]) .modal__content{transform:scale(1)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;border-bottom:1px solid var(--border-color)}.modal__title{font-size:1.1rem;font-weight:700;color:var(--text-main)}.modal__close{display:flex;align-items:center;justify-content:center;padding:5px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;font-size:1.5rem;transition:all .2s ease}.modal__close:hover{color:var(--text-main)}.modal__close i{font-size:1.25rem}.modal__body{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:var(--space-4);background:#f0f0f0}.modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:15px 24px;border-top:1px solid var(--border-color);background:#fff}.panel{position:fixed;top:0;right:0;width:480px;height:100vh;background:#fff;z-index:var(--z-modal);box-shadow:-10px 0 30px #0000001a;padding:30px 40px;overflow-y:auto;transform:translate(100%);transition:transform .4s cubic-bezier(.25,.8,.25,1);display:flex;flex-direction:column}.panel:not([hidden]){transform:translate(0)}.panel[hidden]{transform:translate(100%)}.panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.panel__title{font-size:1.4rem;font-weight:700;color:var(--text-main)}.panel__close{background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:10px}.panel__close:hover{color:var(--text-main)}.panel__close i{font-size:1.5rem}.panel__body{flex:1;overflow-y:auto}.panel__footer{margin-top:auto;padding-top:20px;display:flex;gap:20px;border-top:1px solid var(--border-color)}.exif-warning{background:#fff8ef;border:1px solid var(--calico);padding:20px;border-radius:var(--radius-lg);margin-bottom:30px}.exif-warning[hidden]{display:none}.exif-warning__header{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--color-accent);margin-bottom:8px}.exif-warning__header i{font-size:1.25rem;color:var(--color-accent)}.exif-warning__coords{font-family:var(--font-mono);font-size:.95rem;color:var(--text-main);margin-bottom:4px}.exif-warning__location{font-size:.9rem;color:var(--text-muted);margin-bottom:15px}.exif-warning__actions{display:flex;justify-content:space-between;align-items:center}.exif-section{margin-bottom:25px}.exif-section[hidden]{display:none}.exif-section__title{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-bottom:15px}.exif-section__title i{font-size:.875rem;color:var(--text-muted)}.exif-section__list{display:block}.exif-section__list dt,.exif-section__list dd{display:inline}.exif-section__list dt{font-size:.95rem;color:var(--text-muted)}.exif-section__list dd{font-size:.95rem;color:var(--text-main);font-weight:500;text-align:right;float:right}.exif-section__list dt:after{content:"";display:block;margin-bottom:10px;border-bottom:1px solid var(--border-color);padding-bottom:5px;clear:both}.exif-empty{text-align:center;padding:var(--space-10)}.exif-empty[hidden]{display:none}.exif-empty i{font-size:3rem;color:var(--color-neutral-300);margin-bottom:var(--space-4)}.exif-empty__title{font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:var(--space-1)}.exif-empty__text{font-size:.9rem;color:var(--text-muted)}@media (max-width: 1024px){.app-window{height:auto;min-height:auto;border-radius:0;padding:30px 20px;flex:1}.app-header{align-items:flex-start}.nav-tabs{justify-content:flex-start;width:auto}.workspace{grid-template-columns:1fr;gap:20px;flex:1}.workspace--show-all{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:24px}.workspace--show-all .map-location-bar{grid-column:1;grid-row:1}.workspace--show-all .all-metadata-column{grid-row:2;max-height:none;padding-left:0}.workspace--show-all .all-metadata-content{grid-template-columns:1fr}.all-metadata-header{flex-wrap:wrap;gap:10px}.all-metadata-header__title{flex:1 1 auto;min-width:150px}.all-metadata-header__actions{gap:8px;flex-wrap:wrap}.workspace--has-location:not(.workspace--show-all){grid-template-rows:auto 1fr}.workspace--has-location:not(.workspace--show-all) .map-location-bar{grid-column:1;grid-row:1}.workspace--has-location:not(.workspace--show-all) .canvas-column{grid-row:2}.workspace--has-location:not(.workspace--show-all) .settings-column{grid-row:3}.canvas-column{order:1}.settings-column{order:2}.dropzone{min-height:200px}}@media (max-width: 768px){body{display:block}#app{padding:0;align-items:stretch}.app-window{box-shadow:none;padding:20px 15px;flex:1}.app-header{align-items:center}.nav-tabs{padding:5px;width:auto;justify-content:center}.tab-btn:first-child{margin-left:5px}.tab-btn:last-child{margin-right:5px}.tab-btn span{display:none}.tab-btn{padding:8px 12px}.tab-btn i{font-size:1.15rem}.tab-instructions{padding:14px 16px;gap:12px;margin-top:16px;border-radius:12px}.tab-instructions__icon{width:36px;height:36px;border-radius:10px}.tab-instructions__icon i{font-size:1rem}.tab-instructions__title{font-size:.85rem}.tab-instructions__description,.tab-instructions__text{font-size:.775rem}.modal__content--large{width:100%;height:100%;max-height:100vh;border-radius:0}.panel{width:100%;padding:20px}.dropzone__privacy{text-align:center;flex-direction:column;gap:6px}.map-location-bar{flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:10px 12px;font-size:.85rem}.map-location-bar #map-location-text{text-align:center}.map-location-bar__link{margin-left:0}.details-section{display:block;margin-bottom:var(--space-4)}.details-section__title{display:flex;align-items:center;gap:8px;font-size:.75rem}.details-section__list{display:flex;flex-direction:column}.exif-row{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;gap:6px;min-height:28px}.exif-row dt,.exif-row dd{font-size:.8rem}.show-all-toggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 14px;gap:12px}.show-all-toggle__content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.show-all-toggle__content>i{font-size:1.1rem;flex-shrink:0}.show-all-toggle__text{display:flex;flex-direction:column;min-width:0}.show-all-toggle__title{font-size:.9rem;font-weight:600}.show-all-toggle__desc{display:none}.show-all-toggle .exif-toggle{flex-shrink:0}.master-toggle,.master-toggle--compact{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px}.master-toggle__content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.master-toggle__content>i{font-size:1.25rem;flex-shrink:0}.master-toggle__text{display:flex;flex-direction:column;gap:2px;min-width:0}.master-toggle__title{font-size:.95rem;font-weight:600}.master-toggle__desc{font-size:.8rem;display:block}.master-toggle .exif-toggle{flex-shrink:0}.all-metadata-master-toggle{margin-bottom:16px}.all-metadata-header{display:flex;flex-direction:column;gap:10px;padding:12px}.all-metadata-header__back{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:14px 18px;font-size:.95rem;font-weight:500;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:#fff;transition:all .2s ease}.all-metadata-header__back:active{background:var(--color-primary-dark, #3d5a63);border-color:var(--color-primary-dark, #3d5a63);color:#fff}.all-metadata-header__back i{display:inline-flex;font-size:1.1rem}.all-metadata-header__back span{display:inline}.all-metadata-header__title{width:100%;font-size:1.1rem;padding:8px 0;display:flex;align-items:center;gap:8px}.all-metadata-header__count{display:inline;margin-left:auto;font-size:.8rem}.all-metadata-header__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.all-metadata-header__actions .btn-download{grid-column:1 / -1;order:-1}.all-metadata-header__actions .btn-change,.all-metadata-header__actions .export-dropdown,.all-metadata-header__actions .export-dropdown--header{width:100%}.all-metadata-header__actions .btn-change,.all-metadata-header__actions .btn-download{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;font-size:.95rem;font-weight:500;border-radius:var(--radius-lg);height:auto}.all-metadata-header__actions .btn-change i,.all-metadata-header__actions .btn-download i{display:inline-flex;font-size:1.2rem}.all-metadata-header__actions .btn-change span,.all-metadata-header__actions .btn-download span{display:inline}.all-metadata-header__actions .export-dropdown--header{height:auto}.all-metadata-header__actions .btn-export{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;font-size:.95rem;font-weight:500;border-radius:var(--radius-lg)}.all-metadata-header__actions .btn-export i{display:inline-flex;font-size:1.2rem}.all-metadata-header__actions .btn-export span{display:inline}.all-metadata-content{display:flex;flex-direction:column;gap:16px}.all-metadata-group{width:100%}}@media (max-width: 480px){.input-card{padding:12px 15px;font-size:.9rem}.tab-instructions{flex-direction:column;text-align:center;padding:20px 16px 16px}.tab-instructions:before{inset:0 0 auto;width:auto;height:3px;border-radius:3px 3px 0 0}.tab-instructions__icon{margin-bottom:8px}.tab-instructions__content{width:100%}.all-metadata-header{gap:8px;padding:10px}.all-metadata-header__title{font-size:1rem}.all-metadata-header__back{padding:10px 14px;font-size:.85rem}.all-metadata-header__actions .btn-change,.all-metadata-header__actions .btn-download,.all-metadata-header__actions .btn-export{padding:12px 14px;font-size:.85rem}.all-metadata-header__actions .btn-download i,.all-metadata-header__actions .btn-change i,.all-metadata-header__actions .btn-export i{font-size:1.1rem}.panel,.modal__content--large{width:100%;height:100%;border-radius:0}.toast-container{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + 60px);max-width:none}}@media (max-width: 374px){.tab-btn{padding:6px 10px}.tab-btn i{font-size:1rem}.app-window{padding:15px 10px}.btn-main{padding:14px 20px;font-size:.95rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-state__spinner{animation:none;border-top-color:var(--color-primary)}.panel-content{animation:none}}@media (prefers-contrast: high){:root{--color-neutral-200: #9CA3AF;--color-neutral-300: #6B7280;--color-neutral-400: #4B5563}.input-card{border:2px solid var(--color-neutral-300)}.toggle,.btn-main{border:2px solid currentColor}.tab-btn.active{border:2px solid var(--color-primary)}}@media print{.app-header,.app-footer,.settings-column,.modal,.panel,.toast-container,.file-meta{display:none!important}body{background:#fff!important}.app-window{width:100%;height:auto;background:#fff;box-shadow:none;border-radius:0}.workspace{display:block}.canvas-column{background:#fff;page-break-inside:avoid}.img-preview-container{box-shadow:none;max-width:100%;max-height:none}}
