/* v7: a quiet, illustrated game lobby and readable child-sized controls. */
:root{--v7-ink:#10263b;--v7-paper:#fff3d9;--v7-gold:#edca85;--v7-line:#f1d39733;--ink:#213849;--ink2:#526672}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#244555 0,transparent 48%),#0e2132;color:#fff3d9;font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif}.hidden,[hidden]{display:none!important}button{font-family:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible,[role=link]:focus-visible{outline:3px solid #e6b954;outline-offset:5px}svg{width:24px;height:24px;flex-shrink:0}
.shell{width:min(1240px,calc(100% - 64px));max-width:1240px}.app-header{padding:24px 0;gap:24px;align-items:center}.brand{cursor:pointer;gap:13px}.brand-icon{width:42px;height:42px;background:none;border:1px solid #dabc7880;color:#eac780;box-shadow:none;border-radius:50%}.brand small{color:#cbb78f;font-size:9px;letter-spacing:.23em}.brand strong{color:#fff1d7;font-size:17px;line-height:1.7}.top-actions{gap:10px}.v7-guardian{display:flex;align-items:center;gap:9px;color:#d7dcd7;background:transparent;border:1px solid #e6c9873b;padding:10px 15px;border-radius:11px;font-size:13px}.v7-guardian svg{width:19px;height:19px}.v7-guardian:hover{background:#ffffff0b}
.v7-hero{position:relative;min-height:520px;border-radius:26px;isolation:isolate;overflow:hidden;border:1px solid #e9c88755;background:#213e48;box-shadow:0 22px 80px #030e1955}.v7-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/stage-0.webp') center 48%/cover no-repeat;filter:saturate(.72)}.v7-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10283bf5 0,#132e40ed 27%,#183a4666 65%,#1735413d),linear-gradient(0deg,#10283bea,transparent 40%)}
.v7-hero-copy{position:relative;z-index:2;width:54%;padding:53px 0 105px 58px}.v7-eyebrow{font-size:13px;letter-spacing:.09em;color:#f0d5a1;display:flex;align-items:center;gap:12px}.v7-eyebrow:before{content:"";width:25px;height:1px;background:#dbbe7e}.v7-hero h1{color:#fff5df;line-height:1.18;font-size:58px;letter-spacing:-.065em;margin:25px 0 19px;font-weight:850;text-shadow:0 4px 22px #05172266}.v7-hero h1 em{font-style:normal;color:#f3d293}.v7-hero-copy>p{font-size:16px;line-height:1.85;color:#d8e1dd;margin:0 0 28px;font-weight:400}.v7-start{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:275px;min-height:62px;padding:17px 24px;border:1px solid #ffe7b7;border-radius:12px;background:linear-gradient(120deg,#f4d798,#e9bd6d);color:#273743;font-weight:850;font-size:21px;box-shadow:0 4px 0 #8d7044,0 10px 24px #030f2340;transition:filter .16s,transform .16s}.v7-start:hover{filter:brightness(1.07);transform:translateY(-2px)}.journey-status{display:block;color:#cbd5d0;font-size:12px;margin-top:15px}.v7-hero-character{position:absolute;right:2%;bottom:65px;width:45%;height:440px;display:flex;align-items:flex-end;justify-content:center}.v7-hero-character canvas{position:absolute;width:min(100%,480px);height:auto;bottom:3px;filter:drop-shadow(0 15px 18px #001c2a33)}.hero-ring{position:absolute;width:77%;aspect-ratio:1;border:1px solid #fff1c837;border-radius:50%;bottom:46px;background:radial-gradient(circle,#ffeeb32b,transparent 68%);box-shadow:0 0 0 18px #f7e9ac06,0 0 0 19px #f7e9ac13}.hero-ring:after{content:"✦";position:absolute;right:11%;top:6%;color:#f5dca2;font-size:22px}.hero-name{position:absolute;bottom:0;font-size:10px;letter-spacing:.2em;color:#e7d8b2;display:flex;align-items:center;gap:12px}.hero-name b{letter-spacing:0;font-size:12px;font-weight:500;border-left:1px solid #ddceae5c;padding-left:12px}.v7-hero-bottom{position:absolute;inset:auto 0 0;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 33px;background:#0c2235bd;border-top:1px solid #e0c89122;color:#c9d4d3;font-size:12px;backdrop-filter:blur(8px)}.v7-hero-bottom>span:first-child{color:#ebd2a2}
.v7-home-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:21px}.v7-home-nav>button{display:flex;align-items:center;gap:18px;min-height:106px;width:100%;background:#193145;border:1px solid #a2b7ba30;border-radius:17px;color:#fff0d4;text-align:left;padding:24px;transition:background .18s,transform .18s}.v7-home-nav>button:hover{background:#223e51;transform:translateY(-2px)}.v7-home-nav svg{width:33px;height:33px;color:#dfc28a}.v7-home-nav span{flex:1}.v7-home-nav strong{font-size:17px;display:block;letter-spacing:-.04em}.v7-home-nav small{display:block;font-size:12px;font-weight:400;color:#afc2c6;margin-top:8px}.v7-home-nav b{color:#b9c6c6;font-size:19px;font-weight:400}.footer-note{border:0;color:#8da4ad;font-size:10px;letter-spacing:.02em;margin:0;padding:23px 0 22px;text-align:center}
.v7-view{padding-bottom:10px}.v7-view-head{display:flex;flex-direction:column;gap:25px;margin:8px 0 30px}.v7-back{align-self:flex-start;border:0;background:transparent;color:#c5d5d9;padding:7px 0;font-size:13px}.v7-view-head h1{font-size:33px;letter-spacing:-.06em;color:#fff2d8;margin:0 0 10px;font-weight:800}.v7-view-head p{color:#adc4c9;margin:0;font-size:14px}.v7-view-head h1:focus{outline:none}.menu-stage-section{margin:0}.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.stage-card{position:relative;display:flex;align-items:flex-end;min-height:385px;padding:25px 20px;border:1px solid #e4c28266;border-radius:20px;box-shadow:none;background-size:cover;background-position:center;text-align:left;overflow:hidden;color:#fff6e5}.stage-card:before,.stage-card:after{display:none}.stage-card .chapter-number{position:absolute;left:20px;top:20px;font-size:35px;font-weight:300;color:#fff6dfbd}.stage-card>div{z-index:1;width:100%}.stage-card>div>small{display:block;font-size:9px;letter-spacing:.19em;color:#edcc8e}.stage-card strong{display:block;font-size:21px;line-height:1.4;margin:10px 0 6px}.stage-card p{font-size:12px;line-height:1.8;color:#cad9d6;min-height:44px;margin:0 0 19px}.stage-card .tag{position:static;display:block;padding:10px 9px;border:1px solid #e6c68860;background:#102b3cc9;border-radius:9px;font-size:11px;color:#f6dfb3;line-height:1.6;text-align:center}.stage-card.locked{opacity:.65;filter:saturate(.25)}.stage-card:not(:disabled):hover{border-color:#f4d79e;transform:translateY(-3px)}
.v7-wardrobe-layout{display:grid;grid-template-columns:38% 1fr;gap:28px;align-items:start}.custom-panel{background:#1b3749;border:1px solid #e3c58242;box-shadow:none;border-radius:20px;padding:20px}.preview-box{background:transparent;border:0;outline:0;box-shadow:none;border-radius:15px;overflow:hidden;aspect-ratio:440/310;min-height:0}.preview-box canvas{width:100%;height:auto;display:block}.animation-controls{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 0;justify-content:center}.animation-controls button{min-height:38px;border-radius:8px;padding:8px 10px;background:#102a3d;color:#bdd2d5;border:1px solid #78979e55;font-size:11px}.animation-controls button[aria-pressed=true]{background:#e8cc91;color:#253543;border-color:#f5dca5}.v7-wardrobe-picks h2,.v7-section-title h2{font-size:18px;margin:0 0 16px;color:#fff0d2}.v7-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.v7-section-title span{font-size:12px;color:#bdcbd0;margin-bottom:16px}#costumeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:27px}.costume-card{position:relative;display:flex;flex-direction:column;align-items:center;background:#1a3547;border:1px solid #829b9f4d;border-radius:14px;color:#f1e8d4;padding:6px 5px 15px;overflow:hidden}.costume-card[aria-pressed=true]{border:2px solid #e5c381;background:#2a4550;padding:5px 4px 14px}.costume-card canvas{display:block;width:100%;max-width:165px;aspect-ratio:1}.costume-card strong{font-size:13px;margin:3px 0 7px}.costume-card small{font-size:10px;color:#bccdce}.costume-card:disabled canvas{filter:grayscale(1);opacity:.42}.costume-card:disabled{background:#172c3e}.lock-mark{position:absolute;right:8px;top:8px;padding:4px 6px;font-size:9px;background:#0a1b2cd9;border-radius:5px;color:#d0d9d6}.v7-weapon-picks{display:flex;gap:10px}.v7-weapon-picks button{flex:1;padding:15px 8px;background:#193547;border:1px solid #728e925c;border-radius:12px;color:#e5e6da}.v7-weapon-picks button[aria-pressed=true]{background:#e9cb8e;color:#223745;border-color:#ffdf9e}.v7-weapon-picks small{display:block;font-size:10px;margin-top:7px;opacity:.8}.v7-muted{color:#aabec3;font-size:12px;line-height:1.8}
.v7-parent-summary{padding:18px 21px;margin-bottom:22px;border:1px solid #e2c78b33;border-radius:12px;color:#ead1a0;background:#1c3747;font-size:14px}.v7-parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v7-parent-tile{position:relative;border:1px solid #9ab2b747;border-radius:17px;background:#1c3649;color:#fff1d8;min-height:130px;text-align:left;padding:25px}.v7-parent-tile strong{display:block;font-size:20px}.v7-parent-tile span{display:block;margin-top:11px;font-size:13px;color:#b5c8cc}.v7-parent-tile>b{position:absolute;right:24px;top:50px;font-size:21px;color:#d9c295}.v7-parent-tile:hover{background:#274253}.v7-parent-bottom{display:flex;gap:12px;margin-top:22px}.v7-parent-bottom .btn{background:#162d40;color:#d5dfdc;border:1px solid #a6b6b447}.v7-parent-note{color:#9bb3bc;font-size:12px;line-height:1.8;margin-top:25px}
.v7-playing .app-header,.v7-playing .footer-note{display:none}.v7-playing .shell{width:min(1200px,calc(100% - 36px))}.game-bar{padding:12px 2px;margin:0;align-items:center;min-height:56px}.game-bar h2{font-size:16px;color:#f1dfbc}.game-bar small{display:none}.game-buttons{gap:8px}.game-buttons .btn{padding:9px 14px;background:#203a4b;border:1px solid #e4c78a40;color:#eadbbf;border-radius:9px;font-size:12px;min-height:38px}.game-frame{border:1px solid #d7bf8a7a;border-radius:15px;box-shadow:none;max-width:min(100%,calc((100dvh - 168px)*1.785714));margin:auto}.game-frame canvas{display:block;width:100%;height:auto}.game-section{padding:0}#mobileControls{max-width:1000px;margin:13px auto 0;display:flex;justify-content:space-between;flex-wrap:nowrap;gap:10px}#mobileControls .control-group{display:flex;gap:7px}#mobileControls .ctl{height:49px;min-width:52px;padding:9px 12px;background:#1c3b4d;border:1px solid #b9c6bc4d;color:#f3e3c4;box-shadow:0 3px 0 #071a29;border-radius:12px;font-size:12px}#mobileControls .ctl.primary{background:#e6c68a;color:#253b44;border-color:#f7db9f}#mobileControls .ctl.wide{min-width:69px}#mobileControls .ctl[data-pressed='1']{background:#f2d896;color:#20384b;transform:translateY(2px)}.v7-key-guide{color:#a7c0c7;font-size:11px;text-align:center;margin:17px auto}.v7-key-guide summary{cursor:pointer;display:list-item;list-style-position:inside;padding:4px}.v7-key-guide .game-tip{color:#b5c9cc;font-size:11px;line-height:1.8;margin:9px 0}.save-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fee6b2;color:#513f2d;padding:14px 20px;border-radius:12px;margin:10px 0;font-size:13px}.save-notice>span{flex:1}
.overlay{background:#061725b8;backdrop-filter:blur(8px);padding:24px}.modal{border:1px solid #e8cb8b;background:#fff9ed;border-radius:22px;color:#253b49;box-shadow:0 24px 100px #020c2d99;max-height:90dvh;width:min(720px,100%)}.modal.banner{width:min(950px,100%)}.modal-top{background:#1b3a4b;padding:25px 30px;border-bottom:1px solid #e4c58b5e}.modal-top .sub{font-size:12px;color:#c5d7d5}.modal-top h2{font-size:25px;line-height:1.35;color:#fff1d6;letter-spacing:-.045em;margin:8px 36px 0 0}.modal-close{right:19px;top:20px;width:36px;height:36px;border-radius:10px;padding:0;background:#ffffff0b;border:1px solid #d5d5c440;color:#e6e5d8}.modal-body{padding:26px 30px}.btn{box-shadow:none;text-shadow:none;border-radius:10px;min-height:40px;font-size:13px}.btn.primary{background:#e9c780;color:#273a46;border:1px solid #ba974f;box-shadow:0 2px 0 #c4a569}.btn.secondary,.btn.dark{background:#e9eee7;color:#304e53;border:1px solid #bdcdc2}.modal .text-muted{font-size:13px;line-height:1.8}.modal input,.modal textarea,.modal select{color:#263f48}.modal[data-kind=quiz]{width:min(760px,100%)}.modal[data-kind=quiz] .modal-top h2{font-size:29px}.quiz-scene{display:block;background:#f0eadc;border:1px solid #ddd3bd;border-radius:15px;padding:21px 24px;margin:0 0 20px;min-height:80px}.quiz-scene p{font-size:20px;line-height:1.8;margin:0;color:#263e46;font-weight:600;word-break:keep-all}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0}.quiz-opt{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:79px;background:#fffef7;border:1px solid #c8cebd;border-bottom:3px solid #b7c2b2;border-radius:13px;color:#29434b;font-size:23px;text-align:left;padding:17px;font-weight:800;letter-spacing:-.025em}.quiz-opt:hover:not(:disabled){background:#fbebc3;border-color:#c29d52}.answer-num{display:inline-grid;place-items:center;flex-shrink:0;border:1px solid #cdd4c5;border-radius:7px;width:28px;height:29px;font-size:12px;background:#f0f2e9;color:#5b756c}.quiz-opt:disabled{opacity:1}.quiz-opt.answer-correct{background:#dff0df;border-color:#589c7c;color:#214e3e}.quiz-opt.wrong{background:#fae3df;border-color:#c98179;color:#7b3c37}.penalty-note{font-size:12px;line-height:1.7;color:#778276;margin:17px 0 0}.quiz-source{margin-bottom:12px;font-size:12px;color:#567260}.feedback{border-radius:13px;padding:18px;font-size:14px;line-height:1.75}.feedback strong{font-size:19px}.feedback-next{width:100%;min-height:48px}.modal-actions .btn{min-height:44px;padding:12px 18px}.pause-note{margin:0 0 20px;color:#62766d}.pause-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pause-menu>.btn:first-child{grid-column:1/-1;min-height:55px;font-size:17px}.pause-menu>.btn:last-child{grid-column:1/-1}.book-grid{max-height:none;overflow:visible;gap:13px}.book-entry{padding:17px;border-radius:13px}.book-entry strong{font-size:21px}.book-entry p{font-size:14px}.book-tools{flex-wrap:wrap;gap:15px;margin-bottom:18px}.book-tools input{min-height:38px}.v6-form-modal>.modal-actions{background:#f4eedf;padding:16px 24px}.v6-settings-links{padding:15px 25px;margin:0}.toast{z-index:100001;background:#152e3f;color:#fff1d5;border:1px solid #dcc48d;font-size:13px;max-width:90vw}
@media(max-width:1000px){.shell{width:calc(100% - 40px)}.v7-hero-copy{padding-left:38px}.v7-hero h1{font-size:49px}.v7-hero-character{right:0;width:46%}.v7-home-nav>button{padding:21px 17px;gap:13px}.v7-home-nav strong{font-size:15px}.v7-home-nav small{font-size:11px}.stages{grid-template-columns:1fr 1fr}.stage-card{min-height:310px}.v7-wardrobe-layout{grid-template-columns:36% 1fr;gap:18px}.custom-panel{padding:13px}#costumeGrid{gap:8px}}
@media(max-width:650px){.shell{width:calc(100% - 28px)}.app-header{padding:18px 0;gap:10px}.brand{gap:9px}.brand-icon{width:34px;height:34px}.brand strong{font-size:14px}.brand small{font-size:7px;letter-spacing:.14em}.v7-guardian{padding:9px;font-size:11px;gap:6px}.v7-guardian svg{width:17px;height:17px}.v7-hero{min-height:660px;border-radius:21px}.v7-hero:after{background:linear-gradient(180deg,#112b40ef,#15394b89 56%,#112b40d9)}.v7-hero-copy{padding:31px 27px 0;width:100%}.v7-eyebrow{font-size:11px}.v7-hero h1{font-size:43px;line-height:1.13;margin:18px 0 14px}.v7-hero-copy>p{font-size:13px;line-height:1.7;margin-bottom:20px}.v7-start{min-width:0;width:100%;min-height:55px;padding:14px 20px;font-size:18px}.journey-status{font-size:10px;margin-top:12px}.v7-hero-character{width:100%;height:285px;bottom:70px;right:0;pointer-events:none}.v7-hero-character canvas{width:300px;max-width:100%;bottom:0}.hero-ring{width:225px;bottom:20px}.hero-name{bottom:-1px;font-size:8px}.hero-name b{font-size:10px}.v7-hero-bottom{min-height:58px;padding:12px 20px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;font-size:10px}.v7-home-nav{grid-template-columns:1fr;gap:10px;margin-top:14px}.v7-home-nav>button{min-height:81px;padding:17px 20px;gap:18px;border-radius:13px}.v7-home-nav svg{width:27px;height:27px}.v7-home-nav strong{font-size:16px}.v7-home-nav small{margin-top:5px}.v7-view-head{gap:19px;margin-bottom:24px}.v7-view-head h1{font-size:28px}.v7-view-head p{font-size:12px;line-height:1.8}.stages{gap:12px}.stage-card{min-height:280px;padding:18px 13px;border-radius:15px}.stage-card strong{font-size:17px}.stage-card p{font-size:11px}.stage-card .tag{font-size:10px;padding:8px 4px}.stage-card .chapter-number{font-size:28px;left:14px;top:14px}.v7-wardrobe-layout{grid-template-columns:1fr;gap:25px}.custom-panel{max-width:430px;margin:auto;padding:15px}.v7-wardrobe-picks h2{font-size:17px}#costumeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.costume-card small{font-size:8px}.costume-card strong{font-size:12px}.v7-parent-grid{grid-template-columns:1fr;gap:12px}.v7-parent-tile{min-height:108px;padding:21px}.v7-parent-tile strong{font-size:18px}.v7-parent-tile>b{top:39px}.v7-parent-summary{font-size:12px;line-height:1.8}.v7-playing .shell{width:calc(100% - 16px)}.game-bar{min-height:53px;padding:8px 0}.game-bar h2{font-size:13px}.game-buttons .btn{font-size:10px;padding:8px 10px;min-height:35px}.game-buttons{gap:5px}.game-frame{max-width:100%;border-radius:10px}#mobileControls{gap:5px;margin-top:12px}#mobileControls .control-group{gap:4px}#mobileControls .ctl{height:46px;min-width:34px;padding:5px 7px;font-size:10px;border-radius:9px}#mobileControls .ctl.wide{min-width:48px}.v7-key-guide{margin:17px 0}.overlay{padding:12px}.modal{max-height:92dvh;border-radius:17px}.modal-top{padding:22px 20px}.modal-top h2,.modal[data-kind=quiz] .modal-top h2{font-size:23px}.modal-body{padding:20px}.quiz-scene{padding:17px;margin-bottom:16px}.quiz-scene p{font-size:17px;line-height:1.75}.quiz-options{gap:9px}.quiz-opt{font-size:18px;min-height:68px;padding:12px 10px;gap:8px}.answer-num{width:22px;height:24px;font-size:10px}.penalty-note{font-size:11px}.modal-actions .btn{flex:1}.v6-form-modal>.modal-actions{padding:13px 17px;gap:9px}.book-entry p{font-size:13px}.footer-note{font-size:9px;padding:22px 0}.save-notice{padding:12px;font-size:12px}}
@media(max-height:560px) and (orientation:landscape){.v7-playing .shell{width:calc(100% - 20px)}.game-bar{min-height:38px;padding:3px 0}.game-bar h2{font-size:12px}.game-buttons .btn{padding:5px 10px;min-height:29px}.game-frame,:root:fullscreen .game-frame{max-width:calc((100dvh - 98px)*1.785714);border-radius:9px}#mobileControls{margin-top:7px;max-width:900px}#mobileControls .ctl{height:42px;min-width:47px}.v7-key-guide{display:none}.modal{max-height:94dvh}.modal-top{padding:15px 22px}.modal-body{padding:19px 23px}.quiz-scene{padding:14px;margin-bottom:12px}.quiz-scene p{font-size:17px}.quiz-opt{min-height:55px;font-size:19px;padding:11px}.modal-top h2,.modal[data-kind=quiz] .modal-top h2{font-size:23px}.v7-hero{min-height:445px}.v7-hero-copy{padding-top:32px}.v7-hero h1{font-size:43px}.v7-hero-character{height:340px;bottom:65px}.v7-hero-character canvas{width:370px}}
:root:fullscreen .v7-key-guide{display:none}:root:fullscreen .game-frame{max-width:calc((100dvh - 110px)*1.785714)}:root:fullscreen .game-bar{min-height:40px}:root:fullscreen #mobileControls{margin:9px auto 0}:root:fullscreen #mobileControls .ctl{height:43px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.v7-start,.v7-home-nav>button,.stage-card{transition:none}}

.costume-card:disabled{opacity:1}
