/* Readable controls at every viewport. */
.hint-shop{padding:20px;max-width:760px}.hint-shop-head{font-size:18px;line-height:1.6}.hint-shop-head b{font-size:20px}.hint-shop-buttons button{font-size:18px;line-height:1.5;min-height:54px;padding:12px 18px}.hint-preview{font-size:18px;line-height:1.8}.feedback{font-size:18px;line-height:1.75}.feedback small{font-size:16px}.battle-note,.local-save-note,.skill-note,.source-note{font-size:14px;line-height:1.8}.question-label,.question-top,.settings label{font-size:15px}.time-urgent{color:#ffd0d5;font-weight:800;font-size:24px!important;text-shadow:0 0 10px #ef748544}.timer #time{font-size:18px;min-width:42px}.shop-item h2{font-size:18px}.shop-item p{font-size:16px}.shop-item small{font-size:14px}.shop-item>b{font-size:20px}.shop-item button{font-size:16px;min-height:52px;line-height:1.5}.catalog-tools{display:flex;align-items:flex-end;gap:18px;justify-content:space-between;flex-wrap:wrap}.catalog-tools label{display:grid;gap:8px;font-size:16px}.catalog-tools select{font-size:16px;min-height:48px;max-width:100%;padding:10px;border:1px solid #867494;border-radius:10px;background:#282438;color:#fff}.outfit-preview{padding:12px 34px}.item-preview{padding:15px 20px;min-height:185px}.shop-elf{width:220px}.shop-mini{width:150px}
/* Original and generated character layers. */
.layered-avatar{background-image:none!important}.avatar-base,.wardrobe-layer{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:500% 300%;background-position:calc(var(--avatar,0)*25%) calc(var(--frame,0)*50%)}.avatar-base{background-image:url('kawaii-pixies.png')}.has-dress .avatar-base{clip-path:inset(0 0 45% 0)}.has-hair .avatar-base{clip-path:inset(55% 0 0 0)}.has-dress.has-hair .avatar-base{visibility:hidden}.wardrobe-layer{background-image:url('wardrobe-styles.png');background-position:calc(var(--avatar,0)*25%) calc(var(--style-row,0)*50%)}.wardrobe-dress{clip-path:inset(55% 0 0 0);z-index:1}.wardrobe-hair{clip-path:inset(0 0 45% 0);z-index:2}.boutique-art{display:block;aspect-ratio:1;background-image:url('boutique-items.png');background-repeat:no-repeat;background-size:400% 200%;background-position:var(--item-x) var(--item-y)}.catalog-art{width:165px}.equipped-wand{position:absolute;width:43%;right:-1%;top:28%;z-index:5;pointer-events:none}.pet-companion{position:absolute;width:53%;left:-27%;bottom:-8%;z-index:6;pointer-events:none;filter:drop-shadow(0 4px 4px #0005)}.avatar-title{z-index:8}.is-walking .pet-companion{animation:pet-trot .45s ease-in-out infinite}.is-walking .wardrobe-layer{animation:wardrobe-step .4s ease-in-out infinite}.shop-item .pet-companion{left:-15%;width:40%}.celebration-pose .avatar-base,.celebration-pose .wardrobe-layer,.kiss-pose .avatar-base,.kiss-pose .wardrobe-layer,.kiss-display .avatar-base,.kiss-display .wardrobe-layer{visibility:hidden}.celebration-pose::before{z-index:3}.kiss-pose::before,.kiss-display::before{content:'';position:absolute;inset:0 20%;z-index:3;background-image:url('pixie-kisses.png');background-size:500% 100%;background-position:calc(var(--avatar)*25%) center;background-repeat:no-repeat}.kiss-pose .equipped-wand,.celebration-pose .equipped-wand{visibility:hidden}.kiss-pose{animation:kiss-sway 1.5s ease-in-out}.kiss-hearts{position:absolute;z-index:12;top:30%;left:70%;white-space:nowrap;color:#ffc1db;font-size:28px;text-shadow:0 0 10px #ed68a6;animation:kiss-flight 1.5s ease-out forwards;pointer-events:none}.celebration-bubble{z-index:15;font-size:16px}.map-brand{position:absolute;z-index:1;right:12px;bottom:10px;width:185px;padding:10px 12px;background:#10131deb;border-radius:12px;border:1px solid #ffffff25;pointer-events:none}.map-brand svg{display:block;width:100%;height:auto}.map-caption{bottom:22px}.world-canvas{padding-bottom:0}.map-scroll .map-brand{bottom:8px}.shop-item .avatar-title{font-size:11px}@keyframes pet-trot{50%{transform:translateY(-6px) rotate(-3deg)}}@keyframes wardrobe-step{50%{transform:translateY(-3px)}}@keyframes kiss-sway{35%{transform:rotate(-5deg) scale(1.03)}70%{transform:rotate(3deg)}}@keyframes kiss-flight{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(85px,-45px) scale(1.1)}}@media(max-width:760px){.hint-shop-buttons{display:grid;grid-template-columns:1fr;width:100%}.hint-shop-buttons button{font-size:18px;width:100%;min-height:54px}.hint-shop-head{font-size:17px}.hint-preview{font-size:18px}.feedback{font-size:17px}.map-brand{width:145px;right:8px}.shop-item h2{font-size:18px}.shop-item p{font-size:16px}.shop-item button{font-size:16px;min-height:52px}.shop-grid{grid-template-columns:1fr}.shop-item{padding:20px}.shop-mini{width:170px}.catalog-art{width:180px}.item-preview{min-height:190px}.celebration-bubble{font-size:13px}.shop-heading h1{font-size:28px}.auth-fine{font-size:14px!important}}@media(prefers-reduced-motion:reduce){.kiss-pose,.kiss-hearts,.is-walking .pet-companion,.is-walking .wardrobe-layer{animation:none!important}.kiss-hearts{opacity:1}}

.map-brand-row{display:flex;justify-content:flex-end;background:#10131d;padding:8px 12px;border-radius:0 0 14px 14px}.map-brand-row .map-brand{position:static;width:185px;border:0;padding:5px 10px;background:transparent}.map-brand-row+.map-bottom{margin-top:8px}

/* Five quizzes stay readable on smaller screens. */
.level-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.level{font-size:16px;min-height:52px}.seal-strip{font-size:14px;flex-wrap:wrap;gap:16px}.cloze-sentence{font-size:clamp(22px,2.2vw,30px);line-height:1.8;text-align:left;overflow-wrap:anywhere}.cloze-gap{color:#ffdf91;border-bottom:2px solid #eac57e;white-space:nowrap;letter-spacing:2px}.cloze-meaning{font-size:18px;line-height:1.7;color:#ddd2ee}.question-label{line-height:1.7}@media(max-width:760px){.level-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.level{font-size:16px;padding:12px 8px}.cloze-sentence{font-size:22px}.cloze-meaning{font-size:17px}}

.purchased-hint{font-size:18px;line-height:1.6;background:#45334f;border:1px solid #d4b27a;border-radius:10px;padding:12px;margin:10px 0;color:#fff2cc}.hint-preview{white-space:pre-wrap}.form-note{color:#f5d99d}#resumeFromHint{font-size:18px;min-height:48px}
