:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;--bg: #0b0e14;--panel: rgba(16, 19, 27, .82);--panel-solid: #141824;--border: rgba(255, 255, 255, .09);--text: #f2f4f8;--text-dim: #a9b2c2;--text-faint: #6b7484;--accent: #ff8c00;--radius: 14px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;background:var(--bg);color:var(--text)}.app{position:relative;height:100%;width:100%;overflow:hidden}.loading,.error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--panel-solid);color:var(--text);padding:20px 28px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 12px 40px #0000008c;z-index:10}.loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;vertical-align:-2px;border:2px solid var(--accent);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#ff6b6b}.panel{position:absolute;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 34px #00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:5;color:var(--text)}.top-left{top:16px;left:16px;max-width:320px;padding:16px 20px;display:none}.top-left .stats{row-gap:8px;margin-bottom:12px}.top-left .legend{padding-top:10px}.top-left .main-actions{margin-top:10px}.top-left .legal-note{margin-top:8px}.mobile-menu-open .top-left{display:block}.main-menu-head{display:flex;align-items:flex-start;gap:10px}.main-menu-head h1{flex:1}.main-menu-close{flex:0 0 auto;padding:4px 9px;line-height:1}.panel h1{margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#ffb860);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle{margin:0 0 14px;font-size:12px;color:var(--text-dim)}.legal-note{margin:12px 0 0;color:var(--text-faint);font-size:9px;line-height:1.35;text-align:center;opacity:.72}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin-bottom:14px}.stat{display:flex;flex-direction:column}.stat-value{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.legend{display:grid;gap:7px;font-size:12px;color:var(--text-dim);border-top:1px solid var(--border);padding-top:12px}.legend-switches,.legend-items{display:flex;align-items:center;gap:7px 14px}.legend-switches{flex-wrap:wrap}.legend-items{flex-wrap:nowrap}.legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 6px #0006}.space-bars{display:flex;flex-direction:column;gap:12px;margin:4px 0}.space-meter{display:flex;flex-direction:column;gap:6px}.space-meter-head{display:flex;align-items:baseline;justify-content:space-between;font-size:12px;color:var(--text-dim)}.space-meter-title{font-weight:600}.space-meter-pct{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.space-meter-track{height:10px;background:#ffffff12;border-radius:6px;overflow:hidden}.space-meter-fill{height:100%;background:linear-gradient(90deg,var(--accent),#ffb860);border-radius:6px;transition:width .3s ease}.space-meter-foot{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.tl-btn{padding:7px 14px;border:1px solid var(--border);border-radius:10px;background:#ffffff1a;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s ease,transform .05s ease}.lang-tile{top:16px;left:344px;padding:7px 8px;z-index:40}.welcome-lang-tile{left:auto;right:16px}.lang-tile .lang-switch{min-width:118px}.lang-switch{width:100%;padding:6px 10px;background-color:#141824;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;color-scheme:dark;cursor:pointer}.lang-switch option{background-color:#141824;color:var(--text)}:root[data-theme=light] .lang-switch{background-color:#fff;color:var(--text)}:root[data-theme=light] .lang-switch option{background-color:#fff;color:#161b22}.tl-btn:hover{background:#ffffff2e}.tl-btn:active{transform:translateY(1px)}.dash-btn{margin-top:14px;width:100%}.popup{bottom:16px;left:312px;min-width:230px;max-width:260px;padding:16px 18px}.popup h3{margin:0 0 8px;font-size:15px}.popup p{margin:6px 0;font-size:13px;color:var(--text-dim)}.popup p b{color:var(--text)}.popup button{margin-top:8px;padding:7px 14px;border:1px solid var(--border);border-radius:10px;background:#ffffff1a;color:var(--text);cursor:pointer}.popup button:hover{background:#ffffff2e}.export-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:320px;max-width:calc(100vw - 40px);padding:18px 20px;display:flex;flex-direction:column;gap:10px;z-index:20}.export-dialog h3{margin:0;font-size:16px}.export-dialog .subtitle{margin:-4px 0 0}.export-dialog .dash-btn{margin-top:0}.export-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-top:6px}.export-group{display:flex;flex-direction:column;gap:8px}.export-dialog .dash-btn:disabled{opacity:.55;cursor:default}.export-busy{font-size:12px;color:var(--text-dim);text-align:center}.export-progress{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff0d}.export-progress-head{display:flex;justify-content:space-between;gap:12px;color:var(--text-dim);font-size:11px}.export-progress-head b{color:var(--text);font-variant-numeric:tabular-nums}.export-progress progress{margin:8px 0 0}.export-result-preview{margin:10px 0 0}.export-thumbnail-trigger{display:block;width:100%;padding:0;border:0;border-radius:8px;background:transparent;cursor:zoom-in}.export-result-thumbnail{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.export-result-preview figcaption{margin-top:5px;color:var(--text-faint);font-size:9px;line-height:1.35;text-align:center}.export-thumbnail-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;overflow:auto;padding:24px;background:#05080cdb;cursor:zoom-out}.export-thumbnail-lightbox>img{display:block;width:auto;height:auto;max-width:none;max-height:none;margin:auto;cursor:zoom-out;box-shadow:0 24px 80px #000000b8}.export-thumbnail-close{position:fixed;top:12px;right:16px;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#080a0eb8;color:#fff;font-size:24px;cursor:pointer}.export-progress p{margin:10px 0 8px;font-size:12px;color:var(--text)}.export-complete-actions{display:flex;gap:8px}.export-complete-actions .tl-btn{flex:1;padding:6px 8px}.print-format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.orientation-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-format-grid .tl-btn.active,.orientation-picker .tl-btn.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.print-product-summary{margin:2px 0;text-align:center;font-weight:700}.local-test-badge{align-self:flex-start;padding:3px 7px;border:1px solid rgba(255,184,96,.62);border-radius:999px;background:#ff8c0024;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em}.local-png-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.frame-planner{top:16px;left:352px;width:268px;max-width:calc(100vw - 380px);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.frame-planner h3{margin:0;font-size:16px}.frame-planner .subtitle{margin:0 0 4px}.fp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fp-head .tl-btn{padding:4px 10px;line-height:1}.fp-label{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--text-dim)}.fp-label b{color:var(--text);font-variant-numeric:tabular-nums}.fp-slider{width:100%;accent-color:var(--accent);cursor:pointer}.fp-select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background-color:#141824;color:var(--text);font-size:13px;color-scheme:dark;cursor:pointer}.fp-select option{background-color:#141824;color:var(--text)}.fp-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.fp-apply{background:#ff8c0038;border-color:#ff8c008c}.fp-apply:hover{background:#ff8c0052}.help-guide{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:10px;z-index:25}.help-guide h3{margin:0;font-size:16px}.help-guide .subtitle{margin:0}.route-width-warning{margin:0;padding:9px 11px;border:1px solid rgba(255,156,144,.38);border-radius:9px;background:#a5281924;color:#ffb0a6;font-size:11px;font-weight:700;line-height:1.45}:root[data-theme=light] .route-width-warning{color:#8e2418;background:#a5281914}.offer-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;z-index:25}.offer-dialog h3,.offer-dialog p{margin:0}.pricing-table{width:100%;border-collapse:collapse;font-size:13px}.pricing-table th,.pricing-table td{padding:9px 8px;border-bottom:1px solid var(--border);text-align:left}.pricing-table th:last-child,.pricing-table td:last-child{text-align:right;white-space:nowrap}.pricing-table th{color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.pricing-table td:last-child{color:var(--accent);font-weight:800}.pricing-inspiration{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.pricing-inspiration-link{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pricing-inspiration-link:hover,.pricing-inspiration-link:focus-visible{text-decoration-thickness:2px}.pricing-inspiration small{color:var(--text-dim);font-size:10px}.pricing-courier-note{color:var(--text-faint);font-size:10px;line-height:1.45}.pricing-free{padding:12px 14px;border:1px solid rgba(86,214,153,.52);border-radius:10px;background:#24855933;color:#e5fff1;font-size:13px;font-weight:800;line-height:1.45}.payment-section{display:flex;flex-direction:column;gap:9px}.payment-section h4{margin:0;font-size:13px}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payment-card{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff0b}.payment-card strong{color:var(--text)}.payment-card span,.payment-card a{color:var(--accent);font-weight:800}.payment-card a{align-self:center;text-align:center}.payment-card.blik-card{align-items:center;justify-content:center;text-align:center}.payment-card small{color:var(--text-faint);line-height:1.35}.revolut-tag{display:block;width:100%;max-width:130px;margin:4px auto;border-radius:8px}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#ffffff0b}.contact-email{color:var(--accent);font-size:18px;font-weight:800}.contact-name{font-size:17px}.popup-visit-dates ul{max-height:180px;overflow-y:auto;margin:7px 0 0;padding-left:22px}.popup-visit-dates li{margin:3px 0}.print-order-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:520px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;z-index:30}.print-order-dialog h3,.print-order-dialog p{margin:0}.order-product-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:#ffffff0b}.order-product-card img{width:92px;max-height:70px;object-fit:cover;border-radius:7px}.order-product-card div{display:flex;flex-direction:column;gap:3px}.order-product-card span{color:var(--text-dim);font-size:12px}.order-product-card b{color:var(--accent);font-size:13px}.print-order-form{display:flex;flex-direction:column;gap:13px}.print-order-form fieldset{display:flex;flex-direction:column;gap:9px;margin:0;padding:12px;border:1px solid var(--border);border-radius:12px}.print-order-form legend{padding:0 6px;color:var(--text);font-size:13px;font-weight:800}.print-order-form label{display:flex;flex-direction:column;gap:5px;color:var(--text-dim);font-size:12px}.print-order-form label span{color:var(--text-faint)}.print-order-form input:not([type=radio]),.print-order-form textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#141824;color:var(--text);font:inherit;color-scheme:dark}.order-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.order-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-choice-grid label{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:9px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.order-choice-grid label.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.order-choice-grid label.disabled{opacity:.45;cursor:not-allowed}.locker-code-hint{color:var(--text-faint);font-size:11px;line-height:1.4}.locker-code-hint a{color:var(--accent);font-weight:700}.order-payment-note,.order-draft-note{color:var(--text-faint);font-size:11px;line-height:1.45}.order-data-notice{color:var(--text-dim);font-size:11px;line-height:1.45;text-align:center}.order-payment-note .blik-payment-number{display:inline-block;margin-left:5px;padding:5px 9px;border:1px solid rgba(255,184,96,.55);border-radius:7px;background:#ff8c0024;color:var(--accent);font-size:15px;font-weight:900;text-decoration:none;letter-spacing:.02em}.order-revolut{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--accent)}.order-revolut img{width:180px;max-width:60%;border-radius:10px}.order-review{display:flex;flex-direction:column;gap:12px}.order-review dl{display:flex;flex-direction:column;gap:0;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.order-review dl div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 11px;border-bottom:1px solid var(--border)}.order-review dl div:last-child{border-bottom:0}.order-review dt{color:var(--text-faint);font-size:11px}.order-review dd{margin:0;color:var(--text);font-size:12px;overflow-wrap:anywhere}.order-review-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:9px}.order-review-actions>.tl-btn{width:100%;margin:0}.order-submit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;border-color:#ffb860;background:linear-gradient(135deg,#ff9b2f,#ffbf66);color:#211306;box-shadow:0 6px 18px #ff8c0047}.order-submit strong{font-size:15px;text-transform:uppercase;letter-spacing:.035em}.order-submit small{font-size:9px;font-weight:800}.order-submit:disabled{opacity:.62;cursor:not-allowed}.order-fulfillment-note{padding:10px 12px;border:1px solid rgba(86,214,153,.35);border-radius:9px;background:#2485591f;color:var(--text-dim);font-size:11px;line-height:1.45;text-align:center}.order-success{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 14px;border:1px solid rgba(86,214,153,.45);border-radius:12px;background:#2485591f;text-align:center}.order-success>strong{color:#8df0bc;font-size:17px}.order-success p{color:var(--text-dim);font-size:12px}.help-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.help-head .tl-btn{padding:4px 10px;line-height:1}.help-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help-col h4{margin:0 0 8px;font-size:13px}.help-col ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.help-note{margin:0;padding:8px 10px;background:#ff8c001f;border-radius:8px;font-size:12px;color:var(--text-dim)}@media(max-width:640px){.help-cols{grid-template-columns:1fr}}.caption-editor{top:16px;right:16px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;z-index:20}.caption-editor h3{margin:0;font-size:16px}.cap-row{display:flex;align-items:center;gap:12px;font-size:13px}.cap-row-visible{justify-content:space-between}.cap-text{width:100%;box-sizing:border-box;background:#ffffff14;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px;font-size:13px;font-family:inherit;resize:vertical;color-scheme:dark}.cap-grid{display:flex;flex-direction:column;gap:8px}.cap-grid .fp-label{flex-direction:column;align-items:stretch;gap:4px}.cap-grid .fp-label b{align-self:flex-end}.cap-color input{width:42px;height:28px;border:0;background:none;cursor:pointer;padding:0}.cap-presets{display:flex;flex-wrap:wrap;gap:6px}.cap-preset{flex:1 1 auto;min-width:74px;padding:5px 6px;font-size:12px}.cap-frame{position:relative;flex:0 0 auto;width:100%;aspect-ratio:16 / 9;border:1px solid var(--border);border-radius:8px;background:linear-gradient(#ffffff0f,#ffffff0f),repeating-linear-gradient(0deg,transparent,transparent calc(50% - 1px),rgba(255,255,255,.14) calc(50% - 1px),rgba(255,255,255,.14) calc(50% + 1px)),repeating-linear-gradient(90deg,transparent,transparent calc(50% - 1px),rgba(255,255,255,.14) calc(50% - 1px),rgba(255,255,255,.14) calc(50% + 1px));cursor:crosshair;overflow:hidden}.cap-anchor{position:absolute;width:10px;height:10px;border-radius:50%;background:#ffffff59;border:1px solid rgba(0,0,0,.3);transform:translate(-50%,-50%);pointer-events:none}.cap-anchor.active{background:var(--accent);border-color:#fff;box-shadow:0 0 0 2px #ffffff59}:root[data-theme=light] .cap-anchor{background:#141e2d59}:root[data-theme=light] .cap-anchor.active{background:var(--accent);border-color:#fff;box-shadow:0 0 0 2px #e07b0047}:root[data-theme=light] .cap-frame{background:linear-gradient(#141e2d0a,#141e2d0a),repeating-linear-gradient(0deg,transparent,transparent calc(50% - 1px),rgba(20,30,45,.14) calc(50% - 1px),rgba(20,30,45,.14) calc(50% + 1px)),repeating-linear-gradient(90deg,transparent,transparent calc(50% - 1px),rgba(20,30,45,.14) calc(50% - 1px),rgba(20,30,45,.14) calc(50% + 1px))}.cap-hint{font-size:11px;color:var(--text-faint);margin:0}.cap-actions{display:flex;gap:8px}.cap-actions .tl-btn{flex:1;margin-top:0}:root[data-theme=light] .cap-text{background:#fff;color:var(--text)}.fp-seg{display:flex;gap:6px}.fp-seg-btn{flex:1;padding:6px;font-size:12px}.fp-seg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.fp-colors{display:flex;flex-wrap:wrap;gap:7px}.fp-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #0000002e}.fp-swatch:hover{transform:scale(1.1)}.fp-swatch.active{border-color:var(--text);box-shadow:0 0 0 2px var(--text)}.fp-custom{position:relative;overflow:hidden}.fp-rainbow{position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.fp-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.timeline{left:16px;bottom:16px;width:320px;max-width:calc(100vw - 40px);padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px}.timeline-rail{position:relative;display:flex;align-items:center;height:34px;padding:0 2px}.tl-slider{width:100%;height:18px;cursor:pointer;position:relative;z-index:4;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent}.help-platform-note{margin:10px 0 0;padding:8px 10px;border-left:2px solid var(--accent);color:var(--text-dim);font-size:11px;line-height:1.45}.timeline-toggle{position:absolute;left:16px;bottom:16px;z-index:12;min-height:38px;background:var(--panel-solid)}.timeline-toggle.open{left:352px}.tl-slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent)}.tl-slider::-moz-range-track{height:4px;border:0;border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent)}.tl-slider::-moz-range-progress{background:transparent}.tl-slider::-webkit-slider-thumb{width:1px;height:1px;margin-top:1px;border:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent}.tl-slider::-moz-range-thumb{width:1px;height:1px;border:0;background:transparent}.tl-playhead{position:absolute;top:5px;bottom:5px;width:2px;transform:translate(-50%);border-radius:1px;background:#fff7dc;box-shadow:0 0 5px #ffde85b8;pointer-events:none;z-index:5}.tl-selected-range{position:absolute;top:50%;height:5px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,var(--accent),#f2d27c);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 58%,transparent);pointer-events:none;z-index:2}.tl-range-point{position:absolute;top:50%;width:11px;height:11px;transform:translate(-50%,-50%);border:2px solid var(--panel-solid);border-radius:50%;background:#f2d27c;box-shadow:0 0 0 1px var(--accent),0 0 8px var(--accent);pointer-events:none;z-index:3}.tl-bubble{position:absolute;bottom:36px;transform:translate(-50%);display:flex;flex-direction:row;align-items:baseline;gap:6px;padding:4px 10px;background:var(--panel-solid);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 12px #00000059;pointer-events:none;transition:transform .18s ease;white-space:nowrap}.timeline-rail:hover .tl-bubble{transform:translate(-50%) scale(1.06)}.tl-bubble-day{font-size:14px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#fff}.tl-bubble-meta{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-dim)}.timeline-foot{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:10px}.timeline-foot-years{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--text-faint);font-variant-numeric:tabular-nums;padding:0 4px}.timeline-actions{display:flex;gap:8px}.timeline-actions .tl-btn{flex:1;padding:6px 8px;font-size:12px}.timeline-speed{display:flex;gap:4px}.tl-speed-btn{flex:1;padding:4px 0;font-size:11px;font-variant-numeric:tabular-nums}.tl-speed-btn.active{background:var(--accent);color:#0b0e14;border-color:transparent}.timeline-controls{display:flex;flex-wrap:wrap;gap:8px}.tl-date-field{flex:1 1 calc(50% - 4px);min-width:0;display:flex;flex-direction:column;gap:3px;color:var(--text-dim);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tl-date-input{width:100%;min-width:0;padding:5px 8px;background:#ffffff14;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;color-scheme:dark}.tl-date-input:focus{outline:none;border-color:var(--accent)}.tl-year{flex:1 1 100%;min-width:0;padding:5px 8px;background-color:#141824;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;color-scheme:dark}.tl-year option{background-color:#141824;color:var(--text)}.dashboard{top:16px;right:16px;width:384px;max-height:calc(100vh - 150px);overflow-y:auto;padding:16px 18px}.combined-stats{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}.combined-stats.single-source{width:384px;max-width:calc(100vw - 32px)}.combined-stats-head{position:absolute;top:16px;right:18px}.combined-stats .dash-heading,.combined-stats.single-source .sports-section h2{padding-right:90px}.combined-stats-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.combined-stats.single-source .combined-stats-body{grid-template-columns:minmax(0,1fr)}.combined-stats-body section{min-width:0}.combined-stats-body .sports-section{order:-1}.combined-stats-body .travel-section{border-left:1px solid var(--border);padding-left:20px}.combined-stats-body .sports-section:only-child,.combined-stats-body .travel-section:only-child{border-left:0;padding-left:0}.dashboard::-webkit-scrollbar{width:8px}.dashboard::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-head h2{margin:0;font-size:16px}.dash-heading{min-width:0}.dash-period{margin:3px 0 0;color:var(--text-dim);font-size:11px;line-height:1.3}.dashboard h3{margin:18px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.card{background:#ffffff0d;border:1px solid var(--border);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column}.card-value{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.card-label{font-size:11px;color:var(--text-faint);margin-top:2px}.dash-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.dash-table th,.dash-table td{text-align:right;padding:5px 6px}.dash-table th{color:var(--text-faint);font-weight:600;border-bottom:1px solid var(--border)}.dash-table td{color:var(--text-dim)}.dash-table td:first-child,.dash-table th:first-child{text-align:left;color:var(--text);font-weight:600}.bars{display:flex;flex-direction:column;gap:6px}.bar-row{display:flex;align-items:center;gap:8px;font-size:12px}.bar-name{width:92px;flex-shrink:0;color:var(--text-dim)}.bar-track{flex:1;height:10px;background:#ffffff12;border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#ffb860);border-radius:6px}.bar-val{width:56px;text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums}.flights{display:flex;flex-direction:column;gap:6px}.flight-year{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:#ffffff0f;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-weight:700;font-size:13px}.flight-year:hover{background:#ffffff1f}.flight-count{margin-left:auto;background:var(--accent);color:#0b0e14;border-radius:20px;padding:0 8px;font-size:11px;font-weight:800}.flight-caret{width:14px;text-align:center;color:var(--text-dim)}.flight-list{list-style:none;margin:4px 0 0;padding:0}.flight-row{display:flex;flex-direction:column;gap:2px;padding:7px 10px 7px 16px;cursor:pointer;border-radius:8px;font-size:12px}.flight-row:hover{background:#ff8c0029}.flight-date{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.flight-route{color:var(--accent);font-size:12px;font-weight:600}.flight-meta{color:var(--text-dim);font-variant-numeric:tabular-nums}.dash-empty{color:var(--text-faint);font-size:12px}.maplibregl-ctrl-group{background:var(--panel-solid);border:1px solid var(--border);box-shadow:0 6px 20px #0006;border-radius:10px!important;overflow:hidden}.maplibregl-ctrl-group button{filter:invert(1)}.maplibregl-ctrl-top-right{top:16px!important;right:16px!important;transition:right .18s ease}@media(min-width:701px){.caption-panel-open .maplibregl-ctrl-top-right{right:352px!important}.dashboard-panel-open .maplibregl-ctrl-top-right{right:416px!important}}:root[data-theme=light]{--bg: #eef1f6;--panel: rgba(255, 255, 255, .92);--panel-solid: #ffffff;--border: rgba(20, 30, 45, .12);--text: #161b22;--text-dim: #3c4554;--text-faint: #7c8694;--accent: #e07b00}:root[data-theme=light] .tl-btn,:root[data-theme=light] .popup button{background:#141e2d0f;border-color:#141e2d26}:root[data-theme=light] .tl-btn:hover,:root[data-theme=light] .popup button:hover{background:#141e2d1c}:root[data-theme=light] .tl-date-input,:root[data-theme=light] .tl-year{background-color:#fff;color:var(--text)}:root[data-theme=light] .tl-year option{background-color:#fff;color:#161b22}:root[data-theme=light] .fp-select{background-color:#fff;color:var(--text)}:root[data-theme=light] .fp-select option{background-color:#fff;color:#161b22}:root[data-theme=light] .card{background:#141e2d0a}:root[data-theme=light] .bar-track{background:#141e2d14}:root[data-theme=light] .space-meter-track{background:#141e2d14}:root[data-theme=light] .dashboard::-webkit-scrollbar-thumb{background:#141e2d38}:root[data-theme=light] .flight-year{background:#141e2d0d}:root[data-theme=light] .flight-year:hover{background:#141e2d1a}:root[data-theme=light] .panel h1{background:linear-gradient(90deg,#161b22,#e07b00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}:root[data-theme=light] .tl-bubble-day{color:#161b22}:root[data-theme=light] .tl-bubble{box-shadow:0 8px 24px #141e2d2e}:root[data-theme=light] .maplibregl-ctrl-group{background:#fff}:root[data-theme=light] .maplibregl-ctrl-group button{filter:none}.dash-funfact{margin-top:10px;padding:8px 10px;background:#ff8c001f;border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--text-dim);line-height:1.45}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}[role=dialog]{z-index:30;max-height:calc(100dvh - 32px);overflow-y:auto}.welcome-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:linear-gradient(#05090d33,#05090d61),url(./background_4k-CRU973xr.png) center / cover no-repeat;background-image:linear-gradient(#05090d33,#05090d61),image-set(url(./background_4k-BF-vtoSj.webp) type("image/webp"),url(./background_4k-CRU973xr.png) type("image/png"))}.import-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-width:calc(100vw - 32px);padding:28px;display:flex;flex-direction:column;gap:16px;background:#0e1319d1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.import-dialog h1{margin:0;font-size:28px}:root[data-theme=light] .import-dialog{background:#ffffffdb;box-shadow:0 18px 54px #1c26343d}:root[data-theme=light] .import-dialog h1{background:linear-gradient(90deg,#161b22,#334155 42%,#d56f00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.import-dialog p{margin:0;line-height:1.6}.import-privacy{padding:12px 14px;border:1px solid rgba(86,214,153,.52);border-radius:10px;background:#24855933;color:#e5fff1;font-size:13px;font-weight:700}:root[data-theme=light] .import-privacy{border-color:#19794b59;background:#2485591a;color:#155d3d}.geo-credit{font-size:10px;color:var(--text-faint)}.geo-credit a{color:inherit}.import-drop{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--accent);border-radius:12px;background:#ff8c0012;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.import-source-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.import-source-row>*{min-width:0}.import-source-title{display:block;font-size:14px;font-weight:800;line-height:1.35}.import-source-formats{color:var(--text-dim);font-size:11px;font-weight:400}.import-drop.drag-active{border-color:#ffc066;background:#ff8c0033;transform:scale(1.01)}.file-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;margin-top:auto}.file-select{display:block;flex:1 1 50px;min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:12px;font-weight:800;line-height:1.3;cursor:pointer}.browse-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:28px;padding:3px 11px;box-sizing:border-box;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--text) 12%,transparent);color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.visually-hidden-file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.import-drop:focus-within,.sports-import:focus-within{outline:2px solid var(--accent);outline-offset:2px}.sports-import{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border:1px solid #1bbeaa;border-radius:12px;background:color-mix(in srgb,#1bbeaa 8%,transparent);overflow-wrap:anywhere;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.sports-import.drag-active{border-color:#76f1e2;background:color-mix(in srgb,#1bbeaa 20%,transparent);transform:scale(1.01)}.sports-import-head{display:flex;align-items:flex-start;gap:5px}.sports-import h2{flex:1 1 auto;min-width:0;margin:0;font-size:14px}.sports-new-badge{flex:0 0 auto;margin-left:auto;padding:3px 6px;border:1px solid #70e6d7;border-radius:999px;background:linear-gradient(115deg,#117d73,#36dbc2 38%,#e3fff9,#36dbc2 60%,#117d73);box-shadow:0 0 8px #37e5cb73;color:#073e38;font-size:8px;font-weight:900;letter-spacing:.06em;line-height:1.2;white-space:nowrap;pointer-events:none}.sports-import p{color:var(--text-dim);font-size:11px}.sports-import .file-select{color:var(--text)}@media(min-width:701px){.sports-import .file-action-row{flex-wrap:nowrap;gap:6px}.sports-import .file-select{flex:0 1 auto;white-space:nowrap;overflow-wrap:normal}}.sports-import .tl-btn{width:fit-content;max-width:100%;box-sizing:border-box;white-space:normal;cursor:pointer}.sports-import progress{width:100%;accent-color:#1bbeaa}.sports-import [role=alert]{color:#ff8f8f}.layer-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;cursor:pointer}.layer-toggle.google-layer input{accent-color:var(--accent)}.layer-toggle.sports-layer input{accent-color:#1bbeaa}.sports-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 32px));padding:20px;background:var(--panel-solid)}.sports-dialog h2{margin:0 0 6px}.sports-dialog h3{margin:16px 0 6px}.sports-dialog p{color:var(--text-dim);font-size:12px}.sports-dialog select{max-width:100%;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-solid);color:var(--text)}.sports-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.sports-stat-grid>div{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--border);border-radius:8px}.sports-stat-grid strong{font-size:17px}.sports-stat-grid span{color:var(--text-dim);font-size:11px}.sports-activity-list{max-height:min(35dvh,300px);overflow-y:auto}.sports-activity-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.sports-activity-row span{overflow-wrap:anywhere}.sports-activity-row select{flex:0 0 auto}.sports-section h2{margin:0 0 6px;font-size:16px}.sports-section p{color:var(--text-dim);font-size:12px}.sports-section select{max-width:100%;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-solid);color:var(--text)}.import-error-block{display:flex;flex-direction:column;gap:2px}.welcome-offer-links{display:grid;grid-template-columns:1fr;gap:8px}.welcome-guide-footer{color:var(--text-faint);font-size:9px;opacity:.5;text-decoration:none;transition:opacity .15s ease}.welcome-guide-footer:hover,.welcome-guide-footer:focus-visible{opacity:1}.welcome-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.welcome-secondary-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;min-width:0}.welcome-secondary-cta small{color:var(--text-dim);font-size:10px;font-weight:500;line-height:1.35;text-align:center}.welcome-secondary-cta .demo-btn{width:100%}.welcome-legal{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 8px}.welcome-legal p{margin:0}.inspiration-dialog{top:50%;left:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 32px));padding:20px;display:flex;flex-direction:column;gap:18px;background:var(--panel-solid)}.inspiration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.inspiration-head h2{margin:3px 0 5px}.inspiration-head p{margin:0;color:var(--text-dim)}.inspiration-eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.inspiration-grid figure{min-width:0;margin:0}.inspiration-zoom-trigger{display:block;width:100%;padding:0;border:0;border-radius:12px;background:transparent}.inspiration-grid img{display:block;width:100%;height:auto;max-height:58dvh;border-radius:12px;object-fit:contain;background:var(--bg)}@media(min-width:901px){.inspiration-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.6fr)}}.inspiration-grid figcaption{margin-top:7px;color:var(--text-dim);font-size:12px}.inspiration-cta{align-self:center;min-width:220px}.inspiration-image-zoom{display:none}@media(min-width:701px)and (max-width:900px){.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.demo-btn{padding:5px 10px;font-size:11px}@media(min-width:900px)and (min-height:600px){.inspiration-zoom-trigger{cursor:zoom-in}.inspiration-image-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;width:100%;height:100%;place-items:center;padding:16px;border:0;cursor:zoom-out;background:#05080cbd;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.inspiration-image-zoom img{display:block;width:auto;height:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:12px;box-shadow:0 28px 90px #000000b8}}.import-instructions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.import-instruction{display:flex;flex-direction:column;gap:6px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff0b;color:var(--text-dim);font-size:11px;line-height:1.45}:root[data-theme=light] .import-instruction{background:#141e2d09}.import-instruction strong{color:var(--text);font-size:12px}progress{display:block;width:100%;margin:12px 0;accent-color:var(--accent)}.inline-error{color:#ff9c90;line-height:1.5}:root[data-theme=light] .inline-error{color:#a52819}.top-left{width:320px;max-height:calc(100dvh - 270px);overflow-y:auto}.app:not(.timeline-open) .top-left{max-height:calc(100dvh - 96px)}.range-badge{position:absolute;top:20px;left:50%;transform:translate(-50%);max-width:calc(100vw - 750px);border:1px solid var(--border);border-radius:24px;background:var(--panel-solid);color:var(--text);padding:9px 16px;font-size:12px;z-index:6;text-align:center}.frame-planner{max-height:calc(100dvh - 32px)}.frame-planner h4{margin:6px 0 0;font-size:13px}.flight-row{width:100%;text-align:left;color:inherit;background:transparent;border:0}.cap-anchor{pointer-events:auto;cursor:pointer;padding:0;border:1px solid var(--text-dim);width:20px;height:20px}.mobile-menu{display:block;position:absolute;top:16px;left:16px;z-index:12;min-height:40px;background:var(--panel-solid)}.mobile-menu-open .mobile-menu{display:none}.export-dialog{gap:8px}.print-pdf-settings{display:grid;gap:9px;margin:6px 0;padding:10px;border:1px solid var(--border);border-radius:10px;font-size:12px}.print-pdf-settings label{display:grid;gap:5px}.print-pdf-settings input,.print-pdf-settings select{max-width:100%;min-width:0}.print-pdf-settings p,.pdf-report p{color:var(--text-dim);font-size:11px;line-height:1.4;margin:3px 0}@media(max-width:1100px){.range-badge{top:72px;left:auto;right:16px;transform:none;max-width:calc(100vw - 380px)}}.cap-copy{flex:1 1 calc(50% - 6px);display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:7px 8px}.cap-copy strong{font-size:11px}.cap-copy small{color:var(--text-dim);font-size:9px;line-height:1.25}.main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.main-actions-column{display:flex;flex-direction:column;gap:8px;min-width:0}.main-actions-label{color:var(--text-faint);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.guide-menu-item{display:flex;flex-direction:column;gap:5px}.guide-menu-item small{color:var(--text-faint);font-size:9px;line-height:1.35;padding:0 3px}.prepare-map-btn{border-color:#ffb8609e;background:#ff8c0024}.main-actions .dash-btn{width:100%;margin:0;min-width:0;padding-inline:8px;font-size:12px}.user-guide{top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto}.guide-flow{list-style:none;margin:14px 0 18px;padding:0;display:flex;flex-direction:column}.guide-flow li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:11px;padding-bottom:15px}.guide-flow li:not(:last-child):after{content:"";position:absolute;left:15px;top:30px;bottom:2px;width:2px;background:linear-gradient(var(--accent),rgba(255,140,0,.18))}.guide-number{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#1a1208;font-size:13px;font-weight:900}.guide-flow strong{display:block;padding-top:2px;font-size:13px}.guide-flow p{margin:3px 0 0;color:var(--text-dim);font-size:12px;line-height:1.4}.guide-data-link{margin-top:7px;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}@media(max-width:700px){.combined-stats,.combined-stats.single-source{width:auto}.combined-stats .sports-section h2{padding-right:90px}.combined-stats-body{grid-template-columns:minmax(0,1fr)}.combined-stats-body .travel-section{border-left:0;border-top:1px solid var(--border);padding:16px 0 0}.import-source-row{gap:7px}.import-source-row .import-drop,.import-source-row .sports-import{padding:8px 10px}.import-source-row .file-select{font-size:11px}.import-source-row .browse-button{min-height:26px;padding:2px 8px}.app{height:100dvh}.mobile-menu{top:12px;left:12px;min-height:44px}.top-left{display:none;top:64px;left:12px;width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 300px);background:var(--panel-solid);z-index:11}.lang-tile{top:12px;left:auto;right:60px;padding:4px}.welcome-lang-tile{right:12px}.range-badge{top:65px;right:12px;left:12px;max-width:none;width:fit-content;margin:auto;font-size:11px;padding:7px 12px}.timeline-toggle,.timeline-toggle.open{left:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:44px}.timeline{left:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 56px);width:calc(100vw - 24px);max-width:none;gap:6px;padding:8px 12px}.timeline-actions .tl-btn,.tl-speed-btn,.tl-date-input,.tl-year{min-height:36px}.frame-planner,.dashboard,.sports-dialog,.caption-editor,.help-guide,.user-guide,.offer-dialog,.print-order-dialog,.export-dialog,.popup{top:auto;bottom:12px;left:12px;right:12px;width:auto;min-width:0;max-width:none;max-height:calc(100dvh - 100px);transform:none;background:var(--panel-solid)}.frame-planner .tl-btn,.dashboard .tl-btn,.caption-editor .tl-btn,.export-dialog .tl-btn{min-height:40px}.import-dialog{padding:20px}.import-dialog h1{font-size:24px}.order-fields-row{grid-template-columns:1fr}.import-drop{padding:16px}.import-instructions{grid-template-columns:1fr;gap:7px}.inspiration-dialog{top:72px;bottom:12px;left:12px;right:12px;width:auto;max-width:none;transform:none;padding:14px}.inspiration-grid{grid-template-columns:1fr}.inspiration-grid img{max-height:none}.welcome-secondary-actions{gap:7px}.import-instruction{padding:9px 10px}.dash-table{font-size:10px}.dash-table th,.dash-table td{padding:5px 3px}.timeline-open .maplibregl-ctrl-bottom-right{bottom:335px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.export-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:29;cursor:wait;background:#0000001f}.screen-watermark{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));align-content:space-around;justify-items:center;gap:72px 36px;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;transform:rotate(-18deg);transform-origin:center}.screen-watermark span{color:#ffffff29;font-size:clamp(13px,1.5vw,21px);font-weight:800;letter-spacing:.08em;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}:root[data-theme=light] .screen-watermark span{color:#1218202e;text-shadow:0 1px 2px rgba(255,255,255,.4)}.map-error{position:absolute;top:110px;left:50%;transform:translate(-50%);width:320px;max-width:calc(100vw - 32px);background:var(--panel-solid);border:1px solid #ba5745;border-radius:12px;padding:16px;z-index:8;font-size:13px}[role=dialog]{overflow-x:hidden}[role=dialog]>*{min-width:0}.preview-actions{display:flex;gap:8px}.preview-actions .tl-btn{flex:1;font-size:12px}.export-preview{margin:0}.export-preview img{display:block;width:100%;height:auto;border-radius:8px}.export-preview figcaption{color:var(--text-dim);font-size:10px;margin-top:4px}
