:root{color-scheme:light;--ink:#594752;--muted:#94828d;--pink:#c97d9a;--pink-deep:#a95479;--line:#eadfe2;--cream:#fffcf8;--gold:#b99a5d;--serif:'Noto Serif SC','Songti SC','STSong',serif;--sans:'Nunito','Avenir Next','PingFang SC','Microsoft YaHei',sans-serif;font-family:var(--sans);color:var(--ink);background:#fcf8f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 16%,#f9edf3 0,transparent 32%),radial-gradient(ellipse at 90% 85%,#f4eee2 0,transparent 36%),#fcf8f4;min-width:320px;font-size:14px;line-height:1.6}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ad87c8;outline-offset:4px}button,a{touch-action:manipulation}button:not(:disabled){transition:background .2s,box-shadow .2s,transform .2s}a{color:var(--pink-deep);text-decoration-thickness:1px;text-underline-offset:3px}p,h1,h2,h3{margin:0}svg{display:block;max-width:100%}.icon{width:21px;height:21px;flex-shrink:0;display:inline-block;vertical-align:middle}button .icon{pointer-events:none}.site-header{height:104px;padding:0 max(28px,calc((100vw - 1380px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fffdf9e8}.brand{display:flex;align-items:center;gap:13px;text-align:left;flex-shrink:0;padding:0}.brand-mark{width:49px;height:49px;display:grid;place-items:center;border:1px solid #d5b574;border-radius:16px 16px 19px 19px;background:linear-gradient(145deg,#fff8e5,#f7e8bd);box-shadow:inset 0 0 0 4px #fff9e7,0 3px 0 #e6d5ac;color:#b7904b;transform:rotate(-5deg)}.brand-mark .icon{width:29px;height:29px}.brand strong{font:600 19px var(--serif);letter-spacing:.05em;display:block}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#ac8d83;margin-top:7px}.main-nav{display:flex;gap:7px;align-self:stretch;align-items:center}.nav-button{position:relative;display:flex;align-items:center;gap:7px;padding:13px 16px;border-radius:100px;color:#97848d;font-size:13px}.nav-button.active{color:var(--pink-deep);background:#faedf2;font-weight:800}.nav-button.active:after{content:'';position:absolute;bottom:-14px;width:5px;height:5px;border-radius:100%;background:var(--pink);left:calc(50% - 2px)}.header-tools{display:flex;align-items:center;gap:11px}.jewel-wallet{display:flex;align-items:center;gap:8px;padding-right:14px;margin-right:3px;border-right:1px solid var(--line);color:#bb9859}.jewel-wallet b{font-size:19px}.jewel-wallet small{font-size:11px;color:var(--muted)}.icon-button{height:44px;width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#a18a94;flex-shrink:0}.icon-button:hover{background:#f7eaf0}.page{max-width:1380px;margin:auto;padding:42px 34px 28px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.2em;color:#b79a87;line-height:1.6}.eyebrow>span{font-size:14px;color:#c5a668;margin-right:6px}h1{font:600 29px/1.65 var(--serif);letter-spacing:.04em;margin:7px 0 5px}h1 em{font-style:normal;color:var(--pink-deep)}.page-heading p{font-size:12px;color:var(--muted);letter-spacing:.03em}.course-picker{display:flex;align-items:center;gap:15px;background:#fffdfb;border:1px solid #e6d9da;border-radius:14px;padding:13px 17px;text-align:left;min-width:230px;box-shadow:0 3px 0 #efe6e4}.course-picker>.icon:first-child{color:#bda16a}.course-picker strong{display:block;font-size:13px;font-weight:800}.course-picker small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.course-picker>.icon:last-child{width:15px;margin-left:auto}.atelier-layout{display:grid;grid-template-columns:202px minmax(280px,1fr) 292px;gap:25px;align-items:start}.course-rail{padding-top:2px}.rail-heading{padding:0 12px 15px;border-bottom:1px solid var(--line);margin-bottom:13px}.rail-heading>span{font:600 15px var(--serif);display:block}.rail-heading>small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.unit-navigation{display:flex;flex-direction:column;gap:6px}.unit-nav{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:13px 10px;border-radius:13px;position:relative;min-height:78px}.unit-nav.selected{background:#f7e6ed;box-shadow:inset 0 0 0 1px #eed1dd}.unit-number{width:29px;height:29px;display:grid;place-items:center;border:1px solid #dacbcc;border-radius:50%;font-size:11px;color:#aa929b;flex-shrink:0;background:#fffaf6}.unit-nav.selected .unit-number{background:var(--pink);border-color:var(--pink);color:white}.unit-number .icon{width:16px}.unit-nav>span:nth-child(2){min-width:0;flex:1}.unit-nav small{display:block;font-size:8px;color:#b397a0;letter-spacing:.12em;font-weight:800}.unit-nav strong{display:block;font-size:12px;line-height:1.35;font-weight:800;margin:3px 0;overflow-wrap:anywhere}.unit-nav em{font-size:9px;color:#a28c95;font-style:normal}.unit-nav>.icon{width:12px;height:12px;color:#beaab5}.unit-nav.locked:not(.selected){opacity:.65}.rail-note{font-size:10px;line-height:1.9;color:#ad9d9e;padding:16px 9px}.rail-note .icon{width:14px;margin-right:4px}.princess-stage{position:relative;min-height:594px;background:radial-gradient(ellipse at 50% 100%,#f8eadc,#fffaf6 60%);border:1px solid #eddfd5;border-radius:150px 150px 22px 22px;overflow:hidden;text-align:center;padding:30px 12px 19px;box-shadow:inset 0 0 0 6px #fffaf3,0 10px 30px #b9877520}.stage-caption{position:relative;z-index:2}.stage-caption h2{font:600 20px var(--serif);letter-spacing:.08em}.stage-caption p{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#b59a91;margin-top:7px}.stage-progress{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#ae8d71;margin-top:9px;background:#fffdf9c9;padding:4px 12px;border-radius:50px}.stage-progress .icon{width:13px;height:13px}.stage-arch{position:relative;height:411px;margin:8px 0 0;isolation:isolate}.stage-arch:before{content:'';position:absolute;inset:0 0 -28px;border-radius:130px 130px 0 0;background:linear-gradient(#fff8f365,#fff8f325),url('./assets/royal/scenes/palace.webp') center/cover;opacity:.8;z-index:-2}.arch-trim{position:absolute;inset:3px 12% 0;border:1px solid #c7a88d68;border-bottom:none;border-radius:170px 170px 0 0;z-index:-1}.princess-portrait{height:420px;position:relative;z-index:1}.princess-portrait>svg{width:100%;height:100%;filter:drop-shadow(0 7px 6px #9d728818)}.stage-plinth{position:absolute;bottom:-6px;left:17%;right:17%;height:27px;border-radius:50%;background:linear-gradient(#f6e8d9,#e0c7aa);box-shadow:0 6px 0 #ebd7c4,0 12px 18px #c6a89622;z-index:-1}.arch-spark{position:absolute;color:#c4a369;font-size:30px;z-index:2;animation:sparkle 4s infinite;pointer-events:none}.spark-a{left:10%;top:33%}.spark-b{right:8%;top:13%;font-size:18px;animation-delay:1s}.spark-c{right:13%;bottom:21%;font-size:23px;animation-delay:2s}.stage-label{font-size:11px;color:#a28b82;margin-top:22px;position:relative;z-index:2}.stage-label .icon{width:13px;height:13px;margin-right:5px}.jewel-sidebar{padding-top:7px}.jewel-card{background:#fffdfb;border:1px solid #ecdce2;border-radius:23px;padding:23px 22px 18px;box-shadow:0 8px 30px #a97b8b0c}.jewel-card-label{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.13em;color:#bd93a3}.jewel-card-label .icon{width:15px}.jewel-card h2{font:600 19px var(--serif);margin:10px 0 5px}.jewel-card>p{font-size:11px;color:var(--muted)}.jewel-box-art{margin:18px auto 15px;position:relative;width:174px;height:174px;padding:10px;border:2px solid #cfa9ba;border-radius:22px;background:linear-gradient(135deg,#f2dce6,#e9c5d4);box-shadow:inset 0 0 0 4px #fbedf2,0 8px 0 #d9b7c6,0 13px 18px #ae7a8d20;transform:rotate(-3deg)}.jewel-box-art:before,.jewel-box-art:after{content:'';position:absolute;top:-5px;height:9px;width:20px;background:#d5b079;border:1px solid #be985d;border-radius:4px}.jewel-box-art:before{left:32px}.jewel-box-art:after{right:32px}.jewel-box-hinge{position:absolute;bottom:-10px;left:calc(50% - 12px);height:15px;width:24px;background:linear-gradient(#e3c493,#b28b51);border-radius:3px;box-shadow:inset 0 0 0 3px #e3c493}.jewel-puzzle{border-radius:12px;width:100%;height:100%;overflow:hidden}.piece-progress{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:14px 0 7px}.piece-progress b{color:var(--pink)}.progress-track{height:5px;background:#f1e6e9;border-radius:8px;overflow:hidden}.progress-track>i{height:100%;display:block;background:linear-gradient(90deg,#deb1c2,#c583a0);border-radius:8px;transition:width .5s}.lesson-preview{border-top:1px dashed var(--line);margin-top:17px;padding-top:13px}.lesson-preview>span{font-size:11px;color:#a68c96}.lesson-preview>strong{display:block;font-size:11px;font-weight:800;margin:3px 0 6px}.lesson-preview p{font-size:10px;color:var(--muted);line-height:1.8;min-height:32px}.primary-button{background:linear-gradient(135deg,#cf8ca6,#bd6e91);color:#fff;border:1px solid #b56487;box-shadow:0 4px 0 #a6597c,0 7px 16px #c7789320;min-height:49px;padding:12px 21px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:800;letter-spacing:.04em;font-size:13px}.primary-button:hover{filter:brightness(1.03);transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #a6597c}.primary-button:disabled{background:#dfd2d7;border-color:#d4c4cb;box-shadow:0 3px 0 #c8b8c0}.full-width{width:100%}.jewel-card .primary-button{margin-top:16px;font-size:12px;padding:12px 10px}.auto-hint{display:flex;align-items:center;justify-content:center;gap:4px;font-size:9px;color:#ac94a0;margin-top:13px}.auto-hint .icon{width:11px;height:11px}.learning-promise{display:flex;gap:11px;align-items:center;padding:22px 10px;color:#b69975}.learning-promise>span{font-size:25px}.learning-promise p{font-size:10px;line-height:1.9;color:#a49186}.learning-promise b{font-weight:500}.wardrobe-section{margin-top:38px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-heading h2{font:600 21px var(--serif);margin-top:4px}.section-heading h2>span{color:#c9aa74;font-size:26px;vertical-align:middle;margin-left:8px}.section-heading>span{font-size:11px;color:var(--muted)}.segmented-control{display:flex;border-radius:30px;padding:4px;background:#f0e9e8;border:1px solid #e9dfdf}.segmented-control button{padding:8px 17px;border-radius:24px;color:#a18a94;font-size:11px}.segmented-control button.active{color:var(--pink-deep);background:#fffdfb;box-shadow:0 2px 6px #aa899818}.wardrobe-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.jewel-tile{text-align:center;border:1px solid #e9dfe2;border-radius:16px;padding:12px 12px 15px;background:#fffdfb;min-width:0}.jewel-tile:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 7px 16px #a8798711}.jewel-tile.equipped{border-color:#d4a8b9;box-shadow:inset 0 0 0 2px #faeaf1}.jewel-tile-image{height:126px;background:radial-gradient(#fbf2ec,transparent);position:relative;margin-bottom:9px}.jewel-tile-image>svg{height:100%;width:100%}.jewel-tile-image.unowned>svg{opacity:.25;filter:grayscale(.8)}.jewel-tile>strong{font-size:11px;display:block;overflow-wrap:anywhere;font-weight:800}.jewel-tile>span{font-size:9px;color:#aa939e;display:block;margin-top:5px}.equipped-check,.jewel-lock{position:absolute;right:0;top:0;background:#cf92aa;color:white;width:22px;height:22px;display:grid;place-items:center;border-radius:50%}.equipped-check .icon,.jewel-lock .icon{width:13px;height:13px}.jewel-lock{background:#f0e9ed;color:#ac99a6}.empty-wardrobe{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:20px;min-height:150px;border:1px dashed #dfcdd7;border-radius:16px;color:#ac929f;text-align:center;font-size:12px}.empty-wardrobe>.icon{width:42px;height:42px;color:#ccb382}.site-footer{max-width:1312px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 0 28px;border-top:1px solid var(--line);font-size:9px;color:#b09c9f;flex-wrap:wrap}.site-footer .icon{width:13px;height:13px;margin-right:5px}.site-footer>button{font-size:10px;padding:8px 0}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 4px;font-size:12px;color:#ae7b94}.text-button .icon{width:17px;height:17px}.secondary-button,.small-button{border:1px solid #e2d3d9;border-radius:11px;background:#fffafc;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;min-height:44px;font-size:12px}.secondary-button .icon{width:17px;height:17px}.small-button{padding:6px 12px;min-height:38px;color:var(--pink-deep)}.gallery-tally{display:flex;gap:15px;align-items:center;color:#bd9d63}.gallery-tally>.icon{width:36px;height:36px}.gallery-tally strong{font:600 40px var(--serif)}.gallery-tally span{font-size:11px;color:#aa948e;line-height:1.8}.princess-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.princess-card{text-align:left;background:#fffdfb;border:1px solid #e8dce1;border-radius:100px 100px 20px 20px;overflow:hidden;padding:23px 18px 20px;position:relative}.princess-card:hover{transform:translateY(-5px);box-shadow:0 14px 26px #b48a981b}.princess-card-top{display:flex;justify-content:space-between;align-items:center;padding:11px 12px 0;gap:10px;font-size:10px;color:#a18d98;position:relative;z-index:1}.princess-card-top .icon{width:17px;height:17px;color:var(--royal)}.gallery-portrait{height:276px;position:relative;background:radial-gradient(ellipse,var(--royal-pale),transparent 68%);margin:8px -10px -2px}.gallery-portrait>svg{height:100%;width:100%;position:relative;z-index:1}.gallery-portrait:before{content:'';position:absolute;inset:5px 12% 10px;border:1px solid #e8d8de;border-radius:100px 100px 8px 8px}.portrait-spark{position:absolute;right:12%;top:18%;font-size:24px;color:var(--royal);opacity:.7}.princess-card-info{text-align:center;padding:12px 1px 0}.princess-card-info small{font-size:8px;color:#af919c;letter-spacing:.16em;text-transform:uppercase}.princess-card-info h2{font:600 18px var(--serif);margin:6px 0}.princess-card-info p{font-size:10px;color:#a58e9a}.princess-card-info .progress-track{margin:14px 8px 0;height:3px}.silhouette-card{background:#f8f4f8;border-style:dashed}.silhouette-card .gallery-portrait>svg{opacity:.23}.silhouette-card .gallery-portrait{background:radial-gradient(#ede3f0,transparent 65%)}.silhouette-card .portrait-spark{color:#bfaac8}.crowned{border-color:#d5b87e}.gallery-note{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;color:#a18d99;font-size:11px;margin:28px 0}.gallery-note>.icon{width:17px;color:#c4a573}.record-actions{display:flex;gap:8px}.learning-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.learning-summary>div{border:1px solid #e8dce2;background:#fffdfb;padding:23px;border-radius:17px;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center}.learning-summary .icon{width:29px;height:29px;grid-row:1/3;color:#cca0b1}.learning-summary strong{font-size:30px;line-height:1.2;color:#a96e8b;font-weight:700}.learning-summary span{font-size:11px;color:var(--muted);margin-top:8px}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:27px}.record-list{border:1px solid var(--line);border-radius:20px;padding:26px;background:#fffdfb}.record-list h2{font-size:19px}.word-record{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #f0e8e9}.word-record-check{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eef5ef;color:#8daa94}.word-record-check .icon{width:16px}.word-record>div{flex:1;min-width:0}.word-record strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.word-record>div>span{font-size:11px;color:var(--muted)}.word-record>small{text-align:right;font-size:9px;color:#b19ea5;max-width:140px}.storage-card{padding:25px 23px;border:1px solid #e2dfcf;background:#fbfaf3;border-radius:20px;align-self:start;color:#978b79}.storage-card>.icon{width:30px;height:30px;color:#baa77f}.storage-card h2{font:600 18px var(--serif);margin:13px 0}.storage-card p,.storage-card li{font-size:11px;line-height:1.9}.storage-card ul{padding-left:17px;margin:16px 0}.storage-limit{border-top:1px dashed #ddd4bf;padding-top:14px}.storage-card .text-button{margin-top:12px}.legacy-note{border-top:1px solid #e2dacc;margin-top:13px;padding-top:14px}.legacy-note strong,.legacy-note span{display:block;font-size:11px}.legacy-note span{margin-top:5px}.legacy-note p{margin-top:7px}.empty-records{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;text-align:center}.empty-records>.icon{width:45px;height:45px;color:#d0b3c1}.empty-records h3{font:500 18px var(--serif)}.empty-records p{font-size:12px;color:var(--muted)}
/* The spelling scene keeps each new puzzle fragment beside the answer. */
.game-page{padding-top:24px}.game-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.game-topbar>span{font-size:11px;color:#a18a97}.game-topbar i{font-style:normal;margin:0 10px;color:#d8c6d0}.game-topbar .game-level{background:#f0e7ed;border-radius:30px;padding:6px 13px;font-size:10px}.game-layout{max-width:1110px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 267px;gap:28px;align-items:start}.word-panel{background:#fffdfb;border:1px solid #e8d7e1;border-radius:27px;padding:25px 32px 0;box-shadow:0 9px 35px #b0829710;overflow:hidden;min-height:585px;display:flex;flex-direction:column}.word-panel-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#af96a2}.lesson-tag{background:#f5edf4;border-radius:30px;padding:5px 11px;color:#b18b9f;font-size:10px}.word-position strong{font-size:15px;color:var(--pink-deep);margin:0 3px}.word-dots{display:flex;gap:5px;margin-top:14px}.word-dots i{height:4px;border-radius:3px;flex:1;background:#f2e8ed}.word-dots i.done{background:#c693aa}.word-dots i.current{background:linear-gradient(90deg,#cdb1d9,#eddcea)}.word-prompt{text-align:center;padding-top:24px}.prompt-emblem{margin:0 auto 13px;display:grid;place-items:center;background:#faf0f2;border:1px solid #f0dee5;color:#c794a8;border-radius:18px;width:54px;height:54px;transform:rotate(-7deg);box-shadow:inset 0 0 0 4px #fffaf9}.prompt-emblem>.icon{height:30px;width:30px;transform:rotate(7deg)}.word-prompt .eyebrow{font-size:8px;letter-spacing:.18em}.word-prompt h1{font:600 29px/1.4 var(--serif);margin:12px 0 8px;overflow-wrap:anywhere}.word-prompt p{font-size:11px;color:#ac94a1}.spelling-board{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:0;row-gap:10px;margin:25px -13px 23px}.spelling-word{display:inline-flex;gap:5px;justify-content:center;max-width:100%;flex-wrap:wrap}.word-space{width:18px}.letter-slot{height:55px;min-width:39px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:31px;font-weight:800;line-height:1;background:#f3eeee;color:#9b8592;border-bottom:3px solid #e3d7df;padding:0 7px}.letter-slot.blank{background:#fff;border:2px dashed #d6b8cb;color:#b56e94;min-width:43px;box-shadow:0 3px 0 #f2e5ee}.letter-slot.filled{border:2px solid #c997b4;background:#fbf1f7}.letter-slot.incorrect{background:#fde7e9;border-color:#df9ba9;animation:shake .3s}.letter-slot.correct{border-style:solid;border-color:#92b7a5;background:#eff7ee;color:#659980;box-shadow:0 3px 0 #d4e6d7}.letter-slot.punctuation{min-width:12px;padding:0 2px;border:0;background:none}.slot-dot{width:6px;height:6px;background:#d9bfd0;border-radius:50%}.long-spelling .letter-slot{min-width:31px;font-size:25px;height:49px;padding:0 5px}.long-spelling .letter-slot.blank{min-width:34px}.long-spelling .spelling-word{gap:4px}.letter-bank{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;max-width:530px;align-self:center;margin-bottom:15px}.letter-tile{background:linear-gradient(#fff8e9,#f7edd5);color:#ac8c53;border:1px solid #e1cc9e;border-bottom:3px solid #d8be88;border-radius:11px;width:48px;height:51px;font-size:22px;font-weight:900;box-shadow:0 3px 5px #a5804110}.letter-tile:hover{transform:translateY(-3px);background:#fff3cc}.letter-tile:disabled{opacity:.25;box-shadow:none;border-bottom-width:1px}.answer-feedback{min-height:23px;text-align:center;font-size:11px;color:#b098a4}.word-actions{display:flex;align-items:center;justify-content:center;gap:17px;margin:10px 0 27px}.word-actions .secondary-button{border-radius:30px;font-size:11px}.word-actions .text-button{font-size:11px}.transition-panel{border-top:1px dashed #ecdee6;background:#faf5f7;margin:auto -32px 0;padding:18px 23px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#b09aa5;min-height:65px}.transition-panel>.icon{width:15px;height:15px;color:#c3aab7}.transition-panel.active{background:#f0f5ef;border-color:#dce5d9;justify-content:unset;color:#718c79;padding:19px 23px;gap:14px}.countdown-badge{height:50px;width:50px;display:grid;place-items:center;border:1px solid #b5cbb0;box-shadow:inset 0 0 0 4px #f8fbf5;border-radius:50%;font-size:26px;font-weight:800;color:#779b71;background:#e2edde;flex-shrink:0}.transition-copy{flex:1;min-width:0}.transition-copy strong{display:block;font-size:13px}.transition-copy span{font-size:10px;display:block;margin-top:4px;color:#90a38f}.transition-controls{display:flex;gap:3px}.transition-controls .icon-button{color:#89a180}.transition-controls .icon-button:hover{background:#e1ecdc}.answer-reveal{text-align:center;margin:0 0 28px}.answer-reveal strong{display:block;font-size:26px;color:#72a087;font-weight:800}.answer-reveal span{display:block;font-size:13px;color:#8da38f;margin-top:5px}.is-solved .prompt-emblem{background:#f0f6ef;color:#8bb099;border-color:#d7e4d7}.is-solved .word-prompt h1{color:#648a73}.live-reward{display:flex;flex-direction:column;gap:17px}.live-jewel{border:1px solid #e5d4e0;background:#fffcfe;border-radius:22px;padding:18px 22px 13px;box-shadow:0 5px 17px #9d7d8b0a}.live-jewel-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px}.live-jewel-heading>span{font-weight:800}.live-jewel-heading>strong{color:var(--pink);font-size:16px;white-space:nowrap}.live-jewel-heading small{font-weight:500;color:#b098a6;font-size:10px}.live-jewel-art{width:154px;height:154px;margin:17px auto;border:6px solid #efdce7;border-radius:19px;outline:1px solid #dab8cc;box-shadow:0 6px 0 #dcbdd1;transform:rotate(2deg)}.live-jewel>p{font-size:10px;text-align:center;color:#af92a3;margin-top:10px}.live-princess{position:relative;height:257px;background:radial-gradient(var(--royal-pale),#fffaf9);border:1px solid #e8d9e1;border-radius:90px 90px 18px 18px;overflow:hidden;padding-bottom:30px}.live-princess>div{height:100%;width:100%;padding-top:4px}.live-princess svg{height:100%;width:100%}.live-princess>span{position:absolute;bottom:13px;left:10px;right:10px;text-align:center;font:600 12px var(--serif);color:#aa889d}.live-princess small{display:block;font:9px var(--sans);color:#b09caa;margin-top:4px}.piece-reveal{animation:reveal .8s ease-out;transform-origin:center}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);max-width:min(90vw,590px);width:max-content;padding:13px 23px;background:#655060ee;border:1px solid #957686;color:#fffafc;font-size:12px;line-height:1.7;box-shadow:0 8px 30px #56405422;border-radius:16px;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:120;overflow:hidden}.glitter{position:absolute;left:var(--x);top:-25px;width:8px;height:12px;border-radius:2px;animation:confetti-fall var(--duration) var(--delay) ease-in forwards}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:#67506440;backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fffdf9;width:510px;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;border-radius:27px;padding:37px 35px 30px;box-shadow:0 25px 90px #6146582b;border:1px solid #eddfe4;position:relative;text-align:left;outline:none}.close-modal{position:absolute;right:10px;top:10px;width:39px;height:39px;z-index:1}.modal>.eyebrow{text-align:center;font-size:8px}.modal h2{font:600 23px/1.6 var(--serif);text-align:center;margin:9px 0 11px}.modal-description{font-size:12px;line-height:1.9;color:var(--muted);text-align:center}.modal-emblem{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:1px solid #d7b980;background:linear-gradient(#fff7e5,#f5e6c6);border-radius:20px;box-shadow:inset 0 0 0 5px #fff9eb;color:#b49a61;transform:rotate(-6deg)}.modal-emblem>.icon{width:32px;height:32px}.semester-modal{width:660px;padding-top:30px}.semester-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:23px 0 16px}.semester-option{text-align:left;display:flex;gap:11px;align-items:center;padding:12px;border:1px solid #e8dce1;border-radius:13px;background:#fffdfb}.semester-option.selected{background:#fcf0f5;border-color:#ce97b0;box-shadow:0 0 0 1px #ce97b0}.semester-gem{width:35px;height:39px;display:grid;place-items:center;border-radius:11px;flex-shrink:0}.semester-gem>.icon{width:22px;height:22px}.semester-option>span:nth-child(2){flex:1}.semester-option strong{font-size:12px;display:block}.semester-option small{font-size:9px;display:block;color:#a28c99;margin-top:3px}.semester-option>.icon{width:16px;height:16px;color:var(--pink)}.selected-book-note{text-align:center;font-size:11px;color:#a88496;line-height:1.8;background:#f9f3f6;border-radius:12px;padding:9px 13px;margin-bottom:16px}.selected-book-note span{display:block;color:#b19aa6;font-size:10px}.modal-footnote{text-align:center;font-size:9px;line-height:1.9;color:#b29ca7;margin-top:17px}.name-setting{display:flex;align-items:center;gap:10px;font-size:12px;color:#9f8694;margin:22px 0}.name-setting input{min-width:0;width:150px;flex:1;border:1px solid #e4d5df;border-radius:10px;padding:9px 12px;background:#fffafc;color:var(--ink);font-size:14px}.settings-list{margin:8px 0 20px}.setting-row{display:flex;align-items:center;gap:12px;border-top:1px solid #efe5ea;padding:17px 0}.setting-icon{display:grid;place-items:center;width:34px;height:34px;background:#f8edf3;border-radius:11px;color:#bd8ba4;flex-shrink:0}.setting-row>span:nth-child(2){flex:1}.setting-row strong{display:block;font-size:12px}.setting-row small{display:block;font-size:10px;color:#a88f9f;margin-top:4px}.toggle{width:42px;height:25px;padding:3px;border-radius:20px;background:#d8ced7;flex-shrink:0}.toggle>i{display:block;height:19px;width:19px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #5b365524;transition:transform .2s}.toggle.on{background:#c58ba5}.toggle.on>i{transform:translateX(17px)}.countdown-explainer{border:1px dashed #dfcfdb;background:#fbf5f8;border-radius:12px;padding:13px 16px;margin:18px 0;color:#a18899;font-size:11px;line-height:1.9}.countdown-explainer strong{font-size:11px;color:#ae7997}.countdown-explainer p{font-size:10px;margin-top:7px}.settings-course{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;border-top:1px solid var(--line);font-size:10px;color:#a38999;gap:10px}.settings-course span{display:flex;align-items:center;gap:6px}.settings-course .icon{width:16px;height:16px}.coverage-modal{width:650px}.coverage-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:23px}.coverage-list>div{padding:14px;background:#faf4f7;border:1px solid #ecdee5;border-radius:12px}.coverage-list strong{display:block;font-size:12px}.coverage-list span,.coverage-list p{display:block;font-size:10px;color:#a58b9c;margin-top:5px;line-height:1.8}.coverage-list a{font-size:10px;display:block;margin-top:6px}.princess-detail-modal{width:460px}.princess-detail-art{height:350px;background:radial-gradient(var(--royal-pale),transparent 66%);margin:7px auto}.princess-detail-art svg{height:100%;width:100%}.princess-detail-modal .primary-button{margin-top:20px}.locked-princess-note{font-size:11px;background:#f5eef8;color:#a18ca9;padding:14px 16px;border-radius:13px;margin-top:15px;line-height:1.9;text-align:center}.locked-princess-note>.icon{width:15px}.unavailable-princess{height:400px;opacity:.15;display:flex;justify-content:center}noscript{padding:30px;display:block;text-align:center}
@keyframes sparkle{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes reveal{0%{opacity:0;filter:brightness(3)}40%{opacity:1;filter:brightness(1.6)}100%{filter:brightness(1)}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes confetti-fall{to{transform:translate(var(--drift),105vh) rotate(var(--angle));opacity:.1}}
@media(min-width:1400px){.atelier-layout{grid-template-columns:217px minmax(280px,1fr) 317px;gap:32px}.princess-stage{min-height:616px}.stage-arch{height:432px}.princess-portrait{height:444px}.jewel-card{padding:25px}.jewel-box-art{width:183px;height:183px}.jewel-tile-image{height:142px}}
@media(max-width:1150px){.site-header{padding:0 24px;gap:15px;height:92px}.brand strong{font-size:17px}.brand small{font-size:8px}.brand-mark{width:44px;height:44px}.main-nav{gap:0}.nav-button{padding:11px 12px;font-size:12px}.header-tools{gap:3px}.jewel-wallet small{display:none}.page{padding:31px 25px 25px}.atelier-layout{grid-template-columns:165px minmax(240px,1fr) 260px;gap:18px}.unit-nav{gap:8px;padding:12px 8px}.unit-nav strong{font-size:11px}.unit-number{width:25px;height:25px;font-size:10px}.jewel-card{padding:19px 17px}.princess-stage{min-height:577px}.stage-arch{height:399px}.princess-portrait{height:404px}.stage-caption h2{font-size:18px}.jewel-card h2{font-size:18px}.wardrobe-grid{gap:12px}.jewel-tile-image{height:103px}.site-footer{margin:0 25px}.princess-gallery{gap:15px}.gallery-portrait{height:240px}.princess-card{padding:20px 12px 16px}.princess-card-top{padding:11px 7px 0;font-size:9px}.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}.word-panel{padding:24px 24px 0}.transition-panel{margin-left:-24px;margin-right:-24px}.word-prompt h1{font-size:27px}.record-layout{grid-template-columns:minmax(0,1fr) 260px}.learning-summary>div{padding:19px;grid-template-columns:30px 1fr}.learning-summary span{font-size:10px}}
@media(max-width:900px){.site-header{height:auto;min-height:106px;flex-wrap:wrap;gap:0;padding:17px 24px 0}.brand{flex:1}.header-tools{margin-left:auto}.main-nav{order:3;width:100%;justify-content:center;margin-top:9px;gap:20px}.nav-button{padding:11px 22px;margin-bottom:10px}.nav-button.active:after{bottom:-6px}.page{padding-top:28px}.page-heading h1{font-size:24px}.page-heading{gap:16px}.course-picker{min-width:209px;padding:10px 12px;gap:10px}.atelier-layout{grid-template-columns:minmax(0,1fr) 275px;gap:20px}.course-rail{grid-column:1/-1;padding:0}.rail-heading,.rail-note{display:none}.unit-navigation{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:9px;scrollbar-width:thin}.unit-nav{width:157px;flex-shrink:0;min-height:67px;padding:11px;gap:9px;border:1px solid #ecdee4;border-radius:12px;background:#fffdfa}.unit-nav strong{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.unit-nav>.icon{display:none}.unit-nav em{font-size:8px}.princess-stage{min-height:560px}.stage-arch{height:383px}.princess-portrait{height:390px}.jewel-sidebar{padding-top:0}.wardrobe-grid{grid-template-columns:repeat(4,1fr);gap:13px}.jewel-tile-image{height:119px}.princess-gallery{grid-template-columns:repeat(2,1fr);gap:22px}.gallery-portrait{height:316px}.princess-card{border-radius:120px 120px 22px 22px;padding:26px 20px 20px}.princess-card-top{padding:12px 15px 0;font-size:11px}.princess-card-info h2{font-size:21px}.learning-summary{grid-template-columns:repeat(2,1fr)}.learning-summary>div{padding:20px 25px;grid-template-columns:40px 1fr}.record-layout{grid-template-columns:1fr}.storage-card{display:block}.game-layout{grid-template-columns:minmax(0,1fr) 207px;gap:17px}.word-panel{padding:21px 22px 0;min-height:550px}.transition-panel{margin-left:-22px;margin-right:-22px}.word-prompt h1{font-size:25px}.letter-slot{font-size:26px;height:49px;min-width:31px;padding:0 5px}.letter-slot.blank{min-width:35px}.spelling-word{gap:4px}.letter-tile{width:44px;height:46px;font-size:20px}.letter-bank{gap:7px}.word-actions{gap:10px}.live-jewel{padding:16px 15px 12px}.live-jewel-heading>span{font-size:10px}.live-jewel-art{width:140px;height:140px}.live-jewel>p{font-size:9px}.live-princess{height:245px}.transition-panel.active{gap:9px;padding:16px 15px}.transition-copy strong{font-size:11px}.transition-copy span{font-size:9px}.countdown-badge{width:41px;height:41px;font-size:23px}.transition-controls{flex-direction:column;gap:0}.transition-controls .icon-button{width:40px;height:35px}.game-topbar>span{font-size:10px}.game-topbar i{margin:0 5px}.gallery-tally strong{font-size:32px}.gallery-tally>.icon{width:27px}.gallery-tally span{font-size:10px}.gallery-tally{gap:10px}}
@media(max-width:600px){body{font-size:13px}.site-header{padding:15px 17px 0;min-height:106px}.brand{gap:10px}.brand-mark{width:37px;height:39px;border-radius:12px}.brand-mark .icon{width:24px;height:24px}.brand strong{font-size:15px;letter-spacing:.02em}.brand small{font-size:6px;letter-spacing:.18em;margin-top:5px}.header-tools{gap:0}.header-tools>.icon-button{width:35px;height:39px}.header-tools>.icon-button>.icon{width:19px;height:19px}.jewel-wallet{gap:4px;margin-right:3px;padding-right:8px}.jewel-wallet .icon{width:16px;height:16px}.jewel-wallet b{font-size:14px}.main-nav{margin-top:9px;gap:2px;justify-content:space-between}.nav-button{font-size:11px;gap:6px;padding:9px 15px;margin-bottom:9px}.nav-button .icon{width:17px;height:17px}.page{padding:24px 17px 24px}.page-heading{flex-wrap:wrap;gap:17px;margin-bottom:20px}.page-heading .eyebrow{font-size:7px;letter-spacing:.17em}.page-heading h1{font-size:23px;line-height:1.65;margin:5px 0}.page-heading p{font-size:11px;line-height:1.8}.course-picker{padding:10px 14px;min-width:0;width:100%;border-radius:12px;gap:10px}.course-picker span{display:flex;align-items:center;gap:11px}.course-picker strong{font-size:11px;white-space:nowrap}.course-picker small{font-size:9px;margin:0}.course-picker>.icon{width:17px;height:17px}.atelier-layout{grid-template-columns:minmax(0,1fr) 160px;gap:13px}.unit-navigation{padding-bottom:6px;margin:0 -17px;padding-left:17px;padding-right:17px}.unit-nav{width:146px;min-height:65px}.princess-stage{min-height:363px;border-radius:80px 80px 17px 17px;padding:20px 6px 14px;box-shadow:inset 0 0 0 4px #fffaf3,0 5px 12px #b9877510}.stage-caption h2{font-size:15px;letter-spacing:0}.stage-caption p{font-size:6px;letter-spacing:.1em;margin-top:5px}.stage-progress{font-size:7px;padding:3px 7px;gap:3px;margin-top:7px}.stage-progress .icon{width:10px;height:10px}.stage-arch{height:230px;margin-top:5px}.princess-portrait{height:248px;width:calc(100% + 19px);margin-left:-9px}.arch-trim{inset:5px 4% 0}.stage-arch:before{inset:0 -6px -15px}.stage-plinth{left:8%;right:8%;height:15px;bottom:-6px;box-shadow:0 4px 0 #ebd7c4}.arch-spark{font-size:19px}.spark-b{font-size:14px}.spark-c{font-size:16px}.stage-label{font-size:8px;line-height:1.8;margin:22px 4px 0}.stage-label .icon{width:10px;height:10px}.jewel-card{padding:13px 12px;border-radius:16px}.jewel-card-label{font-size:7px;gap:4px;letter-spacing:.02em}.jewel-card-label .icon{width:11px;height:11px}.jewel-card h2{font-size:14px;line-height:1.6;margin:7px 0 3px}.jewel-card>p{font-size:9px;line-height:1.8}.jewel-box-art{width:111px;height:111px;padding:7px;margin:14px auto 14px;border-radius:15px;box-shadow:inset 0 0 0 3px #fbedf2,0 5px 0 #d9b7c6,0 10px 12px #ae7a8d18}.jewel-box-art:before{left:18px}.jewel-box-art:after{right:18px}.jewel-box-art:before,.jewel-box-art:after{width:15px;height:7px;top:-4px}.jewel-box-hinge{width:18px;height:11px;left:calc(50% - 9px);bottom:-8px}.piece-progress{font-size:8px;margin:11px 0 5px}.lesson-preview{padding-top:9px;margin-top:11px}.lesson-preview>span{font-size:8px}.lesson-preview>strong{font-size:8px;line-height:1.7}.lesson-preview p{display:none}.jewel-card .primary-button{font-size:10px;padding:9px 6px;min-height:43px;gap:4px;margin-top:11px;border-radius:10px}.jewel-card .primary-button .icon{width:14px;height:14px}.auto-hint{font-size:7px;line-height:1.7;margin-top:10px;gap:3px}.auto-hint .icon{display:none}.learning-promise{display:none}.wardrobe-section{margin-top:27px}.section-heading h2{font-size:18px}.section-heading .eyebrow{font-size:7px;letter-spacing:.13em}.section-heading h2>span{font-size:22px;margin-left:3px}.segmented-control{padding:3px}.segmented-control button{font-size:9px;padding:7px 10px}.section-heading{gap:6px;margin-bottom:14px}.wardrobe-grid{grid-template-columns:repeat(3,1fr);gap:10px}.jewel-tile{padding:8px 7px 11px;border-radius:13px}.jewel-tile-image{height:86px;margin-bottom:5px}.jewel-tile>strong{font-size:9px;line-height:1.6}.jewel-tile>span{font-size:8px;margin-top:4px}.equipped-check,.jewel-lock{width:18px;height:18px}.site-footer{margin:0 17px;padding:19px 0 25px;gap:7px;font-size:8px;justify-content:center;text-align:center}.site-footer>.local-status{width:100%;order:3}.site-footer>button{font-size:8px}.site-footer .icon{width:11px;height:11px}.princess-gallery{gap:13px}.princess-card{padding:16px 10px 16px;border-radius:78px 78px 15px 15px}.princess-card-top{font-size:8px;padding:10px 5px 0;gap:0}.princess-card-top .icon{width:13px;height:13px}.gallery-portrait{height:207px;margin-top:8px}.princess-card-info{padding-top:7px}.princess-card-info small{font-size:6px;letter-spacing:.08em}.princess-card-info h2{font-size:15px;margin:5px 0}.princess-card-info p{font-size:8px;line-height:1.7;min-height:27px}.princess-card-info .progress-track{margin-top:8px}.gallery-tally{display:none}.gallery-note{font-size:10px;align-items:flex-start;line-height:1.9;margin-top:22px}.gallery-note .icon{margin-top:3px;flex-shrink:0}.record-actions{width:100%}.record-actions .secondary-button{flex:1;font-size:11px}.learning-summary{gap:10px;margin-bottom:19px}.learning-summary>div{padding:17px 12px;grid-template-columns:24px 1fr;column-gap:9px;border-radius:13px}.learning-summary .icon{width:23px;height:23px}.learning-summary strong{font-size:25px}.learning-summary span{font-size:8px}.record-list{padding:20px 17px}.record-list h2{font-size:17px}.record-list .section-heading>span{font-size:9px}.word-record{gap:8px}.word-record strong{font-size:14px}.word-record>div>span{font-size:10px}.word-record>small{font-size:8px;max-width:88px}.word-record>.icon-button{width:34px}.word-record-check{width:23px;height:23px;flex-shrink:0}.storage-card{padding:22px}.storage-card h2{font-size:17px}.game-page{padding:12px 13px 24px}.game-topbar{margin-bottom:12px;gap:8px;flex-wrap:wrap}.game-topbar>.text-button{font-size:10px;min-height:35px}.game-topbar>span:nth-child(2){font-size:9px;order:3;width:100%;border-top:1px solid #ecdee6;padding-top:8px}.game-topbar>.game-level{margin-left:auto;font-size:9px;padding:5px 10px}.game-layout{display:flex;flex-direction:column;gap:13px}.word-panel{width:100%;padding:18px 20px 0;border-radius:20px;min-height:469px;order:2}.word-panel-top{font-size:10px}.lesson-tag{font-size:9px;padding:4px 9px}.word-position strong{font-size:13px}.word-dots{margin-top:10px;gap:4px}.word-prompt{padding-top:19px}.prompt-emblem{width:41px;height:41px;border-radius:13px;margin-bottom:10px}.prompt-emblem>.icon{width:25px;height:25px}.word-prompt .eyebrow{font-size:7px}.word-prompt h1{font-size:25px;margin:10px 0 7px}.word-prompt p{font-size:10px;line-height:1.8}.spelling-board{margin:20px -10px}.letter-slot{min-width:29px;height:47px;font-size:27px;padding:0 4px}.letter-slot.blank{min-width:33px}.spelling-word{gap:4px}.long-spelling .letter-slot{min-width:24px;height:44px;font-size:23px;padding:0 3px}.long-spelling .letter-slot.blank{min-width:28px}.long-spelling .spelling-word{gap:3px}.word-space{width:12px}.letter-bank{gap:8px;margin-bottom:12px}.letter-tile{width:44px;height:46px;font-size:20px}.answer-feedback{font-size:10px;min-height:20px}.word-actions{margin:8px 0 19px;gap:13px}.word-actions .secondary-button{font-size:10px;min-height:42px;padding:8px 13px}.word-actions .text-button{font-size:10px}.word-actions .icon-button{width:39px}.transition-panel{margin-left:-20px;margin-right:-20px;padding:14px 10px;min-height:50px;font-size:9px}.transition-panel.active{padding:15px;gap:12px}.transition-copy strong{font-size:12px}.transition-copy span{font-size:9px}.transition-controls{flex-direction:row}.transition-controls .icon-button{width:37px;height:42px}.countdown-badge{width:43px;height:43px;font-size:24px}.answer-reveal{margin:2px 0 23px}.answer-reveal strong{font-size:24px}.answer-reveal span{font-size:12px}.live-reward{width:100%;flex-direction:row;gap:10px;order:1;height:122px}.live-jewel{flex:1;padding:11px 12px 10px;border-radius:16px;position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:1fr 5px 1fr;gap:3px 13px;min-width:0}.live-jewel-heading{grid-column:2;grid-row:1;display:block;padding-top:3px}.live-jewel-heading>span{font-size:10px;display:block;line-height:1.6}.live-jewel-heading>strong{font-size:17px;display:block;margin-top:1px}.live-jewel-art{grid-column:1;grid-row:1/4;width:80px;height:80px;margin:7px 0 0;border-width:4px;border-radius:12px}.live-jewel>.progress-track{grid-column:2;grid-row:2;margin-top:1px}.live-jewel>p{grid-column:2;grid-row:3;font-size:8px;line-height:1.8;text-align:left;margin-top:5px}.live-princess{height:122px;width:79px;flex-shrink:0;border-radius:40px 40px 14px 14px;padding-bottom:13px}.live-princess>div{padding-top:0;height:106px}.live-princess>span{font-size:8px;bottom:6px;left:3px;right:3px;line-height:1.5}.live-princess small{display:none}.modal-backdrop{padding:14px}.modal{padding:31px 22px 25px;max-height:calc(100dvh - 28px);border-radius:23px}.modal h2{font-size:20px}.modal-description{font-size:11px}.semester-modal{padding:25px 19px}.semester-modal>.eyebrow{font-size:6px;letter-spacing:.13em}.modal-emblem{width:48px;height:48px;border-radius:16px;margin-bottom:13px}.modal-emblem>.icon{width:29px;height:29px}.semester-options{gap:9px;margin:19px 0 14px}.semester-option{padding:10px 8px;gap:7px;border-radius:10px}.semester-gem{width:27px;height:33px;border-radius:9px}.semester-gem>.icon{width:18px;height:18px}.semester-option strong{font-size:10px}.semester-option small{font-size:7px;line-height:1.7;letter-spacing:-.02em}.semester-option>.icon{width:11px;height:11px}.selected-book-note{font-size:10px}.selected-book-note span{font-size:9px}.modal-footnote{font-size:8px;margin-top:14px}.semester-modal .primary-button{font-size:12px;min-height:47px}.name-setting{font-size:11px}.settings-row small{font-size:9px}.coverage-list{grid-template-columns:1fr}.coverage-list span,.coverage-list p{font-size:11px}.princess-detail-art{height:315px}.princess-detail-modal{width:390px}.toast{font-size:11px;bottom:20px;padding:12px 17px}.empty-wardrobe{font-size:10px;gap:12px;padding:20px;min-height:125px}.empty-wardrobe>.icon{width:31px;height:31px;flex-shrink:0}}
@media(max-width:370px){.site-header{padding-left:12px;padding-right:12px}.brand{gap:7px}.brand strong{font-size:13px}.brand small{font-size:5px}.header-tools>.icon-button{width:31px}.jewel-wallet{padding-right:5px}.page{padding-left:13px;padding-right:13px}.page-heading h1{font-size:20px}.page-heading p{font-size:10px}.course-picker span{gap:8px}.course-picker small{font-size:8px}.atelier-layout{grid-template-columns:minmax(0,1fr) 147px;gap:9px}.princess-stage{min-height:349px}.stage-caption h2{font-size:13px}.stage-arch{height:222px}.princess-portrait{height:231px}.stage-label{font-size:7px}.jewel-card{padding:12px 10px}.jewel-box-art{width:102px;height:102px}.jewel-card h2{font-size:13px}.jewel-card .primary-button{font-size:9px}.section-heading h2{font-size:17px}.segmented-control button{padding:7px 8px;font-size:8px}.jewel-tile-image{height:77px}.gallery-portrait{height:183px}.princess-card-info h2{font-size:14px}.princess-card-top{padding-left:0;padding-right:0;font-size:7px}.game-page{padding-left:10px;padding-right:10px}.live-jewel{grid-template-columns:70px minmax(0,1fr);gap:3px 9px;padding:11px 10px}.live-jewel-art{width:68px;height:68px;margin-top:11px}.live-princess{width:69px}.live-jewel-heading>span{font-size:9px}.live-jewel>p{font-size:7px}.live-jewel-heading>strong{font-size:16px}.word-panel{padding-left:16px;padding-right:16px}.transition-panel{margin-left:-16px;margin-right:-16px}.transition-panel.active{padding:13px 11px;gap:8px}.transition-copy strong{font-size:11px}.transition-copy span{font-size:8px}.transition-controls .icon-button{width:33px}.letter-slot{min-width:26px;font-size:24px;padding:0 3px}.letter-slot.blank{min-width:30px}.spelling-word{gap:3px}.semester-option{padding:9px 6px;gap:6px}.semester-gem{width:23px}.semester-option strong{font-size:9px}.semester-option small{font-size:6px}.semester-options{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.stage-caption>div>span{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#b59a91;display:block;margin-bottom:5px}
@media(max-width:600px){.stage-caption>div>span{font-size:6px;letter-spacing:.1em;margin-bottom:4px}}
.edition-chooser{margin:14px 0 16px;padding:13px;background:#fbf3f7;border:1px dashed #dfc7d6;border-radius:12px}.edition-chooser>strong{font-size:11px;display:block;text-align:center;margin-bottom:10px}.edition-chooser>div{display:flex;gap:9px}.edition-chooser button{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:10px;border:1px solid #e3d4df;background:#fffdfb;padding:9px 7px;border-radius:10px;min-height:44px}.edition-chooser button.selected{background:#f5e3ed;border-color:#c894ae;color:#a36187}.edition-chooser button span{font-size:8px;color:#a68c9d}.edition-chooser button>.icon{width:13px;height:13px}.edition-chooser>small{font-size:9px;display:block;text-align:center;color:#ad94a3;margin-top:9px}@media(max-width:600px){.edition-chooser{padding:10px}.edition-chooser>strong{font-size:10px}.edition-chooser button{font-size:9px}.edition-chooser>small{font-size:8px}.semester-modal .modal-emblem{display:none}}
@media(max-width:370px){.unit-navigation{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}}

/* Illustrated jewel workshop and the new generated character assets. */
.royal-character{position:relative;height:100%;width:auto!important;aspect-ratio:2/3;margin:0 auto;max-width:100%;isolation:isolate;overflow:visible}
.royal-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none;user-select:none}
.royal-character canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.royal-character.motion-ready>.royal-base{opacity:0}
.royal-silhouette{filter:brightness(0) saturate(0);opacity:.72}
.worn-jewel{position:absolute;object-fit:contain;transform:translate(-50%,-50%);z-index:3;pointer-events:none;filter:drop-shadow(0 0 3px #fff4cbbb);transition:opacity .3s}
.worn-cape{z-index:0}.worn-wand{z-index:4}
.royal-dust{position:absolute;z-index:4;width:4px;height:4px;background:#fff7ce;box-shadow:0 0 10px #ecb8ef;border-radius:50%;pointer-events:none;animation:royalDust 4s ease-in-out infinite}
.dust-one{left:20%;top:41%}.dust-two{right:13%;top:60%;animation-delay:1.7s}
.princess-stage{min-height:662px}.stage-arch{height:520px}.princess-portrait{height:535px;bottom:-5px}
.gallery-portrait .royal-character,.princess-detail-art .royal-character,.live-princess .royal-character{height:100%}
.princess-detail-art{height:min(61vh,580px)}
.jewel-tile-image .raster-jewel{width:100%;height:100%;padding:0;filter:drop-shadow(0 4px 7px #a9698b22)}
.jewel-tile-image.unowned{filter:grayscale(.75);opacity:.45}.jewel-tile.owned .jewel-tile-image{background:radial-gradient(ellipse,#fff6dd88,transparent 68%)}
.jewel-tile.owned:hover .raster-jewel{filter:drop-shadow(0 0 10px #d4b36466);transform:scale(1.06);transition:transform .25s,filter .25s}
.jewel-box-art,.live-jewel-art{background:none!important;border:0!important;outline:0!important;box-shadow:none!important;overflow:visible!important;border-radius:0!important;transform:none!important}
.jewel-box-art{width:100%;height:260px;margin:10px auto 16px}.jewel-box-hinge{display:none}
.jewel-workshop{position:relative;width:100%;height:100%;isolation:isolate;perspective:850px;overflow:visible}
.workshop-box{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;pointer-events:none;filter:drop-shadow(0 12px 12px #a6687d22);transform-origin:50% 76%}
.workshop-aura{position:absolute;left:21%;right:21%;top:19%;bottom:34%;z-index:1;border-radius:50%;background:radial-gradient(ellipse,#fff6eebb,transparent 70%);pointer-events:none;opacity:.55}
.jewel-assembly{position:absolute;width:64%;height:64%;left:18%;top:9%;z-index:2;overflow:visible;filter:drop-shadow(0 3px 6px #90558b22)}
.jewel-facet{transform-origin:120px 120px}.new-facet{animation:facetLanding 1s cubic-bezier(.16,.78,.29,1) both}
.workshop-revealing .workshop-aura{animation:jewelAura 1.35s ease-out}
.workshop-complete .jewel-assembly{filter:drop-shadow(0 0 10px #fff3c8) drop-shadow(0 4px 5px #81568044)}
.workshop-complete.workshop-revealing .workshop-box{animation:boxWake 1.4s ease-in-out}
.workshop-sparkles{position:absolute;inset:0;z-index:4;pointer-events:none;color:#fff8d0;text-shadow:0 0 8px #e5b962}
.workshop-sparkles i{position:absolute;font-style:normal;opacity:0;animation:jewelTwinkle 3s ease-in-out infinite;font-size:21px}
.workshop-sparkles i:nth-child(1){left:30%;top:21%}.workshop-sparkles i:nth-child(2){right:24%;top:39%;animation-delay:1.2s;font-size:29px}.workshop-sparkles i:nth-child(3){left:37%;top:60%;animation-delay:2.1s;font-size:15px}.workshop-sparkles i:nth-child(4){right:37%;top:12%;animation-delay:.6s;font-size:13px}
.craft-stages{position:absolute;left:12%;right:12%;bottom:-6px;display:flex;justify-content:center;gap:14px;z-index:5}
.craft-step{display:flex;align-items:center;flex-direction:column;gap:5px;min-width:23px;color:#b49aab}
.craft-step i{display:block;width:11px;height:11px;transform:rotate(45deg);border:1px solid #c4a1b6;background:#e5d5e0;box-shadow:inset 1px 1px 1px #fff8}
.craft-step small{font-size:9px;line-height:1;white-space:nowrap}.craft-step.lit{color:#926739}.craft-step.lit i{background:linear-gradient(135deg,#fff7b7,#eacb7b 45%,#b68951);border-color:#d2ac68;box-shadow:0 0 8px #eccd8588,inset 1px 1px 1px #fff}
.new-step i{animation:gemStep .7s ease-out}.live-jewel-art{width:100%;height:272px;margin:10px auto 15px}.live-jewel{overflow:visible}.live-princess>div{height:260px}.live-princess{overflow:hidden}
.letter-slot.blank{cursor:default;display:inline-flex;justify-content:center;align-items:center}.letter-slot.current-slot{border-color:#cdb275;box-shadow:0 3px 0 #e8d9b6,0 0 0 3px #f6e9ca66}
.letter-slot.filled{color:#8b619f;background:#f8f0ff;border-color:#d7c2e6}
.letter-tile:active:not(:disabled){transform:translateY(3px) scale(.92);box-shadow:0 1px 0 #d9c3d4}
.answer-feedback.encouraging{color:#9e688e;background:#fff0f7;border-radius:12px;padding:8px 12px;animation:gentleEncouragement .3s ease-out}
.word-actions{gap:22px}.word-actions .text-button{padding:10px 17px;border-radius:24px;background:#fff7e6;color:#9b7849}
.flying-letter{position:fixed;display:grid;place-items:center;font:800 24px var(--sans);color:#845fa0;background:linear-gradient(#fffdfb,#f7eaf7);border:1px solid #d9c0d5;border-radius:13px;box-shadow:0 6px 15px #ae6c9933;z-index:300;pointer-events:none}
.flying-letter.returns{color:#ab7190;border-color:#e6c6d7;background:#fff2f8}.jewel-flight{position:fixed;pointer-events:none;z-index:301;object-fit:contain;filter:drop-shadow(0 0 14px #fff0ac)}
@keyframes facetLanding{0%{opacity:0;transform:translate(var(--facet-x),var(--facet-y)) rotate(var(--facet-turn)) scale(.5)}45%{opacity:1}75%{transform:translate(0,-4px) rotate(0) scale(1.03)}100%{opacity:1;transform:none}}
@keyframes jewelAura{0%{opacity:.2;transform:scale(.7)}45%{opacity:1;transform:scale(1.35)}100%{opacity:.55;transform:scale(1)}}
@keyframes boxWake{0%,100%{transform:rotate(0)}25%{transform:rotate(-2deg) scale(1.02)}50%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}
@keyframes jewelTwinkle{0%,25%,75%,100%{opacity:0;transform:scale(.45) rotate(0)}50%{opacity:1;transform:scale(1) rotate(35deg)}}
@keyframes gemStep{0%{transform:rotate(45deg) scale(.5)}65%{transform:rotate(45deg) scale(1.5)}100%{transform:rotate(45deg) scale(1)}}
@keyframes gentleEncouragement{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes royalDust{0%,100%{opacity:0;transform:translateY(10px)}50%{opacity:.9;transform:translateY(-9px)}}
@media(max-width:1000px){.princess-stage{min-height:628px}.stage-arch{height:480px}.princess-portrait{height:495px}.jewel-box-art{height:233px}}
@media(max-width:680px){
 .atelier-layout{display:flex;flex-direction:column;gap:17px}.course-rail,.princess-stage,.jewel-sidebar{width:100%}.course-rail{order:0}.princess-stage{order:1;min-height:530px;padding-top:20px;border-radius:120px 120px 24px 24px}.stage-caption h2{font-size:20px}.stage-caption>div>span{font-size:8px}.stage-arch{height:405px}.princess-portrait{height:419px}.stage-label{font-size:10px}.jewel-sidebar{order:2}.jewel-card{padding:21px}.jewel-card h2{font-size:23px}.jewel-card>p{font-size:12px}.jewel-box-art{height:290px;max-width:310px}.jewel-card .primary-button{font-size:14px;min-height:50px}.learning-promise{display:block;font-size:11px;text-align:center}.jewel-card .auto-hint{font-size:10px}.craft-stages{gap:16px}.craft-step small{font-size:9px}
 .live-reward{height:205px;gap:10px}.live-jewel{padding:10px 11px 8px;display:flex;flex-direction:column;align-items:center;min-width:0}.live-jewel-heading{width:100%;padding:0;display:flex;gap:5px;justify-content:space-between;align-items:center}.live-jewel-heading>span{font-size:10px}.live-jewel-heading>strong{font-size:14px;margin:0;white-space:nowrap}.live-jewel-art{width:152px;height:143px;margin:0 auto 10px;flex-shrink:0}.live-jewel>.progress-track{width:100%;height:3px;margin:0}.live-jewel>p{font-size:8px;text-align:center;margin-top:3px}.live-jewel .craft-stages{bottom:-6px;gap:8px}.live-jewel .craft-step{min-width:16px;gap:3px}.live-jewel .craft-step small{font-size:6px}.live-jewel .craft-step i{width:7px;height:7px}.live-princess{width:110px;height:205px;padding:4px 0 21px;border-radius:55px 55px 16px 16px}.live-princess>div{height:181px;padding:0}.live-princess>span{font-size:9px;bottom:7px}.word-panel{padding-top:16px}.word-prompt{padding-top:11px}.word-prompt h1{margin-top:6px}.spelling-board{margin-top:16px;margin-bottom:17px}.answer-feedback.encouraging{font-size:10px;padding:7px 8px}.word-actions{gap:18px}.word-actions .text-button{padding:9px 13px}.princess-detail-art{height:380px}
}
@media(max-width:370px){.live-princess{width:93px}.live-jewel-art{width:139px;height:141px}.live-jewel-heading>span{font-size:9px}.jewel-card{padding:18px}.princess-stage{min-height:495px}.stage-arch{height:365px}.princess-portrait{height:382px}}
@media(prefers-reduced-motion:reduce){.royal-dust,.new-facet,.workshop-revealing .workshop-aura,.workshop-complete.workshop-revealing .workshop-box,.workshop-sparkles i,.new-step i{animation:none}.workshop-sparkles i{opacity:.5}}

.jewel-box-art::before,.jewel-box-art::after,.live-jewel-art::before,.live-jewel-art::after{display:none!important}

.royal-character{transform:scale(.94);transform-origin:50% 100%}

/* Keep the image and accessory coordinate plane identical in narrow portraits. */
.princess-portrait,.gallery-portrait,.princess-detail-art,.live-princess>div{container-type:size;display:flex;align-items:flex-end;justify-content:center}
.princess-portrait>.royal-character,.gallery-portrait>.royal-character,.princess-detail-art>.royal-character,.live-princess .royal-character{width:min(100cqw,66.6667cqh)!important;height:min(100cqh,150cqw)!important;flex:none;margin:0}

/* Keep the original game composition and feedback; only fit narrow screens. */
.spelling-word.wide-word{width:min(100%,calc(var(--letter-count)*43px));flex-wrap:nowrap}
.spelling-word.wide-word .letter-slot{flex:1;min-width:0;padding:0;font-size:clamp(18px,calc((100vw - 68px)/var(--letter-count)*.85),27px)}
@media(max-width:680px){
 .game-layout{display:flex;flex-direction:column;gap:16px}
 .live-reward{order:1;flex-direction:row;width:100%}
 .live-jewel{flex:1}
 .live-princess{flex-shrink:0}
 .word-panel{order:2;width:100%}
}
@media(min-width:601px) and (max-width:680px){
 .live-princess>div{height:160px}
}

/* Visible character movement and shared sparkle in both learning scenes. */
.royal-character:not(.royal-silhouette){--royal-float:clamp(4px,1.6cqw,9px);animation:royalHover 3.6s ease-in-out infinite}
.royal-aura{position:absolute;inset:12% 3% 4%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 64%,#ecd0ff80,transparent 64%);animation:royalAura 3.6s ease-in-out infinite}
.royal-bling{position:absolute;inset:0;z-index:5;pointer-events:none}
.royal-bling i{position:absolute;left:var(--star-x);top:var(--star-y);font-style:normal;font-size:clamp(18px,8cqw,34px);line-height:1;color:#fffde7;-webkit-text-stroke:.6px #e5ba78;text-shadow:0 0 5px #fff,0 0 11px #e8b3f4,0 0 17px #edbd71;opacity:.85;transform:translate(-50%,-50%);animation:royalBling 2.5s var(--star-delay) ease-in-out infinite}
.live-princess .royal-bling i{font-size:clamp(17px,8cqw,23px)}
@keyframes royalHover{0%,100%{transform:translateY(0) scale(.94)}50%{transform:translateY(calc(-1 * var(--royal-float))) scale(.94)}}
@keyframes royalAura{0%,100%{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@keyframes royalBling{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(calc(.55 * var(--star-size))) rotate(-15deg)}45%{opacity:1;transform:translate(-50%,-50%) scale(calc(1.15 * var(--star-size))) rotate(25deg)}75%{opacity:.55;transform:translate(-50%,-50%) scale(calc(.75 * var(--star-size))) rotate(45deg)}}

.princess-stage{padding-bottom:88px}
.princess-invitation{position:absolute;inset:0;z-index:8;border-radius:inherit;display:flex;align-items:flex-end;justify-content:center;padding:0 18px 18px;background:transparent}
.invitation-copy{display:flex;align-items:center;justify-content:center;gap:8px;width:min(100%,380px);min-height:52px;padding:12px 17px;background:linear-gradient(120deg,#fffdfbd9,#fbeafaad);backdrop-filter:blur(7px);border:1px solid #fffdf3;border-radius:18px;box-shadow:0 4px 20px #b985b128,inset 0 0 0 1px #edd5e4; color:color-mix(in srgb,var(--royal) 35%,#703467);font-size:14px;font-weight:800;line-height:1.6;transition:transform .2s,box-shadow .2s}
.princess-invitation:hover .invitation-copy{transform:translateY(-2px);box-shadow:0 6px 22px #bd88b742,inset 0 0 0 1px #d8b7d0}
.princess-invitation:active .invitation-copy{transform:translateY(1px) scale(.98)}
.princess-invitation:disabled{cursor:default}.princess-invitation:disabled .invitation-copy{opacity:.7}
.princess-stage .stage-label{pointer-events:none}

.jewel-sidebar .jewel-box-art{height:auto;min-height:245px;max-width:360px}
.jewel-case{width:100%}.case-filter{position:absolute;pointer-events:none}
.case-plane{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.case-box{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #b4799425)}
.case-treasure{position:absolute;left:var(--case-x);top:var(--case-y);width:26%;height:24%;transform:translate(-50%,-50%);z-index:2}
.case-many .case-treasure{width:21%;height:17%}
.case-treasure img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.case-color{opacity:0}.case-sketch{opacity:1}
.case-treasure.restored .case-color{opacity:1;filter:drop-shadow(0 0 5px #fff3ba) drop-shadow(0 0 8px #e5bbfa);animation:treasureGlow 2.8s var(--case-delay) ease-in-out infinite}
.case-treasure.restored .case-sketch{opacity:0}
.case-glint{position:absolute;left:64%;top:25%;font:normal 22px/1 var(--sans);color:#fff8cd;text-shadow:0 0 6px #df9eeb,0 0 12px #fff;animation:royalBling 2.5s var(--case-delay) ease-in-out infinite;--star-size:1}
.case-caption{font-size:11px;text-align:center;line-height:1.7;color:#99728c;margin-top:-4px}
@keyframes treasureGlow{0%,100%{filter:drop-shadow(0 0 3px #fff4bb) drop-shadow(0 0 4px #d5a5e4)}50%{filter:drop-shadow(0 0 8px #fff2b4) drop-shadow(0 0 11px #d5a5e4)}}
@media(max-width:680px){.princess-stage{padding-bottom:90px}.princess-invitation{padding:0 17px 17px}.invitation-copy{font-size:14px;min-height:52px}.jewel-sidebar .jewel-box-art{max-width:345px;min-height:0}}
@media(prefers-reduced-motion:reduce){.royal-character:not(.royal-silhouette),.royal-aura,.royal-bling i,.case-glint,.case-treasure.restored .case-color{animation:none!important}.royal-bling i{opacity:.8}.royal-aura{opacity:.65}}

/* Progress stays visible while spelling; finding and wearing are separate facts. */
.outfit-progress{width:100%;padding:12px 13px;background:#fffcf5;border:1px solid #e6d6d8;border-radius:17px}
.outfit-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;line-height:1.4}
.outfit-progress-heading strong{font-weight:700}.outfit-progress-heading b{font-size:16px;color:#ab668d}
.outfit-progress-heading button{padding:7px 0;color:#826384;font-size:10px;min-height:32px}.outfit-progress-heading button span{color:#b68b51}
.outfit-trail{display:flex;justify-content:space-between;gap:4px;list-style:none;padding:3px 0 6px;margin:7px 0 0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d9bdce transparent}
.outfit-stop{position:relative;flex:1 0 48px;min-width:48px;text-align:center;color:#aa969f;line-height:1.25}
.outfit-stop img{width:34px;height:34px;object-fit:contain;mix-blend-mode:multiply;opacity:.42}
.outfit-stop>span{display:block;font-size:9px;margin-top:3px;white-space:nowrap}
.outfit-stop>i{position:absolute;top:0;right:calc(50% - 24px);font:800 9px/15px var(--sans);min-width:15px;padding:0 2px;background:#f6ede8;border:1px solid #decfc7;border-radius:20px;color:#94687b}
.outfit-stop.found{color:#856038}.outfit-stop.found img{opacity:1;filter:drop-shadow(0 0 4px #e8c47b88)}.outfit-stop.found>i{color:#fff;background:#af956a;border-color:#fff}
.outfit-stop.current:not(.found) img{opacity:.8}.outfit-stop.current{border-radius:9px;background:#f3eafa}.outfit-stop.current>span{color:#815f9f;font-weight:800}
.progress-earned .outfit-stop.current{animation:progressPop .7s ease-out}
.word-win{display:flex;justify-content:center;align-items:center;gap:9px;color:#95602f;background:linear-gradient(100deg,#fff6db,#fcf0fd);padding:10px 14px;border:1px solid #edd6b3;border-radius:14px;margin:0 auto 12px;width:max-content;max-width:100%;font-weight:800;font-size:14px;animation:progressPop .55s cubic-bezier(.2,.8,.3,1)}
.word-win b{background:#fffdf5;border-radius:20px;padding:2px 8px;font-size:15px}.is-solved .prompt-emblem{box-shadow:0 0 0 9px #ead39122,0 0 25px #e6bb6750;animation:progressPop .5s ease-out}
@keyframes progressPop{0%{transform:scale(.82);opacity:.3}65%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
.live-princess>span small{display:block!important;font-size:10px;line-height:1.5;color:#957e91}
.worn-highlight{animation:wornRadiance 1.3s ease-in-out infinite}
@keyframes wornRadiance{0%,100%{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 5px #eabc63)}50%{filter:drop-shadow(0 0 7px #fff5c3) drop-shadow(0 0 14px #ce93e8)}}
.worn-earrings{overflow:visible}.ear-half{position:absolute;top:0;width:29.6875%;height:100%;overflow:hidden;transform:translateX(-50%)}
.ear-half>img{position:absolute;top:0;left:0;width:200%;height:100%;max-width:none;object-fit:fill}.ear-right>img{left:-100%}

/* A dedicated, automatic dress-up reveal begins after both spoken meanings. */
.dress-reward{max-width:820px;margin:auto}.reward-heading{text-align:center;margin-bottom:15px}.reward-heading>span{font-size:9px;letter-spacing:.17em;color:#b99969;font-weight:800}.reward-heading h1{font-size:30px;color:#8e5c91;margin:5px 0}.reward-heading p{font-size:12px;color:#95828b}
.reward-scene{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center;margin:12px 0 18px}
.reward-portrait{position:relative;container-type:size;display:flex;align-items:flex-end;justify-content:center;height:450px;padding-bottom:23px;border:1px solid #e7d4e5;border-radius:170px 170px 25px 25px;background:radial-gradient(ellipse at 50% 45%,#fffdf9 30%,var(--royal-pale));overflow:hidden}
.reward-portrait>.royal-character{width:min(100cqw,66.6667cqh)!important;height:min(100cqh,150cqw)!important;flex:none}
.reward-princess-name{position:absolute;bottom:7px;font:600 13px var(--serif);color:#8b718c}.reward-portrait .royal-bling i{font-size:18px;opacity:.4}.reward-portrait .royal-bling{opacity:.55}
.reward-treasure-card{text-align:center;background:#fffdf9c9;border:1px solid #ebd6d0;border-radius:25px;padding:24px 18px;box-shadow:0 9px 28px #b991a514}
.reward-jewel-source{width:170px;height:170px;max-width:100%;margin:auto;background:radial-gradient(ellipse,#fff0ce,transparent 70%)}
.reward-jewel-source img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 9px #efcea2);animation:treasureGlow 2.8s infinite}
.reward-new-label{display:inline-block;background:#f3e6bc;border:1px solid #e9ce85;color:#8b652b;border-radius:30px;font-size:12px;font-weight:800;padding:3px 13px;margin:4px 0 11px}
.reward-treasure-card h2{font:600 21px var(--serif);color:#775570}.reward-steps{list-style:none;padding:0;margin:18px 0 0;text-align:left;font-size:12px;line-height:2.1;color:#b4a0ae}.reward-steps .done{color:#9b7540;font-weight:700}.reward-change{font-size:11px;color:#9c7a91;line-height:1.65;margin-top:10px}
.dress-reward[data-reward-phase="present"] .reward-jewel-source{animation:progressPop .8s ease-out}.dress-reward[data-reward-phase="wear"] .reward-jewel-source>img{opacity:.2}.dress-reward[data-reward-phase="reveal"] .reward-treasure-card{border-color:#dfbd7a;background:#fff9ec}
.reward-next{text-align:center;margin-top:15px}.reward-next>p{font-size:12px;color:#95758b;margin-bottom:11px}.reward-controls{display:flex;justify-content:center;gap:12px}.reward-controls button{min-height:45px;font-size:12px}.reward-controls button:disabled{opacity:.45}
@media(max-width:680px){
 .live-reward{display:grid;grid-template-columns:minmax(0,1fr) 110px;height:auto;gap:9px}.live-reward>.outfit-progress{grid-column:1/-1;padding:5px 10px 7px}.live-reward>.live-jewel,.live-reward>.live-princess{height:205px}.live-reward>.live-princess{padding-bottom:30px}.live-princess>div{height:172px}.live-princess>span{bottom:5px}.live-princess>span small{font-size:8px}.live-princess .royal-bling{opacity:.55}
 .outfit-progress-heading{font-size:10px}.outfit-progress-heading button{font-size:10px;min-height:26px;padding:4px 0}.outfit-progress-heading b{font-size:14px}.outfit-trail{margin-top:2px;gap:2px}.outfit-stop{flex-basis:42px;min-width:42px}.outfit-stop img{width:27px;height:25px}.outfit-stop>span{font-size:8px;margin-top:0}.outfit-stop>i{right:calc(50% - 21px);font-size:8px;line-height:13px;min-width:13px}
 .live-jewel-heading>strong{font-size:18px}.live-jewel>p{font-size:9px}.word-win{font-size:12px;padding:8px 11px}.word-win b{font-size:13px}
 .dress-reward{padding:0 2px}.reward-heading h1{font-size:24px}.reward-heading p{font-size:11px}.reward-scene{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:9px;margin:10px 0 12px}.reward-portrait{height:310px;border-radius:95px 95px 18px 18px}.reward-princess-name{font-size:11px}.reward-treasure-card{padding:13px 8px;border-radius:18px}.reward-jewel-source{width:124px;height:124px}.reward-treasure-card h2{font-size:16px;line-height:1.5}.reward-new-label{font-size:10px;padding:2px 9px;margin:2px 0 7px}.reward-steps{font-size:10px;line-height:1.85;margin-top:9px}.reward-change{font-size:9px}.reward-controls{gap:8px}.reward-controls button{font-size:11px;padding-left:12px;padding-right:12px}.reward-next>p{font-size:11px}
}
@media(max-width:370px){.live-reward{grid-template-columns:minmax(0,1fr) 93px}.reward-portrait{height:280px}.reward-jewel-source{width:102px;height:102px}.reward-heading h1{font-size:22px}.reward-treasure-card h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.word-win,.is-solved .prompt-emblem,.progress-earned .outfit-stop.current,.worn-highlight,.reward-jewel-source,.reward-jewel-source img{animation:none!important}.worn-highlight{filter:drop-shadow(0 0 7px #edc074)}}

/* Compact audition controls keep the same settings and gameplay layout. */
.voice-style-note{font-size:12px;line-height:1.7;color:var(--muted);text-align:center;margin:8px 0 14px}.sound-previews{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sound-previews .secondary-button{font-size:12px;padding:12px 8px;min-height:44px}.sound-previews svg{width:16px;flex-shrink:0}@media(max-width:360px){.sound-previews{grid-template-columns:1fr}}

/* Calibrated, shared wear/flight pieces: preserve their silhouette and stacking. */
.fitted-jewel{display:block;object-fit:initial;transition:none;pointer-events:none;filter:drop-shadow(0 0 2px #fff8)}
.fitted-jewel>.worn-crop{position:absolute;inset:0;display:block;overflow:hidden}
.fitted-jewel>.worn-crop>img{position:absolute;max-width:none;object-fit:fill;transform:none;filter:none}
.fitted-jewel>.shoe-surface{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.worn-cape,.worn-cape.worn-highlight{z-index:0!important}
.fit-probe,.royal-frame-probe{position:absolute!important;display:block!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;transform:none!important;pointer-events:none}
.probe-origin,.frame-origin{left:0;top:0}.probe-x,.frame-x{left:100%;top:0}.probe-y,.frame-y{left:0;top:100%}
.fitted-source{position:absolute;inset:7%;display:block}
.source-character-plane{position:absolute;display:block;width:var(--source-size);height:calc(var(--source-size) * 1.5);left:var(--source-x);top:var(--source-y)}
.source-character-plane .worn-jewel{filter:drop-shadow(0 2px 3px #80529422)}
.accessory-flying{position:fixed!important;left:0!important;top:0!important;margin:0!important;pointer-events:none;transform-origin:0 0!important;z-index:301!important;animation:none!important;transition:none!important;visibility:visible!important}
.accessory-flying.flight-behind{position:absolute!important;z-index:0!important}

/* Five curriculum entrances keep the existing atelier and spelling layout intact. */
.course-modules{max-width:1440px;margin:0 auto;padding:18px 40px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.module-tab{min-width:0;text-align:left;border:1px solid #e7dfeb;border-radius:16px;padding:12px 15px;background:rgba(255,255,255,.62);color:#725b80;transition:background .2s,border-color .2s,box-shadow .2s}
.module-tab strong{display:block;font-size:15px;white-space:nowrap}.module-tab small{display:block;color:#887a90;font-size:10px;line-height:1.5;margin-top:4px}
.module-tab.selected{background:#f2e7f7;border-color:#b18cbd;box-shadow:0 3px 12px #b18cbd20;color:#734789}.module-tab:focus-visible{outline:3px solid #a487ba;outline-offset:3px}
.draft-modules{padding:8px 0 18px;gap:6px}.draft-modules .module-tab{padding:10px 6px;text-align:center}.draft-modules .module-tab strong{font-size:12px}.draft-modules .module-tab small{display:none}
@media(max-width:900px){.course-modules{padding:14px 22px 0;gap:7px}.module-tab{padding:10px}.module-tab small{display:none}.draft-modules{padding:8px 0 18px}}
@media(max-width:560px){.course-modules{padding:12px 14px 0;gap:5px}.module-tab{padding:11px 2px;text-align:center;border-radius:11px}.module-tab strong{font-size:11px}.draft-modules{padding:8px 0 18px}.draft-modules .module-tab strong{font-size:11px}}
.module-notice{max-width:1360px;margin:10px auto 0;padding:0 12px;font-size:12px;color:#89718a;line-height:1.8}.semester-modal .module-notice{margin:0 0 14px;padding:0}.source-expression{display:block;width:100%;font-size:12px;line-height:1.7;color:#8b7b94}
@media(max-width:900px){.module-notice{margin:8px 14px 0}}
@media(min-width:1081px){.unit-navigation{max-height:540px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8b9d3 transparent;padding-right:5px}}
@media(max-width:600px){.spelling-word.very-wide-word{flex-wrap:wrap;width:100%;gap:4px}.spelling-word.very-wide-word .letter-slot{flex:0 0 27px;font-size:22px;height:40px}}

/* CN v3.14.2: approved homepage B layout. Other views and widths retain their layout. */
.mobile-learning-controls{display:none}
.mobile-unit-options{display:grid;gap:9px;margin-top:18px}
.mobile-unit-options .unit-nav{width:100%;min-height:66px;padding:10px 12px;border:1px solid #ecdee4;background:#fffdfa}
.mobile-unit-options .unit-nav.selected{background:#f7e6ed}
.mobile-unit-options .unit-nav strong{max-width:none;white-space:normal;overflow-wrap:anywhere}
.mobile-unit-options .unit-nav em{font-size:10px}
@media(min-width:371px) and (max-width:600px){
 #app[data-view="atelier"]>.course-modules,#app[data-view="atelier"]>.module-notice{display:none}
 #app[data-view="atelier"] .site-header{padding:6px 14px 0;min-height:0;gap:0}
 #app[data-view="atelier"] .brand{min-height:44px;gap:8px;min-width:0;flex:1}
 #app[data-view="atelier"] .brand>span:last-child{min-width:0}
 #app[data-view="atelier"] .brand strong{font-size:14px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #app[data-view="atelier"] .brand small{font-size:6px;letter-spacing:.12em;margin-top:3px}
 #app[data-view="atelier"] .brand-mark{width:32px;height:35px;border-radius:11px;flex-shrink:0}
 #app[data-view="atelier"] .header-tools>.icon-button{width:44px;height:44px}
 #app[data-view="atelier"] .jewel-wallet{margin:0;padding:0 5px 0 0;gap:3px}
 #app[data-view="atelier"] .main-nav{height:44px;margin-top:2px;gap:4px;align-items:stretch}
 #app[data-view="atelier"] .nav-button{flex:1;justify-content:center;padding:0 8px;min-height:44px;font-size:12px;margin:0;border-radius:14px 14px 0 0;gap:6px}
 #app[data-view="atelier"] .nav-button.active::after{display:none}
 #app[data-view="atelier"] .page{padding:10px 14px 24px}
 #app[data-view="atelier"] .mobile-learning-controls + .page-heading,#app[data-view="atelier"] .course-rail{display:none}
 #app[data-view="atelier"] .mobile-learning-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:10px}
 .mobile-course-picker,.mobile-unit-picker{width:100%;min-width:0;min-height:48px;display:flex;align-items:center;gap:10px;text-align:left;padding:5px 11px;background:#fffdfb;border:1px solid #e8dce2;border-radius:13px;box-shadow:0 2px 0 #f0e7ea}
 .mobile-course-picker>.icon{width:20px;height:20px;color:#b8955a;flex-shrink:0}
 .mobile-learning-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
 .mobile-learning-copy strong{font-size:13px;line-height:1.5;color:#654e62;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-learning-copy small{font-size:10px;color:#9a8292;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-picker-action{display:flex;align-items:center;gap:4px;margin-left:auto;font-size:11px;color:#966b8e;flex-shrink:0;min-height:36px}
 .mobile-picker-action .icon{width:13px;height:13px}
 .mobile-unit-picker{box-shadow:none;border-color:#efd8e4;background:#fcf2f7}
 .mobile-unit-picker strong{color:#6c5365}
 .mobile-unit-number{width:29px;height:29px;border-radius:50%;background:#c382a1;color:white;display:grid;place-items:center;font-size:12px;flex-shrink:0}
 #app[data-view="atelier"] .atelier-layout{gap:14px}
 #app[data-view="atelier"] .princess-stage{height:min(540px,calc(100dvh - 250px));min-height:440px;padding:17px 6px 79px;border-radius:100px 100px 22px 22px;display:flex;flex-direction:column;flex-shrink:0}
 #app[data-view="atelier"] .stage-caption{height:64px;flex-shrink:0}
 #app[data-view="atelier"] .stage-caption h2{font-size:21px}
 #app[data-view="atelier"] .stage-caption>div>span{font-size:8px;margin-bottom:3px}
 #app[data-view="atelier"] .stage-progress{font-size:10px;padding:3px 9px;margin-top:6px}
 #app[data-view="atelier"] .stage-arch{height:auto;flex:1;min-height:0;margin-top:4px}
 #app[data-view="atelier"] .princess-portrait{height:100%;width:100%;margin:0}
 #app[data-view="atelier"] .stage-arch::before{inset:0 -6px -15px}
 #app[data-view="atelier"] .stage-label{display:none}
 #app[data-view="atelier"] .princess-invitation{padding:0 14px 14px}
 #app[data-view="atelier"] .invitation-copy{min-height:48px;font-size:14px;border-radius:15px;padding:10px 8px;background:linear-gradient(110deg,#f9e5ef,#f3e6f7);color:#885374;border-color:#eed2e3}
 #app[data-view="atelier"] .stage-plinth{bottom:-5px;height:14px}
 #app[data-view="atelier"] .arch-trim{inset:4px 5% 0}
 #app[data-view="atelier"] button:focus-visible{outline:2px solid #a96b99;outline-offset:3px}
}

/* Long textbook units use more trays, keeping every jewel in a distinct slot. */
.case-pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ddc7d7 transparent}
.case-pages>.case-plane{flex:0 0 100%;scroll-snap-align:start}
.case-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:-5px 0 4px;color:#9c758d;font-size:10px}
.case-pagination button{min-width:44px;min-height:36px;border-radius:14px;color:#a77b98;background:#fff7fb;font-size:22px;line-height:1}
.case-pagination button:disabled{opacity:.28;cursor:default}
