:root{--cream:#f8edcf;--paper:#fffaf0;--ink:#51495f;--muted:#776e7e;--mint:#75bf96;--mint2:#b8e4c6;--sky:#72bfd1;--coral:#ea897b;--yellow:#f3cb5c;--violet:#8979ad;--shadow:0 22px 55px rgba(70,58,81,.16)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--cream)}button,input,textarea{font:inherit}button{color:inherit}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:linear-gradient(180deg,rgba(255,250,239,.96),rgba(255,250,239,.72));backdrop-filter:blur(12px);border-bottom:1px solid rgba(91,78,99,.08)}.brand{border:0;background:transparent;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}.brand img{width:54px;height:58px;object-fit:contain}.brand b{display:block;font-size:18px}.brand small{font-size:11px;color:var(--muted);font-weight:700}.top-actions{display:flex;gap:10px}.round-tool{height:52px;min-width:112px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:#fff8e8;box-shadow:0 8px 22px rgba(72,59,80,.09);display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:900;cursor:pointer}.tool-wave{width:27px;height:27px;border-radius:50%;background:var(--violet);position:relative}.tool-wave:after{content:"";position:absolute;inset:7px 10px;border-radius:5px;background:#fff}.tool-note{width:27px;height:27px;border:3px solid var(--coral);border-radius:50%;position:relative}.tool-note:after{content:"";position:absolute;width:3px;height:19px;background:var(--coral);right:-5px;top:-8px;transform:rotate(-10deg)}main{height:100%;padding-top:82px}.screen{display:none;height:calc(100vh - 82px);position:relative}.screen.active{display:block}.home-screen{overflow:hidden;background:radial-gradient(circle at 25% 8%,#fffdf4 0 10%,transparent 32%),linear-gradient(#dff2ef 0 52%,#f8edcf 52%)}.sky-copy{position:absolute;z-index:8;left:5vw;top:4.5vh}.eyebrow{display:inline-block;padding:6px 11px;border-radius:999px;background:#fff8e9;color:#8b6771;font-size:11px;font-weight:1000;letter-spacing:.08em}.sky-copy h1{font-family:"Noto Serif CJK SC","Songti SC",serif;font-size:clamp(37px,5.2vw,74px);line-height:1.04;letter-spacing:-.055em;margin:14px 0 10px}.sky-copy p{margin:0;font-size:clamp(13px,1.35vw,18px);font-weight:800;color:#706575}.island{position:absolute;inset:0}.island-art{position:absolute;width:100%;height:100%;object-fit:cover}.place{position:absolute;z-index:10;border:0;background:transparent;cursor:pointer;text-align:left;transition:.28s ease}.place:hover,.place:focus{transform:translateY(-8px);outline:none}.place-copy{display:block;min-width:200px;padding:11px 14px;border-radius:20px;background:rgba(255,250,239,.94);border:2px solid rgba(255,255,255,.95);box-shadow:0 12px 28px rgba(70,56,78,.14)}.place-copy b{display:block;font-size:clamp(15px,1.6vw,22px)}.place-copy small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:800}.place-imagine{left:12%;top:52%}.place-director{right:11%;top:42%}.place-tree{left:45%;top:37%}.place-illustration{display:block;width:105px;height:82px;margin:0 auto -8px;position:relative;filter:drop-shadow(0 8px 10px rgba(55,48,66,.18))}.sand-tool:before{content:"";position:absolute;left:18px;bottom:7px;width:68px;height:48px;border-radius:55% 55% 22% 22%;background:#ef8c7d}.sand-tool:after{content:"";position:absolute;left:48px;top:0;width:14px;height:52px;border-radius:9px;background:#755f66;transform:rotate(21deg)}.sand-tool i{position:absolute;left:37px;top:0;width:44px;height:28px;border-radius:50% 50% 10% 10%;background:#f3cb5c;transform:rotate(21deg)}.camera-tool:before{content:"";position:absolute;inset:17px 4px 7px;border-radius:22px;background:#665a82}.camera-tool:after{content:"";position:absolute;left:34px;top:27px;width:39px;height:39px;border-radius:50%;border:9px solid #fff3d4;background:#72bfd1}.camera-tool i{position:absolute;left:22px;top:5px;width:44px;height:24px;border-radius:12px 12px 0 0;background:#ea897b}.tree-tool:before{content:"";position:absolute;left:43px;top:27px;width:20px;height:55px;border-radius:10px;background:#896647}.tree-tool:after{content:"";position:absolute;left:7px;top:0;width:92px;height:57px;border-radius:50%;background:#75bf96}.tree-tool i{position:absolute;z-index:2;left:29px;top:17px;width:47px;height:30px;border-radius:5px 5px 18px 18px;background:#fff4cf;transform:rotate(-7deg)}.fanfan-home{position:absolute;z-index:12;left:50%;bottom:4%;transform:translateX(-50%);border:0;background:transparent;cursor:pointer}.fanfan-home img{display:block;width:clamp(92px,9vw,142px);height:clamp(112px,13vw,180px);object-fit:contain;margin:auto;filter:drop-shadow(0 13px 17px rgba(64,53,75,.18));animation:breathe 3.8s ease-in-out infinite}.fanfan-home span{display:block;padding:8px 12px;border-radius:999px;background:#fff8e8;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(70,57,76,.12)}@keyframes breathe{50%{transform:translateY(-6px) scale(1.015)}}.experience-screen{padding:18px 3vw 2vh;background:linear-gradient(155deg,#e9f5ed,#f9efd8 55%,#e8e1f1);overflow:auto}.experience-head{height:58px;display:flex;align-items:center;gap:16px}.experience-head .back{border:0;border-radius:999px;background:#fff8e8;padding:10px 15px;font-weight:900;cursor:pointer}.experience-head span{font-family:"Noto Serif CJK SC","Songti SC",serif;font-size:26px;font-weight:1000}.experience-head b{font-size:12px;color:var(--muted)}.imagine-layout,.director-layout{height:calc(100% - 62px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);gap:18px}.canvas-shell,.creation-guide,.director-stage,.director-console{border:1px solid rgba(255,255,255,.92);border-radius:30px;background:rgba(255,250,239,.86);box-shadow:var(--shadow)}.canvas-shell{padding:15px;display:flex;flex-direction:column}.live-stage{flex:1;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(#bde7ef 0 55%,#efd899 55%);min-height:340px}.live-stage:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-12%;height:54%;border-radius:50% 50% 0 0;background:#85c79a;z-index:0}.drop-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;display:flex;flex-wrap:wrap;align-content:flex-end;gap:8px;padding:14px;overflow:hidden}.sticker-chip{pointer-events:none;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(255,250,239,.95);border:2px solid #fff;box-shadow:0 8px 16px rgba(60,50,70,.18);font-size:12px;font-weight:900;color:var(--ink);transform:scale(.4) translateY(20px);opacity:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .35s}.sticker-chip.landed{transform:scale(1) translateY(0);opacity:1}.sticker-chip i{font-size:16px}.sticker-chip b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-words{position:absolute;z-index:4;left:20px;top:18px;max-width:65%;padding:10px 13px;border-radius:16px;background:rgba(255,250,239,.88);font-size:15px;font-weight:900}.creation-guide,.director-console{padding:18px;overflow:auto}.guide-fanfan{display:flex;gap:12px;align-items:center}.guide-fanfan img{width:70px;height:82px;object-fit:contain}.guide-fanfan b{font-size:18px}.guide-fanfan p{font-size:12px;color:var(--muted);font-weight:700;margin:4px 0}.voice-leaf{width:100%;min-height:82px;margin:14px 0 9px;border:3px solid #fff;border-radius:28px;background:linear-gradient(135deg,#6ebc93,#76c9b4);color:#fff;box-shadow:0 9px 0 #4e9878,0 16px 28px rgba(58,129,100,.22);display:grid;grid-template-columns:57px 1fr;grid-template-rows:1fr 1fr;text-align:left;align-items:center;padding:9px 16px;cursor:pointer}.voice-leaf .leaf-core{grid-row:1/3;width:47px;height:47px;border-radius:48% 52% 50% 17%;background:#fff6d5;transform:rotate(-17deg);box-shadow:0 0 0 7px rgba(255,255,255,.18)}.voice-leaf b{align-self:end;font-size:16px}.voice-leaf small{align-self:start;opacity:.88}.voice-leaf.listening{background:linear-gradient(135deg,#7b6dad,#ea897b);box-shadow:0 9px 0 #62568a,0 0 30px rgba(137,121,173,.4)}.transcript{min-height:46px;padding:10px 12px;border-radius:15px;background:#fff;border:1px dashed #b9aeb8;font-size:13px;font-weight:800;color:#756a7a}.type-box{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:12px}.type-box span{grid-column:1/3;font-size:11px;color:var(--muted);font-weight:900}.type-box input,.type-box textarea{width:100%;border:2px solid #ece0cb;border-radius:14px;padding:11px;background:#fffdf7;outline:none;resize:none}.type-box button{border:0;border-radius:14px;padding:9px 12px;background:var(--yellow);font-weight:1000;cursor:pointer}.primary-action{width:100%;border:0;border-radius:18px;padding:14px;background:var(--coral);color:#fff;font-weight:1000;box-shadow:0 8px 0 #bf675e;cursor:pointer}.director-stage{padding:15px;display:flex;flex-direction:column}.film-frame{flex:1;min-height:350px;position:relative;overflow:hidden;border-radius:24px;background:#addce8}.frame-sky{position:absolute;inset:0;background:linear-gradient(#b8e4ed,#f7e5a9)}.frame-hill{position:absolute;left:-10%;right:-10%;bottom:-15%;height:60%;border-radius:50% 50% 0 0;background:#78be91}.actor{position:absolute;left:40%;bottom:16%;width:155px;transition:.35s}.actor img{width:100%;filter:drop-shadow(0 14px 14px rgba(45,40,55,.2))}.speech-card{position:absolute;left:18px;top:18px;max-width:62%;padding:11px 13px;border-radius:17px;background:rgba(255,250,239,.92);font-size:14px;font-weight:900}.director-sticker-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;display:flex;flex-wrap:wrap;align-content:flex-end;justify-content:flex-end;gap:8px;padding:14px;overflow:hidden}.timeline{display:flex;gap:8px;padding:12px 0}.timeline i{flex:1;height:9px;border-radius:999px;background:#e4d8c7}.timeline i.active{background:var(--coral)}.camera-range{display:grid;grid-template-columns:150px 1fr;gap:8px;font-size:12px;font-weight:900}.camera-range input{width:100%}.camera-range span{grid-column:2;font-size:10px;color:var(--muted);word-spacing:10vw}.director-step{display:flex;gap:12px}.director-step>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--yellow);font-size:22px;font-weight:1000}.director-step b{font-size:18px}.director-step p{font-size:12px;line-height:1.6;color:var(--muted)}.natural-edits{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.natural-edits span{width:100%;font-size:11px;font-weight:900}.natural-edits button{border:0;border-radius:999px;padding:7px 9px;background:#eee5f2;font-size:11px;font-weight:900;cursor:pointer}.memory-screen{padding:5vh 8vw;background:linear-gradient(145deg,#dff0e6,#f8edcf)}.memory-book{height:70vh;max-width:900px;margin:auto;border-radius:42px;background:#fffaf0;box-shadow:var(--shadow);display:grid;grid-template-columns:35% 1fr;align-items:center;padding:5%;position:relative}.memory-book:before{content:"";position:absolute;left:35%;top:5%;bottom:5%;width:2px;background:#e7d9c2}.memory-book img{width:80%;justify-self:center}.memory-book span{font-size:12px;font-weight:1000;color:#9a6a70}.memory-book h2{font-family:"Noto Serif CJK SC",serif;font-size:34px}.memory-book p{line-height:1.8;color:var(--muted)}.memory-book button{border:0;border-radius:999px;padding:10px 13px;background:var(--mint2);font-weight:900;margin-right:8px;cursor:pointer}.voice-panel,.generating,.start-cover{position:fixed;z-index:200;inset:0;background:rgba(53,46,63,.58);backdrop-filter:blur(12px);display:none;place-items:center}.voice-panel.open,.generating.open,.start-cover{display:grid}.voice-card{width:min(92vw,620px);max-height:90vh;overflow:auto;padding:28px;border-radius:36px;background:#fffaf0;box-shadow:0 30px 90px rgba(35,31,44,.35);text-align:center;position:relative}.voice-card>img{width:105px;height:125px;object-fit:contain}.close{position:absolute;right:18px;top:18px;border:0;border-radius:999px;padding:8px 11px;background:#ede2d6;font-weight:900;cursor:pointer}.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.diagnostic-grid div{padding:10px;border-radius:15px;background:#f1eadf}.diagnostic-grid small,.diagnostic-grid b{display:block}.diagnostic-grid small{font-size:10px;color:var(--muted)}.volume-meter{height:16px;border-radius:99px;background:#e3d9cf;overflow:hidden;margin:14px 0}.volume-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--mint),var(--yellow),var(--coral));transition:.08s}.voice-events{margin-top:12px;min-height:56px;padding:10px;border-radius:14px;background:#ebe5ef;text-align:left;font:12px/1.6 monospace}.parent-note{font-size:11px;color:var(--muted)}.generating{background:linear-gradient(145deg,rgba(42,78,70,.86),rgba(70,58,90,.9))}.generation-scene{width:min(90vw,850px);min-height:430px;border-radius:42px;background:#fff8e8;padding:40px;display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center;box-shadow:0 30px 90px rgba(25,22,34,.35)}.generation-scene>img{width:170px}.generation-scene h2{font-family:"Noto Serif CJK SC",serif;font-size:34px;margin:10px 0}.generation-scene p{min-height:54px;line-height:1.7;font-weight:800;color:var(--muted)}.growth-line{grid-column:1/3;height:12px;border-radius:99px;background:#ded5c6;overflow:hidden}.growth-line i{display:block;height:100%;width:8%;background:linear-gradient(90deg,var(--mint),var(--sky),var(--yellow),var(--coral));transition:1s}.generation-cells{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.generation-cells span{height:70px;border-radius:17px;background:linear-gradient(135deg,#e8dfd0,#fffdf5);position:relative;overflow:hidden}.generation-cells span:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:shine 1.6s infinite}@keyframes shine{to{transform:translateX(100%)}}.start-cover{display:grid;background:radial-gradient(circle at 50% 18%,#fffdf4,#e4f2e8 52%,#d2e8e7)}.start-cover.hide{display:none}.start-book{width:min(88vw,540px);padding:38px;border-radius:45px;background:#fffaf0;text-align:center;box-shadow:0 35px 100px rgba(58,48,70,.22)}.start-book img{width:140px;height:165px;object-fit:contain}.start-book>span{display:block;font-size:12px;font-weight:1000;color:#9a6a70}.start-book h2{font:1000 38px/1.2 "Noto Serif CJK SC",serif;margin:7px}.start-book p{color:var(--muted);font-weight:700}.start-book button{border:0;border-radius:999px;padding:15px 28px;background:var(--coral);color:#fff;font-weight:1000;box-shadow:0 8px 0 #bc665d;cursor:pointer}@media(max-width:900px){.topbar{height:64px;padding:7px 12px}.brand img{width:42px;height:46px}.brand small{display:none}.round-tool{min-width:50px;height:45px}.round-tool b{display:none}main{padding-top:64px}.screen{height:calc(100vh - 64px)}.sky-copy{top:2vh;left:3vw}.sky-copy h1{font-size:32px}.sky-copy p{font-size:11px}.place-copy{min-width:145px;padding:7px 9px}.place-copy small{display:none}.place-illustration{width:72px;height:58px}.place-imagine{left:5%;top:54%}.place-director{right:4%;top:46%}.place-tree{left:43%;top:31%}.fanfan-home{bottom:1%}.fanfan-home span{display:none}.imagine-layout,.director-layout{grid-template-columns:1.3fr .85fr;gap:10px}.experience-screen{padding:6px 12px}.experience-head{height:42px}.experience-head span{font-size:19px}.experience-head b{display:none}.canvas-shell,.creation-guide,.director-stage,.director-console{border-radius:20px}.creation-guide,.director-console{padding:11px}.guide-fanfan img{width:48px;height:56px}.guide-fanfan p{display:none}.voice-leaf{min-height:60px;margin:7px 0}.type-box{margin-top:7px}.live-stage,.film-frame{min-height:250px}.generation-scene{min-height:330px;grid-template-columns:115px 1fr;padding:25px}.generation-scene>img{width:110px}.generation-scene h2{font-size:25px}.memory-book{height:75vh}.memory-book h2{font-size:24px}}@media(max-width:700px){.imagine-layout,.director-layout{grid-template-columns:1fr}.canvas-shell,.director-stage{min-height:300px}.creation-guide,.director-console{min-height:280px}.experience-screen{overflow:auto}.screen{overflow:auto}.sky-copy h1{font-size:27px}.place-tree{top:25%}}



/* Stage 2: child usability and landscape acceptance fixes */
.mini-game-row{position:absolute;z-index:11;left:50%;bottom:15%;transform:translateX(-50%);display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:92vw}.mini-game-chip{display:flex;flex-direction:column;align-items:center;gap:2px;width:132px;padding:12px 10px;border:2px solid #fff;border-radius:20px;background:rgba(255,250,239,.92);box-shadow:0 10px 22px rgba(60,50,70,.14);cursor:pointer;text-align:center}.mini-game-chip i{font-size:26px}.mini-game-chip b{font-size:12px;font-weight:1000}.mini-game-chip small{font-size:10px;color:var(--muted);font-weight:700}.mini-game-result{position:absolute;z-index:6;right:16px;bottom:16px;width:150px;border-radius:18px;box-shadow:0 12px 24px rgba(50,42,60,.28);border:3px solid #fff}@media(max-width:900px){.mini-game-row{position:static;transform:none;margin-top:10px;padding:0 4vw 12px}.mini-game-chip{width:104px;padding:9px 7px}}
.round-tool{min-height:56px}.experience-head .back{min-height:56px;min-width:120px}.type-box button{min-width:112px;min-height:56px}.primary-action{min-height:58px}.natural-edits button{min-height:56px;padding:10px 14px}.voice-card .primary-action{min-height:58px}
@media(max-width:1100px){.place-tree{left:41%;top:26%}.fanfan-home{bottom:0}}
@media(max-width:900px){.topbar{height:70px}.round-tool{width:56px;min-width:56px;height:56px}.brand{min-height:56px}.brand img{width:48px;height:51px}main{padding-top:70px}.screen{height:calc(100vh - 70px)}.experience-head .back{min-height:56px}}
@media(max-height:650px) and (orientation:landscape){.experience-screen{padding:4px 12px;overflow:hidden}.experience-head{height:38px}.experience-head .back{min-height:36px;height:36px;padding:5px 13px}.experience-head span{font-size:18px}.imagine-layout,.director-layout{height:calc(100% - 40px);gap:10px}.canvas-shell,.creation-guide,.director-stage,.director-console{border-radius:18px;padding:9px;min-height:0}.canvas-shell,.director-stage{height:100%}.live-stage,.film-frame{min-height:0;flex:1}.draw-tools{padding-top:5px;gap:7px}.color-dot{width:56px;height:56px}.text-tool{min-height:56px}.creation-guide,.director-console{height:100%;display:flex;flex-direction:column;overflow:hidden}.guide-fanfan{display:none}.voice-leaf{min-height:58px;height:58px;margin:0 0 5px;padding:5px 11px;flex:0 0 58px}.voice-leaf .leaf-core{width:39px;height:39px}.voice-leaf b{font-size:13px}.transcript{min-height:36px;height:36px;padding:7px 9px;overflow:hidden;flex:0 0 36px}.type-box{margin-top:5px;grid-template-columns:1fr 104px;gap:5px}.type-box span{display:none}.type-box input,.type-box textarea{height:56px;min-height:56px;padding:7px 9px}.type-box button{height:56px;min-height:56px;min-width:104px;padding:6px}.prop-tray{display:none}.creation-guide>.primary-action{margin-top:auto;flex:0 0 58px}.director-step{min-height:38px;flex:0 0 38px;overflow:hidden}.director-step>span{width:38px;height:38px;flex-basis:38px;font-size:18px}.director-step b{font-size:14px}.director-step p{display:none}.director-console .natural-edits{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:5px 0;flex:0 0 56px}.natural-edits span{display:none}.natural-edits button{min-height:56px;height:56px;padding:5px 7px;font-size:10px}.director-console>.primary-action{margin-top:auto;flex:0 0 58px}.camera-range{grid-template-columns:120px 1fr;gap:3px}.camera-range span{display:none}.timeline{padding:5px 0}.voice-card{width:min(94vw,760px);max-height:calc(100vh - 16px);padding:12px 18px;overflow:hidden}.voice-card>img,.voice-card>.eyebrow,.voice-card>.parent-note{display:none}.voice-card h2{font-size:22px;margin:2px 0 8px}.diagnostic-grid{grid-template-columns:repeat(4,1fr);gap:6px}.diagnostic-grid div{padding:6px}.volume-meter{margin:7px 0;height:13px}.voice-card .primary-action{height:56px;min-height:56px}.voice-events{margin-top:6px;min-height:42px;max-height:56px;overflow:auto}.voice-card .close{min-width:70px;min-height:44px}.generation-scene{width:min(94vw,820px);min-height:300px;max-height:calc(100vh - 20px);padding:20px;grid-template-columns:110px 1fr;gap:14px}.generation-scene>img{width:105px}.generation-scene h2{font-size:24px;margin:4px 0}.generation-scene p{min-height:40px;margin:5px 0}.generation-cells span{height:48px}}

@media(max-height:650px) and (orientation:landscape){.experience-head .back{display:none}.experience-head{padding-left:4px}.director-console{position:relative;padding-bottom:72px}.director-console>.primary-action{position:absolute;left:9px;right:9px;bottom:9px;width:auto;height:58px;min-height:58px}.director-console .natural-edits{margin-bottom:3px}}

@media(max-height:650px) and (orientation:landscape) and (max-width:900px){.director-console .natural-edits{display:none}.director-console #directorTranscript{display:none}.director-console{padding-bottom:70px}.director-console .type-box{margin-top:4px}}

/* Stage 2 final: every button is touch-safe; mobile props can be tapped */
button{min-height:56px;touch-action:manipulation}
@media(max-height:650px) and (orientation:landscape) and (max-width:900px){.memory-book button{min-height:56px}.voice-card .close{height:56px;min-height:56px}}


/* Stage 3: open creation system */
.creation-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:center;margin:9px 0}.creation-progress i{height:8px;border-radius:99px;background:#dfd6ca}.creation-progress i.current{background:var(--coral)}.creation-progress i.done{background:var(--mint)}.creation-progress span{grid-column:1/5;font-size:11px;font-weight:1000;color:var(--muted)}.creation-trail{display:flex;gap:6px;overflow-x:auto;min-height:0;margin-bottom:7px}.creation-trail:empty{display:none}.trail-chip{flex:0 0 auto;max-width:180px;padding:6px 9px;border-radius:999px;background:#e8f3e9;color:#51725e;font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirm-card{padding:10px;border-radius:17px;background:#fff1cf;border:2px solid #f1cf75;margin:7px 0}.confirm-card[hidden]{display:none}.confirm-card b{font-size:14px}.confirm-card p{font-size:12px;margin:4px 0 8px;line-height:1.5}.confirm-card div{display:flex;gap:7px}.confirm-card button{flex:1;border:0;border-radius:13px;background:#fff;padding:8px;font-size:11px;font-weight:1000}.creation-actor{position:absolute;z-index:2;left:48%;bottom:15%;width:100px;height:132px;opacity:0;transform:translate(-50%,20px) scale(var(--actor-scale,1));transition:.45s ease;filter:drop-shadow(0 12px 12px rgba(52,47,62,.2))}.creation-actor.visible{opacity:1;transform:translate(-50%,0) scale(var(--actor-scale,1))}.creation-actor:before{content:"";position:absolute;left:18px;top:17px;width:65px;height:80px;border-radius:48% 48% 43% 43%;background:var(--actor-color,#f6d883);border:5px solid #5c526b}.creation-actor:after{content:"";position:absolute;left:33px;top:48px;width:9px;height:13px;border-radius:50%;background:#5c526b;box-shadow:27px 0 #5c526b}.creation-actor i:before,.creation-actor i:after{content:"";position:absolute;z-index:-1;top:0;width:42px;height:50px;background:var(--actor-color,#f6d883);border:5px solid #5c526b}.creation-actor i:before{left:7px;border-radius:85% 15% 55% 35%;transform:rotate(-22deg)}.creation-actor i:after{right:6px;border-radius:15% 85% 35% 55%;transform:rotate(22deg)}.creation-actor b{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:100px;max-width:180px;padding:6px 9px;border-radius:999px;background:#fff8e8;font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creation-actor.helping{animation:actorHelp 1.1s ease-in-out infinite}.creation-actor.dancing{animation:actorDance .8s ease-in-out infinite}.creation-actor.flying{bottom:36%;animation:actorFly 1.8s ease-in-out infinite}@keyframes actorHelp{50%{transform:translate(-50%,-8px) scale(var(--actor-scale,1))}}@keyframes actorDance{25%{transform:translate(-50%,0) rotate(-5deg) scale(var(--actor-scale,1))}75%{transform:translate(-50%,0) rotate(5deg) scale(var(--actor-scale,1))}}@keyframes actorFly{50%{transform:translate(-50%,-18px) scale(var(--actor-scale,1))}}.action-ribbon{position:absolute;z-index:4;right:16px;bottom:14px;max-width:55%;padding:8px 11px;border-radius:14px;background:rgba(255,250,239,.9);font-size:11px;font-weight:900;color:#665b70}.primary-action.creation-locked{background:#c9bfb7;box-shadow:0 8px 0 #a89f99;cursor:not-allowed}.primary-action.creation-ready{background:var(--coral);box-shadow:0 8px 0 #bf675e;cursor:pointer}.memory-passport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.memory-passport span{padding:8px 10px;border-radius:14px;background:#f1eadc;color:var(--ink);font-size:11px}.memory-passport b{display:block;font-size:10px;color:#9a6a70;margin-bottom:2px}
@media(max-height:650px) and (orientation:landscape){.creation-progress{margin:3px 0}.creation-progress span{display:none}.creation-trail{margin-bottom:3px}.trail-chip{padding:4px 7px}.creation-actor{width:82px;height:110px}.creation-actor:before{left:15px;width:53px;height:67px}.creation-actor:after{left:27px;top:43px}.creation-actor i:before,.creation-actor i:after{width:35px;height:42px}.creation-actor b{bottom:0}.action-ribbon{bottom:8px}.confirm-card{position:absolute;z-index:12;left:8px;right:8px;bottom:68px;box-shadow:0 10px 30px rgba(65,52,72,.18)}}

/* Stage 3 carried character inside Little Director */
.director-creation-character{position:relative;width:112px;height:138px;margin:auto;filter:drop-shadow(0 12px 12px rgba(52,47,62,.2))}.director-creation-character:before{content:"";position:absolute;left:22px;top:20px;width:68px;height:84px;border-radius:48% 48% 43% 43%;background:var(--carried-color,#f6d883);border:5px solid #5c526b}.director-creation-character:after{content:"";position:absolute;left:39px;top:52px;width:9px;height:13px;border-radius:50%;background:#5c526b;box-shadow:28px 0 #5c526b}.director-creation-character i:before,.director-creation-character i:after{content:"";position:absolute;z-index:-1;top:2px;width:44px;height:53px;background:var(--carried-color,#f6d883);border:5px solid #5c526b}.director-creation-character i:before{left:9px;border-radius:85% 15% 55% 35%;transform:rotate(-22deg)}.director-creation-character i:after{right:8px;border-radius:15% 85% 35% 55%;transform:rotate(22deg)}.director-creation-character b{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:100px;padding:6px 9px;border-radius:999px;background:#fff8e8;font-size:11px;text-align:center}

@media(max-width:1300px) and (min-height:651px) and (max-height:760px){.creation-guide{padding:13px}.creation-progress{margin:5px 0}.creation-trail{margin-bottom:4px}.guide-fanfan img{width:60px;height:70px}.guide-fanfan p{margin:2px 0}.creation-guide .voice-leaf{margin:8px 0 6px}.creation-guide .type-box{margin-top:7px}}

/* Stage 4: generation task manager and companion acceptance */
.generation-error{grid-column:1/3;padding:13px;border:2px solid #e7a093;border-radius:18px;background:#fff0e8}.generation-error[hidden]{display:none}.generation-error b{font-size:16px}.generation-error p{margin:5px 0 9px;font-size:12px;color:var(--muted)}.generation-error>div{display:flex;gap:8px}.generation-error button{flex:1;border:0;border-radius:14px;background:#fff;padding:9px;font-weight:900}.generation-error button:first-child{background:var(--coral);color:#fff}.generation-diagnostics{grid-column:1/3;padding:7px 10px;border-radius:12px;background:#ece5d9;font:11px/1.5 monospace;color:#665b70}.generating.child-speaking .generation-scene{box-shadow:0 0 0 7px rgba(117,191,150,.35),0 30px 90px rgba(25,22,34,.35)}.generating.child-speaking #companionLine:before{content:'正在听孩子说话 · ';color:#4e9c7b;font-weight:1000}.generation-scene.companion-live>img{animation:companionTalk .9s ease-in-out infinite}.generation-scene.companion-paused>img{animation:none;transform:scale(.96)}@keyframes companionTalk{50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-height:650px) and (orientation:landscape){.generation-error{padding:8px}.generation-error p{display:none}.generation-error button{min-height:48px}.generation-diagnostics{font-size:9px;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

.generation-talk{border:0;border-radius:999px;background:#e3f2e8;color:#4e8268;padding:8px 13px;font-size:11px;font-weight:900}.generation-talk.listening{background:#f6d36b;color:#65566b}.generation-talk:disabled{opacity:.55}

/* Stage 5: visual layers must never block child drawing */
.drop-layer,.stage-words,.creation-actor,.action-ribbon{pointer-events:none}

/* Real model result presentation */
.model-status{position:fixed;z-index:60;right:22px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(255,250,239,.93);box-shadow:0 8px 22px rgba(50,40,60,.12);font-size:10px;font-weight:900;color:#6b6072}.model-status.ok{color:#3e8c6b}.model-status.warn{color:#b36b58}.generated-media{margin-top:13px;display:grid;gap:10px}.generated-media img,.generated-media video{display:block;width:100%;max-height:310px;object-fit:contain;border-radius:20px;background:#e8dfd0;box-shadow:0 12px 28px rgba(60,48,70,.14)}.generated-story{padding:12px 14px;border-radius:16px;background:#f6eedf;line-height:1.75;font-size:13px}.generated-story b{display:block;margin-bottom:5px}.voice-leaf.uploading{background:linear-gradient(135deg,#72bfd1,#8979ad);box-shadow:0 9px 0 #655887}.memory-book.has-generated-media{height:78vh;overflow:auto;align-items:start}.memory-book.has-generated-media>img{position:sticky;top:20px}
@media(max-height:650px) and (orientation:landscape){.model-status{display:none}.generated-media{grid-template-columns:1fr 1fr}.generated-media img,.generated-media video{max-height:180px}.generated-story{grid-column:1/3}.memory-book.has-generated-media{height:82vh}}


.choice-cards{margin:12px 0;padding:12px;border-radius:18px;background:#f2eadb}
.choice-hint{margin:0 0 8px;font-size:11px;font-weight:900;color:var(--muted)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choice-card{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid #fff;border-radius:16px;background:#fffdf7;padding:10px 6px;min-height:76px;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 6px 14px rgba(60,50,70,.1);transition:.2s}
.choice-card:hover{transform:translateY(-3px)}
.choice-card.chosen{background:var(--mint2);border-color:var(--mint)}
.choice-ico{width:30px;height:30px;border-radius:50%;background:var(--sky);display:block}
.ico-fox,.ico-dino,.ico-fairy,.ico-dolphin,.ico-yellow,.ico-happy,.ico-brave{background:var(--coral)}
.ico-sea,.ico-cloud,.ico-moon,.ico-forest,.ico-green,.ico-rainbow{background:var(--mint)}
.ico-help,.ico-dance,.ico-fly,.ico-find,.ico-sing,.ico-smart,.ico-friend{background:var(--yellow)}
.ico-red,.ico-purple,.ico-beach,.ico-valley,.ico-bff,.ico-grow{background:var(--violet)}
.ico-rain,.ico-lost,.ico-scared,.ico-dark{background:#9aa0ad}
.camera-presets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.camera-presets button{border:0;border-radius:999px;padding:8px 12px;background:#eee5f2;font-size:11px;font-weight:900;cursor:pointer;min-height:44px}
.camera-presets button.chosen{background:var(--mint2)}
.library-empty{padding:20px;text-align:center;color:var(--muted);font-weight:800}
.library-row{margin-bottom:16px}
.library-row h4{margin:0 0 8px;font-size:14px;font-weight:1000}
.library-shelf-books{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.book-card{flex:0 0 110px;border:0;background:transparent;cursor:pointer;text-align:center;display:flex;flex-direction:column;gap:6px}
.book-card img{width:100%;height:130px;object-fit:cover;border-radius:12px;box-shadow:0 8px 18px rgba(60,50,70,.18)}
.book-card b{font-size:12px;font-weight:900}
.book-reader{position:fixed;z-index:210;inset:0;background:rgba(53,46,63,.68);backdrop-filter:blur(12px);display:none;place-items:center}
.book-reader.open{display:grid}
.reader-card{width:min(92vw,640px);max-height:90vh;padding:24px;border-radius:32px;background:#fffaf0;box-shadow:0 30px 90px rgba(35,31,44,.35);position:relative;text-align:center}
.reader-card img{width:100%;max-height:44vh;object-fit:contain;border-radius:18px;background:#f2eadb}
.reader-text{margin:14px 0;font-size:16px;line-height:1.7;font-weight:800;min-height:60px}
.reader-controls{display:flex;align-items:center;justify-content:center;gap:10px}
.reader-controls button{border:0;border-radius:999px;padding:10px 16px;background:var(--mint2);font-weight:900;cursor:pointer;min-height:48px}
.reader-controls button:disabled{opacity:.4;cursor:default}
#readerPageNum{font-size:12px;font-weight:900;color:var(--muted)}
@media(max-width:900px){.choice-grid{grid-template-columns:1fr 1fr}.reader-card{padding:16px}}


/* v10 · 露米的可旋转故事星球 */
:root{--cosmos:#17142d;--cosmos2:#2b2350;--starlight:#f8d66d;--lilac:#b597f3;--lumi-pink:#ef8faa}
.cosmic-home{overflow:hidden;background:radial-gradient(circle at 72% 24%,rgba(128,98,205,.42),transparent 24%),radial-gradient(circle at 12% 78%,rgba(74,191,197,.22),transparent 26%),linear-gradient(145deg,#17132c,#29214e 54%,#16172d);color:#fff}
.cosmic-noise{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:37px 37px;mask-image:linear-gradient(#000,transparent 85%)}
.starfield{position:absolute;inset:-30%;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.6px),radial-gradient(circle,#f8d66d 0 1.4px,transparent 2px);background-size:94px 94px,173px 173px;animation:starDrift 30s linear infinite}.starfield-b{opacity:.48;transform:scale(.72);animation-duration:48s;animation-direction:reverse}@keyframes starDrift{to{transform:translate3d(70px,35px,0)}}
.cosmic-copy{left:4.5vw;top:5vh;max-width:410px}.cosmic-copy .eyebrow{background:rgba(248,214,109,.12);border:1px solid rgba(248,214,109,.38);color:#ffe7a0}.cosmic-copy h1{font-size:clamp(38px,4.7vw,72px);text-shadow:0 12px 38px rgba(0,0,0,.28)}.cosmic-copy p{color:#ded5f6;line-height:1.7;max-width:360px}
.planet-wrap{--planet-rotation:0;position:absolute;z-index:6;right:4vw;top:50%;width:min(58vw,740px);aspect-ratio:1;transform:translateY(-48%);touch-action:none;cursor:grab;perspective:1000px}.planet-wrap.dragging{cursor:grabbing}.planet-halo{position:absolute;inset:3%;border-radius:50%;background:radial-gradient(circle,rgba(178,146,255,.2),transparent 66%);filter:blur(18px);animation:haloPulse 4s ease-in-out infinite}@keyframes haloPulse{50%{transform:scale(1.06);opacity:.72}}
.story-planet{position:absolute;inset:14%;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 33% 23%,#a5f0ed 0 7%,#56bcc2 25%,#385ca1 68%,#25265e 100%);box-shadow:inset -65px -45px 80px rgba(18,14,58,.58),inset 24px 24px 38px rgba(255,255,255,.24),0 0 70px rgba(121,112,229,.42),0 40px 80px rgba(5,5,22,.55);transform:rotate(calc(var(--planet-rotation)*1deg));transition:transform .15s ease-out}.planet-wrap.dragging .story-planet{transition:none}.story-planet:after{content:"";position:absolute;inset:-10%;border-radius:50%;background:repeating-linear-gradient(18deg,transparent 0 34px,rgba(255,255,255,.035) 35px 43px)}
.planet-continent{position:absolute;border-radius:48% 52% 57% 43%;background:linear-gradient(145deg,#b6e38f,#5bb68f);box-shadow:inset -12px -14px 18px rgba(26,106,91,.25)}.land-a{width:46%;height:28%;left:9%;top:18%;transform:rotate(-17deg)}.land-b{width:36%;height:42%;right:8%;top:39%;transform:rotate(24deg)}.land-c{width:35%;height:22%;left:20%;bottom:8%;transform:rotate(12deg)}.planet-cloud{position:absolute;width:34%;height:8%;border-radius:999px;background:rgba(255,255,255,.42);filter:blur(3px)}.cloud-a{left:7%;top:50%;transform:rotate(14deg)}.cloud-b{right:13%;top:24%;transform:rotate(-12deg)}
.planet-places{position:absolute;inset:0;pointer-events:none}.planet-place{--x:50%;--y:50%;--depth:1;position:absolute;left:var(--x);top:var(--y);z-index:calc(10 + var(--depth)*10);width:154px;min-height:88px;padding:10px 12px;transform:translate(-50%,-50%) scale(calc(.72 + var(--depth)*.28));opacity:calc(.42 + var(--depth)*.58);border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(28,23,59,.76);backdrop-filter:blur(14px);box-shadow:0 16px 35px rgba(8,7,28,.34);color:#fff;text-align:left;pointer-events:auto;transition:left .18s ease-out,top .18s ease-out,transform .2s,opacity .2s,border-color .2s}.planet-place:hover,.planet-place:focus{border-color:#ffe18a;transform:translate(-50%,-50%) scale(calc(.79 + var(--depth)*.3));outline:none}.planet-place i{float:left;width:34px;height:34px;margin-right:8px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#f2a4bd,#9c83de);font-style:normal;font-size:19px}.planet-place b{display:block;font-size:13px}.planet-place small{display:block;margin-top:4px;color:#d7d0ec;font-size:9px;line-height:1.35}
.lumi-home{position:absolute;z-index:30;left:37%;bottom:2.5%;width:210px;border:0;background:transparent;color:#fff;cursor:pointer;transition:transform .75s cubic-bezier(.2,.9,.2,1)}.lumi-home img{display:block;width:150px;height:210px;object-fit:contain;margin:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.35));animation:lumiFloat 3.2s ease-in-out infinite}.lumi-home span{display:block;padding:9px 12px;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:rgba(30,23,60,.78);backdrop-filter:blur(12px)}.lumi-home b,.lumi-home small{display:block}.lumi-home b{font-size:12px}.lumi-home small{margin-top:2px;color:#dfd6f6;font-size:9px}.lumi-home.flying{transform:translate(var(--fly-x),var(--fly-y)) scale(.35) rotate(14deg);opacity:.18}@keyframes lumiFloat{50%{transform:translateY(-11px) rotate(-1.5deg)}}.planet-tip{position:absolute;z-index:20;right:23vw;bottom:3%;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#dcd5f3;font-size:11px;font-weight:800}
/* 想象星滩：去掉大看板，变为对话+灵感图工作台 */
.imagine-studio{height:calc(100% - 62px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.72fr);gap:18px}.imagine-visual-world,.imagine-dialogue{min-width:0;border:1px solid rgba(255,255,255,.82);border-radius:30px;background:rgba(255,250,239,.88);box-shadow:var(--shadow)}.imagine-visual-world{display:grid;grid-template-rows:210px auto 1fr;gap:12px;padding:14px;overflow:auto}.compact-world{min-height:210px;max-height:210px}.idea-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.idea-gallery-head b,.idea-gallery-head small{display:block}.idea-gallery-head b{font-size:16px}.idea-gallery-head small{margin-top:4px;color:var(--muted);font-size:11px}.idea-gallery-head>span{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eee6f6;color:#78699c;font-size:10px;font-weight:900}.idea-image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(150px,1fr);gap:12px;min-height:190px}.idea-empty{grid-column:1/3;display:grid;place-items:center;padding:30px;border:2px dashed #d9cde6;border-radius:22px;color:#8a7c91;text-align:center;font-weight:800}.idea-card{position:relative;overflow:hidden;border:3px solid transparent;border-radius:22px;background:#eae0d6;box-shadow:0 10px 24px rgba(55,44,67,.14);cursor:pointer;min-height:160px}.idea-card img{width:100%;height:100%;object-fit:cover}.idea-card span{position:absolute;left:9px;right:9px;bottom:9px;padding:8px 10px;border-radius:13px;background:rgba(28,24,51,.76);color:#fff;font-size:10px;font-weight:900}.idea-card.selected{border-color:#f1c85f}.idea-card.loading:after{content:"露米正在画…";position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(110deg,#e9e1f1,#fff6d9,#dff2ec);color:#675b7b;font-weight:900;animation:ideaGlow 1.2s ease-in-out infinite}@keyframes ideaGlow{50%{filter:brightness(1.08)}}
/* 不规则宫格阅读 */
.reader-card{width:min(94vw,980px);overflow:auto}.reader-card>img{max-height:35vh}.reader-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:72px;gap:8px;margin:12px 0}.reader-mosaic button{position:relative;overflow:hidden;border:3px solid transparent;border-radius:14px;background:#e9dfd3;padding:0;min-height:0}.reader-mosaic button:nth-child(6n+1),.reader-mosaic button:nth-child(6n+4){grid-column:span 2;grid-row:span 2}.reader-mosaic button:nth-child(6n+2),.reader-mosaic button:nth-child(6n+3),.reader-mosaic button:nth-child(6n+5),.reader-mosaic button:nth-child(6n+6){grid-column:span 2}.reader-mosaic button.current{border-color:#efb95b}.reader-mosaic img{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:10px}.reader-mosaic span{position:absolute;right:5px;bottom:4px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(30,23,53,.76);color:#fff;font-size:9px}
/* 高级启动页 */
.start-cover{overflow:hidden;background:radial-gradient(circle at 50% 45%,#59468a 0 7%,#292044 38%,#111426 78%)}.start-cover:before,.start-cover:after{content:"";position:absolute;border:1px solid rgba(246,215,121,.25);border-radius:50%;animation:launchSpin 18s linear infinite}.start-cover:before{width:72vw;height:72vw}.start-cover:after{width:48vw;height:48vw;animation-direction:reverse;animation-duration:13s}@keyframes launchSpin{to{transform:rotate(360deg)}}.launch-orbit{position:absolute;inset:0}.launch-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe38a;box-shadow:0 0 18px #ffe38a;animation:launchStar 5s ease-in-out infinite}.launch-orbit i:nth-child(1){left:18%;top:28%}.launch-orbit i:nth-child(2){right:16%;top:20%;animation-delay:1.3s}.launch-orbit i:nth-child(3){right:25%;bottom:18%;animation-delay:2.5s}@keyframes launchStar{50%{transform:translateY(-22px) scale(1.8);opacity:.45}}.cosmic-launch{position:relative;z-index:2;width:min(90vw,590px);padding:28px 42px 34px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(145deg,rgba(255,251,241,.96),rgba(237,226,250,.94));box-shadow:0 35px 100px rgba(0,0,0,.46),inset 0 1px #fff}.cosmic-launch img{width:180px;height:225px;animation:lumiFloat 3.2s ease-in-out infinite}.launch-kicker{letter-spacing:.22em;color:#8066a6!important}.cosmic-launch h2{color:#3f3458}.cosmic-launch button{background:linear-gradient(135deg,#7555a4,#e386a6);box-shadow:0 9px 0 #513b78}.cosmic-launch>small{display:block;margin-top:17px;color:#82758d;font-size:10px}
@media(max-width:1000px){.cosmic-copy{max-width:300px}.planet-wrap{right:-4vw;width:68vw}.lumi-home{left:30%}.imagine-studio{grid-template-columns:1.1fr .9fr}}
@media(max-width:700px){.cosmic-copy{top:3vh;left:5vw}.cosmic-copy h1{font-size:30px}.cosmic-copy p{display:none}.planet-wrap{top:54%;right:-18vw;width:104vw}.lumi-home{left:4%;bottom:3%;width:145px}.lumi-home img{width:105px;height:145px}.lumi-home span small{display:none}.planet-place{width:124px;min-height:72px;padding:8px}.planet-place small{display:none}.planet-tip{right:4%;bottom:2%;font-size:9px}.imagine-studio{height:auto;grid-template-columns:1fr}.imagine-visual-world{grid-template-rows:170px auto auto}.compact-world{min-height:170px;max-height:170px}.idea-image-gallery{grid-auto-rows:150px}.reader-mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:58px}.reader-mosaic button{grid-column:span 2!important;grid-row:span 1!important}.reader-mosaic button:nth-child(3n+1){grid-row:span 2!important}}

/* 三个AI玩法各自的星球场景 */
#miniGame[data-game="animalFriend"]{background:radial-gradient(circle at 18% 22%,rgba(255,239,174,.7),transparent 22%),linear-gradient(150deg,#b9e3cb,#f5e8bd 60%,#cbb9e4)}#miniGame[data-game="animalFriend"] #miniGameStage{background:linear-gradient(#a8dfd0 0 48%,#6eb687 48%)}#miniGame[data-game="emotionWeather"]{background:radial-gradient(circle at 20% 18%,rgba(255,238,139,.8),transparent 18%),linear-gradient(150deg,#b9e2ed,#f4d5c4 55%,#cfc0e7)}#miniGame[data-game="emotionWeather"] #miniGameStage{background:linear-gradient(#9dd8e6 0 48%,#ead4a5 48%)}


/* v10.0.1 · 星球成为首页主要视觉 */
@media(min-width:1001px){.cosmic-copy{left:3.2vw;top:7vh;max-width:330px}.cosmic-copy h1{font-size:clamp(36px,4.05vw,62px)}.cosmic-copy p{max-width:300px}.planet-wrap{right:-2vw;top:50%;width:min(76vw,930px);transform:translateY(-49%)}.story-planet{inset:11%}.planet-place{width:170px;min-height:94px;padding:12px 14px}.planet-place b{font-size:14px}.planet-place small{font-size:10px}.lumi-home{left:27%;bottom:1%;width:190px}.lumi-home img{width:138px;height:190px}.planet-tip{right:29vw;bottom:2%}}
@media(min-width:1500px){.planet-wrap{right:0;width:min(72vw,1080px)}.cosmic-copy{left:4vw;max-width:390px}.cosmic-copy h1{font-size:68px}.lumi-home{left:29%}}

/* v10.0.1 final positioning: large but fully visible */
@media(min-width:1001px){.cosmic-copy{z-index:24!important;left:4vw!important;top:6vh!important;max-width:360px!important}.planet-wrap{left:auto!important;right:2vw!important;top:51%!important;width:min(66vw,calc(100vh - 108px),860px)!important;transform:translateY(-50%)!important}.story-planet{inset:10%!important}.lumi-home{left:31%!important}.planet-tip{right:28vw!important}}


/* v11 · 语音优先创作工坊、电影选镜与沉浸式3D星球 */
.logic-only,#modelStatus,.generation-diagnostics{display:none!important}.gentle-suggestions{display:none!important}
.conversation-workshop{height:calc(100% - 62px);display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);gap:18px}.story-chat-panel,.magic-gallery-panel,.director-visual-choices{min-width:0;border:1px solid rgba(255,255,255,.88);border-radius:30px;background:rgba(255,250,239,.9);box-shadow:var(--shadow);padding:20px;overflow:auto}.story-chat-panel{display:flex;flex-direction:column}.story-host{align-items:flex-start;padding:14px;border-radius:24px;background:linear-gradient(135deg,#f0e7fa,#fff4d9)}.story-host img{width:92px;height:118px}.story-host b{display:block;margin:4px 0 7px;font-size:20px;line-height:1.35}.story-host p{display:block!important;margin:0;font-size:13px;line-height:1.75;color:#685d73}.soft-kicker{font-size:10px;font-weight:1000;letter-spacing:.08em;color:#8d71aa}.story-chat-panel .voice-leaf{margin-top:16px}.story-chat-panel .primary-action{margin-top:auto}.magic-gallery-panel,.director-visual-choices{display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(255,252,245,.95),rgba(238,231,249,.93))}.magic-gallery-panel .idea-image-gallery{flex:1;margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(210px,1fr)}
.director-conversation{grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr)}.director-rounds{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.director-rounds i{height:9px;border-radius:999px;background:#e1d8e8}.director-rounds i.current{background:#9a76c2;box-shadow:0 0 14px rgba(154,118,194,.45)}.director-rounds i.done{background:#71bd96}.director-rounds span{grid-column:1/4;font-size:11px;font-weight:1000;color:#776a83}.director-image-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;min-height:250px}.director-image-card{position:relative;min-height:240px;overflow:hidden;border:3px solid transparent;border-radius:22px;background:#e7deee;box-shadow:0 12px 26px rgba(49,39,68,.16);cursor:pointer;padding:0}.director-image-card img{width:100%;height:100%;object-fit:cover}.director-image-card span{position:absolute;left:8px;right:8px;bottom:8px;padding:9px;border-radius:13px;background:rgba(27,20,51,.82);color:#fff;font-size:11px;font-weight:1000}.director-image-card.selected{border-color:#f4cc64;transform:translateY(-4px)}.director-image-card.loading:after{content:'露米正在画电影试镜图…';position:absolute;inset:0;display:grid;place-items:center;padding:22px;background:linear-gradient(120deg,#dfd0f1,#fff0c8,#d5f0e6);color:#665276;font-weight:1000;text-align:center;animation:ideaGlow 1.1s infinite}.chosen-film-strip{margin-top:auto;padding-top:12px;border-top:1px dashed #cfc1d7}.chosen-film-strip>b{font-size:12px}.chosen-film-strip>div{display:flex;gap:8px;margin-top:8px;min-height:65px}.chosen-film-strip img{width:92px;height:62px;object-fit:cover;border:3px solid #fff;border-radius:12px;box-shadow:0 6px 14px rgba(50,40,65,.14)}.finish-story-box{margin:12px 0;padding:13px;border-radius:18px;background:#fff0c9;border:2px solid #efd071}.finish-story-box[hidden]{display:none}.finish-story-box b{font-size:15px}.finish-story-box p{margin:5px 0 9px;font-size:12px;line-height:1.6}.finish-story-box button{width:100%;border:0;border-radius:14px;background:#7c65a7;color:#fff;font-weight:1000;padding:11px}.director-visual-choices>.primary-action{margin-top:14px}
.reader-card{font-family:"Comic Sans MS","Noto Sans SC","Microsoft YaHei",sans-serif}.reader-pinyin{margin:12px 0 2px;color:#9b70aa;font-size:13px;line-height:1.7;letter-spacing:.05em;font-weight:700}.reader-text{margin-top:4px;font-family:"Comic Sans MS","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:18px;letter-spacing:.025em}
#planetCanvas{position:absolute;inset:0;width:100%;height:100%;border-radius:50%}.story-planet{background:#17224f!important;transform:none!important;box-shadow:inset -75px -45px 95px rgba(5,5,35,.64),inset 18px 18px 30px rgba(255,255,255,.18),0 0 0 2px rgba(146,224,255,.24),0 0 80px rgba(115,100,229,.55),0 45px 95px rgba(3,4,24,.66)!important}.planet-continent,.planet-cloud{display:none!important}.planet-glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.24),transparent 24%),linear-gradient(115deg,transparent 45%,rgba(255,255,255,.07) 50%,transparent 55%);pointer-events:none}.planet-halo{inset:-1%!important;border:1px solid rgba(171,222,255,.16);box-shadow:0 0 90px rgba(117,95,228,.48)}.cosmic-home{background:radial-gradient(ellipse at 72% 48%,rgba(83,67,160,.5),transparent 35%),radial-gradient(ellipse at 28% 28%,rgba(34,107,139,.28),transparent 34%),linear-gradient(145deg,#090d21,#171535 56%,#070b1b)!important}.cosmic-home:after{content:'';position:absolute;inset:8% 3%;border-radius:50%;border:1px solid rgba(165,190,255,.08);transform:perspective(900px) rotateX(69deg);pointer-events:none}.planet-place{background:linear-gradient(145deg,rgba(20,20,53,.84),rgba(45,32,83,.78))!important;border-color:rgba(181,214,255,.52)!important;box-shadow:0 18px 38px rgba(2,4,22,.52),inset 0 1px rgba(255,255,255,.17)!important}
@media(max-width:900px){.conversation-workshop,.director-conversation{height:auto;grid-template-columns:1fr}.story-chat-panel,.magic-gallery-panel,.director-visual-choices{min-height:360px}.director-image-gallery{grid-template-columns:1fr 1fr}.director-image-card{min-height:190px}.director-image-card:last-child{grid-column:1/3}.story-host img{width:70px;height:90px}}


/* v12 · 玩法星球占据约三分之二主画面 */
@media(min-width:1001px){.planet-wrap{left:auto!important;right:-2.5vw!important;top:52%!important;width:min(72vw,1040px)!important;transform:translateY(-50%)!important}.story-planet{inset:8%!important}.planet-place{width:178px!important;min-height:98px!important}.cosmic-copy{max-width:330px!important}.lumi-home{left:27%!important}.planet-tip{right:31vw!important}}
@media(min-width:1500px){.planet-wrap{width:min(70vw,1160px)!important;right:-1vw!important}.story-planet{inset:7%!important}}


/* v3精修：玩法内页隐藏首页全局工具栏（仅保留在首页星球场景） */
body.screen-away .topbar{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-16px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
body.screen-away main{padding-top:0!important}
body.screen-away .screen{height:100vh!important}
@media(max-width:900px){
  body.screen-away main{padding-top:0!important}
  body.screen-away .screen{height:100vh!important}
}

/* v3精修：拆除六玩法共用的“天空/沙地/草地”通用画板，为各玩法重新设计主视觉 */
.canvas-shell{position:relative}
.live-stage{background:rgba(255,250,239,.18)!important;border:2px solid rgba(255,255,255,.4);transition:background .3s}
.live-stage:after{display:none!important}

/* 心情气象站：心情天气画插画式主视觉 */
.world-mini[data-game="emotionWeather"] .live-stage{background:linear-gradient(160deg,#fdeedd 0%,#fbdce6 46%,#e7d7f7 100%)!important;overflow:hidden}
.world-mini[data-game="emotionWeather"] .live-stage:before{content:"";position:absolute;right:8%;top:10%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffe9a8,#f6c65c 70%);box-shadow:0 0 60px rgba(246,198,92,.55);z-index:0}
.world-mini[data-game="emotionWeather"] .stage-words{background:rgba(255,255,255,.92)!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(210,150,140,.22)}
.world-mini[data-game="emotionWeather"] .mini-game-result{border-radius:24px;box-shadow:0 14px 30px rgba(210,150,140,.28);border:3px solid #fff}

/* 动物变身林：变身进度/角色卡主视觉 */
.world-mini[data-game="animalFriend"] .live-stage{background:radial-gradient(circle at 50% 40%,rgba(184,228,198,.55),rgba(117,191,150,.22) 60%,rgba(255,250,239,.18) 100%)!important;display:flex;align-items:center;justify-content:center}
.world-mini[data-game="animalFriend"] .mini-game-result{border-radius:50%!important;border:6px solid #fff!important;box-shadow:0 0 0 6px rgba(117,191,150,.35),0 18px 34px rgba(60,110,80,.28)!important;object-fit:cover}
.world-mini[data-game="animalFriend"] .stage-words{bottom:18px;top:auto!important;left:50%!important;transform:translateX(-50%);max-width:80%;text-align:center;background:rgba(255,255,255,.92)!important}

/* 六玩法进度点专属色 */
.world-mini[data-game="animalFriend"] .creation-progress i.current{background:#6fbf8f!important}
.world-mini[data-game="emotionWeather"] .creation-progress i.current{background:#ea897b!important}

/* v3精修：想象星滩/导演月谷/角色故事树 统一视觉语言校准 */
.film-frame{background:linear-gradient(160deg,rgba(157,218,246,.55),rgba(180,150,220,.4))!important}
.live-stage,.film-frame{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.memory-book{border:2px solid rgba(255,255,255,.7)}

/* v3 per-game visual identity enhancements (additive, non-functional) */
.world-mini[data-game="emotionWeather"] .live-stage:after{display:block!important;content:"";position:absolute;width:64px;height:26px;border-radius:40px;background:#fff;opacity:.85;box-shadow:74px 34px 0 -4px rgba(255,255,255,.7),150px 12px 0 -2px rgba(255,255,255,.55),-10px 70px 0 -6px rgba(255,255,255,.5);left:14%;top:26%;animation:driftCloud 14s ease-in-out infinite;z-index:0}
@keyframes driftCloud{0%,100%{transform:translateX(0)}50%{transform:translateX(24px)}}
.world-mini[data-game="emotionWeather"] .live-stage{display:flex;align-items:flex-end;justify-content:center;padding-bottom:8%}
.world-mini[data-game="emotionWeather"] .mini-game-result{position:relative!important;right:auto!important;bottom:auto!important;margin:0 auto;width:220px}

.world-mini[data-game="animalFriend"] .live-stage:before{content:"";position:absolute;inset:14% 30%;background:radial-gradient(circle,rgba(255,255,255,.5) 0 2px,transparent 3px) 0 0/18px 18px;opacity:.5;z-index:0;border-radius:50%;-webkit-mask:radial-gradient(circle,#000 60%,transparent 100%);mask:radial-gradient(circle,#000 60%,transparent 100%)}
.world-mini[data-game="animalFriend"] .mini-game-result{outline:3px dashed rgba(255,255,255,.7);outline-offset:6px}
.world-mini[data-game="animalFriend"] #miniGameStage:not(:has(.mini-game-result:not([hidden])))::after{content:"🐾";display:block;position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-size:64px;opacity:.35;z-index:0}
@keyframes fogPulse{0%,100%{opacity:.6}50%{opacity:1}}

/* v3 semantic mini-game visual layers */
.mini-theme-visual{position:absolute;inset:0;z-index:1;pointer-events:none}
.mini-theme-visual>div{display:none;position:absolute;inset:0}

.world-mini[data-game="emotionWeather"] .weather-visual{display:block}
.weather-sky-icons{position:absolute;inset:20% 11% auto;display:flex;justify-content:space-between;align-items:center}
.weather-sky-icons i{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;font-style:normal;font-size:32px;color:#fff;background:rgba(255,255,255,.25);border:2px solid rgba(255,255,255,.48);box-shadow:0 12px 30px rgba(126,89,135,.13);animation:weatherFloat 4s ease-in-out infinite}
.weather-sky-icons i:nth-child(2){animation-delay:-1s}.weather-sky-icons i:nth-child(3){animation-delay:-2s}.weather-sky-icons i:nth-child(4){animation-delay:-3s}
@keyframes weatherFloat{50%{transform:translateY(-12px) rotate(3deg)}}
.mood-horizon{position:absolute;left:8%;right:8%;bottom:9%;height:34%;border-radius:50% 50% 22px 22px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(137,121,173,.16));border:2px solid rgba(255,255,255,.32);box-shadow:inset 0 20px 50px rgba(255,255,255,.12)}
.mood-horizon:before{content:"";position:absolute;left:11%;right:11%;top:34%;height:10px;border-radius:99px;background:linear-gradient(90deg,#72bfd1,#f3cb5c,#ea897b,#8979ad);box-shadow:0 0 22px rgba(255,255,255,.5)}
.mood-horizon span{position:absolute;left:50%;top:58%;transform:translateX(-50%);white-space:nowrap;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.72);font-size:12px;font-weight:900;color:#786a82}

.world-mini[data-game="animalFriend"] .animal-visual{display:block}
.transform-orbit{position:absolute;left:50%;top:47%;width:330px;height:330px;transform:translate(-50%,-50%);border:2px dashed rgba(255,255,255,.65);border-radius:50%;animation:orbitSpin 24s linear infinite}
@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.transform-orbit i{position:absolute;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 12px 26px rgba(59,118,84,.16);font-size:12px;font-weight:1000;color:#56846b;font-style:normal}
.transform-orbit i:nth-child(1){left:50%;top:-36px;transform:translateX(-50%)}.transform-orbit i:nth-child(2){right:-24px;bottom:50px}.transform-orbit i:nth-child(3){left:-24px;bottom:50px}
.animal-card-core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:210px;height:270px;border-radius:48% 48% 30px 30px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(238,248,240,.78));border:5px solid rgba(255,255,255,.9);box-shadow:0 24px 60px rgba(48,108,72,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.animal-card-core b{display:grid;place-items:center;width:100px;height:120px;border-radius:50% 50% 42% 42%;background:linear-gradient(150deg,#e8d5a1,#d6b7e8);color:#fff;font-size:64px;text-shadow:0 5px 10px rgba(90,65,100,.18)}
.animal-card-core span{font-size:13px;font-weight:1000;color:#56846b}
.clue-stars{position:absolute;left:7%;right:7%;top:8%;display:flex;justify-content:center;gap:16px}
.clue-stars i{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.62);font-size:11px;font-weight:900;font-style:normal}
.clue-stars i:first-child{background:rgba(137,121,173,.48);color:#fff;box-shadow:0 0 20px rgba(137,121,173,.42)}
.mystery-cloud{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:grid;place-items:center;width:280px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),rgba(255,255,255,.025) 70%);border:2px dashed rgba(255,255,255,.18);color:rgba(255,255,255,.16);font-size:150px;font-weight:1000;filter:drop-shadow(0 20px 35px rgba(0,0,0,.24));animation:mysteryBreathe 3.8s ease-in-out infinite}
@keyframes mysteryBreathe{50%{transform:translate(-50%,-50%) scale(1.05);filter:drop-shadow(0 25px 45px rgba(137,121,173,.25))}}

@media(max-width:900px){.transform-orbit{width:240px;height:240px}.animal-card-core{width:160px;height:205px}.animal-card-core b{width:78px;height:90px;font-size:48px}.weather-sky-icons i{width:48px;height:48px;font-size:24px}.mystery-cloud{width:210px;height:145px;font-size:105px}}
