@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap";.engine-direct-surface{--direct-purple:#7444ee;--direct-cyan:#23bbc9;--direct-yellow:#ffc83d;--direct-green:#28c779;box-sizing:border-box;touch-action:none;background:radial-gradient(circle at 8% 8%,#794df417,#0000 34%),radial-gradient(circle at 92% 12%,#ffc73e1a,#0000 30%),linear-gradient(145deg,#fff,#fbfafc);border:1px solid #e0dde9f0;border-radius:34px;width:min(720px,100%);height:clamp(250px,38vh,360px);position:relative;overflow:hidden;box-shadow:0 20px 48px #32275812}.engine-direct-surface button{font:inherit;-webkit-tap-highlight-color:transparent}.engine-direct-surface button:focus-visible,.engine-direct-surface input:focus-visible,.engine-direct-surface textarea:focus-visible{outline-offset:3px;outline:3px solid #7444ee47}.direct-inline-action,.direct-play,.direct-step{color:#fff;cursor:pointer;background:#29292f;border:0;border-radius:18px;min-width:54px;min-height:54px;font-weight:800;box-shadow:0 8px 20px #231f3024}.direct-play{border-radius:50%;width:58px;min-width:58px;font-size:20px;position:absolute;bottom:20px;right:24px}.direct-play:disabled{opacity:.28}.direct-big-range{width:min(430px,76%);min-height:58px}.direct-city-scene{background:linear-gradient(#ecf9ff 0 46%,#eaf8e6 46%);border-radius:25px;position:absolute;inset:20px;overflow:hidden}.direct-city-scene .road{background:#fff;border:12px solid #d9d8df;border-left:0;border-right:0;height:34px;position:absolute;transform:rotate(-9deg)}.direct-city-scene .road-one{top:52%;left:-20px;right:-20px}.direct-city-scene .road-two{width:70%;top:30%;right:-20%;transform:rotate(58deg)}.direct-city-scene .pond{background:linear-gradient(145deg,#91e9ed,#42c1ce);border-radius:50%;width:105px;height:58px;position:absolute;bottom:8%;left:8%}.direct-city-scene .building{background:#fff;border-radius:13px 13px 6px 6px;width:64px;height:74px;position:absolute;box-shadow:0 8px 20px #463f581f}.direct-city-scene .building:before{content:"";background:repeating-linear-gradient(90deg,#9c80f1 0 7px,#0000 7px 15px);position:absolute;inset:12px}.direct-city-scene .building-a{top:12%;right:12%}.direct-city-scene .building-b{bottom:12%;left:35%;transform:scale(.8)}.search-object{z-index:3;color:#fff;cursor:pointer;background:linear-gradient(145deg,#9c79f7,#6b39dd);border:2px solid #0000;border-radius:50%;place-items:center;width:52px;height:52px;transition:all .2s;display:grid;position:absolute;box-shadow:0 8px 17px #492f912e}.search-object.object-0{top:14%;left:14%}.search-object.object-1{top:28%;left:46%}.search-object.object-2{bottom:15%;right:17%}.search-object.object-3{bottom:16%;left:24%}.search-object.object-4{top:13%;right:30%}.search-object.is-found{background:var(--direct-green);border-color:#fff;transform:scale(1.12);box-shadow:0 0 0 6px #28c77933,0 8px 17px #492f912e}.direct-search-pulse{pointer-events:none;border:2px solid #7444ee4d;border-radius:50%;width:20px;height:20px;animation:2s ease-out infinite direct-pulse;position:absolute;top:50%;left:50%}.direct-scene-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid;position:absolute;inset:24px}.direct-mini-scene{background:linear-gradient(#eaf8ff 0 58%,#e8f7df 58%);border-radius:24px;position:relative;overflow:hidden}.direct-mini-scene .sun{background:#ffd24f;border-radius:50%;width:34px;height:34px;position:absolute;top:18px;right:18px}.direct-mini-scene .hill{background:#a7e1af;border-radius:50%;height:70%;position:absolute;bottom:-30%;left:-10%;right:-10%}.direct-mini-scene .house{background:#fff;width:58px;height:58px;position:absolute;bottom:18%;left:43%;box-shadow:0 7px 14px #283c2d21}.direct-mini-scene .house:before{content:"";border-bottom:31px solid #ec7cae;border-left:37px solid #0000;border-right:37px solid #0000;position:absolute;top:-28px;left:-8px}.direct-mini-scene .tree{z-index:2;cursor:pointer;background:0 0;border:0;width:40px;height:64px;position:absolute}.direct-mini-scene .tree:before{content:"";background:#96633f;width:10px;height:28px;position:absolute;bottom:0;left:15px}.direct-mini-scene .tree:after{content:"";background:#42c480;border-radius:50%;width:40px;height:45px;position:absolute;top:0;left:0}.direct-mini-scene .tree-a{bottom:12%;left:17%}.direct-mini-scene .tree-b{bottom:13%;right:14%}.direct-mini-scene .tree.is-short:after{transform-origin:bottom;transform:scale(.65)}.direct-mini-scene .tree.is-found:after{box-shadow:0 0 0 6px #7444ee33}.direct-difference>small{color:#868391;font-weight:700;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.direct-cups{justify-content:space-around;align-items:end;display:flex;position:absolute;inset:38px 65px 55px}.direct-cups button{cursor:pointer;background:0 0;border:0;width:112px;height:128px;animation:3.4s ease-in-out infinite direct-cup-shuffle;position:relative}.direct-cups button:nth-child(2){animation-delay:-1.1s}.direct-cups button:nth-child(3){animation-delay:-2.2s}.direct-cups button i{background:linear-gradient(145deg,#a888f7,#7040df);border-radius:40px 40px 18px 18px;position:absolute;inset:25px 5px 4px;box-shadow:0 12px 22px #432b8533}.direct-cups button span{color:#f7b821;font-size:28px;position:absolute;top:4px;left:43px}.direct-cups button.is-found i{background:linear-gradient(145deg,#75dfae,#25b96f)}.direct-motion-dots{gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.direct-motion-dots i{background:#ccc7d8;border-radius:50%;width:7px;height:7px}.direct-shadow-target{color:#c6c2cd;background:#f4f3f6;border:2px dashed #aaa4b5;border-radius:35px;place-items:center;width:140px;height:140px;font-size:72px;display:grid;position:absolute;top:50%;left:18%;transform:translateY(-50%)}.direct-shadow-objects{gap:15px;display:flex;position:absolute;top:50%;right:8%;transform:translateY(-50%)}.direct-shadow-objects button,.direct-recall-row button{color:#7650dc;cursor:pointer;background:#fff;border:1px solid #dedbe7;border-radius:22px;width:76px;height:76px;font-size:35px;box-shadow:0 8px 18px #32295014}.direct-shadow-objects button.is-found,.direct-recall-row button.is-found{border-color:var(--direct-green);box-shadow:0 0 0 5px #28c77926}.direct-rule-card{color:#fff;cursor:pointer;background:linear-gradient(145deg,#8760ee,#6334d5);border:0;border-radius:24px;width:min(430px,80%);min-height:86px;font-size:18px;font-weight:850;transition:all .3s;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.direct-rule-card.is-covered{color:#777482;background:#efedf3}.direct-recall-row{gap:14px;display:flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.direct-repeat-strip{gap:8px;display:flex;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.direct-repeat-strip span{color:#9d98aa;background:#f0eef4;border-radius:19px;place-items:center;width:66px;height:76px;font-size:28px;transition:all .22s;display:grid}.direct-repeat-strip span.is-inside{color:#6e40da;background:#eee8ff;box-shadow:inset 0 0 0 2px #7e54e9}.direct-repeat-strip>i{left:calc(var(--window-left) * 74px - 4px);border:3px solid var(--direct-green);pointer-events:none;border-radius:24px;width:140px;height:88px;transition:left .25s;position:absolute;top:-8px;box-shadow:0 0 0 5px #28c7791f}.direct-handle-track{width:min(430px,75%);position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.direct-handle-track input{width:100%;min-height:58px}.direct-object-cloud{flex-wrap:wrap;place-content:center;gap:12px;width:34%;display:flex;position:absolute;top:13%;bottom:13%;left:6%}.direct-object-cloud button{color:#fff;cursor:grab;touch-action:none;background:linear-gradient(145deg,#a88bfa,#7443e8);border:0;border-radius:20px;width:64px;height:64px;font-size:23px;box-shadow:0 8px 18px #482e912b}.direct-object-cloud button:nth-child(2n){background:linear-gradient(145deg,#72dce2,#20b6c4)}.direct-object-cloud button:nth-child(3n){color:#7d5b10;background:linear-gradient(145deg,#ffe184,#ffc437)}.direct-object-cloud button.is-armed{box-shadow:0 0 0 5px #7444ee2e}.direct-drop-layout{grid-template-columns:repeat(2,1fr);gap:13px;display:grid;position:absolute;inset:10% 5% 10% 43%}.direct-drop-layout.count-3{grid-template-columns:repeat(3,1fr)}.direct-drop-layout>button{color:#6f6c79;cursor:pointer;background:#ffffffb8;border:2px dashed #d4d0df;border-radius:30px;min-width:0}.direct-drop-layout>button strong{margin-bottom:15px;font-size:13px;display:block}.direct-drop-layout>button span{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:80px;display:flex}.direct-drop-layout>button i{color:#fff;background:#7a4bea;border-radius:13px;place-items:center;width:38px;height:38px;font-style:normal;display:grid}.direct-orbits{border:2px solid #dcd8e5;border-radius:50%;width:250px;height:250px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.direct-orbits>span{border:2px solid #dedbe8;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.direct-orbits>span:first-child{width:170px;height:170px}.direct-orbits>span:nth-child(2){width:95px;height:95px}.direct-orbits>span:nth-child(3){background:#ffc83d;border:0;width:28px;height:28px}.orbit-item{color:#fff;cursor:pointer;background:#7546e7;border:0;border-radius:20px;width:58px;height:58px;font-size:22px;position:absolute;box-shadow:0 9px 18px #3e2a782e}.orbit-0{top:20px;left:-90px}.orbit-1{top:100px;right:-90px}.orbit-2{bottom:-80px;left:95px}.orbit-item.is-active{background:var(--direct-green);transform:scale(1.1)}.direct-table-grid{background:#fff;border:1px solid #dfdce7;border-radius:20px;grid-template-columns:1.2fr .7fr .8fr;display:grid;position:absolute;inset:35px 70px;overflow:hidden}.direct-table-grid>*{border-bottom:1px solid #ece9f0;border-right:1px solid #ece9f0;place-items:center;min-width:0;padding:8px;display:grid}.direct-table-grid>b{color:#fff;background:#33323b;font-size:11px}.direct-table-grid button{color:#6840d0;cursor:pointer;background:#eee9ff;border:0;font-size:19px;font-weight:900}.direct-table-grid button.is-active{color:#fff;background:var(--direct-green)}.direct-merge-model{gap:24px;transition:all .35s;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.direct-merge-model span{background:linear-gradient(145deg,#a889f8,#7040df);border-radius:28px;width:90px;height:90px;transition:all .35s;box-shadow:0 10px 22px #3c29762e}.direct-merge-model span:nth-child(2){background:linear-gradient(145deg,#73dde3,#21b8c5)}.direct-merge-model span:nth-child(3){background:linear-gradient(145deg,#ffe17d,#f6b91e)}.direct-merge-model.is-merged span:first-child{transform:translate(80px)rotate(45deg)}.direct-merge-model.is-merged span:nth-child(3){transform:translate(-80px)rotate(-45deg)}.direct-merge .direct-inline-action{padding:0 28px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.direct-build-track{grid-template-columns:repeat(3,1fr);gap:12px;min-height:105px;display:grid;position:absolute;top:14%;left:6%;right:6%}.direct-build-track.is-vertical{grid-template-columns:1fr;inset:7% 23% 39%}.direct-build-track button{color:#9692a1;cursor:pointer;background:#faf9fc;border:2px dashed #d5d1df;border-radius:20px;min-width:0;min-height:72px}.direct-build-track button.is-filled{color:#30303a;background:#fff;border-style:solid;border-color:#bcaafb;box-shadow:0 8px 16px #392a6412}.direct-build-track button span{font-size:12px;font-weight:800}.direct-build-track button i{font-style:normal}.direct-block-tray,.direct-code-palette{justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;bottom:8%;left:6%;right:6%}.direct-block-tray button,.direct-code-palette button{color:#fff;cursor:pointer;background:linear-gradient(145deg,#8d66f1,#6c38dc);border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-width:105px;min-height:62px;padding:8px 13px;font-weight:800;display:flex;box-shadow:0 8px 16px #492d8f26}.direct-block-tray button:nth-child(2n),.direct-code-palette button:nth-child(2n){color:#49390c;background:linear-gradient(145deg,#ffe080,#ffc63b)}.direct-block-tray i{font-style:normal}.direct-timeline .direct-build-track:before{content:"";background:#dcd9e4;border-radius:4px;height:4px;position:absolute;top:50%;left:8%;right:8%}.direct-timeline .direct-build-track button{z-index:1;aspect-ratio:1;border-radius:50%;justify-self:center}.direct-clue .direct-build-track{grid-template-columns:1fr}.direct-proof .direct-block-tray{flex-direction:column;width:170px;inset:10% 8% 10% auto}.direct-proof .direct-build-track{right:34%}.direct-annotation-map{position:absolute;inset:18px 28px}.direct-annotation-map svg{width:100%;height:100%}.direct-annotation-map path{fill:none;stroke:#cac5d5;stroke-width:7px;stroke-linecap:round}.direct-annotation-map circle{fill:#fff;stroke:#7444ee;stroke-width:3px}.direct-annotation-map circle.is-marked{fill:#28c779;stroke:#fff;filter:drop-shadow(0 5px 8px #24b46a59)}.direct-annotation-map button{color:#fff;cursor:pointer;background:#7544e8;border:0;border-radius:50%;width:56px;height:56px;font-size:26px;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.direct-confidence-gauge{background:conic-gradient(from 270deg,#e9687d,#ffc83d,#28c779,#eeeaf2 0);border-radius:280px 280px 0 0;width:280px;height:140px;position:absolute;top:42%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.direct-confidence-gauge:after{content:"";background:#fff;border-radius:210px 210px 0 0;height:105px;position:absolute;bottom:-2px;left:35px;right:35px}.direct-confidence-gauge i{z-index:2;transform-origin:bottom;width:4px;height:95px;transform:rotate(calc(-80deg + var(--confidence) * 16deg));background:#292830;border-radius:4px;transition:all .25s;position:absolute;bottom:0;left:50%}.direct-confidence-gauge span{z-index:3;white-space:nowrap;font-weight:800;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.direct-confidence .direct-big-range{position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.direct-link-lines,.direct-events>svg,.direct-state-machine>svg,.direct-network>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.direct-link-lines path,.direct-events>svg path,.direct-state-machine>svg path{fill:none;stroke:#7444ee;stroke-width:5px;stroke-linecap:round;stroke-dasharray:620;animation:.55s both direct-draw}.direct-node-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;place-items:center;column-gap:230px;display:grid;position:absolute;inset:24px 55px}.direct-node-grid button{color:#494752;cursor:pointer;background:#fff;border:1px solid #dedbe7;border-radius:22px;align-items:center;gap:10px;min-width:150px;min-height:72px;padding:9px 14px;display:flex;box-shadow:0 8px 17px #31275312}.direct-node-grid button i{color:#fff;background:#7544e8;border-radius:14px;place-items:center;width:42px;height:42px;font-style:normal;display:grid}.direct-node-grid button.is-armed{box-shadow:0 0 0 4px #7444ee2e}.direct-node-grid button.is-linked{border-color:#28c779}.direct-node-grid button span{font-size:11px;font-weight:750}.direct-paper{width:210px;height:150px;transform:translate(-50%,-50%) perspective(500px) rotateY(calc(var(--fold) * 8deg));background:linear-gradient(135deg,#fff,#e7e1fa);transition:all .25s;position:absolute;top:42%;left:50%;box-shadow:0 15px 28px #432f7826}.direct-paper i{border-left:2px dashed #8d76c9;position:absolute;top:0;bottom:0;left:50%}.direct-paper span{border-top:3px dashed #f06b81;width:36px;position:absolute;top:45%;left:50%}.direct-paper.is-cut span:after{content:"✂";color:#f05c75;position:absolute;top:-17px;left:12px}.direct-tool-dock{grid-template-columns:1fr 90px;align-items:center;gap:14px;width:min(450px,80%);display:grid;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.direct-tool-dock input{width:100%;min-height:54px}.direct-tool-dock button{color:#fff;background:#2d2c32;border:0;border-radius:16px;min-height:50px;font-weight:800}.direct-time-scene{background:linear-gradient(#dbf4ff,#fff2d3 62%,#dff2d8 62%);border-radius:26px;height:190px;position:absolute;top:9%;left:8%;right:8%;overflow:hidden}.direct-time-scene .sun{left:calc(8% + var(--time) * 8%);top:calc(110px - var(--time) * 8px);background:#ffc83d;border-radius:50%;width:44px;height:44px;position:absolute;box-shadow:0 0 30px #ffc22e80}.direct-time-scene b{background:#514333;width:28px;height:80px;position:absolute;bottom:32px;left:50%}.direct-time-scene .shadow{width:calc(25px + var(--time) * 9px);height:12px;transform:rotate(calc(-35deg + var(--time) * 7deg));transform-origin:0;background:#302a3c38;border-radius:50%;position:absolute;bottom:32px;left:50%}.direct-time .direct-big-range{position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.direct-view-object{width:190px;height:150px;transition:all .3s;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.direct-view-object span{background:linear-gradient(145deg,#9e80f7,#6f3cdd);border-radius:24px;width:88px;height:88px;position:absolute;box-shadow:0 10px 20px #432b8533}.direct-view-object span:first-child{top:10px;left:20px}.direct-view-object span:nth-child(2){background:linear-gradient(145deg,#74dce2,#1fb6c4);top:36px;right:12px}.direct-view-object span:nth-child(3){background:linear-gradient(145deg,#ffe079,#f5b81f);bottom:0;left:55px}.direct-view-object.view-1{transform:translate(-50%,-50%)rotateY(55deg)}.direct-view-object.view-2{transform:translate(-50%,-50%)rotateX(60deg)}.direct-view-toggle{background:#eceaf0;border-radius:16px;padding:5px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.direct-view-toggle button{color:#777382;cursor:pointer;background:0 0;border:0;border-radius:12px;min-width:88px;min-height:46px;font-weight:750}.direct-view-toggle button.is-active{color:#28272e;background:#fff;box-shadow:0 3px 9px #3028471a}.direct-landscape svg{width:88%;height:75%;position:absolute;top:4%;left:6%;right:6%}.direct-landscape path{fill:none;stroke:#d4cfdf;stroke-width:8px;stroke-linecap:round}.direct-landscape circle{fill:#7544e8;stroke:#fff;stroke-width:5px;filter:drop-shadow(0 7px 8px #462c8c47);transition:all .22s}.direct-landscape .direct-big-range,.direct-variable .direct-big-range{position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.direct-live-bars{border-bottom:3px solid #4d4b56;justify-content:center;align-items:end;gap:22px;width:340px;height:175px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.direct-live-bars i{width:55px;height:var(--bar-height);background:linear-gradient(#9d7bf5,#7241e4);border-radius:12px 12px 3px 3px;min-height:18px;transition:all .2s}.direct-live-bars i:nth-child(2){background:linear-gradient(#74dde3,#22b8c5)}.direct-live-bars i:nth-child(3){background:linear-gradient(#ffe076,#f4b71d)}.direct-variable output{font-size:30px;font-weight:900;position:absolute;top:35%;right:13%}.direct-rule-banner{color:#fff;text-align:center;background:#2c2b32;border-radius:18px;min-width:310px;padding:16px 25px;font-weight:800;position:absolute;top:22%;left:50%;transform:translate(-50%)}.direct-case-track{gap:24px;display:flex;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.direct-case-track button{cursor:pointer;background:#fff;border:1px solid #ddd9e5;border-radius:26px;place-items:center;width:105px;height:105px;display:grid}.direct-case-track button i{font-size:26px;font-style:normal}.direct-case-track button span{font-size:20px;font-weight:850}.direct-case-track button.is-counterexample{border-color:#ed617a;box-shadow:0 0 0 5px #ed617a24}.direct-filter-world{background:#f4f2f8;border-radius:28px;justify-content:space-around;align-items:center;height:160px;display:flex;position:absolute;top:12%;left:6%;right:6%}.direct-filter-world i{color:#aaa6b3;opacity:.28;background:#ddd9e4;border-radius:18px;place-items:center;width:55px;height:55px;font-style:normal;transition:all .25s;display:grid;transform:scale(.75)}.direct-filter-world i.is-passing{color:#fff;opacity:1;background:#7544e8;transform:scale(1)}.direct-switch-bank{gap:14px;display:flex;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.direct-switch-bank button{color:#777482;cursor:pointer;background:#edeaf1;border:0;border-radius:18px;align-items:center;gap:10px;min-width:145px;min-height:56px;padding:0 18px;font-weight:800;display:flex}.direct-switch-bank button i{background:#c6c2ce;border-radius:20px;width:38px;height:24px;position:relative}.direct-switch-bank button i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.direct-switch-bank button.is-on{color:#1f7f4f;background:#e7f7ef}.direct-switch-bank button.is-on i{background:#28c779}.direct-switch-bank button.is-on i:after{transform:translate(14px)}.direct-logic-grid{background:#fff;border:1px solid #dedbe6;border-radius:20px;grid-template-columns:1.1fr repeat(3,1fr);display:grid;position:absolute;inset:25px 75px;overflow:hidden}.direct-logic-grid>*{border-bottom:1px solid #ebe8ef;border-right:1px solid #ebe8ef;place-items:center;display:grid}.direct-logic-grid>b{background:#f3f1f6;font-size:11px}.direct-logic-grid button{color:#7444ee;cursor:pointer;background:#fff;border:0;font-size:20px;font-weight:900}.direct-characters{grid-template-columns:repeat(3,1fr);align-items:center;gap:20px;display:grid;position:absolute;inset:30px 42px}.direct-characters button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:28px;min-height:185px;position:relative}.direct-characters button i{color:#fff;background:#7544e8;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 16px;font-size:34px;font-style:normal;display:grid}.direct-characters button span{color:#4f4c59;padding:0 14px;font-size:11px;line-height:1.4;display:block}.direct-characters button.is-active{border-color:#28c779;box-shadow:0 0 0 5px #28c77921}.direct-reasoning-lines{gap:12px;width:min(460px,80%);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.direct-reasoning-lines button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0dde8;border-radius:18px;grid-template-columns:42px 1fr 32px;align-items:center;min-height:60px;display:grid}.direct-reasoning-lines button i{color:#fff;background:#7b4ce8;border-radius:50%;justify-self:center;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.direct-reasoning-lines button b{color:#ef6279;font-size:20px}.direct-reasoning-lines button.is-marked{background:#fff7f8;border-color:#ef6279;box-shadow:0 0 0 4px #ef62791f}.direct-invariant-model{width:330px;height:150px;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.direct-invariant-model span{width:72px;height:72px;transform:translateX(calc(var(--shift) * 4px));background:#7544e8;border-radius:22px;transition:all .2s;position:absolute;top:40px}.direct-invariant-model span:nth-child(2){transform:translateX(calc(var(--shift) * -2px));background:#22bbc8;border-radius:50%;left:125px}.direct-invariant-model span:nth-child(3){transform:rotate(calc(var(--shift) * 9deg));background:#ffc83d;right:0}.direct-invariant .direct-big-range{position:absolute;bottom:20px;left:38%;transform:translate(-50%)}.direct-invariant .direct-inline-action{padding:0 16px;position:absolute;bottom:22px;right:5%}.direct-candidate-row{justify-content:center;gap:14px;display:flex;position:absolute;top:34%;left:5%;right:5%;transform:translateY(-50%)}.direct-candidate-row button{cursor:pointer;background:#fff;border:1px solid #dedbe7;border-radius:26px;flex:1;place-items:center;max-width:150px;min-height:135px;display:grid}.direct-candidate-row button i{color:#fff;background:#7544e8;border-radius:18px;place-items:center;width:58px;height:58px;font-size:22px;font-style:normal;display:grid}.direct-candidate-row button span{font-size:10px;font-weight:750}.direct-candidate-row button.is-active{border-color:#28c779;box-shadow:0 0 0 5px #28c77921}.direct-evidence-beam{background:#edeaf2;border-radius:30px;width:min(420px,70%);height:42px;position:absolute;bottom:31px;left:50%;transform:translate(-50%)}.direct-evidence-beam i{border-radius:inherit;background:linear-gradient(90deg,#7342ee,#9c77fa);width:58%;height:100%;display:block}.direct-evidence-beam span{color:#74717f;font-size:10px;font-weight:800;position:absolute;top:13px;right:18px}.direct-tree{position:absolute;inset:20px 80px}.direct-tree button{cursor:pointer;background:#fff;border:1px solid #dcd9e5;border-radius:18px;min-width:110px;min-height:54px;font-weight:800;position:absolute}.direct-tree button:first-of-type{top:0;left:50%;transform:translate(-50%)}.direct-tree button:nth-of-type(2){top:120px;left:18%}.direct-tree button:nth-of-type(3){top:120px;right:18%}.direct-tree>i{background:#c9c4d4;width:2px;height:60px;position:absolute;top:55px;left:50%}.direct-tree>span{background:#c9c4d4;width:33%;height:2px;position:absolute;top:95px}.direct-tree>span:nth-last-child(3){left:18%}.direct-tree>span:nth-last-child(2){right:18%}.direct-route svg{width:100%;height:100%;position:absolute;inset:0}.direct-route svg path{fill:none;stroke:#cfcad8;stroke-width:7px;stroke-linecap:round}.direct-route svg path.is-risk{stroke:#f0b93b;stroke-dasharray:13 10}.direct-route svg circle{fill:#fff;stroke:#bdb7c9;stroke-width:4px;transition:all .2s}.direct-route svg circle.is-reached{fill:#28c779;stroke:#fff;filter:drop-shadow(0 5px 8px #22b76b4d)}.route-node,.network-node{color:#fff;cursor:pointer;background:#7544e8;border:0;border-radius:50%;width:54px;height:54px;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.route-0{top:50%;left:11.3%}.route-1{top:35%;left:53.2%}.route-2{top:48%;left:88.7%}.direct-tradeoff{background:#e7e4ed;border-radius:24px;width:min(480px,75%);height:85px;display:flex;position:absolute;top:42%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.direct-tradeoff span{width:var(--share);background:linear-gradient(90deg,#35ca82,#22b9c7);transition:all .2s}.direct-tradeoff i,.direct-tradeoff b{font-style:normal;position:absolute;top:33px}.direct-tradeoff i{color:#fff;left:18px}.direct-tradeoff b{right:18px}.direct-tradeoff+.direct-big-range{position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.direct-number-blocks{grid-template-columns:repeat(10,1fr);gap:5px;display:grid;position:absolute;top:21%;left:8%;right:8%}.direct-number-blocks button{cursor:pointer;background:#ece9f1;border:0;border-radius:13px;height:84px;transition:all .2s}.direct-number-blocks button.is-filled{background:linear-gradient(#9e80f5,#7443e5);transform:translateY(-8px);box-shadow:0 8px 14px #472e892e}.direct-ratio-bars{background:#eeeaf2;border-radius:12px;height:18px;position:absolute;bottom:24%;left:16%;right:16%;overflow:hidden}.direct-ratio-bars span{width:var(--ratio);background:#28c779;height:100%;transition:all .2s;display:block}.direct-quantity output{font-size:18px;font-weight:850;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.direct-ruler{background:linear-gradient(#fff6cd,#ffe889);border-radius:10px;align-items:end;height:94px;display:flex;position:absolute;top:33%;left:9%;right:9%;box-shadow:0 10px 20px #a27b1b21}.direct-ruler>i{border-left:2px solid #56535e;flex:1;height:34%;position:relative}.direct-ruler>i:nth-child(odd){height:58%}.direct-ruler b{font-size:9px;position:absolute;top:-22px;left:-6px}.direct-ruler>span{z-index:2;left:calc(var(--measure) * 10%);background:#7544e8;border-radius:7px;width:7px;height:125px;transition:all .2s;position:absolute;bottom:-12px;transform:translate(-50%)}.direct-measurement .direct-big-range,.direct-calibration .direct-big-range{position:absolute;bottom:19px;left:50%;transform:translate(-50%)}.direct-measurement output,.direct-calibration output{color:#6336cf;background:#eee9ff;border-radius:18px;place-items:center;width:58px;height:58px;font-size:23px;font-weight:900;display:grid;position:absolute;top:10%;right:6%}.direct-calibration .direct-ruler{clip-path:polygon(0 100%,0 50%,12% 23%,31% 5%,50% 0,69% 5%,88% 23%,100% 50%,100% 100%);border-radius:110px 110px 0 0}.direct-geometry-plane{background-image:linear-gradient(#ece9f0 1px,#0000 1px),linear-gradient(90deg,#ece9f0 1px,#0000 1px);background-size:28px 28px;border-bottom:3px solid #5c5963;border-left:3px solid #5c5963;position:absolute;inset:7% 8% 27%}.direct-geometry-plane span{clip-path:polygon(50% 0,100% 100%,0 100%);transform-origin:50%;width:120px;height:120px;transition:all .2s;position:absolute;top:23%;left:38%}.direct-geometry-plane .target{opacity:.45;background:#dff7ea;border:3px dashed #28c779}.direct-geometry-plane .shape{background:linear-gradient(145deg,#9c7df5,#7242e4)}.direct-geometry-plane>i{background:#ffc83d;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%}.direct-geometry .direct-big-range,.direct-net .direct-big-range{position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.direct-tile-board{grid-template-columns:repeat(4,1fr);gap:3px;width:430px;height:230px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)skewY(-4deg)}.direct-tile-board button{clip-path:polygon(50% 0,100% 100%,0 100%);cursor:pointer;background:#eeeaf2;border:0}.direct-tile-board button:nth-child(2n){transform:rotate(180deg)}.direct-tile-board button.is-filled{background:linear-gradient(145deg,#8c66ed,#6632d5)}.direct-cube-net{width:210px;height:160px;transform-style:preserve-3d;transition:all .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.direct-cube-net i{background:#855eec73;border:2px solid #6c41d4;width:60px;height:60px;position:absolute}.direct-cube-net i:first-child{top:50px;left:75px}.direct-cube-net i:nth-child(2){top:50px;left:15px}.direct-cube-net i:nth-child(3){top:50px;left:135px}.direct-cube-net i:nth-child(4){top:-10px;left:75px}.direct-cube-net i:nth-child(5){top:110px;left:75px}.direct-cube-net i:nth-child(6){top:110px;left:135px}.direct-cube-net.is-folded{transform:translate(-50%,-50%)rotateX(58deg)rotate(38deg)scale(.8)}.direct-coordinate-plane{position:absolute;inset:12px 25px}.direct-coordinate-plane svg{width:100%;height:100%}.direct-coordinate-plane .axes{fill:none;stroke:#57545e;stroke-width:3px}.direct-coordinate-plane .grid{fill:none;stroke:#ece9f1;stroke-width:1px}.direct-coordinate-plane .curve{fill:none;stroke:#7646e7;stroke-width:7px;stroke-linecap:round;transition:all .2s}.direct-coordinate-plane circle{fill:#ffc83d;stroke:#fff;stroke-width:6px;filter:drop-shadow(0 5px 7px #442c853d);cursor:grab;touch-action:none}.direct-scatter,.direct-classifier-plane{background-image:linear-gradient(#f0edf3 1px,#0000 1px),linear-gradient(90deg,#f0edf3 1px,#0000 1px);background-size:38px 38px;border-bottom:3px solid #5a5761;border-left:3px solid #5a5761;position:absolute;inset:6% 7% 28%}.direct-scatter button,.direct-classifier-plane>i{left:var(--x);top:var(--y);cursor:pointer;background:#bbb6c5;border:0;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;transform:translate(-50%,-50%)}.direct-scatter button.is-highlighted{background:#7544e8;transform:translate(-50%,-50%)scale(1.2);box-shadow:0 0 0 5px #7444ee1f}.direct-scatter+.direct-big-range,.direct-chart .direct-big-range,.direct-classifier .direct-big-range{position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.direct-histogram{border-bottom:3px solid #55525d;border-left:3px solid #55525d;align-items:end;gap:5px;padding:0 8px;display:flex;position:absolute;inset:8% 8% 28%}.direct-histogram i{height:var(--height);background:linear-gradient(#ffd96a,#efa91a);border-radius:7px 7px 0 0;flex:1;transition:all .22s}.direct-count-scene{grid-template-columns:repeat(4,1fr);gap:14px;display:grid;position:absolute;inset:25px 100px}.direct-count-scene button{color:#77727f;cursor:pointer;background:#efedf3;border:0;border-radius:20px;font-size:27px}.direct-count-scene button.is-counted{color:#fff;background:#7544e8;box-shadow:0 0 0 4px #7444ee21}.direct-count-scene+output{font-size:30px;font-weight:900;position:absolute;top:50%;right:35px;transform:translateY(-50%)}.direct-probability-cloud{flex-wrap:wrap;place-content:center;gap:9px;width:52%;height:65%;display:flex;position:absolute;top:12%;left:7%}.direct-probability-cloud i{background:#8260de;border-radius:50%;width:25px;height:25px}.direct-probability-cloud i.is-accent{background:#ffc83d}.direct-probability-cloud.is-running i{animation:.5s direct-shake}.direct-probability-chart{border-bottom:2px solid #55525d;align-items:end;gap:7px;width:22%;height:55%;display:flex;position:absolute;top:19%;right:12%}.direct-probability-chart i{height:var(--height);background:#28c779;border-radius:4px 4px 0 0;flex:1;transition:all .2s}.direct-equation{align-items:center;gap:11px;display:flex;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}.direct-equation span{color:#6437d2;background:#eee9ff;border-radius:20px;place-items:center;width:65px;height:65px;font-size:24px;font-weight:900;display:grid}.direct-equation button{color:#fff;cursor:pointer;background:#2b2a31;border:0;border-radius:50%;width:52px;height:52px;font-size:25px}.direct-equation b,.direct-equation strong{font-size:22px}.direct-equation-balance{width:420px;height:70px;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.direct-equation-balance i{height:6px;transform:rotate(var(--tilt));background:#45434c;border-radius:6px;transition:all .2s;position:absolute;top:10px;left:0;right:0}.direct-equation-balance span{border:3px solid #777380;border-top:0;border-radius:0 0 30px 30px;width:120px;height:40px;position:absolute;top:18px}.direct-equation-balance span:nth-child(2){left:0}.direct-equation-balance span:nth-child(3){right:0}.direct-function-flow{align-items:center;gap:30px;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.direct-function-flow output{color:#fff;background:linear-gradient(145deg,#8e68ef,#6734d6);border-radius:26px;place-items:center;width:90px;height:90px;font-size:28px;font-weight:900;display:grid;box-shadow:0 10px 20px #3e287a2e}.direct-function-flow span{color:#fff;background:#29282e;border-radius:50px 18px 18px 50px;place-items:center;width:180px;min-height:105px;display:grid;box-shadow:inset 22px 0 #ffffff14}.direct-function-flow i,.direct-function-flow b{font-style:normal}.direct-function+.direct-big-range,.direct-function .direct-big-range{position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.direct-program-workspace{grid-template-columns:1.15fr 1fr;gap:18px;display:grid;position:absolute;inset:5% 4% 30%}.direct-code-stack{color:#fff;background:#2c2b33;border-radius:20px;flex-direction:column;align-items:flex-start;gap:6px;padding:15px;display:flex}.direct-code-stack>span,.direct-code-stack>button{color:#fff;background:#7544e8;border:0;border-radius:9px;min-height:32px;padding:5px 12px;font:750 10px ui-monospace,monospace}.direct-code-stack>button:nth-of-type(2n){color:#4c3800;background:#ffc83d;margin-left:18px}.direct-code-stack>i{color:#777281;align-self:center;margin-top:15px;font-size:9px;font-style:normal}.direct-robot-stage{background:#f1eef8;border-radius:20px;position:relative;overflow:hidden}.direct-robot-stage>b{float:left;border-right:1px solid #ddd9e7;width:18%;height:100%;position:relative}.direct-robot-stage>span,.direct-robot-stage>i{z-index:2;font-style:normal;position:absolute;top:44%}.direct-robot-stage>span{left:calc(4% + min(var(--step),4) * 19%);color:#7544e8;font-size:29px;transition:all .35s}.direct-robot-stage>i{color:#ffc438;font-size:30px;right:5%}.direct-blocks .direct-code-palette,.direct-algorithm .direct-code-palette{bottom:5%}.direct-event-columns{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;place-items:center;column-gap:260px;display:grid;position:absolute;inset:26px 70px}.direct-event-columns button{cursor:pointer;background:#fff;border:1px solid #ddd9e5;border-radius:22px;align-items:center;gap:10px;min-width:160px;min-height:72px;padding:10px 14px;font-weight:800;display:flex}.direct-event-columns button i{color:#fff;background:#7544e8;border-radius:14px;place-items:center;width:42px;height:42px;font-style:normal;display:grid}.direct-event-columns button.action i{background:#28c779}.direct-event-columns button.is-armed{box-shadow:0 0 0 5px #7444ee29}.direct-debugger{grid-template-columns:1fr 170px;gap:18px;display:grid;position:absolute;inset:22px 35px}.direct-code-list{background:#2c2b33;border-radius:20px;overflow:hidden}.direct-code-list button{color:#f4f2f8;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:35px 1fr;width:100%;min-height:48px;display:grid}.direct-code-list button i{color:#777381;place-items:center;font-style:normal;display:grid}.direct-code-list button span{align-self:center;font:750 11px ui-monospace,monospace}.direct-code-list button.is-current{background:#7444ee4d}.direct-code-list button.is-breakpoint i{color:#fff;background:#ed637a}.direct-debugger aside{background:#fff;border:1px solid #dedbe6;border-radius:20px;align-content:center;place-items:center;gap:7px;display:grid}.direct-debugger aside b{color:#777482;font-size:10px}.direct-debugger aside strong{font-size:38px}.direct-debugger aside button{color:#fff;background:#29282f;border:0;border-radius:15px;min-height:48px;padding:0 17px;font-weight:800}.direct-trace-code{background:#2c2b33;border-radius:20px;width:39%;display:grid;position:absolute;top:8%;bottom:8%;left:5%;overflow:hidden}.direct-trace-code span{color:#f3f1f6;grid-template-columns:35px 1fr;align-items:center;padding-right:10px;font:750 10px ui-monospace,monospace;display:grid}.direct-trace-code span i{color:#777382;justify-self:center;font-style:normal}.direct-trace-code span.is-current{background:#7444ee59}.direct-trace-world{background:#f1eef7;border-radius:22px;height:140px;position:absolute;top:18%;left:48%;right:5%}.direct-trace-world>i{float:left;border-right:1px solid #ddd9e5;width:20%;height:100%;position:relative}.direct-trace-world span,.direct-trace-world b{font-style:normal;position:absolute;top:42%}.direct-trace-world span{left:calc(4% + var(--step) * 19%);color:#7544e8;font-size:28px;transition:all .3s}.direct-trace-world b{color:#ffc53a;font-size:28px;right:5%}.direct-trace .direct-step{padding:0 19px;position:absolute;bottom:11%;right:13%}.direct-state-machine>svg path{stroke:#28c779}.direct-state-nodes button{cursor:pointer;background:#fff;border:1px solid #dcd8e4;border-radius:22px;min-width:120px;min-height:62px;font-weight:850;position:absolute}.direct-state-nodes .state-0{top:16%;left:8%}.direct-state-nodes .state-1{top:16%;right:8%}.direct-state-nodes .state-2{bottom:11%;left:40%}.direct-state-nodes .state-3{bottom:11%;right:25%}.direct-state-nodes button.is-armed{box-shadow:0 0 0 5px #7444ee2b}.direct-memory-table{border:1px solid #dedbe6;border-radius:20px;grid-template-columns:1fr 1fr;width:min(460px,75%);display:grid;position:absolute;top:45%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.direct-memory-table>*{border-bottom:1px solid #ebe8ef;border-right:1px solid #ebe8ef;place-items:center;min-height:48px;display:grid}.direct-memory-table span{background:#f2f0f5;font-weight:800}.direct-memory-table output{color:#6c3cda;background:#fff;font-size:18px;font-weight:900}.direct-memory+.direct-big-range{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.direct-test-table{background:#fff;border:1px solid #dedbe6;border-radius:20px;display:grid;position:absolute;inset:24px 70px;overflow:hidden}.direct-test-table header,.direct-test-table button{background:#fff;border:0;border-bottom:1px solid #ece9f0;grid-template-columns:1fr 1fr 80px;align-items:center;display:grid}.direct-test-table header{color:#777381;background:#f2f0f5;font-size:10px}.direct-test-table button{cursor:pointer}.direct-test-table button i{color:#777382;background:#ece9f1;border-radius:50%;justify-self:center;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.direct-test-table button.is-enabled i{color:#fff;background:#28c779}.direct-network>svg path{fill:none;stroke:#c9c4d2;stroke-width:6px;stroke-linecap:round}.direct-network>svg circle{fill:#fff;stroke:#b9b3c5;stroke-width:4px}.direct-network>svg circle.is-active{fill:#28c779;stroke:#fff}.direct-network>svg .packet{fill:#ffc83d;stroke:none}.direct-network>svg .packet.is-running{animation:1.25s ease-in-out infinite direct-packet}.network-node.node-0{top:50%;left:34%}.network-node.node-1{top:24%;left:50%}.network-node.node-2{top:50%;left:66%}.direct-security-flow{grid-template-columns:70px 1fr 110px 1fr 70px;place-items:center;display:grid;position:absolute;top:45%;left:8%;right:8%;transform:translateY(-50%)}.direct-security-flow>i{background:repeating-linear-gradient(90deg,#c8c3d2 0 13px,#0000 13px 22px);border-radius:6px;width:100%;height:5px}.direct-security-flow>span{color:#fff;background:#ed637a;border-radius:22px;place-items:center;width:64px;height:64px;font-weight:900;display:grid}.direct-security-flow>button{color:#777382;cursor:pointer;background:#e8e5ed;border:0;border-radius:30px;min-width:100px;min-height:80px;font-weight:850}.direct-security-flow>button.is-on{color:#fff;background:#28c779;box-shadow:0 0 28px #28c77947}.direct-security-flow>span.is-safe{background:#28c779}.direct-dataset{background:#fff;border:1px solid #dedbe6;border-radius:20px;display:grid;position:absolute;inset:7% 8% 30%;overflow:hidden}.direct-dataset header,.direct-dataset>span{text-align:center;border-bottom:1px solid #ece9f0;grid-template-columns:1fr 1fr 1fr;align-items:center;display:grid}.direct-dataset header{color:#777381;background:#f2f0f5;font-size:10px}.direct-dataset>span{opacity:.22;transition:all .2s}.direct-dataset>span.is-visible{opacity:1}.direct-dataset em{color:#28c779;font-style:normal}.direct-dataset+label{grid-template-columns:90px 1fr;align-items:center;gap:15px;width:min(460px,80%);font-weight:800;display:grid;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.direct-classifier-plane .boundary{left:calc(var(--boundary) * 9%);background:#29282f;border-radius:5px;width:5px;transition:all .2s;position:absolute;top:-5%;bottom:-5%;transform:rotate(-15deg)}.direct-classifier-plane>i.class-a{background:#7544e8}.direct-classifier-plane>i.class-b{background:#ef5fa9}.direct-truth-grid{background:#fff;border:1px solid #dedbe6;border-radius:20px;width:min(460px,80%);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.direct-truth-grid header,.direct-truth-grid>div{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.direct-truth-grid header{color:#fff;background:#313039}.direct-truth-grid>*>*{border-bottom:1px solid #ece9f0;border-right:1px solid #ece9f0;place-items:center;min-height:38px;display:grid}.direct-truth-grid button{color:#6f3cdc;cursor:pointer;background:#eee9ff;border:0;font-size:17px;font-weight:900}.direct-algorithm-canvas{grid-template-columns:1.15fr 1fr;gap:16px;display:grid;position:absolute;inset:5% 4% 30%}.direct-flow-lane{background:#f1eef7;border-radius:20px;align-items:center;gap:8px;padding:12px;display:flex;overflow:auto}.direct-flow-lane button{color:#fff;background:#7544e8;border:0;border-radius:18px;min-width:95px;min-height:65px;font-weight:800}.direct-flow-lane button i{font-size:9px;font-style:normal;display:block}.direct-algorithm-preview{background:#f1eef7;border-radius:20px;position:relative;overflow:hidden}.direct-algorithm-preview>span,.direct-algorithm-preview>i{font-style:normal;position:absolute;top:44%}.direct-algorithm-preview>span{left:calc(5% + min(var(--step),4) * 19%);color:#7544e8;font-size:27px;transition:all .3s}.direct-algorithm-preview>i{color:#ffc83d;font-size:29px;right:7%}.direct-code-editor{background:#29282f;border-radius:20px;grid-template-columns:36px 1fr;width:54%;display:grid;position:absolute;top:8%;bottom:8%;left:5%;overflow:hidden}.direct-code-editor>span{color:#777382;text-align:center;padding-top:15px}.direct-code-editor textarea{resize:none;color:#f4f2f7;box-sizing:border-box;background:0 0;border:0;outline:0;width:100%;height:100%;padding:15px;font:750 12px/1.7 ui-monospace,monospace}.direct-code-output{background:#fff;border:1px solid #dedbe6;border-radius:20px;align-content:center;place-items:center;gap:12px;width:32%;min-height:150px;display:grid;position:absolute;top:20%;right:5%}.direct-code-output b{color:#777381;font-size:10px}.direct-code-output span{color:#7342ee;font-weight:850}.direct-test-target{align-items:center;gap:16px;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.direct-test-target span,.direct-test-target b{background:#eeeaf3;border-radius:18px;place-items:center;min-width:130px;min-height:58px;display:grid}.direct-test-target b{color:#fff;background:#29282f}.direct-test-cases{grid-template-columns:repeat(4,1fr);gap:10px;display:grid;position:absolute;bottom:10%;left:7%;right:7%}.direct-test-cases button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:20px;place-items:center;min-width:0;min-height:90px;display:grid}.direct-test-cases button i{color:#6b3bd8;background:#eee9ff;border-radius:13px;place-items:center;width:38px;height:38px;font-style:normal;font-weight:900;display:grid}.direct-test-cases button span{font-size:9px;font-weight:750}.direct-test-cases button.is-active{border-color:#28c779;box-shadow:0 0 0 4px #28c77921}.direct-plan-pair{grid-template-columns:1fr 1fr;gap:18px;display:grid;position:absolute;inset:30px 65px}.direct-plan-pair>button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:25px;align-content:center;justify-items:center;gap:13px;display:grid}.direct-plan-pair>button.is-active{border-color:#28c779;box-shadow:0 0 0 5px #28c77921}.direct-plan-pair small{color:#777381}.mini-route{justify-content:space-between;align-items:center;width:170px;height:45px;display:flex;position:relative}.mini-route:before{content:"";background:#d4d0dd;height:4px;position:absolute;top:50%;left:6px;right:6px}.mini-route i{z-index:1;background:#7544e8;border-radius:50%;width:19px;height:19px}.mini-route.route-1 i{background:#28c779}.direct-question-candidates{gap:25px;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%)}.direct-question-candidates span{color:#fff;background:#7544e8;border-radius:17px;place-items:center;width:55px;height:55px;font-size:20px;display:grid}.direct-question-candidates span:nth-child(2n){background:#22bbc8}.direct-question-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:absolute;bottom:10%;left:6%;right:6%}.direct-question-row button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:20px;place-items:center;gap:8px;min-height:100px;font-weight:800;display:grid}.direct-question-row button>i{background:#eeeaf2;border-radius:13px;width:70px;height:22px;display:flex;overflow:hidden}.direct-question-row button>i span{flex:1}.direct-question-row button>i span:first-child{background:#7544e8}.direct-question-row button.is-active{border-color:#28c779;box-shadow:0 0 0 4px #28c7791f}.direct-problem-preview{align-items:center;gap:10px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.direct-problem-preview i,.direct-problem-preview span{background:#7544e8;border-radius:20px;place-items:center;width:65px;height:65px;display:grid}.direct-problem-preview i:nth-child(2){background:#22bbc8;border-radius:50%}.direct-problem-preview span{color:#5e5968;background:#eeeaf2;font-size:24px;font-weight:900}.direct-tools{gap:12px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.direct-tools button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:20px;justify-content:center;align-items:center;gap:10px;min-width:130px;min-height:75px;font-weight:800;display:flex}.direct-tools button i{font-size:24px;font-style:normal}.direct-tools button.is-active{border-color:#28c779;box-shadow:0 0 0 4px #28c7791f}.direct-big-problem{color:#fff;background:linear-gradient(145deg,#8961ef,#6634d6);border-radius:36px;place-items:center;width:150px;height:150px;font-size:22px;font-weight:900;display:grid;position:absolute;top:50%;left:7%;transform:translateY(-50%);box-shadow:0 14px 26px #452b8b33}.direct-problem-parts{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:absolute;top:50%;left:35%;right:5%;transform:translateY(-50%)}.direct-problem-parts button{cursor:pointer;background:#fff;border:1px solid #dedbe6;border-radius:23px;place-items:center;min-width:0;min-height:115px;display:grid}.direct-problem-parts button i{color:#6c3dd8;background:#eee9ff;border-radius:13px;place-items:center;width:38px;height:38px;font-style:normal;font-weight:900;display:grid}.direct-problem-parts button span{font-size:9px;font-weight:750}.direct-problem-parts button.is-active{background:#effaf4;border-color:#28c779}.direct-repair-set{gap:14px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.direct-repair-set button{color:#fff;cursor:pointer;background:#7544e8;border:1px solid #dedbe6;border-radius:25px;width:92px;height:92px;font-size:27px;transition:all .2s}.direct-repair-set button.is-error{background:#ed637a}.direct-repair-set button.is-removed{opacity:.18;transform:scale(.8)}.direct-repair-rule{color:#777381;background:#efedf3;border-radius:18px;padding:12px 22px;font-size:11px;font-weight:850;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.direct-slot-sequence{align-items:center;gap:12px;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.direct-slot-sequence>*{color:#7241e2;background:#eee9ff;border-radius:21px;place-items:center;width:76px;height:76px;font-size:26px;display:grid}.direct-slot-sequence button{color:#9994a2;cursor:pointer;background:#fff;border:3px dashed #aaa4b5}.direct-slot-sequence button.is-filled{color:#fff;background:#28c779;border-style:solid;border-color:#28c779}.direct-slot-palette,.direct-copy-palette,.direct-compose-palette{gap:10px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.direct-slot-palette button,.direct-copy-palette button,.direct-compose-palette button{color:#fff;cursor:pointer;background:#7544e8;border:0;border-radius:17px;width:58px;height:58px;font-size:20px}.direct-copy-panels{grid-template-columns:1fr 1fr;gap:16px;display:grid;position:absolute;inset:6% 5% 27%}.direct-copy-model,.direct-copy-work{background:#fff;border:1px solid #dedbe6;border-radius:22px;position:relative}.direct-copy-model i,.direct-copy-work button{background:#7544e8;border:0;border-radius:19px;width:64px;height:64px;position:absolute}.direct-copy-model i:first-child,.direct-copy-work .piece-0{top:18%;left:28%}.direct-copy-model i:nth-child(2),.direct-copy-work .piece-1{background:#22bbc8;top:42%;left:49%}.direct-copy-model i:nth-child(3),.direct-copy-work .piece-2{background:#ffc83d;top:53%;left:16%}.direct-copy-work button{color:#fff;cursor:pointer;font-size:18px}.direct-compose-shape{width:260px;height:165px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.direct-compose-shape button{color:#aaa5b2;cursor:pointer;background:#f0eef3;border:2px dashed #b9b4c3;border-radius:28px;width:105px;height:105px;font-size:25px;transition:all .2s;position:absolute}.direct-compose-shape button:first-child{top:0;left:0}.direct-compose-shape button:nth-child(2){top:0;right:0}.direct-compose-shape button:nth-child(3){bottom:0;left:77px}.direct-compose-shape button.is-set{color:#fff;background:#7544e8;border-style:solid;border-color:#7544e8;box-shadow:0 8px 18px #412a812e}.direct-constraint-banner{gap:8px;display:flex;position:absolute;top:8%;left:50%;transform:translate(-50%)}.direct-constraint-banner span{color:#6b3cd6;background:#eee9ff;border-radius:999px;padding:8px 13px;font-size:10px;font-weight:850}.direct-constraint-path{border:2px dashed #d2cedb;border-radius:22px;align-items:center;gap:9px;height:85px;padding:10px;display:flex;position:absolute;top:33%;left:8%;right:8%}.direct-constraint-path button,.direct-constraint-tools button{color:#fff;cursor:pointer;background:#7544e8;border:0;border-radius:17px;min-width:110px;min-height:58px;padding:5px 11px;font-size:10px;font-weight:800}.direct-constraint-tools{gap:8px;display:flex;position:absolute;bottom:19px;left:50%;transform:translate(-50%)}.direct-constraint-tools button{color:#2f260e;background:#ffc83d}.direct-linked-panels{grid-template-columns:1fr 1fr;gap:16px;display:grid;position:absolute;inset:6% 5% 28%}.direct-linked-panels>svg,.direct-linked-bars{background:#fff;border:1px solid #dedbe6;border-radius:22px;width:100%;height:100%}.direct-linked-panels>svg path{fill:none;stroke:#777380;stroke-width:2px}.direct-linked-panels>svg circle{fill:#7544e8;stroke:#fff;stroke-width:4px;transition:all .2s}.direct-linked-bars{box-sizing:border-box;justify-content:center;align-items:end;gap:6px;padding:15px;display:flex}.direct-linked-bars i{background:#d8d4df;border-radius:5px 5px 0 0;width:18px;height:22%;transition:all .2s}.direct-linked-bars i.is-active{height:calc(25% + var(--bar-index,0) * 5%);background:#28c779}.direct-linked-views .direct-big-range,.direct-axis .direct-big-range,.direct-representation .direct-big-range{position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.direct-number-axis{grid-template-columns:repeat(11,1fr);align-items:center;height:90px;display:grid;position:absolute;top:42%;left:8%;right:8%;transform:translateY(-50%)}.direct-number-axis>span{background:#45424c;border-radius:4px;height:4px;position:absolute;top:34px;left:0;right:0}.direct-number-axis>b{text-align:center;padding-top:50px;font-size:10px;position:relative}.direct-number-axis>b:before{content:"";background:#55525d;width:2px;height:18px;position:absolute;top:27px;left:50%}.direct-number-axis>i{z-index:2;left:calc(var(--axis) * 10%);background:#7544e8;border:5px solid #fff;border-radius:50%;width:48px;height:48px;transition:all .2s;position:absolute;top:11px;transform:translate(-50%);box-shadow:0 5px 14px #432a8740}.direct-representation-panels{align-items:center;gap:36px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.fraction-disc{background:conic-gradient(#7544e8 0 var(--share),#ebe8f0 var(--share) 100%);border-radius:50%;width:125px;height:125px;box-shadow:0 8px 18px #372a5a1a}.direct-representation-panels>span{font-size:28px}.fraction-bar{background:#eeeaf2;border:2px solid #605d67;border-radius:14px;width:210px;height:65px;overflow:hidden}.fraction-bar i{width:var(--share);background:linear-gradient(90deg,#7444ee,#9f7df5);height:100%;transition:all .2s;display:block}.direct-progressive-scene{background:linear-gradient(#e6f7ff 0 54%,#e4f3dc 54%);border-radius:26px;position:absolute;inset:5% 3% 23%;overflow:hidden}.direct-progressive-scene .lake{background:linear-gradient(145deg,#7de2e7,#27bac7);border-radius:50%;width:150px;height:70px;position:absolute;bottom:8%;left:4%}.direct-progressive-scene .path{background:#fff;border:10px solid #d2cedb;border-left:0;border-right:0;height:42px;position:absolute;top:54%;left:-8%;right:-8%;transform:rotate(-8deg)}.direct-progressive-scene button{color:#fff;cursor:pointer;background:#7544e8;border:0;border-radius:50%;width:52px;height:52px;transition:all .25s;position:absolute;box-shadow:0 8px 17px #452c882e}.direct-progressive-scene button span{font-size:19px}.direct-progressive-scene .object-0{top:12%;left:16%}.direct-progressive-scene .object-1{top:42%;left:48%}.direct-progressive-scene .object-2{bottom:13%;right:19%}.direct-progressive-scene .object-3{bottom:8%;left:31%}.direct-progressive-scene .object-4{top:13%;right:8%}.direct-progressive-scene button.clue-quiet{opacity:.28;filter:grayscale()}.direct-progressive-scene button.is-found{background:#28c779;box-shadow:0 0 0 6px #28c7792e}.direct-clue-lens{color:#fff;cursor:pointer;background:#29282f;border:0;border-radius:18px;align-items:center;gap:9px;min-height:52px;padding:0 20px;font-weight:800;display:flex;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.direct-clue-lens i{border:3px solid #fff;border-radius:50%;width:24px;height:24px;position:relative}.direct-clue-lens i:after{content:"";background:#fff;width:10px;height:3px;position:absolute;bottom:-6px;right:-9px;transform:rotate(45deg)}.direct-paired-panels{grid-template-columns:1fr 1fr;gap:22px;display:grid;position:absolute;inset:7% 5% 22%}.direct-paired-panels label{background:#fff;border:1px solid #dedbe7;border-radius:25px;grid-template-columns:80px 1fr 48px;align-items:center;gap:12px;padding:15px 18px;display:grid;position:relative}.direct-paired-panels label>b{font-size:11px}.direct-paired-panels input{width:100%;min-height:54px}.direct-paired-panels output{color:#6737d2;background:#eee9ff;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.direct-liquid{background:#ece9f1;border-radius:8px;height:9px;position:absolute;bottom:10px;left:18px;right:18px;overflow:hidden}.direct-liquid i{width:var(--fill);background:linear-gradient(90deg,#28c779,#25bac6);height:100%;transition:all .2s;display:block}.direct-paired-result{width:180px;height:40px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.direct-paired-result i{transform-origin:50%;background:#3f3d47;border-radius:6px;height:5px;transition:all .2s;position:absolute;top:4px;left:0;right:0}.direct-paired-result span{background:#3f3d47;width:6px;height:33px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.direct-paired-result.leans-right i{transform:rotate(8deg)}.direct-paired-result.leans-left i{transform:rotate(-8deg)}@keyframes direct-pulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(8)}}@keyframes direct-cup-shuffle{0%,to{transform:translate(0)}50%{transform:translate(12px)}}@keyframes direct-draw{0%{stroke-dashoffset:620px}to{stroke-dashoffset:0}}@keyframes direct-shake{25%{transform:translate(4px,-3px)}60%{transform:translate(-3px,2px)}}@keyframes direct-packet{0%{transform:translate(0)}50%{transform:translate(235px)translateY(-60px)}to{transform:translate(470px)}}@container engine-preview (width<=600px){.engine-direct-surface{border-radius:25px;height:100%;max-height:330px}.direct-city-scene{inset:10px}.search-object{width:44px;height:44px}.direct-city-scene .building{transform:scale(.78)}.direct-scene-pair{gap:8px;inset:12px}.direct-mini-scene .house{transform:scale(.7)}.direct-mini-scene .tree{transform:scale(.75)}.direct-shadow-target{width:100px;height:100px;font-size:48px;left:8%}.direct-shadow-objects{gap:6px;right:3%}.direct-shadow-objects button,.direct-recall-row button{border-radius:17px;width:58px;height:58px;font-size:25px}.direct-rule-card{width:88%;min-height:70px;font-size:14px}.direct-recall-row{gap:6px;bottom:20px}.direct-repeat-strip{gap:3px}.direct-repeat-strip span{border-radius:14px;width:43px;height:58px;font-size:19px}.direct-repeat-strip>i{left:calc(var(--window-left) * 46px - 3px);width:86px;height:68px}.direct-object-cloud{gap:5px;width:36%;left:2%}.direct-object-cloud button{border-radius:15px;width:48px;height:48px}.direct-drop-layout{gap:6px;left:40%;right:2%}.direct-drop-layout>button{border-radius:18px}.direct-drop-layout>button strong{font-size:9px}.direct-drop-layout>button i{width:27px;height:27px}.direct-orbits{transform:translate(-50%,-50%)scale(.68)}.direct-table-grid{inset:22px 15px}.direct-merge-model{transform:translate(-50%,-50%)scale(.7)}.direct-build-track{gap:5px;left:3%;right:3%}.direct-build-track button{border-radius:15px;min-height:62px}.direct-block-tray,.direct-code-palette{justify-content:flex-start;gap:5px;left:3%;right:3%;overflow:auto}.direct-block-tray button,.direct-code-palette button{border-radius:15px;min-width:92px;min-height:54px;font-size:9px}.direct-proof .direct-block-tray{width:115px;left:auto;right:2%}.direct-proof .direct-build-track{left:5%;right:35%}.direct-node-grid{column-gap:80px;inset:10px 8px}.direct-node-grid button{border-radius:16px;min-width:110px;min-height:61px;padding:5px 8px}.direct-node-grid button i{width:34px;height:34px}.direct-node-grid button span{font-size:8px}.direct-view-toggle button{min-width:70px}.direct-live-bars{width:250px}.direct-case-track{gap:8px}.direct-case-track button{width:80px;height:85px}.direct-filter-world{left:3%;right:3%}.direct-switch-bank{gap:5px}.direct-switch-bank button{min-width:120px;min-height:52px;padding:0 9px;font-size:9px}.direct-characters{gap:6px;inset:14px 7px}.direct-characters button{border-radius:18px;min-height:170px}.direct-characters button i{width:55px;height:55px}.direct-candidate-row{gap:5px;left:2%;right:2%}.direct-candidate-row button{border-radius:18px;min-height:120px}.direct-candidate-row button i{width:44px;height:44px}.direct-tree{inset:14px 10px}.direct-tree button{min-width:95px}.direct-route svg{transform:scaleX(.96)}.direct-number-blocks{gap:2px;left:3%;right:3%}.direct-number-blocks button{border-radius:8px;height:68px}.direct-ruler{height:74px;left:4%;right:4%}.direct-geometry-plane{left:3%;right:3%}.direct-tile-board{transform:translate(-50%,-50%)skewY(-4deg)scale(.75)}.direct-coordinate-plane{inset:5px}.direct-count-scene{inset:20px 55px}.direct-equation{gap:5px}.direct-equation span{border-radius:14px;width:46px;height:50px;font-size:19px}.direct-equation button{width:44px;height:44px}.direct-equation-balance{width:285px}.direct-function-flow{gap:10px}.direct-function-flow output{border-radius:18px;width:62px;height:62px}.direct-function-flow span{width:125px}.direct-program-workspace,.direct-algorithm-canvas{gap:7px;left:2%;right:2%}.direct-code-stack{padding:8px}.direct-code-stack>span,.direct-code-stack>button{font-size:8px}.direct-event-columns{column-gap:95px;inset:12px 5px}.direct-event-columns button{border-radius:16px;min-width:120px;min-height:58px;padding:5px 8px;font-size:9px}.direct-debugger{grid-template-columns:1fr 100px;gap:6px;inset:10px}.direct-debugger aside button{padding:0 7px;font-size:9px}.direct-trace-code{width:44%;left:2%}.direct-trace-world{left:49%;right:2%}.direct-state-nodes button{min-width:90px;font-size:9px}.direct-memory-table{width:88%}.direct-test-table{inset:12px 8px}.direct-security-flow{grid-template-columns:50px 1fr 80px 1fr 50px;left:2%;right:2%}.direct-security-flow>button{min-width:78px}.direct-dataset{left:3%;right:3%}.direct-code-editor{width:60%;left:2%}.direct-code-output{width:33%;right:2%}.direct-test-cases{gap:4px;left:2%;right:2%}.direct-test-cases button{border-radius:15px;min-height:75px}}@media (height<=720px){.engine-direct-surface{height:clamp(205px,34vh,290px)}}@container engine-preview (width<=600px){.direct-progressive-scene{left:2%;right:2%}.direct-clue-lens{min-height:48px;font-size:9px}.direct-paired-panels{gap:6px;left:2%;right:2%}.direct-paired-panels label{grid-template-columns:1fr;padding:7px}.direct-paired-panels output{width:32px;height:32px;position:absolute;top:5px;right:5px}.direct-liquid{display:none}.direct-orbits{transform:translate(-50%,-50%)scale(.78)}.direct-number-blocks{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);top:12%}.direct-number-blocks button{min-width:48px;height:54px;min-height:48px}.direct-mini-scene .tree{transform:none}}.direct-mini-scene .tree{width:48px;min-height:64px}.direct-logic-grid button,.direct-truth-grid button{min-width:48px;min-height:48px}.direct-test-table button{min-height:48px}.direct-scatter button{background:radial-gradient(circle,#bbb6c5 0 8px,#0000 9px);width:48px;height:48px}.direct-scatter button.is-highlighted{box-shadow:none;background:radial-gradient(circle,#7544e8 0 10px,#7444ee24 11px 18px,#0000 19px);transform:translate(-50%,-50%)scale(1.08)}@media (prefers-reduced-motion:reduce){.engine-direct-surface *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--engine-ink:#1f2030;--engine-muted:#77798b;--engine-line:#e5e4ec;--engine-purple:#7342ee;--engine-green:#28c779;--engine-yellow:#ffc83d}.engine-lab-page{min-height:100svh;color:var(--engine-ink);box-sizing:border-box;background:radial-gradient(circle at 9% 8%,#7950ff1f,#0000 28%),radial-gradient(circle at 91% 7%,#ffc7461f,#0000 25%),radial-gradient(circle at 88% 88%,#37cddc1c,#0000 28%),#fbfbfd;padding:24px clamp(18px,4vw,64px) 40px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.engine-lab-header{justify-content:space-between;align-items:center;max-width:1440px;height:52px;margin:0 auto;display:flex}.engine-brand{color:var(--engine-ink);letter-spacing:-.05em;font-size:clamp(22px,2vw,30px);text-decoration:none}.engine-brand strong{font-weight:800}.engine-profile{align-items:center;gap:10px;display:flex}.engine-header-actions{align-items:center;gap:12px;display:flex}.engine-sound-toggle{color:#aaa8b5;cursor:pointer;background:#ffffffbf;border:1px solid #dedde7;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.engine-sound-toggle.is-active{color:var(--engine-purple);background:#fff;box-shadow:0 5px 18px #4e35961a}.engine-sound-toggle svg{fill:currentColor;width:21px}.engine-sound-toggle svg path:not(:first-child){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.engine-profile>div{width:42px;height:42px}.engine-profile span{display:grid}.engine-profile strong{font-size:14px}.engine-profile small{color:var(--engine-muted);font-size:11px}.engine-lab-toolbar{justify-content:space-between;align-items:end;gap:20px;max-width:1100px;margin:28px auto 10px;display:flex}.engine-demo-picker{grid-template-columns:44px minmax(240px,460px) 44px;align-items:end;gap:10px;display:grid}.engine-demo-picker>button{width:44px;height:44px;color:var(--engine-ink);cursor:pointer;background:#ffffffd1;border:1px solid #dedde7;border-radius:50%;font-size:20px}.engine-demo-picker label{gap:5px;display:grid}.engine-demo-picker label>span{color:var(--engine-purple);letter-spacing:.16em;font-size:9px;font-weight:800}.engine-demo-picker select{width:100%;height:44px;color:var(--engine-ink);background:#ffffffdb;border:1px solid #dedde7;border-radius:14px;padding:0 38px 0 14px;font:650 13px inherit}.engine-device-picker{background:#e9e8f0bf;border-radius:13px;padding:4px;display:flex}.engine-device-picker button{color:#777987;cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:36px;padding:0 14px;font-weight:700}.engine-device-picker button.is-active{color:var(--engine-ink);background:#fff;box-shadow:0 2px 10px #231f3314}.engine-lab-progress{background:#e8e7ee;border-radius:999px;max-width:1100px;height:3px;margin:12px auto 20px;overflow:hidden}.engine-lab-progress span{border-radius:inherit;background:linear-gradient(90deg,#7141ef,#9465ff);height:100%;transition:width .35s;display:block}.engine-preview-wrap{min-width:0;margin:0 auto;transition:max-width .35s}.engine-preview-wrap.device-fluid{max-width:1100px}.engine-preview-wrap.device-tablet{max-width:820px}.engine-preview-wrap.device-phone{max-width:390px}.engine-preview-surface{background:#ffffffdb;border:1px solid #dad8e4e6;border-radius:28px;height:min(680px,100svh - 245px);min-height:540px;transition:height .35s;overflow:hidden;box-shadow:0 24px 70px #31294e17;container:engine-preview/inline-size}.device-phone .engine-preview-surface{border-radius:34px;height:min(760px,100svh - 220px);min-height:620px}.interaction-engine{background:radial-gradient(circle at 15% 10%,#7648f60f,#0000 32%),radial-gradient(circle at 88% 12%,#ffc63b0f,#0000 28%),#fff;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;display:grid;overflow:hidden}.engine-copy{text-align:center;padding:clamp(24px,5vh,48px) 24px 12px}.engine-copy>span{color:var(--engine-purple);letter-spacing:.18em;font-size:9px;font-weight:850;display:block}.engine-copy h1{letter-spacing:-.045em;margin:8px 0 4px;font-size:clamp(25px,3.1vw,42px);line-height:1.05}.engine-copy p{max-width:560px;color:var(--engine-muted);margin:0 auto;font-size:clamp(13px,1.5vw,17px);line-height:1.4}.engine-stage{place-items:center;min-height:0;padding:clamp(10px,2.5vh,26px) clamp(16px,4vw,54px);display:grid;overflow:hidden}.engine-actions{border-top:1px solid #efedf3;grid-template-columns:110px 1fr 110px;align-items:center;gap:12px;min-height:78px;padding:12px clamp(20px,4vw,48px) 18px;display:grid}.engine-reset{color:#8a8996;cursor:pointer;background:0 0;border:0;min-height:48px;font-weight:700}.engine-check{background:var(--engine-yellow);color:#27231b;cursor:pointer;border:0;border-radius:18px;justify-self:end;width:66px;height:54px;font-size:24px;font-weight:900;transition:transform .16s,background .2s;box-shadow:0 8px 20px #ffc1263d}.engine-check:hover{transform:translateY(-2px)}.engine-check:active{transform:scale(.97)}.engine-result{color:#777987;justify-self:center;align-items:center;gap:8px;font-weight:750;display:flex}.engine-result i{background:#ecebf1;border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.engine-result.is-correct{color:#15985a}.engine-result.is-correct i{color:#fff;background:var(--engine-green)}.engine-result.is-retry{color:#9a6d00}.engine-contract-error{text-align:center;place-content:center;gap:8px;min-height:100%;padding:30px;display:grid}.engine-contract-error span{color:#a44}.engine-choice-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:clamp(12px,2vw,22px);width:min(680px,100%);display:grid}.engine-choice-grid.compact{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px;width:min(460px,100%)}.engine-choice-grid>button,.engine-piece-tray>button{cursor:pointer;touch-action:manipulation;background:#ffffffeb;border:1.5px solid #e2e0e9;border-radius:24px;place-items:center;min-width:74px;min-height:92px;transition:transform .18s,border-color .18s,box-shadow .18s,opacity .18s;display:grid;position:relative}.engine-choice-grid.compact>button{border-radius:20px;min-height:72px}.engine-choice-grid>button:hover,.engine-piece-tray>button:hover{border-color:#cabef9;transform:translateY(-3px);box-shadow:0 12px 25px #4f37a01a}.engine-choice-grid>button.is-selected,.engine-piece-tray>button.is-armed,.engine-choice-grid>button.is-armed{border-color:var(--engine-purple);box-shadow:0 0 0 3px #7342ee1f}.engine-choice-grid>button.is-paired{opacity:.38}.engine-checkmark{background:var(--engine-purple);color:#fff;opacity:0;border-radius:50%;place-items:center;width:23px;height:23px;transition:all .18s;display:grid;position:absolute;top:8px;right:8px;transform:scale(.6)}.is-selected>.engine-checkmark{opacity:1;transform:scale(1)}.engine-visual-item{--tone-a:#bca3ff;--tone-b:#7140e8;filter:drop-shadow(0 10px 11px #37286e26);justify-content:center;align-items:center;gap:5px;width:74px;height:74px;display:inline-flex}.engine-visual-item.is-compact{width:48px;height:48px}.engine-visual-item>i{background:linear-gradient(145deg,var(--tone-a),var(--tone-b));border-radius:15px;width:60%;height:60%;display:block;box-shadow:inset 0 1px 1px #ffffffa6}.engine-visual-item.tone-purple{--tone-a:#b498ff;--tone-b:#7040e8}.engine-visual-item.tone-blue{--tone-a:#91b9ff;--tone-b:#4778e7}.engine-visual-item.tone-cyan{--tone-a:#85ebed;--tone-b:#20bcca}.engine-visual-item.tone-yellow{--tone-a:#ffe17b;--tone-b:#f5b819}.engine-visual-item.tone-pink{--tone-a:#ffa7d6;--tone-b:#e75da6}.engine-visual-item.tone-green{--tone-a:#83e2b2;--tone-b:#24bd75}.engine-visual-item.tone-neutral{--tone-a:#e2e3e8;--tone-b:#adb0ba;filter:none}.engine-visual-item.shape-circle>i{border-radius:50%}.engine-visual-item.shape-triangle>i{clip-path:polygon(50% 4%,96% 91%,4% 91%);border-radius:0}.engine-visual-item.shape-diamond>i{border-radius:8px;transform:rotate(45deg)scale(.76)}.engine-visual-item.shape-hexagon>i{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);border-radius:0}.engine-visual-item.shape-star>i{clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%);border-radius:0}.engine-visual-item.shape-arrow>i{clip-path:polygon(0 34%,58% 34%,58% 8%,100% 50%,58% 92%,58% 66%,0 66%);border-radius:0}.engine-visual-item.shape-bar{align-items:end}.engine-visual-item.shape-bar>i{width:12px;height:calc(18% + var(--bar-index,0) * 8%);border-radius:6px;min-height:18px}.engine-visual-item.shape-dot{flex-wrap:wrap;align-content:center}.engine-visual-item.shape-dot>i{border-radius:50%;width:20%;height:20%}.engine-visual-item.pattern-dots>i{background-color:var(--tone-b);background-image:radial-gradient(#ffffffd1 1.8px, transparent 2px), linear-gradient(145deg,var(--tone-a),var(--tone-b));background-size:10px 10px,100% 100%}.engine-visual-item.pattern-stripes>i{background-image:repeating-linear-gradient(135deg,#ffffffb8 0 5px,transparent 5px 11px), linear-gradient(145deg,var(--tone-a),var(--tone-b))}.engine-placement{gap:clamp(18px,4vh,36px);width:min(760px,100%);display:grid}.engine-piece-tray{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:106px;display:flex}.engine-piece-tray>button{touch-action:none;background:0 0;min-height:84px}.engine-zone-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.engine-zone{color:#777987;cursor:pointer;background:#f9f9fcc7;border:2px dashed #d8d6e2;border-radius:28px;align-content:center;justify-items:center;gap:10px;min-height:145px;transition:all .18s;display:grid}.engine-zone.is-ready{background:#faf8ff;border-color:#9b78f5;transform:scale(1.012)}.engine-zone>strong{font-size:13px}.engine-zone>div{justify-content:center;align-items:center;gap:3px;min-height:52px;display:flex}.engine-zone>div>span{cursor:pointer}.engine-zone.shape-circle{border-radius:999px}.engine-placement.is-venn .engine-zone-grid{grid-template-columns:repeat(3,1fr);gap:0}.engine-placement.is-venn .engine-zone{aspect-ratio:1;border-style:solid;border-width:2px;min-width:0}.engine-placement.is-venn .engine-zone:nth-child(2){transform:translate(-16%)}.engine-placement.is-venn .engine-zone:nth-child(3){border-color:#28c77980;transform:translate(-32%)}.engine-drag-ghost{z-index:9999;pointer-events:none;opacity:.9;position:fixed;transform:translate(-50%,-50%)scale(1.08)}.engine-sequence-board,.engine-pattern-board{gap:28px;width:min(720px,100%);display:grid}.engine-slots,.engine-model-sequence{justify-content:center;align-items:center;gap:10px;min-height:92px;display:flex}.engine-slots>button,.engine-model-sequence>i{color:#b0aeba;cursor:pointer;background:#fbfbfd;border:1.5px dashed #cbc8d6;border-radius:20px;place-items:center;width:clamp(58px,8vw,82px);height:clamp(66px,9vw,90px);font-weight:800;display:grid}.engine-slots>button.is-filled{background:#fff;border-style:solid;border-color:#d9d3ee}.engine-slots>button>span:not(.engine-visual-item){font-size:13px}.engine-model-sequence{border-bottom:1px solid #eeecf2;min-height:62px;padding-bottom:18px}.engine-model-sequence>i{border-radius:15px;width:46px;height:46px}.engine-pattern-board .engine-piece-tray{min-height:78px}.engine-pair-board{gap:22px;width:min(650px,100%);display:grid}.engine-pair-lines{justify-content:center;gap:12px;min-height:32px;display:flex}.engine-pair-lines span{color:#858493;align-items:center;gap:6px;font-size:11px;display:flex}.engine-pair-lines i{width:22px;height:22px;color:var(--engine-purple);background:#eee9ff;border-radius:50%;place-items:center;font-style:normal;font-weight:800;display:grid}.engine-transform-board{justify-items:center;gap:30px;display:grid}.engine-transform-target{background:linear-gradient(145deg,#faf9fd,#f1eff7);border-radius:42px;place-items:center;width:190px;height:190px;display:grid;position:relative}.engine-transform-target>.engine-visual-item:first-child{opacity:.42;transform:rotate(90deg)scaleX(-1)}.engine-transform-target>span{place-items:center;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute}.engine-tool-row{gap:12px;display:flex}.engine-tool-row button{cursor:pointer;background:#fff;border:1px solid #dedce7;border-radius:18px;grid-template-columns:28px 1fr;align-items:center;gap:4px;width:96px;min-height:64px;padding:0 12px;display:grid}.engine-tool-row svg{fill:none;width:28px;stroke:var(--engine-purple);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.engine-tool-row small{color:#5e5d6a;font-weight:750}.engine-path-board{--engine-columns:3;grid-template-columns:repeat(var(--engine-columns),1fr);gap:clamp(18px,5vw,40px);width:min(480px,100%);display:grid;position:relative}.engine-path-board>button{aspect-ratio:1;cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:relative}.engine-path-board>button:after{content:"";z-index:0;background:#dfdde6;width:calc(100% + 30px);height:4px;position:absolute;top:50%;left:58%}.engine-path-board>button:nth-child(3n):after,.engine-path-board>button:last-child:after{display:none}.engine-path-board .engine-visual-item{z-index:1;width:58px;height:58px;transition:transform .2s;position:relative}.engine-path-board>button.is-on-path .engine-visual-item{transform:scale(1.12)}.engine-path-board>button.is-on-path:after{background:var(--engine-green)}.engine-path-board>button.is-blocked{opacity:.5;cursor:not-allowed}.engine-zoom-board{justify-items:center;gap:24px;width:min(620px,100%);display:grid}.engine-zoom-window{background:radial-gradient(circle,#fff,#f5f3fa);border:1px solid #e1dfe8;border-radius:34px;place-items:center;width:min(420px,100%);height:210px;display:grid;overflow:hidden}.engine-zoom-window>div{justify-content:space-around;width:260px;transition:transform .2s;display:flex}.engine-zoom-window button{cursor:pointer;background:0 0;border:0;place-items:center;min-width:48px;min-height:48px;display:grid}.engine-zoom-window button.is-selected{outline:3px solid var(--engine-purple);border-radius:50%}.engine-zoom-board label{align-items:center;gap:14px;width:min(380px,90%);display:flex}.engine-zoom-board label svg{fill:none;width:28px;stroke:var(--engine-purple);stroke-width:2px}.engine-zoom-board input,.engine-simulation-board input,.engine-resource-board input{appearance:none;cursor:grab;touch-action:none;background:0 0;width:100%;min-height:48px;margin:0}.interaction-engine input[type=range]:active{cursor:grabbing}.interaction-engine input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#e6e2f0,#d8d4e2);border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #251f3a14}.interaction-engine input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(145deg,#8e63f5,#6735dd);border:4px solid #fff;border-radius:50%;width:38px;height:38px;margin-top:-15px;box-shadow:0 5px 14px #5233a647}.interaction-engine input[type=range]::-moz-range-track{background:linear-gradient(90deg,#e6e2f0,#d8d4e2);border:0;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #251f3a14}.interaction-engine input[type=range]::-moz-range-thumb{background:linear-gradient(145deg,#8e63f5,#6735dd);border:4px solid #fff;border-radius:50%;width:30px;height:30px;box-shadow:0 5px 14px #5233a647}.interaction-engine input[type=range]:focus-visible{outline-offset:2px;border-radius:999px;outline:3px solid #7342ee47}.engine-predict-board{justify-items:center;gap:18px;width:min(560px,100%);display:grid}.engine-machine{background:#f5f2fc;border-radius:34px;place-items:center;width:190px;height:118px;display:grid;position:relative;overflow:hidden}.engine-machine>span{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.engine-machine.has-run>span{transform:rotate(90deg)translateY(-12px)}.engine-machine>i{background:var(--engine-yellow);opacity:0;border-radius:50%;width:10px;height:10px;position:absolute;top:24px;right:30px}.engine-machine.has-run>i{animation:.55s engine-pop}.engine-run{color:#fff;cursor:pointer;background:#29292d;border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-width:150px;min-height:52px;font-weight:800;display:flex}.engine-run:disabled{opacity:.3}.engine-run svg{fill:currentColor;width:20px}.engine-balance-board{gap:4px;width:min(700px,100%);display:grid}.engine-balance{place-items:end center;height:90px;display:grid;position:relative}.engine-balance>i{clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:#42434b;width:8px;height:64px}.engine-balance>b{width:min(520px,86%);height:5px;transform:rotate(var(--balance-angle));background:#42434b;border-radius:99px;transition:transform .3s;position:absolute;bottom:44px}.engine-balance>b:before,.engine-balance>b:after{content:"";border:3px solid #777987;border-top:0;border-radius:0 0 24px 24px;width:110px;height:32px;position:absolute;top:8px}.engine-balance>b:before{left:-12px}.engine-balance>b:after{right:-12px}.engine-balance-board .engine-placement{display:block}.engine-balance-board .engine-piece-tray{min-height:80px}.engine-balance-board .engine-zone-grid{grid-template-columns:1fr 1fr}.engine-balance-board .engine-zone{background:0 0;border:0;min-height:105px}.engine-balance-values{color:#777987;justify-content:space-around;font-weight:850;display:flex}.engine-simulation-board{justify-items:center;gap:24px;width:min(570px,100%);display:grid}.engine-bar-compare{gap:18px;width:100%;display:grid}.engine-bar-compare>span{--bar-value:50%;width:var(--bar-value);background:linear-gradient(90deg,#ddd9ea,#c5bfd6);border-radius:14px;height:45px;transition:width .18s;display:block}.engine-bar-compare>span.is-live{background:linear-gradient(90deg,#7b4af0,#9d75f7)}.engine-simulation-board>strong{width:64px;height:52px;color:var(--engine-purple);background:#f1edff;border-radius:17px;place-items:center;font-size:24px;display:grid}.engine-matrix-board{justify-items:center;gap:28px;display:grid}.engine-matrix{background:#f7f6fa;border-radius:28px;grid-template-rows:repeat(2,88px);grid-template-columns:repeat(3,88px);gap:8px;padding:12px;display:grid}.engine-matrix>*{background:#fff;border-radius:18px;place-items:center;display:grid}.engine-missing{color:var(--engine-purple);border:2px dashed #c9baf8;font-size:28px;font-weight:850}.engine-resource-board{justify-items:center;gap:25px;width:min(560px,100%);display:grid}.engine-resource-total{grid-template-columns:repeat(10,1fr);gap:7px;width:100%;display:grid}.engine-resource-total i{aspect-ratio:1;background:#6f42e7;border-radius:8px;transition:background .2s,transform .2s}.engine-resource-total i.is-second{background:#34c7cd}.engine-resource-total i:hover{transform:translateY(-3px)}.engine-resource-labels{justify-content:space-around;width:100%;display:flex}.engine-resource-labels span{align-items:center;gap:8px;display:flex}.engine-resource-labels b{font-size:24px}.engine-universal{grid-template-rows:minmax(128px,.75fr) minmax(160px,1fr);place-items:center;gap:clamp(10px,2vh,22px);width:min(820px,100%);max-height:100%;display:grid}.engine-universal-controls{place-items:center;width:100%;min-height:0;display:grid}.engine-universal .engine-placement{gap:12px}.engine-universal .engine-piece-tray{min-height:72px}.engine-universal .engine-zone{min-height:92px}.engine-universal .engine-sequence-board{gap:14px}.engine-universal.action-move,.engine-universal.action-construct{grid-template-rows:112px minmax(158px,1fr);gap:8px}.engine-universal.action-move .engine-causal-model,.engine-universal.action-construct .engine-causal-model{height:112px}.engine-universal.action-move .engine-piece-tray,.engine-universal.action-construct .engine-piece-tray{min-height:62px}.engine-universal.action-move .engine-piece-tray>button,.engine-universal.action-construct .engine-piece-tray>button{min-height:64px}.engine-universal.action-move .engine-zone,.engine-universal.action-construct .engine-zone{min-height:76px}.engine-universal.action-plan{grid-template-rows:100px minmax(160px,1fr);gap:6px}.engine-universal.action-plan .engine-causal-model{height:100px}.engine-universal.action-plan .engine-sequence-board{gap:8px}.engine-universal.action-plan .engine-slots{min-height:64px}.engine-universal.action-plan .engine-slots>button{height:62px}.engine-universal.action-plan .engine-piece-tray,.engine-universal.action-plan .engine-piece-tray>button{min-height:62px}.engine-domain-mechanic{grid-template-rows:minmax(132px,.82fr) minmax(150px,1fr);place-items:center;gap:clamp(10px,2vh,22px);width:min(860px,100%);max-height:100%;display:grid}.engine-domain-controls{place-items:center;width:100%;min-height:0;display:grid}.engine-program-model,.engine-logic-runtime{background:radial-gradient(circle at 14% 14%,#794ef31a,#0000 38%),radial-gradient(circle at 88% 12%,#ffc83d1a,#0000 34%),#fcfcfe;border:1px solid #dedbe8eb;border-radius:30px;width:min(610px,100%);height:clamp(142px,22vh,198px);position:relative;overflow:hidden;box-shadow:0 16px 38px #30265812}.engine-domain-choice{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:12px;width:min(650px,100%);display:grid}.engine-domain-choice.compact{grid-template-columns:repeat(3,minmax(0,1fr));width:min(500px,100%)}.engine-domain-choice>button,.engine-domain-pairs>button,.engine-domain-tray>button,.engine-domain-slots>button{min-width:0;min-height:72px;color:var(--engine-ink);cursor:pointer;touch-action:manipulation;background:#fff;border:1.5px solid #e3e0ea;border-radius:19px;transition:transform .18s,border-color .18s,box-shadow .18s,opacity .18s;position:relative}.engine-domain-choice>button:hover,.engine-domain-pairs>button:hover,.engine-domain-tray>button:hover{border-color:#bba9f5;transform:translateY(-2px);box-shadow:0 10px 22px #4932911a}.engine-domain-choice>button.is-selected,.engine-domain-pairs>button.is-armed{border-color:var(--engine-purple);box-shadow:0 0 0 3px #7342ee1f}.engine-domain-pairs>button.is-paired{opacity:.62;background:#f5fff9;border-color:#bcebd2}.engine-domain-choice .engine-checkmark{top:6px;right:6px}.engine-domain-token{--token-a:#9470f2;--token-b:#6030cf;box-sizing:border-box;justify-content:center;align-items:center;gap:9px;min-width:0;min-height:50px;padding:8px 11px;display:flex}.engine-domain-token i{background:linear-gradient(145deg,var(--token-a),var(--token-b));width:14px;height:14px;box-shadow:0 3px 8px color-mix(in srgb,var(--token-b) 25%,transparent);border-radius:5px;flex:0 0 14px}.engine-domain-token b{color:#34333e;text-overflow:ellipsis;min-width:0;font-size:13px;line-height:1.18;overflow:hidden}.engine-domain-token.role-code{justify-content:flex-start;font-family:SFMono-Regular,Consolas,monospace}.engine-domain-token.role-code i{clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,12% 50%);border-radius:3px}.engine-domain-token.role-number b{color:#4c2db8;font-variant-numeric:tabular-nums;font-size:24px}.engine-domain-token.role-data i{border-radius:50%}.engine-domain-token.role-state i{box-shadow:0 0 0 4px color-mix(in srgb,var(--token-a) 20%,transparent);border-radius:50%}.engine-domain-token.tone-cyan{--token-a:#71dce2;--token-b:#20aebc}.engine-domain-token.tone-yellow{--token-a:#ffdd73;--token-b:#efad17}.engine-domain-token.tone-blue{--token-a:#83aaf6;--token-b:#3d6ed7}.engine-domain-token.tone-green{--token-a:#77dda8;--token-b:#22ae69}.engine-domain-token.tone-pink{--token-a:#f595c9;--token-b:#d9509b}.engine-domain-token.is-compact{min-height:42px;padding:6px 8px}.engine-domain-token.is-compact b{font-size:11px}.engine-domain-sequence{gap:13px;width:min(700px,100%);display:grid}.engine-domain-slots,.engine-domain-tray{justify-content:center;align-items:stretch;gap:8px;min-height:72px;display:flex}.engine-domain-slots>button{background:#faf9fc;border-style:dashed;flex:1 1 0;max-width:190px}.engine-domain-slots>button.is-filled{background:#fff;border-style:solid;border-color:#cfc4f1}.engine-domain-slots>button>span:not(.engine-domain-token){color:#9995a5;background:#eeebf4;border-radius:50%;place-items:center;width:30px;height:30px;margin:auto;font-size:12px;font-weight:850;display:grid}.engine-domain-tray{flex-wrap:wrap;min-height:62px}.engine-domain-tray>button{flex:0 155px;min-height:58px}.engine-domain-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;width:min(680px,100%);display:grid}.engine-domain-pairs>button{min-height:61px}.engine-domain-experiment{justify-items:center;gap:12px;width:min(620px,100%);display:grid}.engine-truth-controls{justify-items:center;gap:12px;width:min(510px,100%);display:grid}.engine-truth-controls>div{gap:8px;display:flex}.engine-truth-controls>div button{color:#a09ca8;cursor:pointer;background:#faf9fc;border:1.5px dashed #d1ccd9;border-radius:16px;width:58px;height:58px;font-size:18px;font-weight:850}.engine-truth-controls>div button.is-filled{color:#6031ce;background:#f3eeff;border-style:solid;border-color:#9b7af0}.engine-truth-controls>span{gap:10px;display:flex}.engine-truth-controls>span>button{cursor:pointer;background:#fff;border:1px solid #ddd9e6;border-radius:16px;min-width:110px;min-height:52px}.engine-code-writing{gap:6px;width:min(560px,100%);display:grid}.engine-code-writing label{color:#767381;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.engine-code-writing textarea{resize:none;color:#f5f4fa;box-sizing:border-box;caret-color:#ffd05d;background:#292a34;border:1.5px solid #4d4c57;border-radius:18px;outline:0;width:100%;min-height:118px;padding:15px 17px;font:650 13px/1.55 SFMono-Regular,Consolas,monospace;box-shadow:0 12px 25px #24203624}.engine-code-writing textarea:focus{border-color:#8c62ec;box-shadow:0 0 0 4px #7342ee1f,0 12px 25px #24203624}.engine-code-runtime{box-sizing:border-box;grid-template-columns:1fr .9fr;align-items:center;gap:26px;padding:20px 28px;display:grid}.engine-code-editor{color:#f5f4fa;background:#292a34;border:1px solid #e2deed;border-radius:18px;gap:7px;padding:13px 15px;font:650 12px/1.3 SFMono-Regular,Consolas,monospace;display:grid;box-shadow:0 10px 24px #231f3724}.engine-code-editor span{background:#ffffff0a;border-radius:6px;align-items:center;min-height:22px;padding:0 8px;display:flex}.engine-code-editor b{color:#76dde1}.engine-code-editor .is-loop{color:#ffd264;border-left:3px solid #8b62ee;margin-left:12px}.engine-code-editor .is-loop b{color:#bd9cff;margin-right:6px}.engine-robot-grid{--cell:38px;grid-template-columns:repeat(5,var(--cell));justify-content:center;gap:4px;display:grid;position:relative}.engine-robot-grid i{width:var(--cell);height:var(--cell);background:#f0eef6;border-radius:10px;box-shadow:inset 0 0 0 1px #e0dce9}.engine-robot-grid b,.engine-robot-grid em{place-items:center;width:26px;height:26px;font-style:normal;transition:left .42s cubic-bezier(.2,.8,.2,1),transform .42s;display:grid;position:absolute;top:8px}.engine-robot-grid b{left:calc(50% - 103px + min(var(--robot-step), 4) * 42px);color:#6836dd;transform:rotate(calc(var(--robot-step) * 45deg))}.engine-robot-grid em{color:#f1ae13;right:calc(50% - 103px)}.engine-code-runtime.is-running .engine-code-editor .is-loop{animation:.75s engine-code-pulse}.engine-network-runtime svg{width:100%;height:100%}.engine-network-runtime path{fill:none;stroke:#cac5d7;stroke-width:5px;stroke-linecap:round}.engine-network-runtime g circle{fill:#fff;stroke:#8a68e8;stroke-width:4px}.engine-network-runtime .packet{fill:#ffc83d;filter:drop-shadow(0 4px 5px #e0a10859)}.engine-network-runtime.is-running .packet{animation:1.2s cubic-bezier(.25,.8,.25,1) both engine-packet}.engine-network-runtime>span{color:#888592;font-size:10px;font-weight:750;position:absolute;bottom:15px}.engine-network-runtime>span:first-of-type{left:28px}.engine-network-runtime>span:last-of-type{right:24px}.engine-state-runtime{box-sizing:border-box;grid-template-columns:1.4fr .8fr;align-items:center;padding:24px 30px;display:grid}.engine-state-runtime>div{align-items:center;gap:9px;display:flex}.engine-state-runtime>div span{color:#797684;background:#fff;border:1.5px solid #d9d4e5;border-radius:16px;place-items:center;min-width:72px;min-height:46px;font-size:12px;font-weight:800;display:grid}.engine-state-runtime>div span.is-current{color:#6536d6;background:#f6f2ff;border-color:#8054ed}.engine-state-runtime.is-running>div span:nth-of-type(2){color:#169257;background:#f3fff8;border-color:#28c779}.engine-state-runtime ul{color:#fff;background:#2d2e37;border-radius:17px;gap:8px;margin:0;padding:12px;list-style:none;display:grid}.engine-state-runtime li{justify-content:space-between;gap:10px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.engine-state-runtime em{color:#ffd05a;font-style:normal}.engine-data-runtime{box-sizing:border-box;grid-template-columns:1fr 1.35fr;align-items:center;gap:25px;padding:18px 32px;display:grid}.engine-mini-table{text-align:center;background:#fff;border:1px solid #dedbe8;border-radius:14px;grid-template-columns:1fr 1fr;font-size:11px;display:grid;overflow:hidden}.engine-mini-table>span:not(.engine-data-row){color:#686571;background:#eeeaf8;padding:7px;font-weight:850}.engine-data-row{display:contents}.engine-data-row b,.engine-data-row i{border-top:1px solid #edeaf2;padding:7px;font-style:normal}.engine-data-row i.is-marked{color:#fff;background:#7749e9}.engine-data-bars{border-bottom:2px solid #aaa7b2;justify-content:center;align-items:flex-end;gap:10px;height:100px;display:flex}.engine-data-bars i{width:24px;height:var(--bar-height,38%);transform-origin:bottom;background:linear-gradient(#a98cf3,#7547e4);border-radius:8px 8px 2px 2px}.engine-data-bars i:nth-child(2){--bar-height:72%}.engine-data-bars i:nth-child(3){--bar-height:50%}.engine-data-bars i:nth-child(4){--bar-height:88%}.engine-data-runtime.is-running .engine-data-bars i{animation:.55s both engine-bar-rise}.engine-data-runtime.is-classifier .engine-data-bars i:nth-child(odd){background:linear-gradient(#75dce1,#21acba)}.engine-data-runtime.is-classifier .engine-data-bars i:nth-child(2n){background:linear-gradient(#f7a3ce,#d8529a)}.engine-event-runtime{box-sizing:border-box;grid-template-columns:1fr 1fr;align-content:center;gap:14px;padding:22px 28px;display:grid}.engine-event-runtime>div{align-items:center;gap:8px;display:flex}.engine-event-runtime span{background:#fff;border:1px solid #ddd9e8;border-radius:18px;flex:1;place-items:center;gap:4px;min-height:72px;display:grid}.engine-event-runtime span i{color:#7444e7;font-size:20px;font-style:normal}.engine-event-runtime span b{font-size:11px}.engine-event-runtime em{color:#a09ca9;font-style:normal}.engine-event-runtime.is-running span:last-child{border-color:#28c779;animation:.55s engine-event-fire;box-shadow:0 0 0 4px #28c7791a}.engine-debug-runtime{box-sizing:border-box;grid-template-columns:1.5fr .7fr;align-items:center;gap:20px;padding:18px 26px;display:grid}.engine-debug-code{color:#f4f2f8;background:#292a34;border-radius:16px;font:650 10px SFMono-Regular,Consolas,monospace;display:grid;overflow:hidden}.engine-debug-code span{grid-template-columns:25px 1fr 22px;align-items:center;min-height:29px;padding:0 8px;display:grid}.engine-debug-code span.is-current{background:#7c4fed4d}.engine-debug-code i{color:#777785;font-style:normal}.engine-debug-code em{color:#fff;background:#f05c76;border-radius:50%;place-items:center;width:17px;height:17px;font-style:normal;display:grid}.engine-debug-runtime aside{background:#fff;border:1px solid #e1deea;border-radius:18px;align-content:center;place-items:center;gap:5px;min-height:110px;display:grid}.engine-debug-runtime aside b{color:#7442e4;font-size:10px}.engine-debug-runtime aside span{color:#888592;font-size:9px}.engine-debug-runtime aside strong{font-size:30px}.engine-test-runtime{box-sizing:border-box;grid-template-columns:1fr;align-content:center;padding:20px 38px;display:grid}.engine-test-runtime header,.engine-test-runtime>div{text-align:center;border-bottom:1px solid #ebe8f0;grid-template-columns:1fr 1fr 60px;align-items:center;min-height:31px;font-size:10px;display:grid}.engine-test-runtime header{color:#898692;text-transform:uppercase;font-size:8px}.engine-test-runtime i{color:#9a96a4;background:#efedf3;border-radius:50%;justify-self:center;place-items:center;width:21px;height:21px;font-style:normal;font-weight:900;display:grid}.engine-test-runtime.is-running>div i{color:#fff;background:#28c779}.engine-test-runtime.is-running>div:last-child i{background:#efb52c}.engine-truth-runtime{box-sizing:border-box;grid-template-columns:1fr;align-content:center;padding:15px 50px;display:grid}.engine-truth-runtime header,.engine-truth-runtime>div{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.engine-truth-runtime header{color:#fff;background:#34343d;border-radius:12px 12px 0 0;padding:7px 0;font-size:10px}.engine-truth-runtime>div span{border:1px solid #ebe8f0;border-top:0;padding:5px;font-size:10px}.engine-truth-runtime span.is-known{color:#fff;background:#7950e6}.engine-security-shield{color:#fff;z-index:2;background:#28c779;border-radius:50% 50% 44% 44%;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:calc(50% - 23px);left:calc(50% - 23px);box-shadow:0 7px 18px #1dae6547}.engine-network-runtime.is-security:not(.is-running) .packet{fill:#ee657d}.engine-network-runtime.is-security.is-running .packet{fill:#28c779}.engine-calibration-runtime{box-sizing:border-box;grid-template-columns:1fr 1fr;place-items:center;padding:18px 45px;display:grid}.engine-calibration-runtime>div{border:10px solid #ece9f2;border-bottom-color:#7545e7;border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:relative}.engine-calibration-runtime>div>i{transform-origin:50% 100%;width:4px;height:42px;transform:rotate(var(--needle));background:#292933;border-radius:4px;transition:transform .3s;position:absolute;bottom:50%;left:50%}.engine-calibration-runtime>div b{margin-top:48px}.engine-calibration-runtime>span{border-bottom:3px solid #4c4b55;align-items:flex-end;gap:8px;width:150px;height:70px;display:flex}.engine-calibration-runtime>span i{background:#d5d1df;border-radius:5px 5px 0 0;flex:1;height:30%}.engine-calibration-runtime>span i:nth-child(2){height:55%}.engine-calibration-runtime>span i:nth-child(3){background:#ffc83d;height:85%}.engine-calibration-runtime>span i:nth-child(4){height:65%}.engine-calibration-runtime>span i:nth-child(5){height:40%}.engine-measure-runtime{box-sizing:border-box;grid-template-columns:1fr 70px;align-items:center;gap:20px;padding:28px 34px;display:grid}.engine-ruler{background:linear-gradient(#fff8d9,#ffefaa);border-bottom:8px solid #ffd25d;align-items:end;height:70px;display:flex;position:relative}.engine-ruler>i{border-left:2px solid #605e67;flex:1;height:34%;position:relative}.engine-ruler>i:nth-child(odd){height:55%}.engine-ruler b{font-size:8px;position:absolute;top:-18px;left:-5px}.engine-ruler>span{left:calc(var(--measure-value) * 9.5%);background:#7545e7;border-radius:4px;width:5px;height:78px;transition:left .25s;position:absolute;bottom:0}.engine-measure-runtime output{color:#6234d0;background:#f0ebff;border-radius:16px;place-items:center;width:60px;height:54px;font-size:22px;font-weight:850;display:grid}.engine-geometry-runtime svg{width:100%;height:100%}.engine-geometry-runtime path{fill:none;stroke:#ddd9e5;stroke-width:2px}.engine-geometry-runtime polygon{fill:#7a4ce8;opacity:.9;transition:transform .3s}.engine-geometry-runtime polygon.target{fill:none;stroke:#28c779;stroke-width:4px;stroke-dasharray:7 6}.engine-probability-runtime{box-sizing:border-box;grid-template-columns:1fr 110px;place-items:center;padding:20px 55px;display:grid}.engine-probability-runtime>div{flex-wrap:wrap;place-content:center;gap:8px;width:190px;min-height:105px;display:flex}.engine-probability-runtime>div i{background:linear-gradient(#a58aef,#7449df);border-radius:50%;width:26px;height:26px;box-shadow:0 4px 8px #462f8a29}.engine-probability-runtime>div i.is-yellow{background:linear-gradient(#ffdd73,#efb11d)}.engine-probability-runtime.is-running>div i{animation:.6s engine-probability-shake}.engine-probability-runtime>span{align-items:center;gap:8px;font-size:26px;display:flex}.engine-probability-runtime>span i{background:#3d3c44;width:2px;height:50px;transform:rotate(90deg)}.engine-equation-runtime{align-content:center;place-items:center;gap:12px;display:grid}.engine-equation-runtime>div{align-items:center;gap:10px;display:flex}.engine-equation-runtime span{color:#6133d0;background:#eee8ff;border-radius:16px;place-items:center;width:54px;height:54px;font-size:21px;font-weight:850;display:grid}.engine-equation-runtime b,.engine-equation-runtime strong{font-size:20px}.engine-equation-runtime>i{background:#34333b;border-radius:8px;width:70%;height:5px}.engine-logic-runtime svg{width:100%;height:100%;position:absolute;inset:0}.engine-logic-runtime svg path{fill:none;stroke:#ddd9e5;stroke-width:5px;stroke-linecap:round}.engine-logic-runtime svg path.is-progress{stroke:#2ac67a;stroke-dasharray:var(--logic-progress) 100%;transition:stroke-dasharray .4s}.engine-logic-stations{position:absolute;inset:0}.engine-logic-stations>span{--station-x:calc(54px + var(--station-index) * 126px);left:var(--station-x);top:calc(70px + (var(--station-index) % 2) * 38px);justify-items:center;gap:5px;width:76px;display:grid;position:absolute;transform:translate(-50%,-50%)}.engine-logic-stations>span>i{color:#a4a0ad;background:#fff;border:2px solid #d9d5e2;border-radius:50%;place-items:center;width:48px;height:48px;font-size:21px;font-style:normal;transition:all .25s;display:grid;box-shadow:0 7px 16px #30294c12}.engine-logic-stations>span>b{color:#8a8794;text-align:center;max-width:82px;font-size:9px;line-height:1.05}.engine-logic-stations>span.is-active>i{color:#17985b;border-color:#28c779;box-shadow:0 0 0 4px #28c77921,0 7px 16px #30294c12}.engine-logic-stations>span.is-active>b{color:#34323e}@keyframes engine-code-pulse{50%{background:#8053f252;transform:translate(5px)}}@keyframes engine-packet{0%{transform:translate(0)}48%{transform:translate(190px)translateY(-47px)}to{transform:translate(380px)}}@keyframes engine-bar-rise{0%{opacity:.35;transform:scaleY(.05)}}@keyframes engine-event-fire{50%{transform:translateY(-5px)scale(1.03)}}@keyframes engine-probability-shake{25%{transform:translate(4px,-3px)}55%{transform:translate(-3px,2px)}}.engine-causal-model{background:radial-gradient(circle at 20% 20%,#8153f417,#0000 40%),radial-gradient(circle at 86% 20%,#ffc93e1a,#0000 34%),#fcfcfe;border:1px solid #dfdce9eb;border-radius:34px;width:min(520px,100%);height:clamp(128px,22vh,190px);position:relative;overflow:hidden;box-shadow:0 18px 42px #3127580f}.engine-causal-model svg{width:100%;height:100%;overflow:visible}.engine-code-model{box-sizing:border-box;grid-template-columns:.95fr 1.15fr;align-items:center;gap:18px;padding:22px 28px;display:grid}.engine-code-lines{gap:10px;display:grid}.engine-code-lines i{background:linear-gradient(90deg,#a88cfa 0 24%,#eeeaf8 24%);border-radius:6px;width:92%;height:13px;transition:transform .25s,width .25s}.engine-code-lines i:nth-child(2){background:linear-gradient(90deg,#76d9df 0 38%,#edf3f4 38%);width:75%;margin-left:14%}.engine-code-lines i:nth-child(3){background:linear-gradient(90deg,#ffd56c 0 54%,#f5f1e5 54%);width:84%;margin-left:14%}.engine-code-lines i:nth-child(4){background:linear-gradient(90deg,#8ae1b4 0 46%,#eaf4ef 46%);width:62%}.engine-code-model.is-active .engine-code-lines i:nth-child(2){transform:translate(8px)}.engine-code-world{background:linear-gradient(135deg,#f0edfb,#f9f8fc);border-radius:24px;height:112px;position:relative;overflow:hidden}.engine-code-path{background:repeating-linear-gradient(90deg,#c5bfda 0 12px,#0000 12px 22px);border-radius:9px;height:3px;position:absolute;inset:50% 16px auto}.engine-code-world b,.engine-code-world em{font-style:normal;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;top:42px}.engine-code-world b{color:#7040e8;transform:translateX(calc(var(--path-step) * 38px)) rotate(calc(var(--path-step) * 90deg));left:18px}.engine-code-world em{color:#f5b819;right:18px}.engine-system-model{justify-content:center;align-items:center;gap:8px;display:flex}.engine-gear{color:#fff;background:linear-gradient(145deg,#a98cff,#6b39dd);border-radius:34%;place-items:center;display:grid;box-shadow:0 10px 24px #5634af3d}.gear-one{width:84px;height:84px;font-size:42px}.gear-two{background:linear-gradient(145deg,#7fe1e5,#22b9ca);width:58px;height:58px;margin-top:70px;font-size:29px}.engine-system-model.is-active .gear-one{animation:2.2s linear infinite engine-spin}.engine-system-model.is-active .gear-two{animation:1.6s linear infinite engine-spin-reverse}.engine-flow-line{justify-content:space-between;width:120px;display:flex}.engine-flow-line i{background:#d9d5e5;border-radius:50%;width:10px;height:10px}.engine-system-model.is-active .engine-flow-line i{animation:1.2s ease-in-out infinite engine-flow}.engine-system-model.is-active .engine-flow-line i:nth-child(2){animation-delay:.18s}.engine-system-model.is-active .engine-flow-line i:nth-child(3){animation-delay:.36s}.engine-system-output{opacity:.35;background:linear-gradient(#fff4ba,#ffc83d);border-radius:24px 24px 14px 14px;width:48px;height:70px;transition:all .3s;box-shadow:0 0 #0000}.engine-system-model.is-active .engine-system-output{opacity:1;box-shadow:0 0 32px #ffc6308c}.engine-quantity-model{justify-content:center;align-items:center;gap:54px;display:flex}.engine-area-model{border:2px solid #4b4a55;border-radius:15px;grid-template-columns:repeat(4,1fr);width:220px;height:100px;display:grid;position:relative;overflow:hidden}.engine-area-model>span{width:var(--model-share);background:linear-gradient(135deg,#b79bff,#7a48ef);transition:width .3s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.engine-area-model>i{z-index:1;border-left:1px solid #38354440}.engine-volume-stack{width:92px;height:108px;position:relative}.engine-volume-stack i{--offset:calc(var(--cube-index) * 7px);width:38px;height:38px;left:calc(8px + var(--offset));bottom:var(--offset);animation:.35s both engine-cube-in;animation-delay:calc(var(--cube-index) * 35ms);background:linear-gradient(145deg,#78dfe5,#28b8ca);border-radius:8px;position:absolute;transform:rotate(30deg)skew(-8deg);box-shadow:4px -4px #a2edf0}.engine-coordinate-model .grid{fill:none;stroke:#e7e4ee;stroke-width:1px}.engine-coordinate-model .area{transition:d .3s}.engine-coordinate-model .curve{fill:none;stroke:#262632;stroke-width:4px;stroke-linecap:round;transition:d .3s}.engine-coordinate-model circle{fill:#7342ee;stroke:#fff;stroke-width:4px;transition:cx .3s,cy .3s}.engine-data-model .axes{fill:none;stroke:#6e6d78;stroke-width:2px}.engine-data-model circle{fill:#bbb6c8;transform-box:fill-box;transform-origin:50%;transition:fill .25s,transform .25s}.engine-data-model circle.is-linked{fill:#7342ee;transform:scale(1.25)}.engine-data-model .trend{fill:none;stroke:#28c779;stroke-width:4px;stroke-linecap:round;stroke-dasharray:430;stroke-dashoffset:430px;transition:stroke-dashoffset .8s}.engine-data-model.is-active .trend{stroke-dashoffset:0}.engine-data-key{gap:5px;display:flex;position:absolute;top:18px;right:18px}.engine-data-key i{background:#bbb6c8;border-radius:50%;width:9px;height:9px}.engine-data-key i:nth-child(2){background:#7342ee}.engine-data-key i:nth-child(3){background:#28c779}.engine-strategy-model path{fill:none;stroke:#d5d1df;stroke-width:5px;stroke-linecap:round}.engine-strategy-model circle{fill:#fff;stroke:#bbb5ca;stroke-width:3px;transition:all .25s}.engine-strategy-model circle.is-reached{fill:#39ca80;stroke:#fff;filter:drop-shadow(0 4px 7px #21b66b4d)}.engine-evidence-model{place-items:center;display:grid}.engine-evidence-orbit{width:270px;height:138px;position:relative}.engine-evidence-orbit:before{content:"";border:2px dashed #dad6e4;border-radius:50%;position:absolute;inset:12px 55px}.engine-evidence-orbit>span{background:#fff;border-radius:18px;place-items:center;width:56px;height:56px;transition:all .25s;display:grid;position:absolute;top:0;left:0;box-shadow:0 8px 18px #372a5a1a}.engine-evidence-orbit>span:nth-child(2),.engine-evidence-orbit>span:nth-child(4){left:210px}.engine-evidence-orbit>span:nth-child(3),.engine-evidence-orbit>span:nth-child(4){top:82px}.engine-evidence-orbit>span.is-linked{transform:scale(1.08);box-shadow:0 0 0 3px #7342ee,0 8px 18px #372a5a1a}.engine-evidence-orbit>b{color:#fff;background:#29292e;border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid;position:absolute;top:41px;left:112px}.engine-logic-model{place-items:center;display:grid}.engine-logic-field{width:360px;height:130px;position:relative}.engine-logic-field:before{content:"";background:#dedbe7;height:2px;position:absolute;top:63px;left:40px;right:40px}.engine-logic-field>span{--logic-x:calc(var(--logic-index) * 70px);left:var(--logic-x);width:60px;height:60px;animation:3s ease-in-out infinite engine-float;animation-delay:calc(var(--logic-index) * -280ms);background:#fff;border:1px solid #e1deea;border-radius:50%;place-items:center;transition:all .25s;display:grid;position:absolute;top:36px}.engine-logic-field>span.is-active{border-color:#28c779;transform:translateY(-7px);box-shadow:0 0 0 4px #28c77924}.engine-logic-field>i{opacity:.8;background:#ffc83d;border-radius:50%;width:11px;height:11px;position:absolute;top:0;left:calc(50% - 5px)}.engine-causal-slider{grid-template-columns:70px 1fr;align-items:center;gap:20px;width:min(430px,90%);display:grid}.engine-causal-slider output{color:#6738db;background:#f1edff;border-radius:18px;place-items:center;width:66px;height:58px;font-size:24px;font-weight:850;display:grid}.engine-causal-slider input{width:100%}.engine-experiment-controls{justify-items:center;gap:12px;width:min(560px,100%);display:grid}@keyframes engine-spin{to{transform:rotate(360deg)}}@keyframes engine-spin-reverse{to{transform:rotate(-360deg)}}@keyframes engine-flow{0%,to{background:#d9d5e5;transform:translateY(0)}50%{background:#28c779;transform:translateY(-6px)}}@keyframes engine-cube-in{0%{opacity:0;transform:translateY(15px)rotate(30deg)skew(-8deg)}}@keyframes engine-float{0%,to{translate:0}50%{translate:0 -5px}}@media (height<=780px){.engine-copy{padding-top:20px}.engine-domain-mechanic{grid-template-rows:112px minmax(132px,1fr);gap:8px}.engine-program-model,.engine-logic-runtime,.engine-causal-model{height:112px}.engine-domain-sequence{gap:7px}.engine-domain-slots,.engine-domain-slots>button{min-height:60px}.engine-domain-tray{min-height:55px}.engine-domain-tray>button{min-height:52px}.engine-domain-choice>button{min-height:62px}.engine-code-writing textarea{min-height:92px}.engine-placement.is-venn .engine-zone{aspect-ratio:auto;height:126px;min-height:0}.engine-path-board{max-height:250px}}.engine-lab-inspector{background:#e7e5ed;border:1px solid #e7e5ed;border-radius:18px;grid-template-columns:repeat(9,1fr);gap:1px;max-width:1100px;margin:16px auto 0;display:grid;overflow:hidden}.engine-lab-inspector>div{background:#ffffffeb;align-content:center;gap:3px;min-width:0;min-height:58px;padding:0 14px;display:grid}.engine-lab-inspector span{color:#9694a1;letter-spacing:.14em;font-size:8px;font-weight:850}.engine-lab-inspector strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.engine-lab-inspector strong.is-good{color:#14975a}.engine-lab-inspector details{background:#fff;grid-column:1/-1;padding:11px 15px}.engine-lab-inspector summary{cursor:pointer;color:#676674;font-size:11px;font-weight:750}.engine-lab-inspector ol{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.engine-lab-inspector li{background:#f4f2f8;border-radius:9px;gap:5px;padding:6px 9px;font-size:10px;display:flex}.engine-lab-inspector li span{letter-spacing:0;font-weight:600}.engine-lab-inspector details p{color:#9997a2;margin:9px 0 0;font-size:11px}.engine-lab-inspector .engine-sound-catalog>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.engine-sound-catalog button{text-align:left;min-width:0;min-height:52px;color:var(--engine-ink);cursor:pointer;background:#faf9fd;border:1px solid #e7e3f2;border-radius:11px;align-content:center;gap:2px;padding:7px 9px;display:grid}.engine-sound-catalog button:hover{background:#f7f3ff;border-color:#ad94f5}.engine-sound-catalog button b{font-size:10px}.engine-sound-catalog button small{color:#8d8b97;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.25;overflow:hidden}@keyframes engine-pop{0%{opacity:0;transform:scale(.2)}45%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:translate(16px,-16px)scale(.5)}}@container engine-preview (width<=500px){.interaction-engine{grid-template-rows:auto minmax(0,1fr) 66px}.engine-copy{padding:18px 14px 6px}.engine-copy>span{font-size:7px}.engine-copy h1{margin-top:5px;font-size:clamp(22px,7cqw,28px)}.engine-copy p{max-width:320px;font-size:12px;line-height:1.3}.engine-stage{padding:5px 12px 8px}.engine-actions{grid-template-columns:72px minmax(0,1fr) 68px;gap:5px;min-height:66px;padding:6px 12px 8px}.engine-reset{min-height:48px;font-size:11px}.engine-check{border-radius:17px;width:62px;height:52px}.engine-result{gap:5px}.engine-result span{white-space:nowrap;font-size:10px}.engine-result i{width:24px;height:24px}.engine-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(330px,100%)}.engine-choice-grid.count-5{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-choice-grid>button{border-radius:18px;min-width:0;min-height:72px}.engine-choice-grid.compact{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:7px}.engine-choice-grid.compact>button{min-height:60px}.engine-visual-item{width:52px;height:52px}.engine-visual-item.is-compact{width:37px;height:37px}.engine-placement{gap:10px}.engine-piece-tray{flex-wrap:nowrap;gap:5px;min-height:70px}.engine-piece-tray>button{border-radius:16px;min-width:52px;min-height:62px}.engine-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.engine-zone{border-radius:20px;min-width:0;min-height:102px;padding:5px}.engine-zone>strong{font-size:10px}.engine-zone>div{flex-wrap:wrap;min-height:40px}.engine-placement.is-venn .engine-zone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-placement.is-venn .engine-zone{min-height:auto;padding:3px}.engine-placement.is-venn .engine-zone>strong{font-size:8px}.engine-sequence-board,.engine-pattern-board{gap:14px}.engine-slots,.engine-model-sequence{gap:4px;min-height:60px}.engine-slots>button,.engine-model-sequence>i{border-radius:15px;width:clamp(44px,15cqw,58px);height:58px}.engine-model-sequence{padding-bottom:9px}.engine-model-sequence>i{width:36px;height:36px}.engine-pair-board{gap:10px}.engine-pair-lines{gap:5px;min-height:24px}.engine-transform-board{gap:16px}.engine-transform-target{border-radius:32px;width:136px;height:136px}.engine-tool-row button{width:90px;min-height:56px}.engine-path-board{gap:8px 18px;max-width:285px}.engine-path-board .engine-visual-item{width:45px;height:45px}.engine-zoom-board{gap:12px}.engine-zoom-window{border-radius:25px;height:145px}.engine-predict-board{gap:10px}.engine-machine{width:160px;height:90px}.engine-run{min-height:48px}.engine-balance-board{transform:scale(.92)}.engine-balance{height:70px}.engine-balance-board .engine-piece-tray{margin-top:-9px}.engine-balance-board .engine-zone{min-height:76px}.engine-simulation-board{gap:14px}.engine-bar-compare{gap:10px}.engine-bar-compare>span{height:34px}.engine-matrix-board{gap:14px}.engine-matrix{border-radius:21px;grid-template-rows:repeat(2,62px);grid-template-columns:repeat(3,62px);gap:5px;padding:8px}.engine-resource-board{gap:16px}.engine-resource-total{gap:4px}.engine-resource-total i{border-radius:5px}.engine-universal{grid-template-rows:minmax(92px,.65fr) minmax(150px,1fr);gap:6px}.engine-domain-mechanic{grid-template-rows:minmax(98px,.65fr) minmax(142px,1fr);gap:7px}.engine-program-model,.engine-logic-runtime{border-radius:22px;width:min(350px,100%);height:108px}.engine-code-runtime{grid-template-columns:1.1fr .9fr;gap:10px;padding:10px 11px}.engine-code-editor{border-radius:13px;gap:3px;padding:7px 8px;font-size:8px}.engine-code-editor span{min-height:15px;padding-inline:5px}.engine-code-editor .is-loop{margin-left:7px}.engine-robot-grid{--cell:27px;gap:3px}.engine-robot-grid b,.engine-robot-grid em{width:20px;height:20px;top:5px}.engine-robot-grid b{left:calc(50% - 73px + min(var(--robot-step), 4) * 30px)}.engine-robot-grid em{right:calc(50% - 73px)}.engine-state-runtime{grid-template-columns:1fr;gap:8px;padding:9px 12px}.engine-state-runtime>div{justify-content:center;gap:5px}.engine-state-runtime>div span{border-radius:11px;min-width:52px;min-height:31px;font-size:8px}.engine-state-runtime ul{border-radius:11px;grid-template-columns:1fr 1fr;justify-self:center;width:min(240px,90%);padding:7px 9px}.engine-data-runtime{gap:13px;padding:9px 18px}.engine-data-bars{height:68px}.engine-data-bars i{width:17px}.engine-mini-table>span:not(.engine-data-row),.engine-data-row b,.engine-data-row i{padding:4px}.engine-event-runtime{gap:6px;padding:10px}.engine-event-runtime>div{gap:4px}.engine-event-runtime span{border-radius:13px;min-height:62px}.engine-event-runtime span i{font-size:15px}.engine-event-runtime span b{font-size:8px}.engine-debug-runtime{gap:8px;padding:8px 10px}.engine-debug-code{border-radius:11px;font-size:7px}.engine-debug-code span{grid-template-columns:18px 1fr 16px;min-height:21px;padding-inline:5px}.engine-debug-code em{width:13px;height:13px}.engine-debug-runtime aside{border-radius:13px;min-height:82px}.engine-debug-runtime aside strong{font-size:22px}.engine-test-runtime{padding:8px 20px}.engine-test-runtime header,.engine-test-runtime>div{min-height:22px;font-size:8px}.engine-test-runtime i{width:16px;height:16px}.engine-truth-runtime{padding:7px 28px}.engine-truth-runtime header{padding:4px;font-size:8px}.engine-truth-runtime>div span{padding:3px;font-size:8px}.engine-security-shield{width:34px;height:34px;top:calc(50% - 17px);left:calc(50% - 17px)}.engine-calibration-runtime{padding:8px 27px}.engine-calibration-runtime>div{border-width:7px;width:73px;height:73px}.engine-calibration-runtime>div>i{height:27px}.engine-calibration-runtime>div b{margin-top:31px}.engine-calibration-runtime>span{width:105px;height:52px}.engine-measure-runtime{grid-template-columns:1fr 50px;gap:9px;padding:16px}.engine-ruler{height:50px}.engine-ruler>span{height:58px}.engine-measure-runtime output{width:46px;height:42px;font-size:17px}.engine-probability-runtime{grid-template-columns:1fr 72px;padding:8px 25px}.engine-probability-runtime>div{gap:5px;width:170px;min-height:80px}.engine-probability-runtime>div i{width:19px;height:19px}.engine-probability-runtime>span{font-size:18px}.engine-probability-runtime>span i{height:35px}.engine-equation-runtime span{border-radius:12px;width:42px;height:42px;font-size:17px}.engine-logic-stations>span{--station-x:calc(28px + var(--station-index) * 72px);top:calc(41px + (var(--station-index) % 2) * 23px);width:48px}.engine-logic-stations>span>i{width:31px;height:31px;font-size:14px}.engine-logic-stations>span>b{max-width:54px;font-size:7px}.engine-domain-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(340px,100%)}.engine-domain-choice.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-domain-choice>button{border-radius:15px;min-height:58px}.engine-domain-token{gap:6px;min-height:42px;padding:5px 7px}.engine-domain-token i{flex-basis:11px;width:11px;height:11px}.engine-domain-token b{font-size:10px}.engine-domain-token.role-number b{font-size:19px}.engine-domain-sequence{gap:7px;width:min(345px,100%)}.engine-domain-slots,.engine-domain-tray{gap:5px;min-height:52px}.engine-domain-slots>button{border-radius:14px;min-height:52px}.engine-domain-tray>button{border-radius:14px;flex-basis:105px;min-height:48px}.engine-domain-token.is-compact{min-height:36px;padding:4px 5px}.engine-domain-token.is-compact b{font-size:8px}.engine-domain-pairs{gap:6px;width:min(340px,100%)}.engine-domain-pairs>button{border-radius:14px;min-height:49px}.engine-domain-experiment,.engine-truth-controls{gap:7px}.engine-truth-controls>div{gap:5px}.engine-truth-controls>div button{border-radius:13px;width:45px;height:45px;font-size:14px}.engine-truth-controls>span>button{border-radius:13px;min-width:90px;min-height:45px}.engine-code-writing{width:min(340px,100%)}.engine-code-writing textarea{border-radius:14px;min-height:88px;padding:10px 12px;font-size:10px}.engine-causal-model{border-radius:24px;width:min(340px,100%);height:105px}.engine-code-model{gap:10px;padding:12px 15px}.engine-code-lines{gap:6px}.engine-code-lines i{height:9px}.engine-code-world{border-radius:18px;height:78px}.engine-code-world b,.engine-code-world em{top:26px}.engine-code-world b{transform:translateX(calc(var(--path-step) * 25px)) rotate(calc(var(--path-step) * 90deg))}.gear-one{width:58px;height:58px;font-size:28px}.gear-two{width:42px;height:42px;margin-top:42px;font-size:20px}.engine-flow-line{width:78px}.engine-system-output{width:36px;height:50px}.engine-quantity-model{gap:18px}.engine-area-model{width:178px;height:72px}.engine-volume-stack{width:72px;height:84px;transform:scale(.72)}.engine-evidence-orbit{transform:scale(.72)}.engine-logic-field{transform:scale(.78)}.engine-causal-slider{grid-template-columns:58px 1fr;gap:12px}.engine-causal-slider output{width:56px;height:50px}.engine-universal .engine-zone{min-height:76px}.interaction-engine input[type=range]{min-height:54px}.interaction-engine input[type=range]::-webkit-slider-thumb{width:42px;height:42px;margin-top:-17px}.interaction-engine input[type=range]::-moz-range-thumb{width:34px;height:34px}}@media (width<=760px){.engine-lab-page{grid-template-rows:50px 58px 3px minmax(0,1fr);width:100%;height:100svh;min-height:0;padding:0;display:grid;overflow:hidden}.engine-lab-header{box-sizing:border-box;width:100%;height:50px;padding:0 14px}.engine-brand{font-size:21px}.engine-header-actions{gap:7px}.engine-sound-toggle,.engine-profile>div{width:36px;height:36px}.engine-profile span{display:none}.engine-lab-toolbar{box-sizing:border-box;width:100%;height:58px;margin:0;padding:6px 10px 7px;display:block}.engine-demo-picker{grid-template-columns:42px minmax(0,1fr) 42px}.engine-demo-picker label{gap:2px}.engine-demo-picker label>span{font-size:7px}.engine-demo-picker select{height:42px;font-size:11px}.engine-device-picker{display:none}.engine-lab-progress{border-radius:0;width:100%;height:3px;margin:0}.engine-preview-wrap,.engine-preview-wrap.device-fluid,.engine-preview-wrap.device-tablet,.engine-preview-wrap.device-phone{width:100%;max-width:none;height:100%;min-height:0;margin:0}.engine-preview-surface,.device-phone .engine-preview-surface{width:100%;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0}.engine-lab-inspector{display:none}}@media (width<=390px){.engine-lab-header{padding:0 10px}.engine-brand{font-size:19px}.engine-profile{display:none}.engine-lab-toolbar{padding-inline:6px}.engine-demo-picker{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}.engine-demo-picker>button{border-radius:14px;width:38px;height:42px}}@media (height<=520px) and (orientation:landscape){.engine-lab-page{grid-template-rows:48px 3px minmax(0,1fr)}.engine-lab-header{display:none}.engine-lab-toolbar{height:48px;padding-block:3px}.engine-demo-picker label>span{display:none}.engine-demo-picker select{height:40px}.engine-copy{padding-top:9px}.engine-copy p{display:none}.interaction-engine{grid-template-rows:auto minmax(0,1fr) 56px}.engine-actions{min-height:56px;padding-block:2px}}@media (prefers-reduced-motion:reduce){.interaction-engine *,.engine-lab-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#20212a;font-synthesis:none;text-rendering:optimizelegibility;--purple:#6622cf;--purple-soft:#f2ebff;--cyan:#00ccfe;--yellow:#ffd24c;--green:#2cc970;--ink:#20212a;--muted:#777986;--line:#e8e6ec;--surface:#fff;--shadow:0 28px 80px #3d235c1c;background:#f8f5fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.tutor-page{background:radial-gradient(circle at 3% 96%,#ffd24c33,#0000 27%),radial-gradient(circle at 96% 8%,#00ccfe24,#0000 27%),linear-gradient(135deg,#fbf5f8 0%,#f6f4ff 56%,#f2faff 100%);place-items:center;height:100dvh;padding:clamp(14px,3.2vw,42px);display:grid;overflow:hidden}.public-site{color:#25212d;background:radial-gradient(circle at 86% 16%,#00ccfe21,#0000 24%),radial-gradient(circle at 4% 96%,#ffd24c33,#0000 25%),linear-gradient(145deg,#fffafb 0%,#f9f7ff 58%,#f2fbff 100%);min-height:100dvh;overflow:hidden}.public-nav{justify-content:space-between;align-items:center;width:min(1220px,100% - 48px);height:84px;margin:0 auto;display:flex}.public-brand{color:#292431;align-items:center;gap:12px;font-family:Montserrat,Inter,sans-serif;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.public-brand b{color:var(--purple)}.brand-mark{color:#fff;background:linear-gradient(135deg,var(--purple),#8e58ea);border-radius:12px 16px;place-items:center;width:38px;height:38px;display:grid;transform:rotate(45deg);box-shadow:0 8px 22px #6622cf3b}.brand-mark>span{font-size:16px;transform:rotate(-45deg)}.brand-mark.small{border-radius:9px 12px;width:30px;height:30px}.brand-mark.small>span{font-size:12px}.kody-character{-webkit-user-select:none;user-select:none;flex:none;display:block;position:relative}.kody-character img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.kody-character-avatar{background:linear-gradient(145deg,#f4edff,#e8faff);border:1px solid #6622cf1f;border-radius:15px;width:44px;height:44px;overflow:hidden;box-shadow:0 8px 20px #6622cf26}.kody-character-avatar img{width:78px;max-width:none;height:auto;position:absolute;top:2px;left:50%;transform:translate(-50%)}.kody-character-hero,.kody-character-celebration{filter:drop-shadow(0 18px 20px #431b7533);width:132px;height:182px}.public-nav-actions{align-items:center;gap:28px;display:flex}.nav-link,.nav-login{color:#68636e;font-size:13px;font-weight:700;text-decoration:none}.nav-login{color:#3b3542;text-align:center;background:#ffffffb3;border:1px solid #dcd6e4;border-radius:999px;min-width:94px;padding:11px 18px}.landing-hero{grid-template-columns:minmax(400px,.87fr) minmax(530px,1.13fr);align-items:center;gap:clamp(42px,6vw,90px);width:min(1220px,100% - 48px);min-height:calc(100dvh - 170px);margin:0 auto;padding:66px 0 78px;display:grid}.hero-copy{z-index:2;position:relative}.eyebrow{color:#675d70;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;font-weight:800;display:inline-flex}.eyebrow i{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #2cc9701f}.hero-copy h1{letter-spacing:-.045em;margin:20px 0;font-family:Montserrat,Inter,sans-serif;font-size:clamp(42px,5vw,68px);line-height:1.02}.hero-copy h1 em{color:var(--purple);font-style:normal}.hero-lead{color:#6a6570;max-width:560px;margin:0;font-size:17px;line-height:1.65}.hero-signup{margin-top:34px}.hero-signup>label{color:#4f4857;margin:0 0 9px 3px;font-size:12px;font-weight:800;display:block}.phone-control{background:#ffffffe6;border:1px solid #ddd7e4;border-radius:17px;align-items:center;max-width:570px;min-height:62px;padding:6px 6px 6px 15px;display:flex;box-shadow:0 15px 40px #33234514}.phone-control>span{color:#4b4551;white-space:nowrap;border-right:1px solid #e6e1e9;padding-right:13px;font-size:13px;font-weight:700}.phone-control input{color:#25212d;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 14px;font-size:15px}.phone-control input::placeholder{color:#aaa4b0}.phone-control button{color:#fff;background:linear-gradient(135deg,var(--purple),#7c3fe0);cursor:pointer;border:0;border-radius:12px;min-height:49px;padding:0 19px;font-size:13px;font-weight:800;box-shadow:0 8px 20px #6622cf38}.phone-control button span{margin-left:8px}.hero-signup small{color:#85808b;margin:11px 0 0 3px;font-size:11px;display:block}.hero-signup small b{color:var(--green)}.hero-product{perspective:1200px;min-width:0;position:relative}.hero-product>.kody-character-hero{z-index:3;width:145px;height:200px;position:absolute;bottom:-38px;left:-72px;transform:rotate(-4deg)}.preview-window{background:#fff;border:1px solid #43355317;border-radius:24px;overflow:hidden;transform:rotateY(-3deg)rotateX(1deg);box-shadow:0 35px 80px #442b5f26}.preview-top{color:#8b8790;border-bottom:1px solid #f0edf2;grid-template-columns:28px 1fr 28px;align-items:center;height:45px;padding:0 16px;font-size:15px;display:grid}.preview-top i{background:#ece9ee;border-radius:99px;justify-self:center;width:54%;height:5px}.preview-top i b{border-radius:inherit;background:var(--green);width:37%;height:100%;display:block}.preview-body{grid-template-columns:31% 69%;height:425px;display:grid}.preview-chat{background:#fcfbfd;border-right:1px solid #ece9ee;padding:20px 14px}.preview-kody{align-items:center;gap:9px;font-size:10px;display:flex}.preview-kody .kody-character-avatar{border-radius:10px;width:30px;height:30px}.preview-kody .kody-character-avatar img{width:52px}.preview-chat>p{color:#514b56;background:#fff;border:1px solid #e9e5ec;border-radius:13px 13px 13px 4px;margin:24px 0 5px;padding:12px;font-size:10px;line-height:1.5}.preview-chat>button{color:#837d88;background:0 0;border:0;padding:5px;font-size:8px;font-weight:700}.preview-thinking{color:#98929d;align-items:center;gap:4px;margin-top:125px;font-size:8px;display:flex}.preview-thinking i{background:#9f74e7;border-radius:50%;width:4px;height:4px}.preview-activity{flex-direction:column;align-items:center;padding:28px 28px 18px;display:flex}.preview-activity>span{color:var(--purple);letter-spacing:.12em;font-size:7px;font-weight:800}.preview-activity h2{margin:6px 0 5px;font-family:Montserrat,Inter,sans-serif;font-size:17px}.preview-activity .fraction-stage{flex:1;gap:9px;width:100%}.preview-activity .fraction-visual{width:185px}.preview-activity .fraction-controls{gap:5px}.preview-activity .fraction-controls button{border-radius:8px;width:30px;height:30px;font-size:9px}.preview-check{color:#25202c;background:var(--yellow);border:0;border-radius:10px;width:52%;min-height:34px;font-size:9px;font-weight:800}.floating-note{color:#4c4652;background:#fffffff2;border:1px solid #5c4a6d14;border-radius:12px;padding:11px 15px;font-size:10px;font-weight:800;position:absolute;box-shadow:0 13px 35px #3e2a521f}.note-one{top:44px;right:-18px}.note-two{bottom:40px;left:-28px}.trust-strip{border-top:1px solid #4f425b1f;grid-template-columns:repeat(3,1fr);width:min(1050px,100% - 48px);margin:-20px auto 50px;padding:24px 0;display:grid}.trust-strip article{border-right:1px solid #4f425b1a;gap:14px;padding:0 30px;display:flex}.trust-strip article:last-child{border:0}.trust-strip article>span{color:#b194e2;font-family:Montserrat,sans-serif;font-size:11px;font-weight:800}.trust-strip b{font-size:13px}.trust-strip p{color:#817b86;margin:4px 0 0;font-size:11px}.access-page{background:radial-gradient(circle at 80% 15%,#00ccfe21,#0000 25%),radial-gradient(circle at 12% 88%,#ffd24c2e,#0000 24%),#faf7fc;grid-template-rows:auto 1fr auto;place-items:center;min-height:100dvh;padding:30px;display:grid}.access-brand{justify-self:start}.access-card{text-align:center;background:#fffffff0;border:1px solid #4a3b5a17;border-radius:25px;width:min(440px,100%);padding:38px;box-shadow:0 28px 70px #3e28551f}.access-card>.kody-character-avatar{border-radius:22px;width:68px;height:68px;margin:0 auto 18px}.access-card>.kody-character-avatar img{width:112px;top:3px}.access-icon{color:#fff;background:var(--purple);border-radius:15px;place-items:center;width:48px;height:48px;margin:0 auto 18px;display:grid;box-shadow:0 10px 24px #6622cf38}.access-step{letter-spacing:.13em;font-weight:800;color:var(--purple)!important;margin:0 0 8px!important;font-size:9px!important}.access-card h1{letter-spacing:-.03em;margin:0;font-family:Montserrat,Inter,sans-serif;font-size:28px}.access-card>p{color:#76717b;max-width:330px;margin:12px auto 25px;font-size:13px;line-height:1.55}.access-card form{text-align:left}.access-card label{color:#4f4856;margin:0 0 8px 2px;font-size:11px;font-weight:800;display:block}.access-phone{background:#fff;border:1px solid #ded8e4;border-radius:14px;align-items:center;height:54px;display:flex}.access-phone span{border-right:1px solid #e7e2ea;padding:0 13px;font-size:13px;font-weight:700}.access-phone input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 13px;font-size:15px}.access-card form>button{color:#fff;background:linear-gradient(135deg,var(--purple),#7e42dd);cursor:pointer;border:0;border-radius:14px;width:100%;min-height:52px;margin-top:13px;font-size:13px;font-weight:800;box-shadow:0 10px 24px #6622cf33}.access-card form>button:disabled,.billing-button:disabled{opacity:.48;cursor:default;box-shadow:none}.access-card form>.text-action{color:#746d7b;min-height:36px;box-shadow:none;background:0 0;margin-top:6px}.otp-input{color:#2d2733;text-align:center;letter-spacing:.3em;background:#fff;border:1px solid #ded8e4;border-radius:14px;outline:0;width:100%;height:60px;padding:0 14px;font-family:Montserrat,Inter,sans-serif;font-size:25px;font-weight:800}.otp-input:focus,.access-phone:focus-within{border-color:#ae8cde;box-shadow:0 0 0 4px #6622cf14}.development-code{text-align:center;background:#f5f1fb;border-radius:8px;padding:7px;color:#635b69!important;margin:8px 0 0!important;font-size:10px!important}.access-error{background:#fff0ed;border-radius:10px;padding:9px 11px;color:#9c3f39!important;margin:13px 0 0!important;font-size:10px!important}.access-card>small{color:#96909a;margin-top:17px;font-size:9px;line-height:1.5;display:block}.access-help{color:#827c88;font-size:11px}.access-help a{color:var(--purple);font-weight:700}.subscription-loading{color:#77717d;font-size:13px}.subscription-card .access-icon{color:#3e2d05;background:var(--yellow)}.billing-note{background:#f5f2f8;border-radius:10px;padding:9px;margin:0 0 13px!important;font-size:10px!important}.billing-note.success{background:#eaf9f0;color:#16643c!important}.continue-tutor,.billing-button{cursor:pointer;border:0;border-radius:14px;place-items:center;width:100%;min-height:52px;margin-top:9px;font-size:13px;font-weight:800;text-decoration:none;display:grid}.continue-tutor{color:#25202c;background:var(--yellow)}.billing-button{color:#fff;background:linear-gradient(135deg,var(--purple),#7e42dd);box-shadow:0 10px 24px #6622cf33}.logout-link{color:#7e7784;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.family-page{color:#292430;background:radial-gradient(circle at 85% 8%,#00ccfe1f,#0000 25%),radial-gradient(circle at 8% 92%,#ffd24c26,#0000 24%),#faf8fc;min-height:100dvh;padding:0 28px 48px}.family-header{justify-content:space-between;align-items:center;width:min(1180px,100%);height:88px;margin:0 auto;display:flex}.family-header>div{color:#817b86;align-items:center;gap:18px;font-size:10px;display:flex}.family-header button{color:#625b68;cursor:pointer;background:#ffffffb8;border:1px solid #e4dfe8;border-radius:999px;padding:9px 14px;font-size:10px;font-weight:750}.family-shell{background:#ffffffed;border:1px solid #4a3b5a14;border-radius:30px;width:min(1180px,100%);margin:0 auto;padding:46px;box-shadow:0 28px 75px #3e28551a}.family-heading{border-bottom:1px solid #eeeaf1;justify-content:space-between;align-items:center;min-height:180px;padding:10px 8px 34px;display:flex}.family-heading>div{max-width:690px}.family-heading h1{letter-spacing:-.045em;margin:9px 0 12px;font:800 clamp(29px,4vw,47px)/1.08 Montserrat,Inter,sans-serif}.family-heading p{color:#77717b;margin:0;font-size:13px;line-height:1.55}.family-heading>.kody-character-hero{width:100px;height:135px;margin-right:42px}.family-eyebrow,.family-profiles header span{color:var(--purple);letter-spacing:.15em;font-size:8px;font-weight:850}.family-notice{color:#655e6a;background:#f4f1f7;border-radius:12px;margin:20px 0 0;padding:12px 15px;font-size:10px}.family-notice.success{color:#18613d;background:#eaf8ef}.family-notice.error{color:#9c3f39;background:#fff0ed}.family-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.72fr);gap:42px;padding-top:34px;display:grid}.family-profiles header{justify-content:space-between;align-items:start;gap:20px;min-height:48px;display:flex}.family-profiles h2,.family-membership h2{letter-spacing:-.03em;margin:5px 0 0;font:800 20px/1.2 Montserrat,Inter,sans-serif}.family-profiles header a{color:var(--purple);background:var(--purple-soft);border-radius:999px;padding:9px 13px;font-size:9px;font-weight:800;text-decoration:none}.family-profile-list{gap:10px;margin-top:16px;display:grid}.family-profile-list>button{color:#322c38;text-align:left;cursor:pointer;background:#fcfbfd;border:1px solid #e9e4ed;border-radius:19px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:12px 16px 12px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.family-profile-list>button:hover{background:#fff;border-color:#c9b5e6;transform:translateY(-1px);box-shadow:0 12px 28px #462d5c14}.family-profile-list>button:disabled{opacity:.52;cursor:default;box-shadow:none;transform:none}.family-profile-list .learner-avatar{border-radius:18px;width:62px;height:62px}.family-profile-list>button>span{flex-direction:column;gap:5px;min-width:0;display:flex}.family-profile-list b{font-size:13px}.family-profile-list small{color:#817a86;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.family-profile-list em{color:var(--purple);white-space:nowrap;align-items:center;gap:10px;font-size:9px;font-style:normal;font-weight:800;display:flex}.family-profile-list em i{color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.family-empty{text-align:center;background:#fcfbfd;border:1px dashed #ddd4e5;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:235px;margin-top:16px;padding:30px;display:flex}.family-empty .learner-avatar{border-radius:19px;width:64px;height:64px}.family-empty h3{margin:12px 0 6px;font-size:14px}.family-empty p{color:#817a86;margin:0;font-size:10px}.family-empty a{color:#fff;background:var(--purple);border-radius:999px;margin-top:16px;padding:11px 19px;font-size:9px;font-weight:800;text-decoration:none}.family-membership{background:linear-gradient(160deg,#fbf8ff,#fff);border:1px solid #e7e0ec;border-radius:23px;align-self:start;padding:28px}.membership-status{color:#167446;letter-spacing:.04em;background:#eaf8ef;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:8px;font-weight:850;display:inline-flex}.membership-status i{background:#27bd70;border-radius:50%;width:6px;height:6px}.membership-status.expired{color:#8b5e15;background:#fff4dc}.membership-status.expired i{background:#e7a92c}.family-membership h2{margin-top:17px;font-size:23px}.family-membership>p{color:#77717b;margin:11px 0 18px;font-size:11px;line-height:1.6}.family-membership .billing-button{margin-top:0}.family-membership>small{color:#97919b;margin-top:14px;font-size:8px;line-height:1.5;display:block}@media (width<=980px){.landing-hero{text-align:center;grid-template-columns:1fr;padding-top:42px}.hero-lead,.phone-control{margin-inline:auto}.hero-signup>label,.hero-signup small{text-align:left;max-width:570px;margin-inline:auto}.hero-product{text-align:left;width:min(680px,100%);margin:0 auto}}@media (width<=620px){.public-nav{width:calc(100% - 30px);height:70px}.public-brand{font-size:15px}.public-nav-actions{gap:9px}.nav-link{display:none}.nav-login{min-width:78px;padding:9px 14px}.landing-hero{gap:55px;width:calc(100% - 30px);min-height:0;padding:40px 0 65px}.hero-copy h1{margin-top:17px;font-size:clamp(37px,12vw,52px)}.hero-lead{font-size:15px}.phone-control{flex-wrap:wrap;gap:8px;padding:10px}.phone-control>span{width:88px}.phone-control input{width:calc(100% - 96px);min-height:40px}.phone-control button{width:100%}.preview-body{grid-template-columns:1fr;height:375px}.hero-product>.kody-character-hero,.preview-chat{display:none}.preview-activity{padding:22px 15px 14px}.preview-activity .fraction-visual{width:175px}.floating-note{font-size:9px}.note-one{right:-5px}.note-two{bottom:22px;left:-5px}.trust-strip{grid-template-columns:1fr;width:calc(100% - 30px);margin-top:0}.trust-strip article{border-bottom:1px solid #4f425b1a;border-right:0;padding:17px 4px}.access-page{padding:20px 15px}.access-card{padding:32px 20px}.family-page{padding:0 14px 26px}.family-header{height:72px}.family-header>div>span{display:none}.family-shell{border-radius:23px;padding:24px 17px 20px}.family-heading{min-height:0;padding:8px 3px 24px}.family-heading>.kody-character-hero{flex:0 0 62px;width:62px;height:88px;margin:0 3px 0 14px}.family-heading h1{font-size:28px}.family-heading p{font-size:10px}.family-grid{grid-template-columns:1fr;gap:25px;padding-top:24px}.family-profiles header{align-items:center}.family-profiles h2{font-size:17px}.family-profile-list>button{grid-template-columns:56px minmax(0,1fr) 28px;gap:10px;min-height:82px;padding:11px}.family-profile-list .learner-avatar{width:56px;height:56px}.family-profile-list em{font-size:0}.family-profile-list em i{font-size:11px}.family-profile-list small{max-width:190px}.family-membership{padding:23px 20px}}.learning-shell{background:var(--surface);width:min(1360px,100%);height:min(850px,100dvh - clamp(28px,6.4vw,84px));min-height:0;box-shadow:var(--shadow);border:1px solid #261f300d;border-radius:28px;grid-template:68px minmax(0,1fr)/minmax(286px,25%) minmax(0,1fr);transition:grid-template-columns .28s cubic-bezier(.2,.72,.25,1);display:grid;position:relative;overflow:hidden}.topbar{border-bottom:1px solid #f3f1f5;grid-column:1/-1;grid-template-columns:48px minmax(150px,1fr) auto;align-items:center;gap:22px;padding:0 22px;display:grid}.icon-button{color:#7d7c86;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.icon-button:hover,.icon-button:focus-visible{color:var(--ink);background:#f5f3f7;outline:none}.top-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.settings-trigger svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.time-budget{color:#5d5564;text-align:center;font-variant-numeric:tabular-nums;background:#f4f1f6;border-radius:999px;min-width:66px;padding:7px 10px;font-size:10px;font-weight:800}.time-budget.is-finished{color:#8e413b;background:#fff0ed}.progress-track{background:#f0eff2;border-radius:999px;justify-self:center;width:min(480px,62%);height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#27cb71,#55d98f);height:100%;transition:width .3s;display:block}.chat-panel{z-index:3;border-right:1px solid var(--line);background:#fcfbfd;flex-direction:column;min-width:0;min-height:0;padding:22px 18px 18px;transition:opacity .2s,padding .28s,border-color .2s;display:flex;position:relative}.chat-heading{align-items:center;gap:11px;padding:0 3px 18px;display:flex}.chat-heading .kody-character-avatar{flex-basis:44px;width:44px;height:44px}.chat-heading strong{font-family:Montserrat,Inter,sans-serif;font-size:14px;display:block}.chat-heading small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.chat-close{color:#7b7781;cursor:pointer;background:#f1eff3;border:0;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;margin-left:auto;font-size:19px;line-height:1;display:grid}.chat-close:hover,.chat-close:focus-visible{color:var(--purple);background:var(--purple-soft);outline:0}.kody-mark{background:linear-gradient(135deg, var(--purple), #8d5ce8);border-radius:13px 18px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;position:relative;transform:rotate(45deg);box-shadow:0 7px 20px #6622cf38}.kody-mark span{color:#fff;font-family:Montserrat,sans-serif;font-size:19px;font-weight:800;transform:rotate(-45deg)}.learner-avatar{background:linear-gradient(145deg,#fff,#f2ecfb);border-radius:19px;flex:0 0 56px;place-items:center;width:56px;height:56px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #452a5b1c}.learner-avatar img{object-fit:contain;filter:drop-shadow(0 5px 7px #371e5021);width:92%;height:92%;display:block}.message-list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:5px 3px 18px;display:flex;overflow-y:auto}.message{width:fit-content;max-width:94%;animation:.22s ease-out message-in}.message p{border:1px solid var(--line);background:#fff;border-radius:15px 15px 15px 5px;margin:0;padding:11px 13px;font-size:13px;line-height:1.45;box-shadow:0 5px 15px #1c192209}.message.learner{align-self:flex-end}.message.learner p{background:var(--purple-soft);border-color:#e3d5ff;border-radius:15px 15px 5px}.message.tutor.is-listenable{cursor:pointer;outline:none}.message.tutor.is-listenable p{transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s}.message.tutor.is-listenable:hover p,.message.tutor.is-listenable:focus-visible p{background:#faf6ff;border-color:#cdb5f6;box-shadow:0 7px 20px #6622cf17}.message.tutor.is-playing p{color:#5620a7;background:linear-gradient(135deg,#f2e9ff,#fbf8ff);border-color:#aa7ce9;transform:translateY(-1px);box-shadow:0 0 0 3px #6622cf1a,0 9px 24px #6622cf1f}.thinking{color:#8a8790;align-items:center;gap:4px;padding:8px 5px;font-size:11px;display:flex}.thinking span{background:#9d79db;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite pulse}.thinking span:nth-child(2){animation-delay:.13s}.thinking span:nth-child(3){margin-right:4px;animation-delay:.26s}.chat-input{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:8px;min-height:47px;padding:6px 6px 6px 14px;display:flex}.chat-input:focus-within{border-color:#bda2ec;box-shadow:0 0 0 3px #6622cf14}.chat-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.chat-input input::placeholder{color:#aaa8b1}.chat-input button{color:#fff;background:var(--purple);cursor:pointer;border:0;border-radius:11px;flex:0 0 34px;width:34px;height:34px;font-size:17px;font-weight:800}.chat-input button:disabled{opacity:.35;cursor:default}.chat-input .voice-button{color:var(--purple);background:#f1eaff;place-items:center;display:grid}.chat-input .voice-button svg{width:19px;height:19px;display:block}.chat-input .voice-button.is-listening{color:#fff;background:#d84b73;animation:1.15s ease-in-out infinite voice-pulse}.chat-input.is-recording{background:linear-gradient(135deg,#242426,#38383a);border-color:#4a4850;border-radius:999px;gap:7px;min-width:0;padding:5px;box-shadow:0 8px 22px #16141933}.chat-input.is-recording:focus-within{border-color:#4a4850;box-shadow:0 8px 22px #16141933}.chat-input .voice-record-cancel,.chat-input .voice-record-send{border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.chat-input .voice-record-cancel{color:#fff;background:#66666a;font-size:22px;font-weight:400}.chat-input .voice-record-send{color:#fff;background:linear-gradient(145deg,#3dc1bf,#6ccfc2);font-size:20px}.voice-record-wave{flex:1;justify-content:space-around;align-items:center;gap:2px;min-width:0;height:34px;display:flex;overflow:hidden}.voice-record-wave i{transform-origin:50%;background:linear-gradient(#b9da68,#45bdbb);border-radius:999px;width:3px;min-width:2px;max-height:29px;animation:.78s ease-in-out infinite alternate voice-wave;display:block}.chat-error{color:#a84646;margin:8px 4px 0;font-size:10px;line-height:1.3}.activity-panel{background:#fff;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:clamp(18px,2.5vw,34px);display:grid;overflow:hidden}.activity-copy{text-align:center}.activity-copy span{color:var(--purple);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800}.activity-copy h1{color:#25232b;margin:7px 0 0;font-family:Montserrat,Inter,sans-serif;font-size:clamp(17px,2vw,25px);font-weight:700}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.instruction-replay{color:#7137df;cursor:pointer;background:#fff;border:1px solid #ddd8e8;border-radius:50%;place-items:center;width:36px;height:36px;margin:7px auto 0;font-size:16px;display:grid;box-shadow:0 6px 16px #4f2f7d14}.instruction-replay:hover{background:#f8f4ff;border-color:#8a52ee}.activity-stage{contain:layout size;place-items:center;min-width:0;max-width:100%;min-height:0;max-height:100%;padding:16px 0;display:grid;position:relative;overflow:hidden}.time-limit-card{z-index:5;text-align:center;background:#fffffff7;border:1px solid #e7dff0;border-radius:24px;flex-direction:column;align-items:center;width:min(430px,100% - 28px);padding:30px;display:flex;box-shadow:0 24px 65px #30203e26}.activity-stage>.time-limit-card{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.time-limit-card .kody-character-avatar{width:68px;height:68px;margin-bottom:10px}.time-limit-card h2{letter-spacing:-.035em;margin:4px 0 8px;font:800 24px Montserrat,Inter,sans-serif}.time-limit-card p{color:#766f7b;margin:0;font-size:12px;line-height:1.55}.time-limit-card a{color:#fff;background:var(--purple);border-radius:999px;margin-top:20px;padding:12px 23px;font-size:11px;font-weight:800;text-decoration:none}.diagnostic-time-limit{place-self:center}.time-context-warning{z-index:12;color:#72520d;text-align:center;background:#fff8e7;border:1px solid #f0d49d;border-radius:12px;width:min(480px,100% - 28px);padding:11px 15px;font-size:10px;font-weight:700;position:absolute;top:78px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #3e2d121a}.tool-frame{background:#fff;border:0;border-radius:19px;width:100%;max-width:100%;height:100%;max-height:100%}.fraction-stage{grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:14px;width:min(560px,86%);height:100%;max-height:100%;display:grid;overflow:hidden}.fraction-visual{aspect-ratio:1;width:auto;max-width:100%;height:min(100%,330px)}.fraction-visual svg{filter:drop-shadow(0 14px 22px #37254f14);width:100%;height:100%;overflow:visible}.fraction-visual polygon{fill:#fff;stroke:#312b3b;stroke-width:1.15px;cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:fill .17s,stroke .17s,filter .17s,transform .17s}.fraction-visual polygon:hover{fill:#f5efff;transform:scale(.985)}.fraction-visual polygon.is-selected{fill:#a875ed;stroke:#5b23aa}.fraction-visual .is-highlighted polygon{stroke:#ffae16;stroke-width:2.1px;filter:drop-shadow(0 0 4px #ffae168c)}.fraction-visual text{fill:#51495e;text-anchor:middle;pointer-events:none;font-size:6px;font-weight:800}.fraction-visual polygon.is-selected+text{fill:#fff}.fraction-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.fraction-controls button{color:#4f4a56;cursor:pointer;background:#fff;border:1px solid #dedbe3;border-radius:12px;width:44px;height:44px;font-weight:800;transition:all .16s}.fraction-controls button:hover{background:#faf7ff;border-color:#ad8fdf}.fraction-controls button.active{border-color:var(--purple);color:#fff;background:var(--purple);box-shadow:0 6px 16px #6622cf33}.attribute-activity{align-content:center;justify-items:center;width:min(690px,94%);height:min(100%,320px);max-height:100%;display:grid;overflow:hidden}.attribute-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;height:100%;display:grid}.attribute-grid button{color:#6d36d0;cursor:pointer;background:linear-gradient(145deg,#fffffffa,#f7f4fbeb);border:2px solid #5c487417;border-radius:23px;place-items:center;min-width:0;min-height:0;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #33244312,inset 0 1px #fff}.attribute-grid button:hover,.attribute-grid button:focus-visible{background:#fff;border-color:#d8c8ef;outline:0;transform:translateY(-3px);box-shadow:0 14px 30px #3d2a4d17}.attribute-grid button.is-selected{border-color:var(--purple);background:linear-gradient(145deg,#fff,#f5edff);box-shadow:0 12px 27px #6622cf21}.attribute-grid button.is-highlighted{animation:1.15s ease-in-out infinite alternate attribute-glow}.attribute-grid button>i{opacity:0;color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:9px;right:9px;transform:scale(.7);box-shadow:0 5px 12px #6622cf40}.attribute-grid button.is-selected>i{opacity:1;transform:scale(1)}.attribute-shape{filter:drop-shadow(0 10px 12px #32263d24);width:90px;height:90px;transition:transform .16s;overflow:visible}.attribute-grid button:hover .attribute-shape{transform:scale(1.04)}.attribute-shape.size-small{width:64px;height:64px}.attribute-shape.color-purple{color:#7d38dc}.attribute-shape.color-blue{color:#3475dd}.attribute-shape.color-yellow{color:#f4b923}.attribute-shape.color-cyan{color:#16b9c8}.attribute-shape.color-pink{color:#e85da7}.attribute-grid.layout-orbit{background:radial-gradient(#6f3ddc0e,#0000 62%);border-radius:32px;grid-template-rows:repeat(2,minmax(84px,1fr));grid-template-columns:repeat(8,minmax(0,1fr));gap:10px 8px;min-height:188px;position:relative}.attribute-grid.layout-orbit button{aspect-ratio:1;background:linear-gradient(145deg,#fffffffc,#f6f2fbf0);border-radius:30px;place-self:center;width:min(100%,126px);height:auto;position:relative}.attribute-grid.layout-orbit button:first-child{grid-area:1/1/auto/3}.attribute-grid.layout-orbit button:nth-child(2){grid-area:1/3/auto/5}.attribute-grid.layout-orbit button:nth-child(3){grid-area:1/5/auto/7}.attribute-grid.layout-orbit button:nth-child(4){grid-area:1/7/auto/9}.attribute-grid.layout-orbit button:nth-child(5){grid-area:2/2/auto/4}.attribute-grid.layout-orbit button:nth-child(6){grid-area:2/4/auto/6}.attribute-grid.layout-orbit button:nth-child(7){grid-area:2/6/auto/8}.attribute-grid.layout-trail{background:linear-gradient(165deg,#0000 25%,#6343b31a 25.5% 26%,#0000 26.5% 73%,#6343b31a 73.5% 74%,#0000 74.5%);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;position:relative}.attribute-grid.layout-trail button:nth-child(2n){transform:translateY(10px)}.attribute-grid.layout-trail button:nth-child(odd){transform:translateY(-8px)}.attribute-grid.layout-trail button:hover,.attribute-grid.layout-trail button:focus-visible{transform:translateY(-4px)scale(1.02)}.attribute-grid.layout-shelves{background:linear-gradient(#0000 47%,#e1d9ec 47.5% 49%,#0000 49.5% 96%,#e1d9ec 96.5% 98%,#0000 98.5%);padding:4px 8px}.attribute-grid.layout-shelves button{background:linear-gradient(#fff,#faf8fc);border-radius:16px 16px 8px 8px}.attribute-grid.layout-constellation{background:radial-gradient(circle at 18% 22%,#c9b8ff 0 2px,#0000 3px),radial-gradient(circle at 72% 18%,#8edff0 0 2px,#0000 3px),radial-gradient(circle at 50% 78%,#ffd56f 0 2px,#0000 3px);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px}.attribute-grid.layout-constellation button{background:#ffffffbd;border-color:#ece7f2;border-radius:50%}.attribute-grid.layout-constellation button:nth-child(2),.attribute-grid.layout-constellation button:nth-child(6){transform:translateY(12px)}.attribute-grid.layout-constellation button:nth-child(4){transform:translateY(-8px)}.logic-choice-activity{align-content:center;gap:22px;width:min(760px,96%);height:min(100%,360px);display:grid;overflow:hidden}.logic-rule-examples{background:linear-gradient(145deg,#fff,#faf7ff);border:1px solid #e4dfeb;border-radius:24px;justify-content:center;align-items:center;gap:20px;width:min(430px,80%);margin:0 auto;padding:12px 18px;display:flex}.logic-rule-examples>div{place-items:center;width:82px;height:82px;display:grid}.logic-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.logic-choice-grid button{min-width:0;min-height:132px;color:var(--ink);cursor:pointer;background:#ffffffd6;border:2px solid #e2dce9;border-radius:24px;align-content:center;place-items:center;gap:12px;padding:16px 12px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.logic-choice-grid button:hover,.logic-choice-grid button:focus-visible{border-color:#cdb9ec;outline:0;transform:translateY(-3px);box-shadow:0 14px 30px #3d2a4d17}.logic-choice-grid button.is-selected{border-color:var(--purple);background:linear-gradient(145deg,#fff,#f4ecff);box-shadow:0 12px 27px #6622cf21}.logic-choice-grid button.is-highlighted{animation:1.15s ease-in-out infinite alternate attribute-glow}.logic-choice-grid button>strong{font-size:14px;line-height:1.25}.logic-choice-grid button>i{opacity:0;color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:10px;right:10px;transform:scale(.7)}.logic-choice-grid button.is-selected>i{opacity:1;transform:scale(1)}.logic-rule-mark{color:#7650df;background:linear-gradient(145deg,#eee8ff,#fff);border-radius:16px;place-items:center;width:52px;height:52px;font-size:31px;display:grid}.relation-diagram{width:96px;height:54px;display:block;position:relative}.relation-diagram b,.relation-diagram i{background:#7c50df1a;border:3px solid #7750df;border-radius:50%;width:50px;height:50px;position:absolute}.relation-diagram b{top:2px;left:8px}.relation-diagram i{top:2px;right:8px}.relation-diagram.nested b{width:82px;left:7px}.relation-diagram.nested i{background:#21be8433;border-color:#22b982;width:30px;height:30px;top:13px;right:24px}.relation-diagram.overlap b{left:8px}.relation-diagram.overlap i{right:8px}.relation-diagram.separate b{left:0}.relation-diagram.separate i{right:0}.logic-complete-card{text-align:center;flex-direction:column;align-items:center;width:min(440px,100% - 20px);display:flex}.logic-complete-card .kody-character-celebration{width:105px;height:140px}.logic-complete-card>span{color:var(--purple);letter-spacing:.14em;margin-top:4px;font-size:9px;font-weight:850}.logic-complete-card h2{letter-spacing:-.04em;margin:8px 0;font:800 clamp(25px,3vw,36px) Montserrat,Inter,sans-serif}.logic-complete-card p{color:#77707c;margin:0;font-size:12px;line-height:1.55}.logic-complete-card a{color:#fff;background:var(--purple);border-radius:999px;margin-top:20px;padding:13px 24px;font-size:11px;font-weight:800;text-decoration:none}.activity-exit{border-radius:999px;place-items:center;min-height:44px;padding:0 27px;font-size:12px;font-weight:800;text-decoration:none;display:grid}@keyframes attribute-glow{0%{border-color:#d7c5ed;box-shadow:0 0 #6622cf0f}to{border-color:#8a51dc;box-shadow:0 0 0 6px #6622cf17}}.route-overview-page{background:radial-gradient(at 10% 4%,#7748dc1f,#0000 34%),radial-gradient(at 91% 7%,#ffd24c1f,#0000 31%),radial-gradient(at 88% 94%,#00ccfe1a,#0000 35%),radial-gradient(at 13% 92%,#8e53e20e,#0000 30%),#fff;place-items:stretch stretch;padding:0}.route-overview-shell{width:100%;height:100dvh;min-height:650px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:90px 58px auto minmax(0,1fr) 130px;display:grid;overflow:hidden}.route-overview-nav{align-items:center;padding:0 clamp(34px,5vw,76px);display:flex}.route-overview-topbar{border-bottom:1px solid #f1eef3;grid-template-columns:70px 1fr 70px;align-items:center;padding:0 28px;display:grid}.route-overview-topbar>button{color:#77717e;cursor:pointer;background:0 0;border:0;border-radius:50%;width:42px;height:42px;font-size:27px}.route-overview-topbar>button:hover{color:var(--purple);background:var(--purple-soft)}.route-overview-profile{justify-self:center;align-items:center;gap:9px;display:flex}.route-overview-profile .learner-avatar{border-radius:13px;flex-basis:39px;width:39px;height:39px}.route-overview-profile b,.route-overview-profile small{display:block}.route-overview-profile b{font-size:11px}.route-overview-profile small{color:#918b95;margin-top:2px;font-size:8px}.route-overview-percent{color:#169854;justify-self:end;font:800 12px Montserrat,Inter,sans-serif}.route-overview-intro{text-align:center;padding:0 34px 18px}.route-overview-eyebrow{color:#878392;letter-spacing:.17em;font-size:9px;font-weight:850}.route-overview-intro h1{letter-spacing:-.045em;margin:12px 0 7px;font:800 clamp(31px,3.5vw,46px) Montserrat,Inter,sans-serif}.route-overview-intro>p{color:#797783;max-width:590px;margin:0 auto;font-size:13px;line-height:1.55}.route-overview-total{width:min(430px,80%);margin:20px auto 0}.route-overview-total>i{background:#e9edf0;border-radius:999px;height:6px;display:block;overflow:hidden}.route-overview-total>i span{border-radius:inherit;background:linear-gradient(90deg,#22ba69,#52d98e);height:100%;display:block}.route-overview-total small{color:#777582;margin-top:8px;font-size:9px;font-weight:700;display:block}.logic-map{grid-template-columns:245px minmax(0,1fr);align-items:center;gap:clamp(38px,5vw,72px);width:min(1080px,100% - 70px);min-height:0;margin:0 auto;padding:8px 0 12px;display:grid;overflow:auto}.logic-map-current{text-align:center}.logic-map-orbit{background:radial-gradient(circle,#ffffffeb 0 46%,#7b4cdd14 47% 70%,#0000 71%);border-radius:50%;place-items:center;width:154px;height:154px;margin:0 auto 14px;display:grid;position:relative}.logic-map-orbit:before{content:"";background:linear-gradient(145deg,#712fde14,#00ccfe0a);border-radius:50%;position:absolute;inset:0}.logic-map-orbit:after{content:none}.logic-map-orbit .learner-avatar{filter:drop-shadow(0 13px 15px #42246b29);border-radius:34px;width:104px;height:104px}.logic-map-current>span{color:#858090;letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:850}.logic-map-current h2{letter-spacing:-.035em;max-width:220px;margin:10px auto 6px;font:800 22px/1.22 Montserrat,Inter,sans-serif}.logic-map-current p{color:#7d7986;margin:0;font-size:11px}.logic-map-current>i{background:#e9edf0;border-radius:999px;width:164px;height:6px;margin:14px auto 0;display:block;overflow:hidden}.logic-map-current>i span{border-radius:inherit;background:linear-gradient(90deg,#22ba69,#52d98e);height:100%;display:block}.mastery-state{color:#766f7b;letter-spacing:.04em;background:#f5f3f6;border-radius:999px;width:max-content;margin:8px auto 0;padding:5px 9px;font-size:7px;font-weight:800;display:block}.mastery-state.is-autonomous,.mastery-state.is-consolidated{color:#147a43;background:#eaf8f0}.logic-map ol{gap:17px;margin:0;padding:0;list-style:none;display:grid;position:relative}.logic-map li{grid-template-columns:155px minmax(0,1fr);align-items:center;gap:21px;min-height:53px;display:grid;position:relative}.logic-family-label{text-align:right}.logic-family-label b,.logic-family-label small{display:block}.logic-family-label b{color:#292936;font-size:12px}.logic-family-label small{color:#888593;margin-top:4px;font-size:9px}.logic-family-path{--path-progress:0%;z-index:2;direction:ltr;grid-template-columns:repeat(6,minmax(34px,1fr));align-items:center;min-width:0;display:grid;position:relative}.logic-map li.is-reverse .logic-family-path{direction:rtl}.logic-family-path:before,.logic-family-path:after{content:"";z-index:-1;background:#d9d9e2;border-radius:999px;width:83.3333%;height:3px;position:absolute;top:50%;left:8.33333%;transform:translateY(-50%)}.logic-family-path:after{width:var(--path-progress);background:#27bd6d}.logic-map li.is-reverse .logic-family-path:after{left:auto;right:8.33333%}.logic-family-path>span{justify-self:center;place-items:center;display:grid}.logic-family-path i{color:#74727f;background:#ffffffc2;border:1.5px solid #b9b8c5;border-radius:50%;place-items:center;width:42px;height:42px;font-size:11px;font-style:normal;font-weight:800;display:grid;box-shadow:0 2px #30263906}.logic-family-path .is-current i{color:#fff;background:linear-gradient(145deg,#8b53ed,#6530d7);border:7px solid #e4d8ff;width:50px;height:50px;box-shadow:0 9px 22px #6630d745}.logic-family-path .is-completed i{color:#fff;background:#27bd6d;border-color:#27bd6d}.logic-turn{z-index:1;pointer-events:none;border:3px solid #d9d9e2;border-left:0;border-radius:0 999px 999px 0;width:20px;height:calc(100% + 17px);position:absolute;top:50%;right:calc(8.33333% - 34.6667px)}.logic-map li.is-reverse .logic-turn{border:3px solid #d9d9e2;border-right:0;border-radius:999px 0 0 999px;left:calc(8.33333% + 141.333px);right:auto}.logic-map li.is-complete-family .logic-turn{border-color:#27bd6d}.route-overview-footer{border-top:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:15px;padding:10px 34px 22px;display:flex}.route-overview-footer>button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#222,#3a3a3a);border:0;border-radius:999px;justify-content:center;align-items:center;gap:20px;min-width:345px;min-height:66px;padding:0 30px;font-size:16px;font-weight:850;display:flex;box-shadow:0 13px 28px #19191c2e}.route-overview-footer>button:hover{transform:translateY(-1px)}.route-overview-footer>button span{font-size:22px}.activity-footer{border-top:1px solid #f0eef2;grid-template-columns:minmax(0,1fr) minmax(180px,auto) minmax(0,1fr);align-items:center;gap:18px;padding-top:15px;display:grid}.feedback{min-height:22px;color:var(--muted);text-align:center;grid-column:2;font-size:12px;line-height:1.45}.feedback.success{color:#147a43;font-weight:700}.feedback.error{color:#aa4c38}.activity-buttons{grid-column:3;justify-self:end;gap:9px;display:flex}.activity-buttons button{cursor:pointer;border-radius:13px;min-height:44px;padding:0 22px;font-size:12px;font-weight:800}.secondary-action{color:#3f3b46;background:#f5f4f6;border:1px solid #dedbe3}.primary-action{color:#19151f;background:linear-gradient(180deg, #ffdb63, var(--yellow));border:0;min-width:150px;box-shadow:0 7px 17px #e1ae1536}.primary-action:disabled{color:#929098;box-shadow:none;cursor:default;background:#e7e6e9}.primary-action.awaiting-reply{color:#fff;background:linear-gradient(135deg,#6622cf,#8b4be1);box-shadow:0 8px 20px #6622cf38}.secondary-action:hover,.secondary-action:focus-visible,.primary-action:hover,.primary-action:focus-visible{outline:none;transform:translateY(-1px)}.mobile-chat-trigger,.chat-backdrop,.desktop-chat-trigger{display:none}.boot-screen{min-height:100dvh;color:var(--muted);background:#f8f5fb;place-content:center;justify-items:center;gap:14px;display:grid}.boot-screen .kody-character-avatar{border-radius:23px;width:72px;height:72px}.boot-screen .kody-character-avatar img{width:120px}.boot-mark{color:#fff;background:var(--purple);border-radius:18px;place-items:center;width:55px;height:55px;font-family:Montserrat,sans-serif;font-weight:800;display:grid;transform:rotate(45deg)}.boot-screen p{margin:0;font-size:14px}.error-screen button{color:#fff;background:var(--purple);border:0;border-radius:12px;min-height:44px;padding:0 18px;font-weight:700}@keyframes pulse{0%,70%,to{opacity:.28;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}}@keyframes voice-wave{0%{opacity:.6;transform:scaleY(.35)}45%{opacity:1;transform:scaleY(1)}to{opacity:.72;transform:scaleY(.58)}}@media (width>=768px){.learning-shell.chat-collapsed{grid-template-columns:0 minmax(0,1fr)}.learning-shell.chat-collapsed .chat-panel{opacity:0;pointer-events:none;border-right-color:#0000;padding-inline:0;overflow:hidden}.learning-shell.chat-collapsed .desktop-chat-trigger{z-index:5;color:#4b4552;cursor:pointer;background:#fffffff5;border:1px solid #ded5ea;border-radius:50%;place-items:center;width:66px;height:66px;padding:5px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:absolute;bottom:20px;left:18px;box-shadow:0 12px 30px #34234629}.learning-shell.chat-collapsed .desktop-chat-trigger:hover,.learning-shell.chat-collapsed .desktop-chat-trigger:focus-visible{border-color:#bca1eb;outline:0;transform:translateY(-2px);box-shadow:0 14px 30px #4a26732e}.desktop-chat-trigger .kody-character-avatar{border-radius:50%;flex-basis:54px;width:54px;height:54px}.desktop-chat-trigger .kody-character-avatar img{width:86px}.desktop-chat-trigger.awaiting-reply{animation:1.15s ease-in-out infinite voice-pulse;border:3px solid #8e54ed!important}}@media (width<=900px){.learning-shell{grid-template-columns:260px minmax(0,1fr)}.activity-panel{padding-inline:20px}.activity-footer{grid-template-columns:1fr;gap:10px}.feedback{grid-column:1}.activity-buttons{grid-column:1;justify-content:flex-end;justify-self:end}}@media (height<=760px) and (width>=768px){.learning-shell{grid-template-rows:58px minmax(0,1fr);min-height:0}.topbar{padding-inline:18px}.chat-panel{padding-block:18px 15px}.activity-panel{padding-block:18px}.activity-stage{padding-block:8px}.fraction-stage{gap:12px}.fraction-visual{width:min(250px,56%)}.fraction-controls button{width:38px;height:38px}.activity-footer{padding-top:10px}}@media (width<=767px){body{overflow:hidden}.tutor-page{background:#fff;place-items:stretch stretch;padding:0}.learning-shell{width:100%;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0;grid-template:56px minmax(0,1fr)/1fr}.topbar{grid-area:1/1;grid-template-columns:40px 1fr auto;gap:8px;padding:0 10px}.icon-button{width:40px;height:40px}.progress-track{width:74%}.time-budget{min-width:56px;padding-inline:7px;font-size:9px}.top-actions .icon-button{display:none}.top-actions .settings-trigger{display:grid}.activity-panel{grid-area:2/1;padding:14px 14px 10px}.activity-copy span{display:none}.activity-copy h1{margin-top:0;font-size:clamp(16px,4.6vw,20px)}.activity-stage{padding:8px 0}.fraction-stage{gap:8px;width:100%;height:100%}.fraction-visual{width:auto;max-width:63vw;height:min(100%,245px)}.fraction-controls{gap:6px}.fraction-controls button{border-radius:11px;width:42px;height:42px}.attribute-activity{width:100%;height:100%;max-height:280px}.attribute-grid{grid-template-columns:repeat(3,1fr);gap:7px}.attribute-grid button{border-radius:17px;min-height:0}.attribute-shape{width:min(64px,16vw,10dvh);height:min(64px,16vw,10dvh)}.attribute-shape.size-small{width:min(45px,12vw,7.5dvh);height:min(45px,12vw,7.5dvh)}.attribute-grid button>i{width:20px;height:20px;font-size:10px;top:6px;right:6px}.logic-choice-activity{gap:10px;width:100%;height:100%}.logic-rule-examples{border-radius:17px;gap:10px;padding:7px 12px}.logic-rule-examples>div{width:min(58px,15vw,9dvh);height:min(58px,15vw,9dvh)}.logic-choice-grid{gap:7px}.logic-choice-grid button{border-radius:17px;gap:7px;min-height:min(118px,18dvh);padding:10px 6px}.logic-choice-grid button>strong{font-size:12px}.relation-diagram{transform:scale(.78)}.activity-footer{flex-direction:column;align-items:stretch;gap:8px;padding-top:9px;display:flex}.feedback{text-align:center;min-height:17px;font-size:11px}.activity-buttons{width:100%}.activity-buttons button{flex:1;padding-inline:9px}.secondary-action{display:none}.primary-action{width:100%}.mobile-chat-trigger{z-index:6;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:62px;height:62px;color:var(--ink);cursor:pointer;background:#fffffff5;border:1px solid #ded5ea;border-radius:50%;place-items:center;padding:5px;display:grid;position:absolute;box-shadow:0 12px 30px #3423462e}.mobile-chat-trigger .kody-character-avatar{border-radius:50%;flex-basis:50px;width:50px;height:50px}.mobile-chat-trigger .kody-character-avatar img{width:80px}.mobile-chat-trigger.awaiting-reply{border:3px solid #8e54ed;animation:1.15s ease-in-out infinite voice-pulse}.chat-backdrop{z-index:8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f172a40;border:0;display:block;position:fixed;inset:0}.chat-panel{z-index:9;height:min(72dvh,620px);padding:15px 14px calc(14px + env(safe-area-inset-bottom));visibility:hidden;border:0;border-radius:24px 24px 0 0;transition:transform .25s,visibility .25s;position:fixed;inset:auto 0 0;transform:translateY(104%);box-shadow:0 -20px 60px #21162f29}.chat-panel.is-open{visibility:visible;transform:translateY(0)}.chat-heading{padding-bottom:12px}.chat-close{flex-basis:40px;width:40px;height:40px;font-size:22px}.message p{font-size:13px}.chat-input{min-height:50px}.route-overview-page{height:auto;min-height:100dvh;overflow:auto}.route-overview-shell{width:100%;height:auto;min-height:100dvh;box-shadow:none;border:0;border-radius:0;grid-template-rows:68px 48px auto auto 96px;overflow:visible}.route-overview-nav{padding:0 17px}.route-overview-intro{padding:4px 20px 10px}.route-overview-intro h1{margin-top:7px;font-size:27px}.route-overview-intro>p{font-size:9px}.route-overview-total{width:85%;margin-top:12px}.logic-map{grid-template-columns:1fr;align-items:start;gap:18px;width:calc(100% - 28px);padding:12px 0 20px;overflow:visible}.logic-map-current{text-align:left;grid-template-rows:auto auto auto auto auto;grid-template-columns:70px minmax(0,1fr);align-items:center;column-gap:14px;display:grid}.logic-map-orbit{grid-row:1/6;width:66px;height:66px;margin:0}.logic-map-orbit .learner-avatar{border-radius:15px;width:46px;height:46px}.logic-map-current h2{margin:3px 0;font-size:14px}.logic-map-current .mastery-state{margin:5px 0 0}.logic-map-current>i{width:100%;margin:6px 0 0}.logic-map ol{gap:11px}.logic-map li{grid-template-columns:76px minmax(0,1fr);gap:14px;min-height:40px}.logic-family-label b{font-size:8px}.logic-family-label small{font-size:6px}.logic-family-path{grid-template-columns:repeat(6,minmax(24px,1fr))}.logic-family-path i{width:25px;height:25px;font-size:7px}.logic-family-path .is-current i{border-width:4px;width:32px;height:32px}.logic-turn{width:15px;height:calc(100% + 11px);right:calc(8.33333% - 22.5px)}.logic-map li.is-reverse .logic-turn{left:calc(8.33333% + 67.5px)}.route-overview-footer{padding:7px 15px calc(12px + env(safe-area-inset-bottom));gap:6px}.route-overview-footer>button{width:100%;min-width:0;min-height:50px;font-size:12px}.route-overview-footer>small{font-size:8px}}@media (width<=380px),(height<=660px) and (width<=767px){.learning-shell{grid-template-rows:50px minmax(0,1fr)}.activity-panel{padding-top:8px}.activity-copy h1{font-size:15px}.fraction-visual{width:auto;max-width:55vw;height:min(100%,205px)}.fraction-controls button{width:38px;height:38px}.attribute-grid button{min-height:0}.attribute-shape{width:min(54px,15vw,9dvh);height:min(54px,15vw,9dvh)}.attribute-shape.size-small{width:min(39px,11vw,6.5dvh);height:min(39px,11vw,6.5dvh)}.activity-footer{padding-top:6px}.activity-buttons button{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.welcome-page{background:radial-gradient(at 10% 4%,#7748dc1f,#0000 34%),radial-gradient(at 91% 7%,#ffd24c1f,#0000 31%),radial-gradient(at 88% 94%,#00ccfe1a,#0000 35%),radial-gradient(at 13% 92%,#8e53e20e,#0000 30%),#fff;place-items:stretch stretch;padding:0}.welcome-shell{width:100%;height:100dvh;min-height:620px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:88px minmax(0,1fr) 116px;display:grid;overflow:hidden}.welcome-topbar{grid-template-columns:42px minmax(180px,1fr) 42px;align-items:center;gap:18px;width:min(760px,100% - 44px);margin:0 auto;display:grid}.welcome-icon-button{color:#77717e;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:30px;line-height:1;display:grid}.welcome-icon-button:hover{color:var(--purple);background:var(--purple-soft)}.welcome-icon-button.sound{font-size:17px;font-weight:800}.welcome-icon-button.sound.active{color:var(--purple)}.welcome-progress{align-items:center;gap:5px;display:flex}.welcome-progress i{background:#ece9ef;border-radius:999px;flex:1;min-width:12px;height:7px;transition:background .22s,transform .22s}.welcome-progress i.active{background:linear-gradient(90deg,#20b968,#52d78d)}.welcome-step{place-items:center;width:min(900px,100% - 40px);min-height:0;margin:0 auto;padding:10px 0;animation:.3s cubic-bezier(.2,.75,.3,1) welcome-in;display:grid;overflow:auto}.welcome-intro{text-align:center;max-width:480px}.welcome-intro .kody-character-hero{margin:0 auto}.welcome-intro h1{letter-spacing:-.045em;margin:28px 0 8px;font:800 clamp(29px,3.3vw,42px) Montserrat,Inter,sans-serif}.welcome-intro p{color:#77717d;max-width:430px;margin:0 auto;font-size:15px;line-height:1.55}.welcome-kody{color:#fff;background:linear-gradient(145deg,var(--purple) 10%,#8b4ee6 62%,var(--cyan));border-radius:25px 34px;place-items:center;width:86px;height:86px;margin:0 auto;display:grid;position:relative;transform:rotate(45deg);box-shadow:0 18px 40px #6622cf45}.welcome-kody:after{content:"";border-radius:inherit;border:1px solid #ffffff3d;position:absolute;inset:7px}.welcome-kody>span{z-index:2;font:800 31px Montserrat,Inter,sans-serif;transform:rotate(-45deg)}.welcome-kody>i,.welcome-kody>b{background:var(--yellow);border-radius:50%;width:14px;height:14px;position:absolute;transform:rotate(-45deg)}.welcome-kody>i{top:14px;right:-4px}.welcome-kody>b{background:var(--cyan);width:9px;height:9px;bottom:-3px;left:8px}.welcome-kody.small{border-radius:17px 23px;flex:0 0 56px;width:56px;height:56px;box-shadow:0 10px 26px #6622cf36}.welcome-kody.small>span{font-size:20px}.welcome-kody.small>i{width:9px;height:9px}.welcome-kody.small>b{width:6px;height:6px}.welcome-question{align-self:center;width:100%;max-width:800px}.wizard-heading{align-items:center;gap:25px;width:min(650px,100%);margin:0 auto 58px;display:flex}.wizard-heading .kody-character-avatar{border-radius:19px;width:58px;height:58px;margin:0}.wizard-heading .kody-character-avatar img{width:96px}.wizard-heading h1{letter-spacing:-.035em;margin:0;font:800 clamp(22px,2.3vw,31px) Montserrat,Inter,sans-serif}.wizard-heading p{color:#7c7582;margin:7px 0 0;font-size:12px;line-height:1.5}.welcome-name-field{gap:9px;width:min(500px,100%);margin:0 auto;display:grid}.welcome-name-field span{color:#5f5765;font-size:11px;font-weight:800}.welcome-name-field input{color:#2d2733;background:#fff;border:2px solid #ddd7e3;border-radius:16px;outline:0;height:66px;padding:0 20px;font-size:18px}.welcome-name-field input:focus{border-color:var(--purple);box-shadow:0 0 0 5px #6622cf14}.avatar-question .wizard-heading{margin-bottom:26px}.avatar-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:min(720px,100%);margin:0 auto;display:grid}.avatar-choice-grid button{color:#38313d;cursor:pointer;background:#f8f7f9;border:2px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:165px;padding:15px 7px 12px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.avatar-choice-grid button:hover{background:#fff;transform:translateY(-3px)}.avatar-choice-grid button.selected{background:linear-gradient(155deg,#fff,#edfbf3);border-color:#23b96b;box-shadow:0 12px 27px #199c5821}.avatar-choice-grid .learner-avatar{background:#fff;border-radius:24px;flex-basis:78px;width:78px;height:78px}.avatar-choice-grid b{margin-top:10px;font-size:11px}.avatar-choice-grid small{color:#918a95;margin-top:3px;font-size:7px}.avatar-choice-grid button>span:last-child{color:#fff;opacity:0;background:#20b968;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:900;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:9px;right:9px;transform:scale(.7)}.avatar-choice-grid button.selected>span:last-child{opacity:1;transform:scale(1)}.welcome-card-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.welcome-card-grid button,.audio-choice-grid button{color:#363039;cursor:pointer;background:#f8f7f9;border:2px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:196px;padding:22px 15px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:flex}.welcome-card-grid button:hover,.audio-choice-grid button:hover{background:#fbf9ff;transform:translateY(-3px)}.welcome-card-grid button.selected,.audio-choice-grid button.selected{border-color:var(--purple);background:linear-gradient(160deg,#faf7ff,#f0e7ff);box-shadow:0 13px 30px #6622cf1f}.welcome-card-grid button>i{width:60px;height:60px;color:var(--purple);background:#fff;border-radius:19px;place-items:center;font-size:27px;font-style:normal;display:grid;box-shadow:0 9px 24px #38274914}.welcome-card-grid button>b,.audio-choice-grid button>b{margin-top:17px;font-size:12px}.welcome-card-grid button>small,.audio-choice-grid button>small{color:#89828e;margin-top:6px;font-size:9px;line-height:1.4}.goal-cards button>i{color:#6f36d5;background:linear-gradient(145deg,#fff,#f3edff);border:1px solid #6622cf14}.goal-cards button:nth-child(2)>i{color:#266dcc;background:linear-gradient(145deg,#fff,#edf5ff)}.goal-cards button:nth-child(3)>i{color:#a26709;background:linear-gradient(145deg,#fff,#fff6de)}.goal-cards button:nth-child(4)>i{color:#087d87;background:linear-gradient(145deg,#fff,#e9fbfc)}.goal-cards svg{width:34px;height:34px;display:block}.audio-choice-grid{grid-template-columns:repeat(3,1fr);gap:14px;width:min(720px,100%);margin:0 auto;display:grid}.audio-choice-grid button{min-height:225px}.audio-choice-grid button>em{color:var(--purple);margin-top:13px;font-size:9px;font-style:normal;font-weight:800}.audio-orbit{color:#fff;background:linear-gradient(145deg,var(--purple),#a06aed);border-radius:50%;place-items:center;width:74px;height:74px;font-size:28px;font-weight:800;display:grid;box-shadow:0 0 0 12px #f0e8ff,0 14px 28px #6622cf33}.audio-orbit svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:38px;height:38px}.audio-orbit.calm{background:linear-gradient(145deg,#3e62c8,#6d8de7);box-shadow:0 0 0 12px #eaf0ff,0 14px 28px #3752a92e}.audio-orbit.quiet{color:#5b5362;background:#fff;font-size:18px;box-shadow:0 0 0 12px #eeecef,0 14px 28px #30253914}.voice-disclosure{color:#8a8490;text-align:center;margin:16px 0 0;font-size:10px}.settings-backdrop{z-index:40;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1f19263d;place-items:center;padding:18px;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.tutor-settings{background:#fff;border:1px solid #ffffffbf;border-radius:28px;width:min(660px,100%);max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 28px 80px #23192e33}.tutor-settings>header{border-bottom:1px solid #efebf2;justify-content:space-between;align-items:center;padding:24px 27px 18px;display:flex}.tutor-settings>header span{color:var(--purple);letter-spacing:.16em;font-size:8px;font-weight:850}.tutor-settings>header h2{letter-spacing:-.035em;margin:4px 0 0;font:800 24px Montserrat,Inter,sans-serif}.tutor-settings>header button{color:#716b76;cursor:pointer;background:#f5f3f6;border:0;border-radius:50%;width:38px;height:38px;font-size:24px}.settings-section{padding:22px 27px 16px}.settings-section h3{margin:0;font:750 14px Montserrat,Inter,sans-serif}.settings-section>p{color:var(--muted);margin:5px 0 17px;font-size:10px}.settings-voice-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.settings-voice-grid article{background:#faf9fb;border:1.5px solid #e9e5ec;border-radius:19px;min-width:0;padding:5px;transition:border-color .15s,background .15s,box-shadow .15s}.settings-voice-grid article.selected{border-color:var(--purple);background:#f8f3ff;box-shadow:0 9px 24px #6622cf1a}.voice-select{width:100%;min-height:126px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:13px 8px 8px;display:flex}.voice-select>span{color:#fff;background:linear-gradient(145deg,var(--purple),#9d67eb);border-radius:15px;place-items:center;width:46px;height:46px;display:grid}.voice-select>span.text-only{color:#5b5362;background:#eeecef;font-weight:800}.voice-select svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;width:25px;height:25px}.voice-select b{margin-top:10px;font-size:11px}.voice-select small{color:var(--muted);margin-top:4px;font-size:9px}.voice-preview{width:100%;color:var(--purple);cursor:pointer;background:0 0;border:0;border-top:1px solid #ebe6ef;padding:9px 5px;font-size:8px;font-weight:850}.settings-toggle{background:#fcfbfd;border:1px solid #ece7f0;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin:2px 27px 20px;padding:15px 17px;display:flex}.settings-toggle b,.settings-toggle small{display:block}.settings-toggle b{font-size:11px}.settings-toggle small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.4}.settings-toggle input{width:39px;height:22px;accent-color:var(--purple);cursor:pointer}.tutor-settings>footer{justify-content:flex-end;padding:0 27px 24px;display:flex}.tutor-settings>footer button{color:#fff;background:linear-gradient(135deg,var(--purple),#8d4be1);cursor:pointer;border:0;border-radius:999px;min-width:150px;padding:12px 24px;font-weight:800}.age-picker{grid-template-columns:62px minmax(150px,1fr) 62px;align-items:center;gap:16px;width:min(450px,100%);margin:0 auto;display:grid}.age-picker>button{width:62px;height:62px;color:var(--purple);cursor:pointer;background:#f8f5fd;border:1px solid #e1dce5;border-radius:18px;font-size:29px}.age-picker label{border:2px solid var(--purple);background:linear-gradient(145deg,#fff,#faf6ff);border-radius:22px;justify-content:center;align-items:center;gap:9px;height:112px;display:flex;box-shadow:0 16px 35px #6622cf1a}.age-picker input{color:#2d2733;text-align:right;background:0 0;border:0;outline:0;width:82px;font:800 42px Montserrat,Inter,sans-serif}.age-picker label span{color:#716978;font-size:13px;font-weight:700}.grade-cards button>i{color:#3b64c9;background:linear-gradient(145deg,#fff,#edf3ff);border-radius:12px;width:82px;font-family:Georgia,serif;font-size:22px}.grade-cards button:nth-child(2)>i{color:var(--purple);background:linear-gradient(145deg,#fff,#f2eaff)}.grade-cards button:nth-child(3)>i{color:#bd3d96;background:linear-gradient(145deg,#fff,#fff0fa)}.grade-cards button:nth-child(4)>i{color:#117d8d;background:linear-gradient(145deg,#fff,#eafcff)}.confidence-question .wizard-heading{margin-bottom:15px}.confidence-graphic{background:#fff;border:1px solid #ece8ef;border-radius:24px;width:300px;height:240px;margin:0 auto 17px;padding:10px;box-shadow:0 16px 38px #34284217}.confidence-graphic svg{width:100%;height:100%}.confidence-graphic line{stroke:#2d2931;stroke-width:2px}.confidence-graphic path{fill:#2d2931}.confidence-graphic circle{fill:var(--purple)}.confidence-graphic text{fill:#4a444f;font-size:13px;font-weight:700}.confidence-options{justify-content:center;gap:9px;display:flex}.confidence-options button{color:#514a57;cursor:pointer;background:#f8f7f9;border:1px solid #e1dce5;border-radius:999px;min-height:44px;padding:0 20px;font-size:11px;font-weight:800}.confidence-options button.selected{border-color:var(--purple);color:var(--purple);background:var(--purple-soft);box-shadow:inset 0 0 0 1px var(--purple)}.welcome-footer{align-content:center;place-items:center;padding:8px 20px 24px;display:grid}.welcome-footer p{color:#a3423c;margin:0 0 7px;font-size:10px}.welcome-continue{color:#fff;background:linear-gradient(135deg,var(--purple),#8750df);cursor:pointer;border:0;border-radius:16px;width:min(340px,100%);min-height:54px;font-size:13px;font-weight:800;box-shadow:0 12px 28px #6622cf38}.welcome-continue:disabled{color:#aaa4ad;box-shadow:none;cursor:default;background:#eeecef}.onboarding-shell{grid-template-columns:minmax(270px,29%) minmax(0,1fr)}.onboarding-topbar{grid-template-columns:48px minmax(150px,1fr) 48px}.onboarding-count{color:#8a8490;text-align:center;font-size:11px;font-weight:800}.onboarding-guide{border-right:1px solid var(--line);background:linear-gradient(#fdfcff,#faf8fd);flex-direction:column;min-height:0;padding:26px 22px;display:flex}.onboarding-message{margin-top:34px}.onboarding-message>p{color:#46404b;background:#fff;border:1px solid #e8e3ec;border-radius:18px 18px 18px 6px;margin:0;padding:16px 17px;font-size:13px;line-height:1.62;box-shadow:0 9px 28px #2c1f390d}.privacy-note{color:#837b89;background:#f2ebff8c;border:1px solid #6622cf14;border-radius:15px;gap:11px;margin-top:auto;padding:14px;font-size:10px;line-height:1.45;display:flex}.privacy-note>span{width:28px;height:28px;color:var(--purple);background:#fff;border-radius:50%;flex:0 0 28px;place-items:center;font-size:17px;display:grid}.privacy-note p{margin:0}.privacy-note b{color:#5a5261}.onboarding-guide .diagnostic-chat-list{margin-top:18px;padding-bottom:12px}.onboarding-guide .diagnostic-chat-list .message{max-width:100%}.onboarding-guide .diagnostic-chat-input{flex:none}.onboarding-guide .privacy-note{margin-top:14px}.onboarding-workspace{background:#fff;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:clamp(22px,3.2vw,46px);display:grid;overflow:hidden}.learner-profile-form{flex-direction:column;justify-content:center;align-self:center;width:min(720px,100%);height:100%;margin:0 auto;display:flex}.profile-form-heading>span,.diagnostic-heading>span,.result-eyebrow{color:var(--purple);letter-spacing:.14em;font-size:9px;font-weight:800}.profile-form-heading h1,.diagnostic-heading h1,.diagnostic-complete h1{color:#242129;letter-spacing:-.04em;margin:8px 0 7px;font-family:Montserrat,Inter,sans-serif;font-size:clamp(24px,3vw,38px)}.profile-form-heading p,.diagnostic-heading p{color:#817a86;margin:0;font-size:12px;line-height:1.5}.profile-fields{grid-template-columns:.65fr 1.35fr;gap:12px;margin-top:26px;display:grid}.profile-field{gap:7px;min-width:0;display:grid}.profile-field.wide{grid-column:1/-1}.profile-field>span,.goal-selector legend{color:#5e5765;font-size:10px;font-weight:800}.profile-field input,.profile-field select{color:#2e2933;background:#fff;border:1px solid #e1dce5;border-radius:13px;outline:0;width:100%;height:51px;padding:0 14px;font-size:13px}.profile-field input:focus,.profile-field select:focus{border-color:#aa87df;box-shadow:0 0 0 4px #6622cf14}.goal-selector{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0 0;padding:0;display:grid}.goal-selector legend{margin-bottom:9px}.goal-selector button{text-align:left;color:#514a56;cursor:pointer;background:#fff;border:1px solid #e4e0e7;border-radius:14px;align-items:center;gap:10px;min-height:60px;padding:10px 12px;transition:border-color .16s,background .16s,transform .16s;display:flex}.goal-selector button:hover{border-color:#cbb6ea;transform:translateY(-1px)}.goal-selector button.selected{background:#f7f2ff;border-color:#9468d8;box-shadow:inset 0 0 0 1px #9468d8}.goal-selector i{background:#fff;border:2px solid #cbc5d0;border-radius:50%;flex:0 0 17px;width:17px;height:17px;box-shadow:inset 0 0 0 4px #fff}.goal-selector button.selected i{border-color:var(--purple);background:var(--purple)}.goal-selector b,.goal-selector small{display:block}.goal-selector b{color:#3c3641;font-size:11px}.goal-selector small{color:#8c8591;margin-top:3px;font-size:9px;line-height:1.3}.profile-continue{color:#fff;background:linear-gradient(135deg,var(--purple),#8751df);cursor:pointer;border:0;border-radius:14px;align-self:flex-end;min-height:52px;margin-top:22px;padding:0 22px;font-size:12px;font-weight:800;box-shadow:0 12px 28px #6622cf38}.profile-continue span{margin-left:14px}.profile-continue:disabled{opacity:.4;cursor:default;box-shadow:none}.diagnostic-heading{text-align:center}.diagnostic-heading h1{font-size:clamp(19px,2.4vw,30px)}.diagnostic-stage{place-items:center;min-width:0;min-height:0;padding:10px 0;transition:opacity .15s,transform .15s;display:grid}.diagnostic-stage.is-working{opacity:.65;transform:scale(.992)}.diagnostic-footer{border-top:1px solid #f0edf2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:74px;padding-top:14px;display:grid}.diagnostic-footer>span{color:#918a96;font-size:10px}.diagnostic-footer .primary-action{border-radius:999px;min-width:220px;min-height:52px;padding:0 32px;font-size:13px}.diagnostic-interactive{place-items:center;gap:12px;width:min(780px,100%);max-height:100%;animation:.38s cubic-bezier(.2,.75,.3,1) diagnostic-in;display:grid}.diagnostic-slider{accent-color:#3267dc;cursor:grab;width:min(560px,82%);height:28px}.diagnostic-slider:active{cursor:grabbing}.answer-orb{color:#2658c9;background:#f5f8ff;border:1px solid #dce3f5;border-radius:18px;place-items:center;min-width:88px;height:58px;padding:0 18px;font-family:Montserrat,Inter,sans-serif;font-size:26px;font-weight:800;display:grid;box-shadow:0 12px 32px #2856ba17}.number-line-graphic{width:min(760px,100%);max-height:220px;overflow:visible}.axis-line{stroke:#171a20;stroke-width:5px;stroke-linecap:round}.axis-arrow{fill:#171a20}.tick-line{stroke:#3d4148;stroke-width:4px}.tick-label{fill:#474b53;text-anchor:middle;font-size:20px;font-weight:600}.guide-line{stroke:#89a8ef;stroke-width:4px;stroke-dasharray:8 9}.moving-point{fill:#3267dc;stroke:#fff;stroke-width:7px;transition:cx .12s}.marble-graphic{width:min(700px,100%);max-height:410px}.chart-grid line,.coordinate-grid line{stroke:#e6e7eb;stroke-width:2px}.relation-line{fill:none;stroke:#3567d8;stroke-width:5px}.relation-dot{fill:#3567d8;stroke:#fff;stroke-width:3px}.axis-title{fill:#252932;letter-spacing:.08em;font-size:15px;font-weight:800}.beaker-outline{fill:none;stroke:#15171c;stroke-width:6px;stroke-linecap:round}.beaker-water{fill:#9db3f3;opacity:.86;transition:d .22s}.marble-ball circle{fill:#f052bf;stroke:#d6389f;stroke-width:2px}.marble-ball path{fill:none;stroke:#ff9bdd;stroke-width:6px;stroke-linecap:round}.marble-ball{animation:.32s both marble-pop}.beaker-value{fill:#2e5ecb;text-anchor:middle;font:800 23px Montserrat,Inter,sans-serif}.fraction-grid-interactive{gap:18px}.fraction-readout{color:#746d79;align-items:baseline;gap:7px;display:flex}.fraction-readout b{color:var(--purple);font:800 30px Montserrat,Inter,sans-serif}.fraction-readout span{font-size:13px;font-weight:700}.diagnostic-fraction-grid{aspect-ratio:1.5;background:#fff;border:3px solid #29252e;border-radius:8px;gap:7px;width:min(430px,70vw);padding:7px;display:grid;box-shadow:0 18px 35px #30253e14}.diagnostic-fraction-grid button{cursor:pointer;background:#fff;border:2px solid #37313d;border-radius:4px;min-width:0;min-height:0;padding:0;overflow:hidden}.diagnostic-fraction-grid button span{opacity:0;background:linear-gradient(145deg,#9b70eb,#7d4ad8);width:100%;height:100%;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .18s;display:block;transform:scale(0)}.diagnostic-fraction-grid button.selected span{opacity:1;transform:scale(1)}.interaction-caption{color:#948e98;margin:0;font-size:10px}.sequence-track{justify-content:center;align-items:center;gap:clamp(7px,2vw,18px);width:100%;display:flex}.sequence-node{align-items:center;gap:clamp(7px,2vw,18px);display:flex}.sequence-node span{color:#325ec2;background:#f8faff;border:2px solid #dfe3ed;border-radius:20px;place-items:center;width:clamp(58px,9vw,82px);height:clamp(58px,9vw,82px);font:800 clamp(20px,3vw,30px) Montserrat,Inter,sans-serif;display:grid;box-shadow:0 10px 25px #254ea412}.sequence-node i{color:#a7a8ae;font-size:24px;font-style:normal}.sequence-node.answer span{background:#edf3ff;border-color:#8fa9e5;box-shadow:0 0 0 7px #4a70c914}.angle-graphic{width:min(720px,100%);max-height:420px;overflow:visible}.angle-base,.angle-ray{fill:none;stroke:#171920;stroke-width:8px;stroke-linecap:round}.angle-ray{stroke:#3467d8;transition:d .1s linear}.angle-arc{fill:#ffc75473;stroke:#e6a51b;stroke-width:4px}.angle-origin{fill:#3467d8}.angle-value{fill:#272a31;text-anchor:middle;font:800 42px Montserrat,Inter,sans-serif}.reflection-graphic{width:min(720px,100%);max-height:360px}.mirror-line{stroke:#16191e;stroke-width:5px;stroke-dasharray:10 9}.source-shape{fill:#6f4cdca6;stroke:#6035bd;stroke-width:4px}.ghost-shape{fill:#3168da47;stroke:#3267d8;stroke-width:4px;transform-box:fill-box;transform-origin:50%;transition:transform .3s cubic-bezier(.2,.75,.3,1)}.reflection-options{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.reflection-options button{color:#4a4e57;cursor:pointer;background:#fff;border:1px solid #dfe1e7;border-radius:12px;min-height:44px;padding:0 15px;font-size:11px;font-weight:750}.reflection-options button.selected{color:#2456be;background:#eef4ff;border-color:#386bd8;box-shadow:inset 0 0 0 1px #386bd8}.logic-glyph{filter:drop-shadow(0 9px 11px #32234421);width:76px;height:76px;overflow:visible}.logic-glyph>g:first-child>*{stroke:#2d1f3a38;stroke-width:2px}.glyph-detail{fill:#fff;stroke:#fff;stroke-width:6px;stroke-linecap:round;opacity:.88}.glyph-detail.dots{stroke:none}.visual-pattern-interactive{gap:30px}.visual-sequence{justify-content:center;align-items:center;gap:clamp(5px,1.4vw,14px);display:flex}.visual-sequence-step{align-items:center;gap:clamp(5px,1.4vw,14px);display:flex}.visual-sequence-step>i{background:#d8d3dd;border-radius:99px;width:20px;height:2px}.visual-missing{color:#7134cc;background:linear-gradient(145deg,#fbf9ff,#f3ecff);border:2px dashed #bda9d9;border-radius:24px;place-items:center;width:82px;height:82px;font:800 29px Montserrat,Inter,sans-serif;display:grid}.visual-choice-row{justify-content:center;gap:13px;display:flex}.visual-choice-row button,.odd-one-grid button{cursor:pointer;background:#faf9fb;border:2px solid #0000;border-radius:23px;place-items:center;width:124px;height:116px;transition:all .17s;display:grid;position:relative;box-shadow:0 9px 24px #3527410e}.visual-choice-row button:hover,.odd-one-grid button:hover{background:#fff;border-color:#d6c7e9;transform:translateY(-3px)}.visual-choice-row button.selected,.odd-one-grid button.selected{background:#f7f2ff;border-color:#7640d2;box-shadow:0 0 0 5px #7640d214,0 14px 30px #4929621a}.visual-choice-row button>span,.odd-one-grid button>span{opacity:0;color:#fff;background:#2abb69;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:850;transition:all .17s;display:grid;position:absolute;top:8px;right:8px;transform:scale(.6)}.visual-choice-row button.selected>span,.odd-one-grid button.selected>span{opacity:1;transform:scale(1)}.odd-one-interactive{gap:22px}.odd-one-grid{grid-template-columns:repeat(4,1fr);gap:14px;width:min(650px,100%);display:grid}.odd-one-grid button{width:100%;height:150px}.odd-one-grid button>small{color:#9c94a1;font-size:9px;font-weight:800;position:absolute;top:11px;left:13px}.odd-one-grid .logic-glyph{width:88px;height:88px}.path-choice-interactive{gap:10px}.path-choice-graphic{width:min(720px,100%);max-height:300px;overflow:visible}.path-field{fill:#fbfcff;stroke:#ebe8ef;stroke-width:2px}.path-grid line{stroke:#eef0f4;stroke-width:2px;stroke-dasharray:5 10}.path-choice-graphic polyline{--path-color:#7b4bdd;fill:none;stroke:var(--path-color);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;opacity:.52;cursor:pointer;transition:all .18s}.path-choice-graphic polyline:hover,.path-choice-graphic polyline.selected{opacity:1;stroke-width:10px;filter:drop-shadow(0 5px 5px color-mix(in srgb,var(--path-color) 25%,transparent))}.path-obstacle circle{fill:#ffedf0;stroke:#e75569;stroke-width:3px}.path-obstacle path{fill:none;stroke:#d4465a;stroke-width:4px;stroke-linecap:round}.path-start circle{fill:#7843d7}.path-start text{fill:#fff;text-anchor:middle;font:800 21px Montserrat,Inter,sans-serif}.path-goal{fill:#ffc93c;stroke:#df9e12;stroke-width:3px}.path-choice-buttons{justify-content:center;gap:10px;display:flex}.path-choice-buttons button{--path-color:#7b4bdd;color:#55505a;cursor:pointer;background:#f5f3f6;border:2px solid #0000;border-radius:999px;min-width:110px;min-height:43px;padding:0 18px;font-size:10px;font-weight:800}.path-choice-buttons button.selected{border-color:var(--path-color);color:var(--path-color);background:#fff;box-shadow:0 7px 18px #34264114}.visual-matrix-interactive{gap:22px}.visual-matrix{background:linear-gradient(145deg,#fff,#faf8fc);border:1px solid #e8e3ed;border-radius:26px;grid-template-columns:repeat(2,1fr);gap:9px;width:250px;padding:10px;display:grid;box-shadow:0 17px 38px #33254017}.visual-matrix-cell{aspect-ratio:1;background:#f5f3f7;border-radius:18px;place-items:center;display:grid}.visual-matrix-cell:nth-child(2),.visual-matrix-cell:nth-child(3){background:#eef9fb}.visual-matrix-cell.missing{color:#7134cc;background:linear-gradient(145deg,#fbf9ff,#f3ecff);border:2px dashed #bda9d9}.visual-matrix-cell.missing span{font:800 29px Montserrat,Inter,sans-serif}.visual-matrix-cell .logic-glyph{width:72px;height:72px}.matrix-options button{height:105px}.diagnostic-complete{text-align:center;width:min(670px,100%);margin:auto;animation:.45s ease-out diagnostic-in}.result-orbit{place-items:center;width:100px;height:100px;margin:0 auto 22px;display:grid;position:relative}.result-orbit>span{z-index:2;color:#fff;background:linear-gradient(135deg,#31c872,#1eaa5a);border-radius:50%;place-items:center;width:64px;height:64px;font-size:29px;font-weight:800;display:grid;box-shadow:0 14px 35px #24b56440}.result-orbit i,.result-orbit b{border:1px solid #31c87238;border-radius:50%;animation:5s linear infinite orbit;position:absolute;inset:5px}.result-orbit i:after,.result-orbit b:after{content:"";background:#ffd24c;border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:12px}.result-orbit b{animation-duration:7s;animation-direction:reverse;inset:-6px}.result-orbit b:after{background:#00ccfe;inset:auto 8px 16px auto}.diagnostic-complete h1{font-size:clamp(29px,4vw,44px)}.diagnostic-complete>p{color:#746d79;width:min(520px,100%);margin:0 auto;font-size:13px;line-height:1.6}.result-columns{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin:27px 0 0;display:grid}.result-columns article{background:#fcfbfd;border:1px solid #e8e4eb;border-radius:16px;min-height:120px;padding:16px}.result-columns span,.result-columns b{display:block}.result-columns span{color:#8a838e;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px;font-size:9px;font-weight:800}.result-columns b{color:#46404b;margin-top:7px;font-size:11px}.diagnostic-complete .profile-continue{margin-inline:auto}.diagnostic-complete>small{color:#9a939e;margin-top:13px;font-size:9px;display:block}.diagnostic-loading{text-align:center;color:#847d88;place-self:center;font-size:12px}.diagnostic-loading span{border:4px solid #eee9f4;border-top-color:var(--purple);border-radius:50%;width:45px;height:45px;margin:0 auto 12px;animation:.8s linear infinite spin;display:block}.onboarding-error{color:#9c3f39;text-align:center;font-size:11px}.result-character{width:112px;height:145px;margin:0 auto 12px;position:relative}.result-character .kody-character-celebration{width:100%;height:100%}.result-character>span{color:#fff;background:var(--green);border:4px solid #fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid;position:absolute;bottom:11px;right:2px;box-shadow:0 8px 18px #22a45a38}.route-picker-shell{grid-template-rows:90px 58px auto minmax(0,1fr) 116px;height:100dvh;min-height:620px;overflow:hidden}.route-picker-shell.has-routes{grid-template-rows:90px 58px auto minmax(0,1fr)}.route-global-header{justify-content:space-between;align-items:center;width:100%;padding:0 clamp(34px,5vw,76px);display:flex}.route-brand{color:#23232e;letter-spacing:-.055em;align-items:baseline;gap:5px;display:flex}.route-brand b{font:800 clamp(20px,2vw,28px) Montserrat,Inter,sans-serif}.route-brand span{font-size:clamp(19px,1.9vw,27px);font-weight:400}.route-profile{align-items:center;gap:12px;display:flex}.route-profile .learner-avatar{border-radius:50%;flex-basis:48px;width:48px;height:48px}.route-profile span,.route-profile b,.route-profile small{display:block}.route-profile b{font-size:13px}.route-profile small{color:#777583;margin-top:2px;font-size:11px}.route-picker-nav{grid-template-columns:48px 1fr 48px;align-items:center;padding:0 clamp(34px,5vw,76px);display:grid}.route-back{color:#34343e;cursor:pointer;background:#ffffff80;border:1px solid #dcdbe4;border-radius:50%;place-items:center;width:44px;height:44px;font-size:23px;display:grid}.route-back:hover{background:#fff;border-color:#ae9ad3}.route-step-progress{justify-self:center;gap:8px;width:154px;display:flex}.route-step-progress i{background:#dddee5;border-radius:99px;flex:1;height:7px}.route-step-progress i.active{background:linear-gradient(90deg,#6622cf,#8a43ee);box-shadow:0 4px 12px #6622cf2e}.route-picker-heading{text-align:center;padding:13px 28px 20px}.route-picker-heading>span{color:var(--purple);letter-spacing:.15em;font-size:9px;font-weight:850}.route-picker-heading h1{letter-spacing:-.045em;margin:8px 0;font:800 clamp(28px,3vw,42px) Montserrat,Inter,sans-serif}.route-picker-heading p{color:#5f5d6a;max-width:590px;margin:0 auto;font-size:15px;line-height:1.55}.area-heading{padding-top:clamp(15px,2.5vh,30px)}.area-picker-stage{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:28px;width:min(920px,100% - 48px);min-height:0;margin:0 auto;padding:clamp(14px,2.5vh,30px) 0 18px;display:grid;overflow:auto}.area-card{color:#292936;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;min-width:0;min-height:322px;padding:0 0 8px;transition:transform .2s;display:flex;position:relative}.area-card:hover,.area-card:focus-visible{outline:0;transform:translateY(-4px)}.area-illustration{aspect-ratio:1.12;background:#ffffff6b;border:1.5px solid #dedee7;border-radius:30px;place-items:center;width:100%;transition:border-color .2s,background .2s,box-shadow .2s;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffd9}.area-illustration svg{width:82%;height:82%;display:block}.area-card>b{margin-top:18px;font:800 clamp(16px,1.7vw,22px) Montserrat,Inter,sans-serif}.area-card .area-selected-check{color:#fff;opacity:0;background:linear-gradient(145deg,#8a43ef,#6622cf);border-radius:50%;place-items:center;width:35px;height:35px;font-size:17px;font-style:normal;font-weight:850;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:18px;right:18px;transform:scale(.7);box-shadow:0 8px 18px #6622cf40}.area-card.selected .area-illustration{background:linear-gradient(145deg,#ffffffa8,#f2ebffb8);border-color:#7129e2;box-shadow:0 0 0 2px #7129e20f,0 18px 40px #4e2f7314}.area-card.selected .area-selected-check{opacity:1;transform:scale(1)}.area-card:disabled{opacity:.58;cursor:wait;transform:none}.area-picker-footer{justify-content:center;align-items:flex-start;padding:6px 24px 25px;display:flex}.area-picker-footer button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#222,#3a3a3a);border:0;border-radius:999px;width:min(370px,100% - 32px);min-height:70px;font-size:16px;font-weight:800;box-shadow:0 13px 28px #19191c2e}.area-picker-footer button:disabled{color:#aaa8ae;box-shadow:none;cursor:default;background:#e7e6e9}.route-area-list{min-height:0;padding:0 34px 40px;overflow:auto}.route-area-list>section{width:min(1050px,100%);margin:0 auto 24px}.route-area-list h2{color:#4a434e;margin:0 0 10px;font:800 13px Montserrat,Inter,sans-serif}.route-area-list.is-filtered{padding-top:clamp(12px,2.5vh,28px)}.route-area-list.is-filtered>section{margin-bottom:0}.route-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px;display:grid}.route-card{text-align:left;color:#39333e;cursor:pointer;background:#fcfbfd;border:1px solid #e9e4ec;border-radius:22px;grid-template-rows:auto 1fr;grid-template-columns:62px minmax(0,1fr) 32px;align-items:center;gap:8px 17px;min-width:0;min-height:164px;padding:23px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:grid}.route-card:hover,.route-card:focus-visible{background:#fff;border-color:#cdb8ec;outline:0;transform:translateY(-3px);box-shadow:0 16px 34px #39284817}.route-card:disabled{opacity:.6;cursor:wait;transform:none}.route-card>i{color:#6d35ce;background:linear-gradient(145deg,#f7f2ff,#ece1ff);border-radius:19px;grid-row:1/3;place-items:center;width:62px;height:62px;font-style:normal;display:grid}.route-card>i svg{width:34px;height:34px;display:block}.route-card>b{align-self:end;font:800 14px Montserrat,Inter,sans-serif}.route-card>small{color:#817a86;align-self:start;font-size:9px;line-height:1.48}.route-card>span{color:#726a78;background:#f2eff4;border-radius:50%;grid-area:1/3/3;place-items:center;width:30px;height:30px;font-size:14px;transition:color .18s,background .18s,transform .18s;display:grid}.route-card:hover>span{color:#fff;background:var(--purple);transform:translate(2px)}.route-card-numbers-operations>i{color:#2568c8;background:linear-gradient(145deg,#f4f8ff,#e4efff)}.route-card-fractions-proportions>i{color:#6d35ce;background:linear-gradient(145deg,#f7f2ff,#ece1ff)}.route-card-geometry-space>i{color:#b33b8d;background:linear-gradient(145deg,#fff5fb,#ffe8f6)}.route-card-visual-algebra>i{color:#087c88;background:linear-gradient(145deg,#f1fcfd,#dff7f9)}.route-card-data-probability>i{color:#9b6a0c;background:linear-gradient(145deg,#fffbf0,#fff1cc)}.route-card-computational-thinking>i{color:#6d35ce;background:linear-gradient(145deg,#f7f2ff,#ece1ff)}.route-card-python-step-by-step>i{color:#087c88;background:linear-gradient(145deg,#f1fcfd,#dff7f9)}.profile-picker-page{background:radial-gradient(at 10% 4%,#7748dc1f,#0000 34%),radial-gradient(at 91% 7%,#ffd24c1f,#0000 31%),radial-gradient(at 88% 94%,#00ccfe1a,#0000 35%),radial-gradient(at 13% 92%,#8e53e20e,#0000 30%),#fff;place-items:center;padding:0;display:grid}.profile-picker-card{width:100%;min-height:100dvh;box-shadow:none;text-align:center;background:0 0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:48px max(24px,50vw - 425px);display:flex}.profile-picker-card>.kody-character-hero{width:90px;height:120px;margin-bottom:12px}.profile-picker-card h1{letter-spacing:-.04em;margin:8px 0;font:800 clamp(27px,3vw,39px) Montserrat,Inter,sans-serif}.profile-picker-card>p{color:#7d7682;margin:0;font-size:12px}.profile-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:28px 0;display:grid}.profile-card-grid button{color:#3b3540;cursor:pointer;background:#faf8fcd6;border:1px solid #e6e0ea;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:155px;padding:18px;display:flex}.profile-card-grid button:hover{background:#fff;border-color:#bba0e2;box-shadow:0 12px 28px #462d5c17}.profile-card-grid i{color:#fff;background:linear-gradient(145deg,var(--purple),#9458e7);border-radius:50%;place-items:center;width:56px;height:56px;font-size:22px;font-style:normal;font-weight:850;display:grid}.profile-card-grid b{margin-top:12px;font-size:12px}.profile-card-grid small{color:#8d8692;margin-top:4px;font-size:9px}.profile-card-grid .add-profile-card{border-style:dashed}.profile-card-grid .add-profile-card i{color:var(--purple);background:var(--purple-soft)}.profile-picker-card>a,.manage-profiles-link{color:var(--purple);font-size:11px;font-weight:750;text-decoration:none}.manage-profiles-link{margin:12px 0 2px;display:inline-block}.profile-card-grid .learner-avatar{border-radius:22px;flex-basis:70px;width:70px;height:70px}@keyframes diagnostic-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes voice-pulse{50%{box-shadow:0 0 0 7px #d84b7321}}@keyframes welcome-in{0%{opacity:0;transform:translateY(10px)scale(.995)}}@keyframes marble-pop{0%{opacity:0;transform:translateY(-18px)scale(.7)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=767px){.welcome-page{background:#fff;padding:0}.welcome-shell{width:100%;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0;grid-template-rows:62px minmax(0,1fr) 88px}.welcome-topbar{grid-template-columns:38px minmax(100px,1fr) 38px;gap:9px;width:calc(100% - 24px)}.welcome-icon-button{width:38px;height:38px}.welcome-progress{gap:3px}.welcome-progress i{min-width:5px;height:5px}.welcome-step{align-items:start;width:calc(100% - 32px);padding:15px 0}.welcome-intro{align-self:center;margin:auto}.welcome-intro h1{margin-top:25px;font-size:30px}.welcome-intro p{font-size:13px}.welcome-intro .kody-character-hero{width:115px;height:158px}.welcome-question{align-self:start;padding-top:4px}.wizard-heading{gap:16px;margin-bottom:28px}.wizard-heading h1{font-size:21px}.wizard-heading p{font-size:10px}.wizard-heading .kody-character-avatar{border-radius:16px;flex-basis:48px;width:48px;height:48px}.wizard-heading .kody-character-avatar img{width:82px}.welcome-name-field input{height:58px;font-size:16px}.avatar-question .wizard-heading{margin-bottom:16px}.avatar-choice-grid{grid-template-columns:repeat(3,1fr);gap:8px}.avatar-choice-grid button{border-radius:16px;min-height:128px;padding:10px 5px 8px}.avatar-choice-grid .learner-avatar{border-radius:19px;flex-basis:62px;width:62px;height:62px}.avatar-choice-grid b{margin-top:6px;font-size:9px}.avatar-choice-grid small{font-size:6px}.welcome-card-grid{grid-template-columns:1fr 1fr;gap:9px}.welcome-card-grid button{min-height:155px;padding:14px 10px}.welcome-card-grid button>i{border-radius:14px;width:48px;height:48px;font-size:21px}.welcome-card-grid button>b{margin-top:12px;font-size:10px}.welcome-card-grid button>small{font-size:8px}.audio-choice-grid{gap:7px}.audio-choice-grid button{border-radius:16px;min-height:176px;padding:13px 6px}.audio-orbit{width:52px;height:52px;box-shadow:0 0 0 7px #f0e8ff,0 10px 20px #6622cf29}.audio-orbit.calm{box-shadow:0 0 0 7px #eaf0ff,0 10px 20px #3752a926}.audio-orbit.quiet{box-shadow:0 0 0 7px #eeecef,0 10px 20px #3025390f}.audio-orbit svg{width:28px;height:28px}.audio-choice-grid button>b{margin-top:13px;font-size:9px}.audio-choice-grid button>small{font-size:7px}.audio-choice-grid button>em{margin-top:8px;font-size:7px}.settings-backdrop{align-items:end;padding:0}.tutor-settings{border-radius:25px 25px 0 0;width:100%;max-height:88dvh}.tutor-settings>header{padding:20px 18px 15px}.settings-section{padding:19px 18px 14px}.settings-voice-grid{gap:7px}.settings-voice-grid article{border-radius:16px}.voice-select{min-height:115px;padding-inline:3px}.voice-select b{text-align:center;font-size:9px}.voice-select small{text-align:center;font-size:7px}.voice-preview{font-size:7px}.settings-toggle{margin-inline:18px}.tutor-settings>footer{padding:0 18px 20px}.tutor-settings>footer button{width:100%}.age-picker{grid-template-columns:52px minmax(130px,1fr) 52px;gap:10px}.age-picker>button{width:52px;height:52px}.age-picker label{height:98px}.age-picker input{width:72px;font-size:36px}.confidence-question .wizard-heading{margin-bottom:8px}.confidence-graphic{width:min(270px,75vw);height:215px;margin-bottom:12px}.confidence-options{flex-wrap:wrap;gap:7px}.confidence-options button{min-height:40px;padding-inline:14px;font-size:9px}.welcome-footer{padding:7px 16px calc(14px + env(safe-area-inset-bottom))}.welcome-continue{min-height:50px}.onboarding-page{overflow:auto}.onboarding-shell{grid-template:56px auto minmax(0,1fr)/1fr;height:auto;min-height:100dvh;overflow:visible}.onboarding-topbar{grid-row:1}.onboarding-guide{border:0;border-bottom:1px solid var(--line);grid-row:2;padding:13px 16px}.onboarding-guide .chat-heading{padding:0}.onboarding-guide .chat-heading small,.privacy-note{display:none}.onboarding-guide .kody-character-avatar{border-radius:12px;flex-basis:36px;width:36px;height:36px}.onboarding-guide .kody-character-avatar img{width:64px}.onboarding-message{margin:10px 0 0}.onboarding-message>p{border-radius:13px 13px 13px 5px;padding:10px 12px;font-size:11px;line-height:1.45}.onboarding-workspace{min-height:590px;padding:22px 16px calc(22px + env(safe-area-inset-bottom));grid-row:3;overflow:visible}.diagnostic-shell{grid-template:56px minmax(0,1fr)/1fr;height:100dvh;min-height:0;overflow:hidden}.diagnostic-shell .diagnostic-guide{z-index:9;height:min(72dvh,620px);padding:15px 14px calc(14px + env(safe-area-inset-bottom));visibility:hidden;background:linear-gradient(#fdfcff,#faf8fd);border:0;border-radius:24px 24px 0 0;transition:transform .25s,visibility .25s;position:fixed;inset:auto 0 0;transform:translateY(104%);box-shadow:0 -20px 60px #21162f29}.diagnostic-shell .diagnostic-guide.is-open{visibility:visible;transform:translateY(0)}.diagnostic-shell .diagnostic-guide .diagnostic-chat-list{min-height:0;margin-top:14px;overflow:auto}.diagnostic-shell .onboarding-workspace{grid-row:2;min-height:0;padding:17px 16px 12px;overflow:auto}.learner-profile-form{justify-content:flex-start}.profile-form-heading h1{font-size:25px}.profile-fields{margin-top:18px}.goal-selector{grid-template-columns:1fr;margin-top:18px}.goal-selector button{min-height:54px}.profile-continue{align-self:stretch;width:100%}.diagnostic-heading h1{font-size:20px}.diagnostic-heading p{font-size:10px}.diagnostic-stage{min-height:330px;padding:4px 0}.diagnostic-footer{text-align:center;grid-template-columns:1fr;gap:7px}.diagnostic-footer .primary-action{width:100%}.diagnostic-slider{width:88%}.marble-graphic{max-height:310px}.number-line-graphic{max-height:180px}.angle-graphic{max-height:300px}.reflection-graphic{max-height:280px}.reflection-options button{min-height:40px;padding-inline:11px;font-size:9px}.visual-pattern-interactive{gap:20px}.visual-sequence{gap:3px;width:100%}.visual-sequence-step{gap:3px}.logic-glyph{width:52px;height:52px}.visual-sequence-step>i{width:8px}.visual-missing{border-radius:17px;width:56px;height:56px;font-size:22px}.visual-choice-row{gap:7px;width:100%}.visual-choice-row button{border-radius:18px;width:min(29vw,105px);height:96px}.visual-choice-row button .logic-glyph{width:62px;height:62px}.odd-one-grid{grid-template-columns:repeat(2,1fr);gap:8px}.odd-one-grid button{border-radius:18px;height:112px}.odd-one-grid .logic-glyph{width:68px;height:68px}.path-choice-graphic{max-height:270px}.path-choice-buttons{gap:6px;width:100%}.path-choice-buttons button{flex:1;min-width:0;padding:0 8px;font-size:8px}.visual-matrix{border-radius:22px;gap:7px;width:210px;padding:8px}.visual-matrix-cell{border-radius:15px}.visual-matrix-cell .logic-glyph{width:60px;height:60px}.matrix-options button{height:90px}.result-columns{grid-template-columns:1fr}.result-columns article{min-height:0}.diagnostic-complete{padding-top:10px}.route-picker-page{overflow:hidden}.route-picker-shell,.route-picker-shell.has-routes{grid-template-rows:68px 48px auto minmax(0,1fr) 96px;height:100dvh;min-height:0}.route-picker-shell.has-routes{grid-template-rows:68px 48px auto minmax(0,1fr)}.route-global-header{padding:0 17px}.route-brand{gap:3px}.route-brand b{font-size:18px}.route-brand span{font-size:17px}.route-profile{gap:7px}.route-profile .learner-avatar{flex-basis:37px;width:37px;height:37px}.route-profile b{font-size:10px}.route-profile small{font-size:8px}.route-picker-nav{grid-template-columns:38px 1fr 38px;padding:0 17px}.route-back{width:36px;height:36px;font-size:19px}.route-step-progress{gap:5px;width:105px}.route-step-progress i{height:5px}.route-picker-heading{padding:9px 18px 13px}.route-picker-heading h1{font-size:25px}.route-picker-heading p{font-size:11px}.area-heading{padding-top:8px}.area-picker-stage{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;width:calc(100% - 24px);padding:10px 0 14px;overflow:visible}.area-card{min-height:174px;padding-bottom:5px}.area-illustration{aspect-ratio:.9;border-radius:19px}.area-illustration svg{width:94%;height:94%}.area-card>b{margin-top:10px;font-size:10px}.area-card .area-selected-check{width:25px;height:25px;font-size:12px;top:7px;right:7px}.area-picker-footer{padding:5px 17px calc(16px + env(safe-area-inset-bottom))}.area-picker-footer button{width:100%;min-height:54px;font-size:13px}.route-area-list{padding:0 16px 30px}.route-card-grid{grid-template-columns:1fr}.route-card{border-radius:18px;grid-template-columns:52px minmax(0,1fr) 28px;gap:6px 12px;min-height:126px;padding:16px}.route-card>i{border-radius:16px;width:52px;height:52px}.route-card>i svg{width:29px;height:29px}.route-card>b{font-size:12px}.route-card>small{font-size:8px}.route-card>span{width:27px;height:27px;font-size:12px}.profile-picker-page{padding:0}.profile-picker-card{border-radius:0;min-height:100dvh;padding:28px 18px}.profile-card-grid{grid-template-columns:1fr 1fr}.profile-card-grid button{min-height:140px}}@media (height<=720px) and (width>=768px){.onboarding-workspace,.onboarding-guide{padding-block:18px}.onboarding-message{margin-top:18px}.profile-form-heading h1{font-size:27px}.profile-fields{margin-top:17px}.goal-selector{margin-top:15px}.goal-selector button{min-height:52px}.profile-continue{min-height:46px;margin-top:14px}.diagnostic-stage{padding-block:2px}.marble-graphic,.angle-graphic{max-height:300px}.reflection-graphic{max-height:270px}.path-choice-graphic{max-height:245px}.path-choice-interactive{gap:5px}}@media (width>=768px) and (width<=1024px){.route-overview-shell{grid-template-rows:76px 50px auto minmax(0,1fr) 108px}.route-overview-nav{padding-inline:28px}.route-overview-intro{padding:0 24px 13px}.route-overview-intro h1{font-size:36px}.route-overview-intro>p{font-size:11px}.logic-map{grid-template-columns:190px minmax(0,1fr);gap:24px;width:calc(100% - 38px)}.logic-map-orbit{width:116px;height:116px}.logic-map-orbit .learner-avatar{border-radius:25px;width:78px;height:78px}.logic-map-current h2{max-width:180px;font-size:18px}.logic-map li{grid-template-columns:112px minmax(0,1fr);gap:14px}.logic-family-label b{font-size:9px}.logic-family-label small{font-size:7px}.logic-family-path i{width:34px;height:34px;font-size:9px}.logic-family-path .is-current i{border-width:5px;width:42px;height:42px}.logic-turn{width:17px;right:calc(8.33333% - 27.5px)}.logic-map li.is-reverse .logic-turn{left:calc(8.33333% + 98.5px)}}@media (width>=768px) and (height<=760px){.route-overview-shell{grid-template-rows:64px 40px auto minmax(0,1fr) 84px;min-height:0}.route-global-header{padding-inline:34px}.route-profile .learner-avatar{flex-basis:38px;width:38px;height:38px}.route-overview-nav{padding-inline:34px}.route-back{width:34px;height:34px;font-size:18px}.route-overview-intro{padding:0 24px 7px}.route-overview-eyebrow{font-size:7px}.route-overview-intro h1{margin:4px 0;font-size:31px}.route-overview-intro>p{font-size:9px}.route-overview-total{width:min(360px,70%);margin-top:9px}.route-overview-total small{margin-top:4px;font-size:7px}.logic-map{grid-template-columns:190px minmax(0,1fr);gap:30px;width:min(980px,100% - 48px);padding:3px 0 5px;overflow:hidden}.logic-map-current{align-self:center}.logic-map-orbit{width:94px;height:94px;margin-bottom:6px}.logic-map-orbit .learner-avatar{border-radius:21px;width:66px;height:66px}.logic-map-current>span{font-size:7px}.logic-map-current h2{max-width:175px;margin:4px auto 3px;font-size:16px}.logic-map-current p{font-size:8px}.logic-map-current>i{width:130px;height:4px;margin-top:7px}.mastery-state{margin-top:4px;padding:3px 7px;font-size:6px}.logic-map ol{align-self:center;gap:5px}.logic-map li{grid-template-columns:125px minmax(0,1fr);gap:13px;min-height:35px}.logic-family-label b{font-size:8px}.logic-family-label small{margin-top:1px;font-size:6px}.logic-family-path i{width:29px;height:29px;font-size:7px}.logic-family-path .is-current i{border-width:5px;width:37px;height:37px}.logic-turn{border-width:2px;width:14px;height:calc(100% + 5px);right:calc(8.33333% - 25.5px)}.logic-map li.is-reverse .logic-turn{border-width:2px;left:calc(8.33333% + 112.5px)}.route-overview-footer{gap:5px;padding:4px 24px 10px}.route-overview-footer>button{min-width:280px;min-height:48px;font-size:12px}.route-overview-footer>small{font-size:8px}}.route-overview-page{height:auto;min-height:100dvh;overflow:auto}.route-overview-hero{text-align:center;flex-direction:column;align-items:center;padding:0 24px 20px;display:flex}.route-overview-hero>h1{letter-spacing:-.05em;margin:10px 0 24px;font:800 clamp(32px,3.7vw,48px) Montserrat,Inter,sans-serif}.route-hero-avatar{background:radial-gradient(circle,#fffffff2 0 45%,#7949dc17 46% 72%,#7949dc09 73%);border-radius:50%;place-items:center;width:204px;height:204px;display:grid}.route-hero-avatar .learner-avatar{filter:drop-shadow(0 15px 18px #3e22632e);border-radius:45px;width:146px;height:146px}.route-hero-step{color:#797685;letter-spacing:.2em;margin-top:13px;font-size:10px;font-weight:850}.route-overview-hero>h2{letter-spacing:-.045em;max-width:560px;margin:9px 0 4px;font:800 clamp(27px,3vw,39px)/1.05 Montserrat,Inter,sans-serif}.route-overview-hero>p{color:#6f6c79;margin:3px 0 0;font-size:16px}.route-hero-actions{align-items:flex-start;gap:28px;margin-top:20px;display:flex}.route-start-button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#222,#3b3b3b);border:0;border-radius:999px;justify-content:center;align-items:center;gap:22px;min-width:325px;min-height:66px;padding:0 30px;font-size:17px;font-weight:850;display:flex;box-shadow:0 13px 28px #19191c2e}.route-start-button span{font-size:24px;font-weight:400}.route-listen-button{color:#5f5d69;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;min-width:82px;padding:0;font-size:12px;display:flex}.route-listen-button i{background:#ffffff94;border:1px solid #cbc9d4;border-radius:50%;place-items:center;width:58px;height:58px;font-style:normal;display:grid}.route-listen-button svg{width:30px;height:30px}.route-listen-button.is-playing i{color:#fff;background:#6e31d5;border-color:#6e31d5}.route-family-explorer{min-width:0;padding:0 0 10px}.route-family-explorer>header{justify-content:space-between;align-items:flex-end;width:calc(100% - clamp(34px,8vw,100px));margin:0 auto 13px;display:flex}.route-family-explorer>header h2{letter-spacing:-.04em;margin:0;font:800 clamp(20px,2.2vw,29px) Montserrat,Inter,sans-serif}.route-family-explorer>header p{color:#777482;margin:4px 0 0;font-size:13px}.family-carousel-arrows{gap:15px;display:flex}.family-carousel-arrows button{color:#22232d;cursor:pointer;background:#ffffff8c;border:1px solid #cbc9d4;border-radius:50%;place-items:center;width:52px;height:52px;font-size:33px;line-height:1;display:grid}.family-carousel-arrows button:disabled{color:#b7b5bf;cursor:default;background:#ffffff47}.route-family-rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;width:100%;padding:0 clamp(34px,4.5vw,66px) 7px;scroll-padding-left:clamp(34px,4.5vw,66px);display:flex;overflow-x:auto}.route-family-rail::-webkit-scrollbar{display:none}.route-family-rail article{scroll-snap-align:start;cursor:pointer;background:#ffffff8a;border:1px solid #d5d3dc;border-radius:20px;flex:0 0 min(500px,54vw);grid-template-columns:125px minmax(0,1fr) 38px;align-items:center;gap:20px;min-height:158px;padding:20px 27px;transition:border-color .18s,background .18s,transform .18s;display:grid;box-shadow:inset 0 1px #fffc}.route-family-rail article:hover{background:#ffffffd1;border-color:#ab9cc9;transform:translateY(-2px)}.route-family-rail article.is-current{background:linear-gradient(145deg,#ffffffd1,#f5f0ffb3);border-color:#9d82d2}.route-family-rail article>svg{filter:drop-shadow(0 9px 10px #382a5221);width:115px;height:95px}.route-family-rail article>div{min-width:0}.route-family-rail h3{letter-spacing:-.035em;margin:0;font:800 18px Montserrat,Inter,sans-serif}.route-family-rail b{color:#777482;margin-top:7px;font-size:13px;font-weight:500;display:block}.route-family-rail article>div span{color:#777482;margin-top:14px;font-size:11px;display:block}.route-family-rail article.is-current>div span{color:#6c30d1;font-weight:750}.route-family-rail article.is-complete>div span{color:#17854a;font-weight:750}.route-family-rail article>i{color:#373642;font-size:31px;font-style:normal;font-weight:300}.family-carousel-dots{justify-content:center;gap:9px;margin-top:9px;display:flex}.family-carousel-dots button{cursor:pointer;background:#dbd9e1;border:0;border-radius:50%;width:10px;height:10px;padding:0}.family-carousel-dots button.active{background:#7240dd;transform:scale(1.12)}.route-overview-footer{justify-content:center;align-items:center;min-height:70px;padding:14px 24px 20px;display:flex}.route-overview-footer>small{color:#777482;font-size:11px}@media (width>=768px) and (height<=820px){.route-overview-shell{grid-template-rows:68px 42px auto auto 48px}.route-overview-nav{padding-inline:34px}.route-overview-hero{padding-bottom:12px}.route-overview-hero>h1{margin:4px 0 10px;font-size:32px}.route-hero-avatar{width:112px;height:112px}.route-hero-avatar .learner-avatar{border-radius:25px;width:78px;height:78px}.route-hero-step{margin-top:6px;font-size:7px}.route-overview-hero>h2{margin-top:4px;font-size:25px}.route-overview-hero>p{font-size:11px}.route-hero-actions{gap:17px;margin-top:10px}.route-start-button{min-width:275px;min-height:49px;font-size:12px}.route-listen-button i{width:43px;height:43px}.route-listen-button svg{width:23px;height:23px}.route-listen-button{gap:3px;font-size:8px}.route-family-explorer>header{margin-bottom:7px}.route-family-explorer>header h2{font-size:18px}.route-family-explorer>header p{font-size:9px}.family-carousel-arrows button{width:37px;height:37px;font-size:24px}.route-family-rail article{border-radius:16px;flex-basis:min(410px,45vw);grid-template-columns:82px minmax(0,1fr) 25px;gap:13px;min-height:112px;padding:11px 18px}.route-family-rail article>svg{width:78px;height:65px}.route-family-rail h3{font-size:13px}.route-family-rail b{margin-top:4px;font-size:9px}.route-family-rail article>div span{margin-top:7px;font-size:8px}.route-family-rail article>i{font-size:22px}.family-carousel-dots{margin-top:4px}.family-carousel-dots button{width:7px;height:7px}.route-overview-footer{min-height:48px;padding:7px 20px 10px}.route-overview-footer>small{font-size:8px}}@media (width<=767px){.route-overview-shell{grid-template-rows:68px 46px auto auto 55px}.route-overview-nav{padding-inline:17px}.route-overview-hero{padding:0 17px 18px}.route-overview-hero>h1{margin:5px 0 16px;font-size:29px}.route-hero-avatar{width:142px;height:142px}.route-hero-avatar .learner-avatar{border-radius:31px;width:98px;height:98px}.route-hero-step{margin-top:9px;font-size:8px}.route-overview-hero>h2{max-width:330px;margin-top:6px;font-size:27px}.route-overview-hero>p{font-size:12px}.route-hero-actions{align-items:center;gap:12px;width:100%;margin-top:16px}.route-start-button{flex:1;gap:12px;min-width:0;min-height:54px;padding:0 18px;font-size:12px}.route-start-button span{font-size:19px}.route-listen-button{gap:3px;min-width:56px;font-size:8px}.route-listen-button i{width:46px;height:46px}.route-listen-button svg{width:24px;height:24px}.route-family-explorer>header{width:calc(100% - 34px);margin-bottom:10px}.route-family-explorer>header h2{font-size:20px}.route-family-explorer>header p{font-size:10px}.family-carousel-arrows{gap:7px}.family-carousel-arrows button{width:38px;height:38px;font-size:24px}.route-family-rail{gap:10px;padding-inline:17px;scroll-padding-left:17px}.route-family-rail article{border-radius:17px;flex-basis:calc(100vw - 44px);grid-template-columns:86px minmax(0,1fr) 24px;gap:10px;min-height:125px;padding:13px 15px}.route-family-rail article>svg{width:80px;height:68px}.route-family-rail h3{font-size:13px}.route-family-rail b{margin-top:4px;font-size:9px}.route-family-rail article>div span{margin-top:8px;font-size:8px}.route-family-rail article>i{font-size:21px}.family-carousel-dots{gap:7px;margin-top:6px}.family-carousel-dots button{width:7px;height:7px}.route-overview-footer{min-height:55px;padding:11px 17px calc(14px + env(safe-area-inset-bottom))}.route-overview-footer>small{font-size:8px}}.native-logic{align-content:center;justify-items:center;gap:clamp(10px,2vh,20px);width:min(820px,100%);height:100%;max-height:460px;display:grid;overflow:hidden}.logic-piece-board{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(9px,1.5vw,18px);width:min(760px,100%);display:flex}.logic-piece-board>button{appearance:none;cursor:pointer;touch-action:manipulation;background:#ffffffe0;border:2px solid #e2e3ec;border-radius:24px;min-width:clamp(76px,9vw,112px);min-height:clamp(78px,12vh,122px);padding:9px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;box-shadow:0 10px 30px #2b254b12}.logic-piece-board>button:hover:not(:disabled),.logic-piece-board>button.is-armed{border-color:#7c3aed;transform:translateY(-4px);box-shadow:0 15px 36px #6431d226}.logic-piece-board>button.is-selected{background:#f7f3ff;border-color:#7438ec;box-shadow:0 0 0 4px #7438ec1a}.logic-piece-board>button.is-highlighted{animation:1.05s ease-in-out infinite logicPulse}.logic-piece-board>button:disabled{cursor:default;opacity:.58}.logic-tile{color:#262630;place-items:center;gap:7px;display:grid}.logic-tile>i{background:linear-gradient(145deg,color-mix(in srgb,var(--tile-main,#7c3aed) 68%,white),var(--tile-main,#7c3aed));width:clamp(42px,6vw,68px);height:clamp(42px,6vw,68px);filter:drop-shadow(0 8px 9px color-mix(in srgb,var(--tile-main,#7c3aed) 24%,transparent));border-radius:13px;font-style:normal;display:block}.logic-tile>small{color:#555766;max-width:102px;font-size:clamp(11px,1.2vw,14px);font-weight:750;line-height:1.15}.logic-tile.tone-purple{--tile-main:#7c3aed}.logic-tile.tone-blue{--tile-main:#4975e9}.logic-tile.tone-cyan{--tile-main:#15b8c8}.logic-tile.tone-yellow{--tile-main:#f2b521}.logic-tile.tone-pink{--tile-main:#e85ba7}.logic-tile.tone-green{--tile-main:#29bf7b}.logic-tile.tone-neutral{--tile-main:#77798a}.logic-tile.shape-circle>i{border-radius:50%}.logic-tile.shape-square>i,.logic-tile.shape-tile>i{border-radius:13px}.logic-tile.shape-triangle>i{clip-path:polygon(50% 5%,96% 92%,4% 92%);border-radius:0}.logic-tile.shape-diamond>i{clip-path:polygon(50% 2%,98% 50%,50% 98%,2% 50%);border-radius:0}.logic-tile.shape-hexagon>i{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);border-radius:0}.logic-tile.is-compact{text-align:left;grid-template-columns:auto 1fr;display:inline-grid}.logic-tile.is-compact>i{width:34px;height:34px;font-size:25px}.logic-tile.is-compact>small{font-size:12px}.logic-model{color:#6b647a;background:#f5f2ff;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:8px 16px;display:flex}.logic-model>span{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:850}.logic-sequence{scrollbar-width:none;background:linear-gradient(110deg,#f7f4ff,#f5fbff);border:1px dashed #cdc4e9;border-radius:22px;justify-content:center;align-items:center;gap:7px;width:min(700px,100%);min-height:62px;padding:8px 12px;display:flex;overflow-x:auto}.logic-sequence button{background:#fff;border:0;border-radius:14px;flex:none;align-items:center;gap:5px;padding:5px 9px;display:flex;box-shadow:0 5px 14px #352d5514}.logic-sequence button>b{color:#6d35df}.logic-empty-sequence{align-items:center;gap:12px;display:flex}.logic-empty-sequence i{background:#ffffff8c;border:2px dashed #c9c4d7;border-radius:12px;width:46px;height:38px}.logic-zones{grid-template-columns:repeat(2,1fr);gap:14px;width:min(680px,100%);display:grid}.logic-zones button{color:#30313b;text-align:left;background:#fbfbfd;border:2px dashed #cfd2df;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:82px;padding:14px 20px;display:grid}.logic-zones button.is-ready{cursor:pointer;background:#f8f5ff;border-style:solid;border-color:#7c3aed}.logic-zones .zone-symbol{color:#7840dd;font-size:34px}.logic-zones small{color:#838594}.logic-pairs{color:#7141da;align-items:center;gap:8px;min-height:24px;font-weight:800;display:flex}.logic-pairs>i{background:#c9b7ef;border-radius:99px;width:24px;height:3px}.logic-pairs>span{background:#f2ebff;border-radius:50%;place-items:center;min-width:24px;height:24px;display:grid}.logic-live-rule{color:#277557;background:#f0fbf6;border-radius:999px;align-items:center;gap:9px;padding:7px 14px;font-size:12px;font-weight:750;display:flex}.logic-live-rule>i{background:#2acb83;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #2acb8321}.logic-live-rule>b{color:#159660}@keyframes logicPulse{50%{transform:translateY(-5px)scale(1.045);box-shadow:0 0 0 8px #7c3aed1f}}@media (width<=767px){.native-logic{gap:8px;max-height:100%}.logic-piece-board{gap:8px}.logic-piece-board>button{border-radius:18px;min-width:66px;min-height:68px;padding:6px}.logic-tile>i{width:38px;height:38px;font-size:27px}.logic-tile>small{max-width:72px;font-size:10px}.logic-zones{gap:8px}.logic-zones button{border-radius:17px;grid-template-columns:auto 1fr;min-height:66px;padding:8px 11px}.logic-zones button small{display:none}.logic-zones .zone-symbol{font-size:26px}.logic-sequence{justify-content:flex-start;min-height:52px;padding:5px 8px}.logic-model{padding:5px 9px}.logic-model>span{display:none}}@media (height<=680px){.native-logic{gap:6px;max-height:330px}.logic-piece-board>button{min-height:62px}.logic-tile>i{width:34px;height:34px;font-size:25px}.logic-tile>small{font-size:10px}}.audio-permission-page{background:radial-gradient(at 10% 4%,#7748dc1f,#0000 34%),radial-gradient(at 91% 7%,#ffd24c1f,#0000 31%),radial-gradient(at 88% 94%,#00ccfe1a,#0000 35%),#fff;place-items:center;min-height:100dvh;padding:24px;display:grid}.audio-permission-card{text-align:center;flex-direction:column;align-items:center;width:min(520px,100%);display:flex}.audio-permission-card .kody-character-hero{width:112px;height:150px}.audio-permission-card>span{color:#6f32d5;letter-spacing:.18em;margin-top:10px;font-size:9px;font-weight:850}.audio-permission-card h1{letter-spacing:-.045em;margin:9px 0 7px;font:800 clamp(27px,4vw,38px) Montserrat,Inter,sans-serif}.audio-permission-card p{color:#716d79;max-width:450px;margin:0;font-size:13px;line-height:1.6}.audio-enable-button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#222,#3a3a3a);border:0;border-radius:999px;width:min(330px,100%);min-height:58px;margin-top:24px;font-weight:850;box-shadow:0 12px 27px #19191c2b}.audio-enable-button:disabled{opacity:.65}.audio-skip-button{color:#77717d;cursor:pointer;background:0 0;border:0;margin-top:13px;padding:8px 14px;font-size:11px;font-weight:700}.audio-permission-card>small{color:#a4443e;max-width:410px;margin-top:12px;font-size:10px;line-height:1.45}.pwa-install-card{z-index:70;color:#302a37;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #56426a21;border-radius:22px;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(440px,100% - 36px);min-height:92px;padding:14px 14px 14px 13px;animation:.25s ease-out welcome-in;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 20px 60px #301f412e}.pwa-install-card>img{border-radius:17px;width:60px;height:60px}.pwa-install-card b{font:800 13px Montserrat,Inter,sans-serif}.pwa-install-card p{color:#746e79;margin:5px 0 0;font-size:9px;line-height:1.45}.pwa-install-card p strong{color:#4b4351}.pwa-dismiss{color:#736c78;cursor:pointer;background:#fff;border:1px solid #e0dbe5;border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;display:grid;position:absolute;top:-9px;right:-7px;box-shadow:0 5px 14px #32233f1a}.pwa-install-action{color:#fff;cursor:pointer;background:#6f32d5;border:0;border-radius:999px;min-height:40px;padding:0 16px;font-size:9px;font-weight:850}@media (width<=600px){.audio-permission-page{padding:20px}.audio-permission-card .kody-character-hero{width:92px;height:126px}.audio-permission-card h1{font-size:28px}.audio-permission-card p{font-size:11px}.audio-enable-button{min-height:54px}.pwa-install-card{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));border-radius:18px;grid-template-columns:50px minmax(0,1fr) auto;gap:9px;width:calc(100% - 20px);min-height:82px}.pwa-install-card>img{border-radius:14px;width:50px;height:50px}.pwa-install-action{padding-inline:12px}}.route-overview-page{min-height:100dvh;overflow:hidden}.route-overview-shell{grid-template-rows:82px 62px minmax(0,1fr) 112px;height:100dvh;min-height:650px;overflow:hidden}.route-overview-nav{z-index:2;position:relative}.route-journey-layout{grid-template-columns:minmax(300px,.75fr) minmax(620px,1.65fr);align-items:center;gap:clamp(42px,5vw,82px);width:min(1350px,100% - clamp(70px,9vw,142px));min-width:0;min-height:0;margin:0 auto;display:grid}.route-journey-layout .route-overview-hero{text-align:center;align-items:center;min-width:0;padding:0}.route-journey-layout .route-overview-hero>h1{max-width:390px;margin:7px 0 24px;font-size:clamp(38px,4vw,56px);line-height:1.02}.route-journey-layout .route-hero-avatar{width:clamp(190px,21vw,292px);height:clamp(190px,21vw,292px)}.route-journey-layout .route-hero-avatar .learner-avatar{border-radius:31%;width:68%;height:68%}.route-journey-layout .route-hero-step{margin-top:15px}.route-journey-layout .route-overview-hero>h2{max-width:390px;margin-top:10px;font-size:clamp(27px,2.8vw,40px);line-height:1.06}.route-journey-layout .route-overview-hero>p{max-width:340px;font-size:clamp(13px,1.35vw,17px);line-height:1.42}.route-journey-layout .route-family-explorer{flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding:0;display:flex}.route-journey-layout .route-family-explorer>h2{text-align:left;letter-spacing:-.045em;margin:0 0 clamp(14px,2vh,25px);font:800 clamp(28px,3vw,42px) Montserrat,Inter,sans-serif}.route-family-map{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;row-gap:clamp(12px,2vh,24px);width:100%;min-width:0;display:grid}.route-family-map article{text-align:center;color:#242530;flex-direction:column;align-items:center;min-width:0;display:flex}.route-family-map article:first-child{grid-column:1/3}.route-family-map article:nth-child(2){grid-column:3/5}.route-family-map article:nth-child(3){grid-column:5/7}.route-family-map article:nth-child(4){grid-column:2/4}.route-family-map article:nth-child(5){grid-column:4/6}.route-family-ring{aspect-ratio:1;background:conic-gradient(from 0deg,#2fc878 0 var(--family-progress),#d2d5dc var(--family-progress) 360deg);cursor:pointer;border:0;border-radius:50%;place-items:center;width:clamp(132px,13vw,194px);padding:5px;transition:transform .18s,box-shadow .18s;animation:5.4s ease-in-out infinite route-family-float;display:grid;position:relative;box-shadow:0 12px 28px #3026400e}.route-family-map article:nth-child(2) .route-family-ring{animation-duration:5.9s;animation-delay:-1.1s}.route-family-map article:nth-child(3) .route-family-ring{animation-duration:5.1s;animation-delay:-2.4s}.route-family-map article:nth-child(4) .route-family-ring{animation-duration:6.2s;animation-delay:-3.2s}.route-family-map article:nth-child(5) .route-family-ring{animation-duration:5.7s;animation-delay:-4.1s}.route-family-ring:hover,.route-family-ring:focus-visible{outline:0;transform:translateY(-3px);box-shadow:0 16px 34px #422c5e21,0 0 0 4px #6a30d114}.route-family-icon{background:#ffffffe3;border-radius:50%;place-items:center;width:100%;height:100%;transition:filter .2s,background .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1px #fffc}.route-family-icon svg{filter:drop-shadow(0 10px 10px #362a4d21);width:64%;height:64%;overflow:visible}.route-family-map article.is-current .route-family-icon{background:linear-gradient(145deg,#fffffffa,#f5effff5);box-shadow:inset 0 0 0 2px #8051e8}.route-family-map article.is-pending .route-family-icon{background:#f9f9fab8}.route-family-map article.is-pending .route-family-icon svg{filter:grayscale()contrast(.72)opacity(.55)drop-shadow(0 7px 8px #2d2d3114)}.route-family-map h3{letter-spacing:-.035em;max-width:190px;margin:9px 0 0;font:800 clamp(14px,1.4vw,19px)/1.1 Montserrat,Inter,sans-serif}.route-family-map article>span{color:#898794;margin-top:4px;font-size:clamp(11px,1.05vw,15px)}.route-family-map article.is-current>span{color:#7340db;font-weight:800}.route-family-map article.is-complete>span{color:#188b50;font-weight:800}.route-overview-footer{flex-direction:column;gap:13px;min-height:112px;padding:4px 24px 18px}.route-overview-footer>.route-start-button{width:min(360px,100% - 48px);min-width:0;min-height:72px;padding-inline:20px}.route-overview-footer>small{font-size:12px}@keyframes route-family-float{0%,to{translate:0;rotate:-.25deg}50%{translate:0 -5px;rotate:.25deg}}@media (prefers-reduced-motion:reduce){.route-family-ring{animation:none}}@media (width>=768px) and (height<=820px){.route-overview-shell{grid-template-rows:64px 46px minmax(0,1fr) 88px;min-height:0}.route-journey-layout{grid-template-columns:minmax(240px,.7fr) minmax(530px,1.65fr);gap:34px;width:min(1160px,100% - 64px)}.route-journey-layout .route-overview-hero>h1{margin:3px 0 8px;font-size:33px}.route-journey-layout .route-hero-avatar{width:118px;height:118px}.route-journey-layout .route-hero-step{margin-top:5px;font-size:7px}.route-journey-layout .route-overview-hero>h2{margin-top:4px;font-size:23px}.route-journey-layout .route-overview-hero>p{font-size:10px}.route-journey-layout .route-family-explorer>h2{margin-bottom:7px;font-size:27px}.route-family-map{row-gap:6px}.route-family-ring{width:102px;padding:4px}.route-family-map h3{max-width:145px;margin-top:4px;font-size:11px}.route-family-map article>span{margin-top:2px;font-size:8px}.route-overview-footer{gap:5px;min-height:88px;padding:3px 20px 10px}.route-overview-footer>.route-start-button{min-height:56px;font-size:12px}.route-overview-footer>small{font-size:8px}}.activity-buttons{justify-content:flex-end}.activity-buttons .activity-primary-action{border-radius:19px;place-items:center;width:88px;min-width:88px;min-height:60px;padding:0;font-size:29px;line-height:1;display:grid}.activity-buttons .activity-primary-action.is-check{color:#28221a;background:linear-gradient(#ffe178,#ffc83d);box-shadow:0 9px 20px #e1ae153d}.activity-buttons .activity-primary-action.is-advance,.activity-buttons .activity-primary-action.awaiting-reply{color:#fff;background:linear-gradient(#42d58a,#20b968);box-shadow:0 9px 20px #1fad623d}.activity-buttons .activity-primary-action>span{display:block;transform:translateY(-1px)}.activity-buttons .why-action{color:#4f4955;min-width:112px;min-height:54px;box-shadow:none;background:#f5f4f6;border:1px solid #e3dfe7;border-radius:18px;padding:0 22px;font-size:13px;font-weight:800}.activity-buttons .why-action:hover,.activity-buttons .why-action:focus-visible{color:#6826c8;background:#faf7ff;border-color:#cbb9e9;outline:0;transform:translateY(-1px)}.activity-buttons .why-action:disabled{opacity:.45;cursor:default;transform:none}@media (width<=767px){.activity-buttons .activity-primary-action{border-radius:18px;width:100%;min-width:0;min-height:62px;font-size:30px}.activity-buttons.has-why{grid-template-columns:minmax(0,1fr) 82px;gap:9px;display:grid}.activity-buttons.has-why .why-action{border-radius:18px;width:100%;min-width:0;min-height:58px}.activity-buttons.has-why .activity-primary-action{width:82px;min-width:82px;min-height:58px}}@media (width>=768px) and (width<=1050px){.route-journey-layout{grid-template-columns:minmax(230px,.72fr) minmax(440px,1.4fr);gap:28px;width:calc(100% - 54px)}.route-journey-layout .route-overview-hero>h1{font-size:34px}.route-family-ring{width:clamp(102px,14vw,142px)}.route-family-map h3{font-size:12px}}@media (width<=767px){.route-overview-page{overflow:auto}.route-overview-shell{grid-template-rows:66px 48px auto 102px;height:auto;min-height:100dvh;overflow:visible}.route-journey-layout{width:calc(100% - 30px);display:block}.route-journey-layout .route-overview-hero{padding:0 0 28px}.route-journey-layout .route-overview-hero>h1{max-width:320px;margin:4px 0 13px;font-size:34px}.route-journey-layout .route-hero-avatar{width:136px;height:136px}.route-journey-layout .route-hero-step{margin-top:8px}.route-journey-layout .route-overview-hero>h2{max-width:320px;font-size:26px}.route-journey-layout .route-overview-hero>p{font-size:12px}.route-journey-layout .route-family-explorer{padding:0 0 18px}.route-journey-layout .route-family-explorer>h2{text-align:center;margin:0 0 18px;font-size:27px}.route-family-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.route-family-map article:nth-child(n){grid-column:auto}.route-family-map article:nth-child(5){grid-column:1/3;justify-self:center;width:50%}.route-family-ring{width:min(37vw,148px)}.route-family-map h3{max-width:145px;font-size:13px}.route-family-map article>span{font-size:10px}.route-overview-footer{z-index:5;min-height:102px;padding:8px 15px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#fff0,#fffffff5 22%);position:sticky;bottom:0}.route-overview-footer>.route-start-button{width:calc(100% - 44px);min-height:62px;font-size:13px}.route-overview-footer>small{font-size:8px}}
