@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap');
body[data-challenge="easy"]{background:radial-gradient(ellipse at 80% 20%,#f8d3e5,transparent 55%),linear-gradient(145deg,#f3b2ca,#d5ace7)}
body[data-challenge="medium"]{background:radial-gradient(ellipse at 80% 20%,#e1d3fc,transparent 55%),linear-gradient(145deg,#d5b2ef,#b6a3e5)}
body[data-challenge="hard"]{background:radial-gradient(ellipse at 80% 20%,#d5edcc,transparent 55%),linear-gradient(145deg,#a9d8c6,#91c5b2)}
body[data-challenge="full"]{background:radial-gradient(ellipse at 80% 20%,#ffebc3,transparent 55%),linear-gradient(145deg,#f6d491,#edbc94)}
.sound-toggle[aria-pressed="false"]{position:relative;background:#ffffff40;color:#927ea0}.sound-toggle[aria-pressed="false"]:after{content:'';width:21px;height:2px;background:currentColor;position:absolute;transform:rotate(-45deg);border-radius:2px}
:root{--plum:#543079;--ink:#3c235d;--muted:#796197;--line:#e0d2eb;--display:'Fredoka','Outfit',system-ui,sans-serif;--gold:#fbd45b}
body{background:radial-gradient(ellipse at 80% 20%,#f3c5df,transparent 55%),linear-gradient(140deg,#e3c8f3,#c8b2e9);color:var(--ink);min-height:100dvh}.shell,.sidebar,.topbar,.mobile-nav,footer{display:none}#main{max-width:620px;margin:0 auto;padding:0 22px 16px;outline:none;min-height:100dvh;position:relative}.game-top{height:78px;display:flex;align-items:center;justify-content:space-between;gap:13px}.round-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;background:#ffffff7a;border:1px solid #ffffff90;border-radius:50%;font-size:20px;box-shadow:0 3px 0 #8871ab15;color:#61407e;transition:transform .2s,background .2s}.round-icon:hover{transform:translateY(-2px);background:#fff}.round-icon:active{transform:translateY(2px)}.play-brand{font:600 20px/1 var(--display);text-decoration:none;letter-spacing:-.5px;flex:1;color:#fff;text-shadow:0 2px 0 #8f6caf20}.play-brand em{font-style:normal;margin-left:9px}.top-points{display:flex;align-items:center;gap:5px;border-radius:25px;background:#fff7d9;padding:8px 14px;box-shadow:0 3px 0 #d39d4640;color:#8c6623}.top-points span{color:#dfa522;font-size:20px}.top-points strong{font:600 20px var(--display)}.top-points small{font-size:10px;font-weight:700}.game-top .hearts{font-size:13px;letter-spacing:1px;color:#f05d88;white-space:nowrap}.sound-toggle{font-size:22px}.stage{position:relative;text-align:center;padding:5px 0 0;isolation:isolate;overflow:visible}.stage-title{position:relative;z-index:2;max-width:450px;margin:auto}.stage-title>span{display:inline-block;font-size:10px;letter-spacing:2px;font-weight:700;color:#7d5a9b;background:#ffffff50;border:1px solid #ffffff90;border-radius:30px;padding:6px 13px}.stage-title h1{font-size:33px;font-weight:600;letter-spacing:-.8px;margin:14px 0 6px;line-height:1.2;color:#fff;text-shadow:0 3px 0 #9d73b52a}.stage-title p{font-size:12px;line-height:1.5;color:#715185;letter-spacing:.05px}.pyramid{min-height:270px;padding:27px 0 16px;gap:8px;perspective:700px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;--tile:57px;position:relative;z-index:5}.pyramid:active{cursor:grabbing}.pyramid-row{gap:5px;transform-style:preserve-3d;animation:row-float 5s ease-in-out infinite;animation-delay:calc(var(--row-index)*-.35s)}.pyramid.arrive .pyramid-row{animation:row-arrive .7s cubic-bezier(.22,1.25,.52,1) both,row-float 5s ease-in-out .9s infinite;animation-delay:calc(var(--row-index)*65ms),calc(.9s + var(--row-index)*65ms)}.pyramid.interacting .pyramid-row{animation-play-state:paused}.tile{width:var(--tile);height:var(--tile);font:600 calc(var(--tile)*.5) var(--display);border-radius:11px;background:linear-gradient(145deg,#ffe884,#ffd452 60%,#efb52b);border:1px solid #e8b236;color:#56391e;box-shadow:inset 0 4px 0 #ffffff50,inset 0 -5px 0 #d1942235,3px 5px 0 #c78d30,0 8px 10px #75407913;transform:translate3d(var(--follow-x,0px),var(--follow-y,0px),0) rotateZ(var(--follow-r,0deg));transition:background .2s,box-shadow .2s;will-change:transform}.tile.unknown{background:#fff6dd88;color:#9c72b7;border:2px dashed #aa85c9;box-shadow:inset 0 2px 0 #ffffff70,0 3px 0 #ac87c025;border-radius:10px}.active-row .tile.unknown{background:#fff8e6cc;border-color:#785290}.tile.entered{background:linear-gradient(145deg,#8562b5,#664596);color:#fff;border-color:#7755a1;box-shadow:inset 0 3px 0 #ffffff30,3px 5px 0 #4b2e78,0 8px 10px #75407913}.tile.correct{background:linear-gradient(145deg,#d5efa5,#a4d269);color:#4e7235;border-color:#9ebf64;box-shadow:inset 0 3px 0 #ffffff50,3px 5px 0 #81a64b}.row-number{color:#9c7daf;font-size:10px;left:-22px}.pyramid-base{width:64%;height:13px;background:#7b529d17;margin-top:11px;box-shadow:0 8px 17px #6b2c8920;filter:blur(1px)}.pyramid.celebrate .tile.correct{animation:none}.pyramid.celebrate .pyramid-row{animation:win-row .7s ease both,row-float 4s ease-in-out .9s infinite;animation-delay:calc(var(--row-index)*65ms),.9s}.stage-bottom{height:38px;display:flex;align-items:center;justify-content:center;position:relative;z-index:3;margin-bottom:9px}.touch-note{font-size:11px;letter-spacing:.2px;color:#88629d}.round-bubble{position:absolute;right:15px;bottom:8px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #ffffff90;border-radius:50%;font:500 12px var(--display);color:#8b68a0;background:#ffffff30}.mascot-mini{position:absolute;left:-1px;bottom:-11px;width:92px;height:95px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.mascot-mini img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 5px 3px #61418622);animation:mascot-idle 4s ease-in-out infinite}.mascot-mini span{position:absolute;left:57px;bottom:46px;white-space:nowrap;padding:6px 8px;border-radius:12px 12px 12px 3px;background:#fff8e4;color:#987332;font:500 10px var(--display);box-shadow:0 3px 0 #baa16920}.success .mascot-mini img{animation:mascot-win .55s ease-in-out 3}.ambient-shape{position:absolute;border:1px solid #ffffff60;border-radius:35%;background:#ffffff17;z-index:-1;pointer-events:none;animation:ambient-drift 10s ease-in-out infinite}.shape-one{width:120px;height:115px;left:0;top:34%;transform:rotate(-17deg)}.shape-two{width:95px;height:90px;right:0;top:53%;animation-delay:-5s;transform:rotate(12deg)}.game-controls{padding:14px 18px 12px;background:#ffffffd9;border:1px solid #ffffff;border-radius:25px;box-shadow:0 7px 0 #8f64b31b,0 14px 30px #67418d08;position:relative;z-index:10}.hint-box{background:#fff4cf;color:#917434;border-radius:15px;padding:9px 12px;font-size:11px;margin-bottom:12px;align-items:center}.hint-box strong{font-size:10px}.hint-box>span{font-size:20px}.hint-box br{display:none}.hint-box strong:after{content:' · '}.input-label{font-size:10px;margin-bottom:7px;letter-spacing:.4px;color:#8b73a0}.input-label small{font-size:10px}.answer-wrap{gap:7px}.answer-wrap input{height:39px;text-align:center;border-radius:11px;border:1px solid #e7dcf0;background:#faf5ff;letter-spacing:6px;font:500 20px var(--display);color:#6d4e8d}.answer-wrap input::placeholder{font:400 11px var(--body);letter-spacing:0}.erase{height:39px;width:37px;border-radius:11px;background:#f6eefc;border-color:#e7dcf0;color:#997bad;font-size:19px}.letter-caption{font-size:9px;letter-spacing:.4px;margin:12px 0 7px}.letter-rack{justify-content:center;gap:6px;min-height:0;margin-bottom:12px}.letter-btn{width:36px;height:38px;border:1px solid #f0d295;border-bottom:4px solid #e0b866;border-radius:9px;background:linear-gradient(145deg,#fff9dd,#ffedb6);color:#876232;font:500 18px var(--display);transition:transform .13s,background .2s}.letter-btn small{font-size:9px;right:3px;top:2px;color:#bc9568}.letter-btn:active{transform:translateY(3px) scale(.97)}.letter-btn:hover:enabled{background:#ffe79a;transform:translateY(-2px)}.primary{background:#7953a6;color:white;font:500 15px var(--display);padding:11px 15px;border-radius:13px;box-shadow:0 4px 0 #593a85,0 7px 12px #64429212;transition:transform .16s,box-shadow .16s}.primary:hover:enabled{background:#8660b1;transform:translateY(-2px);box-shadow:0 6px 0 #593a85}.primary:active:enabled{transform:translateY(3px);box-shadow:0 1px 0 #593a85}.secondary{border-radius:13px;background:#fff7df;border:1px solid #eee0b9;box-shadow:0 3px 0 #ddc9a250;color:#8f7245;font-size:11px;padding:9px 12px}.actions{gap:8px}.controls-bottom{margin-top:10px;font-size:9px}.quiet-note{font-size:9px;color:#c0abc9}.text-button{font-size:10px;color:#ab8fba;text-decoration:none}.feedback{font-size:12px;background:#fff0dc;color:#a1793c;padding:11px 13px;margin-bottom:11px;border-radius:14px;animation:feedback-arrive .35s ease both}.feedback.success{background:#ecf7dc;color:#557e32}.feedback h3{font-size:21px;letter-spacing:-.3px}.meaning-list{gap:5px;margin-top:8px}.meaning-list span{font-size:10px;padding:5px 7px;border-radius:7px;background:#ffffff99}.level-dock{display:flex;justify-content:space-between;align-items:center;padding:18px 8px 5px;gap:12px}.level-dock button{border:0;background:#ffffff48;border-radius:30px;padding:8px 12px;color:#805e9a;font-size:11px;font-weight:500;transition:background .2s}.level-dock button:hover{background:#ffffff85}.level-dock button span{margin-left:5px}.dock-mode{font-family:var(--display);font-size:13px!important}.settings-dialog,.menu-dialog{border:0;padding:25px 20px 19px;max-width:420px;width:calc(100% - 30px);max-height:85dvh;overflow-y:auto;border-radius:28px;background:#fff9ff;color:var(--ink);box-shadow:0 20px 80px #3f1c6255;animation:sheet-enter .3s ease}.settings-dialog::backdrop,.menu-dialog::backdrop{background:#42235955;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:13px;top:10px;border:0;background:#eee0f5;color:#9072a7;border-radius:50%;width:28px;height:28px;font-size:21px;z-index:2}.settings-card{padding:9px 0 0;border:0;background:none;border-radius:0}.settings-card .mode-tabs{width:100%;margin:16px 0 0;background:#efe3f6;border-radius:14px;display:flex}.settings-card .mode-tabs button{flex:1;justify-content:center;padding:11px 6px;border-radius:10px;font-size:12px}.settings-card .mode-tabs button.active{background:#fff;box-shadow:0 3px 0 #d5bddf80}.settings-card>p{display:none}.settings-card .difficulty-list{grid-template-columns:repeat(3,1fr)}.difficulty-btn{padding:10px 6px;text-align:center;display:block;background:#fff}.difficulty-btn .dots{display:block;margin-bottom:4px;font-size:10px}.difficulty-btn strong{font-size:11px}.difficulty-btn small{font-size:9px}.settings-card .select-row{grid-template-columns:1fr 1fr}.setting-label{font-size:11px}.select{background:#fff;height:40px;font-size:12px}.settings-dialog .mini-card{display:none}.data-status{font-size:9px;padding:12px 0 0;justify-content:center;color:#b096bb}.menu-dialog{text-align:center;padding:23px 30px 28px}.menu-mascot{height:165px;width:165px;object-fit:contain;animation:mascot-idle 4s ease-in-out infinite}.menu-dialog h2{font-size:29px}.menu-dialog p{font-size:12px;color:var(--muted);margin:7px 0 23px}.menu-dialog button:not(.dialog-close){display:block;width:100%;margin-top:12px}.menu-dialog .primary{padding:13px}.menu-dialog .secondary{padding:12px;background:#f2e8f8;border-color:#e3d4ec;box-shadow:0 3px 0 #d6c1e0;color:#88679f}.intro{margin:20px 0}.intro h1{color:#fff;font-size:30px;text-shadow:0 2px 0 #936caf25}.intro p{color:#77588e;font-size:12px}.eyebrow{font-size:10px;color:#9472a9}.intro>.xp-pill{display:none}.section-card{border-radius:23px;background:#ffffffd9;box-shadow:0 5px 0 #a078bf15;padding:22px;margin:20px 0;border:1px solid #fff}.section-card h2{font-size:23px}.section-card p,.section-card li{font-size:13px;color:#967eaa}.stats-strip{margin-top:20px;gap:10px}.stat-item{background:#ffffffb0;border-color:#fff;border-radius:18px;padding:15px}.stat-item b{font:500 26px var(--display)}.stat-item span{font-size:10px}.history-item{font-size:12px}.history-item small{font-size:10px}.game-top .hearts:empty{display:none}.pyramid[data-layers="7"]{--tile:48px}.pyramid[data-layers="8"]{--tile:43px}.pyramid[data-layers="6"]{--tile:53px}
@keyframes row-arrive{from{opacity:0;transform:translateY(-50px) rotate(-8deg) scale(.7)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes row-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes win-row{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-15px) scale(1.055)}65%{transform:translateY(3px) scale(.98)}100%{transform:translateY(0) scale(1)}}
@keyframes mascot-idle{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}
@keyframes mascot-win{0%,100%{transform:translateY(0) rotate(-3deg)}45%{transform:translateY(-15px) rotate(8deg)}}
@keyframes ambient-drift{0%,100%{translate:0 0;rotate:-8deg}50%{translate:0 -16px;rotate:8deg}}
@keyframes sheet-enter{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes feedback-arrive{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:750px){#main{max-width:600px}.game-top{height:88px}.stage-title h1{font-size:37px}.pyramid{padding:35px 0 22px;min-height:285px}.game-controls{padding:16px 23px}.stage-bottom{margin-bottom:12px}.mascot-mini{left:5px}.pyramid[data-layers="8"]{--tile:46px}.stage-title p{font-size:13px}}
@media(max-width:500px){#main{padding:0 15px 12px}.game-top{height:67px;gap:9px}.play-brand{font-size:17px}.round-icon{width:34px;height:34px;font-size:17px}.sound-toggle{font-size:20px}.top-points{padding:6px 11px;gap:4px}.top-points strong{font-size:18px}.top-points span{font-size:17px}.game-top .hearts{font-size:11px}.stage-title h1{font-size:29px;margin:11px 0 4px}.stage-title>span{font-size:9px;padding:5px 12px}.stage-title p{font-size:11px}.pyramid{--tile:clamp(43px,12vw,55px);min-height:245px;gap:7px;padding:24px 0 15px}.pyramid[data-layers="5"]{--tile:clamp(38px,11vw,48px)}.pyramid[data-layers="6"]{--tile:clamp(35px,10vw,43px)}.pyramid[data-layers="7"]{--tile:clamp(31px,9vw,39px)}.pyramid[data-layers="8"]{--tile:clamp(28px,8vw,35px)}.pyramid-row{gap:4px}.tile{border-radius:9px}.stage-bottom{height:31px;margin-bottom:7px}.mascot-mini{width:77px;height:83px;bottom:-6px}.mascot-mini img{height:72px;width:72px}.mascot-mini span{left:51px;bottom:36px;font-size:9px;padding:5px 7px}.touch-note{font-size:9px;margin-left:28px}.round-bubble{right:8px;width:23px;height:23px;font-size:11px}.game-controls{padding:13px 15px 11px;border-radius:23px}.letter-rack{gap:5px}.letter-btn{width:33px;height:35px;font-size:17px}.level-dock{padding:16px 1px 4px;gap:7px}.level-dock button{font-size:10px;padding:8px 10px}.dock-mode{font-size:12px!important}.hint-box{font-size:10px}.hint-box strong{font-size:9px}.primary{font-size:14px}.ambient-shape.shape-one{width:85px;height:85px}.ambient-shape.shape-two{width:70px;height:70px}.row-number{left:-17px;font-size:9px}}
@media(max-width:360px){.game-top .hearts{font-size:10px;letter-spacing:0}.game-top{gap:6px}.play-brand{font-size:16px}.top-points{padding:5px 8px}.pyramid[data-layers="8"]{--tile:27px}.letter-btn{width:30px;height:33px}.stage-title h1{font-size:27px}.game-controls{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){.pyramid-row,.pyramid.arrive .pyramid-row,.pyramid.celebrate .pyramid-row,.mascot-mini img,.menu-mascot,.ambient-shape{animation:none!important}.tile{will-change:auto}}

.terms-choice{font-size:15px;text-align:left;margin:18px 0;padding:14px;border:1px solid #e3bac6;border-radius:16px;background:#fffaf2}.terms-choice .terms-check{display:flex;align-items:flex-start;gap:12px;line-height:1.55}.terms-choice input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;accent-color:#c8276b;margin:0;min-height:24px}.terms-choice p{font-size:14px;line-height:1.5;margin:10px 0 0}.terms-choice a{color:#9c174a;text-decoration:underline}.terms-choice a:focus-visible{outline:3px solid #138da0;outline-offset:3px}

.letter-source-description { margin-top: .5rem; }

.newsletter-check{display:flex;align-items:flex-start;gap:12px;text-align:left;font-size:15px;line-height:1.55;margin:16px 0}.newsletter-check input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;min-height:24px;margin:2px 0 0;accent-color:#c8276b}.profile-newsletter{margin:28px 0;padding:20px;border-radius:18px;background:#fff7f1}.profile-newsletter h2{margin:0 0 12px}.profile-newsletter .newsletter-check{font-weight:400}.newsletter-check:focus-within{border-radius:6px;outline:2px solid #138da0;outline-offset:5px}

.newsletter-check small{display:block;margin-top:6px;font-size:14px;font-weight:400;line-height:1.5;color:#657087}

.account-delete {
  margin: 1.25rem 0;
}
.account-delete > .account-delete-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 48px;
  padding: .75rem 1rem;
  border: 2px solid #9e254e;
  border-radius: .85rem;
  background: #fff5f7;
  color: #85183e;
  font-size: 1rem;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}
.account-delete-button::-webkit-details-marker { display: none; }
.account-delete-button::after { content: '+'; }
.account-delete[open] > .account-delete-button::after { content: '−'; }
.account-delete-button:focus-visible {
  outline: 3px solid #85183e;
  outline-offset: 3px;
}
