:root{
  --bg:#0a1432;--bg2:#17183f;--ink:#fff;--muted:#e0e6f5;--soft:#b9c8e4;--cyan:#4ddcf2;--pink:#f17bdc;--line:#5d77aa;--grad:linear-gradient(102deg,#04cdea 0%,#5561ed 42%,#dc46d6 73%,#ffc76d 100%);
  --s8:8px;--s16:16px;--s24:24px;--s32:32px;--s48:48px;--s64:64px;--panel:rgba(18,29,73,.94);
  color-scheme:dark;font-family:Inter,'SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#090d1e;color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:4px solid #9defff;outline-offset:4px}button:disabled{opacity:.52;cursor:not-allowed}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.workspace{height:100vh;display:flex;flex-direction:column}.workbar{height:66px;background:#10172c;border-bottom:1px solid #293956;display:flex;align-items:center;justify-content:space-between;padding:0 25px;flex:none}.wb-brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:750;color:#ed8add}.wb-brand img{width:97px;height:auto}.wb-brand small{font-size:11px;font-weight:500;color:#b3bfd7;margin-left:6px}.wb-tools{display:flex;gap:10px}.tool{background:#263653;border:1px solid #415374;color:#e4eaff;border-radius:10px;padding:9px 17px;font-weight:600;font-size:13px}
.workarea{display:flex;flex:1;min-height:0}.screen-map{background:#11192c;width:237px;flex:none;padding:23px 11px;border-right:1px solid #334261;display:flex;flex-direction:column;gap:5px;overflow:auto}.map-label{font-size:11px;font-weight:750;letter-spacing:.16em;color:#91acd0;padding:8px 12px 15px}.screen-map>button{background:transparent;display:flex;align-items:center;width:100%;text-align:left;gap:13px;padding:13px 12px;border:1px solid transparent;border-radius:12px;color:#e4eaf8}.screen-map>button>b{font-size:12px;color:#65d6ed}.screen-map>button span{font-size:13px;font-weight:700}.screen-map>button small{display:block;font-size:11px;font-weight:400;color:#a4bad6;margin-top:4px}.screen-map>button.active{background:#293657;border-color:#47608c}.map-help{margin:auto 10px 12px;font-size:11px;line-height:1.65;color:#839cbf}.presentation{min-width:0;flex:1;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:radial-gradient(ellipse at 60% 42%,#212b52 0%,#0c1021 73%)}.stage-holder{width:100%;position:relative;display:flex;justify-content:center;align-items:flex-start;overflow:visible}.ipad{position:absolute;top:0;left:0;width:1366px;height:1024px;border:9px solid #030819;border-radius:35px;overflow:hidden;background:#09112c;box-shadow:0 25px 90px #0009,0 0 0 1px #8290af;transform-origin:top left}.device-screen{position:absolute;inset:0}.viewer-nav{display:flex;align-items:center;gap:19px;color:#eff4fe}.viewer-nav button{border:1px solid #415477;background:#1d2e4d;color:white;min-width:42px;height:40px;border-radius:12px}.viewer-nav div{display:flex;gap:16px;align-items:baseline}.viewer-nav strong{font-size:14px}.viewer-nav small{font-size:12px;color:#9eb2ce}
.screen{position:absolute;inset:0;width:100%;height:100%;display:none;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 86%,rgba(103,50,145,.34) 0%,transparent 42%),linear-gradient(117deg,#0a1738 0%,#0c1233 56%,#241438 100%)}.screen.active{display:block}.screen h1,.screen h2,.screen h3,.screen p{margin:0}.screen h1{font-size:64px;letter-spacing:-.045em;line-height:1.07;font-weight:790}.screen .lead{font-size:25px;line-height:1.42;letter-spacing:-.014em;color:var(--muted);font-weight:450}.eyebrow{color:#89e4f1;font-size:16px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:29px}
.screen-header{position:absolute;left:68px;right:68px;top:32px;height:69px;display:flex;align-items:center;justify-content:space-between;z-index:7}.brand{display:flex;align-items:center;gap:8px}.brand img{display:block;width:178px;height:auto}.brand span{font-size:22px;font-weight:800;color:#f184de}.header-hint{font-size:15px;letter-spacing:.13em;font-weight:800;color:#9eb5da}.header-progress{display:flex;gap:17px;align-items:center;font-size:18px;font-weight:650;color:#dbe5fb}.line,.progress-track{display:block;width:216px;height:6px;border-radius:20px;background:#46557c;overflow:hidden}.line i,.progress-track i{display:block;height:100%;background:#49dff8;border-radius:20px}
.btn{border:none;border-radius:25px;min-height:65px;padding:12px 25px;font-size:20px;font-weight:750;line-height:1.1;color:white;display:inline-flex;align-items:center;justify-content:center;gap:20px;letter-spacing:-.01em;white-space:nowrap;transition:filter .16s ease,transform .16s ease}.btn:hover{filter:brightness(1.11);transform:translateY(-2px)}.btn.primary{background:var(--grad);box-shadow:0 15px 28px rgba(8,19,57,.27)}.btn.secondary{background:#2a2d68;border:1px solid #7788c3}.btn.demo{background:rgba(42,50,111,.85);border:2px solid #8ce4ee;box-shadow:0 0 0 1px #354b8b,0 14px 28px #01092459}.play-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;flex:none;border:2px solid #fff;border-radius:50%;font-size:13px;padding-left:2px}.back{border:0;background:none;color:#e5efff;padding:10px 0;font-size:19px;font-weight:700}.inline-action,.plain-link,.subtle-link{background:none;border:none;color:#a9eaf8;text-decoration:underline;text-underline-offset:4px;font-size:inherit;padding:0}.field-help{font-size:16px;line-height:1.5;color:#b3c4e4}.legal-note{font-size:14px;line-height:1.55;color:#bdc7de}
/* 01 — Splash. Logo and official Oowi deliberately restrained. */
.splash{background:radial-gradient(ellipse at 51% 36%,#2b2261 0%,#0b173b 58%,#080d23 100%)}.ambient{position:absolute;border-radius:50%;pointer-events:none;filter:blur(95px);opacity:.3}.ambient.a1{width:420px;height:380px;background:#075de4;top:240px;left:310px}.ambient.a2{width:420px;height:410px;background:#923eca;right:280px;top:160px}.splash-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center}.splash-hello{font-weight:760;font-size:58px;letter-spacing:-.04em;margin-top:112px!important}.splash-oowi{object-fit:contain;width:640px;height:322px;margin-top:46px;filter:drop-shadow(0 12px 36px #605af055)}.splash-wordmark{object-fit:contain;width:285px;height:auto;margin-top:11px}.splash-tagline{font-size:25px;font-weight:600;letter-spacing:.015em;margin-top:12px!important}.splash-draw{font-weight:750;font-size:14px;letter-spacing:.24em;color:#93dff1;margin-top:17px}.splash-bottom{position:absolute;left:0;right:0;bottom:79px;display:flex;justify-content:center}.splash-bottom .progress-track{height:4px;width:224px}.splash-bottom .progress-track i{width:40%;animation:load 3.8s ease-in-out infinite}@keyframes load{0%{width:6%}95%{width:99%}100%{width:99%}}.splash-continue{position:absolute;inset:0;border:0;background:transparent;width:100%;height:100%;z-index:5}
/* 02 — Welcome: strict two column grid, graphics bleed, foreground paper, no boxed hero. */
.welcome-layout{height:100%;display:grid;grid-template-columns:49% 51%;padding:150px 55px 108px 74px;align-items:center;position:relative}.welcome-content{position:relative;z-index:3;align-self:center;padding:0 12px 0 0}.welcome-content h1{max-width:600px;font-size:68px}.welcome-content .lead{max-width:560px;margin-top:31px;font-size:26px}.welcome-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:48px}.welcome-actions .btn{width:351px;height:69px}.welcome-art{height:720px;position:relative;overflow:visible;align-self:center}.world-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 55% 42%,#aaddf044 0%,transparent 62%)}.world-city{position:absolute;right:-100px;top:-24px;width:826px;height:580px;object-fit:cover;object-position:53% 49%;-webkit-mask-image:radial-gradient(ellipse 72% 80% at 60% 48%,#000 33%,transparent 96%);mask-image:radial-gradient(ellipse 72% 80% at 60% 48%,#000 33%,transparent 96%);filter:saturate(.94)}.world-paper{position:absolute;right:-49px;bottom:6px;width:500px;height:280px;object-fit:cover;transform:rotate(-5deg);border-radius:25px;box-shadow:0 15px 42px #050b2850;-webkit-mask-image:linear-gradient(to top,#000 55%,#000 72%,transparent 100%);mask-image:linear-gradient(to top,#000 55%,#000 72%,transparent 100%)}.world-oowi{position:absolute;left:-52px;top:185px;width:380px;height:auto;filter:drop-shadow(0 12px 26px #5c52b766)}.scene-annotation{position:absolute;font-size:14px;font-weight:850;letter-spacing:.1em;color:#f2f8ff;text-shadow:0 1px 9px #001b3d}.scene-annotation.one{bottom:98px;left:85px}.scene-annotation.two{right:53px;top:130px}.screen-footer{position:absolute;z-index:5;left:79px;right:74px;bottom:43px}.footer-progress{display:flex;gap:21px;align-items:center;width:438px;font-size:15px;letter-spacing:.11em;color:#c7d6ed;font-weight:720}.footer-progress .line{width:228px}.footer-progress strong{font-size:14px}
/* 03 — Parent setup */
.parent-layout{display:grid;grid-template-columns:50% 50%;height:100%;padding:171px 74px 57px 77px}.parent-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start}.parent-copy h1{font-size:64px;max-width:565px}.parent-copy .lead{font-size:25px;max-width:546px;margin-top:30px}.field-stack{margin-top:51px;display:flex;flex-direction:column;gap:13px;width:522px}.field-stack label{font-size:18px;font-weight:700;color:#f2f6ff}.field-stack input{height:67px;border:1.5px solid #7689be;background:#24305f;border-radius:16px;padding:0 22px;color:#fff;font-size:23px;outline:none}.field-stack input::placeholder{color:#b6c5e4}.field-stack .btn{width:100%;margin-top:16px}.field-stack .field-help{margin-top:3px}.parent-assurance{display:flex;align-items:center;gap:18px;width:533px;background:#19254eaa;border:1px solid #4a638f;border-radius:19px;margin-top:31px;padding:17px 21px}.parent-assurance .shield-mini{display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;width:39px;height:39px;background:#35658b;color:#b5eff6;font-size:23px}.parent-assurance strong{display:block;font-size:16px}.parent-assurance small{display:block;margin-top:5px;color:#c1cbe8;line-height:1.4;font-size:14px}.parent-copy .legal-note{margin-top:17px;max-width:536px}.parent-art,.verify-art{position:relative;z-index:1;height:100%;overflow:visible}.parent-glow,.security-rings{position:absolute;inset:7% 1% 13% 5%;background:radial-gradient(circle at 52% 45%,#8c7de94f,transparent 66%)}.shield-art{position:absolute;left:135px;top:32px;width:395px;height:550px;object-fit:contain;filter:drop-shadow(0 12px 44px #779af280)}.parent-oowi{position:absolute;width:330px;right:-50px;bottom:165px;filter:drop-shadow(0 15px 26px #53366c60)}.parent-art-caption{position:absolute;bottom:102px;right:37px;font-size:20px;font-weight:700;color:#cedcf5}
/* 04 — Verify and PIN staged within one page */
.verify-layout{display:grid;grid-template-columns:57% 43%;padding:158px 72px 65px 77px;height:100%}.verify-copy{z-index:3;position:relative}.verify-copy .back{margin-bottom:36px}.verify-copy .eyebrow{margin-bottom:25px}.verify-copy h1{font-size:64px}.verify-copy .lead{font-size:25px;max-width:590px;margin-top:26px}.verify-copy .lead strong{color:#fff}.code-row{display:flex;gap:15px;margin-top:45px}.code-row input{width:83px;height:86px;border:1.5px solid #7b88bd;border-radius:15px;text-align:center;background:rgba(34,47,94,.9);font-weight:750;font-size:32px;color:#fff}.code-row input:focus{border-color:#82e5fa}.subtle-link{display:block;margin-top:24px;font-size:18px;text-align:left}.verify-next{margin-top:44px;width:349px}.verify-stage .field-help{max-width:572px;margin-top:28px}.verify-shield{position:absolute;left:67px;top:80px;width:367px;height:510px;object-fit:contain;filter:drop-shadow(0 8px 36px #769bef80)}.verify-oowi{position:absolute;right:-35px;bottom:172px;width:310px;filter:drop-shadow(0 10px 25px #693eaaa8)}
/* 05 — Membership */
.plans-layout{height:100%;padding:172px 70px 80px 78px;display:grid;grid-template-columns:43% 57%;gap:25px}.plans-intro{position:relative;display:flex;flex-direction:column;align-items:flex-start}.plans-intro h1{font-size:65px;max-width:570px}.plans-intro .lead{font-size:24px;margin-top:25px;max-width:507px}.included{margin-top:43px;display:flex;flex-direction:column;gap:24px;font-size:21px;font-weight:650;color:#ecf3ff}.included>div{display:flex;gap:8px}.plan-oowi{position:absolute;width:340px;bottom:22px;left:50px;filter:drop-shadow(0 12px 36px #4f3aa84c)}.plans-choice{position:relative;display:flex;flex-direction:column;padding-top:49px;gap:15px}.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;border:0;padding:0;margin:0;min-width:0}.plan-card{min-height:432px;border-radius:28px;border:2px solid #536599;background:#1f2a58;display:flex;flex-direction:column;position:relative;padding:30px 28px;gap:18px;cursor:pointer}.plan-card.chosen{border-color:#4fdef4;background:linear-gradient(145deg,#243677,#30265f);box-shadow:0 0 0 1px #4cbbe9aa}.plan-card input{position:absolute;opacity:0;width:1px;height:1px}.selection-dot{position:absolute;right:27px;top:31px;height:25px;width:25px;border-radius:50%;border:2px solid #adc4e5}.plan-card.chosen .selection-dot:after{content:'';position:absolute;inset:5px;background:#70ebfd;border-radius:50%}.plan-top{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.plan-top b{font-size:29px}.trial-pill{border-radius:30px;background:#654cb9;color:#f8f4ff;padding:8px 14px;font-size:14px;font-weight:750}.plan-card>strong{font-size:27px;margin-top:8px}.plan-detail{font-size:18px;line-height:1.4;color:#d2ddf2}.plans-cta{width:100%;height:69px}.billing-note{font-size:16px;line-height:1.4;color:#ccd7ec;min-height:46px}.terms-links{display:flex;justify-content:center;gap:36px}.terms-links button{background:transparent;border:none;color:#b5c8e5;font-size:15px;text-decoration:underline;text-underline-offset:4px}
/* 06 — Parent-to-child handoff */
.handoff-layout{display:grid;grid-template-columns:47% 53%;height:100%;padding:169px 56px 58px 79px}.handoff-copy{position:relative;z-index:2}.handoff-copy h1{font-size:73px;max-width:549px}.handoff-copy .lead{font-size:26px;margin-top:30px;max-width:557px}.child-preview{margin-top:54px;width:506px;min-height:129px;border-radius:26px;border:1px solid #576ca1;background:#1c2a57d9;display:flex;align-items:center;padding:15px 19px;gap:19px}.child-preview>img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #9ad5f4}.child-preview>div{display:flex;flex-direction:column;gap:8px;flex:1}.child-preview strong{font-size:22px}.child-preview span{color:#c6d4ea;font-size:17px}.edit-profile{color:#a4edfa;background:#2e4774;border:1px solid #6583b6;border-radius:18px;min-height:48px;padding:0 19px}.handoff-cta{width:508px;margin-top:34px}.parent-access{width:520px;margin-top:32px;display:flex;align-items:center;gap:19px}.access-lock{display:flex;width:44px;height:44px;align-items:center;justify-content:center;flex:none;border-radius:14px;background:#203966;color:#abebff;font-size:30px}.parent-access p{font-size:16px;line-height:1.47;color:#ced9ef}.parent-access strong{color:white}.handoff-art{height:100%;position:relative}.handoff-city{position:absolute;right:-96px;top:-68px;width:815px;height:776px;object-fit:cover;object-position:50% 51%;-webkit-mask-image:radial-gradient(ellipse 80% 79% at 65% 46%,#000 40%,transparent 96%);mask-image:radial-gradient(ellipse 80% 79% at 65% 46%,#000 40%,transparent 96%)}.handoff-oowi{position:absolute;top:66px;left:-52px;width:410px;filter:drop-shadow(0 12px 28px #4836bb66)}.handoff-greeting{position:absolute;bottom:60px;right:13px;font-size:18px;font-weight:700;color:#f0f4ff;text-shadow:0 3px 12px #06142c}
/* 07 — My City */
.city{background:#9ed7e5}.city-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.98)}.city-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#162247c2 0%,transparent 30%),linear-gradient(to top,#11204772 0%,transparent 31%)}.child-nav{position:absolute;left:0;top:0;bottom:0;width:138px;background:#0e1747eb;border-right:1px solid #a0aade50;display:flex;flex-direction:column;align-items:center;gap:15px;padding:35px 10px;z-index:3}.child-brand{width:113px;height:80px;object-fit:contain;margin:0 0 15px}.nav-choice{width:109px;height:96px;border:0;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:transparent;color:#dbe9fb;font-size:15px;font-weight:650}.nav-choice span{font-size:29px;line-height:1}.nav-choice.active{background:#3c4a9e;color:white}.parent-gate{margin-top:auto;border:1px solid #8aa1d270;border-radius:13px;background:#202c60;color:#e7f4fd;padding:8px 17px;font-size:13px;line-height:1.25}.city-main{position:absolute;inset:0 0 0 138px;z-index:2;padding:39px 55px 50px;display:flex;flex-direction:column}.city-topbar{display:flex;justify-content:space-between;align-items:center}.city-page-label{display:inline-flex;gap:17px;align-items:center;border-radius:21px;padding:14px 22px;background:#f0f8ffef;color:#1c3768;font-weight:820;font-size:24px}.city-avatar{min-height:56px;border:1px solid #fff6;border-radius:30px;padding:12px 24px;background:#f2f8ffdc;color:#1d3265;font-weight:780;font-size:18px}.city-spacer{flex:1}.city-task{display:flex;align-items:center;gap:20px;width:675px;min-height:233px;border-radius:29px;background:#fdfcf7f5;color:#18316e;box-shadow:0 20px 45px #1d32675a;padding:24px 25px 24px 30px}.task-text{flex:1}.task-kicker{color:#55699d;font-size:14px;font-weight:790;letter-spacing:.12em}.city-task h1{font-size:37px;letter-spacing:-.025em;margin-top:9px}.city-task p{font-size:21px;line-height:1.32;margin-top:12px;max-width:392px}.city-task .btn{min-height:52px;font-size:17px;padding:11px 24px;margin-top:17px;border-radius:19px}.city-task>img{width:212px;height:165px;object-fit:contain}
/* 08 — Guided lesson */
.lesson,.capture{background:radial-gradient(ellipse at 70% 22%,#203d7a 0%,transparent 58%),linear-gradient(120deg,#10183d,#111438 75%,#251543)}.lesson-header{height:119px;padding:36px 54px 22px;display:flex;justify-content:space-between;align-items:center;color:#c0d2f0;font-weight:760;font-size:18px;letter-spacing:.045em}.lesson-header .back{flex:1;text-align:left}.lesson-header>span:nth-child(2){flex:1;text-align:center}.lesson-header>span:nth-child(3){flex:1;text-align:right}.lesson-count{font-size:15px;color:#a3b8dc}.lesson-layout{display:grid;grid-template-columns:226px 1fr;gap:29px;height:calc(100% - 119px);padding:16px 56px 48px}.lesson-side{display:flex;flex-direction:column;gap:10px;padding-top:17px}.lesson-side h2{font-size:31px}.lesson-side p{font-size:17px;color:#becde7}.step-list{display:flex;flex-direction:column;gap:15px;margin-top:32px}.step-btn{height:80px;border:1.5px solid #495d98;background:#222d5b;color:#c6d5f0;display:flex;align-items:center;gap:17px;border-radius:17px;padding:12px 17px;font-size:21px;text-align:left}.step-btn>b{width:43px;height:43px;display:flex;justify-content:center;align-items:center;border-radius:50%;border:1.5px solid #8293c6;font-size:21px;flex:none}.step-btn.active{background:#344891;border-color:#89b7ee;color:#fff}.step-btn.active b{background:#fff;color:#183c87;border-color:#fff}.lesson-video-column{display:flex;flex-direction:column;min-width:0}.lesson-video{height:630px;background:#eee7dd;position:relative;border-radius:28px;overflow:hidden;border:1px solid #6d80b1;box-shadow:0 15px 44px #060d29aa}.lesson-video>img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.lesson-video:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#111a3dc2 0%,transparent 30%)}.video-play{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);width:98px;height:98px;border:2px solid #fff8;background:#354d899e;backdrop-filter:blur(6px);border-radius:50%;color:white;font-size:36px;padding-left:5px;z-index:3}.video-bottom{position:absolute;left:30px;right:30px;bottom:24px;display:flex;align-items:center;gap:19px;font-size:14px;font-weight:740;letter-spacing:.025em;z-index:4}.video-meter{background:#8f9bc7;height:6px;border-radius:8px;flex:1}.video-meter i{display:block;background:#f4ebfc;width:40%;height:100%;border-radius:8px}.lesson-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:26px}.lesson-copy h3{font-size:30px}.lesson-copy p{font-size:21px;color:#cbd8f3;margin-top:9px}.lesson-buttons{display:flex;gap:14px}.lesson-buttons .btn{font-size:18px;min-height:61px;padding:12px 23px}
/* 09 — Capture */
.capture-layout{height:calc(100% - 119px);display:grid;grid-template-columns:1fr 1fr;gap:27px;padding:10px 55px 46px}.capture-card,.result-panel{border-radius:29px;overflow:hidden;min-width:0}.capture-card{background:#142353;border:1px solid #53699a;padding:33px 38px;display:flex;flex-direction:column}.capture-card h1{font-size:49px;max-width:485px}.capture-card>p{font-size:22px;line-height:1.38;color:#d2dbee;max-width:506px;margin-top:19px}.photo-frame{height:374px;margin-top:31px;background:#e8e1d3;border:2px solid #9aadd6;border-radius:23px;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover}.capture-actions{display:flex;align-items:center;justify-content:center;gap:46px;margin:auto auto 0}.shutter{width:94px;height:94px;background:#f5f8ff;border:7px solid #526ca9;box-shadow:0 0 0 4px white;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.shutter span{width:59px;height:59px;border-radius:50%;background:#fff;border:2px solid #cbd7ee}.capture-actions input{position:absolute;width:1px;height:1px;opacity:0}.capture-actions .plain-link{font-size:19px}.result-panel{position:relative;background:#c7e8db}.result-city{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.result-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffa9 0%,transparent 39%,transparent 66%,#00133262 100%);pointer-events:none}.result-title{position:absolute;z-index:2;top:53px;left:40px;right:40px;text-align:center;font-size:42px;font-weight:820;line-height:1.09;color:#1c3269;letter-spacing:-.03em;text-shadow:0 4px 15px #fff8}.result-bus{position:absolute;z-index:2;left:28%;top:38%;width:56%;height:33%;object-fit:contain;filter:drop-shadow(0 22px 21px #154c6d8b)}.add-city{position:absolute;z-index:3;bottom:35px;left:50%;transform:translateX(-50%);width:382px;min-height:64px}.add-city:hover{transform:translateX(-50%) translateY(-2px)}
/* Modal + feedback */
.toast{position:fixed;z-index:100;left:50%;bottom:22px;transform:translate(-50%,22px);opacity:0;pointer-events:none;transition:.2s;background:#21335d;border:1px solid #70a6d5;padding:15px 22px;border-radius:14px;font-size:15px;font-weight:650;box-shadow:0 15px 35px #0007}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #657bb7;max-width:800px;width:min(90vw,800px);padding:0;background:#151f49;color:#fff;border-radius:25px;box-shadow:0 32px 95px #000b}dialog::backdrop{background:#060e21d3;backdrop-filter:blur(5px)}.dialog-shell{padding:43px 42px 38px;position:relative}.close-dialog{position:absolute;top:17px;right:20px;width:37px;height:37px;border-radius:50%;border:0;background:#344676;color:#fff;font-size:24px}.dialog-shell h2{font-size:32px;line-height:1.15;margin:0 43px 15px 0}.dialog-shell p{font-size:18px;line-height:1.5;color:#d3dff3}.dialog-demo{margin:25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.dialog-demo article{border:1px solid #506a9c;background:#243360;padding:21px;border-radius:18px}.dialog-demo b{font-size:19px}.dialog-demo small{display:block;line-height:1.4;color:#c6d6ee;margin-top:12px;font-size:16px}.dialog-shell .btn{width:100%;margin-top:24px}
@media(max-width:1100px){.screen-map{width:165px}.screen-map>button{gap:7px;padding:11px 7px}.screen-map>button span{font-size:12px}.map-help{display:none}.workbar{padding:0 11px}.wb-brand small{display:none}}@media(max-width:720px){.screen-map{display:none}.workbar{height:56px}.tool{padding:7px 10px;font-size:11px}.wb-brand img{width:75px}.wb-brand{font-size:13px}.presentation{padding:5px}.wb-tools{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
body.embedded .workbar,body.embedded .screen-map,body.embedded .viewer-nav{display:none}body.embedded .presentation{padding:0;gap:0;background:#070c1f}body.embedded .workarea{min-height:100vh}body.embedded .ipad{border:0;border-radius:0;box-shadow:none}body.embedded .stage-holder{align-items:center}
.consent-row{display:flex!important;flex-direction:row;align-items:center;gap:13px;color:#ebf1ff;font-size:16px!important;line-height:1.35;font-weight:600!important;margin-top:2px}.consent-row input{width:24px;height:24px;min-width:24px;accent-color:#49d7ee;cursor:pointer}.consent-row span{flex:1}
.parent-copy .field-stack{margin-top:38px}.parent-copy .parent-assurance{margin-top:24px}.parent-copy .legal-note{margin-top:13px}

/* INOOWA DRAW V4 — artwork sourced exclusively from the 18 user assets + official logo/Oowi. */
:root{--bg:#081631;--panel:#172754;--soft:#D0DDF0;--line:#6A7CA6}
.screen h1{letter-spacing:-.04em}.screen-header{left:75px;right:74px;top:30px}
.brand img{width:171px}.wb-brand img{width:102px}.screen .lead{color:#E0E7F6}
.btn{border-radius:22px;min-height:68px;gap:16px}
.btn.demo{background:rgba(25,41,91,.94);border:2px solid #78E4FA;box-shadow:0 10px 24px #020b2855}
/* Brand opening — visual scale respects the logo, not full-screen Oowi */
.splash{background:#071531 url('assets/provided-night-bg.png') center/cover no-repeat}
.splash-center{justify-content:flex-start}
.splash-hello{margin-top:153px!important;font-size:60px}
.splash-oowi{width:476px;height:284px;margin-top:31px;object-fit:contain;filter:drop-shadow(0 15px 45px #7973df60)}
.splash-wordmark{width:315px;margin-top:15px}
.splash-tagline{font-size:27px;margin-top:18px!important}
.splash-draw{font-size:13px;margin-top:12px;letter-spacing:.27em}
.ambient.a1{opacity:.22}.ambient.a2{opacity:.18}
/* Welcome — clear hierarchy and unboxed scene with independently positioned layers */
.welcome{background:#091737 url('assets/provided-night-bg.png') center/cover no-repeat}
.welcome-layout{grid-template-columns:49% 51%;padding:145px 62px 100px 75px}
.welcome-content{padding-right:18px;align-self:center}
.welcome-content .eyebrow{font-size:16px;margin-bottom:24px}
.welcome-content h1{font-size:67px;max-width:579px;line-height:1.06}
.welcome-content .lead{font-size:27px;line-height:1.42;max-width:539px;margin-top:28px}
.welcome-actions{margin-top:40px;gap:15px}.welcome-actions .btn{width:364px;height:72px}
.welcome-art{height:740px;min-width:0}
.world-halo{background:radial-gradient(ellipse at 56% 45%,rgba(144,179,248,.35),transparent 66%)}
.world-city{top:80px;right:-63px;width:758px;height:auto;max-height:none;object-fit:contain;object-position:center;filter:saturate(.97) drop-shadow(0 22px 35px #00102955);-webkit-mask-image:radial-gradient(ellipse 72% 78% at 51% 51%,#000 53%,transparent 96%);mask-image:radial-gradient(ellipse 72% 78% at 51% 51%,#000 53%,transparent 96%)}
.world-paper{bottom:12px;right:4px;width:424px;height:auto;object-fit:contain;transform:rotate(-6deg);border-radius:0;box-shadow:none;-webkit-mask-image:radial-gradient(ellipse 76% 77% at 50% 54%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 76% 77% at 50% 54%,#000 48%,transparent 100%)}
.world-oowi{left:5px;top:209px;width:288px;height:auto;filter:drop-shadow(0 14px 23px #281a8c60)}
.world-cloud{position:absolute;top:47px;right:77px;width:215px;opacity:.92}.world-balloon{position:absolute;top:56px;left:260px;width:79px;filter:drop-shadow(0 8px 15px #24346b55)}
.scene-annotation{font-size:13px;letter-spacing:.08em}.scene-annotation.one{bottom:122px;left:127px}.scene-annotation.two{right:81px;top:275px}
.footer-progress{gap:19px}
/* Parent — foreground scene elements, deliberately less saturated than child's world */
.parent,.verify,.plans{background:#0C1538 url('assets/provided-violet-bg.png') center/cover no-repeat}
.parent-layout{grid-template-columns:52% 48%;padding:166px 65px 55px 75px}
.parent-copy h1{font-size:60px}.parent-copy .lead{font-size:24px;margin-top:23px;max-width:540px}
.parent-copy .field-stack{margin-top:35px;width:510px}.parent-copy .parent-assurance{margin-top:20px;width:510px}
.parent-copy .legal-note{margin-top:11px;max-width:516px}
.parent-art{height:660px;margin-top:15px}
.shield-art{width:271px;height:auto;left:146px;top:105px;filter:drop-shadow(0 15px 40px #949dff66)}
.parent-oowi{width:246px;right:-22px;bottom:161px;filter:drop-shadow(0 14px 23px #332b8755)}
.parent-stars{position:absolute;width:156px;right:95px;top:50px;opacity:.55}
.parent-art-caption{bottom:67px;right:39px;font-size:18px;color:#D5E0F6}
.verify-layout{grid-template-columns:55% 45%;padding:152px 62px 60px 75px}
.verify-copy h1{font-size:61px}.verify-copy .lead{max-width:575px;font-size:25px}
.code-row input{width:79px;height:84px}
.verify-shield{top:148px;left:115px;width:278px;height:auto;filter:drop-shadow(0 15px 39px #969ef777)}
.verify-oowi{right:-6px;bottom:130px;width:250px}
.verify-stars{position:absolute;top:49px;right:42px;width:140px;opacity:.7}
/* Membership — the cards are the UI; character stays discreet, copy remains first. */
.plans-layout{grid-template-columns:43% 57%;padding:169px 73px 69px 75px}
.plans-intro h1{font-size:59px;max-width:530px}.plans-intro .lead{font-size:23px;max-width:500px}
.included{margin-top:42px;gap:20px;font-size:20px}
.plan-oowi{width:229px;left:150px;bottom:27px}
.plans-choice{padding-top:20px;gap:15px}.plan-card{min-height:422px;padding:25px 23px;gap:14px;border-radius:25px}
.plan-top b{font-size:27px}.plan-card>strong{font-size:27px}.plan-detail{font-size:17px}
.plans-grid{gap:16px}.plans-cta{height:67px}
/* Adult-to-child handoff: distinct final action with explicit parent-control reminder */
.handoff{background:#09193F url('assets/provided-violet-bg.png') center/cover no-repeat}
.handoff-layout{grid-template-columns:49% 51%;padding:168px 60px 55px 78px}
.handoff-copy h1{font-size:67px}.handoff-copy .lead{font-size:25px;max-width:530px}
.child-preview{width:515px;margin-top:39px;min-height:111px}.child-preview>img{width:79px;height:79px}
.handoff-cta{width:514px;margin-top:25px}.parent-access{margin-top:24px;width:524px}.parent-access p{font-size:16px}
.handoff-art{height:750px;overflow:visible}
.handoff-city{top:58px;right:-32px;width:680px;height:auto;object-fit:contain;object-position:center;mask-image:radial-gradient(ellipse 73% 76% at 48% 55%,#000 42%,transparent 100%)}
.handoff-child{position:absolute;width:376px;height:auto;right:-38px;bottom:60px;object-fit:contain;filter:drop-shadow(0 12px 28px #08103166)}
.handoff-oowi{top:13px;left:33px;width:236px;filter:drop-shadow(0 14px 22px #3F3C9077)}
.handoff-clouds{position:absolute;width:235px;top:0;right:65px;opacity:.75}
.handoff-greeting{bottom:32px;right:25px;font-size:16px}
/* City: the supplied city image is a scene layer, not a stretched backdrop */
.city{background:linear-gradient(150deg,#A7D7EB 0%,#BDDCE8 42%,#7995C7 100%)}
.city-sky{position:absolute;inset:0;background:linear-gradient(90deg,#6B9BCC 0%,#B7E2F1 50%,#9CCFE2 100%)}
.city-scene{position:absolute;inset:auto -35px 120px auto;width:1153px;height:auto;object-fit:contain;object-position:center;filter:drop-shadow(0 24px 26px #19498E45);-webkit-mask-image:linear-gradient(180deg,transparent 0%,black 7%,black 87%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,black 7%,black 87%,transparent 100%)}
.city-vignette{z-index:1;background:linear-gradient(90deg,#152B66BB 0%,transparent 32%),linear-gradient(0deg,#19345E90 0%,transparent 36%)}
.city-clouds{position:absolute;width:340px;right:325px;top:49px;opacity:.7}
.city-balloon{position:absolute;z-index:2;filter:drop-shadow(0 9px 10px #33578750)}
.city-balloon.pink{width:98px;top:142px;right:167px}.city-balloon.blue{width:74px;top:220px;right:690px}
.child-brand{width:115px;height:71px}.city-task{width:650px;min-height:220px}.city-task>img{width:191px;height:143px}
.city-topbar{position:relative;z-index:5}.city-avatar{background:#F1F7FC}
/* Lesson: white drawing paper, stable controls, distinct current-step visual */
.lesson-video{background:linear-gradient(140deg,#F2EDE4 0%,#E6E0D7 100%)}
.lesson-video>img{width:100%;height:100%;object-fit:contain;object-position:center;filter:contrast(1.02)}
.lesson-step-mini{position:absolute;z-index:2;top:21px;right:21px;width:180px;height:117px;background:rgba(255,255,255,.92);box-shadow:0 9px 30px #23325433;border:1px solid #cad4df;border-radius:15px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lesson-step-mini img{width:95%;height:94%;object-fit:contain}
.lesson-video:after{background:linear-gradient(0deg,#121E40B8 0%,transparent 31%)}
.video-bottom{bottom:19px}.step-btn.active{background:#36519A}
/* Photo: the full submitted paper & city are independent artwork, not flattening UI controls */
.photo-frame{background:#F2EDE7}.photo-frame img{object-fit:contain}
.result-panel{background:linear-gradient(180deg,#D3EFF7,#75BBDB)}
.result-city{object-fit:contain;object-position:center 49%;width:100%;height:74%;top:12%;filter:drop-shadow(0 16px 13px #467BAD40)}
.result-bus{top:43%;left:25%;width:57%;height:25%;filter:drop-shadow(0 15px 16px #34637C6B)}
.result-title{top:31px;font-size:39px}
/* Input and copy controls */
button:focus-visible,input:focus-visible{outline:3px solid #8EEFFC;outline-offset:3px}
/* Composition finish: remove isolated square-art feel while preserving supplied imagery. */
.welcome-art:before {content:"";position:absolute;z-index:0;left:6%;right:-8%;top:2%;bottom:6%;background:radial-gradient(ellipse at 55% 45%,rgba(102,160,235,.29),transparent 69%);pointer-events:none}
.world-city { -webkit-mask-image:radial-gradient(ellipse 66% 67% at 54% 46%, #000 25%,rgba(0,0,0,.83) 49%,transparent 88%); mask-image:radial-gradient(ellipse 66% 67% at 54% 46%,#000 25%,rgba(0,0,0,.83) 49%,transparent 88%); }
.world-paper{-webkit-mask-image:radial-gradient(ellipse 68% 65% at 50% 52%, #000 29%,rgba(0,0,0,.88) 58%,transparent 97%);mask-image:radial-gradient(ellipse 68% 65% at 50% 52%,#000 29%,rgba(0,0,0,.88) 58%,transparent 97%)}
.handoff-city{-webkit-mask-image:radial-gradient(ellipse 70% 62% at 49% 52%,#000 23%,rgba(0,0,0,.88) 50%,transparent 93%);mask-image:radial-gradient(ellipse 70% 62% at 49% 52%,#000 23%,rgba(0,0,0,.88) 50%,transparent 93%)}
.handoff-child{-webkit-mask-image:radial-gradient(ellipse 72% 75% at 57% 49%,#000 35%,rgba(0,0,0,.88) 65%,transparent 99%);mask-image:radial-gradient(ellipse 72% 75% at 57% 49%,#000 35%,rgba(0,0,0,.88) 65%,transparent 99%)}
.city-scene{inset:auto -60px 36px auto;width:1240px;-webkit-mask-image:radial-gradient(ellipse 78% 83% at 52% 52%,black 57%,rgba(0,0,0,.85) 75%,transparent 100%);mask-image:radial-gradient(ellipse 78% 83% at 52% 52%,black 57%,rgba(0,0,0,.85) 75%,transparent 100%)}
.city-sky{background:linear-gradient(135deg,#b1e3f1 0%,#b6daec 43%,#82bddc 100%)}
.city-clouds{top:75px;right:315px;opacity:.6}
.city-vignette{background:linear-gradient(90deg,#244A7BA5 0%,transparent 31%),linear-gradient(0deg,#4273A661 0%,transparent 37%)}
/* Ensure controls remain above hero illustration layers. */
.welcome-content,.parent-copy,.verify-copy,.handoff-copy{position:relative;z-index:4}
.plans-choice{z-index:3}

.status-success{display:inline-flex;align-items:center;gap:7px}.status-success img{width:30px;height:30px;object-fit:contain}

/* Workbench-only design reference entry. Not part of child navigation or screen map. */
.wb-tools .ds-workbench-link{
 display:inline-flex;align-items:center;justify-content:center;
 text-decoration:none;white-space:nowrap;
 color:#A7EEF7;border-color:#497F9F;
}
.wb-tools .ds-workbench-link:hover{background:#315078;color:#F5FDFF}
.wb-tools .ds-workbench-link:focus-visible{outline:3px solid #A9F0F7;outline-offset:3px}
