:root{--world:#edf6f2;--world-two:#f5ecd9;--world-accent:#527c70;--world-dark:#243f3a;--paper:#fffef8}
body{background:radial-gradient(ellipse at 90% 10%,var(--world-two),transparent 60%),var(--world);--blue:var(--world-accent);--navy:var(--world-dark);--bg:var(--world);--line:#dbe4df}
body[data-academy-theme="peach"],body[data-academy-theme="sunrise"]{--world:#fff0e3;--world-two:#ffe1dc;--world-accent:#a25340;--world-dark:#563e3b;--paper:#fffaf1}
body[data-academy-theme="mint"],body[data-academy-theme="forest"]{--world:#eaf4df;--world-two:#d6e9df;--world-accent:#48693e;--world-dark:#2f4638;--paper:#fbfff4}
body[data-academy-theme="lavender"],body[data-academy-theme="aurora"]{--world:#f1ebff;--world-two:#ddf3ed;--world-accent:#70549c;--world-dark:#3d3557;--paper:#fcf9ff}
body[data-academy-theme="ocean"],body[data-academy-theme="sky"]{--world:#e5f3fa;--world-two:#e0eafa;--world-accent:#3c6e94;--world-dark:#284659;--paper:#f7fcff}
body[data-academy-theme="royal"],body[data-academy-theme="galaxy"]{--world:#eeeaff;--world-two:#f4e9ce;--world-accent:#67538d;--world-dark:#38314e;--paper:#fffcf4}
body[data-academy-theme="rose"],body[data-academy-theme="berry"]{--world:#f9eaf0;--world-two:#f1e0f6;--world-accent:#964d74;--world-dark:#523447;--paper:#fff8fb}
body[data-academy-theme="cocoa"],body[data-academy-theme="sand"]{--world:#f3ecdf;--world-two:#ead6bd;--world-accent:#876242;--world-dark:#4f4035;--paper:#fffbef}
body[data-academy-theme="coral"]{--world:#f9eae6;--world-two:#d9f0ee;--world-accent:#97605b;--world-dark:#493f48;--paper:#fffaf7}
.side{background:linear-gradient(165deg,var(--world-dark),#293746);border-right:1px solid #ffffff30}
.side .brand span{border-radius:50% 50% 35% 35%;background:#f6dba4;box-shadow:0 4px 0 #0002;color:#394e49}
.nav button.active{background:#ffffff22;box-shadow:inset 3px 0 #f6dba4}
.top{background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(10px)}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--paper),var(--world-two));border:1px solid #ffffffd0;box-shadow:0 18px 50px #3146380b}
.hero:before{content:"✦";position:absolute;right:23%;top:-20px;font-size:140px;color:#fff8;pointer-events:none}
.panel,.card,.stat{background:var(--paper);border-radius:20px}
.btn{border-radius:13px;box-shadow:0 3px 0 #0002}.btn.alt{background:var(--world);color:var(--world-dark)}
.tag{color:var(--world-accent)}.content h1,.content h2{letter-spacing:-.025em}
.academy-textarea,body[data-academy-theme] textarea{background:linear-gradient(transparent 30px,#98a8b21f 31px),var(--paper)!important;background-size:100% 32px!important;border:2px solid var(--world-accent)!important;border-radius:18px!important;color:#27343d!important;line-height:32px!important;padding:14px 18px!important}
.chat-bubble{border-radius:20px 20px 20px 4px;background:var(--paper)}.chat-bubble.user{background:var(--world-two);border-radius:20px 20px 4px 20px}
#authGate{background:radial-gradient(circle at 20% 10%,#f6dfb9,transparent 45%),radial-gradient(circle at 85% 80%,#c4ddd8,transparent 50%),#f4f1e8!important}
#authGate>section{max-width:570px!important;border-radius:32px!important;background:#fffdf8!important;border:1px solid #d4dfd7!important;padding:32px 40px!important}
.academy-welcome-mascot{width:175px;margin:auto;background:#e4eee5;border-radius:50%;padding:12px;box-shadow:0 8px 0 #cddcc5}
.academy-guide{text-align:center;min-width:170px;position:relative}.academy-guide strong{display:block;font-size:12px;color:#536b5f}
.academy-guide:before{content:"✦";position:absolute;right:0;top:0;color:#c09c40;font-size:34px}
.companion-grid{gap:18px}.companion{background:linear-gradient(160deg,var(--paper),var(--world));border-radius:24px!important}.companion.locked{filter:none;opacity:1}.companion .academy-mascot{transition:transform .2s}.companion:hover .academy-mascot{transform:translateY(-5px) rotate(-3deg)}
.game-layout.adventure-board{--board-a:#f4ecd1;--board-b:#dceacb;--board-rim:#73805c;align-items:start}
.adventure-board.level-A2{--board-a:#f9e3d1;--board-b:#eed1c8;--board-rim:#9c7861}
.adventure-board.level-B1{--board-a:#e4f3f2;--board-b:#c5dfdc;--board-rim:#55877e}
.adventure-board.level-B2{--board-a:#e3eafb;--board-b:#ccdaed;--board-rim:#617b9c}
.adventure-board.level-C1{--board-a:#ede2f9;--board-b:#ddceee;--board-rim:#8e77a4}
.adventure-board.level-C2{--board-a:#eee3c5;--board-b:#d9d0ea;--board-rim:#706785}
.adventure-board .board-wrap{padding:10px;border:8px solid var(--board-rim);border-radius:26px;background:var(--board-rim);box-shadow:0 12px 0 #0002,0 25px 40px #2d3e4618}
.adventure-board .snakes-board{border-radius:15px;overflow:hidden;gap:3px;background:var(--board-rim)}
.adventure-board .board-cell{background:var(--board-a);border:0;border-radius:8px;color:#34434a;min-height:52px}
.adventure-board .board-cell:nth-child(2n){background:var(--board-b)}
.adventure-board .board-cell.ladder{background:#f6e5aa;box-shadow:inset 0 0 0 2px #cdb25c}
.adventure-board .board-cell.snake{background:#f0d4d4;box-shadow:inset 0 0 0 2px #cb9495}
.adventure-board .board-cell.finish{background:#efd18b}.board-pawn{z-index:1;filter:drop-shadow(0 3px 2px #0003)}
.story-stage{height:380px;position:relative;overflow:hidden;background:linear-gradient(#d5edf4,#f5ead4);border-radius:22px;margin:15px 0;border:1px solid #d2e3e2}
.story-stage.scene-1{background:linear-gradient(#dfdef6,#f3e7ef)}.story-stage.scene-2{background:linear-gradient(#cce5d3,#f0edc4)}.story-stage.scene-3{background:linear-gradient(#f4d9c8,#f8edce)}.story-stage.scene-4{background:linear-gradient(#c8d7ec,#e5dced)}.story-stage.scene-5{background:linear-gradient(#eaddec,#d8edec)}
.story-sun{position:absolute;right:15%;top:25px;width:55px;height:55px;border-radius:50%;background:#ffe4a3;box-shadow:0 0 0 12px #fff5}
.story-cloud{position:absolute;font-size:60px;color:white;animation:cloud-drift 10s ease-in-out infinite alternate}.cloud-one{left:6%;top:5px}.cloud-two{left:46%;top:30px;font-size:40px}
.story-hill{position:absolute;top:170px;left:-10%;width:120%;height:250px;background:#96b5a777;border-radius:50% 50% 0 0}
.story-actor{position:absolute;top:70px;transition:transform .4s;animation:story-sway 3s ease-in-out infinite alternate}.actor-one{left:13%}.actor-two{right:13%;animation-delay:-1.5s}
.story-actor.is-talking{filter:drop-shadow(0 0 10px #fff);animation:story-talk .9s ease-in-out infinite alternate}.story-actor.is-talking .avatar-mouth{animation:call-mouth .3s ease-in-out infinite alternate;transform-origin:center}
.story-caption{position:absolute;bottom:15px;left:4%;right:4%;background:#fffdf5ed;border:2px solid #d1c7aa;border-radius:18px;padding:16px;font-size:15px;line-height:1.6;max-height:145px;overflow:auto;color:#283b3e}
@keyframes story-sway{to{transform:translateY(-5px) rotate(2deg)}}@keyframes story-talk{to{transform:translateY(-7px) rotate(-2deg)}}@keyframes cloud-drift{to{transform:translateX(35px)}}
@media(max-width:650px){.adventure-board .board-cell{min-height:38px}.adventure-board .board-wrap{padding:4px;border-width:4px}.board-cell small{font-size:8px}.story-actor{transform:scale(.8);top:55px}.actor-one{left:0}.actor-two{right:0}.hero{flex-wrap:wrap}.academy-guide{margin:auto}.content{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.story-actor,.story-cloud,.story-actor.is-talking,.avatar-mouth{animation:none!important}.companion .academy-mascot{transition:none}}
.academy-brand img{display:block;max-width:100%;height:auto}.sticker-feature{display:flex;align-items:center;gap:24px;background:linear-gradient(120deg,#fff9ed,#eee8fb);margin:24px 0}.sticker-feature>img{object-fit:contain;flex:0 0 180px}.sticker-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sticker-actions a{text-decoration:none}.sticker-help{margin-bottom:25px}.sticker-help ol{padding-left:22px;line-height:1.8}.sticker-picker{display:flex;align-items:center;gap:12px;font-weight:700;margin:25px 0}.sticker-picker select{padding:12px;border:1px solid #d6cbe5;border-radius:12px;background:#fff;max-width:100%}.sticker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sticker-grid figure{margin:0;text-align:center;border:1px solid #e7dfef;background:#fffdf9;border-radius:20px;padding:12px}.sticker-grid img{max-width:100%;height:auto;object-fit:contain}.sticker-grid figcaption{font-weight:650;font-size:13px;min-height:38px}.sticker-grid a{font-size:11px;color:#65518b}.jelluv .avatar-body{transform-origin:56px 110px}.jelluv .avatar-mouth{transform-box:fill-box;transform-origin:center}.sticker-help a{color:#614785}@media(max-width:800px){.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.sticker-feature{flex-direction:column;gap:0;align-items:stretch}.sticker-feature>img{align-self:center;flex-basis:auto}.sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticker-picker{flex-direction:column;align-items:stretch}.sticker-actions{flex-direction:column;align-items:stretch}.sticker-actions a{text-align:center}}@media(prefers-reduced-motion:reduce){.jelluv *{animation:none!important}}
