/* OVYEL Places v5 — independent UI skin; no changes to shared layout. */
#page-places{padding:18px 0 70px;overflow:hidden}
#page-places .world-layout{max-width:1600px;width:min(calc(100% - 38px),1600px);margin:auto;display:grid;grid-template-columns:202px minmax(350px,1fr) minmax(315px,385px);gap:18px;align-items:start}
#page-places .world-nav{position:relative;padding:34px 0 0;display:flex;flex-direction:column;gap:25px;min-width:0}
#page-places .world-eyebrow{font-size:11px;font-weight:800;letter-spacing:.20em;color:var(--muted);text-transform:uppercase}
#page-places .world-head-title{font-weight:680;letter-spacing:-.072em;font-size:clamp(44px,4.6vw,72px);line-height:.95;margin:14px 0 15px}
#page-places .world-subtitle{font-size:14px;line-height:1.65;color:var(--muted);margin:0;max-width:220px}
#page-places .world-side-menu{border-radius:27px;padding:10px;display:flex;flex-direction:column;gap:4px}
#page-places .world-side-menu button{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:18px;display:flex;align-items:center;gap:11px;width:100%;padding:12px 12px;text-align:left;font-size:13px;transition:background .2s,color .2s,border .2s}
#page-places .world-side-menu button .world-menu-icon{font-size:18px;font-weight:400;width:20px;text-align:center;color:var(--text)}
#page-places .world-side-menu button.active{color:var(--text);font-weight:700;background:var(--surface-strong);border-color:var(--line);box-shadow:0 5px 22px rgba(0,0,0,.035)}
#page-places .world-side-menu button:hover{background:var(--surface-strong);color:var(--text)}
#page-places .world-mini-card{padding:14px;border-radius:25px;display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:center}
#page-places .world-mini-art{height:76px;border-radius:17px;position:relative;background:radial-gradient(circle at 35% 27%,#fff 2%,transparent 36%),linear-gradient(145deg,#343434,#b3b3b3 56%,#eee);overflow:hidden}
#page-places .world-mini-art::before{content:'';position:absolute;inset:18% 17%;border:1px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:inset -8px -10px 10px rgba(0,0,0,.2),0 0 18px rgba(255,255,255,.5)}
#page-places .world-mini-card strong{display:block;font-size:13px;line-height:1.3}
#page-places .world-mini-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:5px 0 0}
#page-places .world-center{min-width:0;position:relative}
#page-places .world-center-heading{padding:18px 7px 10px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
#page-places .world-center-heading h2{font-size:clamp(22px,2vw,32px);line-height:1.1;letter-spacing:-.045em;margin:7px 0}
#page-places .world-center-heading p{font-size:12px;line-height:1.4;color:var(--muted);margin:0}
#page-places .world-status{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 11px;white-space:nowrap;color:var(--muted);display:flex;align-items:center;gap:7px}
#page-places .world-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#79ad83;box-shadow:0 0 12px #79ad83}
#page-places .world-globe-panel{position:relative;min-height:min(68vw,700px);height:min(74vh,745px);border-radius:36px;overflow:hidden;isolation:isolate;border:1px solid var(--line);background:radial-gradient(ellipse 70% 80% at 50% 43%,rgba(255,255,255,.35),transparent 87%),var(--surface);box-shadow:var(--shadow)}
html[data-theme="dark"] #page-places .world-globe-panel{background:radial-gradient(ellipse 65% 60% at 50% 42%,rgba(255,255,255,.038),transparent 90%),var(--surface)}
#page-places .world-globe-panel::before{position:absolute;content:'';width:120%;height:130%;left:-12%;top:-16%;background:radial-gradient(circle at 20% 26%,transparent 0 70px,rgba(135,135,135,.07) 71px,transparent 73px),radial-gradient(circle at 85% 77%,transparent 0 155px,rgba(135,135,135,.08) 156px,transparent 158px);pointer-events:none}
#page-places .world-globe-stage{position:absolute;inset:2% 0 15%;overflow:hidden;touch-action:pan-y;cursor:grab}
#page-places .world-globe-stage.dragging{cursor:grabbing;touch-action:none}
#page-places #world-globe-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#page-places .world-pin-layer{position:absolute;inset:0;pointer-events:none}
#page-places .world-pin{position:absolute;z-index:2;pointer-events:auto;transform:translate(-50%,-50%);appearance:none;border:0!important;background:transparent!important;display:flex;align-items:center;gap:5px;white-space:nowrap;padding:0!important;cursor:pointer;box-shadow:none!important}
#page-places .world-pin-dot{width:9px;height:9px;display:inline-block;border-radius:50%;background:var(--text);border:2px solid var(--bg);box-shadow:0 0 0 4px rgba(125,125,125,.18),0 0 15px rgba(255,255,255,.6);flex:0 0 auto}
#page-places .world-pin.active .world-pin-dot{width:13px;height:13px;box-shadow:0 0 0 7px rgba(125,125,125,.19),0 0 24px rgba(255,255,255,.8)}
#page-places .world-pin-label{display:block;padding:6px 10px;font-size:10px!important;border-radius:999px;border:1px solid var(--line);background:var(--surface-strong);color:var(--text);backdrop-filter:blur(16px);box-shadow:0 7px 20px rgba(0,0,0,.08)}
#page-places .world-pin.active .world-pin-label{background:var(--text);color:var(--bg);border-color:var(--text)}
#page-places .world-pin:not(.active):not(.major) .world-pin-label{display:none}
#page-places .world-pin:hover .world-pin-label{display:block!important}
#page-places .world-globe-footer{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;z-index:3}
#page-places .world-breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;padding:12px 14px;border-radius:19px;background:var(--surface-strong);backdrop-filter:blur(20px);border:1px solid var(--line);color:var(--muted)}
#page-places .world-breadcrumb b{color:var(--text)}
#page-places .world-controlgroup{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:19px;background:var(--surface-strong);backdrop-filter:blur(20px)}
#page-places .world-controlgroup button{min-width:32px;height:32px;padding:0 8px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
#page-places .world-controlgroup button:hover{background:var(--text);color:var(--bg)}
#page-places .world-controlgroup input{width:74px;accent-color:var(--text)}
#page-places .world-globe-hint{position:absolute;left:24px;top:23px;font-size:11px;color:var(--muted);z-index:2;display:flex;align-items:center;gap:6px}
#page-places .world-globe-hint span{font-size:20px}
#page-places .world-aside{display:flex;flex-direction:column;gap:12px;min-width:0;padding-top:12px}
#page-places .world-search-row{display:flex;gap:8px;position:relative}
#page-places .world-searchbox{height:52px;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;border-radius:19px;padding:0 14px}
#page-places .world-searchbox input{background:none;border:none;color:var(--text);outline:none;width:100%;font-size:12px;min-width:0}
#page-places .world-search-submit{height:52px;min-width:50px;flex-shrink:0;padding:0 14px;border-radius:19px;background:var(--text);border:0;color:var(--bg);font-size:13px}
#page-places .world-search-results{position:absolute;left:0;right:0;top:57px;z-index:15;border-radius:20px;padding:7px;max-height:260px;overflow-y:auto;box-shadow:var(--shadow)}
#page-places .world-search-results button{display:block;text-align:left;width:100%;padding:12px 10px;background:transparent;border:0;border-radius:12px;color:var(--text);font-size:12px}
#page-places .world-search-results button:hover{background:var(--surface-strong)}
#page-places .world-search-results b{display:block;font-size:13px}
#page-places .world-search-results small{color:var(--muted);font-size:11px}
#page-places .world-aside select{border:1px solid var(--line);background:var(--surface-strong);border-radius:16px;padding:12px 14px;color:var(--text);outline:none;width:100%;font-size:12px}
#page-places .world-place-card{border-radius:29px;padding:12px;display:flex;flex-direction:column;gap:12px;min-width:0}
#page-places .world-city-visual{height:176px;position:relative;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 70% 60%,rgba(255,255,255,.3),transparent 65%),linear-gradient(130deg,#3c3c3c,#9b9b9b 50%,#e1e1e1)}
#page-places .world-city-visual::before{content:'';position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,rgba(0,0,0,.27))}
#page-places .world-city-visual.is-tokyo{background-image:linear-gradient(to bottom,transparent,rgba(16,10,8,.24)),url('places-tokyo.webp');background-position:center center;background-size:cover}
#page-places .world-city-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
#page-places .world-city-visual .world-city-photo{filter:grayscale(100%);opacity:.75}
#page-places .world-city-visual.is-tokyo .world-city-photo{filter:none;opacity:.96}
#page-places .world-city-visual-label{position:absolute;inset:auto 16px 15px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:8px;color:white}
#page-places .world-city-visual-label strong{font-size:28px;letter-spacing:-.04em;line-height:1}
#page-places .world-city-visual-label small{font-size:10px;letter-spacing:.14em;opacity:.9;display:block;margin-bottom:7px}
#page-places .world-heart{position:absolute;z-index:3;right:14px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(20,20,20,.58);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:19px}
#page-places .world-city-head{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
#page-places .world-city-head h3{font-size:31px;margin:0;line-height:1.1;letter-spacing:-.035em}
#page-places .world-city-head p{font-size:12px;color:var(--muted);margin:4px 0 0}
#page-places .world-place-time{font-size:11px;color:var(--muted);white-space:nowrap}
#page-places .world-detail-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
#page-places .world-detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:10px 7px;color:var(--muted);font-size:11px;white-space:nowrap}
#page-places .world-detail-tabs button.active{border-color:var(--text);color:var(--text);font-weight:700}
#page-places .world-city-description{font-size:12px;line-height:1.68;color:var(--muted);margin:1px 4px 0}
#page-places .world-place-tags{display:flex;gap:8px;flex-wrap:wrap}
#page-places .world-place-tags span{background:var(--surface-strong);border:1px solid var(--line);border-radius:12px;padding:9px 10px;font-size:10px;color:var(--muted)}
#page-places .world-map-preview{height:185px;border-radius:20px;border:1px solid var(--line);background:var(--surface-strong);overflow:hidden;position:relative}
#page-places .world-map-preview iframe{width:100%;height:100%;border:0;filter:grayscale(.95);opacity:.92}
#page-places .world-map-preview .world-map-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:14px}
#page-places .world-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#page-places .world-action-row button,#page-places .world-action-row a{display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;padding:12px 6px;font-size:11px;border-radius:15px;border:1px solid var(--line);color:var(--text);background:var(--surface-strong)}
#page-places .world-action-row .primary{background:var(--text);color:var(--bg);border-color:var(--text)}
#page-places .world-credits{font-size:10px;line-height:1.4;color:var(--muted);padding:4px 6px;text-align:center}
#page-places .world-empty{font-size:12px;color:var(--muted);padding:14px;line-height:1.5}
#page-places .world-notice{font-size:11px;color:var(--muted);line-height:1.5;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
#page-places .world-matched{font-size:12px;color:var(--muted);padding:6px 0 0}
@media(max-width:1300px){#page-places .world-layout{grid-template-columns:170px minmax(300px,1fr) minmax(290px,340px);gap:12px}#page-places .world-globe-panel{height:650px;min-height:590px}#page-places .world-nav{padding-top:24px}}
@media(max-width:1060px){#page-places .world-layout{grid-template-columns:175px 1fr;grid-template-areas:'nav center' 'aside aside'}#page-places .world-nav{grid-area:nav}#page-places .world-center{grid-area:center}#page-places .world-aside{grid-area:aside;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}#page-places .world-aside>*:first-child{grid-column:1/-1}#page-places .world-globe-panel{height:650px}#page-places .world-place-card{grid-column:2;grid-row:2 / span 2}}
@media(max-width:730px){#page-places{padding:4px 0 110px}#page-places .world-layout{width:min(calc(100% - 22px),630px);grid-template-columns:1fr;grid-template-areas:'nav' 'center' 'aside';gap:14px}#page-places .world-nav{gap:12px;padding:16px 0 0}#page-places .world-head-title{font-size:47px;margin:8px 0}#page-places .world-side-menu{display:flex;flex-direction:row;overflow:auto;padding:8px;scrollbar-width:none}#page-places .world-side-menu button{width:auto;white-space:nowrap;flex-shrink:0;padding:10px 12px}#page-places .world-mini-card{display:none}#page-places .world-globe-panel{height:min(110vw,570px);min-height:420px;border-radius:26px}#page-places .world-center-heading{padding:8px 0 12px}#page-places .world-center-heading h2{font-size:21px}#page-places .world-center-heading p{font-size:11px}#page-places .world-status{display:none}#page-places .world-globe-stage{inset:0 0 12%}#page-places .world-globe-footer{left:10px;right:10px;bottom:10px;justify-content:center}#page-places .world-breadcrumb{display:none}#page-places .world-aside{display:flex;flex-direction:column;padding-top:0}#page-places .world-place-card{grid-column:auto;grid-row:auto;width:100%}#page-places .world-search-row{order:0}#page-places .world-pin-label{font-size:9px!important;padding:5px 7px}}
#page-places .world-map-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--text);text-align:center;background:repeating-linear-gradient(20deg,transparent 0 28px,color-mix(in srgb,var(--line) 50%,transparent) 28px 30px,transparent 30px 58px),repeating-linear-gradient(112deg,transparent 0 42px,color-mix(in srgb,var(--line) 62%,transparent) 42px 44px,transparent 44px 76px),var(--surface-strong)}
#page-places .world-map-cover::before{content:'';position:absolute;left:0;right:0;top:44%;height:34px;border-radius:50%;background:color-mix(in srgb,var(--bg2) 50%,transparent);transform:rotate(-9deg);opacity:.5}
#page-places .world-map-cover>*{position:relative;z-index:1}
#page-places .world-map-cover .world-map-icon{display:grid;place-items:center;font-size:30px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--surface)}
#page-places .world-map-cover strong{font-size:15px}
#page-places .world-map-cover small{color:var(--muted);font-size:11px}
#page-places .world-map-cover button{border:1px solid var(--line);background:var(--text);color:var(--bg);border-radius:13px;padding:9px 14px;font-size:11px}
