.pin-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pin-dialog{background:#fff;border-radius:15px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#ffe100,gold,#ffed4e);color:#333;border-radius:15px 15px 0 0}.dialog-header h2{margin:0;font-size:1.5rem}.close-btn{background:transparent;border:none;color:#fff;font-size:32px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease;line-height:1}.close-btn:hover{background:#fff3}.pin-form{padding:25px}.review-section{margin-top:10px;padding-top:6px}.review-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e8e8e8;border-radius:12px;background:#fafafa;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.review-toggle-row:hover{border-color:gold;box-shadow:0 4px 14px #0000000f}.review-toggle-row.enabled{background:#ffd70014;border-color:gold}.review-toggle-left{display:flex;flex-direction:column;gap:2px;min-width:0}.review-toggle-title{font-weight:700;color:#333}.review-toggle-subtitle{font-size:.85rem;color:#666}.review-switch{position:relative;display:inline-flex;align-items:center;width:52px;height:30px;flex:0 0 auto}.review-switch input{opacity:0;width:0;height:0}.review-switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ddd;border-radius:999px;transition:background-color .2s ease}.review-switch-slider:before{content:"";position:absolute;height:24px;width:24px;left:3px;top:3px;background-color:#fff;border-radius:999px;transition:transform .2s ease;box-shadow:0 2px 8px #00000026}.review-switch input:checked+.review-switch-slider{background-color:gold}.review-switch input:checked+.review-switch-slider:before{transform:translate(22px)}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.coordinates{background:#f5f5f5;padding:10px 15px;border-radius:8px;margin:0;font-family:monospace;color:#666}.date-select-container{display:flex;gap:12px;margin-bottom:8px}.date-select-wrapper{flex:1;position:relative}.date-select{width:100%;padding:12px 40px 12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;color:#333;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .3s ease;font-weight:500}.date-select:hover{border-color:gold;box-shadow:0 2px 8px #ffd70033}.date-select:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd70033}.date-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.2rem}.month-select{flex:1.2}.year-select{flex:.8}.error-text{margin:8px 0 0;font-size:.85rem;color:#ef4444;font-weight:500}.checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-weight:500!important}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;margin-top:2px;accent-color:#ffd700}.checkbox-label span{flex:1;line-height:1.5}.help-text{margin:8px 0 0;font-size:.85rem;color:#666;font-style:italic}.category-select-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.image-upload-container{margin-top:8px}.image-upload-btn{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#ffe100,gold,#ffed4e);color:#333;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;text-align:center}.image-upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.upload-spinner{margin-left:10px;font-size:1rem}.image-preview-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.image-preview{position:relative;display:inline-block}.image-preview img{width:80px;height:80px;object-fit:cover;border-radius:6px;border:2px solid #eee}.remove-image-btn{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.remove-image-btn:hover{background:#dc2626}@media (max-width: 768px){.category-select-container{grid-template-columns:repeat(2,1fr)}.image-preview img{width:70px;height:70px}}.category-option{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;text-align:center}.category-option:hover{border-color:var(--category-color);background:rgba(var(--category-color-rgb, 102, 126, 234),.05);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.category-option.active{border-color:var(--category-color);background:var(--category-color);color:#fff;box-shadow:0 4px 12px #00000026}.comment-input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .3s ease}.comment-input-wrap{position:relative}.comment-input--with-counter{padding-bottom:32px}.comment-counter{position:absolute;right:10px;bottom:8px;font-size:12px;font-weight:600;color:#888;background:#fffc;border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:3px 8px;pointer-events:none}.comment-input:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd70033}.comment-input::placeholder{color:#999}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.cancel-btn,.submit-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0}.submit-btn{background:linear-gradient(135deg,#ffe100,gold,#ffed4e);color:#333;font-weight:600}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.rating-select-container{display:flex;gap:8px;margin-top:8px}.rating-star{background:transparent;border:2px solid #e0e0e0;border-radius:8px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;transition:all .2s ease;padding:0;font-family:Arial,sans-serif;line-height:1}.rating-star:hover,.rating-star.hover{border-color:gold;background:#ffd7001a;transform:scale(1.1)}.rating-star.active{border-color:gold;background:gold;transform:scale(1.05)}@media (max-width: 768px){.pin-dialog{width:95%;max-height:95vh}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.rating-star{width:45px;height:45px;font-size:20px}}.pin-info{min-width:200px}.pin-comments-btn{border:none;background:transparent;cursor:pointer;font-size:1rem;opacity:.7;display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;position:relative}.pin-comments-btn:hover{opacity:1;background:#ffd7002e}.pin-comments-count{font-weight:800;font-size:.85rem;color:#333}.tc-dark .pin-comments-count{color:var(--tc-text)}.pin-comments-unread-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#ff3b30;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 6px #00000040}.pin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.pin-date{font-weight:600;color:#d4af37;margin:0;font-size:.85rem;flex:1}.pin-category{font-size:.75rem;color:#666;font-weight:500;white-space:nowrap}.pin-images{margin:8px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pin-image{width:100%;aspect-ratio:1 / 1;border-radius:8px;object-fit:cover;border:2px solid #eee;transition:all .2s ease;cursor:pointer}.pin-image:hover{border-color:gold;transform:scale(1.05);box-shadow:0 4px 12px #0000001a}.pin-comment{margin:8px 0;padding:8px;background:var(--tc-surface);border-radius:6px;border-left:3px solid #ffd700}.pin-review{margin:10px 0 8px;padding:10px 44px 10px 10px;border-radius:12px;border:1px solid var(--tc-border);background:color-mix(in srgb,var(--tc-surface) 88%,#ffd700 12%);box-shadow:0 6px 18px #0000000f;position:relative}.tc-dark .pin-review{background:color-mix(in srgb,var(--tc-surface) 88%,#ffd700 12%)}.pin-review-top{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px}.pin-review-title{display:inline-flex;align-items:baseline;gap:8px;min-width:0;flex:1 1 auto}.pin-review-title-text{font-weight:900;color:var(--tc-text);font-size:.82rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pin-review-maps{position:absolute;top:10px;right:10px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid color-mix(in srgb,var(--tc-border) 70%,#ffd700 30%);background:transparent;color:var(--tc-text);font-weight:900;font-size:.9rem;text-decoration:none;opacity:.75}.pin-review-maps:hover{opacity:1;border-color:gold;background:#ffd7001f}.pin-review-stars{margin-top:8px;display:inline-flex;gap:2px}.pin-review-star{font-size:1.05rem;line-height:1;font-family:Arial,sans-serif}.pin-review-star.on{color:gold}.pin-review-star.off{color:color-mix(in srgb,var(--tc-muted) 70%,#fff 30%)}.pin-review-body{margin-top:8px;font-size:.82rem;color:var(--tc-text);line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.pin-review-body a{color:var(--tc-link, #2563eb);text-decoration:underline;text-underline-offset:2px;font-weight:800}.comment-text{margin:0;font-size:.8rem;color:var(--tc-text);line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.comment-text a,.pin-comment-body a{color:var(--tc-link, #2563eb);text-decoration:underline;text-underline-offset:2px;font-weight:700}.tc-dark .comment-text a,.tc-dark .pin-comment-body a{color:#93c5fd}.pin-user{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--tc-border);justify-content:space-between}.pin-user-actions{display:inline-flex;align-items:center;gap:6px}.pin-report-btn{border:none;background:transparent;cursor:pointer;font-size:1rem;opacity:.7;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:8px}.pin-report-btn:hover:not(:disabled){opacity:1;background:#ff99002e}.pin-report-btn:disabled{opacity:.45;cursor:not-allowed}.pin-report-msg{margin-top:8px;color:var(--tc-muted);font-weight:700;font-size:.85rem}.pin-user-left{display:flex;align-items:center;gap:8px;min-width:0}.pin-user-avatar{width:24px;height:24px;border-radius:50%;border:2px solid #ffd700}.pin-username{font-weight:500;color:var(--tc-text);font-size:.85rem}.pin-anonymous{color:var(--tc-muted);font-style:italic;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--tc-border);font-size:.85rem}.pin-anonymous-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pin-anonymous-row .pin-anonymous{margin:8px 0 0}.pin-actions{margin-top:10px;display:flex;gap:6px}.pin-comments-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:16px}.pin-comments-modal{width:min(720px,94vw);max-height:min(680px,88vh);background:var(--tc-surface);border-radius:16px;box-shadow:0 10px 40px #0000004d;border:1px solid var(--tc-border);overflow:hidden;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pin-comments-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--tc-border)}.pin-comments-title{font-weight:900;color:var(--tc-text)}.pin-comments-close{width:34px;height:34px;border-radius:10px;border:none;background:var(--tc-surface-solid);cursor:pointer;font-size:18px;font-weight:900;color:var(--tc-text)}.pin-comments-close:hover{background:color-mix(in srgb,var(--tc-surface-solid) 70%,#000 30%)}.pin-comments-list{padding:12px 14px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:10px}.pin-comments-empty{color:var(--tc-muted);font-style:italic}.pin-comment-item{border:1px solid var(--tc-border);border-radius:12px;padding:10px 12px;background:var(--tc-surface-solid)}.pin-comment-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pin-comment-actions{display:inline-flex;align-items:center;gap:6px}.pin-comment-report{border:none;background:transparent;cursor:pointer;opacity:.65;padding:4px 6px;border-radius:8px}.pin-comment-report:hover:not(:disabled){opacity:1;background:#ff990024}.pin-comment-report:disabled{opacity:.45;cursor:not-allowed}.pin-comment-author-name{font-weight:800;color:var(--tc-text)}.pin-comment-date{color:var(--tc-muted);font-size:.8rem;font-weight:600}.pin-comment-body{margin-top:6px;white-space:pre-wrap;word-break:break-word;color:var(--tc-text);font-size:.9rem;line-height:1.35}.pin-comment-delete{border:none;background:transparent;cursor:pointer;opacity:.65;padding:4px 6px;border-radius:8px}.pin-comment-delete:hover{opacity:1;background:#ff47571f}.pin-comments-compose{padding:12px 14px;border-top:1px solid var(--tc-border)}.pin-comments-login-hint{color:var(--tc-muted)}.pin-comments-textarea{width:100%;border-radius:12px;border:1px solid var(--tc-border);padding:10px 12px;resize:vertical;font-family:inherit;outline:none;background:var(--tc-surface-solid);color:var(--tc-text)}.pin-comments-textarea:focus{border-color:#ffd700e6;box-shadow:0 0 0 3px #ffd70033}.pin-comments-actions{display:flex;justify-content:flex-end;margin-top:10px}.pin-comments-send{background:linear-gradient(135deg,#ffe100,gold,#ffed4e);color:#333;border:1px solid rgba(0,0,0,.12);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:900}.pin-comments-send:disabled{opacity:.6;cursor:not-allowed}.edit-pin-btn,.delete-pin-btn{width:36px;height:32px;padding:0;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600;opacity:.6;transition:opacity .3s ease;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit}.edit-pin-btn:hover,.delete-pin-btn:hover{opacity:1}.edit-pin-btn:active,.delete-pin-btn:active{transform:translateY(0)}.tc-achv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:70px 14px 24px}.tc-achv-modal{width:min(780px,calc(100vw - 28px));background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:16px;box-shadow:0 18px 50px #00000059;overflow:hidden;max-height:calc(100vh - 94px);display:flex;flex-direction:column}.tc-achv-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--tc-border);background:var(--tc-surface-solid)}.tc-achv-title{font-weight:900;color:var(--tc-text)}.tc-achv-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-size:20px;font-weight:900;cursor:pointer}.tc-achv-body{padding:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tc-achv-muted{color:var(--tc-muted)}.tc-achv-error{color:#ef4444;font-weight:800}.tc-achv-summary{margin-bottom:14px}.tc-achv-summary-pill{display:inline-flex;align-items:baseline;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--tc-border);background:color-mix(in srgb,var(--tc-surface-solid) 80%,#000 20%)}.tc-achv-summary-strong{font-weight:900;font-size:1.1rem}.tc-achv-section-title{margin:12px 0 8px;font-weight:900;color:var(--tc-text)}.tc-achv-cat{margin-top:10px}.tc-achv-cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:6px 0 8px}.tc-achv-cat-title{font-weight:900;color:var(--tc-text)}.tc-achv-cat-count{font-size:12px;font-weight:900;color:var(--tc-muted);border:1px solid var(--tc-border);background:var(--tc-surface-solid);padding:3px 8px;border-radius:999px;white-space:nowrap}.tc-achv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 640px){.tc-achv-grid{grid-template-columns:1fr}.tc-achv-overlay{padding-top:56px}}.tc-achv-card{display:flex;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--tc-border);background:var(--tc-surface-solid)}.tc-achv-card-earned{background:color-mix(in srgb,var(--tc-surface-solid) 65%,#22c55e 35%)}.tc-achv-card-icon{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#ffffff14;flex-shrink:0}.tc-achv-card-main{min-width:0;display:flex;flex-direction:column;gap:4px}.tc-achv-card-title{font-weight:900;color:var(--tc-text);line-height:1.1}.tc-achv-progress{margin-top:6px;display:flex;align-items:center;gap:10px}.tc-achv-progress-bar{flex:1;height:10px;border-radius:999px;background:#0000002e;overflow:hidden}.tc-achv-progress-bar-fill{height:100%;background:var(--tc-grad)}.tc-achv-progress-text{font-size:12px;opacity:.8;white-space:nowrap}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-container{flex:1;position:relative;width:100%;height:100%;overflow:hidden}.unread-comments-toast{position:absolute;right:16px;bottom:16px;z-index:1100;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:12px;box-shadow:0 8px 18px #0000002e;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(360px,calc(100vw - 32px))}.unread-comments-toast-left{min-width:0;display:flex;flex-direction:column;gap:2px}.unread-comments-toast-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;min-width:0}.unread-comments-toast-open:focus-visible{outline:2px solid color-mix(in srgb,var(--tc-accent) 65%,#fff 35%);outline-offset:3px;border-radius:10px}.unread-comments-toast-title{font-weight:900;color:var(--tc-text);line-height:1.1;font-size:.95rem}.unread-comments-toast-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.unread-comments-toast-btn{border:none;background:var(--tc-grad);color:var(--tc-on-accent);font-weight:900;padding:7px 10px;border-radius:10px;cursor:pointer;white-space:nowrap;font-size:.9rem}.unread-comments-toast-btn:active{transform:translateY(1px)}.unread-comments-toast-close{width:30px;height:30px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);cursor:pointer;font-size:18px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.unread-comments-toast-close:hover{background:color-mix(in srgb,var(--tc-surface-solid) 70%,#000 30%)}@media (max-width: 520px){.unread-comments-toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}}.tc-unread-comments-modal{max-width:min(920px,calc(100vw - 24px))}.tc-unread-comments-body{display:flex;flex-direction:column;gap:10px}.tc-unread-comments-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}.tc-unread-comments-meta{font-size:13px;color:var(--tc-muted);font-weight:700}.tc-unread-comments-actions{display:flex;align-items:center;gap:8px}.tc-unread-comments-refresh{width:38px;height:34px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);cursor:pointer;font-weight:900}.tc-unread-comments-loading,.tc-unread-comments-empty{padding:14px 12px;border:1px dashed var(--tc-border);border-radius:12px;color:var(--tc-muted);font-weight:700}.tc-unread-comments-list{display:grid;grid-template-columns:1fr;gap:10px}.tc-unread-comment-card{width:100%;text-align:left;border-radius:14px;border:1px solid var(--tc-border);background:var(--tc-surface);padding:10px 12px;cursor:pointer;box-shadow:0 8px 18px #0000001a}.tc-unread-comment-card:hover{background:color-mix(in srgb,var(--tc-surface) 86%,#000 14%)}.tc-unread-comment-card:active{transform:translateY(1px)}.tc-unread-comment-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tc-unread-comment-author{min-width:0;font-size:13px;font-weight:900;color:var(--tc-text)}.tc-unread-comment-date{font-weight:700;color:var(--tc-muted)}.tc-unread-comment-pinmeta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;color:var(--tc-muted);font-weight:800}.tc-unread-comment-pinbadge{padding:2px 8px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);font-weight:900;font-size:12px}.tc-unread-comment-pindate{white-space:nowrap}.tc-unread-comment-body{margin-top:8px;white-space:pre-wrap;color:var(--tc-text);font-weight:700;line-height:1.35}.tc-unread-comment-pin-snippet{margin-top:8px;font-size:12px;color:var(--tc-muted);font-weight:700}.tc-unread-comment-foot{margin-top:10px;font-size:12px;font-weight:900;color:var(--tc-accent)}.map{width:100%;height:100%;z-index:1}.map-loading{display:flex;justify-content:center;align-items:center;height:100%;color:var(--tc-text);font-size:1.1rem;font-weight:800}.map-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:90px;z-index:1050;pointer-events:none}.map-loading-card{pointer-events:none;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:14px;padding:12px 16px;box-shadow:0 6px 22px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--tc-text);font-weight:900}.map-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;justify-content:center;align-items:flex-start;padding-top:100px;z-index:1000;pointer-events:none}.overlay-message{position:relative;background:var(--tc-surface);border:1px solid var(--tc-border);padding:18px 26px;border-radius:15px;box-shadow:0 4px 20px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.overlay-message p{margin:0;font-size:1.05rem;font-weight:600;color:var(--tc-text)}.overlay-close{position:absolute;top:8px;right:10px;width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:var(--tc-muted);cursor:pointer;font-size:18px;line-height:1}.overlay-close:hover{background:#ffd7001f;color:var(--tc-text)}.pin-hover-info{position:fixed;z-index:1000;pointer-events:none;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hover-content{background:#fff;padding:15px 20px;border-radius:10px;box-shadow:0 4px 15px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:200px}.hover-username{font-weight:600;font-size:1rem;color:#d4af37;margin:0 0 5px}.hover-date{font-size:.9rem;color:#666;margin:0}.custom-pin{background:transparent;border:none}.custom-pin .pin-unread-badge{position:absolute;top:-7px;right:-7px;transform:rotate(45deg);width:18px;height:18px;border-radius:50%;background:#ff3b30;color:#fff;font-weight:900;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 6px #00000059;pointer-events:none;box-sizing:border-box}.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 4px 15px #0003;background:var(--tc-surface);color:var(--tc-text);border:1px solid var(--tc-border)}.leaflet-popup-tip{background:var(--tc-surface);border:1px solid var(--tc-border)}.leaflet-popup-content{margin:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--tc-text)}@media (max-width: 768px){.leaflet-popup-content-wrapper{max-width:min(92vw,420px)}.leaflet-popup-content{max-height:min(60vh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch}}.leaflet-container a.leaflet-popup-close-button{color:var(--tc-muted);font-size:18px;padding:6px}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--tc-text)}.map-style-selector{position:absolute;top:20px;bottom:auto;right:20px;z-index:1200;display:flex;flex-direction:column;gap:8px;background:var(--tc-surface);border-radius:12px;padding:8px;box-shadow:0 2px 10px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .16s ease,opacity .16s ease}.map-style-selector--closed,.map-style-selector--open{padding:8px}.map-tools-toggle{width:40px;height:40px;padding:0;flex-direction:column;gap:2px;font-weight:900}.map-tools-toggle-icon{font-size:1.15rem;line-height:1}.map-tools-toggle-arrow{font-size:12px;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);transform:translateY(-2px);opacity:.95}.map-tools-toggle:hover .map-tools-toggle-arrow{opacity:1}.tc-onlinebar{position:absolute;top:20px;right:86px;z-index:1201;background:var(--tc-surface);border-radius:999px;padding:6px 8px;box-shadow:0 2px 10px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;pointer-events:auto}@media (max-width: 768px){.tc-onlinebar{display:none}}.tc-onlinebar-stack{display:flex;align-items:center}.tc-onlinebar-stack--loading{opacity:.75}.tc-online-avatar{width:30px;height:30px;border-radius:999px;border:2px solid rgba(255,255,255,.9);background:var(--tc-surface-solid);overflow:hidden;margin-left:-8px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.tc-online-avatar:first-child{margin-left:0}.tc-online-avatar:hover{transform:translateY(-1px)}.tc-online-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.tc-online-avatar-ph{font-size:14px;line-height:1}.tc-online-more{margin-left:6px;font-weight:900;font-size:12px;color:var(--tc-muted)}.style-btn{width:40px;height:40px;border:none;border-radius:8px;background:var(--tc-surface-solid);color:var(--tc-text);cursor:pointer;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a}.style-btn:hover{background:#ffffffd9;transform:translateY(-2px);box-shadow:0 2px 6px #0003}.style-btn.active{background:linear-gradient(135deg,#ffe100,gold,#ffed4e);box-shadow:0 2px 8px #ffd70066}.map-controls-container{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:1000;width:90%;max-width:1200px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}.map-search-container{flex:0 0 auto;min-width:280px;max-width:400px}.map-search-form{position:relative;display:flex;align-items:center;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:12px;box-shadow:0 2px 10px #00000026;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:40px}.map-search-input{flex:1;padding:8px 15px;border:none;outline:none;font-size:.9rem;background:transparent;color:var(--tc-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.map-search-input::placeholder{color:var(--tc-muted)}.search-spinner{padding:0 15px;font-size:1.2rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-results{margin-top:8px;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:12px;box-shadow:0 2px 10px #00000026;overflow:hidden;max-height:300px;overflow-y:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.selected-location-actions{margin-top:8px}.add-pin-from-search-btn{width:100%;height:40px;border:none;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--tc-text);background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:0 2px 10px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.add-pin-from-search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #0000002e}.add-pin-from-search-btn:disabled{opacity:.55;cursor:not-allowed}.search-result-item{width:100%;padding:12px 20px;border:none;background:var(--tc-surface-solid);text-align:left;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--tc-border)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#ffd7001f}.search-result-name{font-weight:500;color:var(--tc-text);font-size:.95rem;margin-bottom:4px}.map-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;z-index:2000;min-width:200px;overflow:hidden;animation:contextMenuFadeIn .15s ease;pointer-events:auto;transform:translate(-50%,-100%);margin-top:-10px}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{width:100%;padding:12px 16px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:.95rem;color:#333;transition:background-color .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.context-menu-item:hover{background-color:#f5f5f5}.context-menu-item:active{background-color:#e8e8e8}.map-filters-container{background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:12px;padding:0 12px;box-shadow:0 2px 10px #00000026;display:flex;flex-direction:row;align-items:center;gap:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;height:40px}.map-event-container{background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:12px;padding:0 10px;box-shadow:0 2px 10px #00000026;display:flex;flex-direction:row;align-items:center;gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;height:40px}.filter-group{display:flex;flex-direction:row;align-items:center;gap:6px}.filter-label{font-size:.85rem;font-weight:500;color:var(--tc-muted);margin:0;white-space:nowrap}.filter-select{padding:8px 12px;border:1px solid var(--tc-border);border-radius:8px;font-size:.85rem;background:var(--tc-surface-solid);color:var(--tc-text);cursor:pointer;transition:border-color .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-width:130px}.filter-select option{background:var(--tc-surface-solid);color:var(--tc-text)}.filter-select:hover{border-color:gold}.filter-select:focus{outline:none;border-color:gold;box-shadow:0 0 0 2px #ffd70033}.selected-categories{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.category-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--category-color, #667eea);color:#fff;border-radius:12px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.category-badge:hover{opacity:.8;transform:scale(1.05)}@media (max-width: 768px){.map-controls-container{width:95%;max-width:none;flex-direction:column;top:10px;gap:8px}.map-search-container{max-width:100%;width:100%}.map-search-form{height:36px;border-radius:10px}.map-search-input{padding:6px 12px;font-size:.85rem}.map-search-input::placeholder{font-size:.8rem}.search-spinner{padding:0 12px;font-size:1rem}.search-results{margin-top:6px;border-radius:10px;max-height:200px}.search-result-item{padding:10px 15px}.search-result-name{font-size:.85rem;margin-bottom:2px}.search-result-details{font-size:.75rem}.map-filters-container{padding:6px 8px;flex-direction:row;align-items:flex-start;width:100%;height:auto;gap:6px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:row;align-items:center;gap:4px;flex:1 1 calc(50% - 3px);min-width:0}.filter-group:last-of-type{flex-wrap:wrap}.filter-group:last-of-type .selected-categories{flex-basis:100%;margin-top:4px}.filter-label{font-size:.7rem;flex-shrink:0}.filter-select{width:100%;min-width:0;padding:5px 8px;font-size:.75rem;border-radius:6px;flex:1}.selected-categories{display:flex;gap:4px;flex-wrap:wrap}.category-badge{padding:3px 8px;font-size:.7rem;border-radius:10px}.hover-content{padding:10px 15px;min-width:150px}.hover-username{font-size:.9rem;margin-bottom:3px}.hover-date{font-size:.8rem}.map-style-selector{top:auto;bottom:15px;right:10px;padding:6px;gap:6px}.style-btn{width:36px;height:36px;font-size:1rem}}.stats-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1500}.stats-panel{background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:15px;padding:25px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--tc-shadow-strong)}.stats-panel h3{margin:0 0 20px;color:var(--tc-text);text-align:center;font-size:1.4rem}.stats-grid{display:grid;gap:15px;margin-bottom:25px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--tc-surface-solid);border-radius:8px;border-left:3px solid #ffd700}.stat-label{font-weight:500;color:var(--tc-muted);font-size:.9rem}.stat-value{font-weight:600;color:var(--tc-text);font-size:1rem}.stats-close-btn{width:100%;padding:12px;background:var(--tc-grad);color:var(--tc-on-accent);border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease}.stats-close-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffd70066}.tc-help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2147483000;padding:16px}.tc-help-modal-overlay.tc-userprofiles-overlay{z-index:2147483010}.tc-help-modal{width:min(720px,96vw);max-height:min(92vh,900px);background:var(--tc-surface, #ffffff);color:var(--tc-text, #111);border-radius:14px;box-shadow:0 12px 50px #00000059;overflow:hidden;border:1px solid var(--tc-border, rgba(0,0,0,.08))}.tc-help-modal.tc-help-modal--wide{width:min(960px,98vw);max-height:min(92vh,900px)}.tc-help-modal.tc-calendar-shell{display:flex;flex-direction:column;height:min(90vh,900px);max-height:min(90vh,900px)}.tc-help-modal.tc-calendar-shell .tc-help-modal-body{flex:1;min-height:0;overflow:hidden;max-height:none;padding:0}.tc-userprofiles-modal{display:flex;flex-direction:column;height:min(92vh,900px)}.tc-userprofiles-body{padding:16px;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px;overflow:hidden;max-height:none}.tc-userprofiles-left{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--tc-border, rgba(0,0,0,.08));padding-right:12px}.tc-userprofiles-left-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}.tc-userprofiles-right{min-height:0;display:flex;flex-direction:column}.tc-userprofiles-right-inner{flex:1;min-height:0;display:flex;flex-direction:column}.tc-userprofiles-profilehead{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tc-userprofiles-name-row{display:flex;align-items:center;gap:8px;min-width:0}.tc-userprofiles-profilemeta{flex:1;min-width:0}.tc-userprofiles-name{font-weight:800;font-size:1.05rem;color:var(--tc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-userprofiles-subline{font-size:12px;color:var(--tc-muted)}.tc-userprofiles-badges-right{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.tc-userprofiles-badge-emblem{width:28px;height:28px;border-radius:10px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:color-mix(in srgb,var(--tc-surface-solid, rgba(255,255,255,.92)) 80%,#ffd700 20%);box-shadow:0 10px 22px #0000002e;display:inline-flex;align-items:center;justify-content:center;position:relative}.tc-userprofiles-badge-emblem:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:8px;background:radial-gradient(circle at 30% 20%,#ffffff8c,#fff0 55%);pointer-events:none}.tc-userprofiles-badge-emblem-inner{width:22px;height:22px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#ffffff1f;font-size:16px;line-height:1;position:relative;z-index:1}.tc-carnival-marker-inner{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:18px;border:2px solid rgba(255,255,255,.92);background:color-mix(in srgb,var(--tc-surface-solid, rgba(255,255,255,.95)) 80%,#ff2d55 20%);box-shadow:0 12px 30px #00000038}.tc-carnival-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:var(--tc-surface-solid, rgba(255,255,255,.92));color:var(--tc-text);font-weight:900;cursor:pointer;white-space:nowrap}.tc-carnival-pill:hover{background:var(--tc-surface, rgba(255,255,255,.85))}.tc-easter-egg-icon{background:transparent;border:none}.tc-carnival-panel{position:fixed;top:96px;right:14px;z-index:4000;width:min(520px,calc(100vw - 28px));border-radius:16px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:var(--tc-surface, #fff);box-shadow:0 18px 50px #00000059;overflow:hidden}.tc-carnival-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface-solid, rgba(255,255,255,.85))}.tc-carnival-title{font-weight:900;color:var(--tc-text)}.tc-carnival-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:var(--tc-surface);color:var(--tc-text);font-size:20px;font-weight:900;cursor:pointer}.tc-carnival-body{padding:14px}.tc-carnival-q{font-weight:900;color:var(--tc-text);margin-bottom:10px}.tc-carnival-msg{margin-top:8px;font-weight:900;color:#16a34a}.tc-carnival-err{margin-top:8px;font-weight:900;color:#ef4444}.tc-carnival-foot{margin-top:12px}.tc-carnival-muted{color:var(--tc-muted);font-size:12px;font-weight:700}@media (max-width: 720px){.tc-carnival-panel{top:86px;left:14px;right:14px;width:auto}}.tc-userprofiles-privacybar{border:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface, #fff);border-radius:12px;padding:10px 12px;margin:0 0 12px}.tc-userprofiles-privacybar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.tc-userprofiles-privacybar-title{font-weight:900;font-size:.95rem}.tc-userprofiles-privacybar-status{font-size:12px;color:var(--tc-muted, #666);font-weight:700;white-space:nowrap}.tc-userprofiles-privacybar-items{display:grid;gap:8px}.tc-userprofiles-privacybar-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.tc-userprofiles-privacybar-item-label{font-weight:700;color:var(--tc-text, #111)}.tc-userprofiles-tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tc-userprofiles-tabcontent{flex:1;min-height:0}.tc-userprofiles-overview-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tc-userprofiles-overview-col{min-height:0;display:flex;flex-direction:column}.tc-userprofiles-tabpanel{height:100%;min-height:0;display:flex;flex-direction:column}.tc-userprofiles-scrollbox{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--tc-border, rgba(0,0,0,.08));border-radius:10px;padding:6px;-webkit-overflow-scrolling:touch}.tc-userprofiles-previewbox{border:1px solid var(--tc-border, rgba(0,0,0,.08));border-radius:10px;padding:6px;background:var(--tc-surface, rgba(255,255,255,.6))}.tc-userprofiles-minirow{width:100%;text-align:left;padding:6px 8px;border-radius:8px;border:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface);color:var(--tc-text);cursor:pointer}.tc-userprofiles-minirow:hover{background:var(--tc-surface-solid, rgba(255,255,255,.85))}.tc-userprofiles-pinswrap{display:flex;flex-direction:column;gap:10px}.tc-userprofiles-pinfilters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.tc-userprofiles-pinfilters-item{display:flex;flex-direction:column;gap:4px;min-width:160px}.tc-userprofiles-pinfilters-label{font-size:12px;color:var(--tc-muted);font-weight:700}.tc-userprofiles-pinfilters-select{height:34px;border-radius:10px;border:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface);color:var(--tc-text);padding:6px 10px;font-size:13px}.tc-userprofiles-pinsmeta{font-size:12px;color:var(--tc-muted);font-weight:700;padding:0 2px}.tc-userprofiles-pinslist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tc-userprofiles-pin-card{width:100%;text-align:left;border-radius:12px;border:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface);padding:10px 10px 9px;cursor:pointer;color:var(--tc-text)}.tc-userprofiles-pin-card:hover{background:var(--tc-surface-solid, rgba(255,255,255,.85))}.tc-userprofiles-pin-card-top{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.tc-userprofiles-pin-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface-solid, rgba(255,255,255,.85));max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-userprofiles-pin-date{font-size:12px;color:var(--tc-muted);font-weight:700;white-space:nowrap}.tc-userprofiles-pin-snippet{font-size:13px;line-height:1.25;color:var(--tc-text);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tc-userprofiles-pin-snippet--empty{color:var(--tc-muted)}.tc-userprofiles-pin-coords{font-size:12px;color:var(--tc-muted)}@media (max-width: 720px){.tc-userprofiles-pinfilters-item{min-width:0;flex:1 1 160px}.tc-userprofiles-pinslist{grid-template-columns:1fr}}@media (max-width: 720px){.tc-help-modal-overlay{padding:0}.tc-userprofiles-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.tc-userprofiles-body{padding:12px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,220px) minmax(0,1fr);gap:12px}.tc-userprofiles-left{border-right:none;padding-right:0;border-bottom:1px solid var(--tc-border, rgba(0,0,0,.08));padding-bottom:10px}.tc-userprofiles-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.tc-userprofiles-overview-grid{grid-template-columns:minmax(0,1fr)}.tc-userprofiles-privacybar{padding:10px}.tc-userprofiles-privacybar-head{flex-direction:column;align-items:flex-start;gap:4px}}.tc-help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--tc-border, rgba(0,0,0,.08));background:var(--tc-surface-solid, #fff)}.tc-help-modal-title{font-weight:800;font-size:1.05rem}.tc-help-modal-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:transparent;cursor:pointer;font-size:20px;line-height:1;color:var(--tc-text, #111)}.tc-help-modal-close:hover{background:#0000000d}.tc-help-modal-body{padding:16px;overflow:auto;max-height:calc(92vh - 60px)}.tc-help-hint{padding:12px;border-radius:12px;background:#ffd7001f;border:1px solid rgba(255,215,0,.25);color:var(--tc-text, #111);margin-bottom:12px;line-height:1.35;font-weight:500}.tc-help-warning{padding:10px 12px;border-radius:12px;background:#ff8c001f;border:1px solid rgba(255,140,0,.28);margin-bottom:12px;font-weight:600}.tc-help-form{display:grid;gap:12px}.tc-help-label{display:grid;gap:6px;font-weight:700;color:var(--tc-text, #111)}.tc-help-subtext{font-weight:500;color:var(--tc-muted, #666);font-size:.9rem;line-height:1.35}.tc-help-select,.tc-help-input,.tc-help-textarea,.tc-help-file{width:100%;border-radius:12px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:var(--tc-surface-solid, #fff);color:var(--tc-text, #111);padding:10px 12px;font-size:.95rem;outline:none}.tc-help-textarea{resize:vertical;min-height:120px}.tc-help-error{padding:10px 12px;border-radius:12px;background:#ff00001a;border:1px solid rgba(255,0,0,.22);color:#b00020;font-weight:700}.tc-help-success{padding:10px 12px;border-radius:12px;background:#00a0501a;border:1px solid rgba(0,160,80,.22);color:var(--tc-text, #111);font-weight:700}.tc-help-success a{color:var(--tc-link, #0b66ff);font-weight:800;text-decoration:none}.tc-help-success a:hover{text-decoration:underline}.tc-help-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.tc-help-cancel{padding:10px 12px;border-radius:12px;border:1px solid var(--tc-border, rgba(0,0,0,.12));background:transparent;cursor:pointer;font-weight:800;color:var(--tc-text, #111)}.tc-help-submit{padding:10px 14px;border-radius:12px;border:none;background:var(--tc-grad, linear-gradient(135deg, #ffef8a, #ffd700));color:var(--tc-on-accent, #111);cursor:pointer;font-weight:900}.tc-help-cancel:disabled,.tc-help-submit:disabled,.tc-help-select:disabled,.tc-help-input:disabled,.tc-help-textarea:disabled,.tc-help-file:disabled{opacity:.6;cursor:not-allowed}.stats-section{margin-bottom:20px}.stats-section:last-child{margin-bottom:0}.stats-section-title{font-size:1.1rem;font-weight:600;color:var(--tc-text);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--tc-border)}@media (max-width: 768px){.stats-panel{padding:20px;width:95%}.stats-grid{gap:12px}.stat-item{padding:10px 14px}.stat-label{font-size:.8rem}.stat-value{font-size:.9rem}.image-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000000e6!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:2147483647!important;animation:fadeIn .3s ease}.image-modal{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #00000080;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-img{max-width:100%;max-height:80vh;display:block;object-fit:contain}.image-modal-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease}.image-modal-close:hover{background:#000000e6}}@media (max-width: 480px){.map-controls-container{width:98%;top:8px;gap:6px}.map-search-form{height:34px}.map-search-input{padding:5px 10px;font-size:.8rem}.map-filters-container{padding:5px 6px;gap:5px}.filter-group{flex:1 1 100%;max-width:100%}.filter-select{padding:4px 8px;font-size:.7rem}.filter-label{font-size:.65rem}.category-badge{padding:2px 6px;font-size:.65rem}}.tc-achv-unlock{position:absolute;left:50%;top:18px;transform:translate(-50%);z-index:1400;pointer-events:none;width:min(520px,calc(100vw - 28px));animation:tc-achv-drop .38s ease-out}.tc-achv-unlock-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--tc-border);background:color-mix(in srgb,var(--tc-surface) 78%,#22c55e 22%);box-shadow:0 16px 40px #00000047;overflow:hidden}.tc-achv-unlock-card:before,.tc-achv-unlock-card:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.55) 0 2px,transparent 3px),radial-gradient(circle at 70% 30%,rgba(255,255,255,.35) 0 2px,transparent 3px),radial-gradient(circle at 40% 70%,rgba(255,255,255,.45) 0 2px,transparent 3px),radial-gradient(circle at 85% 75%,rgba(255,255,255,.3) 0 2px,transparent 3px);opacity:.35;transform:rotate(10deg)}.tc-achv-unlock-card:after{opacity:.18;transform:rotate(-8deg)}.tc-achv-unlock-icon{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);flex-shrink:0}.tc-achv-unlock-text{min-width:0;display:flex;flex-direction:column;gap:2px}.tc-achv-unlock-title{font-weight:900;color:var(--tc-text);line-height:1.1}.tc-achv-unlock-name{color:var(--tc-text);opacity:.9;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes tc-achv-drop{0%{transform:translate(-50%) translateY(-10px) scale(.98);opacity:0}to{transform:translate(-50%) translateY(0) scale(1);opacity:1}}.bucketlist-shell{position:relative;height:100%;width:100%;display:flex;flex-direction:column;min-height:0;padding:30px;box-sizing:border-box}.bucketlist-shell--maponly{overflow:hidden;overscroll-behavior:none}.bucketlist-mobile-tabs{display:none}@media (max-width: 860px){.bucketlist-mobile-tabs{display:flex;gap:6px;margin:6px 0 10px;padding:0 2px}.bucketlist-mobile-tab{flex:1;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-muted);font-weight:700;font-size:.9rem;padding:8px 0;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.bucketlist-mobile-tab.active{background:color-mix(in srgb,var(--tc-accent) 18%,var(--tc-surface-solid) 82%);border-color:var(--tc-accent);color:var(--tc-text)}}.bucketlist-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:14px 16px;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:16px;box-shadow:var(--tc-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bucketlist-back{background:var(--tc-surface);color:var(--tc-text);border:2px solid var(--tc-border);padding:10px 20px;border-radius:25px;cursor:pointer;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bucketlist-back:hover{background:var(--tc-surface-solid);transform:translateY(-2px)}.bucketlist-back:active{transform:translateY(0)}.bucketlist-title{font-weight:900;color:var(--tc-text)}.bucketlist-counter{margin-left:auto;padding:6px 10px;border-radius:999px;border:1px solid var(--tc-border);background:color-mix(in srgb,var(--tc-surface-solid) 88%,var(--tc-accent) 12%);color:var(--tc-text);font-weight:900;display:flex;align-items:center;gap:12px}.bucketlist-counter-item{display:flex;align-items:center;gap:4px}.bucketlist-counter-icon{font-size:1.1em;line-height:1}.bucketlist-counter-number{font-weight:900}.bucketlist-body{flex:1;min-height:0;display:grid;grid-template-columns:340px 1fr;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:16px;box-shadow:var(--tc-shadow);overflow:hidden}.bucketlist-body.bucketlist-body--listonly{grid-template-columns:1fr;min-width:0;overflow:hidden}.bucketlist-body.bucketlist-body--listonly .bucketlist-sidebar{min-width:0;overflow-x:hidden}.bucketlist-mobile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;border-bottom:1px solid var(--tc-border);width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.bucketlist-mobile-stat{min-width:0;max-width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);border-radius:12px;font-weight:900;color:var(--tc-text);overflow:hidden}.bucketlist-mobile-stat-icon{width:20px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}.bucketlist-mobile-stat-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tc-muted);font-weight:800;font-size:.8rem}.bucketlist-mobile-stat-number{flex:0 0 auto;font-size:1rem;font-weight:900}@media (max-width: 380px){.bucketlist-mobile-stat-label{font-size:.72rem}.bucketlist-mobile-stat-number{font-size:.95rem}.bucketlist-mobile-stat{padding:6px 8px;gap:4px}}.bucketlist-sidebar{border-right:1px solid var(--tc-border);background:var(--tc-surface);display:flex;flex-direction:column;min-height:0}.bucketlist-sidebar-row{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--tc-border);flex-wrap:wrap;row-gap:6px}.bucketlist-sidebar-row .bucketlist-search{flex:1 1 0;min-width:0}.bucketlist-sidebar-row .bucketlist-clear{flex:0 0 auto}.bucketlist-region-filters{display:flex;flex-wrap:wrap;gap:8px 10px;padding:8px 10px 10px;border-bottom:1px solid var(--tc-border)}.bucketlist-region-filters--dropdown{display:block;padding:8px 10px 10px}.bucketlist-region-select{width:100%;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);padding:8px 10px;font-weight:700;font-size:.9rem}.bucketlist-region-select:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--tc-accent) 35%,transparent)}.bucketlist-region-pill{border:none;background:transparent;color:var(--tc-muted);font-weight:700;font-size:.88rem;cursor:pointer;padding:4px 0;border-bottom:2px solid transparent}.bucketlist-region-pill.active{color:var(--tc-text);border-bottom-color:var(--tc-text)}.bucketlist-search{flex:1;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);border-radius:12px;padding:10px;font-weight:700;font-size:16px;outline:none}.bucketlist-search:focus{border-color:var(--tc-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--tc-accent) 35%,transparent)}.bucketlist-clear{border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);border-radius:12px;padding:10px;font-weight:900;cursor:pointer;white-space:nowrap}.bucketlist-clear:disabled{opacity:.55;cursor:not-allowed}.bucketlist-note{padding:10px 12px;color:var(--tc-muted);font-weight:700}.bucketlist-note-err{color:#ff4d4f}.bucketlist-note-warn{color:color-mix(in srgb,var(--tc-text) 70%,#ffb020 30%)}.bucketlist-note-info{color:var(--tc-muted)}.bucketlist-list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px 8px 10px}.bucketlist-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;-webkit-user-select:none;user-select:none;border:1px solid transparent}.bucketlist-item:hover{background:color-mix(in srgb,var(--tc-surface-solid) 80%,#000 20%)}.bucketlist-item.highlighted{background:color-mix(in srgb,var(--tc-surface-solid) 75%,var(--tc-accent) 25%);border-color:var(--tc-accent)}.bucketlist-item-name{color:var(--tc-text);font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.bucketlist-item-icons{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.bucketlist-item-icon{background:none;border:none;color:#9f9f9f;font-size:20px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;gap:4px;transition:color .2s;font-weight:900;width:32px;height:32px;text-shadow:none;-webkit-text-stroke:0}.bucketlist-item-icon-symbol{line-height:1}.bucketlist-item-icon-txt{display:none;font-size:.7rem;font-weight:700;white-space:nowrap}.tc-dark .bucketlist-item-icon{color:#6f6f6f}.bucketlist-item-icon:hover:not(:disabled){color:var(--tc-text)}.tc-dark .bucketlist-item-icon:hover:not(:disabled){color:#9f9f9f}.bucketlist-item-icon:disabled{opacity:.4;cursor:not-allowed}.bucketlist-item-icon.active{color:#00cd00}.bucketlist-item-icon.active:last-child{color:navy}.tc-dark .bucketlist-item-icon.active:last-child{color:navy}.bucketlist-item-badge{font-size:12px;padding:2px 6px;border-radius:6px;font-weight:900;margin-left:4px}.bucketlist-item-badge.visited-badge{background:color-mix(in srgb,var(--tc-accent) 20%,transparent);color:var(--tc-accent)}.bucketlist-item-badge.wanted-badge,.tc-dark .bucketlist-item-badge.wanted-badge{background:color-mix(in srgb,#000080 20%,transparent);color:navy}.bucketlist-popup-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:#0000004d!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;cursor:pointer;touch-action:manipulation;pointer-events:auto!important}.bucketlist-popup{background:var(--tc-surface-solid);border:1px solid var(--tc-border);border-radius:12px;padding:0;min-width:200px;max-width:90vw;box-shadow:0 8px 32px #0000004d;animation:none;cursor:default;pointer-events:auto!important;position:fixed;z-index:100000;transition:none!important}.bucketlist-popup:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--tc-surface-solid);z-index:100001}.bucketlist-popup:before{content:"";position:absolute;bottom:-9px;left:50%;transform:translate(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--tc-border);z-index:100000}@keyframes bucketlist-popup-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.bucketlist-popup-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 20px}.bucketlist-popup-title{font-size:18px;font-weight:900;color:var(--tc-text);margin:0;text-align:center}.bucketlist-popup-options{display:flex;align-items:flex-start;justify-content:center;gap:24px;flex-shrink:0}.bucketlist-popup-option{display:flex;flex-direction:column;align-items:center;gap:8px}.bucketlist-popup-label{font-size:13px;font-weight:700;color:var(--tc-muted);text-align:center}.bucketlist-popup-icon{background:none;border:none;color:#9f9f9f;font-size:22px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s;font-weight:900;width:36px;height:36px;border-radius:8px}.tc-dark .bucketlist-popup-icon{color:#6f6f6f}.bucketlist-popup-icon:hover:not(:disabled){color:var(--tc-text);background:color-mix(in srgb,var(--tc-surface-solid) 70%,#000 30%)}.tc-dark .bucketlist-popup-icon:hover:not(:disabled){color:#9f9f9f}.bucketlist-popup-options>.bucketlist-popup-option:first-child .bucketlist-popup-icon.active{color:#00cd00}.bucketlist-popup-options>.bucketlist-popup-option:last-child .bucketlist-popup-icon.active{color:navy}.tc-dark .bucketlist-popup-options>.bucketlist-popup-option:first-child .bucketlist-popup-icon.active{color:#00cd00}.tc-dark .bucketlist-popup-options>.bucketlist-popup-option:last-child .bucketlist-popup-icon.active{color:navy}.bucketlist-map-stats{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;gap:24px;z-index:1000;pointer-events:none}.bucketlist-stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--tc-surface-solid);border:1px solid var(--tc-border);border-radius:12px;padding:12px 16px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bucketlist-stat-icon{font-size:1.5em;line-height:1;font-weight:900}.bucketlist-stat-icon.visited-icon{color:#00cd00}.bucketlist-stat-icon.wanted-icon{color:navy}.bucketlist-stat-number{font-size:1.5em;font-weight:900;color:var(--tc-text);line-height:1}.bucketlist-stat-label{font-size:.85em;font-weight:700;color:var(--tc-muted);text-transform:uppercase;letter-spacing:.5px}.bucketlist-map-wrap{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden}.bucketlist-map{height:100%;width:100%}.bucketlist-map .leaflet-container{touch-action:none}.bucketlist-map .leaflet-container,.bucketlist-map .leaflet-container.leaflet-touch,.bucketlist-map .leaflet-container.leaflet-fade-anim,.bucketlist-map .leaflet-container.leaflet-grab,.bucketlist-map .leaflet-container.leaflet-touch-drag,.bucketlist-map .leaflet-container.leaflet-touch-zoom{background:#c8c8c8!important;background-color:#c8c8c8!important}.tc-dark .bucketlist-map .leaflet-container,.tc-dark .bucketlist-map .leaflet-container.leaflet-touch,.tc-dark .bucketlist-map .leaflet-container.leaflet-fade-anim,.tc-dark .bucketlist-map .leaflet-container.leaflet-grab,.tc-dark .bucketlist-map .leaflet-container.leaflet-touch-drag,.tc-dark .bucketlist-map .leaflet-container.leaflet-touch-zoom{background:#1a1a2e!important;background-color:#1a1a2e!important}.bucketlist-country-tooltip{background:var(--tc-surface-solid)!important;border:1px solid var(--tc-border)!important;color:var(--tc-text)!important;font-weight:800!important;padding:6px 10px!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;font-size:13px!important;white-space:nowrap!important}.bucketlist-cursor-tooltip{background:var(--tc-surface-solid);border:1px solid var(--tc-border);color:var(--tc-text);font-weight:800;padding:6px 10px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:13px;white-space:nowrap}.bucketlist-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000014;pointer-events:none}.bucketlist-login-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;justify-content:center;align-items:flex-start;padding-top:80px;z-index:1000;pointer-events:none}.bucketlist-login-overlay .bucketlist-login-message{position:relative;pointer-events:auto;background:var(--tc-surface);border:1px solid var(--tc-border);padding:18px 26px;border-radius:15px;box-shadow:0 4px 20px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bucketlist-login-overlay .bucketlist-login-message p{margin:0;font-size:1.05rem;font-weight:600;color:var(--tc-text)}.bucketlist-login-overlay .bucketlist-login-sub{margin-top:10px;font-size:.9rem;color:var(--tc-muted);font-weight:500}.bucketlist-login-overlay .bucketlist-login-sub a{color:var(--tc-accent);text-decoration:none}.bucketlist-login-overlay .bucketlist-login-sub a:hover{text-decoration:underline}.bucketlist-login-close{position:absolute;top:8px;right:10px;width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:var(--tc-muted);cursor:pointer;font-size:18px;line-height:1}.bucketlist-login-close:hover{background:#ffd7001f;color:var(--tc-text)}.bucketlist-map .leaflet-interactive:focus{outline:none!important}.bucketlist-map .leaflet-interactive:focus-visible{outline:none!important}.bucketlist-map path.leaflet-interactive:focus{outline:none!important;stroke-width:inherit!important}@media (max-width: 860px){.bucketlist-shell{padding:14px;min-width:0;overflow-x:hidden}.bucketlist-body{grid-template-columns:1fr;grid-template-rows:1fr;min-width:0}.bucketlist-sidebar{border-right:none;border-bottom:none;min-width:0}.bucketlist-item{padding:10px;gap:8px;flex-wrap:nowrap;min-width:0}.bucketlist-item-icons{order:-1;gap:6px;flex-shrink:0}.bucketlist-item-name{min-width:0;order:0}.bucketlist-item-icon-txt{display:inline}.bucketlist-item-icon{width:auto;min-width:36px;height:36px;padding:0 8px;font-size:16px;border:1px solid var(--tc-border);border-radius:10px;background:var(--tc-surface-solid);color:var(--tc-text)}.bucketlist-item-icon:hover:not(:disabled){background:color-mix(in srgb,var(--tc-surface-solid) 90%,var(--tc-accent) 10%);border-color:var(--tc-accent)}.bucketlist-item-icon.active{border-color:var(--tc-accent)}.bucketlist-item-icon.bucketlist-item-icon-visited.active{background:color-mix(in srgb,#00CD00 18%,var(--tc-surface-solid) 82%);color:#00cd00}.bucketlist-item-icon.bucketlist-item-icon-wanted.active{background:color-mix(in srgb,#000080 18%,var(--tc-surface-solid) 82%);color:navy}}.discord-login-btn{background:#5865f2;color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.discord-login-btn:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.discord-icon{width:24px;height:24px}.trip-planner{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--tc-bg);color:var(--tc-text)}.trip-blog-view{min-height:100vh;height:100vh}.trip-blog-view .journal-entries{max-height:none;overflow:visible}.trip-blog-view .blog-comments{margin-top:12px;border-top:1px solid var(--tc-border);padding-top:10px}.trip-blog-view .blog-comments-title{font-weight:900;color:var(--tc-text);margin:0 0 8px}.trip-blog-view .blog-comment-item{border:1px solid var(--tc-border);background:var(--tc-surface-solid);border-radius:12px;padding:10px 12px;margin-top:8px}.trip-blog-view .blog-comment-meta{color:var(--tc-muted);font-weight:800;font-size:.9rem}.trip-blog-view .blog-comment-text{margin-top:6px;color:var(--tc-text);white-space:pre-wrap;overflow-wrap:anywhere}.trip-blog-view .blog-comment-form{margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.trip-blog-view .blog-comment-input,.trip-blog-view .blog-comment-textarea{width:100%;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);padding:10px 12px;font-family:inherit;outline:none}.trip-blog-view .blog-comment-textarea{resize:vertical;min-height:90px}.trip-blog-view .blog-comment-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.trip-blog-view .blog-comment-send{background:var(--tc-grad);color:var(--tc-on-accent);border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.trip-blog-view .blog-comment-send:disabled{opacity:.6;cursor:not-allowed}.trip-blog-view .blog-comment-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-blog-view .blog-comment-meta-left{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-blog-view .blog-comment-delete{background:var(--tc-surface);color:var(--tc-text);border:1px solid var(--tc-border);border-radius:10px;padding:6px 10px;font-weight:900;cursor:pointer}.trip-blog-view .blog-comment-actions-inline{display:flex;align-items:center;gap:8px}.trip-blog-view .blog-comment-reply{background:var(--tc-surface);color:var(--tc-text);border:1px solid var(--tc-border);border-radius:10px;padding:6px 10px;font-weight:900;cursor:pointer}.trip-blog-view .blog-comment-reply:hover,.trip-blog-view .blog-comment-delete:hover{background:var(--tc-surface-solid)}.trip-blog-view .trip-blog-byline{color:var(--tc-muted);font-weight:800;font-size:.95rem}.trip-blog-view .trip-blog-meta-card{grid-column:1 / -1;width:100%;max-width:900px;justify-self:center}.trip-blog-view .blog-entry-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.trip-blog-view .blog-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-muted);font-weight:900;font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-planner-header{background:var(--tc-grad);color:var(--tc-on-accent);padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.back-btn{background:var(--tc-surface);color:var(--tc-text);border:2px solid var(--tc-border);padding:10px 20px;border-radius:25px;cursor:pointer;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-btn:hover{background:var(--tc-surface-solid);transform:translateY(-2px)}.create-trip-btn{background:var(--tc-grad);color:var(--tc-on-accent);border:2px solid rgba(0,0,0,.12);padding:10px 20px;border-radius:25px;cursor:pointer;font-weight:800;transition:all .3s ease;box-shadow:0 6px 18px #00000024}.create-trip-btn:hover{transform:translateY(-2px);filter:brightness(1.02)}.create-trip-plus-btn{width:56px;height:56px;border-radius:999px;border:2px solid rgba(0,0,0,.12);background:var(--tc-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px #00000024;transition:transform .2s ease,filter .2s ease,opacity .2s ease}.create-trip-plus-btn:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.create-trip-plus-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.create-trip-plus-btn svg{width:24px;height:24px;display:block}.trip-planner-pwa .create-trip-btn{width:140px;flex:0 0 140px;padding:10px 12px;height:56px;border-radius:28px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.05}.trip-planner-fab{position:fixed;right:18px;bottom:18px;width:64px;height:64px;border-radius:999px;border:2px solid rgba(0,0,0,.12);background:var(--tc-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #0003;cursor:pointer;z-index:2147483000}.trip-planner-fab:hover{filter:brightness(1.03);transform:translateY(-1px)}.trip-planner-fab-icon{width:30px;height:30px;display:block}.pwa-trip-card.pwa-collapsed{cursor:pointer}.pwa-collapsed-hint{opacity:.75;font-weight:900;font-size:1.1rem;letter-spacing:1px}.pwa-card-footer-hint{margin-top:10px;font-size:.9rem;color:var(--tc-text-muted);opacity:.95;padding-top:8px;border-top:1px dashed rgba(0,0,0,.08)}.participants-list{display:flex;flex-direction:column;gap:12px}.participants-item{padding:14px;border:1px solid var(--tc-border);border-radius:14px;background:var(--tc-surface);box-shadow:var(--tc-shadow)}.participants-main{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.participants-name{font-weight:900;color:var(--tc-text)}.participants-email{color:var(--tc-text-muted);font-weight:600;overflow-wrap:anywhere}.participants-meta{margin-top:8px;display:flex;flex-direction:column;gap:6px}.participants-address{color:var(--tc-text);opacity:.95;white-space:pre-wrap;overflow-wrap:anywhere}.participants-when{color:var(--tc-text-muted);font-size:.9rem}.friend-extra{display:block;margin-top:6px;color:var(--tc-text);opacity:.92;font-size:.92rem;white-space:pre-wrap;overflow-wrap:anywhere}.trip-planner-content{flex:1;padding:30px;overflow-y:auto;overflow-x:hidden;min-height:0}.trip-planner-pwa .trip-planner-content{padding-bottom:110px}.trip-planner-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:14px 16px;background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:16px;box-shadow:var(--tc-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trip-planner-toolbar-actions{display:inline-flex;align-items:center;gap:10px;min-width:140px;justify-content:flex-end}.trip-reminder-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,filter .2s ease,opacity .2s ease}.trip-reminder-btn:hover:not(:disabled){filter:brightness(1.02);transform:translateY(-1px)}.trip-reminder-settings-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,filter .2s ease,opacity .2s ease}.trip-reminder-settings-btn:hover:not(:disabled){filter:brightness(1.02);transform:translateY(-1px)}.trip-mini-menu{position:absolute;top:56px;right:0;z-index:50;width:240px;padding:12px;border-radius:14px;background:var(--tc-surface);color:var(--tc-text);border:1px solid var(--tc-border);box-shadow:var(--tc-shadow-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trip-mini-menu-title{font-weight:900;margin-bottom:10px}.trip-mini-menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.trip-mini-menu .menu-item-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.trip-mini-menu .menu-item-icon{width:20px;display:inline-flex;justify-content:center;flex:0 0 auto}.trip-reminder-select{height:36px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);padding:0 10px;font-weight:800;cursor:pointer}.trip-profile-public-select{height:36px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);padding:0 10px;font-weight:800;cursor:pointer;max-width:140px}.reminder-settings-modal{max-width:520px}.reminder-mode{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.reminder-radio{display:inline-flex;gap:8px;align-items:center;font-weight:800;color:var(--tc-text)}.reminder-trip-list-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.reminder-trip-group{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08)}.reminder-trip-group-title{font-weight:900;margin-bottom:8px;color:var(--tc-text)}.reminder-trip-item{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface);margin-bottom:8px}.reminder-trip-name{font-weight:800;color:var(--tc-text)}@media (max-width: 768px){.shared-trip-view .trip-planner-toolbar{position:static}.shared-trip-view .calendar-day-group-title{position:static;top:auto}}.trip-planner-title{margin:0;font-size:1.4rem;font-weight:800;color:var(--tc-text);text-align:center;flex:1}.empty-state{text-align:center;padding:60px 20px;max-width:500px;margin:0 auto}.empty-state p{color:var(--tc-muted);margin-bottom:30px}.cta-btn{background:var(--tc-grad);color:var(--tc-on-accent);border:none;padding:15px 30px;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #ffd70059}.trips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;max-width:1600px;margin:0 auto}.trips-grid>.trip-card{height:100%;display:flex;flex-direction:column;min-width:0}.trips-grid .trip-card .trip-header{flex:0 0 auto}.trips-grid.trips-grid-single{grid-template-columns:minmax(0,980px);justify-content:center}.trip-blog-view .trips-grid{max-width:1400px}.trip-blog-view .trip-blog-entry-card{padding:20px}@media (max-width: 600px){.trips-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;padding:0 12px}.trips-grid.trips-grid-single{grid-template-columns:minmax(0,1fr)}}@media (min-width: 601px) and (max-width: 900px){.trips-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px}}@media (min-width: 901px) and (max-width: 1200px){.trips-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px}}@media (min-width: 1201px){.trips-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px}}.trip-card{background:var(--tc-surface);border-radius:15px;padding:25px;box-shadow:var(--tc-shadow);transition:all .3s ease;border:1px solid var(--tc-border)}.trip-card:hover{transform:translateY(-5px);box-shadow:var(--tc-shadow-strong)}.trip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;gap:10px;flex-wrap:wrap}.trip-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:100%;min-width:0;position:relative}.trip-header h3{margin:0;color:var(--tc-text);font-size:1.3rem;font-weight:600;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-card .trip-reminder-select{min-width:88px;max-width:110px}.trip-share-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:220px;max-width:min(260px,calc(100vw - 32px));background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:14px;box-shadow:var(--tc-shadow-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px}.trip-share-menu-item{width:100%;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:800;text-align:left}.trip-share-menu-item+.trip-share-menu-item{margin-top:8px}.trip-share-menu-item:hover{filter:brightness(1.03)}.modal-content.weather-modal{max-width:600px}.weather-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.weather-label{font-weight:900;color:var(--tc-text);min-width:44px}.weather-select{flex:1;height:38px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);padding:0 10px;font-weight:800}.weather-loading{color:var(--tc-muted);font-weight:800}.weather-error{color:var(--tc-text);background:color-mix(in srgb,var(--tc-surface-solid) 80%,#ff4757 20%);border:1px solid var(--tc-border);padding:10px 12px;border-radius:12px;font-weight:800}.weather-panel{border:1px solid var(--tc-border);background:var(--tc-surface);border-radius:14px;padding:12px}.weather-place-title{font-weight:900;color:var(--tc-text)}.weather-place-sub{color:var(--tc-muted);font-weight:800}.weather-current{margin-top:10px;border-top:1px solid var(--tc-border);padding-top:10px}.weather-current-main{display:flex;align-items:baseline;gap:10px}.weather-current-temp{font-size:1.6rem;font-weight:900;color:var(--tc-text)}.weather-current-text{color:var(--tc-muted);font-weight:800}.weather-current-meta{margin-top:6px;display:flex;gap:12px;flex-wrap:wrap;color:var(--tc-muted);font-weight:700;font-size:.92rem}.weather-days{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.weather-day{border:1px solid var(--tc-border);background:var(--tc-surface-solid);border-radius:12px;padding:10px}.weather-day-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.weather-day-date{color:var(--tc-text);font-weight:900;font-size:.9rem}.weather-day-temps{margin-top:8px;display:flex;justify-content:space-between;align-items:baseline;font-weight:900}.weather-day-max{color:var(--tc-text)}.weather-day-min{color:var(--tc-muted)}.weather-day-pop{margin-top:6px;color:var(--tc-muted);font-weight:700;font-size:.85rem}@media (max-width: 520px){.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}}.edit-trip-btn,.delete-trip-btn,.share-trip-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.6;transition:opacity .3s ease;padding:5px}.edit-trip-btn:hover,.delete-trip-btn:hover,.share-trip-btn:hover{opacity:1}.share-modal{max-width:600px}.share-link-row{display:grid;grid-template-columns:1fr 40px;gap:10px;align-items:end;margin-bottom:14px}.copy-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:var(--tc-surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;transition:transform .15s ease,opacity .15s ease,background .15s ease;opacity:.9}.copy-icon-btn:hover{opacity:1;transform:translateY(-1px);background:var(--tc-surface-solid)}.copy-icon-btn.copied{background:#28a745;border-color:#28a745;color:#fff;opacity:1}.share-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.flight-details-section{margin:18px 0;padding:14px;border:1px solid var(--tc-border);border-radius:14px;background:var(--tc-surface)}.flight-details-section h3{margin:0 0 10px}.flight-details-box{padding:10px 12px;background:var(--tc-surface-solid);border-radius:8px;border-left:3px solid #ffd700}.flight-details-lines{font-size:.95rem;line-height:1.45;color:var(--tc-text)}.flight-details-lines>div{margin:3px 0}.calendar-add{padding:14px;border:1px solid var(--tc-border);border-radius:14px;background:var(--tc-surface);margin-bottom:14px}.calendar-list{display:flex;flex-direction:column;gap:10px}.calendar-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:12px;border:1px solid var(--tc-border);border-radius:14px;background:var(--tc-surface-solid)}.calendar-item-actions{display:inline-flex;gap:6px;align-items:center;flex-shrink:0}.calendar-item-main{flex:1;min-width:0}.calendar-item-title{font-weight:800;color:var(--tc-text)}.calendar-item-when{margin-top:2px;color:var(--tc-muted);font-size:.9rem}.calendar-item-notes{margin-top:8px;color:var(--tc-text);font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-day-group{display:flex;flex-direction:column;gap:10px}.calendar-day-group-title{font-weight:900;color:#222;margin-top:6px;padding:8px 12px;border-radius:12px;background:gold;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px #00000014;position:sticky;top:0;z-index:1}.calendar-layout{display:block}.calendar-layout-readonly .calendar-add{display:none}.calendar-day-panel{margin-top:14px;padding:14px;border:1px solid var(--tc-border);border-radius:16px;background:var(--tc-surface);box-shadow:var(--tc-shadow)}.calendar-day-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-day-actions{display:flex;justify-content:flex-end;gap:10px;margin:10px 0}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-month{flex:1;text-align:center;font-weight:800;text-transform:capitalize}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-weekday{text-align:center;font-size:.8rem;color:var(--tc-muted);font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{position:relative;height:46px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-start;padding:8px;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.calendar-day.has-events{border-color:#ffd70073;background:var(--tc-surface)}.calendar-day.has-events:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:8px;height:8px;border-radius:50%;background:#ffd700f2;box-shadow:0 0 0 2px #ffd70038}.calendar-day:hover{transform:translateY(-1px);box-shadow:var(--tc-shadow-strong)}.calendar-day.inactive{opacity:.35}.calendar-day.selected{border-color:#ffd700b3;box-shadow:0 0 0 3px #ffd70038}.calendar-day-num{font-weight:800;color:var(--tc-text);font-size:.9rem}.calendar-day-list{margin-top:8px}.help-text{margin-top:12px;color:var(--tc-muted);font-size:.9rem}.share-actions .copied{filter:saturate(1.1)}.trip-description{color:var(--tc-muted);margin-bottom:15px;line-height:1.5}.trip-dates{color:var(--tc-muted);font-size:.9rem;margin-bottom:15px}.trip-destinations{margin-bottom:20px}.destinations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.destinations-title{font-weight:600;color:var(--tc-text);font-size:.9rem}.add-destination-btn{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb;padding:4px 12px;border-radius:15px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .3s ease}.add-destination-btn:hover{background:#bbdefb;transform:translateY(-1px)}.destinations-list{display:flex;flex-wrap:wrap;gap:8px}.destination-tag{background:var(--tc-surface);color:var(--tc-muted);padding:6px 12px;border-radius:15px;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:6px}.destination-link{border:none;background:none;padding:0;cursor:pointer;color:#0b5ed7;text-decoration:underline;text-underline-offset:2px;font:inherit;font-weight:700}.destination-link:hover{color:#084298}.remove-destination-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1rem;line-height:1;padding:0;margin-left:4px;transition:color .3s ease}.remove-destination-btn:hover{color:#ff4757}.trip-planner .form-group input:focus,.trip-planner .form-group textarea:focus,.trip-planner .form-group select:focus,.trip-planner .search-input:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70040}.no-destinations{color:#999;font-style:italic;font-size:.9rem}.trip-info-indicators{display:flex;gap:8px;margin-bottom:15px}.info-indicator{font-size:.8rem;padding:4px 8px;border-radius:12px;font-weight:600}.notes-indicator{background:#e3f2fd;color:#1976d2}.todos-indicator{background:#e8f5e8;color:#388e3c}.packing-indicator{background:#fff3e0;color:#f57c00}.airline-indicator{background:#e3f2fd;color:#1976d2}.friends-indicator{background:#fce4ec;color:#e91e63}.journal-indicator{background:#f3e5f5;color:#9c27b0}.trip-actions{display:flex;gap:10px;flex-wrap:wrap}.trip-action-btn{background:var(--tc-surface-solid);border:1px solid var(--tc-border);color:var(--tc-text);padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;flex:1;min-width:100px}.trip-action-btn:hover{filter:brightness(1.03);border-color:#00000040;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--tc-surface-solid);color:var(--tc-text);border-radius:15px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;overflow-x:hidden;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:var(--tc-shadow-strong);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:25px 25px 15px;border-bottom:1px solid var(--tc-border);display:flex;justify-content:space-between;align-items:center;flex:0 0 auto}.modal-header h2{margin:0;color:var(--tc-text);font-size:1.4rem}.close-modal-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--tc-muted);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-modal-btn:hover{background:var(--tc-surface);color:var(--tc-text)}.trip-planner input,.trip-planner textarea,.trip-planner select{background:var(--tc-surface-solid);color:var(--tc-text);border:1px solid var(--tc-border)}.trip-planner input::placeholder,.trip-planner textarea::placeholder{color:color-mix(in srgb,var(--tc-muted) 80%,transparent)}.modal-body{padding:25px;max-height:none;min-height:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;flex:1 1 auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--tc-text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;min-height:44px;border:2px solid var(--tc-border);border-radius:12px;font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70038}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.modal-footer{padding:15px 25px 25px;border-top:1px solid var(--tc-border);display:flex;justify-content:flex-end;gap:15px;flex:0 0 auto;flex-wrap:wrap;align-items:center}.cancel-btn,.create-btn,.save-btn,.close-btn{padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1;box-sizing:border-box;white-space:nowrap;flex:0 0 auto}.cancel-btn{background:var(--tc-surface-solid);color:var(--tc-text);border-color:var(--tc-border)}.cancel-btn:hover{filter:brightness(1.03);border-color:#00000040}.create-btn{background:var(--tc-grad);color:var(--tc-on-accent)}.create-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70059}.create-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.close-btn{background:#6c757d;color:#fff;border-color:#5a6268;max-width:100%}.close-btn:hover{background:#5a6268;border-color:#545b62}.modal-footer .close-btn{font-size:.95rem;width:auto;height:auto;min-width:140px;padding:10px 18px;border-radius:8px;background:#6c757d;color:#fff;border:2px solid #5a6268}.modal-content.notes-modal{max-width:600px;overflow:hidden}.modal-content.calendar-modal{max-width:600px}.notes-textarea{width:100%;min-height:300px;padding:16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .3s ease;background:var(--tc-surface-solid);color:var(--tc-text)}.notes-toolbar{display:flex;gap:10px;margin-bottom:12px}.notes-tab{border:2px solid rgba(0,0,0,.12);background:var(--tc-surface);color:var(--tc-text);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:700;font-size:.9rem;transition:all .2s ease}.notes-tab:hover{background:var(--tc-surface-solid)}.notes-tab.active{background:var(--tc-grad);border-color:#00000026}.notes-preview{width:100%;padding:16px;border:2px solid var(--tc-border);border-radius:12px;background:var(--tc-surface-solid);line-height:1.6;color:var(--tc-text);overflow-wrap:anywhere}.notes-preview p{margin:0 0 10px}.notes-preview ul{margin:0 0 10px 18px;padding:0}.notes-preview li{margin:4px 0}.notes-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em;background:color-mix(in srgb,var(--tc-text) 10%,transparent);padding:2px 6px;border-radius:6px}.notes-preview-empty{margin:0;color:#888;font-style:italic}.notes-textarea:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70038}.modal-content.todos-modal{max-width:800px;max-height:90vh;overflow:hidden}.add-todo-section{margin-bottom:25px;padding:20px;background:var(--tc-surface);border-radius:12px}.add-todo-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) 52px;gap:12px;align-items:center}.todo-input{width:100%;padding:12px 16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.todo-input:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70038}.todo-category-select{padding:12px 16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;min-width:150px;background:var(--tc-surface-solid);max-width:100%}.add-todo-btn{background:var(--tc-grad);color:var(--tc-on-accent);border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease;width:52px;min-width:52px;padding:0}.add-todo-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70059}.add-todo-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.todos-list{max-height:400px;overflow-y:auto;overflow-x:hidden;padding-right:5px}.todo-category-section{margin-bottom:20px;padding:16px;background:var(--tc-surface-solid);border-radius:8px;border:1px solid var(--tc-border)}.category-title{margin:0 0 12px;font-size:1.1rem;font-weight:600}.todo-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;transition:background .3s ease}.todo-item:hover{background:var(--tc-surface)}.todo-item.completed{opacity:.6}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--tc-muted)}.todo-checkbox{width:18px;height:18px;cursor:pointer}.todo-text{flex:1;font-size:1rem;color:var(--tc-text)}.remove-todo-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;transition:opacity .3s ease;padding:4px}.remove-todo-btn:hover{opacity:1}.empty-todos{text-align:center;padding:40px 20px;color:var(--tc-muted)}.empty-todos p{margin:0 0 8px;font-size:1.1rem}.empty-todos small{opacity:.7}.modal-content.packing-modal{max-width:800px;max-height:90vh;overflow:hidden}.templates-section{margin-bottom:25px;padding:20px;background:var(--tc-surface);border-radius:12px}.clear-list-section{margin-bottom:25px;display:flex;justify-content:center}.clear-list-btn{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:20px;cursor:pointer;font-weight:500;transition:all .3s ease}.clear-list-btn:hover{background:#c82333;transform:translateY(-2px)}.templates-section h3{margin:0 0 15px;color:var(--tc-text);font-size:1.1rem}.template-buttons{display:flex;flex-wrap:wrap;gap:10px}.template-btn{background:var(--tc-grad);color:var(--tc-on-accent);border:none;padding:10px 16px;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.template-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffd70059}.add-item-section{margin-bottom:25px;padding:20px;background:var(--tc-surface);border-radius:12px;border:1px solid var(--tc-border)}.add-item-section h3{margin:0 0 15px;color:var(--tc-text);font-size:1.1rem}.add-item-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) 52px;gap:12px;align-items:center}.item-input{width:100%;min-width:0;padding:12px 16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.item-input:focus{outline:none;border-color:var(--tc-accent)}.category-select{padding:12px 16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;background:var(--tc-surface-solid);min-width:150px;max-width:100%}.add-item-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:2px solid transparent;width:52px;min-width:52px;padding:0;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.add-item-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.add-item-btn:disabled{opacity:.6;cursor:not-allowed}.packing-list{max-height:400px;overflow-y:auto}.packing-category{margin-bottom:20px;padding:16px;background:var(--tc-surface-solid);border-radius:8px;border:1px solid var(--tc-border)}.category-header{margin:0 0 12px;font-size:1.1rem;font-weight:600;display:flex;justify-content:space-between;align-items:center}.category-count{font-size:.9rem;opacity:.7}.empty-category{color:var(--tc-muted);font-style:italic;text-align:center;padding:20px}.packing-items{display:flex;flex-direction:column;gap:8px}.packing-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;transition:background .3s ease}.packing-item:hover{background:var(--tc-surface)}.packing-item.packed{opacity:.7}.packing-item.packed .packing-item-text{text-decoration:line-through;color:var(--tc-muted)}.packing-checkbox{width:18px;height:18px;cursor:pointer}.packing-item-text{flex:1;font-size:1rem;color:var(--tc-text)}.remove-packing-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;transition:opacity .3s ease;padding:4px}.remove-packing-btn:hover{opacity:1}.modal-content.friends-modal{max-width:600px;overflow:hidden}.add-friend-section{margin-bottom:25px;text-align:center}.add-friend-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-weight:600;transition:all .3s ease}.add-friend-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.add-friend-form{margin-top:15px;padding:20px;background:var(--tc-surface);border-radius:12px}.friend-input{flex:1;padding:10px 14px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.friend-input:focus{outline:none;border-color:var(--tc-accent)}.form-actions{margin-top:15px;display:flex;justify-content:center;gap:10px}.friend-main{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer}.delete-friend-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6;transition:opacity .3s ease;padding:8px}.delete-friend-btn:hover{opacity:1}.empty-friends{text-align:center;padding:30px 20px;color:var(--tc-muted)}.empty-friends p{margin:0 0 8px;font-size:1rem}.selected-friends{margin-bottom:25px;padding:20px;background:var(--tc-surface);border-radius:12px;border:1px solid var(--tc-border)}.selected-friends h3{margin:0 0 15px;color:var(--tc-text);font-size:1.1rem}.friends-list{display:flex;flex-direction:column;gap:12px}.friend-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--tc-surface-solid);border-radius:8px;border:1px solid var(--tc-border);cursor:pointer;transition:all .3s ease}.friend-item:hover{border-color:var(--tc-accent);transform:translateY(-1px)}.friend-item.selected{background:var(--tc-surface-solid);border-color:var(--tc-border)}.friend-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.friend-avatar img{width:100%;height:100%;object-fit:cover}.default-avatar{width:100%;height:100%;background:var(--tc-grad);display:flex;align-items:center;justify-content:center;color:var(--tc-on-accent);font-weight:700;font-size:1.1rem}.friend-info{flex:1;min-width:0}.friend-name{display:block;font-weight:600;color:var(--tc-text);margin-bottom:2px}.friend-phone{display:block;color:var(--tc-muted);font-size:.9rem}.remove-friend-btn,.selection-indicator{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.remove-friend-btn{background:none;color:var(--tc-text);border:none;cursor:pointer;opacity:.65;transition:opacity .2s ease}.remove-friend-btn:hover{opacity:1}.selection-indicator{background:#28a745;color:#fff}.available-friends h3{margin:20px 0 15px;color:var(--tc-text);font-size:1.1rem}.modal-content.journal-modal{max-width:800px;max-height:90vh;overflow:hidden}.journal-controls{margin-bottom:25px;text-align:center}.add-entry-btn{background:linear-gradient(135deg,#9c27b0,#ba68c8);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.add-entry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #9c27b066}.journal-entries{max-height:500px;overflow-y:auto;padding-right:10px}.journal-entries::-webkit-scrollbar{width:6px}.journal-entries::-webkit-scrollbar-track{background:var(--tc-surface);border-radius:3px}.journal-entries::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--tc-muted) 55%,transparent);border-radius:3px}.journal-entries::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--tc-muted) 75%,transparent)}.journal-entry{background:var(--tc-surface);border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:var(--tc-shadow);border:1px solid var(--tc-border)}.entry-header{margin-bottom:15px}.entry-header h4{margin:0 0 8px;color:var(--tc-text);font-size:1.2rem}.entry-meta{display:flex;gap:15px;font-size:.9rem;color:var(--tc-muted)}.entry-content p{color:var(--tc-text);line-height:1.6;margin:15px 0}.entry-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.entry-photo{width:120px;height:120px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .3s ease}.entry-photo:hover{transform:scale(1.05)}.entry-actions{display:flex;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--tc-border)}.edit-entry-btn,.delete-entry-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.edit-entry-btn{background:#ffc107;color:#333}.edit-entry-btn:hover{background:#e0a800}.delete-entry-btn{background:#dc3545;color:#fff}.delete-entry-btn:hover{background:#c82333}.empty-journal{text-align:center;padding:40px 20px;color:#6c757d}.empty-journal p{margin:0 0 8px;font-size:1.1rem}.modal-content.entry-modal{max-width:600px;overflow:hidden}.photo-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.photo-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden}.photo-item img{width:100%;height:100%;object-fit:cover}.remove-photo-btn{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:#dc3545e6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.remove-photo-btn:hover{background:#dc3545}.file-upload-btn{display:inline-block;background:var(--tc-surface-solid);color:var(--tc-text);border:2px solid var(--tc-border);padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.file-upload-btn:hover{filter:brightness(1.03);border-color:#00000040}.modal-content.airlines-modal{max-width:700px;overflow:hidden}.current-airline{margin-bottom:25px;padding:20px;background:#e3f2fd;border-radius:12px}.current-airline h3{margin:0 0 15px;color:#1976d2}.airline-card{padding:16px;border:2px solid var(--tc-border);border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--tc-surface-solid);margin-bottom:12px}.airline-card:hover{border-color:var(--tc-accent);transform:translateY(-2px);box-shadow:0 4px 15px #ffd70038}.airline-card.selected{border-color:#28a745;background:color-mix(in srgb,var(--tc-surface-solid) 80%,#28a745 20%)}.airline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.airline-header-actions{display:inline-flex;align-items:center;gap:10px}.airline-portal-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:700;font-size:.8rem;text-decoration:none;white-space:nowrap}.airline-portal-btn:hover{background:var(--tc-surface-solid)}.collapse-toggle-row{display:flex;justify-content:flex-end;margin:6px 0 10px}.secondary-btn{background:var(--tc-surface);color:var(--tc-text);border:2px solid var(--tc-border);padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:600;transition:all .2s ease}.secondary-btn:hover{background:var(--tc-surface-solid);transform:translateY(-1px)}.secondary-btn.active{background:var(--tc-grad);color:#fff;border-color:#0000001f}.airline-name{font-size:1.2rem;font-weight:600;color:var(--tc-text)}.airline-code{background:var(--tc-surface);color:var(--tc-muted);padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600}.baggage-info{display:flex;flex-direction:column;gap:6px}.baggage-item{font-size:.9rem;color:var(--tc-muted)}.search-section{margin-bottom:20px}.airlines-list{max-height:400px;overflow-y:auto}.flight-accordion{display:flex;flex-direction:column;gap:10px}.flight-accordion-item{border:1px solid var(--tc-border);border-radius:14px;background:var(--tc-surface);box-shadow:var(--tc-shadow);overflow:hidden}.flight-accordion-summary{width:100%;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;background:var(--tc-surface-solid);border:none;cursor:pointer;text-align:left}.flight-accordion-summary-main{min-width:0;flex:1}.flight-accordion-title{font-weight:900;color:var(--tc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-accordion-subtitle{margin-top:2px;color:var(--tc-text-muted);font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-accordion-actions{display:inline-flex;gap:8px;flex:0 0 auto}.flight-accordion-actions .secondary-btn{padding:8px 10px;border-radius:12px}.flight-accordion-content{padding:12px 12px 14px;border-top:1px solid var(--tc-border)}.destination-search{margin-bottom:25px;padding:20px;background:var(--tc-surface);border-radius:12px}.search-input-container{position:relative;margin-bottom:15px}.destination-search-input{width:100%;padding:14px 50px 14px 16px;border:2px solid var(--tc-border);border-radius:12px;font-size:1rem;transition:border-color .3s ease}.destination-search-input:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70038}.search-spinner{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.1rem}.destination-search-results{background:var(--tc-surface-solid);border-radius:8px;box-shadow:var(--tc-shadow);border:1px solid var(--tc-border);overflow:hidden}.destination-search-result{width:100%;padding:12px 16px;border:none;background:var(--tc-surface-solid);text-align:left;cursor:pointer;transition:background .3s ease;border-bottom:1px solid var(--tc-border)}.destination-search-result:last-child{border-bottom:none}.destination-search-result:hover:not(:disabled){background:var(--tc-surface)}.destination-search-result:disabled{opacity:.5;cursor:not-allowed}.search-result-name{font-weight:600;color:var(--tc-text);margin-bottom:4px}.search-result-details{font-size:.85rem;color:var(--tc-muted)}.modal-content.destination-modal{max-width:600px;overflow:hidden}.search-container{margin-bottom:20px}.search-input{width:100%;padding:12px 16px;border:2px solid var(--tc-border);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--tc-accent);box-shadow:0 0 0 3px #ffd70038}.countries-list{max-height:400px;overflow-y:auto}.country-item{border:1px solid var(--tc-border);border-radius:8px;margin-bottom:8px;overflow:hidden}.country-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--tc-surface);cursor:pointer;transition:background .3s ease}.country-header:hover{background:var(--tc-surface-solid)}.country-flag{font-size:1.2rem}.country-name{flex:1;margin-left:12px;font-weight:600;color:var(--tc-text)}.expand-icon{font-size:1.2rem;color:var(--tc-muted);font-weight:700}.cities-list{background:var(--tc-surface-solid);border-top:1px solid var(--tc-border)}.city-item{width:100%;padding:10px 16px;border:none;background:var(--tc-surface-solid);text-align:left;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.city-item:hover:not(:disabled){background:var(--tc-surface)}.city-item.selected{background:color-mix(in srgb,var(--tc-surface-solid) 80%,#1976d2 20%);color:var(--tc-text);font-weight:500}.city-item:disabled{cursor:default;opacity:.6}.checkmark{color:#1976d2;font-weight:700}@media (max-width: 768px){.trip-planner-header{flex-direction:column;gap:15px;text-align:center}.trips-grid{grid-template-columns:1fr;gap:20px}.trip-actions{flex-direction:column}.trip-action-btn{min-width:auto}.modal-content{width:95%;margin:20px}.destination-modal .modal-content{max-width:95%}.form-row{flex-direction:column;gap:0}.destinations-header{flex-direction:column;align-items:flex-start;gap:8px}.trip-info-indicators{justify-content:center}.add-todo-inputs{grid-template-columns:minmax(0,1fr) minmax(110px,160px) 52px;align-items:center}.todo-category-select{min-width:0}.todo-item{flex-direction:column;align-items:flex-start;gap:8px}.modal-content.notes-modal,.modal-content.weather-modal,.modal-content.calendar-modal,.modal-content.journal-modal,.modal-content.todos-modal,.modal-content.destination-modal,.modal-content.packing-modal,.modal-content.airlines-modal,.modal-content.friends-modal,.modal-content.entry-modal{max-width:95%}.modal-footer{justify-content:stretch}.modal-footer .close-btn{width:100%}.add-item-inputs{grid-template-columns:minmax(0,1fr) minmax(110px,160px) 52px;align-items:center}.category-select{min-width:0}.template-buttons{justify-content:center}.packing-item{flex-direction:column;align-items:flex-start;gap:8px}.airline-card{padding:12px}.baggage-info{gap:4px}.friend-item{padding:10px}.friend-avatar{width:35px;height:35px}.default-avatar{font-size:1rem}.add-friend-form{padding:15px}.friend-input{padding:8px 12px;font-size:.9rem}.add-friend-btn{padding:10px 20px;font-size:.9rem}.form-row{gap:10px}.friend-main{gap:8px}.entry-photo{width:100px;height:100px}.entry-actions{flex-direction:column;gap:8px}.photo-preview{justify-content:center}.destination-search-input{padding:12px 40px 12px 14px;font-size:.9rem}.destination-search-result{padding:10px 14px}.search-result-name{font-size:.9rem}.clear-list-section{margin-bottom:20px}.clear-list-btn{padding:8px 16px;font-size:.9rem}}.admin-panel{max-width:1100px;margin:0 auto;padding:18px 16px 28px;color:var(--tc-text);flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-content{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:18px}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-title{font-size:1.25rem;font-weight:900}.admin-header-actions{display:flex;gap:10px;align-items:center}.admin-back{border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:800}.admin-card{background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:14px;padding:14px;box-shadow:0 8px 18px #0000001f}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.admin-tab{border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:900}.admin-tab.active{background:var(--tc-grad);color:var(--tc-on-accent);border-color:transparent}.admin-section-title{font-weight:900;margin-bottom:10px;font-size:1.05rem}.admin-subtitle{margin-top:12px;margin-bottom:6px;font-weight:900;color:var(--tc-muted)}.admin-muted{color:var(--tc-muted);font-weight:600;margin-top:10px}.admin-error{margin-top:10px;color:#ff4d4f;font-weight:800}.admin-row{display:flex;gap:10px;align-items:center}.admin-row-wrap{flex-wrap:wrap}.admin-row-right{justify-content:flex-end}.admin-input,.admin-select,.admin-textarea{border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);border-radius:10px;padding:10px 12px;font-weight:700}.admin-input{flex:1;min-width:220px}.admin-select{min-width:190px}.admin-textarea{width:100%;resize:vertical}.admin-btn{border:none;background:var(--tc-grad);color:var(--tc-on-accent);border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:900;white-space:nowrap}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn-ghost{background:var(--tc-surface);border:1px solid var(--tc-border);color:var(--tc-text)}.admin-btn-danger{background:#ff4d4f;color:#fff}.admin-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.admin-stat{background:var(--tc-surface-solid);border:1px solid var(--tc-border);border-radius:12px;padding:12px}.admin-stat-label{font-weight:900;color:var(--tc-muted);margin-bottom:6px}.admin-stat-value{font-weight:900;font-size:1.6rem}.admin-kv{margin-top:10px;border:1px solid var(--tc-border);border-radius:12px;overflow:hidden}.admin-kv-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--tc-surface-solid);border-bottom:1px solid var(--tc-border)}.admin-kv-row:last-child{border-bottom:none}.admin-kv-key,.admin-kv-val{font-weight:900}.admin-divider{height:1px;background:var(--tc-border);margin:14px 0}.admin-table{margin-top:12px;border:1px solid var(--tc-border);border-radius:12px;overflow:hidden;max-height:min(70vh,720px);overflow:auto}.admin-table.admin-table-no-scroll{max-height:none;overflow:visible}.admin-table-head,.admin-table-row{display:grid;grid-template-columns:1.1fr 1fr .9fr .9fr .7fr 1.6fr;gap:10px;padding:10px 12px;align-items:center}.admin-table-head{background:color-mix(in srgb,var(--tc-surface-solid) 70%,#000 30%);font-weight:900;position:sticky;top:0;z-index:2}.admin-table-row{background:var(--tc-surface-solid);border-top:1px solid var(--tc-border)}.admin-audit-head,.admin-audit-row{grid-template-columns:1.2fr 1.2fr 1.2fr 2.4fr}.admin-audit-actor{font-weight:800}.admin-audit-action{font-weight:900}.admin-actor-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface);max-width:100%}.admin-actor-avatar{width:28px;height:28px;border-radius:50%;border:2px solid #ffd700;flex:0 0 auto}.admin-actor-text{min-width:0}.admin-actor-name{font-weight:900;font-size:.9rem;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.admin-actor-id{font-size:.78rem;color:var(--tc-muted);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.admin-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-weight:700;font-size:.85rem;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge.danger{border-color:#ff4d4f59;background:#ff4d4f1f;color:color-mix(in srgb,#ff4d4f 60%,var(--tc-text))}.admin-badge.success{border-color:#22c55e59;background:#22c55e1f;color:color-mix(in srgb,#22c55e 55%,var(--tc-text))}.admin-badge.warn{border-color:#f59e0b59;background:#f59e0b1f;color:color-mix(in srgb,#f59e0b 60%,var(--tc-text))}.admin-badge.info{border-color:#3b82f659;background:#3b82f61f;color:color-mix(in srgb,#3b82f6 60%,var(--tc-text))}.admin-badge.muted{border-color:var(--tc-border);background:var(--tc-surface);color:var(--tc-text)}.admin-meta-kv{display:grid;gap:6px}.admin-meta-row{display:grid;grid-template-columns:.9fr 1.5fr;gap:10px;align-items:baseline}.admin-meta-k{font-weight:400;color:var(--tc-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-meta-v{white-space:pre-wrap;word-break:break-word}.admin-clickable-row{cursor:pointer}.admin-clickable-row:hover{background:color-mix(in srgb,var(--tc-surface-solid) 86%,#ffd700 14%)}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-report-modal{width:min(900px,96vw)}.admin-report-meta{display:grid;gap:6px}.admin-report-map{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid var(--tc-border)}.admin-report-comment-box{border:1px solid var(--tc-border);border-radius:12px;padding:10px 12px;background:var(--tc-surface-solid)}.admin-report-comment-author{font-weight:900;margin-bottom:6px}.admin-report-comment-text{white-space:pre-wrap;word-break:break-word;color:var(--tc-text);font-weight:650}.admin-report-photo-grid{margin-top:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-report-photo-btn{border:1px solid var(--tc-border);background:var(--tc-surface-solid);border-radius:12px;padding:0;cursor:pointer;overflow:hidden}.admin-report-photo{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.admin-image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:18px}.admin-image-modal{position:relative;width:min(1100px,96vw);max-height:92vh;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 60px #00000073}.admin-image-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#000000b3;color:#fff;cursor:pointer;font-size:20px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.admin-image-full{width:100%;max-height:92vh;object-fit:contain;display:block;background:#000}@media (max-width: 900px){.admin-report-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:2147483646;display:flex;justify-content:center;align-items:center;padding:18px}.admin-modal{width:min(720px,95vw);background:var(--tc-surface);border:1px solid var(--tc-border);border-radius:14px;padding:14px;box-shadow:0 18px 50px #00000059}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field-label{font-weight:900;color:var(--tc-muted)}.admin-range-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.admin-range{width:100%;accent-color:#ffd700}.admin-range-value{min-width:42px;text-align:left;font-weight:900;color:var(--tc-text)}.admin-save-row{margin-top:14px;display:flex;align-items:center;gap:12px}.admin-save-msg{font-weight:800;color:var(--tc-muted)}.admin-audit-actions{margin-top:10px;margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-audit-msg{font-weight:800;color:var(--tc-muted)}.admin-check{display:flex;align-items:center;gap:8px;font-weight:800;margin-top:10px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}@media (max-width: 900px){.admin-grid{grid-template-columns:1fr}.admin-table-head,.admin-table-row{grid-template-columns:1fr 1fr}.admin-audit-head,.admin-audit-row,.admin-meta-row{grid-template-columns:1fr}}.tc-calendar{height:100%;min-height:0;display:flex;flex-direction:column;padding:12px;color:var(--tc-text)}.tc-calendar-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex:0 0 auto;flex-wrap:wrap}.tc-calendar-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.tc-calendar-userfilter{display:inline-flex;align-items:center;gap:8px}.tc-calendar-userfilter-label{font-weight:900;font-size:12px;color:var(--tc-muted);letter-spacing:.02em}.tc-calendar-userfilter-select{height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:900;max-width:min(320px,60vw)}.tc-calendar-title{font-weight:900;font-size:1.05rem}.tc-calendar-controls{display:inline-flex;align-items:center;gap:8px}.tc-calendar-today{height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);cursor:pointer;font-weight:900}@keyframes tcCalFadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tcCalShimmer{0%{background-position:0% 0}to{background-position:-200% 0}}.tc-calendar-monthlabel{padding:7px 10px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:900;min-width:170px;text-align:center;text-transform:capitalize}.tc-calendar-year{width:96px;padding:7px 10px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:900}.tc-calendar-yearbtn,.tc-calendar-nav,.tc-calendar-refresh{width:36px;height:34px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);cursor:pointer;font-weight:900}.tc-calendar-loading,.tc-calendar-error{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px dashed var(--tc-border);color:var(--tc-muted);font-weight:800}.tc-calendar-error{border-style:solid;color:#ffb4b4}.tc-cal-monthview{position:relative;border:2px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);border-radius:14px;overflow:hidden;background:var(--tc-surface);flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.tc-cal-list-toggle{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);cursor:pointer;font-weight:900;z-index:6;display:inline-flex;align-items:center;justify-content:center}.tc-cal-list-toggle:hover{background:color-mix(in srgb,var(--tc-surface) 86%,#000 14%)}.tc-cal-listpanel{position:absolute;top:0;right:0;bottom:0;width:min(360px,92%);background:var(--tc-surface);border-left:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);transform:translate(102%);transition:transform .18s ease;z-index:5;display:flex;flex-direction:column}.tc-cal-listpanel--open{transform:translate(0)}.tc-cal-listpanel-head{padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);background:var(--tc-surface-solid);display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tc-cal-listpanel-title{font-weight:900}.tc-cal-listpanel-meta{font-weight:900;color:var(--tc-muted);font-size:12px}.tc-cal-listpanel-body{padding:10px;overflow:auto;min-height:0}.tc-cal-listpanel-empty{padding:10px 12px;border:1px dashed var(--tc-border);border-radius:12px;color:var(--tc-muted);font-weight:800}.tc-cal-listpanel-list{display:grid;gap:10px}.tc-cal-listpanel-item{width:100%;text-align:left;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);padding:7px 8px;cursor:pointer;color:var(--tc-text)}.tc-cal-listpanel-item:hover{background:color-mix(in srgb,var(--tc-surface-solid) 86%,#000 14%)}.tc-cal-listpanel-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tc-cal-listpanel-item-title{font-weight:900;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tc-cal-listpanel-item-dates{font-weight:800;color:var(--tc-muted);font-size:11px;white-space:nowrap;flex:0 0 auto}.tc-cal-listpanel-item-meta{margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:nowrap;min-width:0;color:var(--tc-muted);font-weight:800;font-size:11px}.tc-cal-listpanel-item-meta-part{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tc-cal-listpanel-item-meta-part--lead{display:inline-flex;align-items:center;gap:6px;min-width:0}.tc-cal-listpanel-cat{flex:0 0 auto}.tc-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0;border-bottom:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);background:var(--tc-surface-solid);color:var(--tc-muted);font-weight:900;font-size:12px;flex:0 0 auto;font-variant:all-small-caps;letter-spacing:.06em}.tc-cal-weekday{text-align:left;padding:8px}.tc-cal-weekday--weekend{color:color-mix(in srgb,var(--tc-muted) 78%,var(--tc-text) 22%);background:color-mix(in srgb,var(--tc-accent) 10%,var(--tc-surface-solid) 90%)}.tc-cal-weeks{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;animation:tcCalFadeSlideIn .18s ease-out both}.tc-cal-weeks--loading{animation:none}.tc-cal-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--tc-surface) 90%,#fff 10%);pointer-events:none}.tc-cal-skeleton-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.tc-cal-skeleton-cell{border-right:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);border-bottom:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);position:relative}.tc-cal-skeleton-cell:nth-child(7n){border-right:none}.tc-cal-skeleton-cell:nth-last-child(-n+7){border-bottom:none}.tc-cal-skeleton-line{position:absolute;left:10px;right:10px;top:40px;height:12px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--tc-border) 30%,transparent 70%),color-mix(in srgb,var(--tc-border) 14%,transparent 86%),color-mix(in srgb,var(--tc-border) 30%,transparent 70%) 70%);background-size:200% 100%;animation:tcCalShimmer 1.1s linear infinite;opacity:.55}.tc-cal-week{position:relative;flex:1 1 0;min-height:0}.tc-cal-days{display:grid;grid-template-columns:repeat(7,1fr);height:100%;min-height:0}.tc-cal-day{position:relative;box-sizing:border-box;border:none;outline:none;border-right:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);border-bottom:1px solid color-mix(in srgb,var(--tc-border) 65%,#000 35%);background:var(--tc-surface);color:var(--tc-text);cursor:pointer;padding:10px;text-align:left;min-height:0}.tc-cal-day:focus-visible{outline:2px solid color-mix(in srgb,var(--tc-accent) 60%,#fff 40%);outline-offset:-2px}.tc-cal-day--weekend{background:color-mix(in srgb,var(--tc-accent) 6%,var(--tc-surface) 94%)}.tc-cal-day--muted.tc-cal-day--weekend{background:color-mix(in srgb,var(--tc-surface) 92%,#000 8%)}.tc-cal-day--selected{background:color-mix(in srgb,var(--tc-accent) 10%,var(--tc-surface) 90%)}.tc-cal-day--today{background:var(--tc-surface);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tc-accent) 55%,var(--tc-border) 45%)}.tc-cal-day--today.tc-cal-day--selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tc-accent) 70%,var(--tc-border) 30%)}.tc-cal-week .tc-cal-day:last-child{border-right:none}.tc-cal-week:last-child .tc-cal-day{border-bottom:none}.tc-cal-day:hover{background:color-mix(in srgb,var(--tc-surface) 86%,#000 14%)}.tc-cal-day--muted{color:color-mix(in srgb,var(--tc-muted) 80%,var(--tc-text) 20%);background:color-mix(in srgb,var(--tc-surface) 92%,#000 8%)}.tc-cal-day--today .tc-cal-daynum{border:1px solid color-mix(in srgb,var(--tc-accent) 70%,#fff 30%);background:color-mix(in srgb,var(--tc-accent) 18%,var(--tc-surface) 82%)}.tc-cal-daynum{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;border-radius:999px;font-weight:900;font-size:13px;border:1px solid transparent}.tc-cal-bars{position:absolute;left:0;right:0;top:32px;bottom:auto;padding:0 6px 6px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px 6px;pointer-events:none}.tc-cal-bar{pointer-events:auto;height:22px;border-radius:6px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);padding:0 8px;font-weight:800;font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.tc-cal-bar-text{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.tc-cal-bar-icon{display:inline-block;flex:0 0 auto}.tc-cal-bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.tc-cal-mini-avatars{display:inline-flex;align-items:center;flex:0 0 auto}.tc-cal-mini-avatar{position:relative;width:14px;height:14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tc-border) 70%,#fff 30%);background:var(--tc-surface);overflow:hidden;margin-left:-5px;display:inline-flex;align-items:center;justify-content:center}.tc-cal-mini-avatar:first-child{margin-left:0}.tc-cal-mini-avatar-img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.tc-cal-mini-avatar-ph{font-size:9px;line-height:1;color:var(--tc-text);position:relative;z-index:1}.tc-cal-mini-avatar.tc-has-avatar .tc-cal-mini-avatar-ph{display:none}.tc-cal-mini-more{margin-left:4px;font-size:10px;font-weight:900;color:var(--tc-muted)}.tc-cal-bar:hover{filter:brightness(1.03)}.tc-calendar-item-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.tc-calendar-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);font-weight:900;font-size:12px;line-height:1}.tc-calendar-chip--clickable{cursor:pointer}.tc-calendar-chip--clickable:hover{background:color-mix(in srgb,var(--tc-surface-solid) 86%,#000 14%)}.tc-calendar-chip--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--tc-accent) 60%,#fff 40%);outline-offset:2px}.tc-calendar-participant{position:relative;display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);cursor:pointer;font-weight:900;font-size:12px;line-height:1;max-width:100%}.tc-calendar-participant:hover{background:color-mix(in srgb,var(--tc-surface-solid) 86%,#000 14%)}.tc-calendar-participant:focus-visible{outline:2px solid color-mix(in srgb,var(--tc-accent) 60%,#fff 40%);outline-offset:2px}.tc-calendar-participant-avatarwrap{position:relative;width:20px;height:20px;border-radius:50%;flex:0 0 auto;border:1px solid var(--tc-border);background:var(--tc-surface);overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.tc-calendar-participant-avatar,.tc-calendar-participant-initial{width:100%;height:100%;border-radius:50%}.tc-calendar-participant-avatar{object-fit:cover;display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.tc-calendar-participant-initial{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--tc-text)}.tc-calendar-participant-avatarwrap.tc-has-avatar .tc-calendar-participant-initial{display:none}.tc-calendar-participant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tc-calendar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:14px}.tc-calendar-modal{width:min(860px,100%);max-height:min(86vh,920px);overflow:auto;border-radius:14px;background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:0 16px 50px #00000059}.tc-calendar-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--tc-border);background:var(--tc-surface-solid)}.tc-calendar-modal-title{font-weight:900}.tc-calendar-modal-close{width:36px;height:34px;border-radius:10px;border:1px solid var(--tc-border);background:var(--tc-surface);cursor:pointer;font-weight:900;font-size:18px;color:var(--tc-text)}.tc-calendar-modal-body{padding:12px}.tc-calendar-section-title{font-weight:900;margin-bottom:8px}.tc-calendar-empty{padding:10px 12px;border:1px dashed var(--tc-border);border-radius:12px;color:var(--tc-muted);font-weight:800}.tc-calendar-list{display:grid;gap:10px}.tc-calendar-item{border:1px solid var(--tc-border);border-radius:12px;background:var(--tc-surface-solid);padding:10px 12px}.tc-calendar-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tc-calendar-item-title{font-weight:900}.tc-calendar-item-dates{color:var(--tc-muted);font-weight:800;font-size:12px}.tc-calendar-item-loc{margin-top:6px;font-weight:800}.tc-calendar-item-notes{margin-top:6px;white-space:pre-wrap}.tc-calendar-item-by{margin-top:8px;color:var(--tc-muted);font-size:12px;font-weight:800}.tc-calendar-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tc-calendar-item-btn{border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:900;padding:7px 10px;border-radius:10px;cursor:pointer;font-size:12px}.tc-calendar-item-btn:hover{background:color-mix(in srgb,var(--tc-surface) 86%,#000 14%)}.tc-calendar-item-btn--danger{border-color:color-mix(in srgb,#ff4d4d 60%,var(--tc-border) 40%);background:color-mix(in srgb,#ff4d4d 14%,var(--tc-surface) 86%)}.tc-calendar-form{display:grid;gap:10px}.tc-calendar-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 560px){.tc-calendar-row{grid-template-columns:1fr}}.tc-calendar-field{display:grid;gap:6px}.tc-calendar-label{font-weight:900;color:var(--tc-muted);font-size:12px}.tc-calendar-input,.tc-calendar-textarea{padding:9px 10px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface);color:var(--tc-text);font-weight:700}.tc-calendar-textarea{resize:vertical}.tc-calendar-actions{display:flex;align-items:center;gap:10px}.tc-calendar-save{border:none;background:var(--tc-grad);color:var(--tc-on-accent);font-weight:900;padding:9px 12px;border-radius:12px;cursor:pointer}.tc-calendar-savemsg{color:var(--tc-muted);font-weight:800;font-size:13px}.app{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--tc-bg)}.pwa-login-bar{position:sticky;top:0;z-index:1001;padding:14px 16px;display:flex;justify-content:center;background:var(--tc-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--tc-border)}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.tc-maintenance{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--tc-bg)}.tc-maintenance-card{max-width:700px;width:100%;border-radius:20px;background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:var(--tc-shadow);padding:22px 20px;text-align:center}.tc-maintenance-title{font-weight:900;font-size:1.4rem;color:var(--tc-text);margin-bottom:10px}.tc-maintenance-text{color:var(--tc-muted);line-height:1.5;margin-bottom:16px;white-space:pre-wrap}.tc-maintenance-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.tc-maintenance-btn{border:none;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;background:var(--tc-grad);color:var(--tc-on-accent)}.tc-maintenance-muted{color:var(--tc-muted);font-size:.95rem}.tc-feature-disabled{width:100%;height:100%;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:20px}.tc-feature-disabled-card{max-width:720px;width:100%;border-radius:20px;background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:var(--tc-shadow);padding:22px 20px;text-align:center}.tc-feature-disabled-icon{font-size:3.2rem;margin-bottom:10px}.tc-feature-disabled-title{font-weight:900;font-size:1.35rem;color:var(--tc-text);margin-bottom:8px}.tc-feature-disabled-text{color:var(--tc-muted);line-height:1.5;margin-bottom:16px}.tc-feature-disabled-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.tc-feature-disabled-muted{color:var(--tc-muted);font-size:.95rem}.tc-feature-toast{position:fixed;left:50%;top:14px;transform:translate(-50%);z-index:2147483005;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:0 10px 30px #00000040;max-width:min(720px,calc(100vw - 24px))}.tc-feature-toast-icon{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--tc-surface-solid);border:1px solid var(--tc-border);flex:0 0 auto;font-size:18px}.tc-feature-toast-text{min-width:0}.tc-feature-toast-title{font-weight:900;color:var(--tc-text);line-height:1.15}.tc-feature-toast-sub{color:var(--tc-muted);font-weight:600;font-size:.92rem;line-height:1.2}.tc-feature-toast-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--tc-border);background:var(--tc-surface-solid);color:var(--tc-text);cursor:pointer;font-size:20px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.tc-feature-toast-close:hover{background:#0000000f}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:40px 20px;border-radius:20px;background:var(--tc-surface);border:1px solid var(--tc-border);box-shadow:var(--tc-shadow);max-width:700px;margin:20px auto}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h2{color:var(--tc-text);margin-bottom:10px}.empty-state p{color:var(--tc-muted);margin-bottom:22px}.app-header{background:var(--tc-grad-page);color:var(--tc-text);padding:20px;box-shadow:0 4px 6px #0000001a;z-index:1000}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.app-title{font-size:2rem;font-weight:700;margin:0;color:var(--tc-text)}.app-subtitle{font-size:1rem;opacity:.8;margin:5px 0 0;color:var(--tc-muted)}.user-menu-container{position:relative;display:flex;align-items:center;gap:10px}.hamburger-btn{background:var(--tc-surface);border:2px solid rgba(0,0,0,.2);border-radius:8px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hamburger-btn:hover{background:var(--tc-surface-solid);transform:translateY(-2px)}.hamburger-line{width:20px;height:2px;background:var(--tc-text);transition:all .3s ease}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.user-menu{position:absolute;top:100%;right:0;margin-top:10px;background:var(--tc-surface-solid);color:var(--tc-text);border:1px solid var(--tc-border);border-radius:12px;box-shadow:var(--tc-shadow-strong);padding:20px;min-width:200px;z-index:1000;animation:menuSlideDown .2s ease}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--tc-border)}.user-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--tc-border)}.user-name{font-weight:600;color:var(--tc-text);font-size:1.1rem}.menu-divider{height:1px;background:var(--tc-border);margin:12px 0}.menu-item{width:100%;background:var(--tc-surface);color:var(--tc-text);border:1px solid var(--tc-border);padding:12px 16px;border-radius:8px;cursor:pointer;font-weight:500;font-family:inherit;font-size:1rem;line-height:1.2;transition:all .3s ease;text-align:left;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}button.menu-item{-moz-appearance:none;appearance:none;-webkit-appearance:none}.menu-item-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.menu-item-icon{width:20px;display:inline-flex;justify-content:center;flex:0 0 auto;font-size:1rem;line-height:1;color:inherit}.menu-item-right{flex:0 0 auto;opacity:.9}.toggle-menu-item{font-weight:500}.tc-switch{position:relative;width:48px;height:28px;display:inline-block;flex:0 0 auto}.tc-switch input{opacity:0;width:0;height:0}.tc-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#0000002e;transition:.2s;border-radius:999px}.tc-switch-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;top:3px;background:var(--tc-surface-solid);transition:.2s;border-radius:999px;box-shadow:0 2px 8px #00000040}.tc-switch input:checked+.tc-switch-slider{background:linear-gradient(135deg,#ffe100,gold,#ffed4e)}.tc-switch input:checked+.tc-switch-slider:before{transform:translate(20px)}.tc-switch input:focus-visible+.tc-switch-slider{outline:2px solid rgba(255,215,0,.8);outline-offset:2px}.menu-item:hover{background:var(--tc-surface-solid);border-color:#00000040;transform:translateY(-1px)}.menu-item:last-child{margin-bottom:0}.logout-btn{width:100%;background:#ff4757;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.logout-btn:hover{background:#ff3742;transform:translateY(-1px)}.header-logo-container{display:flex;align-items:center;gap:15px}.header-logo{height:50px;width:auto;object-fit:contain}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center}.app-title{font-size:1.5rem}.user-menu{position:fixed;top:auto;bottom:20px;right:20px;left:auto;margin-top:0;min-width:250px}}*{margin:0;padding:0;box-sizing:border-box}:root{--tc-accent: #ffd700;--tc-accent-2: #ffe100;--tc-accent-3: #ffed4e;--tc-accent-dark: #d4af37;--tc-text: #333;--tc-on-accent: #222;--tc-muted: #666;--tc-bg: #fff;--tc-surface: rgba(255, 255, 255, .95);--tc-surface-solid: #fff;--tc-border: #e9ecef;--tc-shadow: 0 4px 20px rgba(0, 0, 0, .08);--tc-shadow-strong: 0 8px 30px rgba(0, 0, 0, .12);--tc-grad: linear-gradient(135deg, #ffe100 0%, #ffd700 50%, #ffed4e 100%);--tc-grad-page: linear-gradient(135deg, #ffed4e 0%, #ffd700 30%, #ffe100 100%)}html.tc-dark{color-scheme:dark;--tc-text: #e7eaf0;--tc-on-accent: #111;--tc-muted: #a8b0c0;--tc-bg: #0b0f17;--tc-surface: rgba(17, 23, 34, .92);--tc-surface-solid: #111722;--tc-border: rgba(255, 255, 255, .12);--tc-shadow: 0 10px 30px rgba(0, 0, 0, .4);--tc-shadow-strong: 0 16px 40px rgba(0, 0, 0, .5);--tc-grad-page: linear-gradient(135deg, #111722 0%, #0b0f17 70%, #06080d 100%)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tc-bg);color:var(--tc-text);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;height:100vh}
