/* 08E.07 — My City Explorer. Reference fidelity: airy white header and drawer,
   vibrant same city for every mode, original source mascot/logo, light pills.
   All layers except the city PNG and the 7 drawings are editable DOM/CSS.
 */
#city-explorer-v2.ce-screen{
 --ce-ink:#34166c;--ce-purple:#791ae7;--ce-border:#bd94ff;--ce-shadow:#27145548;
 color:var(--ce-ink);background:#d6e7f9;
 font-family:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 isolation:isolate
}
#city-explorer-v2 *{box-sizing:border-box}
#city-explorer-v2 [hidden]{display:none!important}
#city-explorer-v2 button{font:inherit;cursor:pointer}
#city-explorer-v2 button:focus-visible,#city-explorer-v2 .ce-sticker:focus-visible{
 outline:4px solid #ffe663;outline-offset:4px;z-index:26
}
#city-explorer-v2 .ce-header{
 position:absolute;z-index:17;inset:0 0 auto;height:83px;
 display:flex;align-items:center;gap:15px;
 background:linear-gradient(180deg,#fff 0%,#f6f5ff 93%,#e9e2ff);
 box-shadow:0 3px 17px #3d2f9382;
 padding:0 22px
}
#city-explorer-v2 .ce-back{
 width:59px;height:59px;display:grid;place-items:center;flex:none;
 border:1.5px solid #d0c0f8;border-radius:50%;
 background:linear-gradient(#fff,#f8f1ff);
 box-shadow:0 4px 9px #32248f38;color:#8531e7;
 font-size:51px;line-height:.72;padding-bottom:11px
}
#city-explorer-v2 .ce-brand-wrap{
 height:60px;display:flex;align-items:center;gap:13px;flex:none;
 background:#251c64;border-radius:18px;padding:5px 8px 5px 14px
}
#city-explorer-v2 .ce-brand{display:block;width:165px;height:45px;object-fit:contain;object-position:center}
#city-explorer-v2 .ce-brand-wrap.is-dark-logo{background:transparent;padding-left:0;padding-right:0}
#city-explorer-v2 .ce-brand-wrap.is-dark-logo .ce-brand{width:202px;height:51px}
#city-explorer-v2 .ce-brand-draw{
 display:grid;place-items:center;height:44px;min-width:88px;
 padding:0 11px;border-radius:17px;
 color:#fff;background:linear-gradient(145deg,#ae55ef,#680de6);
 box-shadow:inset 0 2px 5px #fff4,0 4px 10px #6d23cd66;
 font-size:21px;font-weight:920
}
#city-explorer-v2 .ce-head-rule{width:2px;height:40px;background:#c9b9e8;flex:none}
#city-explorer-v2 .ce-header-title{display:flex;flex-direction:column;min-width:284px;gap:2px}
#city-explorer-v2 .ce-header-title strong{
 font-size:31px;line-height:1.03;font-weight:960;letter-spacing:-.047em;white-space:nowrap
}
#city-explorer-v2 .ce-header-title span{font-size:19px;line-height:1.13;color:#66558c;white-space:nowrap}
#city-explorer-v2 .ce-header-right-rule{margin-left:auto}
#city-explorer-v2 .ce-hud-star{display:flex;align-items:center;gap:8px;flex:none}
#city-explorer-v2 .ce-hud-star>span{
 color:#ffcb17;text-shadow:-2px 0 #fa9916,2px 0 #fa9916,0 3px 0 #ce881b,0 0 9px #fff3a3;
 font-size:44px;line-height:1
}
#city-explorer-v2 .ce-hud-star strong{font-size:30px;font-weight:930}
#city-explorer-v2 .ce-level{
 min-width:219px;height:61px;border:1.5px solid #e0d6ff;border-radius:33px;
 background:linear-gradient(120deg,#fff,#f0eaff);
 display:grid;grid-template-columns:1fr 1fr;grid-template-rows:26px 10px;align-content:center;
 column-gap:9px;row-gap:5px;padding:7px 16px;
 box-shadow:inset 0 2px 5px #b1a4d23b
}
#city-explorer-v2 .ce-level strong{grid-column:1;font-size:18px;font-weight:920}
#city-explorer-v2 .ce-level small{grid-column:2;grid-row:2;text-align:right;font-size:12px;color:#62508e;white-space:nowrap}
#city-explorer-v2 .ce-level-track{
 grid-row:2;grid-column:1;height:10px;background:#cfc0ef;border-radius:9px;overflow:hidden
}
#city-explorer-v2 .ce-level-track span{
 display:block;width:0%;height:100%;background:linear-gradient(90deg,#6710ed,#bb63ff);border-radius:9px
}
#city-explorer-v2 .ce-avatar{
 width:55px;height:55px;object-fit:cover;border:3px solid #bd96fb;
 border-radius:50%;background:#e8caff;box-shadow:0 3px 7px #4e198660
}
#city-explorer-v2 .ce-world-frame{
 position:absolute;inset:83px 0 185px;overflow:hidden;
 background:#98cfe9;isolation:isolate;touch-action:none
}
#city-explorer-v2 .ce-world-transform{
 position:absolute;inset:0;transform-origin:50% 50%;
 touch-action:none;will-change:transform
}
#city-explorer-v2 .ce-world-art{
 position:absolute;inset:0;width:100%;height:100%;
 object-fit:cover;object-position:center center;filter:saturate(1.04);
 pointer-events:none;user-select:none
}
#city-explorer-v2 .ce-sticker-layer{position:absolute;inset:0;pointer-events:none}
#city-explorer-v2 .ce-sticker{
 position:absolute;width:140px;height:139px;display:grid;place-items:center;
 background:transparent;border:0;padding:0;cursor:pointer;
 pointer-events:auto;transform:translate(-50%,-50%);
 filter:drop-shadow(0 5px 6px #312e547a);
 touch-action:none
}
#city-explorer-v2 .ce-sticker img{
 display:block;width:100%;height:100%;object-fit:contain;
 pointer-events:none;user-select:none
}
#city-explorer-v2 .ce-sticker .ce-sticker-fallback{
 display:none;font-size:72px;filter:drop-shadow(0 3px 1px white)
}
#city-explorer-v2 .ce-sticker.has-missing-asset img{display:none}
#city-explorer-v2 .ce-sticker.has-missing-asset .ce-sticker-fallback{display:block}
#city-explorer-v2 .ce-sticker.is-selected{
 z-index:4;border-radius:17px;outline:3px dashed #9b37f7;
 filter:drop-shadow(0 0 12px #fff7a3) drop-shadow(0 5px 7px #28136f7b)
}
#city-explorer-v2 .ce-sticker.is-found{
 z-index:5;border-radius:50%;background:#fff7a433;
 box-shadow:0 0 0 10px #fff3a985,0 0 24px 13px #ffdc62c7;
 outline:4px solid #ffe563
}
#city-explorer-v2 .ce-selection-handle{
 position:absolute;width:20px;height:20px;border:3px solid #a84ef4;
 border-radius:50%;background:#fff;box-shadow:0 2px 4px #40137369;
 pointer-events:none
}
#city-explorer-v2 .ce-selection-handle.h-tl{left:-11px;top:-11px}
#city-explorer-v2 .ce-selection-handle.h-tr{right:-11px;top:-11px}
#city-explorer-v2 .ce-selection-handle.h-bl{left:-11px;bottom:-11px}
#city-explorer-v2 .ce-selection-handle.h-br{right:-11px;bottom:-11px}
#city-explorer-v2 .ce-rotation-handle{
 position:absolute;top:-48px;left:50%;transform:translateX(-50%);
 display:grid;place-items:center;background:#fff;border:2px solid #a240f3;
 border-radius:50%;color:#8732d2;width:38px;height:38px;font-size:27px
}
#city-explorer-v2 .ce-world-top{
 position:absolute;top:39px;left:33px;right:21px;z-index:11;
 display:flex;align-items:flex-start;gap:16px;pointer-events:none
}
#city-explorer-v2 .ce-city-heading{
 display:flex;align-items:center;gap:9px;min-width:410px;height:95px;
 background:linear-gradient(125deg,#fff9ffea,#f9f4ffed);
 border:2px solid #fdfaff;border-radius:49px;
 padding:11px 22px 11px 12px;
 box-shadow:0 6px 15px #42239145;pointer-events:auto
}
#city-explorer-v2 .ce-owii-icon{width:111px;height:75px;object-fit:contain;filter:drop-shadow(0 4px 7px #a71caa57)}
#city-explorer-v2 .ce-city-heading>div{display:flex;flex-direction:column;gap:6px}
#city-explorer-v2 .ce-city-heading h1{font-size:25px;letter-spacing:-.045em;line-height:1;font-weight:950;white-space:nowrap;margin:0}
#city-explorer-v2 .ce-city-heading>div>span{font-size:16px;line-height:1.1;font-weight:820;color:#4a2773}
#city-explorer-v2 .ce-region-tabs{margin:0 auto;display:flex;gap:9px;pointer-events:auto}
#city-explorer-v2 .ce-region-tabs button{
 border:1.5px solid #dddcff;background:linear-gradient(#fff,#f4f4ff);
 border-radius:28px;padding:10px 11px;min-height:45px;
 display:flex;align-items:center;justify-content:center;gap:6px;
 color:#392477;font-size:14px;font-weight:880;white-space:nowrap;
 box-shadow:0 3px 9px #42239135
}
#city-explorer-v2 .ce-region-tabs button span{font-size:22px;line-height:.8;color:#8f2eeb}
#city-explorer-v2 .ce-region-tabs button.is-active{border:2px solid #9d38fa;box-shadow:0 0 7px #a16cf979}
#city-explorer-v2 .ce-full-city{
 pointer-events:auto;flex:none;min-height:50px;border-radius:30px;
 border:2px solid #9b38f8;background:linear-gradient(#fff,#f7f1ff);
 box-shadow:0 3px 9px #4b1a9862;color:#3c1976;
 padding:9px 17px;display:flex;gap:10px;align-items:center;
 font-size:17px;font-weight:930;white-space:nowrap
}
#city-explorer-v2 .ce-full-city span{font-size:27px;line-height:.7;color:#9435e6}
#city-explorer-v2 .ce-selected-callout{
 position:absolute;z-index:12;left:34%;top:29%;min-width:257px;min-height:80px;
 background:#fffafbef;border:2px solid #d6beff;border-radius:23px;
 display:flex;align-items:center;gap:11px;padding:10px 13px;
 color:#371c6b;box-shadow:0 6px 20px #6426c788
}
#city-explorer-v2 .ce-selected-callout::after{
 content:"";position:absolute;bottom:-20px;left:43%;
 border-left:20px solid transparent;border-right:20px solid transparent;
 border-top:21px solid #fffafd
}
#city-explorer-v2 .ce-selected-callout img{width:53px;height:53px;object-fit:contain}
#city-explorer-v2 .ce-selected-callout>span{display:flex;flex-direction:column;gap:5px}
#city-explorer-v2 .ce-selected-callout strong{font-size:17px;font-weight:940}
#city-explorer-v2 .ce-selected-callout small{font-size:12px;white-space:nowrap}
#city-explorer-v2 .ce-selected-callout button{
 width:42px;height:42px;flex:none;display:grid;place-items:center;
 margin-left:auto;border:0;border-radius:50%;
 background:linear-gradient(145deg,#b755fa,#7822df);
 color:white;font-size:27px
}
#city-explorer-v2 .ce-zoom-controls{
 position:absolute;z-index:12;right:24px;top:130px;
 display:flex;flex-direction:column;gap:8px
}
#city-explorer-v2 .ce-zoom-controls button{
 width:45px;height:45px;border:1.5px solid #bfa4ee;border-radius:50%;
 background:#fffdfa;color:#7f2adb;
 box-shadow:0 3px 8px #3f248a59;
 font-size:33px;line-height:1;font-weight:760
}
#city-explorer-v2 .ce-empty-message{
 position:absolute;z-index:13;top:67%;left:50%;
 transform:translate(-50%,-50%);
 display:flex;align-items:center;gap:12px;min-width:620px;
 pointer-events:none
}
#city-explorer-v2 .ce-empty-owii{
 width:205px;height:164px;object-fit:contain;
 filter:drop-shadow(0 0 12px #fff5a7) drop-shadow(0 8px 10px #3c2f9f7a)
}
#city-explorer-v2 .ce-empty-copy{
 display:flex;flex-direction:column;align-items:center;gap:13px
}
#city-explorer-v2 .ce-empty-copy h2{
 border-radius:49px;padding:9px 18px 12px;
 margin:0;background:#fffaffd9;color:#431a83;
 text-align:center;font-size:29px;line-height:1.09;
 letter-spacing:-.035em;font-weight:960;
 text-shadow:0 2px 1px #fff;
 box-shadow:0 3px 14px #ffffff86
}
#city-explorer-v2 .ce-start-btn{
 width:408px;min-height:69px;pointer-events:auto;
 border:3px solid #f9e8ff;border-radius:39px;
 background:linear-gradient(#a546fd,#6b00e0);
 box-shadow:0 6px 16px #5c1ed59a,0 0 18px #a355ffce,inset 0 3px 8px #fff5;
 color:white;padding:11px 22px;
 display:flex;align-items:center;justify-content:center;gap:12px;
 font-size:22px;font-weight:940;white-space:nowrap
}
#city-explorer-v2 .ce-start-btn>strong{font-size:34px;line-height:.7}
#city-explorer-v2 .ce-first-path{
 position:absolute;z-index:14;bottom:13px;left:50%;transform:translateX(-50%);
 min-width:862px;min-height:73px;padding:9px 15px;
 display:flex;align-items:center;gap:11px;
 background:linear-gradient(#fffefdde,#f2f0ffed);
 border:2px solid #e8e0ff;border-radius:43px;
 box-shadow:0 6px 16px #30228a69
}
#city-explorer-v2 .ce-first-path>strong{
 font-size:15px;line-height:1.18;min-width:123px;padding-right:14px;
 border-right:2px solid #cbb9ef
}
#city-explorer-v2 .ce-first-path>span{
 min-width:140px;height:51px;display:flex;align-items:center;justify-content:center;
 gap:8px;padding:5px 11px;background:#fdfbff;border:1px solid #ddcafd;
 border-radius:27px;font-size:16px;font-weight:880
}
#city-explorer-v2 .ce-first-path>span b{font-size:28px;line-height:1}
#city-explorer-v2 .ce-first-path em{
 display:grid;place-items:center;position:relative;top:-14px;right:-11px;
 background:#9e41ed;color:white;font-size:12px;font-style:normal;
 font-weight:960;width:23px;height:23px;border-radius:50%;flex:none
}
#city-explorer-v2 .ce-object-toolbar{
 position:absolute;z-index:16;bottom:13px;left:50%;transform:translateX(-50%);
 width:930px;min-height:94px;padding:12px 15px;
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 border-radius:26px;border:2px solid #e7d6ff;background:linear-gradient(#fffefd,#eeeaff);
 box-shadow:0 6px 20px #4d1c9e8c
}
#city-explorer-v2 .ce-tool-title{display:flex;flex-direction:column;gap:5px;min-width:179px}
#city-explorer-v2 .ce-tool-title strong{font-size:18px;font-weight:940}
#city-explorer-v2 .ce-tool-title>span{font-size:12px;line-height:1.25}
#city-explorer-v2 .ce-object-toolbar button{
 min-width:68px;min-height:65px;border:1px solid #c9b5fa;border-radius:15px;
 background:#fff;color:#552494;font-size:12px;font-weight:860;
 display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;
 padding:7px 10px
}
#city-explorer-v2 .ce-object-toolbar button span{font-size:26px;line-height:1}
#city-explorer-v2 .ce-object-toolbar button.is-active{background:#7b22df;color:#fff}
#city-explorer-v2 .ce-object-toolbar .ce-edit-cancel{min-width:83px;font-size:14px}
#city-explorer-v2 .ce-object-toolbar .ce-edit-save{
 min-width:115px;background:linear-gradient(#ffe736,#ffc52f);color:#3c1c6a;
 border-color:#fff5bd;font-size:17px;font-weight:930;border-radius:30px
}
#city-explorer-v2 .ce-demo-label{
 position:absolute;z-index:12;bottom:12px;left:24px;
 background:#ffffffd8;color:#55218a;padding:6px 9px;border-radius:12px;
 font-size:10px;letter-spacing:.07em;font-weight:930
}
#city-explorer-v2 .ce-creations{
 position:absolute;bottom:0;left:0;right:0;height:185px;z-index:16;
 border:2px solid #fff;border-radius:45px 45px 0 0;
 background:linear-gradient(155deg,#fffaff 0%,#f8f5ff 56%,#dbeaff 100%);
 box-shadow:0 -6px 21px #3d2a9676;padding:13px 25px 12px
}
#city-explorer-v2 .ce-creations-title{
 display:flex;align-items:center;gap:11px;margin:0 0 8px 13px
}
#city-explorer-v2 .ce-creations-title>span{font-size:32px;color:#63328d}
#city-explorer-v2 .ce-creations-title strong{
 font-size:24px;line-height:1.1;font-weight:960;letter-spacing:-.035em
}
#city-explorer-v2 .ce-creations-bottom{display:flex;align-items:center;gap:15px}
#city-explorer-v2 .ce-drawer{
 flex:1;height:112px;min-width:0;display:flex;align-items:center
}
#city-explorer-v2 .ce-empty-drawer{
 width:100%;height:112px;border:2px dashed #d5b4f7;
 border-radius:29px;display:flex;align-items:center;justify-content:center;gap:35px;
 color:#4c2c86;background:#ffffff62
}
#city-explorer-v2 .ce-empty-picture{
 font-size:91px;line-height:.9;color:#b0a2d7;transform:rotate(-12deg)
}
#city-explorer-v2 .ce-empty-drawer p{display:flex;flex-direction:column;gap:5px}
#city-explorer-v2 .ce-empty-drawer strong{font-size:22px;font-weight:940}
#city-explorer-v2 .ce-empty-drawer small{font-size:17px;line-height:1.18;color:#554b80}
#city-explorer-v2 .ce-thumb-strip{
 display:flex;align-items:center;gap:9px;width:100%;height:112px;overflow-x:auto;
 scrollbar-width:thin;scrollbar-color:#ae86ed transparent;padding:4px
}
#city-explorer-v2 .ce-thumb{
 display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;
 position:relative;flex:none;width:103px;height:105px;padding:4px;
 border:1.5px solid #d6c3f5;border-radius:19px;background:linear-gradient(#fff,#f7f5ff);
 color:#3b2771;box-shadow:0 3px 7px #4d2c8b38
}
#city-explorer-v2 .ce-thumb.is-selected{
 border:3px solid #a235f0;box-shadow:0 0 8px #b875ffad
}
#city-explorer-v2 .ce-thumb img{width:83px;height:73px;object-fit:contain}
#city-explorer-v2 .ce-thumb strong{font-size:13px;line-height:1.05;font-weight:880}
#city-explorer-v2 .ce-thumb .ce-thumb-check{
 display:none;position:absolute;top:-9px;right:-7px;border:3px solid white;
 background:#9d3fed;color:white;border-radius:50%;width:27px;height:27px;
 font-weight:950;font-size:18px
}
#city-explorer-v2 .ce-thumb.is-selected .ce-thumb-check{display:grid;place-items:center}
#city-explorer-v2 .ce-find-button,#city-explorer-v2 .ce-print-button{
 height:83px;min-width:155px;border-radius:29px;padding:11px 15px;
 display:flex;justify-content:center;align-items:center;gap:9px;
 font-size:16px;font-weight:920;line-height:1.13;white-space:nowrap
}
#city-explorer-v2 .ce-find-button{
 background:linear-gradient(#fff,#f6f0ff);border:2px solid #922cfc;color:#3b1c72;
 box-shadow:0 4px 11px #5c2ca65b
}
#city-explorer-v2 .ce-find-button>span{font-size:35px;color:#9626f9;line-height:.9}
#city-explorer-v2 .ce-print-button{
 min-width:176px;border:2px solid #f1cafa;color:#fff;
 background:linear-gradient(135deg,#c26aff,#7205e4);
 box-shadow:0 6px 16px #7a21c583
}
#city-explorer-v2 .ce-print-button>span{font-size:31px}
#city-explorer-v2 .ce-print-button:disabled{
 cursor:not-allowed;filter:grayscale(1);opacity:.56;box-shadow:none;color:#615b80;
 background:linear-gradient(#e9e6ed,#d7d6e3);border-color:#bfbdcf
}
#city-explorer-v2 .ce-review-note{
 position:absolute;bottom:2px;right:14px;z-index:17;
 font-size:9px;color:#8f80be;letter-spacing:.06em
}
#city-explorer-v2.ce-screen[data-mode="empty"] .ce-zoom-controls,
#city-explorer-v2.ce-screen[data-mode="empty"] .ce-demo-label{display:none}
#city-explorer-v2.ce-screen[data-mode="edit"] .ce-city-heading{visibility:hidden}
#city-explorer-v2.ce-screen[data-mode="edit"] .ce-region-tabs{visibility:hidden}
#city-explorer-v2.ce-screen[data-mode="edit"] .ce-full-city{visibility:hidden}
@media(prefers-reduced-motion:reduce){
 #city-explorer-v2 *,#city-explorer-v2 *::after{transition:none!important;animation:none!important}
}

