:root{--ds-primary:#6253de;--ds-ink:#253047;--ds-muted:#50647c;--ds-line:#e1e5f2;--ds-paper:#fff;--ds-bg:#f6f7fc;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ds-ink);background:var(--ds-bg)}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:var(--ds-primary);text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}:focus-visible{outline:3px solid #f3ac28;outline-offset:4px}h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.15;letter-spacing:-.035em;margin:12px 0 20px}h2{font-size:1.3rem;line-height:1.3}h3{font-size:1rem}p{color:var(--ds-muted)}.ds-header{height:86px;display:flex;align-items:center;gap:16px;padding:12px 30px;background:#ffffffed;border-bottom:1px solid var(--ds-line);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.ds-brand{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:800;color:var(--ds-ink)}.ds-brand>span:first-child{display:grid;place-items:center;width:48px;height:48px;background:#eeeaff;border-radius:16px;font-size:1.7rem}.ds-brand small{display:block;font-size:.7rem;font-weight:500;color:var(--ds-muted)}.ds-account,.ds-header>.ds-btn{margin-left:auto}.ds-account{font-size:.85rem;max-width:35%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-sidebar{position:fixed;top:86px;bottom:0;left:0;width:235px;background:white;padding:24px 16px;overflow-y:auto;border-right:1px solid var(--ds-line);z-index:25}.ds-sidebar nav>a,.ds-sidebar details>a{display:block;border-radius:12px;padding:12px 14px;margin:3px 0;color:#536079;font-weight:650;font-size:.9rem}.ds-sidebar a:hover{background:#f0edff;color:var(--ds-primary)}.ds-sidebar nav>p{font-size:.65rem;letter-spacing:.12em;margin:20px 14px 8px;font-weight:750}.ds-sidebar summary{padding:12px 14px;cursor:pointer;font-size:.9rem;font-weight:650}.ds-sidebar details>a{padding-left:24px}.ds-sidebar form{margin:20px 12px}.ds-main{margin-left:235px;padding:32px;max-width:1800px}.ds-menu,.ds-close{display:none}.ds-skip{position:fixed;left:20px;top:-100px;z-index:200;background:#fff;padding:12px}.ds-skip:focus{top:10px}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:14px;background:var(--ds-primary);color:white;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 5px 12px #6253de18;max-width:100%}.ds-btn.secondary{background:#fff;color:var(--ds-primary);border-color:#dcd8fb;box-shadow:none}.ds-btn:hover:not(:disabled){filter:brightness(.97)}.ds-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.ds-panel,.ds-card{border:1px solid var(--ds-line);border-radius:24px;background:white;padding:26px;box-shadow:0 5px 20px #25304704}.ds-panel{margin:24px 0}.ds-narrow{max-width:600px;margin:30px auto}.ds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px;margin:24px 0}.ds-card h2{margin:12px 0 8px}.ds-card p{font-size:.9rem}.ds-world{display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;color:var(--ds-ink);border-top:4px solid var(--world-color,#9b8bfa)}.ds-world:hover{transform:translateY(-4px);box-shadow:0 12px 28px #25304710}.ds-world-icon{font-size:2.5rem}.ds-card-bottom{display:flex;justify-content:space-between;gap:8px;margin-top:auto;font-weight:700;font-size:.85rem;padding-top:15px}.ds-world-bus{--world-color:#f4b95b}.ds-world-kereta{--world-color:#6cc29e}.ds-world-kapal{--world-color:#57b6e2}.ds-world-pesawat{--world-color:#879ef0}.ds-world-roket{--world-color:#d790cf}.ds-world-multiverse{--world-color:#aa8be3}.ds-world-cross{--world-color:#e7a18f}.ds-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--ds-primary)}.ds-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:30px;background:linear-gradient(135deg,#eeeaff,#f4faff);border-radius:30px;padding:40px}.ds-hero-art{font-size:clamp(2rem,5vw,4.2rem);text-align:center;line-height:1.7}.ds-hero-art br+br{font-size:6rem}.ds-price{font-size:1.8rem;font-weight:800;color:var(--ds-primary)}.ds-price small{font-size:.85rem;font-weight:500}.ds-form{display:grid;gap:18px;max-width:780px}.ds-form label{display:grid;gap:7px;font-size:.9rem;font-weight:600}.ds-form input:not([type=checkbox]),.ds-form select,select{width:100%;min-width:0;min-height:48px;padding:10px 14px;border:1px solid #cfd7e7;border-radius:12px;background:#fbfcff;color:var(--ds-ink)}.ds-form fieldset{border:1px solid var(--ds-line);border-radius:16px;padding:16px}.ds-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-form-grid>p,.ds-form-grid>.ds-actions{grid-column:1/-1}.ds-form label.ds-check,.ds-form label.ds-switch{display:flex;align-items:center;gap:10px}.ds-check input{width:21px;height:21px;accent-color:var(--ds-primary)}.ds-switch input{appearance:none;width:42px;height:25px;background:#a4adbf;border-radius:20px;position:relative;flex:none;cursor:pointer}.ds-switch input:before{content:'';position:absolute;width:19px;height:19px;border-radius:50%;background:white;top:3px;left:3px;transition:transform .15s}.ds-switch input:checked{background:var(--ds-primary)}.ds-switch input:checked:before{transform:translateX(17px)}.ds-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:20px 0}.ds-mini{background:#f6f7fc;padding:14px;border-radius:14px}.ds-mini p{margin:6px 0;font-size:.8rem}details summary{cursor:pointer;padding:12px 0;font-weight:650}.ds-notice,.ds-error{padding:16px 20px;border-radius:14px;background:#eef6ff;color:#2d5480}.ds-error{background:#fff0ee;color:#9b362a}.ds-muted{font-size:.8rem}.ds-world-heading{background:linear-gradient(135deg,#fff,#f0eeff);padding:28px;border-radius:24px;border-bottom:4px solid var(--world-color)}.ds-travel{display:flex;align-items:center;gap:18px;border-bottom:3px dashed var(--world-color);padding:12px 0}.ds-traveler{font-size:2.5rem;animation:ds-travel 2s ease-in-out infinite}.ds-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:28px 0}.ds-level{border:1px solid #ddd9f5;border-radius:22px;background:white;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ds-primary);padding:10px}.ds-level strong{font-size:1.5rem}.ds-level small{font-size:.8rem;white-space:nowrap}.ds-level.current{border:3px solid var(--ds-primary);background:#f2efff;box-shadow:0 4px 12px #6253de18}.ds-level:disabled{background:#ebeef4;color:#506078;opacity:1}.ds-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.85rem}th,td{padding:12px;border-bottom:1px solid var(--ds-line);white-space:nowrap}td img{vertical-align:middle}.ds-dialog{border:0;border-radius:24px;padding:30px;max-width:min(550px,calc(100% - 28px));box-shadow:0 25px 70px #25304740;color:var(--ds-ink)}.ds-dialog::backdrop{background:#19253b80;backdrop-filter:blur(4px)}.ds-dialog .ds-btn{margin:8px 4px 0 0}.ds-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:150;max-width:90vw;padding:14px 22px;border-radius:16px;background:#253047;color:white;box-shadow:0 5px 20px #25304730}.ds-game{position:fixed;inset:0;z-index:45;background:#f6f7fc;overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:20px}.ds-game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1100px;flex-wrap:wrap}.ds-game-top span{color:var(--ds-muted);font-size:.85rem}.ds-question{font-size:clamp(1.5rem,4vw,3rem);font-weight:800;text-align:center;max-width:100%;overflow-wrap:anywhere;min-height:70px;display:grid;place-items:center}.ds-answer{display:flex;align-items:end;justify-content:center;gap:12px;flex-wrap:wrap}.ds-answer label{display:grid;font-size:.85rem;gap:4px}.ds-answer input{width:180px;border:2px solid #d4d0f3;border-radius:14px;padding:12px;font-size:1.3rem;color:var(--ds-ink);background:white}.ds-abacus{max-width:100%;overflow-x:auto;padding:6px}.ds-abacus-frame{display:flex;justify-content:center;gap:12px;border:10px solid #80604a;border-radius:16px;padding:8px 14px;background:#fff2d7;min-width:max-content;box-shadow:0 7px 0 #49382b}.ds-rod{position:relative;width:52px;display:grid;grid-template-rows:22px 60px repeat(4,40px);justify-items:center;align-items:center;isolation:isolate}.ds-rod:before{content:'';position:absolute;top:20px;bottom:8px;left:calc(50% - 2px);width:4px;background:#b0936e;z-index:-1}.ds-rod:after{content:'';position:absolute;top:82px;left:-8px;right:-8px;height:7px;background:#80604a;z-index:-1}.ds-place{font-size:.6rem;color:#6b4a29}.ds-bead{border:0;width:46px;height:25px;border-radius:45%;background:linear-gradient(#f9ad5f,#e2832c);box-shadow:inset 0 -3px 0 #b56828,0 2px 2px #49382b20;touch-action:pan-x;transition:transform .15s}.ds-bead.upper{transform:translateY(-12px);background:linear-gradient(#a69aef,#7664d0);box-shadow:inset 0 -3px 0 #59479d}.ds-bead.upper.active{transform:translateY(12px)}.ds-bead.lower{transform:translateY(9px)}.ds-bead.lower.active{transform:translateY(-6px)}.ds-abacus-value{text-align:center;display:block;color:var(--ds-muted);padding:10px;font-weight:700}.ds-cross-grid{display:grid;grid-template-columns:repeat(5,45px);gap:5px;text-align:center}.ds-cross-grid span{min-height:40px;display:grid;place-items:center;background:#fff;border-radius:8px}.ds-cross-grid .missing{background:#e6e0ff;border:2px solid var(--ds-primary);font-weight:800}.ds-playing{overflow:hidden}.ds-playing .ds-main,.ds-playing .ds-header,.ds-playing .ds-sidebar{visibility:hidden}.ds-playing .ds-game{visibility:visible}#ds-game-result{text-align:center;font-size:1.15rem}@keyframes ds-travel{0%,100%{transform:translateX(0) rotate(-3deg)}50%{transform:translateX(15px) rotate(3deg)}}@media(max-width:1100px){.ds-levels{grid-template-columns:repeat(5,minmax(0,1fr))}.ds-main{padding:24px}}@media(max-width:850px){.ds-header{height:75px;padding:10px 16px;gap:10px}.ds-menu{display:block;border:0;background:#efebff;border-radius:12px;width:42px;height:42px;font-size:1.3rem;color:var(--ds-primary)}.ds-main{margin-left:0;padding:20px}.ds-sidebar{top:0;z-index:60;width:min(300px,85vw);transform:translateX(-100%);transition:transform .2s}.ds-menu-open .ds-sidebar{transform:translateX(0)}.ds-close{display:block;border:0;background:#efebff;color:var(--ds-primary);border-radius:10px;padding:12px 16px;margin-bottom:20px}.ds-backdrop{position:fixed;inset:0;background:#25304770;border:0;z-index:55}.ds-hero{padding:26px;gap:15px}.ds-hero-art{font-size:2.8rem}}@media(max-width:550px){.ds-main{padding:18px 14px}.ds-header{padding-inline:12px}.ds-brand{font-size:1rem;gap:8px}.ds-brand>span:first-child{width:38px;height:38px;font-size:1.3rem}.ds-brand small{font-size:.55rem}.ds-header>.ds-btn{padding:8px 10px;font-size:.75rem;min-height:40px}.ds-account{font-size:.7rem}.ds-hero{grid-template-columns:1fr}.ds-hero-art{display:none}.ds-panel,.ds-card{padding:20px;border-radius:20px}.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ds-card{padding:16px}.ds-card h2{font-size:1.1rem}.ds-card p{font-size:.78rem}.ds-card-bottom{flex-direction:column;font-size:.75rem}.ds-form-grid{grid-template-columns:1fr}.ds-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ds-level{min-height:105px}.ds-game{padding:14px;gap:15px}.ds-game-top strong{font-size:.9rem}.ds-game-top .ds-btn{font-size:.75rem;padding:9px 12px;min-height:40px}.ds-abacus-frame{gap:1px;padding:6px;border-width:7px}.ds-rod{width:37px;grid-template-rows:22px 60px repeat(4,40px)}.ds-bead{width:33px}.ds-rod:after{left:-1px;right:-1px}.ds-place{font-size:.48rem}.ds-answer input{width:140px}.ds-answer .ds-btn{font-size:.85rem}.ds-grid>.ds-panel{grid-column:1/-1;margin:0}.ds-world-heading{padding:20px}.ds-dialog{padding:24px}.ds-hero .ds-btn{font-size:.85rem}.ds-card small{font-size:.7rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ds-account img{vertical-align:middle;margin-right:5px}.ds-level.current>span{display:block;animation:ds-travel 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.ds-level.current>span{animation:none}}
/* Profile identity and visual avatar selection. */
.ds-avatar-picker{grid-column:1/-1;margin:0;min-width:0}.ds-avatar-picker>p{margin:0 0 12px;font-size:.82rem}.ds-avatar-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px}.ds-avatar-option{position:relative;cursor:pointer}.ds-avatar-option input{position:absolute;opacity:0;width:1px;height:1px}.ds-avatar-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border:2px solid transparent;border-radius:18px;background:#f3f5fc;transition:transform .15s,border-color .15s,background .15s;font-size:.73rem;text-align:center;color:#3e4b68}.ds-avatar-tile img{width:42px;height:42px;padding:5px;background:#fff;border-radius:50%}.ds-avatar-option:nth-child(3n+1) .ds-avatar-tile{background:#f1edff}.ds-avatar-option:nth-child(3n+2) .ds-avatar-tile{background:#e9f8f4}.ds-avatar-option:nth-child(3n) .ds-avatar-tile{background:#fff5e3}.ds-avatar-option input:checked+.ds-avatar-tile{border-color:var(--ds-primary);box-shadow:0 5px 16px #6253de18}.ds-avatar-option input:focus-visible+.ds-avatar-tile{outline:3px solid #f3ac28;outline-offset:3px}.ds-avatar-check{position:absolute;top:6px;right:6px;display:none;width:18px;height:18px;background:var(--ds-primary);color:#fff;border-radius:50%;font-size:.7rem}.ds-avatar-option input:checked+.ds-avatar-tile .ds-avatar-check{display:block}.ds-profile-heading{display:flex;align-items:center;gap:15px}.ds-profile-heading>img{padding:10px;border-radius:18px;background:#eeeaff}.ds-profile-heading h2{margin:0 0 5px}.ds-profile-code{display:block;width:fit-content;max-width:100%;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:#eef1fa;color:#586784;border-radius:7px;padding:3px 7px;overflow-wrap:anywhere}.ds-rank-you{background:#f1eeff}.ds-you-badge{display:inline-block;border-radius:99px;background:var(--ds-primary);color:#fff;font-size:.65rem;padding:2px 8px;margin-left:5px}.ds-rank-you td{border-block:1px solid #d9d2ff}.ds-panel{box-shadow:0 8px 28px #25304706}.ds-form input:not([type=checkbox]):not([type=radio]):focus,.ds-form select:focus{border-color:var(--ds-primary);box-shadow:0 0 0 4px #6253de10}@media(hover:hover){.ds-avatar-option:hover .ds-avatar-tile{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.ds-avatar-tile{transition:none}}@media(max-width:550px){.ds-avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-avatar-tile{padding:12px 4px;font-size:.65rem}.ds-avatar-tile img{width:38px;height:38px}}
.ds-form .ds-avatar-option input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;border:0}
@media(max-width:650px){.ds-rank-list{padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.ds-rank-list table,.ds-rank-list tbody{display:block;width:100%}.ds-rank-list thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.ds-rank-list tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:12px 0;padding:18px;border:1px solid var(--ds-line);border-radius:20px;background:#fff;box-shadow:0 5px 16px #25304704}.ds-rank-list td{border:0;white-space:normal;padding:8px 0;font-size:.84rem}.ds-rank-list td:first-child{position:absolute;top:16px;right:16px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f0edff;color:var(--ds-primary);font-weight:800;padding:0}.ds-rank-list td:nth-child(2){grid-column:1/-1;padding-right:40px;font-weight:700}.ds-rank-list .ds-profile-code{margin-top:8px}.ds-rank-list td:nth-child(3){grid-column:1/-1;border-bottom:1px solid #e8e7f5;font-weight:800;font-size:1rem}.ds-rank-list td[data-label]:before{content:attr(data-label);display:block;font-size:.67rem;font-weight:500;color:var(--ds-muted);margin-bottom:3px}.ds-rank-list tr.ds-rank-you{border:2px solid #9d90f1;background:#f8f6ff}}
.ds-profile-heading>div{min-width:0}.ds-profile-heading h2,.ds-rank-list td:nth-child(2){overflow-wrap:anywhere}
.ds-main h1,.ds-main p{overflow-wrap:anywhere}

/* Child navigation is a drawer on every screen. */
.ds-child-shell .ds-main{margin-left:0;max-width:1600px;margin-inline:auto}
.ds-child-shell .ds-menu{display:grid;place-items:center;flex:none;border:0;background:#efebff;border-radius:13px;width:44px;height:44px;font-size:1.3rem;color:var(--ds-primary)}
.ds-child-shell .ds-sidebar{top:0;z-index:60;width:min(300px,85vw);transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 50px #25304718}
.ds-child-shell.ds-menu-open .ds-sidebar{transform:translateX(0)}
.ds-child-shell .ds-close{display:block;border:0;background:#efebff;color:var(--ds-primary);border-radius:12px;padding:12px 16px;margin-bottom:20px}
.ds-child-shell .ds-backdrop{position:fixed;inset:0;background:#25304770;border:0;z-index:55;backdrop-filter:blur(3px)}
/* A compact play desk keeps the instrument, live value and answer together. */
.ds-game{--bead-row:clamp(25px,4.4dvh,40px);--upper-row:calc(var(--bead-row)*1.5);--place-row:18px;--rod-width:clamp(32px,calc((100vw - 75px)/7),52px);height:100vh;height:100dvh;padding:clamp(10px,2vw,24px);gap:10px;background:radial-gradient(ellipse at 15% 0,#e4ddff,transparent 55%),radial-gradient(ellipse at 100% 100%,#dff6f1,transparent 50%),#f7f8fd;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;align-content:center;justify-items:center;overscroll-behavior:contain}
.ds-game-top{align-self:start;max-width:1080px;flex-wrap:nowrap;padding:10px 14px;border:1px solid #ffffffc0;border-radius:18px;background:#ffffffc9;box-shadow:0 6px 24px #4b3c7e08;backdrop-filter:blur(10px)}
.ds-game-top strong{line-height:1.2;font-size:1rem;min-width:0}.ds-game-top span{font-variant-numeric:tabular-nums;line-height:1.3;text-align:center}.ds-game-top .ds-btn{min-height:38px;padding:8px 12px;font-size:.75rem;flex:none}
.ds-question{min-height:0;padding:4px 12px;line-height:1.2;font-size:clamp(1.4rem,4.5vw,2.7rem);color:#3e337a;letter-spacing:-.025em}
.ds-abacus{overflow:visible;padding:4px;max-width:100%}.ds-abacus-frame{gap:2px;padding:5px 9px;border:7px solid #614b83;border-radius:18px;background:linear-gradient(135deg,#fff8e7,#fff0d4);box-shadow:0 5px 0 #443258,0 12px 24px #4f397b15;min-width:0}
.ds-rod{width:var(--rod-width);grid-template-rows:var(--place-row) var(--upper-row) repeat(4,var(--bead-row))}
.ds-rod:before{top:var(--place-row);bottom:6px;background:#c6a57e}.ds-rod:after{top:calc(var(--place-row) + var(--upper-row));height:5px;background:#614b83;left:-3px;right:-3px}
.ds-bead{width:calc(var(--rod-width) - 4px);height:calc(var(--bead-row)*.65);max-height:27px;min-height:16px;touch-action:none}
.ds-bead.upper{transform:translateY(calc(var(--bead-row)*-.24))}.ds-bead.upper.active{transform:translateY(calc(var(--bead-row)*.24))}.ds-bead.lower{transform:translateY(calc(var(--bead-row)*.2))}.ds-bead.lower.active{transform:translateY(calc(var(--bead-row)*-.16))}
.ds-place{font-size:clamp(.43rem,1.5vw,.6rem)}.ds-abacus-value{margin:9px auto 0;padding:4px 16px;width:fit-content;border:1px solid #d8d0ee;border-radius:99px;background:#ffffffd9;color:#493984;font-size:.95rem;font-variant-numeric:tabular-nums;line-height:1.5}
.ds-answer{flex-wrap:nowrap;gap:10px;padding:10px 14px;border:1px solid #e3def1;border-radius:20px;background:#fff;box-shadow:0 6px 24px #4b3c7e08;max-width:100%}.ds-answer label{font-size:.7rem;line-height:1.2;gap:3px;min-width:0}.ds-answer input{width:clamp(110px,25vw,180px);max-width:100%;padding:7px 10px;font-size:1.1rem;border-radius:10px}.ds-answer .ds-btn{font-size:.85rem;padding:10px 14px;min-height:43px}.ds-game #ds-game-status{margin:0;font-size:.8rem;line-height:1.3;text-align:center}.ds-game #ds-game-status:empty{display:none}.ds-cross-grid{grid-template-columns:repeat(5,clamp(25px,5dvh,38px));gap:3px}.ds-cross-grid span{min-height:clamp(24px,4dvh,34px);font-size:.85rem}
@media(max-width:550px){.ds-game-top{gap:7px;padding:8px}.ds-game-top strong{font-size:.8rem}.ds-game-top span{font-size:.7rem}.ds-game-top .ds-btn{font-size:.65rem;padding:7px 9px;min-height:34px}.ds-answer{padding:8px 10px}.ds-game{gap:8px}}
@media(orientation:landscape) and (max-height:600px){.ds-game{--bead-row:clamp(22px,6dvh,32px);--place-row:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto 1fr auto;grid-template-areas:"top top" "question abacus" "answer answer";align-content:stretch;align-items:center;gap:6px 14px}.ds-game-top{grid-area:top;padding:6px 12px}.ds-question{grid-area:question;font-size:clamp(1.2rem,3.2vw,2rem)}.ds-abacus{grid-area:abacus;--rod-width:clamp(30px,5vw,45px)}.ds-answer{grid-area:answer;padding:6px 14px}.ds-abacus-value{margin-top:7px;padding:2px 12px;font-size:.8rem}.ds-cross-grid{grid-area:question;align-self:end}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-question{align-self:start;font-size:1rem}.ds-game:has(#ds-game-result:not([hidden])){display:flex;justify-content:center}.ds-game #ds-game-status:not(:empty){position:absolute;bottom:2px;right:12px;max-width:20%;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.ds-child-shell .ds-sidebar{transition:none}}
@media(orientation:portrait){.ds-game:has(.ds-cross-grid:not([hidden])){--bead-row:clamp(18px,3dvh,26px);--place-row:14px;gap:6px}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-cross-grid{grid-template-columns:repeat(5,28px)}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-cross-grid span{min-height:24px;font-size:.75rem}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-question{font-size:1.05rem}}

/* Larger instruments, with a compact fallback only when screen height needs it. */
.ds-game{--bead-row:clamp(30px,6dvh,56px);--place-row:20px}
.ds-game .ds-abacus{--rod-width:clamp(32px,calc((100vw - 76px)/var(--ds-rods,7)),82px)}
.ds-game .ds-abacus-frame{padding:8px 12px;border-width:9px;border-radius:22px;gap:3px}
.ds-game .ds-bead{max-height:36px;min-height:19px}.ds-game .ds-place{font-size:clamp(.45rem,1.5vw,.7rem)}
.ds-answer-feedback{position:fixed;left:50%;top:max(72px,12dvh);transform:translateX(-50%);z-index:80;width:max-content;max-width:calc(100vw - 28px);padding:13px 20px;border-radius:18px;border:1px solid #b7e8d0;background:#eafff3;color:#166448;box-shadow:0 8px 30px #25304718;text-align:center;font-weight:750;font-size:clamp(.8rem,2vw,1rem);pointer-events:none;animation:ds-feedback-in .2s ease-out}.ds-answer-feedback[data-kind=encourage]{background:#fff7e5;border-color:#f1d59f;color:#805814}.ds-result-praise{max-width:580px;font-size:clamp(1.2rem,3vw,1.9rem);color:#514193;line-height:1.4;margin:12px auto 20px}
@keyframes ds-feedback-in{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
.ds-learn-heading{max-width:800px}.ds-learn-heading h1{margin-bottom:14px}.ds-lesson-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}.ds-topic{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:14px;border:1px solid #dfe3f0;border-radius:18px;background:#fff;color:#56617b;font-weight:750;font-size:.95rem}.ds-topic>span{font-size:1.5rem}.ds-topic[aria-pressed=true]{border-color:#7663e7;background:#f0ecff;color:#5142a6;box-shadow:0 0 0 2px #e6dfff}
.ds-lesson-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);border:1px solid #dedff1;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 12px 45px #443b7d08}.ds-lesson-guide{padding:30px;background:linear-gradient(150deg,#faf9ff,#f4f8ff);border-right:1px solid #e7e4f3}.ds-lesson-guide h2{font-size:1.65rem;margin:10px 0 16px;letter-spacing:-.025em}.ds-lesson-guide p{font-size:.95rem}.ds-lesson-rule{padding:17px;border:1px solid #e3dcfb;border-radius:16px;background:#fff;margin:20px 0}.ds-lesson-rule strong{color:#6653b5;font-size:.8rem}.ds-lesson-rule p{margin:8px 0 0;color:#4a4167}.ds-lesson-select{display:grid;gap:8px;font-size:.85rem;font-weight:700}.ds-lesson-select select{font-size:.85rem;background:#fff}.ds-lesson-guide .ds-lesson-tip{font-size:.8rem;line-height:1.7;margin:20px 0 0}.ds-lesson-demonstration{padding:26px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:18px}.ds-lesson-step-heading{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ds-lesson-step-heading span{font-size:.75rem;background:#f0ecff;border-radius:99px;padding:6px 12px;color:#6653b5;font-weight:700}.ds-lesson-step-heading strong{font-size:1.3rem;color:#453876}
#ds-lesson-abacus{--bead-row:50px;--upper-row:75px;--place-row:22px;--rod-width:clamp(46px,7vw,90px);overflow:visible;width:fit-content;max-width:100%}#ds-lesson-abacus .ds-abacus-frame{gap:5px;padding:12px 16px;border-width:10px;border-radius:22px}#ds-lesson-abacus .ds-bead{max-height:35px}#ds-lesson-abacus .ds-place{font-size:.75rem}#ds-lesson-abacus .ds-abacus-value{font-size:1.2rem;padding:8px 22px;margin-top:16px}.ds-rod-changed{background:#bcb0ff35;border-radius:14px;outline:2px solid #b7a8ef55}
#ds-lesson-output{width:100%;padding:18px 20px;border:1px solid #e2dff3;border-radius:16px;background:#f9f7ff;color:#493d73;font-size:1rem;line-height:1.7;min-height:100px}.ds-lesson-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;width:100%}.ds-lesson-controls .ds-btn{font-size:.8rem;padding:10px 14px}.ds-lesson-practice{width:100%;padding-top:18px;border-top:1px dashed #ded9f0;text-align:center}.ds-lesson-practice .ds-btn{font-size:.85rem;margin:4px}.ds-lesson-practice p{font-size:.85rem;margin:12px 0 0}.ds-learn-more{padding:30px}.ds-learn-more>p{max-width:850px}.ds-learn-more ol{line-height:2;color:#56617b;padding-left:22px}.ds-math-groups{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.ds-math-groups span{padding:14px 20px;background:#f1edff;color:#64419e;border:1px solid #e1d7fa;border-radius:18px;font-size:1.25rem;line-height:1.7;letter-spacing:3px}.ds-math-answer:not(:empty){padding:18px;border-radius:14px;background:#f1faf6;color:#2b6b53;font-weight:650;margin:16px 0}
@media(max-width:1000px){.ds-lesson-studio{grid-template-columns:1fr}.ds-lesson-guide{border-right:0;border-bottom:1px solid #e7e4f3}.ds-lesson-guide .ds-lesson-tip{margin-top:14px}.ds-lesson-topics{grid-template-columns:repeat(2,minmax(0,1fr))}#ds-lesson-abacus{--rod-width:clamp(46px,14vw,90px)}}
@media(max-width:550px){.ds-topic{font-size:.8rem;padding:12px 8px;min-height:65px;gap:7px}.ds-lesson-topics{gap:9px}.ds-lesson-guide,.ds-lesson-demonstration,.ds-learn-more{padding:18px}.ds-lesson-guide h2{font-size:1.4rem}.ds-lesson-guide p{font-size:.9rem}#ds-lesson-abacus{--bead-row:42px;--upper-row:63px;--place-row:20px;--rod-width:clamp(40px,calc((100vw - 114px)/4),68px)}#ds-lesson-abacus .ds-abacus-frame{padding:8px;border-width:8px;gap:2px}#ds-lesson-abacus .ds-place{font-size:.6rem}#ds-lesson-output{padding:14px;font-size:.9rem}.ds-lesson-controls{display:grid;grid-template-columns:1fr 1fr}.ds-lesson-controls .ds-btn{font-size:.72rem;padding:9px 7px}.ds-lesson-controls #ds-lesson-restart{grid-column:1/-1}.ds-math-groups{gap:8px}.ds-math-groups span{padding:10px 12px;font-size:1rem}}
@media(orientation:landscape) and (max-height:600px){.ds-game{--bead-row:clamp(26px,6.8dvh,34px);--place-row:16px}.ds-game .ds-abacus{--rod-width:clamp(29px,calc((50vw - 62px)/var(--ds-rods,7)),76px)}.ds-game .ds-abacus-frame{padding:5px 8px;border-width:7px;gap:2px}.ds-answer-feedback{top:65px;font-size:.75rem;padding:9px 16px}}
@media(orientation:portrait){.ds-game:has(.ds-cross-grid:not([hidden])){--bead-row:clamp(18px,3dvh,26px);--place-row:14px}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-abacus-frame{padding:5px 9px;border-width:7px}}
@media(prefers-reduced-motion:reduce){.ds-answer-feedback{animation:none}}
@media(orientation:landscape) and (max-height:600px){.ds-game{padding:8px 12px;gap:4px 14px}.ds-game .ds-answer{padding:5px 12px}}
.ds-game:has(#ds-game-result:not([hidden])) #ds-question{color:#d99b11;text-shadow:0 3px 0 #fff0b8;letter-spacing:.08em}

/* Physical soroban: active beads touch the beam, inactive beads form a far stack. */
.ds-abacus .ds-rod{--bead-size:calc(var(--bead-row)*.72);--beam-y:calc(var(--place-row) + var(--upper-row));--rod-height:calc(var(--place-row) + var(--upper-row) + var(--bead-row)*4);display:block;height:var(--rod-height)}
.ds-abacus .ds-place{position:absolute;top:0;left:0;width:100%;text-align:center;line-height:var(--place-row)}
.ds-abacus .ds-rod:before{top:var(--place-row);bottom:2px;width:5px;left:calc(50% - 2.5px);background:linear-gradient(90deg,#987648,#dbc39b,#9a784b);border-radius:4px}
.ds-abacus .ds-rod:after{top:var(--beam-y);height:5px;background:linear-gradient(#795533,#4d321f);box-shadow:0 1px 1px #fff7;left:-4px;right:-4px}
.ds-abacus .ds-bead{position:absolute;left:2px;width:calc(var(--rod-width) - 4px);height:var(--bead-size);min-height:0;max-height:none;margin:0;transform:none;border-radius:42% 42% 40% 40% / 55% 55% 45% 45%;border:1px solid #9e622b;background:linear-gradient(175deg,#ffe2a2 0%,#e5a451 20%,#c67b30 49%,#a45c24 52%,#d6974a 85%,#8b4c22 100%);box-shadow:inset 0 2px 2px #fff8,inset 0 -3px 2px #713b2340,0 2px 2px #51382340;transition:top .18s ease,background .18s ease;z-index:1}
.ds-abacus .ds-bead.upper{top:calc(var(--place-row) + 3px)}
.ds-abacus .ds-bead.upper.active{top:calc(var(--beam-y) - var(--bead-size) - 2px);transform:none}
.ds-abacus .ds-bead.lower{top:calc(var(--rod-height) - 2px - (4 - var(--bead-index))*(var(--bead-size) + 1px));transform:none}
.ds-abacus .ds-bead.lower.active{top:calc(var(--beam-y) + 7px + var(--bead-index)*(var(--bead-size) + 1px));transform:none}
.ds-abacus .ds-bead.active{background:linear-gradient(175deg,#a7f1df,#4abda4 30%,#238d79 51%,#157360 53%,#47b29a 85%,#116452);border-color:#186b59;box-shadow:inset 0 2px 2px #e2fffacc,inset 0 -3px 2px #06463455,0 1px 2px #173d3240}
.ds-abacus .ds-bead:focus-visible{outline:3px solid #3269dd;outline-offset:2px;z-index:2}
.ds-abacus .ds-abacus-frame{border-color:#785239;background:linear-gradient(100deg,#f6e8cc,#fff6e3 50%,#eddbb8);box-shadow:0 5px 0 #4d3324,inset 0 0 0 2px #b48b6266,0 12px 24px #4f397b15}
/* Full-height play surface: header above, answer dock below, instrument between. */
.ds-game{grid-template-areas:"top" "question" "instrument" "answer" "status";grid-template-rows:auto auto minmax(min-content,1fr) auto auto;align-content:stretch;padding:12px 20px;gap:10px}
.ds-game-top{grid-area:top;max-width:none;border-radius:16px;min-height:52px}
.ds-game .ds-question{grid-area:question;margin:0;padding:8px 12px}
.ds-game #ds-abacus{grid-area:instrument;align-self:center}
.ds-game .ds-answer{grid-area:answer;width:min(100%,640px);justify-content:center;padding:12px 18px;border-radius:20px}
.ds-game .ds-answer label{flex:1;max-width:340px}.ds-game .ds-answer input{width:100%}
.ds-game #ds-game-status{grid-area:status}
.ds-game:has(.ds-cross-grid:not([hidden])){grid-template-areas:"top" "question" "cross" "instrument" "answer" "status";grid-template-rows:auto auto auto minmax(min-content,1fr) auto auto;gap:6px}
.ds-game .ds-cross-grid{grid-area:cross}
.ds-game:has(#ds-game-result:not([hidden])){grid-template-areas:"top" "question" "result";grid-template-rows:auto auto 1fr}
.ds-game #ds-game-result{grid-area:result;align-self:start;padding-top:20px}
.ds-game .ds-place{font-size:clamp(.45rem,1.2vw,.65rem)}
.ds-world-heading{padding:20px 24px;border-radius:20px;border-bottom-width:3px;max-width:1100px;margin-inline:auto}
.ds-world-heading .ds-eyebrow{font-size:.65rem;margin:0 0 8px;letter-spacing:.1em}.ds-world-heading h1{font-size:clamp(1.5rem,3vw,2.3rem);margin:0 0 10px}.ds-world-heading>p:not(.ds-eyebrow){font-size:.85rem;margin:0 0 10px}.ds-world-heading .ds-travel{padding:7px 0;gap:12px;font-size:.85rem}.ds-world-heading .ds-traveler{font-size:1.7rem}.ds-child-shell .ds-levels{max-width:1100px;margin-inline:auto}
@media(max-width:550px){.ds-game{padding:8px 10px;gap:6px}.ds-game .ds-answer{padding:9px 12px}.ds-world-heading{padding:16px 18px}.ds-world-heading h1{font-size:1.55rem}.ds-world-heading>p:not(.ds-eyebrow){font-size:.76rem;line-height:1.5}.ds-world-heading .ds-travel{font-size:.8rem}.ds-game-top{min-height:46px}.ds-game:has(.ds-cross-grid:not([hidden])){gap:4px}}
@media(orientation:landscape) and (max-height:600px){.ds-game,.ds-game:has(.ds-cross-grid:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto minmax(min-content,1fr) auto;grid-template-areas:"top top" "question instrument" "answer answer";padding:6px 12px;gap:4px 14px}.ds-game-top{min-height:44px}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-cross-grid{grid-area:question;align-self:end}.ds-game:has(.ds-cross-grid:not([hidden])) .ds-question{align-self:start}.ds-game .ds-answer{padding:5px 12px}.ds-game:has(#ds-game-result:not([hidden])){display:grid;grid-template-columns:1fr;grid-template-areas:"top" "question" "result";grid-template-rows:auto auto 1fr}}
@media(prefers-reduced-motion:reduce){.ds-abacus .ds-bead{transition:none}}
.ds-game .ds-answer{width:100%;max-width:none;border-radius:16px;background:#fffffff2;box-shadow:0 -4px 24px #443b7d06}

/* Feedback owns a reserved row; it never floats over the next question. */
.ds-game{grid-template-areas:"top" "question" "instrument" "feedback" "answer" "status";grid-template-rows:auto auto minmax(min-content,1fr) 40px auto auto}
.ds-game .ds-answer-feedback,.ds-game .ds-answer-feedback[hidden]{position:static;grid-area:feedback;display:flex!important;align-items:center;justify-content:center;align-self:stretch;transform:none;translate:none;inset:auto;width:100%;max-width:none;min-height:40px;height:40px;padding:4px 10px;font-size:.8rem;line-height:1.3;border-radius:12px;box-shadow:none;animation:none;overflow:hidden}
.ds-game .ds-answer-feedback[hidden]{visibility:hidden}.ds-game:has(#ds-game-result:not([hidden])) .ds-answer-feedback{display:none!important}
.ds-sound-toggle{display:grid;place-items:center;flex:none;width:34px;height:34px;min-height:34px;border:1px solid #ddd8f4;border-radius:10px;background:#fff;font-size:1rem;cursor:pointer}.ds-game-top span{flex:1}.ds-game-top strong{max-width:30%;overflow-wrap:anywhere}
.ds-levels{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;margin-block:20px}.ds-level{min-height:78px;border-radius:15px;padding:7px 5px;gap:1px}.ds-level strong{font-size:1.15rem;line-height:1.3}.ds-level small{font-size:.65rem}.ds-level>span{font-size:.8rem;line-height:1.25}
/* Cross is a large puzzle with number choices; the instrument is an optional view. */
#ds-game.ds-cross-mode{grid-template-areas:"top" "question" "cross" "feedback" "answer" "status";grid-template-rows:auto auto minmax(min-content,1fr) 40px auto auto;gap:6px}
#ds-game.ds-cross-mode .ds-cross-grid{--cross-cell:clamp(32px,7dvh,64px);grid-area:cross;align-self:center;display:grid;grid-template-columns:repeat(5,var(--cross-cell));gap:4px;padding:10px;border:1px solid #ded8f0;border-radius:20px;background:#f0ecff;box-shadow:0 8px 30px #4a358c0c}
#ds-game.ds-cross-mode .ds-cross-grid span{height:var(--cross-cell);min-height:var(--cross-cell);border-radius:10px;font-size:clamp(.9rem,2.5vw,1.4rem);font-weight:650;background:#fff;color:#4b3d7d}#ds-game.ds-cross-mode .ds-cross-grid span:empty{background:transparent}#ds-game.ds-cross-mode .ds-cross-grid .missing{border:2px dashed #7860d9;background:#e2d8ff;color:#4f339c;font-weight:800}
#ds-game.ds-cross-mode .ds-question{font-size:clamp(.85rem,2vw,1.2rem);padding:3px 10px;max-width:800px;line-height:1.35}
#ds-game.ds-cross-mode #ds-abacus{grid-area:cross}#ds-game.ds-cross-mode .ds-answer{display:grid;grid-template-columns:38px minmax(0,340px) auto;grid-template-areas:"choices choices choices" "tool input submit";justify-content:center;gap:7px 10px;padding:9px 14px}
.ds-cross-choices{grid-area:choices;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.ds-number-choice{min-height:42px;border:1px solid #d6cfee;border-radius:12px;background:#f5f2ff;color:#56418a;font-weight:800;font-size:1.15rem;padding:4px 10px}.ds-number-choice[aria-pressed=true]{border-color:#6550d0;background:#6550d0;color:#fff;box-shadow:0 0 0 2px #e0d8ff}.ds-cross-mode .ds-answer>label{grid-area:input;max-width:none}.ds-cross-mode .ds-answer>button[type=submit],.ds-cross-mode .ds-answer>button:last-child{grid-area:submit}.ds-cross-mode #ds-cross-abacus-toggle{grid-area:tool;min-height:40px;height:40px;width:38px;padding:4px;font-size:1.1rem;align-self:end}
@media(max-width:550px){.ds-levels{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px}.ds-level{min-height:72px;border-radius:13px}.ds-game-top{gap:5px}.ds-game-top strong{font-size:.72rem}.ds-game-top span{font-size:.65rem}.ds-game-top .ds-btn{padding:6px 8px;font-size:.6rem}.ds-sound-toggle{width:30px;height:30px;min-height:30px;font-size:.85rem}#ds-game.ds-cross-mode .ds-answer{grid-template-columns:32px minmax(0,1fr) auto;gap:6px;padding:7px 9px}.ds-cross-mode #ds-cross-abacus-toggle{width:32px}.ds-cross-mode .ds-answer>.ds-btn:last-child{font-size:.7rem;padding:8px 9px}#ds-game.ds-cross-mode .ds-cross-grid{padding:7px;gap:3px}.ds-game .ds-answer-feedback,.ds-game .ds-answer-feedback[hidden]{font-size:.72rem}}
@media(orientation:landscape) and (max-height:600px){.ds-game{grid-template-areas:"top top" "question instrument" "feedback instrument" "answer answer";grid-template-rows:auto minmax(0,1fr) 40px auto;gap:4px 14px}.ds-game .ds-question{align-self:center}#ds-game.ds-cross-mode{grid-template-areas:"top top" "question question" "cross answer" "feedback feedback";grid-template-rows:auto auto minmax(min-content,1fr) 32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 12px}#ds-game.ds-cross-mode .ds-cross-grid{--cross-cell:clamp(32px,9.2dvh,46px);gap:3px;padding:5px;border-radius:14px}#ds-game.ds-cross-mode .ds-cross-grid span{font-size:.9rem;border-radius:7px}#ds-game.ds-cross-mode .ds-question{font-size:.8rem;padding:0;align-self:center}#ds-game.ds-cross-mode .ds-answer{align-self:center;grid-template-columns:32px minmax(0,1fr) auto;padding:8px;gap:6px}#ds-game.ds-cross-mode .ds-cross-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ds-cross-mode .ds-answer>.ds-btn:last-child{font-size:.7rem;padding:8px}#ds-game.ds-cross-mode .ds-answer-feedback,#ds-game.ds-cross-mode .ds-answer-feedback[hidden]{height:32px;min-height:32px}#ds-game.ds-cross-mode #ds-abacus{--bead-row:clamp(23px,6dvh,30px)}.ds-game:has(#ds-game-result:not([hidden])){grid-template-columns:1fr;grid-template-areas:"top" "question" "result";grid-template-rows:auto auto 1fr}}
/* Version 2 Cross boards use real 5–9 cell dimensions and up to ten options. */
#ds-game.ds-cross-mode .ds-cross-grid{--cross-cols:5;--cross-rows:5;--cross-fit-width:calc((100vw - 72px - (var(--cross-cols) - 1)*4px)/var(--cross-cols));--cross-fit-height:calc((100dvh - 380px - (var(--cross-rows) - 1)*4px)/var(--cross-rows));--cross-cell:clamp(20px,min(var(--cross-fit-width),var(--cross-fit-height)),64px);grid-template-columns:repeat(var(--cross-cols),var(--cross-cell));gap:4px}
#ds-game.ds-cross-mode .ds-cross-grid span{font-size:clamp(7px,calc(var(--cross-cell)/var(--cross-font-factor,1.6)),22px);line-height:1.1;font-variant-numeric:tabular-nums}
.ds-cross-meta{display:block;font-size:.7rem;line-height:1.4;color:#7a6b99;font-weight:550;margin-top:3px}.ds-cross-choices{grid-template-columns:repeat(var(--choice-columns,4),minmax(0,1fr))}.ds-number-choice{min-width:0;font-size:clamp(.8rem,2vw,1.1rem);padding-inline:3px}
@media(orientation:landscape) and (max-height:600px){#ds-game.ds-cross-mode .ds-cross-grid{--cross-fit-width:calc((50vw - 44px - (var(--cross-cols) - 1)*3px)/var(--cross-cols));--cross-fit-height:calc((100dvh - 150px - (var(--cross-rows) - 1)*3px)/var(--cross-rows));--cross-cell:clamp(18px,min(var(--cross-fit-width),var(--cross-fit-height)),46px);gap:3px}#ds-game.ds-cross-mode .ds-cross-choices{grid-template-columns:repeat(var(--choice-columns,4),minmax(0,1fr));gap:5px}.ds-cross-meta{font-size:.65rem}.ds-number-choice{min-height:38px;font-size:.85rem}}

#ds-game.ds-cross-mode .ds-question{display:block;min-height:min-content;text-align:center}
/* Keep tall puzzles and their choices beside one another instead of shrinking text. */
#ds-game.ds-cross-mode{grid-template-rows:min-content min-content minmax(min-content,1fr) 40px min-content auto}
#ds-game.ds-cross-mode .ds-cross-workspace{grid-area:cross;align-self:center;display:grid;justify-items:center;justify-content:center;align-items:center;gap:10px;width:100%;min-width:0}
#ds-game.ds-cross-mode .ds-cross-workspace .ds-cross-grid{grid-area:auto}
#ds-game.ds-cross-mode .ds-cross-workspace .ds-cross-choices{grid-area:auto;width:min(100%,620px)}
#ds-game.ds-cross-mode .ds-cross-workspace.ds-cross-tall{grid-template-columns:minmax(0,auto) minmax(80px,140px);gap:12px}
#ds-game.ds-cross-mode .ds-cross-tall .ds-cross-grid{--cross-fit-width:calc((100vw - 172px - (var(--cross-cols) - 1)*4px)/var(--cross-cols));--cross-fit-height:calc((100dvh - 310px - (var(--cross-rows) - 1)*4px)/var(--cross-rows))}
#ds-game.ds-cross-mode .ds-cross-tall .ds-cross-choices{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
#ds-game.ds-cross-mode .ds-answer{grid-template-areas:"tool input submit"}
@media(max-width:550px){#ds-game.ds-cross-mode .ds-cross-workspace.ds-cross-tall{grid-template-columns:minmax(0,auto) 84px;gap:10px}#ds-game.ds-cross-mode .ds-cross-workspace .ds-number-choice{min-height:38px}#ds-game.ds-cross-mode .ds-cross-tall .ds-cross-choices{gap:6px}}
@media(orientation:landscape) and (max-height:600px){#ds-game.ds-cross-mode{grid-template-areas:"top top" "question question" "cross cross" "feedback answer";grid-template-rows:min-content min-content minmax(min-content,1fr) min-content}#ds-game.ds-cross-mode .ds-cross-workspace,#ds-game.ds-cross-mode .ds-cross-workspace.ds-cross-tall{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:12px}#ds-game.ds-cross-mode .ds-cross-grid,#ds-game.ds-cross-mode .ds-cross-tall .ds-cross-grid{--cross-fit-width:calc((50vw - 44px - (var(--cross-cols) - 1)*3px)/var(--cross-cols));--cross-fit-height:calc((100dvh - 185px - (var(--cross-rows) - 1)*3px)/var(--cross-rows))}#ds-game.ds-cross-mode .ds-cross-workspace .ds-cross-choices{grid-template-columns:repeat(var(--choice-columns,4),minmax(0,1fr));width:100%}#ds-game.ds-cross-mode .ds-answer{grid-template-columns:30px minmax(0,1fr) auto;padding:6px;gap:5px}#ds-game.ds-cross-mode .ds-answer input{font-size:.9rem;padding:6px}#ds-game.ds-cross-mode .ds-answer>.ds-btn:last-child{font-size:.65rem;padding:8px 6px}}

#ds-game.ds-cross-mode .ds-cross-grid .missing{font-size:clamp(5.5px,calc((var(--cross-cell) - 5px)/var(--cross-font-factor,1.6)),22px)}
/* Compact child dashboard and four-answer Cross boards. */
.ds-home-worlds{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.ds-home-worlds .ds-world{padding:18px;min-height:0}.ds-home-worlds .ds-world-icon{font-size:2rem}.ds-home-worlds h2{font-size:1.1rem;margin:8px 0}.ds-home-worlds p{font-size:.85rem;line-height:1.5;margin:6px 0}.ds-home-worlds .ds-card-bottom{margin-top:12px;font-size:.85rem}.ds-home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.ds-home-shortcuts a{display:flex;align-items:center;gap:12px;padding:18px}.ds-home-shortcuts h2{font-size:1rem;margin:0}.ds-home-shortcuts p{font-size:.8rem;margin:4px 0}.ds-home-shortcuts a>span:last-child{margin-left:auto}.ds-home-rank-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ds-home-rank-heading h2{margin:4px 0}.ds-rank-preview{list-style:decimal;padding-left:24px}.ds-rank-preview li{padding:12px;border-bottom:1px solid #e6e8f3}.ds-rank-preview li>img{vertical-align:middle;margin-right:10px}.ds-rank-preview li>div{display:inline-block;vertical-align:middle}.ds-rank-preview li>strong{float:right;margin-top:8px}.ds-cross-grid button.missing{padding:0;border:2px solid #9c8be9;border-radius:8px;background:#fff7d9;color:#342571;font:inherit;cursor:pointer;min-width:0;min-height:0;font-size:clamp(7px,calc(var(--cross-cell)/var(--cross-font-factor,1.6)),22px)}.ds-cross-grid button.missing.selected{border-color:#5840dc;background:#eee8ff;box-shadow:inset 0 0 0 1px #5840dc}.ds-cross-grid button.missing:focus-visible{outline:3px solid #e7a724;outline-offset:1px}
@media(max-width:600px){.ds-home-worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ds-home-worlds .ds-world{padding:12px}.ds-home-worlds h2{font-size:1rem}.ds-home-worlds p{font-size:.78rem}.ds-home-worlds .ds-card-bottom{font-size:.75rem;gap:5px;flex-wrap:wrap}.ds-home-shortcuts{grid-template-columns:1fr}.ds-home-shortcuts a{padding:14px}.ds-home-shortcuts p{margin-bottom:0}.ds-rank-preview li{padding:10px 4px}}

/* Eight balanced dashboard cards: seven worlds plus the child's next adventure. */
.ds-home-worlds{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1440px;margin:24px auto}
.ds-home-worlds>*{min-width:0}.ds-home-worlds .ds-world{padding:20px}.ds-home-worlds h2{overflow-wrap:anywhere}.ds-home-worlds .ds-world>p{min-height:2.6em}
.ds-home-worlds .ds-card-bottom{margin-top:auto;padding-top:14px}.ds-world-progress{margin:8px 0 4px;display:grid;gap:7px;line-height:1.4}.ds-world-progress label,.ds-world-progress small{font-size:.76rem;color:var(--ds-muted)}.ds-world-progress progress{appearance:none;width:100%;height:7px;border:0;border-radius:20px;overflow:hidden;background:#eff1f7;color:var(--world-color)}.ds-world-progress progress::-webkit-progress-bar{background:#eff1f7;border-radius:20px}.ds-world-progress progress::-webkit-progress-value{background:var(--world-color);border-radius:20px}.ds-world-progress progress::-moz-progress-bar{background:var(--world-color);border-radius:20px}.ds-world-endless{font-size:.76rem;color:var(--ds-primary);font-weight:650}
.ds-adventure{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:20px;border:1px solid #d8cff9;background:linear-gradient(140deg,#f0ebff,#f7fbff);color:var(--ds-ink);transition:transform .2s,box-shadow .2s}.ds-adventure:hover{transform:translateY(-4px);box-shadow:0 12px 28px #6253de18}.ds-adventure-label{font-size:.62rem;letter-spacing:.08em;font-weight:800;color:#6650b4}.ds-adventure .ds-world-icon{font-size:2rem;margin-top:8px}.ds-home-worlds .ds-adventure h2{margin:8px 0;font-size:1.1rem}.ds-adventure p{font-size:.8rem;margin:0 0 10px}.ds-adventure-destination{font-size:.85rem}.ds-adventure-action{display:flex;justify-content:space-between;align-items:center;align-self:stretch;margin-top:auto;padding-top:14px;color:#5942b7;font-size:.85rem;font-weight:750}
.ds-home-shortcuts,.ds-home-ranking{max-width:1440px;margin-left:auto;margin-right:auto}
@media(max-width:1000px){.ds-home-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ds-home-worlds{gap:10px}.ds-home-worlds .ds-world{padding:14px}.ds-home-worlds .ds-world>p{min-height:3em}.ds-world-progress label,.ds-world-progress small,.ds-world-endless{font-size:.7rem}.ds-home-worlds .ds-adventure{grid-column:1/-1;order:-1;padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px}.ds-adventure-label,.ds-adventure-action{grid-column:1/-1}.ds-adventure .ds-world-icon{grid-column:1;grid-row:2/5;align-self:center;font-size:2.8rem;margin:0}.ds-adventure h2,.ds-adventure p,.ds-adventure-destination{grid-column:2}.ds-adventure p{margin-bottom:6px}.ds-home-worlds .ds-adventure h2{font-size:1rem}.ds-adventure-action{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.ds-adventure,.ds-home-worlds .ds-world{transition:none}.ds-adventure:hover,.ds-home-worlds .ds-world:hover{transform:none}}
@media(max-width:600px){.ds-home-worlds .ds-world-cross{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px}.ds-home-worlds .ds-world-cross .ds-world-icon{grid-column:1;grid-row:1/4;align-self:center;font-size:2.8rem}.ds-home-worlds .ds-world-cross h2,.ds-home-worlds .ds-world-cross>p,.ds-home-worlds .ds-world-cross .ds-world-progress{grid-column:2}.ds-home-worlds .ds-world-cross>p{min-height:0}.ds-home-worlds .ds-world-cross .ds-card-bottom{grid-column:1/-1}}
/* Compact levels, profile header and vertical ranking rows. */
.ds-child-shell .ds-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:1100px}.ds-child-shell .ds-level{min-width:0;min-height:66px;padding:6px 2px;border-radius:12px}.ds-child-shell .ds-level strong{font-size:1.05rem}.ds-child-shell .ds-level small{font-size:.57rem;white-space:normal;text-align:center;line-height:1.3}
@media(min-width:1024px) and (orientation:landscape){.ds-child-shell .ds-levels{grid-template-columns:repeat(10,minmax(0,1fr))}}
.ds-child-shell .ds-menu{width:36px;height:36px;border-radius:10px;font-size:1.05rem}.ds-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px 16px;border-bottom:1px solid var(--ds-line);margin-bottom:12px}.ds-drawer-heading>strong{font-size:.85rem}.ds-child-shell .ds-drawer-heading .ds-close,.ds-drawer-heading .ds-close{display:grid;place-items:center;width:36px;height:36px;flex:none;margin:0;padding:0;border-radius:50%;border:1px solid #e2e5f0;background:#f8f9fc;color:#515c71}.ds-drawer-heading .ds-close:hover{background:#eeebff;color:var(--ds-primary)}
.ds-child-shell .ds-account{display:flex;align-items:center;gap:8px;min-width:0;max-width:45%;overflow:visible;white-space:normal}.ds-account img{flex:none;margin:0}.ds-account-name{min-width:0;overflow-wrap:anywhere;line-height:1.3}.ds-account-stars{white-space:nowrap;background:#fff7dc;color:#775719;padding:4px 8px;border-radius:20px;font-variant-numeric:tabular-nums}
.ds-ranking-list{list-style:none;padding:0;margin:22px 0 14px;display:flex;flex-direction:column;gap:8px;max-width:1000px}.ds-ranking-row{display:grid;grid-template-columns:44px 34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--ds-line);border-radius:16px;background:#fff;min-width:0}.ds-ranking-position{font-size:.85rem;font-weight:800;color:var(--ds-muted);text-align:center}.ds-ranking-person{min-width:0;line-height:1.4}.ds-ranking-person>strong{font-size:.9rem;overflow-wrap:anywhere}.ds-ranking-person .ds-profile-code{font-size:.6rem;margin:4px 0}.ds-ranking-levels{display:block;color:var(--ds-muted);font-size:.72rem;line-height:1.6;overflow-wrap:anywhere}.ds-ranking-stars{font-size:.9rem;white-space:nowrap;font-variant-numeric:tabular-nums}.ds-ranking-row.ds-rank-you{background:#f2eeff;border-color:#b3a5ef}.ds-ranking-footer,.ds-own-rank{max-width:1000px;text-align:center}.ds-own-rank{border:1px solid #dcd4f5;background:#f2eeff;padding:14px;border-radius:14px;font-size:.85rem}.ds-ranking-footer .ds-btn{min-height:42px;font-size:.85rem;padding:10px 24px;border-radius:30px}.ds-ranking-footer [aria-disabled=true]{pointer-events:none;opacity:.6}
.ds-rank-preview li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px}.ds-rank-preview li>img{margin:0}.ds-rank-preview li>div{min-width:0}.ds-rank-preview li>div>strong{overflow-wrap:anywhere}.ds-rank-preview li>strong{float:none;margin:0;white-space:nowrap;font-size:.9rem}.ds-rank-preview .ds-profile-code{font-size:.6rem;margin:4px 0}.ds-rank-preview .ds-ranking-levels{font-size:.7rem}
.ds-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px auto 0;max-width:540px}.ds-result-actions .ds-btn{min-height:42px;padding:10px 16px;font-size:.85rem;border-radius:12px}.ds-game #ds-game-result{max-width:600px;width:100%;padding:12px}.ds-result-praise{font-size:clamp(1rem,2.5vw,1.55rem);line-height:1.5;margin:8px auto 14px}#ds-game-result>p{font-size:.85rem;margin:8px auto;max-width:450px}
@media(max-width:600px){.ds-child-shell .ds-header{height:auto;min-height:92px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px 10px;padding:10px 14px}.ds-child-shell .ds-brand{min-width:0;font-size:.95rem}.ds-child-shell .ds-brand small{font-size:.55rem}.ds-child-shell .ds-brand>span:first-child{width:32px;height:32px}.ds-child-shell .ds-account{display:flex!important;grid-column:1/-1;justify-self:stretch;margin:0;padding:5px 8px;max-width:none;background:#f7f6fc;border-radius:10px;font-size:.75rem}.ds-child-shell .ds-account-name{flex:1}.ds-child-shell .ds-account img{width:20px;height:20px}.ds-child-shell .ds-account-stars{padding:2px 8px}.ds-ranking-row{grid-template-columns:28px 26px minmax(0,1fr) auto;gap:7px;padding:12px 10px;border-radius:14px}.ds-ranking-row>img{width:26px;height:26px}.ds-ranking-person>strong{font-size:.8rem}.ds-ranking-position,.ds-ranking-stars{font-size:.75rem}.ds-ranking-levels{font-size:.65rem}.ds-rank-preview{padding-left:0;list-style:none}.ds-rank-preview li{grid-template-columns:26px minmax(0,1fr) auto;gap:7px}.ds-rank-preview li>img{width:26px;height:26px}.ds-rank-preview li>div>strong{font-size:.8rem}.ds-rank-preview li>strong{font-size:.75rem}.ds-rank-preview .ds-ranking-levels{font-size:.64rem}.ds-result-actions{gap:8px;margin-top:14px}.ds-result-actions .ds-btn{font-size:.75rem;min-height:40px;padding:8px 12px}.ds-result-actions [data-result-action=back]{flex-basis:100%;max-width:180px;margin:0 auto}.ds-game .ds-result-praise{font-size:1rem;margin:8px auto;max-width:320px}#ds-game-result>p{font-size:.75rem}.ds-dialog{padding:18px}.ds-dialog .ds-btn{font-size:.8rem;min-height:40px;padding:9px 14px}}
/* Parent workspace: collapsed drawer on every device, focused family cards. */
.ds-parent-shell .ds-main{margin:0 auto;max-width:1400px;padding:30px}.ds-parent-shell .ds-menu{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;background:#efebff;border-radius:10px;color:var(--ds-primary);font-size:1.05rem}.ds-parent-shell .ds-sidebar{top:0;width:min(300px,85vw);z-index:60;transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 50px #25304718}.ds-parent-shell.ds-menu-open .ds-sidebar{transform:translateX(0)}.ds-parent-shell .ds-backdrop{position:fixed;inset:0;background:#25304770;border:0;z-index:55;backdrop-filter:blur(3px)}.ds-parent-account{margin-left:auto;display:grid;min-width:0;max-width:35%;line-height:1.4}.ds-parent-account small{font-size:.65rem;color:var(--ds-muted)}.ds-parent-account strong{font-size:.82rem;overflow-wrap:anywhere}.ds-parent-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #e1dbf7;border-radius:26px;padding:28px;background:linear-gradient(125deg,#eee9ff,#f2fbfa)}.ds-parent-hero>div{max-width:690px}.ds-parent-hero h1{font-size:clamp(1.6rem,3vw,2.5rem);margin:8px 0 14px}.ds-parent-hero p{margin:0;font-size:.9rem}.ds-parent-hero .ds-eyebrow{font-size:.65rem}.ds-parent-hero>.ds-btn{flex:none;font-size:.85rem}.ds-family-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 28px}.ds-family-summary article{padding:18px 20px;border:1px solid var(--ds-line);border-radius:18px;background:#fff;min-width:0}.ds-family-summary span{display:block;color:var(--ds-muted);font-size:.78rem}.ds-family-summary strong{display:block;font-size:1.5rem;color:#514393;margin-top:5px;overflow-wrap:anywhere}.ds-family-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.ds-family-toolbar h2{margin:0;font-size:1.2rem;scroll-margin-top:140px}.ds-family-toolbar p{font-size:.83rem;margin:6px 0}.ds-family-toolbar .ds-actions{margin:0;gap:8px}.ds-family-toolbar .ds-btn{font-size:.8rem;min-height:42px;padding:10px 16px}.ds-family-card{padding:24px;margin:18px 0;border-radius:22px}.ds-family-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ds-family-card-heading .ds-profile-heading{min-width:0}.ds-family-card-heading h2{font-size:1.15rem;overflow-wrap:anywhere}.ds-family-stars{background:#fff7db;color:#795b18;border-radius:22px;padding:6px 12px;font-size:.9rem;font-weight:750;white-space:nowrap;flex:none}.ds-family-access{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0;padding:12px 14px;border-radius:13px;background:#f7f8fc;font-size:.75rem;color:var(--ds-muted)}.ds-family-access strong{color:var(--ds-ink);margin-left:4px}.ds-family-state{background:#e5f6ee;color:#287555;border-radius:20px;padding:4px 10px;font-weight:750}.ds-family-state[data-state=expired],.ds-family-state[data-state=future]{background:#fff1d6;color:#885c14}.ds-family-state[data-state=blocked]{background:#ffe7e5;color:#a2433b}.ds-family-card>h3{font-size:.85rem;margin:20px 0 12px}.ds-family-worlds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.ds-family-worlds .ds-mini{padding:14px;border-top:3px solid var(--world-color);min-width:0}.ds-family-worlds strong{font-size:.8rem;overflow-wrap:anywhere}.ds-family-worlds p{font-size:.72rem;margin:7px 0}.ds-family-worlds span{font-size:.75rem;font-weight:700;color:#6653a4}.ds-parent-settings,.ds-parent-history{border-top:1px solid var(--ds-line);padding:4px 0}.ds-parent-settings>summary,.ds-parent-history>summary{font-size:.85rem;padding:14px 0}.ds-parent-settings .ds-form{max-width:none;padding:10px 0}.ds-parent-settings .ds-avatar-options{grid-template-columns:repeat(6,minmax(0,1fr))}.ds-parent-settings .ds-muted{line-height:1.7;font-size:.75rem}.ds-parent-save{align-self:end}.ds-parent-save .ds-btn{font-size:.8rem;min-height:44px}.ds-family-history{list-style:none;padding:0;margin:0}.ds-family-history li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--ds-line);font-size:.78rem}.ds-family-history small{display:block;color:var(--ds-muted);font-size:.7rem;margin-top:4px}.ds-family-history li>span{white-space:nowrap}.ds-family-card-footer{padding-top:16px;font-size:.8rem;font-weight:700}.ds-family-empty{text-align:center}.ds-family-empty>span{font-size:2.4rem}.ds-family-empty p{max-width:500px;margin:14px auto}
@media(max-width:850px){.ds-family-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-parent-hero{align-items:flex-start;flex-direction:column}.ds-parent-shell .ds-main{padding:20px}}
@media(max-width:600px){.ds-parent-shell .ds-header{height:auto;min-height:90px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px 10px;padding:10px 14px}.ds-parent-shell .ds-brand{min-width:0;font-size:.95rem}.ds-parent-shell .ds-brand small{font-size:.55rem}.ds-parent-shell .ds-brand>span:first-child{width:32px;height:32px}.ds-parent-account{grid-column:1/-1;max-width:none;margin:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 8px;background:#f7f6fc;border-radius:10px}.ds-parent-account strong{font-size:.72rem;text-align:right}.ds-parent-shell .ds-main{padding:18px 12px}.ds-parent-hero{padding:20px;border-radius:20px;gap:16px}.ds-parent-hero p{font-size:.8rem}.ds-parent-hero>.ds-btn{font-size:.78rem;min-height:40px;padding:9px 14px}.ds-family-summary{gap:7px;margin:12px 0 22px}.ds-family-summary article{padding:13px 10px;border-radius:14px}.ds-family-summary span{font-size:.62rem}.ds-family-summary strong{font-size:1.1rem}.ds-family-toolbar h2{font-size:1.05rem}.ds-family-toolbar p{font-size:.75rem}.ds-family-toolbar .ds-actions{width:100%}.ds-family-toolbar .ds-btn{font-size:.72rem;padding:9px 12px;flex:1;min-height:40px}.ds-family-card{padding:16px;border-radius:18px}.ds-family-card-heading .ds-profile-heading{gap:10px}.ds-family-card-heading .ds-profile-heading>img{width:42px;height:42px;padding:7px;flex:none}.ds-family-card-heading h2{font-size:1rem}.ds-family-card-heading .ds-profile-code{font-size:.58rem}.ds-family-stars{font-size:.75rem;padding:5px 9px}.ds-family-access{font-size:.67rem;gap:8px 12px;padding:10px}.ds-family-worlds{gap:8px}.ds-family-worlds .ds-mini{padding:10px}.ds-family-worlds strong{font-size:.73rem}.ds-family-worlds p{font-size:.66rem}.ds-parent-settings .ds-form-grid{grid-template-columns:1fr}.ds-parent-settings .ds-avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-family-history li{flex-wrap:wrap;gap:6px;font-size:.73rem}.ds-family-card-footer{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){.ds-parent-shell .ds-sidebar{transition:none}}
@media(max-width:600px){.ds-family-worlds .ds-mini:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}.ds-family-worlds .ds-mini:last-child strong,.ds-family-worlds .ds-mini:last-child p{grid-column:1}.ds-family-worlds .ds-mini:last-child span{grid-column:2;grid-row:1/3}}
/* Annual profile checkout: clear offer and contact form without oversized controls. */
.ds-checkout{max-width:1100px;margin:0 auto 30px;min-width:0}.ds-checkout-back{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:650;padding:7px 0}.ds-checkout-heading{max-width:730px;margin:20px 0 26px}.ds-checkout-heading h1{font-size:clamp(1.65rem,3vw,2.4rem);margin:8px 0 12px}.ds-checkout-heading>p:last-child{font-size:.9rem;line-height:1.75;margin:0}.ds-checkout-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:24px;align-items:start}.ds-checkout-grid>*{min-width:0}.ds-checkout-offer{padding:28px;border:1px solid #ddd6f6;border-radius:24px;background:linear-gradient(145deg,#efebff,#f1faf7);overflow-wrap:anywhere}.ds-checkout-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#ffffffb5;font-size:1.8rem}.ds-checkout-kicker{font-size:.6rem;letter-spacing:.08em;color:#6651a9;font-weight:800;margin:20px 0 8px}.ds-checkout-offer h2{font-size:1.45rem;line-height:1.4;margin:0 0 24px;letter-spacing:-.02em}.ds-checkout-price{display:grid;gap:4px;padding-bottom:20px;border-bottom:1px solid #dcd8ed}.ds-checkout-price>span{font-size:.7rem;color:var(--ds-muted)}.ds-checkout-price del{font-size:.85rem;color:#50647c}.ds-checkout-price>strong{font-size:clamp(1.8rem,3vw,2.3rem);color:#514195;line-height:1.2;letter-spacing:-.04em}.ds-checkout-price>small{font-size:.75rem;color:#69647d;margin-top:5px}.ds-checkout-offer ul{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0;color:#4c546e;font-size:.8rem;line-height:1.6}.ds-checkout-offer .ds-checkout-note{font-size:.73rem;line-height:1.7;margin:22px 0 0}.ds-checkout-panel{padding:28px;background:#fff;border:1px solid var(--ds-line);border-radius:24px;box-shadow:0 8px 30px #32395b05}.ds-checkout-panel-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}.ds-checkout-panel-title>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;background:#f3f0fd;font-size:1.2rem}.ds-checkout-panel-title h2{font-size:1.15rem;margin:0 0 6px}.ds-checkout-panel-title p{font-size:.78rem;line-height:1.6;margin:0}.ds-checkout-form{max-width:none;gap:22px;min-width:0}.ds-checkout-section{min-width:0}.ds-checkout-section h3{font-size:.82rem;margin:0 0 16px;display:flex;align-items:center;gap:9px}.ds-checkout-section h3>span{display:grid;place-items:center;border:1px solid #e1dbf7;width:24px;height:24px;border-radius:50%;font-size:.65rem;color:#6652b2;background:#faf8ff}.ds-checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ds-checkout-form label{font-size:.78rem;min-width:0;gap:8px}.ds-checkout-form input:not([type=hidden]),.ds-checkout-form select{font-size:.85rem;min-width:0;width:100%;max-width:100%;min-height:46px;border-radius:12px;padding:11px 12px;background:#fbfcff}.ds-checkout-form select{overflow:hidden;text-overflow:ellipsis;padding-right:28px}.ds-checkout-help{font-size:.7rem;line-height:1.7;margin:10px 0 0}.ds-renewal-info{display:flex;gap:10px;padding:14px;margin-top:14px;border:1px solid #dde8ef;background:#f4f9fc;border-radius:14px;min-width:0}.ds-renewal-info>span{flex:none;font-size:1rem}.ds-renewal-info>div{min-width:0;overflow-wrap:anywhere}.ds-renewal-info strong{font-size:.75rem;color:#3e5870}.ds-renewal-info p{font-size:.7rem;line-height:1.7;margin:5px 0 0}.ds-checkout-submit{border-top:1px solid var(--ds-line);padding-top:20px}.ds-checkout-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.ds-checkout-total>span{font-size:.8rem;font-weight:650}.ds-checkout-total small{display:block;font-size:.67rem;font-weight:400;color:var(--ds-muted);margin-top:3px}.ds-checkout-total>strong{font-size:1.2rem;white-space:nowrap;color:#574397}.ds-checkout-submit>.ds-btn{width:100%;min-height:46px;font-size:.82rem;padding:12px 16px;border-radius:13px;line-height:1.5;white-space:normal}.ds-checkout-submit>p{font-size:.69rem;line-height:1.8;margin:12px 0 0;color:var(--ds-muted)}
@media(max-width:900px){.ds-checkout-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.ds-checkout-offer,.ds-checkout-panel{padding:22px}.ds-checkout-fields{grid-template-columns:1fr}.ds-checkout-offer h2{font-size:1.25rem}}
@media(max-width:700px){.ds-checkout-grid{grid-template-columns:1fr;gap:16px}.ds-checkout-heading{margin:14px 0 20px}.ds-checkout-heading>p:last-child{font-size:.8rem}.ds-checkout-offer{padding:20px;border-radius:20px;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px}.ds-checkout-icon{width:44px;height:44px;grid-row:1/3;font-size:1.5rem;border-radius:13px}.ds-checkout-kicker{grid-column:2;margin:0 0 5px;font-size:.57rem}.ds-checkout-offer h2{grid-column:2;font-size:1.05rem;margin:0}.ds-checkout-price{grid-column:1/-1;margin-top:18px;padding-bottom:0;border-bottom:0}.ds-checkout-price>strong{font-size:1.9rem}.ds-checkout-offer ul{grid-column:1/-1;margin:16px 0 0;gap:8px;font-size:.73rem}.ds-checkout-offer .ds-checkout-note{grid-column:1/-1;margin-top:14px;font-size:.68rem}.ds-checkout-panel{padding:20px;border-radius:20px}.ds-checkout-panel-title h2{font-size:1.05rem}.ds-checkout-panel-title p{font-size:.73rem}.ds-checkout-form{gap:20px}.ds-checkout-form input:not([type=hidden]),.ds-checkout-form select{font-size:1rem;min-height:46px}.ds-checkout-form label{font-size:.75rem}.ds-checkout-submit>.ds-btn{font-size:.78rem}.ds-checkout-total>strong{font-size:1.1rem}.ds-renewal-info{padding:12px}}
/* Compact child login: keep the submit button within short mobile screens. */
.ds-login-shell .ds-main{margin:0 auto;padding:14px;max-width:1100px}.ds-login-shell .ds-header{display:flex;height:auto;min-height:58px;padding:10px 16px;gap:10px}.ds-login-shell .ds-brand{font-size:1rem;min-width:0}.ds-login-shell .ds-brand>span:first-child{width:34px;height:34px;font-size:1.3rem}.ds-login-shell .ds-brand small{font-size:.55rem}.ds-login-shell .ds-header>.ds-btn{min-height:36px;font-size:.73rem;padding:8px 12px}.ds-login-shell .ds-menu{display:grid;place-items:center;width:34px;height:34px;flex:none;border:0;border-radius:10px;background:#efebff;color:var(--ds-primary);font-size:1rem}.ds-login-shell .ds-sidebar{top:0;z-index:60;width:min(300px,85vw);transform:translateX(-100%);transition:transform .2s}.ds-login-shell.ds-menu-open .ds-sidebar{transform:translateX(0)}.ds-login-shell .ds-backdrop{position:fixed;inset:0;z-index:55;background:#25304770;border:0}.ds-login-shell .ds-parent-account{max-width:30%;display:grid;margin-left:auto;padding:0;background:none}.ds-login-shell .ds-parent-account small{font-size:.6rem}.ds-login-shell .ds-parent-account strong{font-size:.65rem}.ds-login-shell .ds-login{width:100%;max-width:440px;margin:12px auto;padding:24px;border-radius:20px}.ds-login .ds-eyebrow{font-size:.6rem;margin:0 0 7px;letter-spacing:.08em}.ds-login h1{font-size:1.55rem;margin:0 0 9px}.ds-login>p:not(.ds-eyebrow){font-size:.78rem;line-height:1.6;margin:0 0 16px}.ds-login .ds-form{gap:12px}.ds-login .ds-form label{font-size:.76rem;gap:6px}.ds-login .ds-form input:not([type=hidden]){min-height:44px;padding:9px 12px;font-size:1rem;border-radius:11px}.ds-login .ds-form>.ds-btn{min-height:44px;font-size:.82rem;padding:10px 14px;border-radius:11px}.ds-login>p.ds-login-help{font-size:.7rem;line-height:1.6;margin:14px 0 7px}.ds-login>a{display:inline-block;font-size:.75rem;font-weight:650;padding:4px 0}
@media(max-width:550px){.ds-login-shell .ds-main{padding:10px 12px}.ds-login-shell .ds-header{padding:9px 12px;gap:8px}.ds-login-shell .ds-brand{font-size:.9rem;gap:7px}.ds-login-shell .ds-brand>span:first-child{width:30px;height:30px;font-size:1.15rem}.ds-login-shell .ds-header>.ds-btn{font-size:.65rem;padding:7px 9px}.ds-login-shell .ds-login{padding:20px;margin:8px auto}.ds-login h1{font-size:1.45rem}.ds-login>p:not(.ds-eyebrow){margin-bottom:13px}}
@media(orientation:landscape) and (max-height:500px) and (min-width:600px){.ds-login-shell .ds-main{padding:8px 14px}.ds-login-shell .ds-login{max-width:600px;margin:0 auto;padding:16px 20px}.ds-login h1{font-size:1.25rem;margin-bottom:5px}.ds-login>p:not(.ds-eyebrow){font-size:.73rem;margin-bottom:10px}.ds-login .ds-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.ds-login .ds-form>.ds-btn{grid-column:1/-1;min-height:40px;padding:8px 14px}.ds-login .ds-form input:not([type=hidden]){min-height:40px;padding:7px 10px}.ds-login>p.ds-login-help{margin:9px 0 3px;font-size:.65rem}.ds-login>a{font-size:.7rem;padding:1px 0}}
@media(prefers-reduced-motion:reduce){.ds-login-shell .ds-sidebar{transition:none}}
@media(max-width:550px){.ds-login-shell .ds-login{padding:18px}.ds-login .ds-form{gap:10px}.ds-login>p.ds-login-help{margin:10px 0 4px}.ds-login>a{padding:2px 0}}
/* Seven-rod learning instrument scales to the demonstration panel, not four rods. */
#ds-lesson-abacus{width:100%;max-width:650px;--rod-width:clamp(24px,calc((100vw - 200px)/7),76px)}#ds-lesson-abacus .ds-abacus-frame{width:100%;min-width:0;gap:2px;padding:10px;border-width:8px}#ds-lesson-abacus .ds-rod{width:100%;min-width:0;flex:1}#ds-lesson-abacus .ds-bead{width:calc(100% - 4px)}#ds-lesson-abacus .ds-place{font-size:clamp(.42rem,1.4vw,.65rem)}
@media(max-width:550px){#ds-lesson-abacus .ds-abacus-frame{padding:7px;border-width:7px;gap:2px}#ds-lesson-abacus{--bead-row:42px;--upper-row:63px}}
.ds-fixed-rods{display:flex;align-items:center;gap:10px;align-self:end;min-height:48px;padding:10px 14px;border:1px solid #ded8f5;border-radius:12px;background:#f7f4ff;color:#5c4b93;font-size:.85rem;font-weight:650}
.ds-game .ds-question.ds-long-question{font-size:clamp(.9rem,2.8vw,1.4rem);line-height:1.45;max-width:950px}.ds-game:has(.ds-long-question){--bead-row:clamp(24px,5dvh,46px)}
.ds-parent-logout{margin:0;flex:none}.ds-header .ds-parent-logout .ds-btn{padding:8px 13px;min-height:36px;font-size:.75rem;white-space:nowrap}
@media(max-width:600px){.ds-parent-shell .ds-header{grid-template-columns:34px minmax(0,1fr) auto}.ds-parent-shell .ds-parent-logout{grid-column:3;grid-row:1}.ds-parent-shell .ds-parent-account{grid-row:2}.ds-parent-shell .ds-brand{font-size:.85rem;gap:6px}.ds-parent-shell .ds-brand small{font-size:.47rem}.ds-header .ds-parent-logout .ds-btn{padding:8px 10px;min-height:34px;font-size:.7rem}}
.ds-brand .appearance-icon,.dsl-brand .appearance-icon{display:block;width:26px;height:26px;object-fit:contain;margin:0;padding:0;border-radius:0}

#ds-game.ds-mental-mode{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "question" "feedback" "answer" "status";grid-template-rows:auto minmax(0,1fr) 40px auto auto}#ds-game.ds-mental-mode #ds-question{display:flex;align-items:center;justify-content:center;align-self:stretch;justify-self:stretch;min-height:0;width:100%;max-width:none;padding:12px;font-size:clamp(1.75rem,min(20vw,28dvh,calc((100vw - 64px)/var(--mental-chars,2)/.65)),11rem);line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:-.035em;color:#5140af}#ds-game.ds-mental-mode #ds-question.ds-mental-prompt{font-size:clamp(1.5rem,5vw,3rem);letter-spacing:0}@media(orientation:landscape) and (max-height:600px){#ds-game.ds-mental-mode{grid-template-rows:auto minmax(0,1fr) 28px auto auto;gap:3px}}
.ds-checkout-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 24px;padding:6px;border:1px solid #e1dcf5;border-radius:16px;background:#f4f1fc}.ds-checkout-tabs a{flex:1;min-width:130px;padding:12px 14px;border-radius:11px;text-align:center;text-decoration:none;color:#5d537f;font-size:.88rem;font-weight:700}.ds-checkout-tabs a[aria-current=page]{background:#fff;color:#5944c7;box-shadow:0 2px 8px #49378415}.ds-checkout-tabs a:focus-visible{outline:3px solid #9e86ff;outline-offset:2px}

@media(max-width:600px){.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-heading h1{font-size:1.5rem}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-offer{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px;align-items:start}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-offer .ds-checkout-icon,.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-offer h2,.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-offer ul{display:none}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-kicker{grid-column:1;grid-row:auto;margin:0;line-height:1.5;max-width:none;font-size:.62rem;letter-spacing:.06em}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-price{grid-column:1;grid-row:auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;margin:0;padding:0;border:0;text-align:left}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-price>span{flex-basis:100%;order:0;font-size:.68rem}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-price>del{order:2;font-size:.8rem}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-price>small{flex-basis:100%;order:3;margin:0;font-size:.72rem}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-price strong{order:1;font-size:1.95rem}.ds-checkout:has(.ds-checkout-tabs) .ds-checkout-note{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #e3def3;font-size:.7rem}.ds-checkout-tabs{margin-block:14px 18px}}
