/* Мой мир v0.9.0 — красочная география и интерактивные SVG-карты */
.world-active .topbar{display:none}
.world-active main{padding:0!important}
.world-active .app-shell{background:#f7fcfe}
.myworld-screen{min-height:100vh;padding-bottom:118px;background:linear-gradient(180deg,#f3fcff 0%,#f8fcfd 60%,#fffaf5 100%);color:#103f50}
.myworld-screen button{-webkit-tap-highlight-color:transparent}
.mw-hero{position:relative;min-height:293px;isolation:isolate;overflow:hidden;padding:17px 18px 28px;color:#fff;background:linear-gradient(117deg,#004963c9,#005f7a88 58%,#04535b70),url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1200&q=89') center 47%/cover}
.mw-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(#003a5470,transparent 45%,#003d50b5);z-index:-1}
.mw-hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mw-hero-top button{border:1px solid #ffffff70;width:42px;height:42px;border-radius:14px;background:#0ba1a1bc;color:#fff;font-size:30px;line-height:1;box-shadow:0 5px 18px #034f6b8a}
.mw-hero-top>span:not(.mw-compass){font-size:10px;letter-spacing:1.1px;font-weight:900;text-align:center;text-shadow:0 2px 5px #003b51}
.mw-compass{display:grid;place-items:center;width:43px;height:43px;border:2px solid #fff3b8b9;background:#f7d46b44;border-radius:50%;font-size:28px;color:#fff5d6;transform:rotate(-16deg);flex:none}
.mw-hero-title{position:relative;margin-top:33px;z-index:2}
.mw-hero-title>span{font-size:10px;letter-spacing:1.6px;font-weight:950;color:#ecfff9;text-shadow:0 2px 7px #02445b}
.mw-hero-title h1{font:900 clamp(39px,11vw,61px)/.99 Georgia,'Times New Roman',serif;letter-spacing:-1px;color:#fff2dc;margin:9px 0 10px;text-shadow:0 4px 11px #002e44cf}
.mw-hero-title p{font-size:clamp(12px,3.65vw,16px);max-width:275px;font-weight:800;line-height:1.3;text-shadow:0 2px 6px #004058ce;margin:0}
.mw-summary{position:relative;margin:-17px 12px 21px;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:white;border-radius:21px;padding:16px 3px;box-shadow:0 11px 28px #0f607125}
.mw-summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;min-width:0}
.mw-summary>div+div{border-left:1px solid #d8e7e9}
.mw-summary b{font-size:28px;line-height:1;color:#09a9b5;font-weight:950}
.mw-summary>div:nth-child(2) b{color:#f28b78}
.mw-summary>div:nth-child(3) b{color:#e7ad24}
.mw-summary small{color:#5e7e88;font-size:clamp(10px,2.75vw,12px);font-weight:750;line-height:1.2}
.mw-main{padding:0 13px}
.mw-page-intro{padding:0 2px 14px}
.mw-page-intro>span,.mw-records-heading span{display:block;font-size:10px;font-weight:950;letter-spacing:1.7px;color:#12a7b8;margin-bottom:5px}
.mw-page-intro h2{font-size:clamp(23px,6.6vw,31px);letter-spacing:-.7px;line-height:1.13;color:#0a4051;margin:0 0 7px}
.mw-page-intro p{font-size:13px;color:#698590;margin:0;line-height:1.4}
.mw-layer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:6px 0 14px}
.mw-layer button{min-height:47px;border:1px solid #d3e9ec;border-radius:15px;background:white;color:#54818a;font-size:13px;font-weight:950;box-shadow:0 5px 15px #0b506514}
.mw-layer button.active{color:white;background:linear-gradient(125deg,#18c2bd,#088da9);border-color:transparent;box-shadow:0 7px 17px #0c99aa4f}
.mw-map-panel{overflow:hidden;background:white;border:1px solid #e3f0f1;border-radius:23px;box-shadow:0 12px 27px #11556520;margin-bottom:13px;padding:15px 10px 12px}
.mw-map-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 6px 11px}
.mw-map-header>div:first-child{min-width:0}
.mw-map-header strong{display:block;font-size:17px;font-weight:950;color:#0f4a59;line-height:1.15;margin-bottom:5px}
.mw-map-header span{color:#7b969e;font-size:11px;font-weight:700}
.mw-zoom{display:flex;gap:5px;flex:none}
.mw-zoom button{border:0;border-radius:10px;width:33px;height:33px;display:grid;place-items:center;background:#e8f8f7;color:#078b93;font-size:22px;font-weight:850}
.mw-map-viewport{position:relative;width:100%;min-height:170px;overflow:auto;overscroll-behavior-x:contain;border-radius:13px;background:#e7f7fa;scrollbar-width:thin}
.mw-map-sizer{min-width:100%;transition:width .15s}
.mw-svg{display:block;width:100%;height:auto;max-width:none;touch-action:pan-x pan-y}
.mw-land{fill:#bbdce4;stroke:#ecf9fc;stroke-width:1.4;stroke-linejoin:round;cursor:pointer;transition:fill .16s;vector-effect:non-scaling-stroke}
.mw-land:hover,.mw-land:focus{fill:#80cbd3;outline:none;stroke:#fff;stroke-width:2}
.mw-land.is-visited{fill:#09b3a9;stroke:#e8fcfa;stroke-width:1.1}
.mw-land.is-dream{fill:#ff9a83;stroke:#ffeae4;stroke-width:1.1}
.mw-land.is-selected{stroke:#ffe45a;stroke-width:4;fill:#f5c342;filter:drop-shadow(0 0 5px #e69a2d8a)}
.mw-map-guide{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:11px 0 0}
.mw-map-guide>span{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:#6d8d95}
.mw-dot{width:11px;height:11px;border-radius:4px;display:inline-block}
.mw-dot.visited{background:#09b3a9}.mw-dot.dream{background:#ff9a83}.mw-dot.other{background:#bbdce4}
.mw-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;padding:17px 15px;border:1px solid #c4edec;border-radius:18px;background:linear-gradient(120deg,#e7fbf9,#fff8ec);box-shadow:0 5px 14px #115b6b13}
.mw-selection>div:first-child{flex:1 1 145px;min-width:0}
.mw-selection span{font-size:9px;font-weight:950;color:#1a9da8;letter-spacing:1.4px}
.mw-selection h3{font-size:21px;line-height:1.13;color:#0c4659;font-weight:950;overflow-wrap:anywhere;margin:5px 0}
.mw-selection p{color:#5f7e85;font-size:12px;margin:0;font-weight:800}
.mw-selection-buttons{display:flex;gap:7px;flex-wrap:wrap;width:100%}
.mw-selection-buttons button{font-size:12px;font-weight:950;padding:10px 11px;border-radius:12px;border:0;background:#14b5aa;color:white;min-height:41px;flex:1}
.mw-selection-buttons button:nth-child(2){background:#ff907b}
.mw-selection-buttons button:last-child:nth-child(3){background:#f7f0e9;color:#b57665;flex:0 1 auto}
.mw-search-form{padding:16px 14px;border-radius:18px;background:#eafbfd;border:1px solid #d7edef;margin:0 0 24px}
.mw-search-form label{display:block;font-size:12px;font-weight:950;color:#136676;margin-bottom:9px}
.mw-search-form>div{display:flex;align-items:stretch;gap:7px}
.mw-search-form input{min-width:0;flex:1;height:43px;background:white;border:1px solid #c9e3e6;border-radius:11px;font-size:13px;padding:0 11px;color:#164b5a;outline-color:#13aeb6}
.mw-search-form button{border:0;border-radius:11px;padding:0 12px;background:#14aeac;color:white;font-size:12px;font-weight:950;white-space:nowrap}
.mw-records-heading{margin:0 3px 12px}
.mw-records-heading h3{font-size:clamp(23px,6vw,30px);line-height:1.08;letter-spacing:-.5px;color:#0c3f50;margin:0}
.mw-record-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 13px}
.mw-record-tabs button{border:1px solid #e0eced;background:#fff;color:#607e89;border-radius:14px;min-height:45px;font-size:13px;font-weight:950}
.mw-record-tabs button.active{background:linear-gradient(115deg,#16c5c2,#048fa7);border-color:transparent;color:white;box-shadow:0 6px 15px #10a3b657}
.mw-record-tabs button:nth-child(2).active{background:linear-gradient(115deg,#ffab9d,#f97b87);box-shadow:0 6px 15px #f48a8060}
.mw-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mw-places>button{display:flex;align-items:center;gap:8px;text-align:left;min-height:63px;border:1px solid #e5eeee;border-radius:16px;background:#fff;color:#174958;padding:11px 9px;box-shadow:0 5px 13px #0f5c6a14;min-width:0}
.mw-pin{flex:none;display:grid;place-items:center;background:#e1f8f3;border-radius:10px;width:29px;height:29px;color:#11a596;font-size:16px;font-weight:950}
.mw-places strong{font-size:12px;line-height:1.2;font-weight:900;overflow-wrap:anywhere;min-width:0;flex:1}
.mw-places-arrow{font-size:16px;color:#ed937e;flex:none}
.mw-places-empty{padding:24px 17px;text-align:center;background:linear-gradient(130deg,#eafbf9,#fff3ed);border-radius:21px;min-height:155px;border:1px dashed #c9e2df}
.mw-places-empty span{font-size:37px;color:#ff8c81}.mw-places-empty h3{font-size:19px;color:#0b4c5e;margin:8px 0}.mw-places-empty p{font-size:12px;line-height:1.45;color:#779299;margin:0}
.mw-note{font-size:11px;line-height:1.5;text-align:center;color:#7e999d;margin:21px 12px 10px}
.mw-attribution{font-size:10px;text-align:center;color:#8fa1a9;margin:12px 0 0}
.mw-attribution a{color:#527c91}
@media(max-width:370px){.mw-hero{min-height:273px}.mw-hero-top>span:not(.mw-compass){font-size:8px}.mw-places{grid-template-columns:1fr}.mw-map-guide{gap:6px}.mw-hero-title{margin-top:31px}.mw-search-form{padding:13px 10px}.mw-search-form button{padding:0 9px}.mw-selection-buttons button{font-size:11px}}
@media(min-width:650px){.mw-hero{min-height:347px;padding:20px 28px}.mw-hero-title{margin-top:52px}.mw-main{padding:0 25px}.mw-summary{margin:-18px 25px 23px}.mw-places{grid-template-columns:repeat(3,minmax(0,1fr))}.mw-map-panel{padding:18px}.mw-map-viewport{max-height:400px}}

/* v0.9.2: every country and Russian city has a geolocated name on the map. */
.mw-map-viewport{height:310px;min-height:260px;max-height:none;scrollbar-color:#a8cacf #e1f0f3;touch-action:pan-x pan-y}
.mw-map-sizer{display:block;min-width:100%;height:auto}
.mw-svg{width:100%;height:auto;overflow:visible;user-select:none}
.mw-map-text{font-family:system-ui,-apple-system,"Arial",sans-serif;letter-spacing:-.15px;text-anchor:middle;paint-order:stroke fill;stroke:#e9f8f8;stroke-width:2.6px;stroke-linejoin:round;fill:#145b6a;font-weight:900;pointer-events:none;vector-effect:non-scaling-stroke}
.mw-name-label{font-size:13px;stroke:#e8f6f7;stroke-width:2.3px}
.mw-region-text-layer .mw-name-label{font-size:12px;fill:#4b7785;stroke:#edf7f7;font-weight:800}
.mw-city{cursor:pointer;outline:none}
.mw-city-dot{fill:#ff9e66;stroke:#ffffff;stroke-width:1.4;vector-effect:non-scaling-stroke}
.mw-city-text{text-anchor:start;font-size:10.7px;stroke:#f8feff;stroke-width:2.6px;fill:#1a5164;font-weight:850}
.mw-city.is-visited .mw-city-dot{fill:#08b79e;stroke:#fff}
.mw-city.is-dream .mw-city-dot{fill:#fb7189;stroke:#fff}
.mw-city.is-selected .mw-city-dot{fill:#ffdb31;stroke:#0b5d79;stroke-width:3}
.mw-city.is-selected .mw-city-text{fill:#9b4f0d;font-weight:950;stroke:#fff3b5;stroke-width:3.5}
.mw-city:hover .mw-city-text{font-weight:1000;fill:#bb6426}
.mw-map-sizer[data-zoom-tier="overview"] .mw-name-label.mw-priority-2,
.mw-map-sizer[data-zoom-tier="overview"] .mw-name-label.mw-priority-3{display:none}
.mw-map-sizer[data-zoom-tier="normal"] .mw-name-label.mw-priority-3{display:none}
.mw-map-sizer[data-zoom-tier="overview"] .mw-city.mw-priority-1 .mw-city-text,
.mw-map-sizer[data-zoom-tier="overview"] .mw-city.mw-priority-2 .mw-city-text,
.mw-map-sizer[data-zoom-tier="overview"] .mw-city.mw-priority-3 .mw-city-text,
.mw-map-sizer[data-zoom-tier="normal"] .mw-city.mw-priority-2 .mw-city-text,
.mw-map-sizer[data-zoom-tier="normal"] .mw-city.mw-priority-3 .mw-city-text,
.mw-map-sizer[data-zoom-tier="detailed"] .mw-city.mw-priority-3 .mw-city-text{display:none}
.mw-map-sizer[data-zoom-tier="overview"] .mw-region-text-layer .mw-priority-1,
.mw-map-sizer[data-zoom-tier="normal"] .mw-region-text-layer{display:none}
.mw-city-dot{pointer-events:all}
.mw-city:focus .mw-city-dot{stroke:#ffd651;stroke-width:3}
.mw-label-explain{margin:0 6px 10px;color:#67909a;font-size:11px;line-height:1.45}
.mw-all-labels{display:flex;align-items:center;gap:8px;padding:9px 4px 0;font-size:11px;font-weight:900;line-height:1.3;color:#347b84;cursor:pointer}
.mw-all-labels input{width:17px;height:17px;accent-color:#03a9a8;flex:none}
.mw-region-hint{font-size:10px;color:#74939d;line-height:1.4;padding:6px 4px 0;margin:0}
.mw-city-region{color:#2b909b!important;font-weight:850;margin:2px 0 6px!important}
.mw-search-form input{font-size:12px}
.mw-map-panel .mw-zoom button{width:39px;height:39px;font-size:25px}
@media(min-width:650px){.mw-map-viewport{height:410px}.mw-map-panel{padding:19px 15px}}

/* small islands missing from low-resolution geographic outlines */
.mw-small-country{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}
.mw-small-country:hover{stroke:#ffe285;stroke-width:2.8}
.mw-small-country.is-visited{fill:#08b99c;stroke:#fff}
.mw-small-country.is-dream{fill:#ff897c;stroke:#fff}
.mw-small-country.is-selected{fill:#f5c342;stroke:#f78a4c;stroke-width:3}
