@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_76b6f0f2-module__xqF_IW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_76b6f0f2-module__xqF_IW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-goth);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{min-height:100svh;color:var(--ink);font-family:var(--font-goth), sans-serif;background:0 0;margin:0;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--shu-soft);outline-offset:4px}}@layer components;@layer utilities{.block{display:block}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.font-min{font-family:var(--font-min), serif}.font-mono{font-family:var(--font-mono), monospace}}:root{--paper:#f2f2f0;--paper-2:#e9e9e6;--ink:#1a222e;--ink-soft:#5a6472;--shu:#e14b42;--shu-soft:#fc8580;--shu-deep:#c73b33;--teal:#5e9391;--term:#141d2b;--term-ink:#e6e9ed;--line:#dcdcd8;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.bg{z-index:-1;pointer-events:none;position:fixed;inset:0}.cube-w{will-change:transform;position:absolute}.cube-w svg{animation:7s ease-in-out infinite alternate bob-slow;display:block;overflow:visible}.cw-1{width:56px;top:11%;right:2.5%}.cw-2{width:42px;top:32%;left:2%}.cw-3{width:52px;top:62%;right:3%}.cw-4{opacity:.85;width:32px;top:85%;left:3%}.cw-5{opacity:.55;width:26px;top:20%;left:33%}.cw-6{opacity:.55;width:32px;top:82%;left:55%}.cw-2 svg{animation-delay:1.2s}.cw-3 svg{animation-delay:2.1s}.cw-4 svg{animation-delay:.6s}.cw-5 svg{animation-delay:3s}.cw-6 svg{animation-delay:1.8s}@keyframes bob-slow{0%{transform:translateY(-6px)rotate(-1deg)}to{transform:translateY(8px)rotate(1.5deg)}}.rv{opacity:0;transition:opacity .65s var(--ease), transform .65s var(--ease);transform:translateY(22px)}.rv.on{opacity:1;transform:none}.rv-kids>*{opacity:0;transition:opacity .65s var(--ease), transform .65s var(--ease);transform:translateY(22px)}.rv-kids.on>*{opacity:1;transform:none}.rv-kids.on>:first-child{transition-delay:0s}.rv-kids.on>:nth-child(2){transition-delay:90ms}.rv-kids.on>:nth-child(3){transition-delay:.18s}.rv-kids>.no-rv,.rv-kids.on>.no-rv{opacity:1;transition:none;transform:none}.lg,.ch{opacity:0;animation:place .38s var(--ease) forwards;display:inline-block}@keyframes place{0%{opacity:0;transform:translateY(.4em)}70%{opacity:1;transform:translateY(-.07em)}to{opacity:1;transform:translateY(0)}}header{z-index:50;background:var(--paper);border-bottom:1px solid #0000;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){header{background:color-mix(in srgb, var(--paper) 92%, transparent)}}header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .3s}header.scrolled{border-bottom-color:var(--line)}.header-in{justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:0 auto;padding:13px 24px;display:flex}.logo{font-family:var(--font-mono), monospace;letter-spacing:.04em;align-items:center;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.logo-mark{width:34px;height:34px;margin-right:9px}.cursor{background:var(--shu-soft);vertical-align:-.14em;width:.55em;height:1.05em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 18px;display:flex}nav a.nlink{padding:2px 0;font-size:14px;font-weight:600;text-decoration:none;position:relative}nav a.nlink:after{background:var(--shu);width:0;height:1.5px;transition:width .2s var(--ease);content:"";position:absolute;bottom:-2px;left:0}nav a.nlink:hover:after{width:100%}.btn{background:var(--shu);color:#fff;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}.btn:hover{background:var(--shu-deep)}.btn:active{transform:scale(.98)}.btn-key{font-family:var(--font-mono), monospace;opacity:.75;margin-left:8px;transition:transform .15s,opacity .15s;display:inline-block}.btn:hover .btn-key{opacity:1;transform:translateY(2px)}.btn-big{border-radius:9px;padding:15px 34px;font-size:16px}.btn-outline{border:1px solid var(--ink);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--shu);color:var(--shu);background:0 0}.fab{z-index:70;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 32px -8px #141d2b80}section{padding:104px 0;position:relative}h1,h2,h3{font-family:var(--font-min), serif;letter-spacing:0;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance;margin:0;font-weight:700}h2{margin-bottom:30px;font-size:clamp(28px,4.4vw,42px);line-height:1.45}.section-title{text-align:center}.section-lead{max-width:720px;color:var(--ink-soft);text-align:center;margin:16px auto 0;font-size:16px;line-height:1.95}.section-lead.align-left{text-align:left;margin-left:0;margin-right:0}.hero{text-align:center;align-items:flex-start;padding:82px 0 34px;display:flex}.hero-inner{width:100%}.recruit{border:1.5px solid var(--shu);background:var(--shu);color:#fff;font-family:var(--font-mono), monospace;letter-spacing:.04em;opacity:0;animation:place .5s var(--ease) 50ms forwards;border-radius:999px;align-items:center;gap:10px;margin:0 0 30px;padding:10px 24px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 6px 18px #e14b424d}.recruit i{background:#fff;border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.hero h1{font-size:clamp(23px,5.4vw,60px);line-height:1.36}.hero-line{white-space:nowrap;display:block}.hero .note{color:var(--ink-soft);font-family:var(--font-mono), monospace;opacity:0;animation:place .5s var(--ease) 1.15s forwards;margin:20px 0 0;font-size:13px}.maru{padding:0 .05em;display:inline-block;position:relative}.maru svg{pointer-events:none;width:124%;height:148%;position:absolute;inset:-24% -12%;overflow:visible}.maru ellipse{fill:none;stroke:var(--shu);stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:340px;transform-origin:50%}.maru .e1{stroke-width:7px;opacity:.92;transform:rotate(-4deg)}.maru .e2{stroke-width:3px;opacity:.6;transform:rotate(-1deg)scale(1.02)}.maru.draw .e1{animation:maru-draw .8s var(--ease) forwards}.maru.draw .e2{animation:maru-draw .8s var(--ease) 70ms forwards}@keyframes maru-draw{to{stroke-dashoffset:42px}}.win{border:1px solid var(--line);border-radius:10px;overflow:hidden}.editor-bar{background:#1d2836;align-items:center;gap:8px;padding:9px 14px;display:flex}.dot{background:#3c4859;border-radius:50%;width:10px;height:10px}.tk-tag,.tk-kw{color:#fc8580}.tk-attr{color:#7fb5b3}.tk-str{color:#9ccfa0}.tk-txt{color:var(--term-ink)}.tk-com{color:#6b7686}.type-cursor{background:var(--shu-soft);vertical-align:-.15em;width:.55em;height:1.1em;animation:1s step-end infinite blink;display:inline-block}.app-forge{text-align:center;margin-top:30px}.forge-stage{flex-direction:column;align-items:center;max-width:680px;margin:0 auto;display:flex}.forge-win{background:var(--term);width:100%;box-shadow:0 26px 54px -26px #141d2b80}.forge-bar{background:#1d2836;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:9px 14px;display:flex}.forge-tag{color:#8d97a6;font-family:var(--font-mono), monospace;margin-left:auto;font-size:11.5px;font-weight:700}.forge-url{color:#cdd4de;font-family:var(--font-mono), monospace;white-space:nowrap;text-overflow:ellipsis;background:#ffffff14;border-radius:999px;flex:1;margin-left:6px;padding:2px 12px;font-size:11px;overflow:hidden}.forge-body{background:var(--term);height:340px;position:relative;overflow:hidden}.forge-editor{color:var(--term-ink);font-family:var(--font-mono), monospace;text-align:left;white-space:pre-wrap;word-break:break-word;opacity:1;transition:opacity .3s var(--ease);padding:16px 20px;font-size:13px;line-height:1.85;position:absolute;inset:0}.forge-line{min-height:1.85em}.forge-app{opacity:0;transition:opacity .4s var(--ease);pointer-events:none;background:#fff;position:absolute;inset:0}.forge-body.running .forge-editor{opacity:0}.forge-body.running .forge-app{opacity:1}.forge-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.forge-flash.on{animation:.18s ease-out forge-flash}@keyframes forge-flash{0%{opacity:0}40%{opacity:.92}to{opacity:0}}.forge-controls{flex-direction:column;align-items:center;margin-top:20px;display:flex}.forge-btn{cursor:pointer;border:none;font-family:inherit}.scene-world{background:linear-gradient(#e9f3fb 0 58%,#d7e8d2 58%)}.forge-world{transform-origin:50% 0;position:absolute;inset:0;overflow:hidden;transform:translateY(8px)scale(.9)}.scene-omikuji{background:radial-gradient(120% 90% at 50% 20%,#fff5f1,#ffe7e0)}.omk-stage{place-content:center;place-items:center;gap:18px;height:100%;display:grid;position:relative}.omk-box{color:#fff;writing-mode:vertical-rl;background:linear-gradient(#e8564d,#c73b33);border-radius:12px 12px 10px 10px;place-items:end center;width:96px;height:116px;padding-bottom:12px;font-size:15px;font-weight:700;display:grid;position:relative;box-shadow:0 12px 22px -12px #c73b33b3}.omk-hole{background:#7c221d;border-radius:999px;width:34px;height:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.omk-result{z-index:1;border:2px solid var(--shu);color:var(--shu-deep);font-family:var(--font-min), serif;background:#fff;border-radius:10px;padding:8px 20px;font-size:28px;font-weight:700;position:relative;box-shadow:0 10px 24px -12px #e14b4299}.omk-spark{font-size:18px;position:absolute}.omk-spark.s1{top:20%;left:26%}.omk-spark.s2{top:30%;right:24%}.omk-spark.s3{top:52%;left:32%}.scene-omikuji.on .omk-box{animation:1.8s ease-in-out infinite omk-shake}.scene-omikuji.on .omk-result{animation:omk-pop 1.8s var(--spring) infinite}.scene-omikuji.on .omk-spark{animation:1.8s ease-in-out infinite twinkle}.scene-omikuji.on .omk-spark.s2{animation-delay:.3s}.scene-omikuji.on .omk-spark.s3{animation-delay:.6s}@keyframes omk-shake{0%,40%,to{transform:rotate(0)}10%,30%{transform:rotate(-6deg)}20%{transform:rotate(6deg)}}@keyframes omk-pop{0%,38%{opacity:0;transform:translateY(10px)scale(.6)}52%,92%{opacity:1;transform:translateY(0)scale(1)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes twinkle{0%,40%,to{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.1)}}.scene-quiz{background:#f4f8fb;place-items:center;display:grid}.quiz-stage{justify-items:center;gap:14px;width:100%;padding:0 20px;display:grid}.quiz-q{background:var(--ink);color:#fff;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:700}.quiz-choices{gap:12px;display:flex}.quiz-choice{border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:700;position:relative}.quiz-choice.correct{border-color:var(--line);color:var(--ink);background:#fff}.quiz-choice.correct:after{background:var(--teal);color:#fff;opacity:0;content:"✓";border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid;position:absolute;top:-8px;right:-8px;transform:scale(.2)}.quiz-score{color:var(--shu);font-family:var(--font-mono), monospace;opacity:0;font-size:15px;font-weight:700;transform:translateY(6px)}.scene-quiz.on .quiz-choice.correct{animation:.9s ease-out forwards quiz-glow}.scene-quiz.on .quiz-choice.correct:after{animation:quiz-check .9s var(--spring) forwards}.scene-quiz.on .quiz-score{animation:.9s ease-out forwards quiz-bump}@keyframes quiz-glow{0%,40%{border-color:var(--line);color:var(--ink);background:#fff}to{border-color:var(--teal);color:var(--teal);background:#e6f2f1}}@keyframes quiz-check{0%,44%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes quiz-bump{0%,50%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scene-paint{background:#fbfbf8;place-items:center;display:grid}.paint-stage{align-items:center;gap:16px;display:flex}.paint-grid{background:#fff;border-radius:8px;grid-template-columns:repeat(8,1fr);gap:2px;width:152px;height:152px;padding:6px;display:grid;box-shadow:0 10px 26px -16px #141d2b66}.paint-cell{background:#ececea;border-radius:2px}.paint-cell.on{background:var(--shu)}.scene-paint.on .paint-cell.on{background:#ececea;animation:3.6s step-end infinite paint-fill}.paint-palette{gap:8px;display:grid}.pal{border-radius:5px;width:20px;height:20px;display:block}.pal.red{background:var(--shu)}.pal.teal{background:var(--teal)}.pal.ink{background:var(--ink)}@keyframes paint-fill{0%,8%{background:#ececea}20%,90%{background:var(--shu)}to{background:#ececea}}.scene-beat{background:#16121f;place-items:center;display:grid}.beat-stage{justify-items:center;gap:18px;display:grid}.beat-pads{gap:10px;display:flex}.beat-pad{background:#2d2740;border-radius:10px;width:44px;height:44px;box-shadow:inset 0 0 0 1px #ffffff0f}.scene-beat.on .beat-pad{animation:1s step-end infinite pad-flash}.beat-eq{align-items:flex-end;gap:5px;height:44px;display:flex}.beat-bar{background:var(--teal);border-radius:3px;width:7px;height:40%}.scene-beat.on .beat-bar{animation:.6s ease-in-out infinite alternate eq-bounce}@keyframes pad-flash{0%,50%,to{background:#2d2740;box-shadow:inset 0 0 0 1px #ffffff0f}25%{background:var(--shu);box-shadow:0 0 16px 2px #e14b42b3}}@keyframes eq-bounce{0%{height:25%}to{height:95%}}.scene-janken{background:radial-gradient(120% 90% at 50% 30%,#fffaf3,#ffe9d8);place-items:center;display:grid}.jkn-stage{justify-items:center;gap:14px;display:grid}.jkn-hands{width:84px;height:84px;position:relative}.jkn-hand{opacity:0;place-items:center;font-size:58px;display:grid;position:absolute;inset:0}.jkn-hand.h3{opacity:1}.jkn-result{background:var(--shu);color:#fff;border-radius:999px;padding:6px 18px;font-size:15px;font-weight:700}.scene-janken.on .jkn-hand.h1{animation:1.1s step-end forwards jkn-first}.scene-janken.on .jkn-hand.h2{animation:1.1s step-end forwards jkn-second}.scene-janken.on .jkn-hand.h3{opacity:0;animation:1.1s step-end forwards jkn-settle}.scene-janken.on .jkn-result{animation:jkn-pop 1.1s var(--spring) forwards}@keyframes jkn-first{0%,24%{opacity:1}25%,to{opacity:0}}@keyframes jkn-second{0%,28%{opacity:0}29%,52%{opacity:1}53%,to{opacity:0}}@keyframes jkn-settle{0%,56%{opacity:0}57%,to{opacity:1}}@keyframes jkn-pop{0%,58%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.scene-timer{background:#12233a;place-items:center;display:grid}.timer-stage{justify-items:center;gap:12px;display:grid}.timer-num{color:#eaf1f8;font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:54px;font-weight:700}.timer-label{background:var(--shu);color:#fff;opacity:0;transition:opacity .2s, transform .2s var(--spring);border-radius:999px;padding:6px 18px;font-size:15px;font-weight:700;transform:scale(.7)}.timer-stage.done .timer-num{color:var(--shu-soft)}.timer-stage.done .timer-label{opacity:1;transform:scale(1)}.scene-treasure{background:linear-gradient(#e4f4e8,#f7e5bd);place-items:center;display:grid}.treasure-stage{justify-items:center;gap:14px;display:grid}.treasure-map{background:radial-gradient(circle at 22% 34%,#b9de9b 0 18%,#0000 19%),radial-gradient(circle at 72% 62%,#9fd0a4 0 16%,#0000 17%),linear-gradient(135deg,#f8e7bf,#efd294);border:3px solid #c79553;border-radius:18px 8px;width:230px;height:148px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff59,0 18px 34px -22px #54361bcc}.map-island,.map-hero,.map-x{z-index:2;position:absolute}.map-island.i1{top:18px;left:34px}.map-island.i2{bottom:22px;right:42px}.map-route{border-bottom:3px dashed #50321973;border-left:3px dashed #50321973;border-radius:0 0 0 40px;width:112px;height:62px;position:absolute;top:42px;left:62px;transform:rotate(-8deg)}.map-hero{font-size:24px;top:70px;left:64px}.map-x{color:var(--shu);font-family:var(--font-mono), monospace;font-size:42px;font-weight:700;line-height:1;top:28px;right:44px;transform:rotate(-8deg)}.treasure-label{background:var(--ink);color:#fff;border-radius:999px;padding:7px 18px;font-size:15px;font-weight:700}.scene-treasure.on .map-hero{animation:1.25s ease-out forwards map-walk}.scene-treasure.on .map-x{animation:map-pop 1.25s var(--spring) forwards}@keyframes map-walk{0%{transform:translate(0)}to{transform:translate(92px,-38px)}}@keyframes map-pop{0%,58%{opacity:.25;transform:rotate(-8deg)scale(.82)}to{opacity:1;transform:rotate(-8deg)scale(1)}}.scene-zukan{background:linear-gradient(135deg,#f8ead2,#d9edf2);place-content:center;display:grid}.zkn-stage{perspective:900px}.zkn-book{filter:drop-shadow(0 18px 26px #141d2b33);grid-template-columns:118px 170px;width:288px;min-height:176px;display:grid;position:relative}.zkn-cover{background:linear-gradient(90deg, #0000001f, transparent 18px), linear-gradient(145deg, var(--teal), #456f84);color:#fff;transform-origin:100%;border-radius:12px 3px 3px 12px;align-content:center;gap:10px;padding:20px 16px;display:grid;position:relative;transform:rotateY(-7deg)}.zkn-title{font-family:var(--font-min), serif;font-size:19px;font-weight:700;line-height:1.35}.zkn-label{font-family:var(--font-mono), monospace;opacity:.72;font-size:10px;font-weight:700}.zkn-ribbon{background:var(--shu);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);width:18px;height:54px;position:absolute;top:0;right:18px}.zkn-page{background:linear-gradient(90deg,#141d2b1a,#0000 14px),repeating-linear-gradient(#fffdf7 0 21px,#f2e5ce 21px 22px);border-radius:3px 12px 12px 3px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px 14px 14px 18px;display:grid}.zkn-card{background:#ffffffb8;border:1px solid #141d2b1a;border-radius:8px;place-items:center;gap:2px;min-height:62px;padding:6px;display:grid}.zkn-emoji{font-size:27px}.zkn-name{color:var(--ink-soft);font-size:12px;font-weight:700}.scene-zukan.on .zkn-card{animation:zkn-slide .8s var(--spring) forwards}@keyframes zkn-slide{0%,6%{opacity:0;transform:translate(18px)rotate(-2deg)}to{opacity:1;transform:translate(0)rotate(0)}}.scene-weather{background:linear-gradient(#dff2ff,#f7fbff 64%,#e5f1d7);place-items:center;display:grid}.weather-stage{justify-items:center;gap:12px;display:grid}.weather-card{background:#ffffffdb;border:1px solid #141d2b1f;border-radius:18px;justify-items:center;min-width:160px;padding:22px 24px 18px;display:grid;position:relative;box-shadow:0 18px 34px -24px #141d2b73}.weather-sun{color:#d78322;background:#ffd76a;border-radius:50%;place-items:center;width:58px;height:58px;font-size:29px;display:grid;position:absolute;top:-21px;right:-12px;box-shadow:0 8px 24px -14px #d78322}.weather-city,.weather-kind,.weather-advice{font-weight:700}.weather-city{color:var(--teal);font-family:var(--font-mono), monospace;font-size:12px}.weather-card strong{color:var(--ink);font-family:var(--font-mono), monospace;font-size:42px;line-height:1.25}.weather-kind{color:var(--ink-soft);font-size:13px}.weather-advice{background:var(--shu);color:#fff;border-radius:999px;padding:7px 18px;font-size:14px}.scene-weather.on .weather-sun{animation:weather-rise .95s var(--spring) forwards}.scene-weather.on .weather-advice{animation:weather-pop .95s var(--spring) forwards}@keyframes weather-rise{0%{opacity:0;transform:translateY(22px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes weather-pop{0%,46%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.vox-scene{height:315px;position:relative}.vox{opacity:0;width:36px;position:absolute}.player{width:18px;transition:left .55s linear,top .55s linear}.player .p-head{width:13px;margin:0 auto -4px}.player .p-body{width:18px;margin:0 auto}.vox svg{display:block;overflow:visible}.vox.on{animation:vox-drop .45s var(--spring) forwards}@keyframes vox-drop{0%{opacity:0;transform:translateY(-48px)}70%{opacity:1;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.vox.float svg{animation:3.4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-8px)}}.vcloud{opacity:0;font-size:19px;transition:opacity .8s;position:absolute;top:14px;left:12%}.vcloud.vc2{font-size:14px;top:38px;left:64%}.vcloud.on{opacity:.9;animation:30s ease-in-out infinite alternate drift}@keyframes drift{to{transform:translate(42px)}}.term{background:var(--term);max-width:980px;color:var(--term-ink);border:none;margin:0 auto}.term-grid{font-family:var(--font-mono), monospace;grid-template-columns:1fr 1fr;gap:16px 56px;padding:30px 40px 38px;font-size:16.5px;line-height:2.05;display:grid}.t-cmd{margin-bottom:4px}.prompt{color:var(--shu-soft);font-weight:700}.t-line{opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);transform:translateY(6px)}.t-line.on{opacity:1;transform:none}.t-line .ok{color:var(--teal);margin-right:10px;font-weight:700}.t-line b{color:#fc8580;font-weight:700}.pain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:980px;margin:40px auto 0;display:grid}.pain-card{border:1px solid var(--line);background:#fbfbfa;border-radius:12px;padding:26px 28px}.pain-q{font-family:var(--font-min), serif;margin:0 0 14px;font-size:18px;font-weight:700}.pain-a{color:var(--ink-soft);margin:0;font-size:15.5px}.pain-a .ok{color:var(--teal);font-family:var(--font-mono), monospace;margin-right:8px;font-weight:700}.edu-lead{max-width:720px;color:var(--ink-soft);text-align:center;margin:0 auto;font-size:16px}.edu-timeline{gap:0;max-width:860px;margin:52px auto 0;display:grid;position:relative}.edu-timeline:before{background:var(--ink);content:"";width:2px;position:absolute;top:0;bottom:0;left:calc(42% + 32px)}.edu-item{grid-template-columns:42% 30px 1fr;align-items:center;gap:18px;min-height:116px;padding:12px 0;display:grid;position:relative}.edu-time{text-align:right}.edu-dot{z-index:1;border:3px solid var(--paper);background:var(--ink);width:18px;height:18px;box-shadow:0 0 0 2px var(--ink);border-radius:50%;margin:0 auto}.edu-year{color:var(--ink);font-family:var(--font-mono), monospace;font-size:clamp(28px,5vw,44px);font-weight:700;line-height:1;display:block}.edu-item h3{color:var(--ink-soft);margin:8px 0 0;font-size:19px}.edu-event{border:1px solid var(--line);color:var(--ink-soft);background:#fbfbfa;border-radius:8px;margin:0;padding:18px 22px;font-size:15.5px;line-height:1.8}.edu-item.goal .edu-dot{background:var(--shu);box-shadow:0 0 0 2px var(--shu)}.edu-item.goal .edu-year,.edu-item.goal h3{color:var(--shu)}.edu-beyond{text-align:center;max-width:720px;margin:52px auto 0}.edu-beyond h3{margin-bottom:12px;font-size:clamp(20px,2.6vw,25px)}.edu-beyond>p{color:var(--ink-soft);margin:0;font-size:16px}.curriculum-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:36px;display:grid}.curriculum-card{border:1px solid var(--line);background:linear-gradient(#ffffffc7,#fff0),#fbfbfa;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:188px;padding:22px 20px;display:flex}.curriculum-card .tag{color:var(--teal);font-family:var(--font-mono), monospace;margin-bottom:14px;font-size:15px;font-weight:700;display:block}.curriculum-card h3{margin-bottom:0;font-size:17px;line-height:1.5}.curriculum-card p{color:var(--ink-soft);margin:18px 0 0;font-size:14.5px;line-height:1.75}.price-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;max-width:920px;margin:40px auto 0;display:grid}.price-grid.single{grid-template-columns:minmax(0,1fr);max-width:560px}.price-card{border:1px solid var(--line);text-align:center;background:#fbfbfa;border-radius:12px;flex-direction:column;align-items:center;padding:42px 34px;display:flex}.price-card.featured{border:2px solid var(--ink)}.price-card .plan{color:var(--teal);font-family:var(--font-mono), monospace;font-size:13px}.price{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;margin:14px 0 2px;font-size:clamp(42px,6vw,58px);font-weight:700;line-height:1.2}.price small{white-space:nowrap;font-size:17px;font-weight:400}.price-qualifier{color:var(--ink-soft);font-family:var(--font-mono), monospace;font-size:13px}.campaign-label{background:var(--shu);color:#fff;font-family:var(--font-mono), monospace;border-radius:999px;margin-top:12px;padding:4px 14px;font-size:12.5px;font-weight:700;display:inline-block}.price-regular{color:var(--ink-soft);font-family:var(--font-mono), monospace;margin:8px 0 0;font-size:13px}.price-regular s{margin-right:8px;text-decoration-thickness:1.5px}.campaign-note{color:var(--shu);margin:4px 0 0;font-size:13px;font-weight:700}.price-meta{color:var(--ink-soft);font-family:var(--font-mono), monospace;justify-content:center;gap:18px;margin:10px 0 22px;font-size:14.5px;display:flex}.price-features{color:var(--ink-soft);text-align:left;margin:0 0 26px;padding:0;font-size:15.5px;list-style:none}.price-features li{margin-bottom:4px;padding-left:1.4em;position:relative}.price-features li:before{color:var(--teal);font-family:var(--font-mono), monospace;content:"✓";font-weight:700;position:absolute;left:0}.price-card .btn{margin-top:auto}.page-hero{border-bottom:1px solid var(--line);background:var(--paper);padding:78px 0 54px}@supports (color:color-mix(in lab, red, red)){.page-hero{background:color-mix(in srgb, var(--paper) 94%, transparent)}}.page-hero h1{max-width:860px;font-size:clamp(40px,8vw,78px);line-height:1.18}.page-kicker{color:var(--teal);font-family:var(--font-mono), monospace;margin:0 0 14px;font-size:13px;font-weight:700}.page-lead{max-width:720px;color:var(--ink-soft);margin:20px 0 0;font-size:clamp(16px,2vw,18px);line-height:2}.page-section{padding:78px 0 96px}.page-section-head{max-width:720px;margin-bottom:28px}.page-section-head.compact{margin-bottom:18px}.page-section-head h2{margin-bottom:0}.narrow{max-width:860px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.info-card{border:1px solid var(--line);background:#fbfbfa;border-radius:8px;padding:30px}.info-card h2{margin-bottom:14px;font-size:clamp(22px,3vw,30px)}.info-card h3{margin:0 0 10px;font-size:17px}.info-card p{color:var(--ink-soft);margin:0 0 20px;font-size:16px}.code-label,.card-head .tag{color:var(--teal);font-family:var(--font-mono), monospace;font-size:12px;font-weight:700}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;margin-bottom:10px;display:flex}.check-list{color:var(--ink-soft);margin:0;padding:0;font-size:15.5px;list-style:none}.check-list li{margin-bottom:8px;padding-left:1.45em;position:relative}.check-list li:before{color:var(--teal);font-family:var(--font-mono), monospace;content:"✓";font-weight:700;position:absolute;left:0}.article-stack{gap:56px;max-width:760px;display:grid}.article-block h2{margin-bottom:18px;font-size:clamp(24px,3.4vw,32px)}.article-block .code-label{margin-bottom:10px;display:block}.article-block p{color:var(--ink-soft);margin:0 0 16px;font-size:16px}.article-block .check-list{margin-top:4px}.school-flow-section{background:var(--paper-2)}@supports (color:color-mix(in lab, red, red)){.school-flow-section{background:color-mix(in srgb, var(--paper-2) 60%, transparent)}}.school-flow-head{max-width:860px}.school-flow-roadmap{max-width:1060px;margin-top:34px;padding:24px 0 0;position:relative}.flow-track{background:var(--line);border-radius:999px;height:10px;position:absolute;top:54px;left:10%;right:10%;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.flow-track{background:color-mix(in srgb, var(--line) 72%, #fff)}}.flow-track-fill{border-radius:inherit;background:linear-gradient(90deg, var(--teal) 0 24%, #e3b64b 24% 52%, var(--shu) 52% 74%, var(--ink) 74% 100%);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.school-flow-roadmap.on .flow-track-fill{animation:.9s ease-out forwards flow-track-grow}.flow-roadmap-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;display:grid;position:relative}.flow-card{border:1px solid var(--line);opacity:0;background:#fbfbfa;border-radius:8px;align-content:start;min-height:250px;padding:24px 22px;display:grid;transform:translateY(14px);box-shadow:0 18px 40px -34px #141d2b80}.school-flow-roadmap.on .flow-card{animation:.56s ease-out forwards flow-card-rise;animation-delay:calc(var(--flow-index) * .11s + .12s)}.flow-card-marker{align-items:center;gap:10px;display:flex}.flow-dot{background:var(--shu);width:18px;height:18px;box-shadow:0 0 0 1px var(--line);border:4px solid #fbfbfa;border-radius:50%}.flow-card:first-child .flow-dot{background:var(--teal)}.flow-card:nth-child(2) .flow-dot{background:#e3b64b}.flow-card:nth-child(3) .flow-dot{background:var(--shu)}.flow-card:nth-child(4) .flow-dot{background:var(--ink)}.flow-code,.flow-period{color:var(--teal);font-family:var(--font-mono), monospace;font-size:13px;font-weight:700}.flow-period{margin-top:18px}.flow-card h3{margin:8px 0 10px;font-size:clamp(20px,2.4vw,25px);line-height:1.45}.flow-card p,.flow-support p{color:var(--ink-soft);margin:0;font-size:15.5px;line-height:1.9}.flow-note{max-width:760px;color:var(--ink-soft);margin:18px 0 0;font-size:13.5px;line-height:1.8}@keyframes flow-track-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes flow-track-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes flow-card-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.flow-support{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:28px;max-width:980px;margin-top:20px;padding:28px 30px;display:grid}.flow-support h3{margin:8px 0 12px;font-size:clamp(21px,2.6vw,28px);line-height:1.45}.article-more{border-top:1px solid var(--line);color:var(--ink-soft);padding-top:8px;font-size:15px}.article-more a{color:var(--shu);font-weight:700}.included-list{gap:20px;margin:0;display:grid}.included-list div{border:1px solid var(--line);background:#fbfbfa;border-radius:8px;padding:18px 20px}.included-list dt{margin-bottom:6px;font-size:17px;font-weight:700}.included-list dd{color:var(--ink-soft);margin:0;font-size:15.5px}.course-show-list{gap:26px;max-width:980px;margin:0;padding:0;display:grid}.course-show{border:1px solid var(--line);background:#fbfbfa;border-radius:12px;align-items:center;gap:36px;padding:28px 32px;scroll-margin-top:92px;display:flex}.course-show.flip{flex-direction:row-reverse}.course-scene-slot{flex:0 0 320px}.course-show-body{flex:1;min-width:0}.course-show h3{margin:6px 0 4px;font-size:clamp(22px,3vw,28px)}.course-node-head{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.course-node-head .tag{color:var(--teal);font-family:var(--font-mono), monospace;font-size:12px;font-weight:700}.course-catch{font-family:var(--font-min), serif;margin:2px 0 8px;font-size:clamp(19px,2.4vw,24px);font-weight:700;line-height:1.55}.curriculum-learns{margin-top:14px}.fold-btn{display:none}.course-scene{aspect-ratio:16/10;border:1px solid var(--line);background:#fbfbfa;border-radius:10px;grid-template-rows:30px 1fr;display:grid;overflow:hidden;box-shadow:0 22px 44px -34px #141d2b8c}.scene-bar{border-bottom:1px solid var(--line);background:var(--paper-2);align-items:center;gap:6px;padding:0 12px;display:flex}.scene-bar i{background:var(--ink-soft);opacity:.35;border-radius:50%;width:8px;height:8px}.scene-tag{color:var(--ink-soft);font-family:var(--font-mono), monospace;margin-left:auto;font-size:11.5px;font-weight:700}.scene-url{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-mono), monospace;white-space:nowrap;background:#fff;border-radius:999px;flex:1;margin-left:4px;padding:1px 10px;font-size:10.5px}.scene-body{position:relative;overflow:hidden}.scene-literacy .scene-body{background:var(--term);align-items:center;display:flex}.scene-term{color:var(--term-ink);font-family:var(--font-mono), monospace;white-space:nowrap;align-items:center;gap:9px;padding:0 26px;font-size:16px;display:flex}.mini-prompt{color:var(--shu-soft);font-weight:700}.literacy-type{width:10ch;display:inline-block;overflow:hidden}.literacy-ok{color:var(--teal)}@supports (color:color-mix(in lab, red, red)){.literacy-ok{color:color-mix(in srgb, var(--teal) 60%, #fff)}}.literacy-ok{font-weight:700}.course-scene.on .literacy-type{animation:4.8s steps(10,end) infinite literacy-type}.course-scene.on .literacy-ok{animation:4.8s step-end infinite literacy-ok}@keyframes literacy-type{0%,12%{width:0}46%,to{width:10ch}}@keyframes literacy-ok{0%,50%{opacity:0}58%,to{opacity:1}}.scene-logic .scene-body{background-color:#f8faf6;background-image:linear-gradient(90deg,#5e93911f 1px,#0000 1px),linear-gradient(#5e93911a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.logic-stage{width:100%;height:100%;position:relative}.logic-node{z-index:2;border:2px solid var(--ink);min-width:58px;min-height:30px;color:var(--ink);font-family:var(--font-mono), monospace;background:#fff;border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;box-shadow:5px 5px #5e93912e}.logic-node.start{top:16%;left:12%}.logic-node.branch{border-color:var(--teal);color:var(--teal);top:40%;left:calc(50% - 29px);transform:rotate(45deg)}.logic-node.branch:before{content:"if?";transform:rotate(-45deg)}.logic-node.branch{font-size:0}.logic-node.yes{bottom:16%;right:12%}.logic-node.no{bottom:16%;left:12%}.logic-path{z-index:1;background:var(--line);transform-origin:0;border-radius:999px;height:3px;display:block;position:absolute}.path-a{width:30%;top:30%;left:28%;transform:rotate(22deg)}.path-b{width:29%;top:58%;left:46%;transform:rotate(32deg)}.path-c{width:28%;top:60%;left:23%;transform:rotate(142deg)}.course-scene.on .logic-node.branch{animation:4.8s ease-in-out infinite logic-pulse}.course-scene.on .logic-path{animation:4.8s ease-in-out infinite logic-path}.course-scene.on .path-b{animation-delay:.16s}.course-scene.on .path-c{animation-delay:.32s}@keyframes logic-pulse{0%,35%,to{box-shadow:5px 5px #5e93912e}48%,62%{box-shadow:0 0 0 6px #f1c84b47}}@keyframes logic-path{0%,28%{background:var(--line)}44%,72%{background:var(--shu)}to{background:var(--line)}}.scene-html .scene-body{padding:16px 20px}.html-stage{align-items:center;gap:16px;height:100%;display:flex}.html-chips{flex-direction:column;gap:10px;display:flex}.html-chip{border:1px solid var(--teal);padding:4px 10px}@supports (color:color-mix(in lab, red, red)){.html-chip{border:1px solid color-mix(in srgb, var(--teal) 45%, var(--line))}}.html-chip{background:var(--paper);color:var(--teal);font-family:var(--font-mono), monospace;border-radius:6px;font-size:12px;font-weight:700}.html-paper{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;align-self:stretch;padding:16px}.html-title,.html-image,.html-link{border-radius:4px;display:block}.html-title{background:var(--ink);width:72%;height:13px}.html-image{background:var(--teal);width:100%;height:42%;margin-top:12px}@supports (color:color-mix(in lab, red, red)){.html-image{background:color-mix(in srgb, var(--teal) 40%, #fff)}}.html-link{background:var(--shu-soft);width:48%;height:9px;margin-top:12px}.course-scene.on .chip-h1{animation:chip-drop 5.2s var(--spring) infinite}.course-scene.on .chip-img{animation:chip-drop 5.2s var(--spring) .28s infinite}.course-scene.on .chip-a{animation:chip-drop 5.2s var(--spring) .56s infinite}@keyframes chip-drop{0%,10%{opacity:0;transform:translateY(-22px)}26%,to{opacity:1;transform:translateY(0)}}.scene-css .scene-body{place-items:center;display:grid}.css-stage{place-items:center;width:100%;height:100%;display:grid;position:relative}.css-card{border:1px solid var(--line);background:#fff;border-radius:10px;width:62%;padding:14px}.css-hero,.css-line,.css-button{border-radius:4px;display:block}.css-hero{background:var(--shu-soft);height:34px}@supports (color:color-mix(in lab, red, red)){.css-hero{background:color-mix(in srgb, var(--shu-soft) 65%, #fff)}}.css-line{background:var(--ink);opacity:.7;width:78%;height:7px;margin-top:10px}.css-line.short{width:48%}.css-button{background:var(--teal);width:52px;height:17px;margin-top:12px}.css-swatches{gap:6px;display:flex;position:absolute;bottom:12px;right:14px}.css-swatches span{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:14px;height:14px}.css-swatches span:nth-child(2){background:var(--shu-soft)}.css-swatches span:nth-child(3){background:var(--teal)}.course-scene.on .css-card{animation:5s ease-in-out infinite css-polish}.course-scene.on .css-swatches span{animation:swatch-pop 5s var(--spring) infinite}.course-scene.on .css-swatches span:nth-child(2){animation-delay:.18s}.course-scene.on .css-swatches span:nth-child(3){animation-delay:.36s}@keyframes css-polish{0%,18%{filter:saturate(0);border-radius:2px}42%,to{filter:saturate();border-radius:10px}}@keyframes swatch-pop{0%,26%{opacity:0;transform:scale(.5)}44%,to{opacity:1;transform:scale(1)}}.scene-uiux .scene-body,.scene-data-viz .scene-body,.scene-ai-web .scene-body{background:#fff;place-items:center;display:grid}.uiux-stage{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:78%;display:grid;position:relative}.uiux-screen{border:1.5px solid var(--ink);background:var(--paper);border-radius:10px;gap:10px;padding:12px;display:grid}.uiux-screen i,.uiux-screen b{background:var(--ink);border-radius:999px;height:10px;display:block}.uiux-screen b{background:var(--shu);width:56%;height:18px}.screen-a{opacity:.58;filter:saturate(.2)}.screen-b b{background:var(--teal);width:78%}.uiux-arrow{color:var(--ink-soft);font-family:var(--font-mono), monospace;font-size:18px;font-weight:700}.uiux-tap{border:2px solid var(--shu);border-radius:50%;width:22px;height:22px;position:absolute;bottom:-18px;right:8%}.course-scene.on .screen-b{animation:uiux-focus 4.8s var(--spring) infinite}.course-scene.on .uiux-tap{animation:uiux-tap 4.8s var(--ease) infinite}@keyframes uiux-focus{0%,28%{transform:translateY(8px)}46%,to{transform:translateY(0)}}@keyframes uiux-tap{0%,36%{opacity:0;transform:scale(.5)}52%,to{opacity:1;transform:scale(1)}}.data-stage{border-bottom:2px solid var(--ink);justify-content:center;align-items:flex-end;gap:12px;width:74%;height:68%;padding-bottom:20px;display:flex;position:relative}.data-bar{border:1.5px solid var(--ink);background:var(--teal);transform-origin:bottom;border-radius:8px 8px 0 0;width:24%}.bar-a{background:var(--shu-soft);height:42%}.bar-b{height:72%}.bar-c{background:var(--ink);height:54%}.data-label{font-family:var(--font-mono), monospace;font-size:13px;font-weight:700;position:absolute;top:10px;right:10px}.course-scene.on .data-bar{animation:data-rise 4.8s var(--spring) infinite}.course-scene.on .bar-b{animation-delay:.1s}.course-scene.on .bar-c{animation-delay:.2s}@keyframes data-rise{0%,24%{transform:scaleY(.25)}46%,to{transform:scaleY(1)}}.ai-web-stage{border:1.5px solid var(--ink);background:var(--paper);border-radius:12px;width:72%;padding:18px;position:relative}.ai-prompt{background:var(--ink);color:#fff;min-width:42px;min-height:28px;font-family:var(--font-mono), monospace;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.ai-line{background:var(--teal);border-radius:999px;height:9px;margin-top:12px;display:block}.line-a{width:88%}.line-b{width:62%}.ai-check{border:2px solid var(--ink);background:var(--shu-soft);width:28px;height:28px;font-family:var(--font-mono), monospace;border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;bottom:12px;right:14px}.course-scene.on .ai-line{animation:ai-line-write 4.8s var(--ease) infinite}.course-scene.on .ai-check{animation:ai-check-pop 4.8s var(--spring) infinite}@keyframes ai-line-write{0%,24%{transform-origin:0;transform:scaleX(.3)}52%,to{transform-origin:0;transform:scaleX(1)}}@keyframes ai-check-pop{0%,44%{opacity:0;transform:scale(.4)}62%,to{opacity:1;transform:scale(1)}}.scene-javascript .scene-body{background:#fff}.js-stage{width:100%;height:100%;font-family:var(--font-mono), monospace;place-items:center;display:grid;position:relative}.js-ui{justify-items:center;gap:10px;display:grid}.js-button{border:1.5px solid var(--ink);background:var(--shu);color:#fff;box-shadow:0 3px 0 var(--ink);border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700}.js-count{color:var(--ink-soft);font-size:12.5px}.js-cursor{border-top:14px solid var(--ink);filter:drop-shadow(0 2px #ffffffb3);border-right:9px solid #0000;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(58px,40px)}.js-star{color:var(--shu-soft);font-size:17px;position:absolute}.star-1{top:22%;right:30%}.star-2{top:26%;left:30%}.star-3{bottom:30%;right:24%}.course-scene.on .js-cursor{animation:cursor-click 4.8s var(--ease) infinite}.course-scene.on .js-button{animation:button-press 4.8s var(--ease) infinite}.course-scene.on .js-count{animation:4.8s step-end infinite count-bump}.course-scene.on .js-star{animation:star-burst 4.8s var(--spring) infinite}.course-scene.on .star-2{animation-delay:80ms}.course-scene.on .star-3{animation-delay:.16s}@keyframes cursor-click{0%{transform:translate(58px,40px)}34%,44%{transform:translate(14px,10px)}40%{transform:translate(14px,12px)}74%,to{transform:translate(58px,40px)}}@keyframes button-press{0%,33%,48%,to{box-shadow:0 3px 0 var(--ink);transform:translateY(0)}40%{box-shadow:0 0 0 var(--ink);transform:translateY(3px)}}@keyframes count-bump{0%,42%{transform:translateY(0)}48%,to{transform:translateY(-3px)}}@keyframes star-burst{0%,42%{opacity:0;transform:scale(.3)}54%{opacity:1;transform:scale(1.15)}76%,to{opacity:0;transform:scale(.65)translateY(-8px)}}.scene-app .scene-body{background:linear-gradient(#eef4f9 0 46%,#d9e9d4 46%)}.app-world{width:100%;height:100%;position:relative}.app-cube{width:36px;display:block;position:absolute}.app-cube svg{display:block}.c1{bottom:12%;left:24%}.c2{bottom:24%;left:40%}.c3{bottom:36%;left:56%}.app-flag{color:var(--shu);font-size:26px;line-height:1;position:absolute;bottom:60%;right:24%}.course-scene.on .app-cube{animation:app-build 5.4s var(--spring) infinite}.course-scene.on .c2{animation-delay:.18s}.course-scene.on .c3{animation-delay:.36s}.course-scene.on .scene-url{animation:5.4s ease-in-out infinite url-glow}.course-scene.on .app-flag{animation:flag-pop 5.4s var(--spring) infinite}@keyframes app-build{0%,12%{opacity:0;transform:translateY(-38px)}32%,to{opacity:1;transform:translateY(0)}}@keyframes url-glow{0%,40%{border-color:var(--line);color:var(--ink-soft)}56%,to{border-color:var(--teal);color:var(--ink)}}@keyframes flag-pop{0%,38%{opacity:0;transform:translateY(10px)scale(.5)}52%,to{opacity:1;transform:translateY(0)scale(1)}}.terminal-list{gap:16px;max-width:980px;margin:0 auto;display:grid}.terminal-card{background:var(--term);color:var(--term-ink);border-radius:8px;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:28px 32px;display:grid}.terminal-card h2{color:#f4f7fa;margin-bottom:0;font-size:27px}.terminal-card ul{font-family:var(--font-mono), monospace;margin:0;padding:0;font-size:14px;list-style:none}.terminal-card li{margin-bottom:8px;padding-left:1.4em;position:relative}.terminal-card li:before{color:var(--shu-soft);content:"$";position:absolute;left:0}.faq-list{gap:10px;display:grid}.home-faq{max-width:760px;margin:40px auto 0}.faq-item{border:1px solid var(--line);background:#fbfbfa;border-radius:8px}.faq-item summary{cursor:pointer;padding:18px 22px;font-weight:700;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{float:right;color:var(--teal);font-family:var(--font-mono), monospace;content:"+"}.faq-item[open] summary:after{content:"-"}.faq-item p{color:var(--ink-soft);margin:0;padding:0 22px 20px;font-size:16px}.line-card{max-width:560px;margin:0 auto}.line-card p{color:var(--ink-soft);margin:0 0 18px;font-size:16px}.line-btn{transition:opacity .15s;display:inline-block}.line-btn:hover{opacity:.8}.line-btn img{display:block}.legal-card{padding:34px}.legal-list{gap:0;margin:18px 0 0;display:grid}.legal-list div{border-top:1px solid var(--line);grid-template-columns:minmax(170px,.8fr) minmax(0,1fr);gap:18px;padding:16px 0;display:grid}.legal-list dt{color:var(--ink);font-weight:700}.legal-list dd{color:var(--ink-soft);margin:0}.last-cta{background:var(--term);color:var(--term-ink);text-align:center;padding:110px 0}.last-cta h2{color:#f4f7fa;margin-bottom:34px;font-size:clamp(30px,4.8vw,46px)}.last-cta .note{color:#93a0b0;font-family:var(--font-mono), monospace;margin-top:18px;font-size:12.5px}.closing-cursor{width:.5em;height:.95em}footer{border-top:1px solid var(--line);background:var(--paper);padding:36px 0 32px}.foot-in{color:var(--ink-soft);text-align:center;flex-flow:column wrap;justify-content:center;align-items:center;gap:12px 30px;font-size:13px;display:flex}.foot-logo{color:var(--ink);font-family:var(--font-mono), monospace;align-items:center;gap:8px;font-weight:700;display:inline-flex}.foot-logo-mark{width:28px;height:28px}.foot-logo .cursor{width:.45em;height:.95em}.foot-nav{flex-wrap:wrap;justify-content:center;gap:6px 22px;display:flex}.foot-nav a{text-decoration:none}.foot-nav a:hover{color:var(--shu)}.foot-legal{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:26px;font-size:12px;display:flex}.foot-legal a{text-decoration:none}.foot-legal a:hover{color:var(--shu)}.foot-copy{color:var(--ink-soft);font-family:var(--font-mono), monospace;text-align:center;margin:54px 0 0;font-size:12px}@media (max-width:880px){.cw-2,.cw-4,.cw-5,.cw-6{display:none}.curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-flow-roadmap{max-width:720px;padding:0 0 0 28px}.flow-track{width:8px;height:auto;inset:0 auto 44px 8px}.flow-track-fill{background:linear-gradient(180deg, var(--teal) 0 24%, #e3b64b 24% 52%, var(--shu) 52% 74%, var(--ink) 74% 100%);transform-origin:top;transform:scaleY(0)}.school-flow-roadmap.on .flow-track-fill{animation-name:flow-track-grow-y}.flow-roadmap-grid{grid-template-columns:1fr}.flow-card{min-height:0}.flow-support{grid-template-columns:1fr}}@media (max-width:860px){.term-grid{grid-template-columns:1fr;gap:20px;padding:20px 20px 26px;font-size:14.5px}.terminal-card{grid-template-columns:1fr}}@media (max-width:760px){.pain-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:32px -24px 0;padding:4px 24px 10px;display:flex;overflow-x:auto}.pain-grid::-webkit-scrollbar{display:none}.pain-card{scroll-snap-align:center;flex:0 0 82%}.edu-timeline{margin-top:38px}.edu-timeline:before{left:calc(35% + 24px)}.edu-item{grid-template-columns:35% 26px 1fr;gap:12px;min-height:112px}.edu-year{font-size:25px}.edu-item h3{font-size:15px}.edu-event{padding:14px 15px;font-size:13.5px}.price-grid,.info-grid,.curriculum-grid{grid-template-columns:1fr}.curriculum-card{min-height:0}.course-show,.course-show.flip{flex-direction:column;align-items:stretch;padding:20px}.course-scene-slot{flex:none}.course-show:not(.open) .course-scene-slot,.course-show:not(.open) .course-fold{display:none}.fold-btn{color:var(--shu);font-family:var(--font-mono), monospace;background:0 0;border:none;align-items:center;gap:6px;margin-top:6px;padding:0;font-size:13.5px;font-weight:700;display:inline-flex}.course-show.open .course-scene-slot{order:2}.page-hero{padding:44px 0 34px}.page-section{padding:44px 0 58px}.info-card,.legal-card{padding:24px}.legal-list div{grid-template-columns:1fr;gap:4px}}@media (max-width:720px){.header-in{align-items:flex-start}nav{gap:8px 12px}nav a.nlink{font-size:13px}.header-in .btn{padding:8px 15px;font-size:13px}.fab{display:none}section{padding:52px 0}.hero{padding:48px 0 26px}.hero .app-forge{margin-top:22px}.forge-body{height:204px}.forge-controls{margin-top:14px}.forge-world{transform:translateY(-4px)scale(.68)}}@media (max-width:560px){.header-in{flex-direction:column;align-items:stretch;padding:11px 18px}.logo{align-self:flex-start;font-size:18px}nav{justify-content:flex-end;width:100%}.page-hero h1{font-size:40px;line-height:1.22}h2{font-size:28px;line-height:1.48}.section-title{max-width:13em;margin-left:auto;margin-right:auto}.section-lead{font-size:15px;line-height:1.85}.flow-card,.flow-support{padding:22px}.terminal-card{padding:24px}}@media (max-width:480px){.hero .wrap{padding-inline:12px}.hero h1{font-size:clamp(21px,6.2vw,23px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.001ms;animation-duration:.001ms;animation-iteration-count:1}.rv,.rv-kids>*,.step,.t-line{opacity:1;transition:none;transform:none}.school-flow-roadmap .flow-track-fill,.school-flow-roadmap.on .flow-track-fill,.school-flow-roadmap .flow-card,.school-flow-roadmap.on .flow-card,.lg,.ch{opacity:1;animation:none;transform:none}.cursor,.type-cursor,.cube-w svg,.recruit i,.course-scene *,.forge-app *,.vox.float svg,.vcloud.on{animation:none}.forge-app{opacity:1;transition:none}.forge-editor{opacity:0}.maru.draw ellipse{stroke-dashoffset:42px;animation:none}.vox.on{opacity:1;animation:none}.vcloud.on{opacity:.9}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
