:root{--ink: #1B2340;--muted: #4A5578;--ground: #F4F6FC;--line: #E3E8F5;--blue: #2F5BEA;--blue-dark: #1E3FB0;--blue-soft: #E6EDFF;--sun: #FFC93C;--green: #13804A;--green-dark: #0E6339;--red: #C2362B;--display: "Baloo 2", system-ui, sans-serif;--body: "Nunito", system-ui, sans-serif;--mono: "Atkinson Hyperlegible Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body)}button{font-family:inherit}p{margin:0}.display{font-family:var(--display);font-weight:800;font-size:40px;line-height:1.1;margin:0}.display.small{font-size:22px}.muted{color:var(--muted);font-weight:600}.good{color:var(--green-dark);font-weight:800}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.brand{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:800;font-size:26px}.brand-dot{color:var(--blue)}.lesson-title{margin:0;flex:1 1 auto;font-family:var(--display);font-size:22px}.chip{padding:8px 14px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-weight:800;font-size:14px}.main{max-width:1100px;margin:0 auto;padding:28px 24px 48px}.lesson,.results{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.stat{padding:16px 20px;display:flex;flex-direction:column;gap:2px}.stat-label{color:var(--muted);font-weight:700;font-size:14px}.stat-value{font-family:var(--display);font-weight:800;font-size:34px;line-height:1.2}.stat-value small{font-size:18px;color:var(--muted)}.typing{position:relative;padding:32px 40px;display:flex;flex-direction:column;gap:18px;outline:none;border:3px solid transparent}.typing--focused{border-color:var(--blue-soft)}.line{font-family:var(--mono);font-size:40px;line-height:1.5;letter-spacing:1px;word-break:break-word}.ch{border-radius:6px}.ch--ok{color:var(--green)}.ch--fixed{color:var(--green);text-decoration:underline wavy #F2A097;text-underline-offset:8px}.ch--wrong{color:#fff;background:var(--red)}.ch--todo{color:#8a93b0}.ch--current{background:var(--blue-soft);color:var(--blue-dark);box-shadow:inset 0 -5px 0 var(--blue)}.hint-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hint{padding:10px 16px;border-radius:14px;background:#fff3a8;font-weight:800}.focus-overlay{position:absolute;inset:0;border:none;border-radius:22px;background:#1b2340b8;color:#fff;font-family:var(--display);font-weight:800;font-size:28px;cursor:pointer}.helpers{padding:24px 28px 28px;display:flex;flex-direction:column;align-items:center;gap:16px}.helpers-bar{align-self:stretch;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.helpers-buttons{display:flex;flex-wrap:wrap;gap:10px}.kb-wrap{max-width:100%;overflow-x:auto}.kb{position:relative;flex:none}.kb-row{position:absolute;display:flex}.kb-key,.kb-space{display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:12px;font-weight:800;font-size:20px}.kb-space{position:absolute;background:var(--line);color:var(--muted);font-size:16px;font-weight:700}.kb-key--target{background:var(--blue)!important;color:#fff;box-shadow:0 0 0 4px var(--sun)}.kb-bump{width:14px;height:3px;border-radius:2px;background:currentColor}.kb-hands{position:absolute;left:0;top:0;pointer-events:none}.kb-tip-letters text{font-family:var(--body);font-weight:800;font-size:20px;fill:var(--ink)}.kb-hand-label{font-family:var(--body);font-weight:800;font-size:17px;fill:#5c3a1a}.blind{align-self:stretch;padding:40px 24px;border-radius:20px;border:3px dashed #C9D2EA;text-align:center;display:flex;flex-direction:column;gap:8px}.legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-weight:700;font-size:14px;color:var(--muted)}.legend li{display:flex;align-items:center;gap:6px}.legend-swatch{width:16px;height:16px;border-radius:4px;border:1px solid #A9B3CE}.btn{min-height:48px;padding:0 22px;border-radius:999px;font-weight:800;font-size:16px;cursor:pointer;border:2px solid transparent}.btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn--outline{background:#fff;color:var(--ink);border-color:var(--ink)}.btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.typing:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.results-hero{padding:36px 32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.stars{display:flex;align-items:flex-end;gap:10px}.weak{padding:24px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}.weak-keys{list-style:none;margin:0;padding:0;display:flex;gap:10px}.weak-key{width:76px;height:76px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.weak-key span{font-family:var(--display);font-size:28px;font-weight:800;line-height:1}.weak-key span.weak-key-word{font-size:18px}.weak-key small{font-size:13px;font-weight:700}.weak-key--0{background:var(--red);color:#fff}.weak-key--1{background:#f2a097}.weak-key--2{background:#fde7e4}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.topbar-spacer{flex:1 1 auto}.who{display:flex;align-items:center;gap:10px}.who-name{font-weight:800}.avatar{width:56px;height:56px;border-radius:999px;background:var(--blue);border:3px solid var(--sun);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:22px;flex:none}.avatar--small{width:40px;height:40px;font-size:16px}.link-btn{background:none;border:none;padding:6px 4px;color:var(--blue-dark);font-weight:800;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.btn--small{min-height:40px;padding:0 16px;font-size:14px}.btn--sun{background:var(--sun);color:var(--ink);border-color:var(--sun);font-family:var(--display);font-size:20px;min-height:54px;padding:0 28px}.picker{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.picker-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.picker-item{display:flex;flex-direction:column;gap:8px;align-items:stretch}.picker-card{background:#fff;border:3px solid transparent;border-radius:24px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:var(--ink)}.picker-card:hover,.picker-card:focus-visible{border-color:var(--blue);outline:none}.picker-name{font-weight:800;font-size:18px}.picker-form{padding:24px 28px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.field{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--muted);border:none;padding:0;margin:0}.field input[type=text],.field input:not([type]){min-height:48px;min-width:280px;padding:0 14px;border-radius:12px;border:2px solid #D5DCEE;font-family:inherit;font-size:18px;color:var(--ink)}.field legend{margin-bottom:6px}.grade-buttons{display:flex;gap:10px;flex-wrap:wrap}.grade-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:14px;border:2px solid #D5DCEE;color:var(--ink);font-weight:800;cursor:pointer}.grade-btn--on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.grade-btn input{accent-color:var(--blue)}.picker-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.home{display:flex;flex-direction:column;gap:24px}.home-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.eyebrow{font-weight:800;color:var(--blue);font-size:15px;text-transform:uppercase;letter-spacing:.8px}.home-head .display{font-size:36px;margin-top:4px}.home-chips{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:8px 14px;border-radius:999px;background:#fff;font-weight:800}.pill--sun{background:#fff6d6;color:#6b4e00}.mission{background:var(--blue);color:#fff;border-radius:28px;padding:32px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}.mission-text{flex:1 1 320px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.mission-text p{color:var(--blue-soft);font-size:17px;line-height:1.5}.mission-tag{padding:6px 12px;border-radius:999px;background:#fff;color:var(--blue-dark);font-weight:800;font-size:14px}.mission-keys{display:flex;flex-wrap:wrap;gap:10px}.mission-key{min-width:72px;height:72px;padding:0 12px;border-radius:16px;background:var(--sun);color:var(--ink);box-shadow:0 0 0 4px #fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:30px}.map{padding:26px 28px;display:flex;flex-direction:column;gap:22px}.stage{display:flex;flex-direction:column;gap:12px}.stage-title{margin:0;font-size:15px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}.node{width:100%;min-height:118px;background:none;border:2px solid transparent;border-radius:18px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--ink);font-family:inherit}.node:hover:not(:disabled),.node:focus-visible{border-color:var(--blue-soft);outline:none}.node:disabled{cursor:not-allowed}.node-dot{width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:20px;background:#e3e8f5;color:var(--muted)}.node--done .node-dot{background:var(--green);color:#fff;font-size:24px}.node--current .node-dot{background:var(--blue);color:#fff;box-shadow:0 0 0 5px #c9d7ff}.node--open .node-dot{background:#fff;color:var(--blue-dark);border:3px solid var(--blue)}.node-title{font-weight:700;font-size:14px;text-align:center;line-height:1.25}.node--current .node-title{color:var(--blue-dark);font-weight:800}.node--locked .node-title{color:var(--muted)}.node-stars{color:#b88700;font-size:15px;letter-spacing:1px}.posture{text-align:center}.lesson-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.lesson-bar .lesson-title{flex:1 1 auto}@media(max-width:640px){.line{font-size:28px}.typing{padding:24px}.display{font-size:30px}}.start{max-width:860px;margin:24px auto 0;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.start-sub{font-size:18px}.start-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;width:100%}.start-card{background:#fff;border:3px solid transparent;border-radius:28px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;color:var(--ink);font-family:inherit;font-size:15px}.start-card:hover,.start-card:focus-visible{border-color:var(--blue);outline:none}.start-card--student{border-color:var(--blue-soft)}.start-card-title{font-family:var(--display);font-weight:800;font-size:28px}.notice{max-width:760px;margin:0 auto 12px;padding:12px 16px;border-radius:14px;background:#fff6d6;color:#4a3700;font-weight:700}.login{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:flex-start}.login .display{font-size:34px}.login-card{padding:26px 28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;width:100%}.login-card input[type=email],.login-card input[type=password],.login-card input:not([type]){min-height:48px;width:min(100%,420px);padding:0 14px;border-radius:12px;border:2px solid #D5DCEE;font-family:inherit;font-size:18px;color:var(--ink)}.code-input{font-family:var(--mono)!important;font-size:32px!important;letter-spacing:8px;text-transform:uppercase;width:260px!important;min-height:64px!important}.error{color:#9e2a20;font-weight:700;min-height:1.4em}.pin-card{padding:26px;display:flex;flex-direction:column;align-items:center;gap:14px;outline:none}.pin-card:focus-visible{box-shadow:0 0 0 3px var(--sun)}.pin-dots{display:flex;gap:16px}.pin-dot{width:26px;height:26px;border-radius:999px;border:3px solid var(--blue)}.pin-dot--on{background:var(--blue)}.pin-pad{display:grid;grid-template-columns:repeat(3,84px);gap:12px}.pin-key{height:72px;border-radius:18px;border:2px solid #D5DCEE;background:#fff;font-family:var(--display);font-weight:800;font-size:30px;color:var(--ink);cursor:pointer}.pin-key:hover:not(:disabled){border-color:var(--blue)}.pin-key--back{font-size:24px}.sync{margin:-8px 0 16px;font-weight:700;font-size:14px;color:var(--muted)}.sync--saved{color:var(--green-dark)}.sync--waiting{color:#8a3d00}.teacher{display:flex;flex-direction:column;gap:22px}.t-section{padding:24px 28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.tabs{display:flex;gap:6px;margin-bottom:4px}.tab{min-height:42px;padding:0 16px;border-radius:999px;border:2px solid #D5DCEE;background:#fff;font-weight:800;cursor:pointer;color:var(--muted)}.tab--on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.class-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;width:100%}.class-card{width:100%;background:var(--ground);border:2px solid transparent;border-radius:18px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;font-family:inherit;color:var(--ink)}.class-card:hover,.class-card:focus-visible{border-color:var(--blue);outline:none}.class-name{font-family:var(--display);font-weight:800;font-size:24px}.class-code-small{font-family:var(--mono);font-weight:700;color:var(--blue-dark)}.row-fields{display:flex;flex-wrap:wrap;gap:16px 24px}.row-fields input{min-height:48px;padding:0 14px;border-radius:12px;border:2px solid #D5DCEE;font-family:inherit;font-size:18px}.code-box{background:#fff;border-radius:20px;padding:14px 22px;display:flex;flex-direction:column;align-items:center}.code-big{font-family:var(--mono);font-weight:700;font-size:40px;letter-spacing:6px;color:var(--blue-dark)}.cards-bar{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.actions--left{justify-content:flex-start}.pin-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;width:100%}.pin-card-print{border:2px dashed #A9B3CE;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;break-inside:avoid}.pc-brand{font-family:var(--display);font-weight:800;color:var(--blue)}.pc-name{font-family:var(--display);font-weight:800;font-size:24px}.pc-row b{font-family:var(--mono);font-size:22px;letter-spacing:3px}.table-wrap{width:100%;overflow-x:auto}.t-table{width:100%;min-width:860px;border-collapse:collapse;font-size:15px}.t-table th{text-align:left;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.4px;padding:10px;border-bottom:2px solid var(--line)}.t-table td{padding:12px 10px;border-bottom:1px solid #EEF1F8;vertical-align:middle}.strong{font-weight:800}.chip{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:800;font-size:13px;margin-left:6px;white-space:nowrap}.chip--ok{background:#e1f5ea;color:#0e6339;margin-left:0}.chip--help{background:#fde7e4;color:#9e2a20;margin-left:0}.chip--idle{background:#fff1e2;color:#8a3d00;margin-left:0}.chip--new{background:#e3e8f5;color:var(--muted);margin-left:0}.chip--warn{background:#fde7e4;color:#9e2a20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.field--wide{width:100%}.field--wide textarea{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #D5DCEE;font-family:inherit;font-size:17px;color:var(--ink);resize:vertical}.danger-zone{text-align:right}.link-btn--danger{color:#9e2a20}@media print{body{background:#fff}.no-print,.topbar{display:none!important}.main{padding:0;max-width:none}.print-area{box-shadow:none;padding:0}.pin-cards{grid-template-columns:repeat(3,1fr)}}.teacher .home-head{margin:8px 0 18px}.teacher .stat-grid{margin-bottom:0}.teacher textarea::placeholder{color:#a9b1c7;font-style:italic}.no-pin{color:#9e2a20;font-weight:700;font-size:13px}.actions--left{align-items:center}.module-tabs{display:flex;gap:8px;margin:-4px 0 18px;flex-wrap:wrap}.module-tab{min-height:48px;padding:0 20px;border-radius:999px;border:2px solid #D5DCEE;background:#fff;font-family:var(--display);font-weight:800;font-size:17px;color:var(--muted);cursor:pointer}.module-tab--on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.mouse-hub{display:flex;flex-direction:column;gap:20px}.game-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.game-card{padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.game-card-icon{font-size:54px;line-height:1}.level-dots{list-style:none;margin:6px 0 8px;padding:0;display:flex;gap:8px}.level-dot{width:40px;height:40px;border-radius:999px;border:2px solid #D5DCEE;background:#fff;font-weight:800;font-size:16px;color:var(--ink);cursor:pointer;position:relative;font-family:inherit}.level-dot--done{background:#e1f5ea;border-color:#1e9e5a;color:#0e6339}.level-dot--open{border-color:var(--blue)}.level-dot--locked{cursor:not-allowed;opacity:.55;font-size:13px}.level-stars{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);font-size:10px;color:#e0a800;white-space:nowrap}.game{display:flex;flex-direction:column;gap:10px;user-select:none;-webkit-user-select:none}.game-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.game-bar-right{display:flex;gap:8px;align-items:center}.game-instruction{font-size:19px;font-weight:700;margin:0}.game-hint{min-height:1.6em;font-size:18px;font-weight:800;color:var(--blue-dark);margin:0}.game-start{background:#fff;border-radius:24px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:18px}.game-start-icon{font-size:72px;line-height:1}.play-area{position:relative;overflow:hidden;border-radius:24px;min-height:380px;cursor:default}.play-area--sky{background:linear-gradient(#bfe3ff,#eaf6ff)}.play-area--sand{background:#fff1d6}.play-area--grass{background:linear-gradient(#dff5d8,#c3ebb6)}.play-area--field{background:#f2f7ec}.balloon{position:absolute;top:0;border:none;border-radius:50% 50% 48% 48%;cursor:pointer;padding:0}.balloon:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:40px;background:#8a93a8}.box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px;padding:24px;align-content:start}.chest{height:120px;border-radius:20px;border:3px solid #C98B2B;background:#ffe7b8;font-size:60px;cursor:pointer}.chest--open{background:#fff8e6;border-color:#f5b800;cursor:default}.chest--shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px) rotate(-3deg)}75%{transform:translate(8px) rotate(3deg)}}.menu-area{display:flex;align-items:center;justify-content:center}.animal{border:4px solid #fff;background:#fffc;border-radius:28px;padding:18px 34px;display:flex;flex-direction:column;align-items:center;cursor:context-menu;font-family:inherit}.animal-pic{font-size:110px;line-height:1.1}.animal-name{font-family:var(--display);font-weight:800;font-size:26px;color:var(--ink)}.animal--happy{border-color:#1e9e5a;transform:scale(1.05);transition:transform .2s}.ctx-menu{position:absolute;z-index:10;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid #C9D1E6;border-radius:12px;box-shadow:0 8px 24px #141e3c2e;min-width:220px}.ctx-menu button{width:100%;text-align:left;border:none;background:none;padding:12px 14px;border-radius:8px;font-family:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}.ctx-menu button:hover{background:var(--blue-soft)}.drag-area{display:flex;flex-direction:column;justify-content:space-between;padding:20px;min-height:460px}.drag-tray{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.drag-slot{width:104px;height:104px}.drag-item{width:104px;height:104px;background:#fff;border:2px solid #D5DCEE;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;touch-action:none}.drag-item--lifted{cursor:grabbing;box-shadow:0 10px 24px #141e3c40;border-color:var(--blue)}.drag-pic{font-size:48px;line-height:1}.drag-word{font-weight:800;font-size:14px}.baskets{display:flex;gap:18px;justify-content:center;margin-top:24px}.basket{min-height:130px;border:4px dashed #B07A2A;background:#f6e3c1;border-radius:0 0 40px 40px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px}.basket-in{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;font-size:28px}.basket-label{font-family:var(--display);font-weight:800;font-size:20px}.ms-result{max-width:640px;margin:0 auto;padding:32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.stars-big{font-size:56px;letter-spacing:6px}.star{color:#d5dcee}.star--on{color:#f5b800}.result-stats{display:flex;gap:28px;margin:8px 0}.result-stats div{display:flex;flex-direction:column}.result-stats b{font-family:var(--display);font-size:28px}.result-stats span{color:var(--muted);font-weight:700}.t-table .link-btn{white-space:nowrap}.offline-banner{background:#3a2a00;color:#ffe08a;text-align:center;font-weight:800;font-size:14px;padding:6px 12px}.play-area--maze{background:#dcefd2}.maze-wrap{display:flex;justify-content:center;padding:10px}.maze{width:100%;max-width:760px;height:auto;touch-action:none;display:block}.maze--bump{animation:shake .35s}.scroll-wrap{display:flex;gap:14px;align-items:stretch}.scroll-view{flex:1;overflow-y:auto;border-radius:24px;background:linear-gradient(#bfe3ff 0,#dff5d8 600px,#c3ebb6);position:relative}.scroll-view--nobar{scrollbar-width:none}.scroll-view--nobar::-webkit-scrollbar{display:none}.scroll-page{position:relative}.scenery{position:absolute;font-size:40px;opacity:.55;pointer-events:none}.hunt-animal{position:absolute;font-size:54px;line-height:1;border:none;background:none;cursor:pointer;padding:4px}.scroll-help{width:90px;background:#fff;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:800;text-align:center;font-size:15px}.scroll-help span:first-child{font-size:40px}.shape-board{position:relative;margin:0 auto;background:#f6f1ff;min-height:0}.shape-tray{position:absolute;left:16px;top:16px;width:260px;height:388px;border-radius:18px;background:#fffa;border:2px dashed #C9C2E6}.shape-outline{position:absolute}.shape-piece{position:absolute;cursor:grab;touch-action:none;z-index:2}.shape-piece--lifted{cursor:grabbing;z-index:5;filter:drop-shadow(0 8px 10px rgba(20,30,60,.3))}.shape-piece--placed{cursor:default}.desktop{position:relative;margin:0 auto;background:linear-gradient(135deg,#2f5bea,#6c8cf5);min-height:0}.desk-icon{position:absolute;width:92px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;cursor:default;touch-action:none}.desk-icon:hover{background:#ffffff2e}.desk-pic{font-size:42px;line-height:1;pointer-events:none}.desk-name{color:#fff;font-weight:800;font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.6);text-align:center;pointer-events:none}.desk-file{cursor:grab;z-index:2}.desk-file--lifted{cursor:grabbing;z-index:6;background:#ffffff40}.desk-window{position:absolute;left:230px;top:150px;width:380px;background:#fff;border-radius:10px;box-shadow:0 12px 30px #00000059;z-index:8;overflow:hidden}.desk-window-bar{display:flex;justify-content:space-between;align-items:center;background:#e8ecf7;padding:6px 6px 6px 12px;font-weight:800}.desk-close{width:40px;height:32px;border:none;border-radius:6px;background:transparent;font-size:18px;cursor:pointer}.desk-close:hover{background:#e84a3c;color:#fff}.desk-window-body{padding:16px;min-height:90px;display:flex;flex-wrap:wrap;gap:12px;font-weight:700}.cb-hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.cb-style{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cb-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cb-lesson{display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;gap:16px;padding:16px 20px}.cb-lesson--next{box-shadow:0 0 0 3px var(--blue)}.cb-lesson-icon{font-size:44px;text-align:center}.cb-lesson-text h2{margin:2px 0}.cb-lesson-text p{margin:0}.cb-lesson-code{font-weight:800;color:var(--blue);font-size:13px;letter-spacing:.5px}.cb-lesson-stars{color:#f5b800;font-size:22px;letter-spacing:2px}.lesson-cb{display:flex;flex-direction:column;gap:12px}.cb-progress{display:flex;gap:6px}.cb-progress span{flex:1;height:8px;border-radius:99px;background:#d5dcee}.cb-progress span.done{background:#1e9e5a}.cb-progress span.now{background:var(--blue)}.cb-learn{padding:28px 32px;display:flex;flex-direction:column;gap:10px}.cb-learn ul{margin:0;padding-left:22px;font-size:19px;line-height:1.55;font-weight:600}.cb-learn-pics{font-size:54px;display:flex;gap:14px}.cb-q{padding:24px 28px;display:flex;flex-direction:column;gap:12px}.cb-q-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cb-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.cb-choice{min-height:72px;border:2px solid #D5DCEE;border-radius:16px;background:#fff;font-family:inherit;font-size:18px;font-weight:800;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px 16px;text-align:left}.cb-choice:hover{border-color:var(--blue)}.cb-choice--right{border-color:#1e9e5a;background:#e1f5ea}.cb-choice--wrong{border-color:#c2362b;background:#fde7e4;opacity:.7}.cb-pic{font-size:40px}.cb-pic-s{font-size:24px}.cb-sort-items{display:flex;flex-wrap:wrap;gap:10px;min-height:48px}.cb-chip{border:2px solid #D5DCEE;background:#fff;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:17px;font-weight:800;color:var(--ink);cursor:pointer}.cb-chip--on{border-color:var(--blue);background:var(--blue-soft)}.cb-chip--in{cursor:default;font-size:15px;padding:4px 10px;background:#e1f5ea;border-color:#1e9e5a}.cb-groups{display:grid;gap:12px}.cb-group{min-height:140px;border:3px dashed #A9B3CE;border-radius:18px;background:var(--ground);font-family:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;text-align:left}.cb-group--ready{border-color:var(--blue);background:#f0f4ff}.cb-group-name{font-family:var(--display);font-weight:800;font-size:19px}.cb-group-in{display:flex;flex-wrap:wrap;gap:6px}.cb-order-done{margin:0;padding-left:24px;font-size:18px;font-weight:800;color:#0e6339;min-height:8px}.cb-keys{align-items:center;text-align:center}.keycaps{display:flex;justify-content:center;align-items:center;gap:4px;margin:10px 0}.keycaps kbd{display:inline-block;min-width:70px;padding:18px 20px;border-radius:14px;border:2px solid #A9B3CE;border-bottom-width:6px;background:#fff;font-family:var(--mono);font-size:30px;font-weight:700}.keycaps kbd.kbd--ok{border-color:#1e9e5a;background:#e1f5ea}.keyplus{font-size:30px;margin:0 8px}.cb-computer{display:flex;flex-direction:column;gap:10px}.cb-tasks{list-style:none;margin:0;padding:14px 18px;background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:16px}.cb-tasks li.done{color:#0e6339}.cb-tasks li.now{color:var(--ink);font-weight:800;font-size:18px}.cb-tasks li:not(.done):not(.now){color:var(--muted)}.cb-tasks-listen{margin-top:6px}.pc{position:relative;height:540px;border-radius:14px;overflow:hidden;-webkit-user-select:none;user-select:none;font-family:Segoe UI,Ubuntu,system-ui,sans-serif;border:8px solid #1B2340}.pc--windows{background:linear-gradient(160deg,#1d6fd8,#61b1f2)}.pc--ubuntu{background:linear-gradient(160deg,#772953,#e95420)}.pc--off{background:#0b0d12;color:#ccd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.ub-topbar{position:absolute;top:0;left:0;right:0;height:26px;background:#111;color:#eee;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:13px;z-index:20}.pc-desktop{position:absolute;inset:0;padding:12px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:4px}.pc--ubuntu .pc-desktop{left:64px;top:30px}.pc--windows .pc-desktop{bottom:48px}.pc-icon{width:92px;min-height:80px;display:flex;flex-direction:column;align-items:center;padding:4px;border-radius:6px;cursor:default}.pc-icon:hover{background:#ffffff2e}.pc-icon--sel{background:#ffffff52}.pc-icon-pic{font-size:38px;line-height:1.1}.pc-icon .fx-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);font-size:13px;text-align:center;word-break:break-word}.taskbar{position:absolute;left:0;right:0;bottom:0;height:48px;background:#141824e0;display:flex;justify-content:center;align-items:center;gap:6px;z-index:30}.dock{position:absolute;left:0;top:26px;bottom:0;width:60px;background:#141414d1;display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:center;gap:8px;padding:10px 0;z-index:30}.dock .start-btn{margin-top:auto}.start-btn,.task-app{width:44px;height:40px;border:none;border-radius:8px;background:transparent;font-size:22px;cursor:pointer;color:#fff}.start-btn:hover,.task-app:hover{background:#ffffff26}.task-app.on{box-shadow:inset 0 -3px #8fc1ff}.dock .task-app.on{box-shadow:inset 3px 0 #e95420}.task-clock{position:absolute;right:14px;color:#fff;font-size:13px}.win-logo{display:inline-block;width:20px;height:20px;background:linear-gradient(#8fc1ff,#8fc1ff) 0 0/9px 9px no-repeat,linear-gradient(#8fc1ff,#8fc1ff) 11px 0/9px 9px no-repeat,linear-gradient(#8fc1ff,#8fc1ff) 0 11px/9px 9px no-repeat,linear-gradient(#8fc1ff,#8fc1ff) 11px 11px/9px 9px no-repeat}.apps-grid{display:inline-block;width:20px;height:20px;background:radial-gradient(circle,#fff 2px,transparent 2.5px) 0 0/7px 7px}.start-menu{position:absolute;z-index:40;background:#fff;border-radius:12px;box-shadow:0 12px 30px #00000059;padding:8px;display:flex;flex-direction:column;min-width:230px}.pc--windows .start-menu{bottom:56px;left:50%;transform:translate(-50%)}.pc--ubuntu .start-menu{left:70px;bottom:16px}.start-menu button{border:none;background:none;text-align:left;padding:12px 14px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;color:#1b2340}.start-menu button:hover{background:#eef2ff}.start-menu .power{border-top:1px solid #E3E8F5;margin-top:4px}.win{position:absolute;background:#fff;border-radius:8px;box-shadow:0 14px 40px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:10;outline:none}.win--front{z-index:12}.pc--ubuntu .win{border-radius:12px}.fx{left:120px;top:22px;width:640px;height:400px}.pc--ubuntu .fx{left:150px;top:46px}.notes{right:24px;top:70px;width:420px;height:320px}.win-bar{height:34px;display:flex;justify-content:space-between;align-items:center;background:#f0f2f7;padding-left:12px;font-size:14px;font-weight:700;color:#1b2340;flex-shrink:0}.pc--ubuntu .win-bar{background:#ebebeb;justify-content:center;position:relative}.pc--ubuntu .win-buttons{position:absolute;right:4px}.win-buttons{display:flex}.win-btn{width:40px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;font-size:15px;color:#1b2340}.win-btn--close{cursor:pointer}.win-btn--close:hover{background:#e81123;color:#fff}.pc--ubuntu .win-btn--close:hover{background:#e95420;border-radius:99px}.fx-tools{display:flex;gap:2px;padding:6px;border-bottom:1px solid #E3E8F5;align-items:center;flex-wrap:wrap}.fx-tools button{border:none;background:none;padding:6px 8px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;color:#1b2340}.fx-tools button:hover{background:#eef2ff}.fx-search{margin-left:auto;width:130px;padding:5px 8px;border:1px solid #C9D1E6;border-radius:6px;font-size:13px}.fx-body{flex:1;display:flex;min-height:0}.fx-side{width:150px;border-right:1px solid #E3E8F5;padding:6px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex-shrink:0}.fx-side button{border:none;background:none;text-align:left;padding:6px 8px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;color:#1b2340}.fx-side button.on{background:#dce6ff}.fx-side button.sub{padding-left:18px}.fx-main{flex:1;display:flex;flex-direction:column;min-width:0}.fx-path{padding:6px 12px;font-size:12.5px;color:#4a5578;border-bottom:1px solid #F0F2F7}.fx-grid{flex:1;padding:10px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;overflow-y:auto}.fx-item{width:96px;min-height:84px;padding:6px 4px;border-radius:6px;display:flex;flex-direction:column;align-items:center;cursor:default;border:1px solid transparent}.fx-item:hover{background:#eef2ff}.fx-item--sel{background:#dce6ff;border-color:#8fa9f5}.fx-item--cut{opacity:.5}.fx-pic{font-size:34px}.fx-name{font-size:12.5px;text-align:center;word-break:break-word;color:#1b2340}.fx-where{font-size:10.5px;color:#6b7593;text-align:center}.fx-empty{color:#6b7593;font-size:14px;padding:10px}.fx-rename{width:90px;font-size:12.5px;padding:2px 4px;border:1px solid var(--blue);border-radius:4px;text-align:center}.notes-tools{padding:4px 6px;border-bottom:1px solid #E3E8F5}.notes-tools button{border:none;background:none;padding:6px 10px;border-radius:6px;font-weight:700;cursor:pointer}.notes-tools button:hover{background:#eef2ff}.notes-text{flex:1;border:none;resize:none;padding:12px;font-family:Consolas,Ubuntu Mono,monospace;font-size:16px;outline:none}.save-dialog{position:absolute;inset:34px 0 0;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px;z-index:3}.save-dialog h3{margin:0;font-size:16px}.save-row{display:flex;gap:10px;flex:1;min-height:0}.save-fields{flex:1;display:flex;flex-direction:column;gap:8px;font-size:14px}.save-fields p{margin:0}.save-fields label{display:flex;flex-direction:column;gap:4px;font-weight:700}.save-fields input{padding:8px;border:1px solid #C9D1E6;border-radius:6px;font-size:15px}.save-actions{display:flex;gap:8px}.pc .ctx-menu{z-index:50}.pc .ctx-menu button{font-size:15px;padding:9px 12px}.lesson-cb{user-select:none;-webkit-user-select:none}.cb-tip{margin:0;padding:10px 14px;border-radius:12px;background:#fff6d6;color:#4a3700;font-weight:800;font-size:16px}.task-app--glow{animation:glow 1.1s ease-in-out infinite;background:#ffc93c59!important}@keyframes glow{0%,to{box-shadow:0 0 #ffc93ce6}50%{box-shadow:0 0 0 8px #ffc93c00}}.module-tabs:has(+.game),.module-tabs:has(+.lesson-cb){display:none}.game,.lesson-cb{gap:8px}.game-instruction{font-size:18px}.game-hint{min-height:1.5em;font-size:17px}.play-area{min-height:0}.menu-area{height:clamp(300px,calc(100vh - 250px),420px)}.box-grid{max-height:calc(100vh - 230px);overflow-y:auto}.drag-area{min-height:0;height:clamp(330px,calc(100vh - 240px),460px);padding:14px}.drag-slot,.drag-item{width:92px;height:92px}.drag-pic{font-size:42px}.baskets{margin-top:10px}.basket{min-height:110px}.maze{aspect-ratio:760 / 420;height:auto;width:min(100%,calc((100vh - 250px) * 760 / 420));max-width:760px}.scroll-view{height:clamp(300px,calc(100vh - 250px),400px)!important}.scaled-board{transform-origin:top left}.cb-computer{display:grid;grid-template-columns:270px 1fr;gap:12px;align-items:start}.cb-side{display:flex;flex-direction:column;gap:8px;position:sticky;top:8px}.cb-tasks{font-size:14.5px;padding:12px 14px}.cb-tasks li.now{font-size:16px}.cb-hint{font-size:15px;background:#fff;border-radius:12px;padding:8px 12px;min-height:0}.cb-hint:empty{display:none}.cb-tip{font-size:14.5px}.pc{height:clamp(420px,calc(100vh - 175px),540px)}.fx{left:104px;top:14px;width:min(640px,calc(100% - 120px));height:calc(100% - 78px);max-height:420px}.pc--ubuntu .fx{left:136px;top:40px;height:calc(100% - 60px)}.notes{right:16px;top:40px;width:min(420px,calc(100% - 140px));height:calc(100% - 110px);max-height:340px}@media(max-width:1100px){.cb-computer{grid-template-columns:1fr}.cb-side{position:static}}.board-fit{margin:0 auto}.pc:focus{outline:none}@media(max-height:820px){.main{padding-top:14px}.lesson,.lesson .stat-grid{gap:10px}.lesson .stat{padding:8px 14px;flex-direction:row;align-items:baseline;gap:10px}.lesson .stat-value{font-size:24px}.lesson .stat-value small{font-size:14px}.lesson .typing{padding:14px 24px;gap:10px}.lesson .helpers{padding:10px 16px 12px;gap:6px}.lesson .helpers-bar .display.small{font-size:18px}.lesson .helpers-bar .btn{min-height:40px;padding:0 14px;font-size:15px}.lesson .kb-wrap{zoom:.8}}@media(max-height:700px){.lesson .kb-wrap{zoom:.68}}.cb-restart{align-self:flex-start;font-size:14px}.pc--ubuntu .fx{width:min(640px,calc(100% - 152px))}.fx{max-width:calc(100% - 16px)}.notes{max-width:calc(100% - 80px)}.logo-win{display:inline-block;width:14px;height:14px;vertical-align:-2px;background:linear-gradient(#2f5bea,#2f5bea) 0 0/6px 6px no-repeat,linear-gradient(#2f5bea,#2f5bea) 8px 0/6px 6px no-repeat,linear-gradient(#2f5bea,#2f5bea) 0 8px/6px 6px no-repeat,linear-gradient(#2f5bea,#2f5bea) 8px 8px/6px 6px no-repeat}.logo-ubuntu{display:inline-block;width:14px;height:14px;border-radius:50%;background:#e95420;vertical-align:-2px}.paint{background:#fff;border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:6px;user-select:none;-webkit-user-select:none}.pt-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pt-top button{border:1px solid #D5DCEE;background:#fff;border-radius:8px;padding:6px 10px;font-family:inherit;font-weight:800;font-size:14px;color:var(--ink);cursor:pointer;min-height:36px}.pt-top button:disabled{opacity:.4;cursor:default}.pt-top button.on{border-color:var(--blue);background:var(--blue-soft)}.pt-top .pt-save{background:var(--blue);color:#fff;border-color:var(--blue)}.pt-group{display:inline-flex;gap:4px}.pt-dot{display:inline-block;border-radius:50%;background:var(--ink);vertical-align:middle}.pt-sep{width:1px;height:26px;background:#e3e8f5}.pt-spacer{flex:1}.pt-body{display:flex;gap:8px;align-items:flex-start}.pt-tools{display:grid;grid-template-columns:repeat(2,64px);gap:4px}.pt-tools button{width:64px;height:56px;border:1px solid #D5DCEE;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;color:var(--ink);font-family:inherit;padding:2px}.pt-tools button.on{border:2px solid var(--blue);background:var(--blue-soft)}.pt-icon{font-size:21px;line-height:1;height:24px;display:flex;align-items:center}.pt-a{font-family:Georgia,serif;font-weight:700;font-size:22px}.pt-name{font-size:11px;font-weight:800}.pt-canvas-wrap{flex:1;display:flex;justify-content:center;min-width:0}.pt-stage{position:relative;aspect-ratio:720 / 420;width:min(100%,calc((100vh - 285px) * 720 / 420));min-width:420px;box-shadow:0 0 0 1px #c9d1e6;border-radius:4px;overflow:hidden;background:#fff}.pt-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.pt-text{position:absolute;border:2px dashed var(--blue);background:#ffffffd9;font-family:Nunito,Segoe UI,sans-serif;font-weight:700;padding:0 4px;min-width:120px;outline:none;line-height:1.1}.pt-save-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:14px;box-shadow:0 12px 30px #0000004d;padding:16px 18px;display:flex;flex-direction:column;gap:8px;width:320px}.pt-save-dialog h3{margin:0}.pt-save-dialog label{display:flex;flex-direction:column;gap:4px;font-weight:800}.pt-save-dialog input{padding:8px;border:1px solid #C9D1E6;border-radius:6px;font-size:16px}.pt-save-dialog p{margin:0;font-size:13px}.pt-palette{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:2px 4px}.pt-current{width:34px;height:34px;border-radius:8px;border:2px solid #1B2340;margin-right:6px}.pt-swatch{width:28px;height:28px;border-radius:50%;border:2px solid #C9D1E6;cursor:pointer;padding:0}.pt-swatch.on{border:3px solid #1B2340;transform:scale(1.12)}.pt-colour-name{margin-left:8px;font-weight:800;color:var(--muted);text-transform:capitalize}.confetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:1000}.cb-tasks-listen{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cb-criteria-btn{white-space:nowrap}.cb-criteria-backdrop{position:fixed;inset:0;background:#141e3c59;z-index:2000;display:grid;place-items:center;padding:16px}.cb-criteria{background:#f2f6ff;border:2px solid #C9D8FF;border-radius:16px;padding:14px 16px;font-size:15px;width:min(640px,100%);max-height:86vh;overflow:auto;box-shadow:0 12px 40px #00000040}.cb-criteria-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px;position:sticky;top:-14px;background:#f2f6ff;padding:4px 0}.cb-criteria-head{margin:0;font-weight:800}.cb-criteria>ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cb-crit{background:#fff;border-radius:10px;padding:6px 10px;border-left:5px solid #C9CED8}.cb-crit--ok{border-left-color:#2e9e5b}.cb-crit--no{border-left-color:#e53935}.cb-crit-task{font-weight:800;display:block}.cb-crit ul{margin:4px 0;padding-left:20px}.cb-crit-state{font-weight:800;font-size:13px}.cb-crit--no .cb-crit-state{color:#b71c1c}.cb-crit--ok .cb-crit-state{color:#1b6e3d}.cb-criteria-note{margin:8px 0 0;font-size:13px;color:#4a5468}.class-settings .setting{border:0;padding:0;margin:8px 0 0;display:grid;gap:10px}.class-settings legend{font-weight:800;margin-bottom:8px}.setting-choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:2px solid #E2E7F0;border-radius:12px;cursor:pointer}.setting-choice:has(input:checked){border-color:var(--blue);background:#f2f6ff}.setting-choice input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue)}.setting-status{margin:8px 0 0;min-height:1.4em;color:#1b6e3d;font-weight:700}.review-badge{margin:4px 0 0;font-size:14px;font-weight:700;color:#4a5468}.review-badge--ok{color:#1b6e3d}.review-badge--redo{color:#b23c00}.pic-filters{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:8px 0 12px;font-weight:700}.pic-filters select{font:inherit;padding:6px 10px;border-radius:10px;border:2px solid #D5DBE6;max-width:100%}.pic-only{display:flex;gap:6px;align-items:center;font-weight:600}.pic-group+.pic-group{margin-top:18px}.pic-group-title{font-size:1rem;margin:6px 0 8px;color:#33415c}.pic-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.pic-card{border:2px solid #E2E7F0;border-radius:14px;padding:10px;display:grid;gap:8px;background:#fff}.pic-card--ok{border-color:#8fd3a8}.pic-card--redo{border-color:#f5b48a}.pic-thumb{padding:0;border:1px solid #E2E7F0;border-radius:8px;background:#f7f8fb;aspect-ratio:720 / 420;display:grid;place-items:center;cursor:zoom-in;overflow:hidden}.pic-thumb img{width:100%;height:100%;object-fit:contain;display:block}.pic-meta{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline;font-size:14px}.pic-state{margin-left:auto;font-weight:800;font-size:13px}.pic-state--ok{color:#1b6e3d}.pic-state--redo{color:#b23c00}.pic-note{font:inherit;font-size:14px;padding:6px 10px;border:2px solid #D5DBE6;border-radius:10px}.pic-big{background:#fff;border-radius:16px;padding:14px 16px;width:min(1000px,100%);max-height:92vh;overflow:auto}.pic-big img{width:100%;height:auto;border:1px solid #E2E7F0;border-radius:8px;display:block}.setting-goal{margin-top:18px}.setting-goal label{line-height:1.45}.goal-input{width:90px;font:inherit;font-size:18px;font-weight:800;padding:6px 10px;border:2px solid #D5DBE6;border-radius:10px}.sd-open{font-weight:800;text-align:left}.student-detail{background:#fff;border-radius:16px;padding:14px 18px 18px;width:min(780px,100%);max-height:92vh;overflow:auto;box-shadow:0 12px 40px #00000040}.student-detail .cb-criteria-top{background:#fff}.sd-section{border-top:2px solid #EEF1F6;padding-top:10px;margin-top:10px}.sd-section h3{margin:0 0 6px;font-size:18px}.sd-section h4{margin:12px 0 6px;font-size:15px}.sd-chart{width:100%;height:auto;display:block;background:#fafbfd;border-radius:10px}.sd-grid{stroke:#e2e7f0;stroke-width:1}.sd-axis{font-size:11px;fill:#6b7487}.sd-line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round}.sd-dot{fill:#fff;stroke:var(--blue);stroke-width:2}.sd-keys{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.sd-keys li{display:flex;align-items:center;gap:6px;background:#fff6d6;border-radius:10px;padding:4px 10px;font-weight:700}.sd-keys kbd{font:800 16px/1 Nunito,sans-serif;background:#fff;border:2px solid #E2C46A;border-radius:6px;padding:4px 8px;min-width:1.6em;text-align:center}.sd-lessons{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sd-lessons>li{border:2px solid #EEF1F6;border-radius:12px;padding:8px 12px}.sd-lesson-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.sd-stars{color:#f2b705;letter-spacing:1px}.sd-ok{margin:4px 0 0;color:#1b6e3d;font-weight:700}.sd-help-title{margin:6px 0 2px;font-weight:700;color:#b23c00}.sd-help{margin:0;padding-left:20px}.small{font-size:13px}.sd-picture{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start;margin:8px 0 4px}.sd-picture--big{grid-template-columns:1fr}.sd-picture .pic-thumb{width:100%}.sd-picture-info{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-size:14px}.sd-picture-info .pic-state{margin-left:0}.setting-delay{display:grid;gap:4px;margin-top:6px;font-weight:600}.setting-delay select{font:inherit;font-weight:800;padding:4px 8px;border:2px solid #D5DBE6;border-radius:10px}.cb-mistake{background:#fff1e6;border:2px solid #F5B48A;border-radius:12px;padding:10px 12px;display:grid;gap:8px}.cb-mistake p{margin:0;font-weight:800;color:#7a2e00;font-size:16px}.cb-needhelp{align-self:flex-start}.cb-mistake .btn{font-size:15px;padding:8px 14px;min-height:0}.model-card{background:#fff;border:2px solid #C9D8FF;border-radius:12px;padding:8px 10px;display:grid;gap:6px}.model-title{margin:0;font-weight:800;font-size:14px;color:#1e3a8a}.model-thumb{padding:0;border:1px solid #E2E7F0;border-radius:8px;background:#fff;cursor:zoom-in;overflow:hidden}.model-thumb canvas{width:100%;height:auto;display:block}.model-large{width:100%;height:auto;display:block;border:1px solid #E2E7F0;border-radius:8px}.picture-view{margin:0;display:grid;gap:4px;justify-items:center}.picture-view canvas{width:min(100%,400px);height:auto;border:2px solid #E2E7F0;border-radius:12px;background:#fff}.picture-view figcaption{font-weight:700;font-size:14px;color:#1e3a8a}.cb-learn--picture{display:grid;grid-template-columns:1fr minmax(260px,400px);grid-template-areas:"title pic" "list pic" "actions pic";column-gap:24px;align-items:start}.cb-learn--picture .picture-view{grid-area:pic}.cb-learn--picture>h2{grid-area:title}.cb-learn--picture>ul{grid-area:list}.cb-learn--picture>.actions{grid-area:actions}.cb-q .picture-view canvas{width:min(100%,340px)}.cb-q .picture-view{margin-bottom:10px}.setting-speeds{margin:6px 0 4px;font-size:14px;color:#1e3a8a;font-weight:700;background:#f2f6ff;border-radius:10px;padding:6px 10px}.docs{position:relative;display:grid;gap:8px;background:#fff;border-radius:16px;padding:10px}.dc-bar,.dc-colours{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.dc-btn{min-width:34px;height:34px;padding:0 7px;border:2px solid #E2E7F0;border-radius:10px;background:#fff;font:inherit;font-weight:800;font-size:15px;cursor:pointer;display:inline-grid;place-items:center}.dc-btn:hover{border-color:#9db4f0}.dc-btn--on{background:#e8f0ff;border-color:var(--blue)}.dc-b{font-weight:900}.dc-i{font-style:italic;font-family:Georgia,serif}.dc-u{text-decoration:underline}.dc-size{min-width:30px;padding:0 3px}.dc-align{font-size:18px}.dc-sep{width:1px;height:26px;background:#e2e7f0;margin:0 2px}.dc-grow{flex:1}.dc-label{font-size:13px;font-weight:800;color:#4a5468;margin-right:2px}.dc-swatch{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9ced8;cursor:pointer}.dc-swatch--on{box-shadow:0 0 0 3px #1b1b1b}.dc-colour-name{font-weight:800;font-size:14px;margin-left:4px;min-width:52px}.dc-tip{font-size:13px;color:#6b7487;margin-left:auto}.dc-save{margin-left:8px}.dc-page{min-height:300px;height:clamp(260px,calc(100vh - 330px),520px);overflow-y:auto;border:2px solid #D5DBE6;border-radius:10px;padding:18px 26px;font-family:Nunito,Segoe UI,sans-serif;font-size:18px;line-height:1.5;color:#1b1b1b;background:#fff;outline:none}.dc-page:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1e5bd826}.dc-page p{margin:0 0 6px}.class-tabs{margin:0 0 16px}.class-tabs .module-tab{font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:8px}.tab-count{font-size:13px;padding:1px 8px}.work-filters{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 18px;align-items:center;font-weight:700;padding:12px 16px}.work-filters select{font:inherit;font-weight:600;padding:6px 10px;border-radius:10px;border:2px solid #D5DBE6;max-width:260px;background:#fff}.work-filters select:disabled{opacity:.55}.work-grid th,.work-grid td{text-align:center;white-space:nowrap}.work-grid th:first-child,.work-grid td:first-child{text-align:left;position:sticky;left:0;background:#fff}.wg-cell{border:0;background:none;font:inherit;cursor:pointer;padding:2px 6px;border-radius:6px;color:inherit}.wg-cell:hover{background:var(--blue-soft)}.wg-done{color:#c98a00}.wg-tried{color:#8a94a8}.wg-none{color:#c5cbd8}.wg-link{font-weight:600}.work-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:8px 0}.work-stats .stat{border:2px solid #EEF1F6;border-radius:14px;padding:10px 14px}.work-help{background:#fff6e0;border-radius:12px;padding:10px 14px;margin:8px 0}.work-help ul{margin:4px 0 0;padding-left:20px}.work-notdone{margin:10px 0 0;line-height:1.8}.work-nudge{background:#fff6e0;border-radius:12px;padding:10px 14px;font-weight:600}.pic-sub{margin:0;font-size:13px}.pic-big-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.pic-big img{max-height:calc(92vh - 190px);width:auto;max-width:100%;margin:0 auto;object-fit:contain}.sw-tile .pic-state,.pic-big-bar .pic-state{margin-left:0}.pic-big-bar .pic-note{flex:1 1 220px}.student-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 18px}.student-list li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #EEF1F6}.student-list li .link-btn{margin-left:auto}.t-section>.work-stats,.t-section>.pic-grid,.t-section>.pic-group,.t-section>.table-wrap,.t-section>.sd-section,.t-section>.sw-head,.t-section>.work-help{align-self:stretch}.work-tab .t-section{margin-bottom:16px}.sw-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sw-head h2{margin:0 6px}.sw-print{margin-left:auto}.sw-todo{opacity:.5}.sw-pic{margin:8px 0;grid-template-columns:repeat(auto-fill,minmax(260px,340px))}.sw-mouse{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sw-mouse li{display:grid;grid-template-columns:minmax(200px,1fr) auto 120px;gap:12px;align-items:center}.sw-bar{display:inline-flex;gap:3px}.sw-bar i{width:22px;height:12px;border-radius:4px;background:#e6eaf2}.sw-bar i.on{background:var(--blue)}.sw-summary{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}.sw-sum-part{border:2px solid #E2E7F0;background:#f7f9fc;border-radius:999px;padding:4px 12px;font:inherit;font-weight:700;font-size:14px;color:var(--ink, #1D2433);cursor:pointer}.sw-sum-part:hover{border-color:var(--blue)}.sw-sum-wait{background:#fff6e0;border-color:#f3d27a;cursor:default}.sw-count{font-size:14px;font-weight:600;margin-left:6px}.sw .sd-section{scroll-margin-top:12px}.sw-tiles{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.sw-tiles--small{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sw-tile{width:100%;height:100%;text-align:left;display:flex;flex-direction:column;gap:4px;border:2px solid #E2E7F0;border-radius:12px;padding:8px;background:#fff;font:inherit;color:inherit;cursor:pointer}.sw-tile:hover{border-color:var(--blue);box-shadow:0 2px 10px #1e3c8c1f}.sw-tile--ok{border-color:#8fd3a8}.sw-tile--redo{border-color:#f5b48a}.sw-tile--new{border-color:#f3d27a}.sw-thumb{display:flex;align-items:center;justify-content:center;height:118px;background:#f7f9fc;border-radius:8px;overflow:hidden}.sw-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}.sw-tile-title{font-size:14px;line-height:1.25}.sw-tile-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sw-help{color:#9a6200;font-weight:600}.sw-tile .sd-ok{margin:0}.sw-todo-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 0}.sw-chip{border:1px dashed #C5CBD8;border-radius:8px;padding:1px 8px;font-size:13px;font-weight:700;color:#8a94a8}.sw-typing{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:16px;align-items:start}.sw-typing h4{margin-top:0}.sw-mouse{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));column-gap:24px}.sw-mouse li{grid-template-columns:1fr auto 28px}.sw-mouse-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pic-big-extra{margin:0 0 10px}.pic-big-extra p{margin:0 0 4px}@media(max-width:700px){.sw-typing{grid-template-columns:1fr}}.sw-skills{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px 24px}.sw-skills li{display:grid;grid-template-columns:170px 1fr;gap:2px 10px;align-items:center}.sw-skills li>.small{grid-column:2}.sw-skill-name{font-weight:700;font-size:14px;grid-row:span 2}.sw-skill-bar{height:12px;border-radius:6px;background:#e6eaf2;overflow:hidden}.sw-skill-bar i{display:block;height:100%;border-radius:6px}.sw-skill-bar i.good{background:#2e9d4f}.sw-skill-bar i.ok{background:#f4b400}.sw-skill-bar i.low{background:#e57373}.sw-chip--done{border-style:solid;border-color:#8fd3a8;color:#1b6e3d}.sw-mouse li span.small{white-space:nowrap}.sw-levels{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.sw-levels li{grid-template-columns:1fr auto 150px}.print-only{display:none}@media print{.print-only{display:block}.sw .pic-note,.sw .actions{display:none!important}.sw-tile,.sw .pic-card{break-inside:avoid}.sd-lessons>li{break-inside:avoid}}.ct-hub{display:grid;gap:14px}.ct-hub>.link-btn{justify-self:start}.ct-skills{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.ct-skill{width:100%;height:100%;display:flex;flex-direction:column;gap:6px;text-align:left;padding:18px;border:3px solid transparent;cursor:pointer;font:inherit;color:inherit}.ct-skill:hover{border-color:var(--blue);transform:translateY(-2px)}.ct-skill-icon{font-size:40px;line-height:1}.ct-skill-name{font-family:var(--display);font-weight:800;font-size:20px}.ct-skill-short{font-weight:700;color:var(--blue-dark)}.ct-skill-stars{margin-top:auto;font-weight:800;color:#c98a00}.ct-skill--pattern{background:#fff4e5}.ct-skill--abstract{background:#e8f3ff}.ct-skill--decompose{background:#eef9ee}.ct-skill--algorithm{background:#f5eeff}.ct-skill--ai{background:#fff0f4}.ct-acts{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ct-act{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding:16px 18px;align-items:start}.ct-act-text h2{margin:0}.ct-act-text p{margin:2px 0}.ct-chapters{font-size:13px;font-weight:700;color:#33415c}.ct-levels{grid-column:1 / -1;list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ct-level{width:100%;height:100%;display:flex;flex-direction:column;gap:2px;text-align:left;border:2px solid #D5DCEE;border-radius:14px;background:#fff;padding:10px 12px;font:inherit;color:inherit;cursor:pointer}.ct-level:hover{border-color:var(--blue);background:var(--blue-soft)}.ct-level--done{border-color:#f3d27a;background:#fffbef}.ct-level-n{font-family:var(--display);font-weight:800}.ct-level-what{font-size:13px;color:var(--muted)}.ct-soon-title{margin:10px 0 0}.ct-soon{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.ct-soon li{padding:10px 14px;opacity:.6;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.ct-stories{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ct-story-card{width:100%;height:100%;display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border:3px solid transparent;cursor:pointer;font:inherit;color:inherit;position:relative}.ct-story-card:hover{border-color:var(--blue)}.ct-story-card--done{border-color:#8fd3a8}.ct-story-icon{font-size:34px}.ct-done{position:absolute;top:10px;right:12px;color:#1b6e3d;font-weight:800;font-size:13px}.ct-grade-note{margin:0}.ct-player{display:grid;gap:12px}.ct-dots{display:flex;gap:6px}.ct-dot{width:16px;height:16px;border-radius:50%;background:#e2e7f0}.ct-dot--now{background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ct-dot--done{background:#f4b400}.ct-dot--clean{background:#2e9d4f}.ct-prompt{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;font-size:17px}.ct-prompt p{margin:0}.ct-prompt .btn{white-space:nowrap;flex:none}.ct-play{padding:18px;min-height:260px;display:flex;justify-content:center}.ct-under{display:grid;gap:8px}.ct-message{margin:0;padding:8px 12px;border-radius:12px;background:#fff1e6;color:#8a3d00;font-weight:600}.ct-message--good{background:#e9f8ee;color:#1b6e3d}.ct-hints{list-style:none;margin:0;padding:8px 12px;background:#fff8dc;border-radius:12px;display:grid;gap:4px}.ct-pulse{animation:ct-pulse 1.2s ease-in-out infinite}@keyframes ct-pulse{0%,to{box-shadow:0 0 #f4b40099}50%{box-shadow:0 0 0 8px #f4b40000}}.ct-pattern{display:grid;gap:14px;justify-items:center}.ct-train,.ct-options{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ct-tile{width:74px;height:74px;border:2px solid #D5DCEE;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;padding:0}.ct-slot{border:3px dashed #9AA8C7;background:#f7f9fc;cursor:pointer}.ct-slot--chosen{border-color:var(--blue);background:var(--blue-soft)}.ct-slot--right{border:3px solid #2E9D4F;background:#e9f8ee;cursor:default}.ct-q{font-family:var(--display);font-size:34px;font-weight:800;color:#9aa8c7}.ct-q--small{font-size:26px}.ct-option{cursor:grab}.ct-option:hover{border-color:var(--blue);transform:translateY(-2px)}.ct-bounce{animation:ct-shake .45s;border-color:#e53935}@keyframes ct-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.ct-howto{margin:0}.ct-turn,.ct-predict{display:grid;gap:14px;justify-items:center}.ct-stage{position:relative;display:grid;padding:14px;border-radius:16px;background:#f7f9fc}.ct-stage--done{background:#e9f8ee}.ct-layer{grid-area:1 / 1;display:flex;align-items:center;justify-content:center}.ct-moving{opacity:.92}.ct-anim-right{animation:ct-turn-right .35s ease-out}.ct-anim-left{animation:ct-turn-left .35s ease-out}.ct-anim-flip{animation:ct-flip .35s ease-out}.ct-anim-flipUp{animation:ct-flip-up .35s ease-out}@keyframes ct-turn-right{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes ct-turn-left{0%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes ct-flip{0%{transform:scaleX(-1)}to{transform:scaleX(1)}}@keyframes ct-flip-up{0%{transform:scaleY(-1)}to{transform:scaleY(1)}}.ct-move-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ct-move{font-size:16px}.ct-move-icon{font-size:22px;font-weight:800}.ct-predict-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.ct-predict-start{margin:0;display:grid;justify-items:center}.ct-step-card{display:grid;justify-items:center;gap:2px;border:2px solid #D5DCEE;border-radius:12px;padding:6px 10px;background:#fff;position:relative}.ct-step-n{position:absolute;top:-9px;left:-9px;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.ct-choices{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.ct-choice{position:relative;border:3px solid #D5DCEE;border-radius:14px;background:#fff;padding:10px;cursor:pointer}.ct-choice:hover:not(:disabled){border-color:var(--blue)}.ct-choice--wrong{opacity:.4;border-color:#e53935}.ct-choice--right{border-color:#2e9d4f;background:#e9f8ee}.ct-choice-letter{position:absolute;top:4px;left:8px;font-weight:800;color:var(--muted)}.ct-detective{display:grid;gap:14px 20px;width:100%;max-width:1060px;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}.ct-det-side{display:grid;gap:10px}@media(max-width:860px){.ct-detective{grid-template-columns:1fr}}.ct-clues{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ct-clues li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;background:#fff8dc;border-radius:12px;padding:8px 12px;font-size:16px}.ct-clue-n{font-weight:800;color:#8a5a00}.ct-clue-text{flex:1 1 100%;order:2}.ct-clue-n,.ct-clues li .link-btn{order:1}.ct-clue-done{order:1;margin-left:auto}.ct-clue-done{font-size:13px;color:var(--muted);display:flex;gap:4px;align-items:center}.ct-clue--used{background:#eef1f6!important}.ct-clue--used .ct-clue-text{text-decoration:line-through;color:var(--muted)}.ct-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ct-tools .tab{flex:1 1 auto}.ct-board{display:grid;gap:4px}.ct-cell{min-height:34px;border:2px solid #D5DCEE;border-radius:8px;background:#fff;font:inherit;font-weight:800;font-size:16px;cursor:pointer;color:#1d2433;position:relative}.ct-cell--card{min-height:56px;font-size:20px}.ct-cell:hover{border-color:var(--blue)}.ct-cell--crossed{color:#7e889c;background:#f3f5f9}.ct-cell--crossed:after{content:"✖";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e53935;font-size:26px;opacity:.4}.ct-cell--found{border:3px solid #2E9D4F;background:#e9f8ee;border-radius:50%}.ct-route{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:center}.ct-field{display:grid;gap:3px;background:#8bc34a;padding:6px;border-radius:12px}.ct-sq{width:56px;height:56px;background:#c5e1a5;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:32px;position:relative}.ct-sq--trail{background:#e6f4d3;box-shadow:inset 0 0 0 3px #ffeb3b}.ct-sq--bump{background:#ffcdd2;animation:ct-shake .45s}.ct-sq--home{background:#fff59d}.ct-sq-got{position:absolute;right:2px;bottom:0;font-size:16px}.ct-program{display:grid;gap:10px;width:420px;max-width:100%;flex:none;align-content:start}.ct-palette{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ct-block{display:inline-flex;align-items:center;gap:4px;min-width:52px;height:52px;justify-content:center;border-radius:12px;border:2px solid #5B3FC4;background:#eee9ff;font-size:26px;font-weight:800;color:#3b2690;position:relative;padding:0 8px}.ct-block--new{cursor:pointer;background:#fff}.ct-block--new:hover:not(:disabled){background:#eee9ff}.ct-block--now{background:#ffeb3b;border-color:#c9a500}.ct-block--bad{background:#ffcdd2;border-color:#e53935}.ct-block-n{position:absolute;top:-8px;left:-8px;width:18px;height:18px;border-radius:50%;background:#5b3fc4;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.ct-block-x{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;border:0;background:#e53935;color:#fff;font-size:11px;cursor:pointer;padding:0;line-height:1}.ct-times{display:inline-flex;align-items:center;gap:3px;font-size:15px}.ct-times button{width:22px;height:22px;border-radius:6px;border:1px solid #5B3FC4;background:#fff;cursor:pointer;font-weight:800;padding:0}.ct-plan{list-style:none;margin:0;padding:12px 10px;display:flex;flex-wrap:wrap;gap:12px;min-height:76px;background:#f7f9fc;border:2px dashed #C9D2E3;border-radius:14px}.ct-plan-empty{align-self:center}.ct-full{color:#b23c00;font-weight:700}.ct-story{display:grid;gap:12px}.ct-scene{padding:24px;display:grid;gap:12px;justify-items:center;text-align:center}.ct-scene-pic{font-size:64px;margin:0;line-height:1.1}.ct-scene-text{font-size:19px;max-width:640px;margin:0}.ct-story-choices{list-style:none;margin:0;padding:0;display:grid;gap:8px;width:min(640px,100%)}.ct-story-choice{width:100%;text-align:left;border:2px solid #D5DCEE;border-radius:14px;background:#fff;padding:12px 14px;font:inherit;font-size:17px;cursor:pointer}.ct-story-choice:hover:not(:disabled){border-color:var(--blue)}.ct-story-choice--good{border-color:#2e9d4f;background:#e9f8ee}.ct-story-choice--bad{border-color:#e53935;background:#fff1f1}.ct-clue--now{background:#fff3c4!important;box-shadow:inset 0 0 0 2px #f4b400}.ct-clue--later{background:#f3f5f9!important}.ct-clue--used .ct-clue-n{color:#1b6e3d}.ct-det-step{margin:0;font-size:15px;background:#eef4ff;border-radius:10px;padding:8px 10px}.ct-det-answer{background:#fff1e6;color:#8a3d00;font-weight:700}.ct-found-btn{font-size:20px;padding:14px 18px;animation:ct-pulse 1.2s ease-in-out infinite}.ct-board-wrap{display:grid;gap:6px}.ct-board-wrap .ct-board{-webkit-user-select:none;user-select:none;touch-action:none}.ct-board--answer .ct-board{outline:3px solid #F57C00;outline-offset:4px;border-radius:8px}.ct-board--answer .ct-cell:not(.ct-cell--crossed):hover{background:#fff1e6;border-color:#f57c00}.ct-drag-tip{margin:0}.ct-row-x{border:0;background:#fdecec;color:#e53935;border-radius:8px;font-size:14px;cursor:pointer;padding:0}.ct-row-x:hover:not(:disabled){background:#f9c9c9}.ct-row-x:disabled{opacity:.4;cursor:default}.ct-howto-box{background:#fff;border-radius:16px;padding:14px 18px 18px;width:min(820px,100%);max-height:92vh;overflow:auto;box-shadow:0 12px 40px #00000040;display:grid;gap:12px}.ct-howto-box .cb-criteria-top{background:#fff}.ct-howto-body{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}.ct-howto-side{display:grid;gap:10px;justify-items:start}.ct-howto-board .ct-cell{display:flex;align-items:center;justify-content:center;cursor:default;transition:background .3s,color .3s}.ct-howto-press{box-shadow:0 0 0 4px #1e6fd959;transform:scale(1.05);margin:6px 0 0 6px}.ct-howto-text{margin:0;font-size:17px;min-height:52px;background:#fff8dc;border-radius:12px;padding:10px 12px}@media(max-width:700px){.ct-howto-body{grid-template-columns:1fr}}.ct-detective2{display:grid;gap:14px;width:100%;max-width:860px;justify-items:center}.ct-clues2{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}.ct-clue2{display:flex;gap:10px;align-items:center;background:#fff8dc;border-radius:12px;padding:10px 14px;font-size:18px}.ct-clue2--new{box-shadow:inset 0 0 0 3px #f4b400;animation:ct-pop .4s ease-out}.ct-clue2--hidden{background:#f3f5f9;font-size:15px}.ct-clue2-n{font-weight:800;color:#8a5a00;white-space:nowrap}.ct-clue2--hidden .ct-clue2-n{color:var(--muted)}.ct-clue2-text{flex:1}@keyframes ct-pop{0%{transform:scale(.97);opacity:.4}to{transform:scale(1);opacity:1}}.ct-cards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.ct-numcard{width:120px;height:110px;border-radius:16px;border:3px solid #C9D2E3;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;color:#1d2433;position:relative}.ct-numcard:hover:not(:disabled){border-color:var(--blue);transform:translateY(-3px)}.ct-numcard-n{font-family:var(--display);font-size:38px;font-weight:800}.ct-numcard--out{opacity:.45;background:#f3f5f9;cursor:default}.ct-numcard--out .ct-numcard-n{text-decoration:line-through}.ct-numcard--win{border-color:#2e9d4f;background:#e9f8ee;opacity:1;transform:scale(1.06)}.ct-numcard-tag{font-size:13px;font-weight:800;color:#5a6478}.ct-numcard--win .ct-numcard-tag{color:#1b6e3d}.ct-det2-score{margin:0;font-size:16px;color:#33415c}.ct-message--info{background:#eef4ff;color:#1e4fa0}.ct-fix-tile{cursor:pointer}.ct-fix-tile:hover:not(.ct-slot--right):not(.ct-fix-open){border-color:var(--blue)}.ct-fix-open,.ct-fix-open:hover{border:4px solid #E53935!important;background:#ffe3e3;box-shadow:0 0 0 3px #e5393540}.ct-cubes{display:grid;gap:12px;justify-items:center}.ct-cubes-given{display:flex;gap:28px;align-items:flex-end}.ct-cubes-given figure{margin:0;display:grid;justify-items:center;gap:4px;font-weight:700;color:#33415c}.ct-build,.ct-view{display:block}.ct-give{display:grid;gap:14px;width:100%;max-width:900px;justify-items:center}.ct-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}.ct-steps li{background:#f7f9fc;border-radius:12px;padding:8px 12px;font-size:17px}.ct-step-num{font-weight:800;color:#5b3fc4;margin-right:6px}.ct-step--now{background:#fff3c4!important;box-shadow:inset 0 0 0 2px #f4b400}.ct-step--done{color:var(--muted)}.ct-step--done .ct-step-num{color:#1b6e3d}.ct-friends{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.ct-friend{width:230px;min-height:160px;border:3px solid #D5DCEE;border-radius:16px;background:#fff;padding:10px;display:grid;justify-items:center;gap:4px;align-content:start}.ct-friend-face{font-size:34px;line-height:1}.ct-friend--giver{border-color:#f4b400;background:#fffbef}.ct-friend--target{border-style:dashed;border-color:var(--blue);cursor:pointer;background:#f4f8ff}.ct-choc-box{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;min-height:40px}.ct-choc{border:0;background:none;font-size:26px;padding:0 1px;cursor:grab;line-height:1.2}.ct-choc:disabled{cursor:default;opacity:1;color:inherit}.ct-choc:hover:not(:disabled){transform:scale(1.15)}.ct-friend-n{font-weight:800;color:#33415c}.ct-give-q{display:grid;gap:8px;justify-items:center;width:min(640px,100%)}.ct-give-question{font-size:19px;font-weight:800;margin:0}.ct-give-options{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.ct-give-options .ct-story-choice{text-align:center;font-weight:800;font-size:20px}.ct-code{display:grid;gap:14px;width:100%;max-width:980px;justify-items:center}.ct-code-example{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:18px;justify-content:center}.ct-key-options{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:8px}.ct-code-word{font-family:var(--display);font-size:26px;letter-spacing:4px}.ct-code-secret{color:#8e3fc4}.ct-strip-wrap{display:grid;gap:6px;justify-items:center;width:100%}.ct-strip-bar{display:flex;gap:10px;align-items:center}.ct-strip-key{font-size:16px;padding:4px 12px;border-radius:999px;background:#f3f5f9}.ct-strip-key--ok{background:#e9f8ee;color:#1b6e3d}.ct-strip{display:grid;gap:2px;overflow-x:auto;max-width:100%}.ct-strip-row{display:grid;grid-template-columns:58px repeat(26,30px)}.ct-strip-label{font-size:12px;font-weight:800;color:#5a6478;align-self:center}.ct-strip-cell{height:32px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;border:1px solid #D5DCEE;background:#fff}.ct-strip-row--code .ct-strip-cell{background:#f5eeff;color:#5b2a86}.ct-code-task{display:grid;gap:8px;justify-items:center}.ct-code-line{margin:0;font-size:18px}.ct-code-boxes{display:flex;gap:8px;align-items:center}.ct-code-box{width:52px;height:58px;text-align:center;font-family:var(--display);font-size:28px;font-weight:800;text-transform:uppercase;border:3px solid #C9D2E3;border-radius:12px}.ct-code-box:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ct-code-box--ok{border-color:#2e9d4f;background:#e9f8ee;color:#1b6e3d}.ct-code-box--bad{border-color:#e53935;background:#fff1f1}.ct-code-letter{font-family:var(--display);font-size:30px;padding:0 6px;margin:0 2px;border-radius:8px;display:inline-block}.ct-code-letter--now{background:#fff3c4;box-shadow:inset 0 0 0 3px #f4b400}.ct-code-letter--done{opacity:.45}.ct-code-step{font-size:17px;max-width:760px;text-align:center}.ct-strip-help{background:#fff3c4!important;box-shadow:inset 0 0 0 2px #f4b400}span.ct-code-box{display:inline-flex;align-items:center;justify-content:center;background:#f7f9fc}.ct-code-box--now{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ct-linebox{display:grid;gap:10px;justify-items:center}.ct-linewrap{max-width:100%;overflow-x:auto}.ct-line{display:block}.ct-tick--click{cursor:pointer}.ct-tick--click:hover rect{fill:#2f6fe41f}.ct-line-animal{pointer-events:none}.ct-landings,.ct-rule{margin:0;font-size:20px}.ct-q{color:#e07b39;font-size:24px}.ct-rule-now{color:#2f6fe4;font-weight:800}.ct-bigopt{font-size:22px;font-weight:800;min-width:120px;padding:14px 18px}.ct-fold{display:grid;gap:16px;justify-items:center}.ct-fold-given{margin:0;display:grid;justify-items:center;gap:6px;font-weight:700;color:#33415c}.ct-fold-key{color:#c0392b;font-weight:800;margin-left:8px}.ct-who{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:center}.ct-who-clues{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:340px;font-size:19px}.ct-who-clues li{background:#f4f7fd;border-radius:12px;padding:10px 14px}.ct-who-right{display:grid;gap:10px;justify-items:center}.ct-who-pens{display:flex;gap:8px}.ct-who-pen{font:inherit;font-weight:800;padding:8px 14px;border-radius:999px;border:3px solid #D5DCEE;background:#fff;cursor:pointer}.ct-who-pen--yes.ct-who-pen--on{border-color:#2e9d4f;background:#e9f8ee;color:#1b6e3d}.ct-who-pen--no.ct-who-pen--on{border-color:#c62828;background:#fdecec;color:#9b1c1c}.ct-who-grid{border-collapse:separate;border-spacing:6px}.ct-who-grid th{font-weight:800;color:#33415c;padding:4px 8px}.ct-who-grid thead th{display:table-cell;text-align:center;font-size:15px}.ct-who-grid thead th span{display:block}.ct-who-icon{font-size:26px}.ct-who-grid tbody th{text-align:right;font-size:19px}.ct-who-cell{width:64px;height:56px;border-radius:12px;border:3px solid #C9D2E3;background:#fff;font-size:30px;font-weight:800;cursor:pointer}.ct-who-cell:hover:not(:disabled){border-color:var(--blue)}.ct-who-cell--yes{color:#1b6e3d;background:#e9f8ee;border-color:#2e9d4f}.ct-who-cell--no{color:#c62828;background:#fdf3f3}.ct-shake{animation:ct-shake .45s;border-color:#e53935}.ct-who-tip{flex-basis:100%;text-align:center;margin:0}.ct-frog-step{display:flex;align-items:center;gap:12px;font-size:20px;background:#eaf2ff;border:3px solid #2F6FE4;border-radius:14px;padding:10px 16px;max-width:760px}.ct-frog-step--slip{background:#fff1e6;border-color:#e07b39}.ct-count{pointer-events:none}.ct-frog-step .ct-step-num{white-space:nowrap}.ct-mala{display:grid;gap:14px;justify-items:center}.ct-mala-words{margin:0;font-size:21px}.ct-mala-string{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;padding:10px 14px;background:linear-gradient(#0000 calc(50% - 2px),#8d6e63 calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px));max-width:760px}.ct-mala-slot{width:38px;height:38px;display:grid;place-items:center}.ct-mala-slot--empty:after{content:"";width:28px;height:28px;border-radius:50%;border:2px dashed #9AA6BF;background:#fff}.ct-mala-slot--next:after{border-color:#2f6fe4;border-width:3px}.ct-mala-slot--new svg{animation:ct-pop .25s}@keyframes ct-pop{0%{transform:scale(.4)}to{transform:scale(1)}}.ct-mala-box{display:grid;gap:6px;justify-items:center;background:#f4f7fd;border-radius:16px;padding:10px 16px}.ct-mala-btns{display:flex;gap:12px}.ct-mala-btn{display:grid;justify-items:center;gap:2px;font:inherit;font-weight:700;color:#33415c;background:#fff;border:3px solid #D5DCEE;border-radius:14px;padding:6px 10px;cursor:pointer}.ct-mala-btn:hover{border-color:var(--blue);transform:translateY(-2px)}.ct-piece{display:grid;gap:16px;justify-items:center}.ct-piece-opt{display:block;padding-top:10px}.ct-mela{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:flex-start}.ct-mela-table{border-collapse:collapse;font-size:20px;background:#fffbea;border-radius:14px;overflow:hidden;min-width:280px}.ct-mela-table caption{font-weight:800;padding:6px;color:#7a5b00}.ct-mela-table td{padding:8px 14px;border-top:2px solid #F2E4B0;cursor:pointer}.ct-mela-table tr:hover td{background:#fff3c4}.ct-mela-row--on td{background:#ffe58a!important}.ct-mela-icon{font-size:26px;width:36px}.ct-mela-price{font-weight:800;text-align:right}.ct-mela-q{display:grid;gap:12px;max-width:460px}.ct-mela-question{margin:0;font-size:21px;font-weight:700;background:#eaf2ff;border-radius:12px;padding:10px 14px}.ct-mela-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ct-mela-opts .ct-bigopt{font-size:18px;min-width:0}.ct-machine{display:grid;gap:14px;justify-items:center}.ct-machine-pic{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:#33415c}.ct-machine-io{min-width:70px;text-align:center}.ct-machine-io b{display:block;font-size:30px;color:#2f6fe4}.ct-machine-arrow{font-size:26px;color:#9aa6bf}.ct-machine-box{display:grid;justify-items:center;gap:2px;background:#5b3fc4;color:#fff;border-radius:18px;padding:10px 24px;min-width:170px;font-size:22px;box-shadow:inset 0 -6px #0003}.ct-machine-gear{font-size:30px}.ct-machine-ask{margin:0 0 8px;text-align:center;font-weight:700}.ct-machine-table{border-collapse:separate;border-spacing:0 6px;font-size:22px}.ct-machine-table th{padding:4px 24px;color:#5a6478}.ct-machine-table td{padding:8px 24px;text-align:center;background:#f4f7fd}.ct-machine-row--given td{background:#efeafe}.ct-machine-row--now td{background:#eaf2ff;outline:3px solid #2F6FE4;outline-offset:-3px}.ct-machine-table form{display:flex;gap:8px;align-items:center;justify-content:center}.ct-machine-input{width:80px;font:inherit;font-size:22px;text-align:center;padding:4px;border:3px solid #2F6FE4;border-radius:10px}.ct-machine-done{color:#1b6e3d;font-weight:800}.ct-rangoli{display:grid;gap:12px;justify-items:center}.ct-rangoli-pen{font:inherit;font-weight:800;padding:8px 14px;border-radius:999px;border:3px solid #D5DCEE;background:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.ct-rangoli-pen--on{border-color:#33415c;background:#f4f7fd}.ct-rangoli-dot{width:18px;height:18px;border-radius:50%;display:inline-block}.ct-rangoli-grid{display:grid;gap:3px;background:#fff8e7;padding:8px;border-radius:14px}.ct-rangoli-cell{width:46px;height:46px;border:2px solid #F0DDB0;background:#fff;border-radius:8px;cursor:pointer;display:grid;place-items:center;padding:0;position:relative}.ct-rangoli-cell:hover:not(:disabled){border-color:var(--blue)}.ct-rangoli-cell--given{background:#fff3d6;cursor:default}.ct-rangoli-cell--lr{box-shadow:4px 0 #c0392b}.ct-rangoli-cell--lb{box-shadow:0 4px #c0392b}.ct-rangoli-cell--lr.ct-rangoli-cell--lb{box-shadow:4px 0 #c0392b,0 4px #c0392b,4px 4px #c0392b}.ct-rangoli-petal{width:32px;height:32px;border-radius:50% 0;display:block}.ct-hidden{display:grid;gap:16px;justify-items:center}.ct-parts{display:grid;gap:12px;justify-items:center}.ct-parts-object{font-size:90px;line-height:1}.ct-parts-q{margin:0;font-size:22px;font-weight:700}.ct-parts-opt{display:grid;justify-items:center;gap:4px;min-width:120px;min-height:120px;align-content:center}.ct-parts-icon{font-size:52px;line-height:1}.ct-parts-label{font-weight:800;font-size:17px}.ct-parts-count{margin:0;font-size:22px}.ct-mark{cursor:pointer}.ct-mark:hover circle:last-child,.ct-mark:hover line:last-child{stroke:#2f6fe4}.ct-order{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:flex-start}.ct-order-right{display:grid;gap:14px;justify-items:center}.ct-order-waiting{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;align-items:center;justify-content:center}.ct-order-kid{font:inherit;font-weight:800;font-size:18px;padding:8px 14px;border-radius:14px;border:3px solid #D5DCEE;background:#fff;cursor:pointer}.ct-order-kid:hover{border-color:var(--blue)}.ct-order-kid--on{border-color:#2f6fe4;background:#eaf2ff;transform:translateY(-3px)}.ct-order-line{display:flex;gap:8px;align-items:stretch}.ct-order-swing{align-self:center;font-weight:800;color:#c0392b}.ct-order-place{font:inherit;width:104px;min-height:86px;border-radius:14px;border:3px dashed #9AA6BF;background:#fff;cursor:pointer;display:grid;justify-items:center;align-content:center;gap:4px}.ct-order-place--full{border-style:solid;border-color:#5b3fc4;background:#f3effe}.ct-order-place--done{border-color:#2e9d4f;background:#e9f8ee}.ct-order-num{font-size:13px;font-weight:800;color:#5a6478}.ct-order-name{font-weight:800;font-size:17px}.ct-order-empty{font-size:26px;color:#9aa6bf;font-weight:800}.ct-cal{display:grid;gap:10px;justify-items:center}.ct-cal-rules{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:18px;font-weight:700}.ct-cal-rules li{background:#f4f7fd;border-radius:12px;padding:6px 12px}.ct-cal-box{background:#fff;border:3px solid #D5DCEE;border-radius:16px;padding:10px 14px}.ct-cal-month{margin:0 0 6px;text-align:center;font-weight:800;font-size:20px}.ct-cal-grid{display:grid;grid-template-columns:repeat(7,54px);gap:4px}.ct-cal-head{text-align:center;font-weight:800;color:#5a6478;font-size:14px;padding:4px 0}.ct-cal-day{height:44px;font:inherit;font-size:18px;font-weight:700;border:2px solid #E1E6F0;border-radius:10px;background:#fff;cursor:pointer;color:#1d2433}.ct-cal-day:hover:not(:disabled){border-color:var(--blue)}.ct-cal-day--on{background:#ffd54f;border-color:#e0a800}.ct-spot{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:center}.ct-spot-shape{margin:0;display:grid;justify-items:center;gap:6px;font-weight:800;color:#33415c;background:#f4f7fd;border-radius:14px;padding:12px 16px}.ct-spot-pic{position:relative}.ct-spot-cell{position:absolute;border:2px solid #fff;padding:0;cursor:pointer}.ct-spot-frame{position:absolute;pointer-events:none;border:5px solid #1D2433;border-radius:6px;box-shadow:0 0 0 3px #fff}.ct-spot-frame--found{border-color:#2e9d4f}.ct-spot-tried{position:absolute;pointer-events:none;border:3px dashed #C62828;border-radius:6px}.ct-steps{display:grid;gap:14px;justify-items:center}.ct-steps-job{margin:0;font-size:24px;font-weight:800}.ct-steps-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:820px;min-height:48px;align-items:center}.ct-steps-card{font:inherit;font-weight:700;font-size:17px;padding:10px 14px;border-radius:12px;border:3px solid #D5DCEE;background:#fff;cursor:pointer}.ct-steps-card:hover:not(:disabled){border-color:var(--blue)}.ct-steps-card--on{border-color:#2f6fe4;background:#eaf2ff;transform:translateY(-3px)}.ct-steps-card--yes{border-color:#2e9d4f;background:#e9f8ee;color:#1b6e3d}.ct-steps-boxes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.ct-steps-box{font:inherit;width:220px;min-height:140px;border-radius:16px;border:3px solid #C9D2E3;background:#f7f9fd;display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:10px;cursor:pointer;text-align:left}.ct-steps-box--ready{border-color:#2f6fe4;border-style:dashed}.ct-steps-box--bin{background:#fdf3f3}.ct-steps-box-name{font-weight:800;font-size:18px;text-align:center}.ct-steps-in{background:#fff;border-radius:8px;padding:4px 8px;font-size:15px;border:2px solid #E1E6F0}.ct-chef{display:grid;gap:12px;justify-items:center}.ct-chef-title{margin:0;font-weight:800;font-size:19px}.ct-chef-program{list-style:none;margin:0;padding:0;display:grid;gap:6px;min-width:420px}.ct-chef-program li{display:grid;gap:4px}.ct-chef-step{font:inherit;font-size:18px;text-align:left;padding:8px 14px;border-radius:12px;border:3px solid #D5DCEE;background:#fff;cursor:pointer;display:flex;gap:10px;align-items:center;width:100%}.ct-chef-step--fixed{cursor:default}.ct-chef-step--empty{border-style:dashed;color:#9aa6bf}.ct-chef-step--on{border-color:#2f6fe4;background:#eaf2ff}.ct-chef-step--done{border-color:#2e9d4f;background:#e9f8ee}.ct-chef-num{font-weight:800;color:#5b3fc4;min-width:56px;font-size:15px}.ct-chef-gap{justify-self:center;font:inherit;font-size:14px;border:2px dashed #C9D2E3;background:#fff;border-radius:999px;padding:0 18px;cursor:default;opacity:.5}.ct-chef-gap--ready{opacity:1;cursor:pointer;border-color:#2f6fe4}.ct-chef-gap--ready:hover{background:#eaf2ff}.ct-level--locked{opacity:.55;cursor:not-allowed}.ct-shut-note{text-align:center;margin:8px 0 0}.ct-setting{display:grid;gap:12px}.ct-setting-quick{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ct-setting-quick select{font:inherit;padding:4px 6px}.ct-setting-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ct-setting-skill{background:#f7f9fd;border-radius:12px;padding:10px 12px;display:grid;gap:4px}.ct-setting-skill-name{margin:0 0 4px;font-weight:800}.ct-setting-act{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.ct-setting-act--off span{color:#9aa6bf;text-decoration:line-through}.journal{margin-top:14px;border-top:2px dashed #E1E6F0;padding-top:12px;display:grid;gap:10px}.journal-title{margin:0;font-size:18px}.journal-latest{margin:0;display:flex;flex-wrap:wrap;gap:8px}.journal-chip{background:#f4f7fd;border-radius:999px;padding:4px 12px;font-size:14px}.journal-form{display:grid;gap:8px;background:#fffbea;border-radius:12px;padding:10px 12px}.journal-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.journal-form select,.journal-form input[type=date]{font:inherit;padding:4px 6px}.journal-form textarea{font:inherit;width:100%;box-sizing:border-box;padding:6px 8px;border-radius:8px;border:2px solid #E1E6F0;resize:vertical}.journal-ratings{display:flex;gap:6px}.journal-rating{font:inherit;font-size:14px;font-weight:700;padding:4px 10px;border-radius:999px;border:2px solid #D5DCEE;background:#fff;cursor:pointer}.journal-rating--on{border-color:#2e9d4f;background:#e9f8ee}.journal-ideas{display:flex;flex-wrap:wrap;gap:4px}.journal-ideas .sw-chip{cursor:pointer;border:none;font:inherit;font-size:12px}.journal-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.journal-list li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid #EEF1F6;padding-bottom:6px}.journal-date{font-weight:800;color:#5a6478;min-width:52px}.journal-skill{font-weight:700}.journal-rated{font-size:14px;background:#e9f8ee;border-radius:999px;padding:0 8px}.journal-note{flex:1;min-width:200px}.dc-list{font-weight:800;min-width:58px}.dc-page ul,.dc-page ol{margin:4px 0;padding-left:30px}.dc-page li{margin:2px 0}.dc-btn:disabled{opacity:.45;cursor:default}.dc-spell{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff8e1;border:2px solid #F4C542;border-radius:10px;padding:6px 10px;margin:6px 0;font-weight:700}.dc-slip{font:inherit;font-weight:800;color:#c62828;text-decoration:underline wavy #E53935;background:#fff;border:2px solid #F3C1C1;border-radius:8px;padding:2px 8px;cursor:pointer}.dc-emoji-wrap{position:relative;display:inline-flex}.dc-emoji-menu{position:absolute;top:100%;left:0;z-index:20;display:grid;grid-template-columns:repeat(6,36px);gap:2px;background:#fff;border:2px solid #D5DCEE;border-radius:12px;padding:6px;box-shadow:0 8px 20px #0000001f}.dc-emoji-menu button{font-size:22px;border:none;background:none;cursor:pointer;border-radius:8px;height:36px}.dc-emoji-menu button:hover{background:#eaf2ff}.cb-term-head{list-style:none;font-weight:800;color:#5a6478;text-transform:uppercase;letter-spacing:.06em;font-size:14px;margin:10px 4px 0}.slides{display:grid;gap:6px}.sl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.sl-bar--colours .dc-swatch{width:24px;height:24px}.sl-bg{border:2px solid #C9D2E3}.sl-all{font-size:13px;margin:0 4px}.sl-main{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:start}.sl-thumbs{list-style:none;margin:0;padding:4px;display:grid;gap:8px;max-height:460px;overflow-y:auto}.sl-thumb{display:flex;gap:6px;align-items:flex-start;border:3px solid transparent;border-radius:8px;background:none;padding:2px;cursor:pointer;width:100%}.sl-thumb--on{border-color:#2f6fe4;background:#eaf2ff}.sl-thumb-n{font-weight:800;color:#5a6478;width:14px;font-size:13px}.sl-thumb-box{width:144px;height:81px;overflow:hidden;display:block;border:1px solid #C9D2E3;border-radius:4px;pointer-events:none}.sl-thumb-box .sl-slide{transform-origin:top left}.sl-stage{display:grid;gap:4px;justify-items:center;overflow:auto}.sl-stage-n{margin:0;font-weight:700;color:#5a6478;font-size:14px}.sl-stage-frame{box-shadow:0 2px 12px #00000026;border-radius:6px;overflow:hidden}.sl-slide{box-sizing:border-box;padding:34px 42px;display:flex;font-family:Nunito,Segoe UI,sans-serif;flex-shrink:0}.sl-slide--title{flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.sl-slide--points{gap:20px;align-items:flex-start}.sl-col{flex:1;display:grid;gap:10px;align-content:start;min-width:0}.sl-title,.sl-title-in{margin:0;font-weight:800;font-family:inherit}.sl-title--title,.sl-title-in--title{font-size:46px;text-align:center}.sl-title--points,.sl-title-in--points{font-size:36px}.sl-title-in,.sl-sub-in,.sl-points-in{background:transparent;border:2px dashed rgba(90,100,120,.35);border-radius:6px;padding:2px 8px;width:100%;box-sizing:border-box}.sl-title-in:focus,.sl-sub-in:focus,.sl-points-in:focus{outline:none;border-color:#2f6fe4;background:#fff6}.sl-sub,.sl-sub-in{font-size:26px;margin:0;text-align:center;font-family:inherit}.sl-points,.sl-points-in{font-size:25px;line-height:1.5;margin:0;font-family:inherit}.sl-points{padding-left:32px;cursor:text;min-height:60px}.sl-points-in{height:250px;resize:none}.sl-pic{line-height:1}.sl-pic--title{font-size:90px}.sl-pic--points{font-size:120px;align-self:center}.sl-pic-menu{position:absolute;top:100%;left:0;z-index:30;background:#fff;border:2px solid #D5DCEE;border-radius:12px;padding:8px;box-shadow:0 8px 20px #00000026;display:grid;gap:6px;width:330px}.sl-pic-group{display:grid;gap:2px}.sl-pic-group b{font-size:12px;color:#5a6478}.sl-pic-group span{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.sl-pic-group button{font-size:26px;border:none;background:none;border-radius:8px;cursor:pointer;height:40px}.sl-pic-group button:hover{background:#eaf2ff}.sl-show{position:fixed;inset:0;z-index:1000;background:#000;display:grid;place-items:center;cursor:pointer}.sl-show-frame{overflow:hidden}.sl-show-frame .sl-slide{transform-origin:top left}.sl-show-end{color:#fff;font-size:28px;font-weight:700}.sl-show-help{position:fixed;bottom:8px;left:0;right:0;text-align:center;color:#ffffff8c;font-size:13px;margin:0}.sl-stage-frame .sl-slide{transform-origin:top left}.sl-stage{min-width:0}.sl-show-btn{background:#ffd54f;border-color:#e0a800;font-weight:800}.sl-save-btn{background:#2f6fe4;border-color:#2f6fe4;color:#fff;font-weight:800}.sl-show{align-content:center}.sheets{display:grid;gap:6px}.sh-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.sh-bar .dc-swatch{width:24px;height:24px;border:2px solid #C9D2E3}.sh-nofill{min-width:30px}.sh-sum{font-weight:800}.sh-formula{display:flex;align-items:center;gap:6px}.sh-namebox{min-width:64px;text-align:center;font-weight:800;background:#eef1f6;border:2px solid #D5DCEE;border-radius:8px;padding:4px 8px}.sh-fx{font-style:italic;font-weight:800;color:#5a6478}.sh-fxin{flex:1;font:inherit;font-size:17px;padding:4px 8px;border:2px solid #D5DCEE;border-radius:8px}.sh-fxin:focus{outline:none;border-color:#2f6fe4}.sh-result{font-weight:800;color:#1b6e3d}.sh-note{margin:0;background:#fff8e1;border:2px solid #F4C542;border-radius:10px;padding:6px 10px;font-weight:700}.sh-note--err{background:#fdecec;border-color:#f3c1c1;color:#9b1c1c}.sh-wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.sh-grid{display:grid;border:2px solid #C9D2E3;border-radius:6px;overflow:hidden;outline:none;-webkit-user-select:none;user-select:none;background:#fff}.sh-grid:focus{border-color:#2f6fe4}.sh-corner,.sh-colhead,.sh-rowhead{background:#eef1f6;color:#5a6478;font-weight:800;font-size:13px;display:grid;place-items:center;height:30px;border-right:1px solid #D5DCEE;border-bottom:1px solid #D5DCEE}.sh-head--on{background:#d3e6ff;color:#1e4fb5}.sh-cell{height:30px;border-right:1px solid #E1E6F0;border-bottom:1px solid #E1E6F0;padding:0 6px;display:flex;align-items:center;font-size:16px;overflow:hidden;white-space:nowrap;cursor:cell;position:relative}.sh-cell--num{justify-content:flex-end}.sh-cell--err{color:#c62828;font-weight:800}.sh-cell--sel{box-shadow:inset 0 0 0 999px #2f6fe41f}.sh-cell--at{outline:3px solid #2F6FE4;outline-offset:-3px;z-index:1}.sh-edit{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;border:3px solid #2F6FE4;font:inherit;font-size:16px;padding:0 5px;outline:none;background:#fff}.sh-chart{margin:0;background:#fff;border:2px solid #D5DCEE;border-radius:10px;padding:8px}.sh-chart figcaption{text-align:center;font-weight:800}.kb{flex:1;min-width:320px;border:2px solid #C9D2E3;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.kb-bar{display:flex;align-items:center;gap:6px;padding:8px;background:#eef1f6;border-bottom:2px solid #D5DCEE;flex-wrap:wrap}.kb-nav{width:40px;height:40px;border-radius:50%;border:2px solid #C9D2E3;background:#fff;font-size:20px;font-weight:800;cursor:pointer}.kb-nav:disabled{opacity:.35;cursor:default}.kb-nav:not(:disabled):hover{background:#eaf2ff}.kb-address{flex:1;min-width:180px;display:flex;align-items:center;gap:6px;background:#fff;border:2px solid #C9D2E3;border-radius:20px;padding:0 12px}.kb-address:focus-within{border-color:#2f6fe4}.kb-address input{flex:1;border:none;outline:none;font:inherit;font-size:17px;height:36px}.kb-tell{border:2px solid #E0A800;background:#ffd54f;border-radius:20px;padding:6px 12px;font:inherit;font-weight:800;cursor:pointer}.kb-note{margin:0;padding:8px 12px;background:#e8f7ee;color:#1b6e3d;font-weight:700}.kb-page{padding:16px 20px;min-height:360px;font-size:18px}.kb-page p{margin:6px 0}.kb-page--prize{background:repeating-linear-gradient(45deg,#fff3b0,#fff3b0 20px,#ffe07a 20px 40px)}.kb-h{font-family:var(--display);margin:4px 0 10px}.kb-pic{font-size:64px;margin:0;line-height:1.1}.kb-link{color:#1a57d6;font-weight:700;text-decoration:underline;cursor:pointer}.kb-search{display:flex;gap:8px;margin:8px 0}.kb-search input{flex:1;font:inherit;font-size:18px;padding:6px 10px;border:2px solid #C9D2E3;border-radius:10px}.kb-results{display:grid;gap:12px;margin-top:8px}.kb-result{display:grid;gap:2px}.kb-result a{color:#1a57d6;font-weight:800;font-size:19px;cursor:pointer}.kb-result--ad{background:#fff8e1;border:2px dashed #F4C542;border-radius:10px;padding:6px 10px}.kb-result--ad a{color:#c62828}.kb-ad{font-size:14px;font-weight:800;color:#8a6d00}.kb-url{color:#1b6e3d;font-size:14px}.kb-prize{background:#fff;border:4px solid #E53935;border-radius:14px;padding:14px;display:grid;gap:8px;max-width:520px}.kb-prize h2{color:#c62828;margin:0}.kb-prize label{display:grid;gap:2px;font-weight:700}.kb-prize input{font:inherit;padding:6px 10px;border:2px solid #C9D2E3;border-radius:8px}.kb-trick,.kb-missing{text-align:center}.kb-chat{display:grid;gap:8px;max-width:560px}.kb-msgs{background:#f4f6fb;border-radius:10px;padding:10px;min-height:140px}.kb-msg{background:#fff;border-radius:10px;padding:6px 10px;margin:6px 0;width:fit-content;max-width:90%}.kb-msg--me{margin-left:auto;background:#dcebff}.kb-blocked{color:#9b1c1c;font-weight:800}.kb-block{justify-self:start}.ct-balance{display:grid;gap:16px;justify-items:center}.ct-balance-scales{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.ct-balance-pic{width:300px;max-width:100%;height:auto;background:#fbfcff;border:2px solid #D5DCEE;border-radius:14px}.ct-balance-opt{display:grid;justify-items:center;font-size:34px;line-height:1.1}.ct-balance-opt small{font-size:14px;font-weight:700}.mw{display:flex;gap:20px;align-items:flex-start}.mw-side{flex:0 0 310px;display:flex;flex-direction:column;gap:14px}.mw-card{background:#fff;border:2px solid #DCE6F8;border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.mw-greet-row{display:flex;align-items:flex-end;gap:10px}.mw-guide{flex:0 0 auto}.mw-bubble{margin:0;flex:1 1 auto;background:#eef4ff;border-radius:18px 18px 18px 4px;padding:12px 14px;font-weight:700;font-size:16px;line-height:1.35}.mw-continue{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:14px 16px;border:none;border-radius:18px;background:#2f6fe4;color:#fff;text-align:left;cursor:pointer}.mw-continue:hover{background:#1d4fb0}.mw-continue:focus-visible,.mw-b:focus-visible,.mw-task:focus-visible,.mw-back:focus-visible{outline:4px solid #FFC93C;outline-offset:3px}.mw-continue-play{flex:0 0 48px;height:48px;border-radius:50%;background:#ffc93c;display:flex;align-items:center;justify-content:center}.mw-continue-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mw-continue-big{font-family:var(--display);font-weight:800;font-size:26px;line-height:1}.mw-continue-small{font-weight:700;font-size:14px;color:#e4edff}.mw-label{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--body);font-weight:800;font-size:13px;color:#4a5578;text-transform:uppercase;letter-spacing:.06em}.mw-task{display:flex;align-items:center;gap:12px;padding:12px;margin:0;border:none;border-radius:14px;background:#e6f5ec;min-height:56px;text-align:left;cursor:pointer;color:var(--ink);width:100%}.mw-task--plain{cursor:default}.mw-task-icon{flex:0 0 40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.mw-task-text{display:flex;flex-direction:column;line-height:1.25;font-size:16px}.mw-task-text span{font-weight:600;font-size:14px;color:#0e5c35}.mw-muted{margin:0;color:#4a5578;font-weight:600}.mw-week{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between}.mw-week li{display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:700;font-size:13px;color:#4a5578}.mw-mapwrap{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px}.mw-maphead{display:flex;align-items:center;justify-content:space-between;gap:12px}.mw-title{margin:0;font-family:var(--display);font-weight:800;font-size:30px}.mw-stars{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#fff4d1;border:2px solid #FFC93C;font-weight:700;color:#6a5200}.mw-stars strong{font-size:20px;color:var(--ink)}.mw-map{position:relative;aspect-ratio:934 / 620;border-radius:26px;overflow:hidden;border:2px solid #C3D7F5}.mw-scene{position:absolute;inset:0;width:100%;height:100%}.mw-buildings{list-style:none;margin:0;padding:0}.mw-spot{position:absolute;width:20.5%}.mw-b{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:none;background:none;border-radius:18px;cursor:pointer;color:var(--ink)}.mw-b:hover .mw-b-art svg{transform:translateY(-4px)}.mw-b-art{position:relative;width:82%;display:block}.mw-b-art svg{width:100%;height:auto;display:block;transition:transform .15s ease}.mw-b-name{padding:3px 10px;border-radius:12px;background:#fff;border:2px solid;font-family:var(--display);font-weight:800;font-size:clamp(13px,1.45vw,18px);line-height:1.3;white-space:nowrap}.mw-b-stars{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border-radius:999px;background:#ffffffe6;font-weight:800;font-size:13px;color:#3a4466}.mw-b--locked{cursor:not-allowed}.mw-b--locked .mw-b-name{color:#4a5578;background:#f2f4f8}.mw-b--locked:hover .mw-b-art svg{transform:none}.mw-badge{position:absolute;top:-4px;right:-10px;padding:3px 9px;border-radius:999px;border:2px solid #fff;font-weight:800;font-size:12px}.mw-badge--continue{background:#ffc93c;color:var(--ink)}.mw-badge--done{background:#d6e6ff;color:var(--ink)}.mw-badge--new{background:#13804a;color:#fff}.mw-badge--task{background:var(--ink);color:#fff}.mw-badge--soon{background:#fff;color:#4a5578}.mw-bar{display:flex;align-items:center;gap:12px;margin:-4px 0 16px;flex-wrap:wrap}.mw-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:14px;border:2px solid #C3D7F5;background:#fff;font-weight:800;font-size:16px;color:var(--ink);cursor:pointer}.mw-back:hover{background:#eef4ff}.mw-here{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;color:#fff;font-family:var(--display);font-weight:800;font-size:17px}.mw-bar:has(+.game),.mw-bar:has(+.lesson-cb){display:none}@media(max-width:900px){.mw{flex-direction:column;align-items:stretch}.mw-side{flex-basis:auto}.mw-map{aspect-ratio:auto;background:#c7edba}.mw-scene{display:none}.mw-buildings{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:12px}.mw-spot{position:static;width:auto}}.mw-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px;margin:6px 0}.setting-check{display:flex;align-items:center;gap:8px;min-height:36px;font-weight:600;cursor:pointer}.setting-check input{width:20px;height:20px}.mw-set-task{flex:1 1 260px;min-width:200px;min-height:40px;padding:0 12px;border:2px solid #C3D7F5;border-radius:10px;font:inherit}.main:has(>.mw){max-width:1320px}.mw-mapwrap{max-width:max(620px,calc((100vh - 230px)*1.506))}@media(max-width:900px){.mw-mapwrap{max-width:none}}.sp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:22px 26px;border-radius:24px;color:#fff;margin-bottom:14px}.sp-head-text{min-width:0;flex:1 1 380px}.sp-head-name{margin:0;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em;opacity:.92}.sp-head-title{margin:2px 0 4px;font-family:var(--display);font-weight:800;font-size:36px;line-height:1.1}.sp-head-intro{margin:0;font-weight:600;font-size:16px}.sp-head-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sp-head-stars{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:#fff;color:#4a5578;font-weight:700}.sp-head-stars strong{color:var(--ink);font-size:20px}.sp-path{--road: 30px;list-style:none;margin:8px 0 0;padding:0;position:relative}.sp-path:before{content:"";position:absolute;left:50%;top:20px;bottom:30px;width:var(--road);transform:translate(-50%);border-radius:15px;background:linear-gradient(#fff 50%,transparent 50%) center / 3px 22px repeat-y,#f3dda8}.sp-step{position:relative}.sp-row{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);align-items:center}.sp-step--left .sp-card{grid-column:1}.sp-step--right .sp-card{grid-column:3}.sp-step--right .sp-stone-wrap{grid-column:2;grid-row:1}.sp-step--right .sp-spacer{grid-column:1;grid-row:1}.sp-step--left .sp-spacer{display:none}.sp-step--right .sp-spacer{display:block}.sp-step+.sp-step{margin-top:-18px}.sp-sign{position:relative;z-index:1;width:max-content;margin:26px auto 18px;padding:6px 18px;border-radius:10px;background:var(--ink);color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em}.sp-card{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:20px;background:#fff;border:2px solid #DCE6F8}.sp-step--next .sp-card{border-color:var(--mc);box-shadow:0 0 0 3px var(--mc)}.sp-icon{font-size:38px;line-height:1;flex:0 0 auto}.sp-text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.sp-num{font-weight:800;font-size:13px;color:#4a5578;display:flex;align-items:center;gap:8px}.sp-next-tag{padding:2px 9px;border-radius:999px;background:#ffc93c;color:var(--ink);font-size:12px}.sp-title{margin:0;font-family:var(--display);font-weight:800;font-size:21px;line-height:1.2}.sp-goal{margin:0;color:#4a5578;font-size:15px}.sp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.sp-stars{display:inline-flex;gap:2px}.sp-go{min-height:44px;min-width:96px;padding:0 18px;border-radius:14px;border:2px solid var(--mc-dark);background:#fff;color:var(--mc-dark);font-weight:800;font-size:16px;cursor:pointer}.sp-go:hover{background:#f4f6fb}.sp-go--next{background:var(--mc-dark);color:#fff}.sp-go--next:hover{background:var(--ink);border-color:var(--ink)}.sp-go:focus-visible{outline:4px solid #FFC93C;outline-offset:2px}.sp-stone-wrap{position:relative;display:flex;justify-content:center;align-items:center;height:100%;min-height:70px}.sp-stone{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:4px solid var(--mc);color:var(--mc-dark);font-family:var(--display);font-weight:800;font-size:22px}.sp-step--done .sp-stone{background:var(--mc);border-color:var(--mc-dark)}.sp-step--next .sp-stone{width:70px;height:70px;font-size:30px;background:#ffc93c;border-color:var(--mc-dark);color:var(--ink);box-shadow:0 0 0 6px #ffc93c59}.sp-here{position:absolute;z-index:2;top:50%;left:calc(50% + 40px);transform:translateY(-58%);width:50px}.sp-here svg{width:50px;height:auto;display:block}.sp-step--right .sp-here{left:auto;right:calc(50% + 40px)}.sp-flag{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:#fff;border:3px solid #F3DDA8;display:flex;align-items:center;justify-content:center}.sp-step--end{margin-top:0!important;padding-top:6px}@media(max-width:760px){.sp-path:before{left:40px}.sp-row{grid-template-columns:80px minmax(0,1fr)}.sp-step--left .sp-card,.sp-step--right .sp-card{grid-column:2;grid-row:1}.sp-step--left .sp-stone-wrap,.sp-step--right .sp-stone-wrap{grid-column:1;grid-row:1}.sp-spacer{display:none!important}.sp-step+.sp-step{margin-top:12px}.sp-sign{margin-left:0}}.sp-step--right .sp-card{grid-row:1}.cheer{display:flex;flex-direction:column;align-items:center;gap:12px;margin:4px 0 10px}.cheer-stars{display:flex;align-items:flex-end;gap:6px}.cheer-star{transform:scale(0);animation:cheer-pop .45s cubic-bezier(.3,1.6,.5,1) forwards}.cheer-star:not(.cheer-star--on){animation-name:cheer-fade}@keyframes cheer-pop{0%{transform:scale(0) rotate(-40deg)}to{transform:scale(1) rotate(0)}}@keyframes cheer-fade{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.cheer-talk{display:flex;align-items:flex-end;gap:10px;max-width:560px}.cheer-talk .mw-guide{flex:0 0 auto}.cheer-bubble{background:#eef4ff;border-radius:20px 20px 20px 4px;padding:12px 18px;text-align:left}.cheer-head{margin:0 0 2px;font-family:var(--display);font-weight:800;font-size:30px;line-height:1.15}.cheer-bubble p{margin:0;font-weight:700;font-size:17px;color:#2a3354}.new-stickers{width:100%;max-width:560px;padding:14px 16px;border-radius:20px;background:#fff4d1;border:2px dashed #FFC93C;text-align:center;animation:cheer-fade .5s .9s both}.new-stickers-title{margin:0 0 8px;font-weight:800;font-size:18px}.new-stickers ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.new-sticker{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:800;font-size:14px}.new-sticker svg{animation:sticker-in .6s 1.1s cubic-bezier(.3,1.6,.5,1) both}@keyframes sticker-in{0%{transform:scale(0) rotate(-25deg)}to{transform:scale(1) rotate(-6deg)}}.mw-title{flex:1 1 auto}.mw-sbbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 14px;border-radius:999px;border:2px solid #7B4FD6;background:#fff;color:#5631a6;font-weight:800;font-size:16px;cursor:pointer}.mw-sbbtn:hover{background:#f3eeff}.mw-sbbtn:focus-visible{outline:4px solid #FFC93C;outline-offset:2px}.mw-sbcount{min-width:28px;padding:2px 8px;border-radius:999px;background:#7b4fd6;color:#fff;font-size:14px;text-align:center}.mw-streak{margin:4px 0 0;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:#fff4d1;font-size:14px;font-weight:600;color:#3a3000}.mw-streak svg{flex:0 0 auto}.sb-head{background:#7b4fd6}.sb-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.sb-group{background:#fff;border:2px solid #DCE6F8;border-radius:22px;padding:14px 16px}.sb-group-title{margin:0 0 8px;font-family:var(--display);font-weight:800;font-size:19px}.sb-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sb-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.sb-item svg{transform:rotate(-4deg)}.sb-item:nth-child(2) svg{transform:rotate(5deg)}.sb-item--empty svg{transform:none!important}.sb-name{font-weight:800;font-size:13px}.sb-item--empty .sb-name{color:#4a5578}.sb-hint{font-size:12px;color:#4a5578;line-height:1.3}@media(prefers-reduced-motion:reduce){.cheer-star,.new-stickers,.new-sticker svg{animation:none;transform:none}}.mw-set-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px 18px;margin-top:4px}.mw-set-subs>p{grid-column:1 / -1;margin:0}.mw-set-sub{display:flex;align-items:center;gap:10px;font-weight:700}.mw-set-sub span{flex:0 0 130px}.mw-set-sub input{flex:1 1 auto;min-width:0;min-height:38px;padding:0 10px;border:2px solid #C3D7F5;border-radius:10px;font:inherit;font-weight:500}.sp-head-teacher{display:inline-block;margin:8px 0 0;padding:4px 12px;border-radius:999px;background:#fffffff2;color:var(--ink);font-weight:800;font-size:14px}.ct-ai-teacher{margin:6px 0 0;font-weight:700}.tb-table tbody th{text-transform:none;letter-spacing:0;font-size:16px;font-weight:800;color:var(--ink);text-align:left;vertical-align:top}.tb-table td{vertical-align:top}.tb-help{display:block;margin-top:2px;font-weight:500;font-size:13px;color:#4a5578}.tb-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#eef4ff;color:#2f4a86;font-weight:700;font-size:12px;white-space:nowrap;vertical-align:middle}.tb-tag--owner{background:#fff4d1;color:#6a5200}.tb-tag--shared{margin:4px 0 0;align-self:flex-start;background:#e6f5ec;color:#0e5c35}.tb-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tb-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tb-form input{min-height:38px;min-width:200px;padding:0 10px;border:2px solid #C3D7F5;border-radius:10px;font:inherit}.avatar-badge{display:inline-block;flex:0 0 auto;border-radius:50%;vertical-align:middle}.avatar-badge--text{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:800;line-height:1}.mw-mebtn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:3px 16px 3px 4px;border-radius:999px;border:2px solid #C3D7F5;background:#fff;font-weight:800;font-size:16px;color:var(--ink);cursor:pointer}.mw-mebtn:hover{background:#eef4ff}.mw-mebtn:focus-visible{outline:4px solid #FFC93C;outline-offset:2px}.mw-maphead{flex-wrap:wrap}.me{display:flex;flex-direction:column;gap:14px;max-width:1100px;margin:0 auto}.me-head{align-items:center}.me-preview{flex:0 0 auto;padding:6px;border-radius:50%;background:#fffffff2}.me-done{flex:0 0 auto}.me-section{gap:12px}.me-title{margin:0;font-family:var(--display);font-weight:800;font-size:22px}.me-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.me-pick{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:18px;border:3px solid #DCE6F8;background:#fff;font-weight:800;font-size:15px;color:var(--ink);cursor:pointer}.me-pick:hover{border-color:#9db8e8}.me-pick--on{border-color:var(--ink);background:#fff4d1;box-shadow:0 0 0 3px #ffc93c}.me-pick:focus-visible,.me-colour:focus-visible,.me-guide:focus-visible{outline:4px solid #FFC93C;outline-offset:3px}.me-colours{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.me-colour{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:none;background:none;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;min-width:64px}.me-swatch{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 2px #c3d7f5}.me-colour--on .me-swatch{box-shadow:0 0 0 4px var(--ink)}.me-guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.me-guide{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:20px;border:3px solid #DCE6F8;background:#fff;text-align:left;font-size:15px;color:#4a5578;cursor:pointer}.me-guide span{display:flex;flex-direction:column;gap:2px}.me-guide strong{font-family:var(--display);font-size:22px;color:var(--ink)}.me-guide--on{border-color:var(--ink);background:#fff4d1;box-shadow:0 0 0 3px #ffc93c}.me-sound{font-size:16px}.me-bottom{display:flex;justify-content:center;padding:6px 0 18px}.me-done-big{min-height:56px;font-size:18px;padding:0 28px}.who .avatar-badge{margin-right:2px}.young-pic{display:flex;align-items:center;gap:28px;padding:18px 32px;margin-bottom:16px}.young-pic-emoji{font-size:96px;line-height:1}.young-pic-text{display:flex;flex-direction:column;gap:4px;flex:1}.young-pic-letter{font-family:var(--display);font-weight:800;font-size:56px;color:var(--blue);line-height:1.1}.young-pic-word{font-family:var(--display);font-size:32px;color:var(--ink)}.young-pic-mark{color:var(--blue);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.typing--big .line{font-size:60px;letter-spacing:6px}.pc .win--min{display:none}.pc .win--max{left:0;top:0;right:0;width:auto;max-width:none;height:calc(100% - 48px);max-height:none;border-radius:0}.pc--ubuntu .win--max{left:60px;top:26px;width:auto;height:calc(100% - 26px)}.win-btn{cursor:pointer}.win-btn:hover{background:#e3e8f5}.pt-files{display:flex;flex-direction:column;gap:6px}.pt-file{text-align:left;padding:10px 12px;border:1px solid #C9D1E6;border-radius:8px;background:#f6f8fd;font-weight:700;font-size:16px;cursor:pointer}.pt-file:hover{background:#e7eeff;border-color:var(--blue)}.pt-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt-bottom .pt-palette{flex:1}.pt-files-btns{display:inline-flex;gap:6px}.pt-files-btns button{border:1px solid #D5DCEE;background:#fff;border-radius:8px;padding:6px 10px;font-family:inherit;font-weight:800;font-size:14px;color:var(--ink);cursor:pointer;min-height:36px}.pt-files-btns .pt-save{background:var(--blue);color:#fff;border-color:var(--blue)}.dc-bar2{border-top:1px dashed #E2E7F0;padding-top:6px}.dc-check{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:14px}.dc-table-pick{position:absolute;top:40px;left:0;z-index:30;background:#fff;border:2px solid #D5DBE6;border-radius:12px;padding:10px;display:flex;gap:10px;align-items:center;box-shadow:0 10px 24px #0000002e;white-space:nowrap;font-weight:700}.dc-find{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#eef4ff;border:2px solid #C9D9FF;border-radius:10px;padding:8px 12px;font-weight:700}.dc-find input{padding:6px 8px;border:1px solid #C9D1E6;border-radius:6px;font-size:15px;width:150px}.dc-desk{display:grid;gap:10px}.dc-desk--notes{grid-template-columns:minmax(0,1fr) 260px;align-items:start}.dc-sheet{display:grid;gap:4px;max-width:780px;width:100%;margin:0 auto}.dc-sheet--wide{max-width:none}.dc-hf{border:1px dashed #C9D1E6;border-radius:8px;padding:6px 10px;font:inherit;font-size:14px;color:#3d4a6b;background:#fafbfe}.dc-foot{display:flex;gap:10px;align-items:center}.dc-foot .dc-hf{flex:1}.dc-pnum{font-size:14px;font-weight:800;color:#3d4a6b;margin-left:auto}.dc-page h1{font-size:32px;margin:4px 0 8px;font-weight:800}.dc-page h2{font-size:24px;margin:4px 0 6px;font-weight:800}.dc-h1btn{font-size:16px}.dc-h2btn{font-size:14px}.dc-page table,.dc-table{border-collapse:collapse;margin:6px 0;min-width:50%}.dc-page td,.dc-page th{border:1.5px solid #8A93AD;padding:4px 10px;min-width:70px;vertical-align:top}.dc-pic{display:inline-block;font-size:64px;line-height:1;cursor:pointer;border-radius:8px;padding:2px;-webkit-user-select:none;user-select:none}.dc-pic[data-wrap=left]{float:left;margin:0 12px 6px 0}.dc-pic[data-wrap=right]{float:right;margin:0 0 6px 12px}.dc-pic:hover{outline:2px dashed var(--blue)}.dc-pic-menu{max-width:360px}.dc-notes{background:#fffbea;border:2px solid #F4D77A;border-radius:12px;padding:10px;display:grid;gap:8px;max-height:560px;overflow-y:auto}.dc-notes-head{margin:0;font-weight:800}.dc-note{background:#fff;border-radius:10px;padding:8px 10px;border:1px solid #F0E2B0;display:grid;gap:4px;font-size:14px}.dc-note p{margin:0}.dc-note-quote{font-style:italic;color:#7a5b00}.dc-note--done{opacity:.55}@media(max-width:1000px){.dc-desk--notes{grid-template-columns:1fr}}.dc-pic-menu{grid-template-columns:repeat(8,1fr)}.dc-pic-menu button{font-size:26px;border:none;background:none;cursor:pointer;border-radius:8px;padding:2px}.dc-pic-menu button:hover{background:#eef2ff}.dc-toc{border:2px dashed #9DB4F0;border-radius:10px;padding:6px 12px;margin:6px 0 10px;background:#f5f8ff;-webkit-user-select:none;user-select:none;break-inside:avoid}.dc-toc-head{margin:0 0 4px!important;font-weight:800;color:#1e5bd8}.dc-toc ul{list-style:none;margin:0;padding:0}.dc-toc-1{font-weight:800}.dc-toc-2{padding-left:22px}.dc-page h1{column-span:all}.dc-page h1,.dc-page h2{clear:both}.sh-bar2{border-top:1px dashed #E2E7F0;padding-top:6px}.sh-group{display:inline-flex;gap:4px}.sh-filter select,.sh-filter input{padding:6px 8px;border:1px solid #C9D1E6;border-radius:6px;font-size:15px}.sl-bar2{flex-wrap:wrap;gap:6px;border-top:1px solid #e3e8f2}.sl-all{font-size:.8rem}.sl-shape{position:absolute;transform:translate(-50%,-50%);z-index:3;font-weight:800;font-size:20px;-webkit-user-select:none;user-select:none}.sl-shape--box,.sl-shape--circle{min-width:110px;min-height:60px;padding:6px 12px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:4px solid}.sl-shape--box{border-radius:10px}.sl-shape--circle{border-radius:50%;min-width:110px;min-height:110px}.sl-shape--arrow{line-height:0}.sl-shape--edit{cursor:grab;touch-action:none}.sl-shape--on{outline:3px dashed #1e5bd8;outline-offset:4px}.sl-shape-tools{display:inline-flex;gap:4px;align-items:center;margin-left:auto}.sl-shape-label{width:9rem;padding:3px 6px}.sl-slide--big .sl-title,.sl-slide--big li,.sl-slide--big .sl-sub{font-size:1.25em}.sl-chart{position:absolute;right:4%;bottom:6%;margin:0;background:#ffffffeb;border-radius:10px;padding:6px 8px;color:#1d2433;z-index:2}.sl-chart figcaption{font-weight:800;font-size:15px;text-align:center}.sl-chartbox{flex-wrap:wrap}.sl-chart-rows{display:flex;flex-wrap:wrap;gap:6px}.sl-chart-rows span{display:inline-flex;gap:2px}.sl-chart-rows input{width:6.5rem}.sl-chart-rows input[type=number]{width:4.5rem}.sl-notes{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:.85rem;color:#4a5568}.sl-notes textarea{font:inherit;font-size:.95rem;padding:6px 8px;border:1px solid #c8d1e0;border-radius:8px;resize:vertical}.sl-presenter{display:flex;gap:16px;align-items:center;background:#1d2433;color:#fff;padding:10px 16px;border-radius:10px;margin-top:12px;max-width:90vw}.sl-timer{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}.sl-pnotes{font-size:1rem}.sl-tr-fade{animation:sl-fade .6s ease both}.sl-tr-slide{animation:sl-slidein .5s ease both}.sl-tr-zoom{animation:sl-zoom .5s ease both}@keyframes sl-fade{0%{opacity:0}to{opacity:1}}@keyframes sl-slidein{0%{transform:translate(60px);opacity:0}to{transform:none;opacity:1}}@keyframes sl-zoom{0%{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.sl-tr-fade,.sl-tr-slide,.sl-tr-zoom{animation:none}}.ct-practice{font-size:.7em;font-weight:700;color:#6b7a99;background:#eef2fa;border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:middle}.ct-handson{font-size:.85rem;background:#fff8e1;border-radius:8px;padding:6px 10px;margin:6px 0 0}.ct-parity{display:grid;gap:14px;justify-items:center}.ct-parity-grid{border-collapse:separate;border-spacing:6px}.ct-parity-grid td{text-align:center;padding:2px;border-radius:12px}.ct-parity-extra{background:#ffe58f}.ct-coin{width:48px;height:48px;border-radius:50%;border:3px solid #90A4AE;background:radial-gradient(circle at 35% 35%,#fff,#e3e8ef);cursor:pointer;transition:transform .2s}.ct-coin--black{background:radial-gradient(circle at 35% 35%,#555,#111);border-color:#000}.ct-coin:hover{transform:scale(1.08)}.ct-coin--wrong{outline:3px solid #E53935;outline-offset:2px}.ct-coin--right{outline:4px solid #2E9D4F;outline-offset:2px}.ct-coin--spin{animation:ct-spin .8s ease}@keyframes ct-spin{0%{transform:rotateY(0)}50%{transform:rotateY(90deg) scale(1.2)}to{transform:rotateY(0)}}.ct-parity-count{font-weight:800;font-size:15px;min-width:44px}.ct-parity-count--even{color:#2e7d32}.ct-parity-count--odd{color:#c62828}.ct-sortnet{display:grid;gap:12px;justify-items:center;width:100%}.ct-sn-wire{stroke:#90a4ae;stroke-width:4}.ct-sn-box rect{fill:#f1f4f9;stroke:#c5cedf;stroke-width:2}.ct-sn-box line{stroke:#78909c;stroke-width:4}.ct-sn-box circle{fill:#78909c}.ct-sn-box--now rect{fill:#ffe58f;stroke:#f4b400;stroke-width:3}.ct-sn-box--now line,.ct-sn-box--now circle{stroke:#e65100;fill:#e65100}.ct-sn-box--done rect{fill:#e9f8ee;stroke:#a5d6b5}.ct-sn-chip rect{fill:#fff;stroke:#1e5bd8;stroke-width:2}.ct-sn-chip text{font-size:15px;font-weight:800;fill:#1d2433}.ct-sn-chip--trail rect{fill:#f5f7fb;stroke:#c5cedf}.ct-sn-chip--trail text{fill:#8a94a8;font-weight:600}.ct-sn-chip--pick{cursor:pointer}.ct-sn-chip--pick rect{fill:#e8f0ff;stroke-width:3}.ct-sn-chip--pick:hover rect{fill:#d0e1ff}.ct-sn-chip--wrong rect{stroke:#e53935;fill:#fdecea}.ct-sn-chip--out rect{fill:#e9f8ee;stroke:#2e9d4f;stroke-width:3}.ct-weigh{display:grid;gap:14px;justify-items:center}.ct-weigh-pic{width:360px;max-width:100%}.ct-weigh-bags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ct-bag{width:64px;height:74px;border-radius:18px 18px 12px 12px;border:3px solid #8D6E63;background:#ebd9bc;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:20px}.ct-bag small{font-size:11px;font-weight:700;min-height:14px}.ct-bag--left{background:#bbdefb;border-color:#1e5bd8}.ct-bag--right{background:#ffe0b2;border-color:#e65100}.ct-bag--pick{border-style:dashed}.ct-bag--wrong{opacity:.4;border-color:#e53935}.ct-bag--found{background:#c8e6c9;border-color:#2e9d4f;border-style:solid}.ct-weigh-log{margin:0;padding-left:1.4em;font-size:.9rem}.ct-nets{display:grid;gap:16px;justify-items:center}.ct-net{max-width:100%}.ct-net-sq--click{cursor:pointer}.ct-net-sq--click:hover rect{opacity:.85}.ct-net-sq--wrong rect{opacity:.35}.ct-net-sq--right rect{stroke:#2e9d4f;stroke-width:5}.ct-views{display:grid;gap:16px;justify-items:center}.ct-sides{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;align-items:center;justify-items:center;gap:4px 12px}.ct-side{font-weight:800;font-size:13px;color:#8a94a8;border-radius:999px;padding:3px 10px}.ct-side--back{grid-column:2;grid-row:1}.ct-side--left{grid-column:1;grid-row:2}.ct-sides-build{grid-column:2;grid-row:2}.ct-side--right{grid-column:3;grid-row:2}.ct-side--on{background:#ffe58f;color:#5d4037;font-size:15px}.ct-views-targets{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}.ct-views-targets figure{margin:0;text-align:center}.ct-views-targets figcaption{font-weight:700;font-size:.9rem;margin-top:4px}.ct-views-work{display:flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:center}.ct-plan{display:grid;gap:4px}.ct-plan-row{display:flex;gap:4px;align-items:center}.ct-plan-name{width:52px;font-size:12px;color:#6b7a99;text-align:right;padding-right:4px}.ct-plan-cell{width:48px;height:48px;border:2px solid #C5CEDF;border-radius:6px;background:#fff;font-weight:800;font-size:20px;cursor:pointer}.ct-plan-cell--on{background:#bbdefb;border-color:#1e5bd8}.ct-pour{display:grid;gap:12px;justify-items:center}.ct-pour-goal{margin:0;font-size:1.05rem}.ct-pour-jugs{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap;justify-content:center}.ct-pour-jug{display:grid;justify-items:center;gap:4px}.ct-pour-btns{display:flex;flex-direction:column;gap:4px}.ct-pour-log{font-size:.9rem;text-align:center;max-width:90%}.ct-mirror{display:grid;gap:14px;justify-items:center}.ct-mirror-sq--click{cursor:pointer}.ct-mirror-sq--click:hover{opacity:.8}.ct-digits{display:grid;gap:14px;justify-items:center}.ct-digits-clues{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-weight:700}.ct-digits-slots{display:flex;gap:8px}.ct-digit-slot{width:72px;height:86px;border:3px dashed #9AA8C7;border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.ct-digit-slot span{font-size:36px;font-weight:800;min-height:44px}.ct-digit-slot small{font-size:11px;color:#6b7a99}.ct-digit-slot--on{border-style:solid;border-color:#1e5bd8;background:#e8f0ff}.ct-digits-cards{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ct-digit-card{width:56px;height:66px;border-radius:10px;border:3px solid #F4B400;background:#fff8e1;font-size:30px;font-weight:800;cursor:pointer}.ct-digit-card:disabled{opacity:.25;cursor:default}.ct-listall{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;align-items:flex-start}.ct-listall-make{display:grid;gap:10px;justify-items:center}.ct-coinrow{display:flex;gap:8px;align-items:center}.ct-coinrow-n{width:28px;text-align:center;font-size:22px}.ct-money{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:46px;font-weight:800;border:3px solid #B08D57;background:#f3e3c3;border-radius:50%}.ct-money--note{border-radius:6px;background:#dcefd8;border-color:#6e9e62;min-width:74px}.ct-listall-sum{margin:0;font-weight:800;font-size:1.1rem}.ct-listall-sum--ok{color:#2e7d32}.ct-listall-list{min-width:240px;background:#f7f9fc;border-radius:12px;padding:10px 16px}.ct-listall-list ol{margin:6px 0 10px;padding-left:1.4em}.ct-listall-dup{background:#fdecea;border-radius:6px}.ct-friends{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ct-friend{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:3px solid #D5DCEE;border-radius:12px;background:#fff;font-weight:700;cursor:pointer}.ct-friend span{font-size:30px}.ct-friend--on{border-color:#1e5bd8;background:#e8f0ff}.ct-frac{display:grid;gap:12px;justify-items:center}.ct-frac-part{cursor:pointer}.ct-frac-part:hover{opacity:.85}.ct-frac-group{display:grid;gap:8px}.ct-frac-thing{width:56px;height:56px;font-size:30px;border:3px solid #D5DCEE;border-radius:12px;background:#fff;cursor:pointer}.ct-frac-thing--on{background:#ffe0b2;border-color:#fb8c00}.ct-paths{display:grid;gap:8px;justify-items:center}.ct-road{stroke:#b0bec5;stroke-width:8;stroke-linecap:round}.ct-road--on{stroke:#1e5bd8}.ct-road-len-bg{fill:#fff;stroke:#90a4ae;stroke-width:2}.ct-road-len{font-size:15px;font-weight:800;fill:#1d2433}.ct-place circle{fill:#fff;stroke:#90a4ae;stroke-width:3}.ct-place{cursor:pointer}.ct-place--next circle{stroke:#f4b400;stroke-width:4}.ct-place--on circle{fill:#e8f0ff;stroke:#1e5bd8;stroke-width:4}.ct-paths-len{margin:0;display:flex;gap:12px;align-items:center}.ct-grow{display:grid;gap:14px;justify-items:center}.ct-grow-story{max-width:620px;font-size:1.1rem;margin:0}.ct-grow-train{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ct-grow-car{min-width:64px;height:56px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;border:3px solid #90A4AE;border-radius:12px;background:#f5f7fb}.ct-grow-in{width:84px;text-align:center;background:#fff;border:3px dashed #1E5BD8;font:inherit;font-size:22px;font-weight:800}.ct-grow-in--ok{border:3px solid #2E9D4F;background:#e9f8ee}.ct-grow-one{width:120px}.ct-time{display:grid;gap:14px;justify-items:center}.ct-cal{display:grid;grid-template-columns:repeat(7,48px);gap:4px}.ct-cal-name{grid-column:1 / -1;text-align:center;font-weight:800;margin:0 0 4px}.ct-cal-head{text-align:center;font-size:12px;font-weight:700;color:#6b7a99}.ct-cal-day{height:42px;border:2px solid #D5DCEE;border-radius:8px;background:#fff;font-weight:700;cursor:pointer}.ct-cal-day--on{background:#ffe58f;border-color:#f4b400}.ct-stepper-label{min-width:96px;font-weight:700}.ct-array{display:grid;gap:2px;font-size:18px;max-width:420px}.ct-turns{display:grid;gap:12px;justify-items:center}.ct-turn-arrow{transition:transform .6s ease}.ct-dir circle{fill:#fff;stroke:#90a4ae;stroke-width:3}.ct-dir text{fill:#33415c}.ct-dir--click{cursor:pointer}.ct-dir--click:hover circle{fill:#e8f0ff;stroke:#1e5bd8}.ct-dir--wrong circle{fill:#fdecea;stroke:#e53935}.ct-dir--right circle{fill:#c8e6c9;stroke:#2e9d4f}.ct-statements{display:grid;gap:12px;justify-items:center}.ct-facts{display:grid;gap:6px}.ct-fact{margin:0;background:#fff8e1;border-radius:10px;padding:8px 14px;font-weight:700}.ct-ask{margin:0;font-weight:800;font-size:1.1rem}.ct-statement-opts{display:grid;gap:8px;width:min(560px,100%)}.ct-statement{text-align:left;padding:12px 16px 12px 40px;font-size:1.02rem}.ct-statement .ct-choice-letter{top:12px;left:14px}.ct-product{display:grid;gap:12px;justify-items:center}.ct-product-box{position:relative;width:360px;height:290px}.ct-product-lines{position:absolute;inset:0;width:360px;height:290px}.ct-product-cell{position:absolute;width:64px;height:52px;text-align:center;font:inherit;font-size:22px;font-weight:800;border:3px dashed #1E5BD8;background:#fff}.ct-product-circle{border-radius:50%}.ct-product-square{border-radius:6px}.ct-product-given{border-style:solid;border-color:#90a4ae;background:#f5f7fb}.ct-answer{display:flex;gap:10px;align-items:center}.ct-quilt-answers{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font-weight:700}.ct-quilt-in{width:70px;height:44px}.ct-quilt-steppers{display:grid;gap:8px}.ct-quilt-sq{width:26px;height:26px;background:#ec407a;border:1px solid #fff}.ct-strip{display:grid;grid-template-columns:repeat(12,42px);gap:4px}.ct-strip-tile{height:40px;border:2px solid #D5DCEE;border-radius:8px;background:#fff;font-weight:700;cursor:pointer}.ct-strip-tile--on{background:#c8e6c9;border-color:#2e9d4f}.ct-compass-wrap{max-width:100%;overflow-x:auto}.ct-picto{border-collapse:collapse}.ct-picto th{text-align:right;padding:6px 12px;font-weight:700}.ct-picto td{font-size:26px;letter-spacing:2px;padding:4px 8px;border-left:2px solid #CFD8DC}.ct-picto-half{display:inline-block;width:.55em;overflow:hidden;vertical-align:bottom}.ct-picto-key{margin:0;font-weight:700}.ct-venn{display:grid;grid-template-columns:1fr .8fr 1fr;gap:6px;width:min(620px,100%)}.ct-venn-region{min-height:110px;border:3px solid #90A4AE;background:#fff;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;cursor:pointer}.ct-venn-region small{font-weight:700;color:#5a6478}.ct-venn-region span{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ct-venn-region b{background:#fff8e1;border-radius:6px;padding:2px 8px;font-size:18px}.ct-venn-a{border-radius:60px 0 0 60px;background:#e3f2fd;border-color:#1e88e5}.ct-venn-both{background:#ede7f6;border-color:#7e57c2}.ct-venn-b{border-radius:0 60px 60px 0;background:#fff3e0;border-color:#fb8c00}.ct-venn-out{grid-column:1 / -1;min-height:64px;border-style:dashed;border-radius:10px}.ct-venn-region--ready{box-shadow:0 0 0 3px #ffe58f}.ct-digit-card--sel{background:#ffe58f;border-color:#e65100}