/* Review mode selector is outside the iPad canvas; never changes the approved layout. */
.ce-workbench-mode{display:inline-flex;align-items:center;gap:7px;color:#e6defb;font-size:11px;font-weight:880;letter-spacing:.055em;white-space:nowrap}
.ce-workbench-mode select{min-height:34px;padding:5px 10px;border:1px solid #9184d4;border-radius:9px;color:#29165c;background:#fff;font-size:12px;font-weight:820}


/* 08E.07D screenshot-based layout pass (reference: My Wonderful City Empty).
 * Enlarge the bottom collection area ~20px to match the 1/4-screen tray;
 * shift the central Owii + first-drawing CTA left and down to match source art.
 * Keep the vivid city fully visible; never dim the map globally.
 */
#city-explorer-v2 .ce-world-frame{bottom:205px}
#city-explorer-v2 .ce-empty-message{
 left:calc(50% - 85px);
 top:calc(67% + 54px);
 min-width:650px
}
#city-explorer-v2 .ce-empty-copy h2{
 width:430px;max-width:430px;padding:10px 17px 12px;
 font-size:31px;line-height:1.09
}
#city-explorer-v2 .ce-start-btn{
 width:427px;min-height:69px
}
#city-explorer-v2 .ce-creations{
 height:205px
}
#city-explorer-v2 .ce-drawer,
#city-explorer-v2 .ce-empty-drawer,
#city-explorer-v2 .ce-thumb-strip{height:126px}
#city-explorer-v2 .ce-empty-picture{
 width:176px;height:124px;flex:none;
 transform:none;display:block
}
#city-explorer-v2 .ce-empty-drawer{gap:23px}
#city-explorer-v2 .ce-empty-drawer strong{font-size:24px}
#city-explorer-v2 .ce-empty-drawer small{font-size:18px}
#city-explorer-v2 .ce-first-path .ce-mini-art{
 display:grid;place-items:center;width:36px;height:36px;flex:none
}
#city-explorer-v2 .ce-first-path .ce-mini-art img{
 display:block;width:100%;height:100%;object-fit:contain
}
/* The build stamp belongs to the workbench, not the child-facing Explorer UI. */
.ipad:has(#city-explorer-v2.active) .preview-device-version{display:none}
