/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-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-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--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}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.blur{--tw-blur:blur(8px);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,)}}:root{--cream:#fbf7ef;--cream-2:#f3ead8;--paper:#fff;--ink:#3a3042;--ink-soft:#6b6175;--teal:#3e8e8a;--teal-light:#5bb5a8;--rose:#d26a77;--rose-deep:#c84b5a;--gold:#e8b04b;--gold-deep:#ce8f22;--lilac:#9b7ec0;--leaf:#7fa86a;--shadow-sm:0 3px 10px #3a304214;--shadow-md:0 14px 40px #3a30421f;--shadow-lg:0 26px 72px #3a30422e;--font-head:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth;min-width:320px}body{color:var(--ink);background:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:#fff;background:var(--ink);border-radius:0 0 12px 12px;padding:.7rem 1rem;font-weight:800;transition:top .15s;position:fixed;top:-80px;left:1rem}.skip-link:focus{top:0}.app-shell{min-height:100vh;overflow:hidden}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf7efe6;border-bottom:1px solid #3a304214;justify-content:space-between;align-items:center;gap:1rem;min-height:78px;padding:.7rem clamp(1rem,4vw,3.75rem);display:flex;position:relative}.screen-map .site-header,.screen-practice .site-header,.screen-result .site-header{position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:.72rem;text-decoration:none;display:inline-flex}.brand-mark{border:4px solid var(--gold);border-radius:50%;width:36px;height:36px;display:block;position:relative}.brand-mark:before{background:var(--gold);content:"";border-radius:999px;width:20px;height:4px;position:absolute;bottom:-9px;right:-13px;transform:rotate(45deg)}.brand-mark:after{border:2px solid var(--ink);background:var(--cream);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:9px}.brand-copy{flex-direction:column;line-height:1;display:flex}.brand-title{font-family:var(--font-head);font-size:1.55rem;font-weight:700}.brand-subtitle{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;margin-top:.28rem;font-size:.67rem;font-weight:800}.back-link{color:var(--ink-soft);font-size:.9rem;font-weight:800;text-decoration:none}.back-link:hover{color:var(--rose-deep)}.header-progress{align-items:center;gap:1rem;display:flex}.code-pill{color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:1px solid #3a30421f;border-radius:999px;align-items:center;gap:.7rem;padding:.48rem .72rem .48rem .9rem;display:flex}.code-pill span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.code-pill strong{letter-spacing:.14em;font-size:.96rem}.code-pill i{width:25px;height:25px;color:var(--teal);background:#3e8e8a1c;border-radius:50%;place-items:center;font-style:normal;display:grid}.text-button{color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:.3rem;font-size:.88rem;font-weight:800;-webkit-text-decoration:underline #3a304240;text-decoration:underline #3a304240}.text-button:hover{color:var(--teal)}.welcome{background:radial-gradient(700px 430px at 12% 16%, #fffffff0, transparent 68%), radial-gradient(560px 340px at 89% 10%, #e8b04b2e, transparent 69%), linear-gradient(132deg, #fdeef0 0%, var(--cream) 52%, var(--cream-2) 100%);grid-template-columns:minmax(0,.92fr) minmax(430px,.75fr);align-items:center;gap:clamp(2.5rem,8vw,7.5rem);min-height:calc(100vh - 78px);padding:clamp(2rem,5vw,5rem) clamp(1.25rem,8vw,9rem);display:grid;position:relative;overflow:hidden}.welcome:before{content:"";border:72px solid #d26a771a;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-290px;right:-260px}.welcome-copy,.welcome-panel{z-index:2;position:relative}.eyebrow{color:var(--teal);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .75rem;font-size:.74rem;font-weight:900}.welcome-copy h1{max-width:7.3ch;font-family:var(--font-head);letter-spacing:-.035em;margin:0;font-size:clamp(4.2rem,8vw,7.5rem);font-weight:700;line-height:.76}.welcome-copy h1 span{color:var(--rose-deep);letter-spacing:-.025em;white-space:nowrap;margin-top:.22em;font-size:.68em;font-style:italic;display:block}.welcome-lead{max-width:48ch;color:var(--ink-soft);margin:2rem 0 1.6rem;font-size:clamp(1.02rem,1.6vw,1.18rem)}.journey-facts{flex-wrap:wrap;gap:.6rem;display:flex}.journey-facts span{color:var(--ink-soft);background:#ffffffa6;border:1px solid #3a304217;border-radius:999px;align-items:center;gap:.32rem;padding:.45rem .72rem;font-size:.78rem;font-weight:800;display:inline-flex}.journey-facts b{color:var(--rose-deep);font-size:1rem}.welcome-panel{box-shadow:var(--shadow-lg);background:#ffffffeb;border:1px solid #3a304212;border-radius:32px;padding:clamp(1.6rem,3vw,2.5rem)}.rabbit-badge{width:94px;height:83px;position:absolute;top:-54px;right:36px}.rabbit-ear{border:3px solid var(--ink);transform-origin:bottom;background:#fff;border-radius:50% 50% 45% 45%;width:25px;height:58px;position:absolute;top:0}.rabbit-ear:after{border-radius:inherit;content:"";background:#f4c4ce;position:absolute;inset:9px 7px 10px}.rabbit-ear-left{left:23px;transform:rotate(-10deg)}.rabbit-ear-right{right:19px;transform:rotate(10deg)}.rabbit-head{border:3px solid var(--ink);background:#fff;border-radius:50%;width:74px;height:63px;margin:auto;position:absolute;bottom:0;left:0;right:0;box-shadow:0 8px 18px #3a304224}.rabbit-head:before,.rabbit-head:after{background:var(--ink);content:"";border-radius:50%;width:5px;height:7px;position:absolute;top:24px}.rabbit-head:before{left:19px}.rabbit-head:after{right:19px}.rabbit-head i:first-child{background:var(--rose);border-radius:50% 50% 60% 60%;width:9px;height:7px;position:absolute;top:36px;left:31px}.rabbit-head i:last-child{border-bottom:2px solid var(--ink);border-radius:50%;width:21px;height:8px;position:absolute;top:45px;left:25px}.panel-label{color:var(--rose-deep);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .2rem;font-size:.7rem;font-weight:900}.start-block h2,.return-block label{font-family:var(--font-head);margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;line-height:1.1}.start-block>p:not(.panel-label){color:var(--ink-soft);margin:.65rem 0 1.25rem;font-size:.92rem}.button{cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:49px;padding:.75rem 1.25rem;font-weight:900;line-height:1;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:not(:disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.button-primary{color:#fff;background:var(--teal);box-shadow:var(--shadow-sm)}.button-primary:not(:disabled):hover{background:var(--teal-light)}.button-secondary{color:var(--ink);background:#fff;border-color:#3a30422e}.button-secondary:not(:disabled):hover{border-color:var(--teal)}.button-wide{width:100%}.button:disabled{opacity:.5}.panel-divider{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;align-items:center;margin:1.35rem 0;font-size:.7rem;font-weight:900;display:flex}.panel-divider:before,.panel-divider:after{content:"";background:#3a30421f;flex:1;height:1px}.panel-divider span{padding:0 .8rem}.return-block label{margin-bottom:.75rem;font-size:1.35rem;display:block}.code-form-row{gap:.55rem;display:flex}.code-input{min-width:0;color:var(--ink);background:var(--cream);letter-spacing:.16em;text-transform:uppercase;border:2px solid #3a304229;border-radius:14px;flex:1;padding:.72rem .9rem;font-size:1.08rem;font-weight:900}.code-input:focus{border-color:var(--teal);background:#fff;outline:none}.code-input::placeholder{color:#ada5b5;opacity:1}.form-message{min-height:1.4em;color:var(--ink-soft);margin:.58rem 0 0;font-size:.74rem;font-weight:700}.form-message.is-error{color:var(--rose-deep)}.welcome-decoration{z-index:1;color:var(--gold);position:absolute}.decoration-one{font-size:2rem;top:18%;left:4.5%}.decoration-two{font-size:1.35rem;bottom:13%;right:5%}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3a304294;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.code-reveal{width:min(100%,480px);box-shadow:var(--shadow-lg);text-align:center;background:radial-gradient(320px 180px at 100% 0,#e8b04b30,#0000 70%),#fff;border:1px solid #ffffff8c;border-radius:32px;padding:clamp(1.8rem,5vw,3rem);position:relative;overflow:hidden}.code-reveal h2{font-family:var(--font-head);margin:0;font-size:clamp(2rem,6vw,2.75rem);line-height:1}.code-reveal>p:not(.eyebrow){color:var(--ink-soft);margin:.8rem auto 1.25rem}.key-orbit{color:var(--gold);font-size:1.7rem;position:absolute;top:18px;right:25px}.new-code{border:2px dashed var(--gold);width:100%;color:var(--ink);background:var(--cream);letter-spacing:.25em;text-indent:.25em;cursor:pointer;border-radius:17px;padding:1.05rem .9rem;font-size:clamp(1.7rem,7vw,2.35rem);font-weight:900;display:block}.copy-link{color:var(--teal);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:.6rem 0 1rem;padding:.2rem;font-size:.84rem;font-weight:900;text-decoration:underline}.privacy-note{color:var(--ink-soft);text-align:left;background:#3e8e8a14;border-radius:13px;align-items:center;gap:.6rem;margin-bottom:1.2rem;padding:.75rem .9rem;font-size:.75rem;font-weight:700;display:flex}.privacy-note span{color:var(--rose);font-size:1.2rem}.level-map{background:radial-gradient(800px 400px at 100% 0%, #efeaf6f2, transparent 65%), radial-gradient(680px 350px at 0% 40%, #e9f4f1b8, transparent 66%), var(--cream);min-height:calc(100vh - 78px);padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,5rem) 6rem}.map-intro{justify-content:space-between;align-items:flex-end;gap:2rem;width:min(100%,1240px);margin:0 auto 2.6rem;display:flex}.map-intro h1{font-family:var(--font-head);margin:0;font-size:clamp(2.7rem,5vw,4.6rem);line-height:.95}.map-intro>div:first-child>p:last-child{max-width:54ch;color:var(--ink-soft);margin:.9rem 0 0;font-size:1rem}.score-card{box-shadow:var(--shadow-sm);background:#ffffffd9;border:1px solid #3a304214;border-radius:20px;flex:none;gap:0;display:flex;overflow:hidden}.score-card>div{border-right:1px solid #3a304214;flex-direction:column;min-width:104px;padding:.8rem 1.05rem;display:flex}.score-card>div:last-child{border-right:0}.score-card span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:900}.score-card strong{color:var(--ink);margin-top:.14rem;font-size:1.4rem}.score-card small{color:var(--ink-soft);margin-left:.2rem;font-size:.7rem}.levels-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem;width:min(100%,1240px);margin:auto;display:grid}.level-card{--level-accent:var(--rose);min-height:340px;box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #3a304214;border-radius:25px;flex-direction:column;padding:1.35rem;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.level-card:before{background:var(--level-accent);content:"";height:6px;position:absolute;inset:0 0 auto}.level-card:not(.is-locked):hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.color-teal{--level-accent:var(--teal)}.color-gold{--level-accent:var(--gold)}.color-lilac{--level-accent:var(--lilac)}.level-card-top{justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1.25rem;display:flex}.level-number{color:#fff;background:var(--level-accent);width:47px;height:47px;font-family:var(--font-head);box-shadow:0 7px 18px var(--level-accent);border-radius:15px;place-items:center;font-size:1.8rem;font-weight:700;line-height:1;display:grid}@supports (color:color-mix(in lab, red, red)){.level-number{box-shadow:0 7px 18px color-mix(in srgb, var(--level-accent) 28%, transparent)}}.level-status{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:900}.level-status i{margin-right:.25rem;font-size:.5rem;font-style:normal}.level-status.is-ready{color:#236e69;background:#3e8e8a1c;border-radius:999px;padding:.3rem .55rem}.stars{gap:.1rem;display:flex}.stars i{color:#d8d2da;font-size:.86rem;font-style:normal}.stars i.filled{color:var(--gold)}.level-skill{letter-spacing:.07em;text-transform:uppercase;font-weight:900;color:var(--level-accent)!important;margin:0 0 .35rem!important;font-size:.69rem!important}.level-card h2{font-family:var(--font-head);margin:0 0 .55rem;font-size:1.75rem;line-height:1.02}.level-card>p:not(.level-skill){color:var(--ink-soft);margin:0 0 1rem;font-size:.82rem}.example-chip{border:1px dashed var(--level-accent);align-self:flex-start;gap:.35rem;margin:auto 0 1rem;padding:.42rem .7rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.example-chip{border:1px dashed color-mix(in srgb, var(--level-accent) 45%, transparent)}}.example-chip{color:var(--ink);background:var(--level-accent);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.example-chip{background:color-mix(in srgb, var(--level-accent) 8%, #fff)}}.example-chip{letter-spacing:.02em;font-size:.9rem;font-weight:900}.example-chip span{color:var(--ink-soft)}.level-action{border:2px solid var(--level-accent);width:100%;min-height:44px;color:var(--level-accent);cursor:pointer;background:#fff;border-radius:999px;padding:.65rem .75rem;font-size:.76rem;font-weight:900;transition:color .15s,background .15s}.level-action:not(:disabled):hover{color:#fff;background:var(--level-accent)}.level-card.is-locked{opacity:.68;filter:grayscale(.7);background:#f3f0ebd1}.level-card.is-locked .level-action{color:var(--ink-soft);background:0 0;border-style:dashed;border-color:#3a304233}.save-message{width:min(100%,1240px);color:var(--rose-deep);text-align:center;background:#d26a771a;border-radius:12px;margin:-1.4rem auto 1.4rem;padding:.65rem .9rem;font-size:.82rem;font-weight:800}.practice{background:radial-gradient(650px 400px at 10% 100%, #d26a771f, transparent 70%), radial-gradient(650px 400px at 92% 8%, #e8b04b24, transparent 70%), var(--cream);min-height:calc(100vh - 78px);padding:clamp(1.4rem,4vw,2.8rem) clamp(1rem,6vw,5rem) 3rem}.practice-topbar,.progress-track,.question-layout{width:min(100%,960px);margin-inline:auto}.practice-topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.round-back{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;justify-self:start;padding:.45rem 0;font-size:.8rem;font-weight:900}.round-label{text-align:center;flex-direction:column;display:flex}.round-label span,.round-score span{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:900}.round-label strong{font-family:var(--font-head);font-size:1.25rem}.round-score{justify-self:end;align-items:center;gap:.5rem;display:flex}.round-score strong{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:39px;height:39px;display:grid}.progress-track{grid-template-columns:repeat(10,1fr);gap:.38rem;margin-top:1.15rem;display:grid}.progress-track span{background:#3a30421f;border-radius:999px;height:7px}.progress-track span.done{background:var(--teal)}.progress-track span.current{background:var(--gold);box-shadow:0 0 0 3px #e8b04b2e}.progress-track.is-long{gap:.18rem}.question-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:clamp(1rem,3vw,1.8rem);margin-top:clamp(1.2rem,3vw,2rem);display:grid}.question-card{min-height:500px;box-shadow:var(--shadow-md);text-align:center;background:#fffffff0;border:1px solid #3a304214;border-radius:30px;padding:clamp(1.5rem,5vw,3rem)}.question-count{color:var(--rose-deep);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:900}.question-hint{color:var(--ink-soft);margin:.65rem 0 0;font-size:.9rem}.question-card h1{min-height:118px;font-family:var(--font-head);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.025em;justify-content:center;align-items:center;margin:.2rem 0 .5rem;font-size:clamp(3.2rem,8vw,5.4rem);line-height:1;display:flex}.number-line-toggle{text-align:left;cursor:pointer;background:#3e8e8a0f;border:2px solid #3e8e8a2e;border-radius:17px;align-items:center;gap:.8rem;max-width:520px;margin:-.25rem auto .75rem;padding:.72rem .85rem;transition:border-color .15s,background .15s;display:flex}.number-line-toggle:hover{background:#3e8e8a1a;border-color:#3e8e8a6b}.number-line-toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-check{color:#0000;background:#fff;border:3px solid #3a30423d;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.5rem;font-weight:900;line-height:1;transition:border-color .15s,color .15s,background .15s;display:grid}.number-line-toggle input:checked+.toggle-check{border-color:var(--teal);color:#fff;background:var(--teal);box-shadow:0 5px 14px #3e8e8a40}.number-line-toggle input:focus-visible+.toggle-check{outline:3px solid var(--gold);outline-offset:3px}.toggle-copy{flex-direction:column;min-width:0;display:flex}.toggle-copy strong{color:var(--ink);font-size:.88rem;font-weight:900}.toggle-copy small{color:var(--ink-soft);font-size:.68rem;font-weight:800}.toggle-copy i{color:var(--rose-deep);font-style:normal}.number-line{background:linear-gradient(#f3ead8a3,#fbf7efe0);border:1px solid #3a304214;border-radius:17px;max-width:520px;margin:-.25rem auto 1.1rem;padding:.72rem .9rem .5rem}.number-line-head{text-align:left;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.number-line-head>span{color:var(--rose-deep);letter-spacing:.09em;text-transform:uppercase;font-size:.61rem;font-weight:900}.number-line-head strong{color:var(--ink-soft);font-size:.7rem;font-weight:900}.number-line-head i{color:var(--gold-deep);margin-inline:.4rem;font-style:normal}.number-line-plot{height:86px;margin:.25rem 20px 0;position:relative}.number-line-axis{background:var(--ink);opacity:.75;border-radius:999px;height:4px;position:absolute;top:55px;left:0;right:0}.number-line-axis:before,.number-line-axis:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;width:0;height:0;position:absolute;top:-4px}.number-line-axis:before{border-right:7px solid var(--ink);left:-5px}.number-line-axis:after{border-left:7px solid var(--ink);right:-5px}.number-line-tick{z-index:2;background:var(--ink);border-radius:999px;width:2px;height:12px;position:absolute;top:51px;transform:translate(-50%)}.number-line-tick b{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.67rem;position:absolute;top:15px;left:50%;transform:translate(-50%)}.number-line-hop{z-index:3;border-top:3px solid var(--gold-deep);border-radius:50% 50% 0 0;height:22px;position:absolute;top:29px}.number-line-hop:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute;top:-5px}.number-line-hop.to-right:after{border-left:6px solid var(--gold-deep);right:-1px}.number-line-hop.to-left:after{border-right:6px solid var(--gold-deep);left:-1px}.number-line-hop b{color:#fff;background:var(--gold-deep);border-radius:999px;place-items:center;min-width:17px;height:17px;padding-inline:2px;font-size:.57rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.number-line-still{z-index:3;color:var(--gold-deep);background:#e8b04b29;border-radius:999px;padding:.2rem .45rem;font-size:.62rem;font-weight:900;position:absolute;top:18px;left:50%;transform:translate(-50%)}.number-line-start{z-index:4;color:#0000;background:var(--rose-deep);width:12px;height:12px;box-shadow:0 0 0 2px var(--rose-deep);border:3px solid #fff;border-radius:50%;position:absolute;top:47px;overflow:hidden;transform:translate(-50%)}.answer-form{max-width:430px;margin:auto}.answer-display{background:var(--cream);border:3px solid #3a304229;border-radius:21px;justify-content:center;align-items:center;gap:1rem;height:96px;transition:border .15s,background .15s;display:flex;position:relative}.answer-display:focus-within{border-color:var(--teal)}.answer-display.is-correct{border-color:var(--teal);background:#3e8e8a14}.answer-display.is-wrong{border-color:var(--rose);background:#d26a7714}.answer-display .equals{color:var(--ink-soft);font-family:var(--font-head);font-size:2.3rem}.answer-display input{width:min(70%,270px);color:var(--ink);font-family:var(--font-head);font-variant-numeric:lining-nums tabular-nums;text-align:center;background:0 0;border:0;outline:0;font-size:clamp(2.5rem,7vw,4rem);font-weight:700}.answer-display input::placeholder{color:#c9c1cc;opacity:1}.feedback-icon{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.25rem;font-weight:900;display:grid;position:absolute;right:16px}.is-wrong .feedback-icon{background:var(--rose)}.submit-answer{width:100%;margin-top:1rem}.feedback-box{text-align:left;background:#3e8e8a17;border-radius:17px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem .8rem .8rem 1rem;display:flex}.feedback-box.is-wrong{background:#d26a7717}.feedback-box>div{flex-direction:column;display:flex}.feedback-box strong{color:var(--teal);font-family:var(--font-head);font-size:1.28rem}.feedback-box.is-wrong strong{color:var(--rose-deep)}.feedback-box span{color:var(--ink-soft);font-size:.76rem}.number-pad{box-shadow:var(--shadow-sm);background:#ffffffc2;border:1px solid #3a304214;border-radius:25px;grid-template-columns:repeat(3,1fr);gap:.55rem;padding:1rem;display:grid}.number-pad button{aspect-ratio:1;color:var(--ink);font-family:var(--font-head);cursor:pointer;background:#fff;border:2px solid #3a30421a;border-radius:16px;font-size:1.8rem;font-weight:700;transition:transform 80ms,background 80ms;box-shadow:0 3px #3a30421a}.number-pad button:not(:disabled):active{box-shadow:none;transform:translateY(3px)}.number-pad button:disabled{opacity:.42}.number-pad .pad-clear,.number-pad .pad-back{color:var(--ink-soft);background:var(--cream-2);font-family:var(--font-body);font-size:1rem;font-weight:900}.result{background:radial-gradient(520px 320px at 15% 20%, #e9f4f1f2, transparent 70%), radial-gradient(520px 320px at 88% 82%, #d26a7721, transparent 70%), var(--cream);place-items:center;min-height:calc(100vh - 78px);padding:2rem 1rem;display:grid}.result-card{width:min(100%,650px);box-shadow:var(--shadow-lg);text-align:center;background:#ffffffed;border:1px solid #3a304214;border-radius:34px;padding:clamp(2rem,6vw,4rem);position:relative;overflow:hidden}.result-card h1{font-family:var(--font-head);margin:0;font-size:clamp(2.6rem,8vw,4.4rem);line-height:.95}.result-copy{max-width:48ch;color:var(--ink-soft);margin:1rem auto 1.6rem}.result-score-ring{border:7px solid #3e8e8a24;border-top-color:var(--teal);border-right-color:var(--teal);background:var(--cream);border-radius:50%;place-content:center;width:145px;height:145px;margin:auto;display:grid}.result-score-ring strong{font-family:var(--font-head);font-size:4rem;line-height:.75}.result-score-ring span{color:var(--ink-soft);text-transform:uppercase;margin-top:.5rem;font-size:.68rem;font-weight:900}.result-stars{justify-content:center;gap:.35rem;margin:.9rem 0 1.5rem;display:flex}.result-stars span{color:#ddd6df;font-size:1.8rem}.result-stars span.filled{color:var(--gold);filter:drop-shadow(0 3px 3px #ce8f2240)}.result-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.saving-note{color:var(--teal);margin:-.4rem 0 1rem;font-size:.78rem;font-weight:800}.result-card .save-message{width:100%;margin:-.4rem 0 1rem}.result-sparkles span{color:var(--gold);position:absolute}.result-sparkles span:first-child{font-size:1.7rem;top:38px;left:48px}.result-sparkles span:nth-child(2){font-size:1.1rem;top:96px;right:48px}.result-sparkles span:nth-child(3){font-size:.9rem;bottom:60px;left:74px}@media (width<=1080px){.welcome{grid-template-columns:minmax(0,.8fr) minmax(410px,.9fr);gap:3rem;padding-inline:clamp(1.5rem,5vw,4.5rem)}.levels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.welcome{grid-template-columns:1fr;gap:3.5rem;padding-top:3.2rem;padding-bottom:4rem}.welcome-copy{text-align:center}.welcome-copy h1,.welcome-lead{margin-inline:auto}.journey-facts{justify-content:center}.welcome-panel{width:min(100%,560px);margin:auto}.map-intro{flex-direction:column;align-items:flex-start}.score-card{width:100%}.score-card>div{flex:1}.levels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-layout{grid-template-columns:minmax(0,1fr) 225px}}@media (width<=680px){.site-header{min-height:68px;padding:.55rem 1rem}.brand-mark{border-width:3px;width:30px;height:30px}.brand-mark:after{width:6px;height:6px;top:8px;left:8px}.brand-title{font-size:1.28rem}.brand-subtitle,.code-pill span,.header-progress>.text-button,.back-link{display:none}.code-pill{padding-left:.72rem}.code-pill strong{font-size:.8rem}.welcome,.level-map,.practice,.result{min-height:calc(100vh - 68px)}.welcome-copy h1{font-size:clamp(3.8rem,20vw,5.3rem)}.welcome-copy h1 span{white-space:normal}.rabbit-badge{right:22px}.code-form-row{flex-direction:column}.levels-grid{grid-template-columns:1fr}.level-card{min-height:0}.practice-topbar{grid-template-columns:1fr auto}.round-back{grid-row:1}.round-label{grid-area:2/1/auto/-1;margin-top:.4rem}.round-score{grid-area:1/2}.question-layout{grid-template-columns:1fr}.question-card{min-height:400px;padding:1.4rem 1rem}.question-card h1{min-height:94px;font-size:clamp(2.9rem,14vw,4.4rem)}.number-line{margin-top:-.45rem;padding-inline:.55rem}.number-line-head{flex-direction:column;align-items:flex-start;gap:.15rem}.number-line-plot{margin-inline:17px}.number-line-tick b{font-size:.59rem}.number-pad{border-radius:18px;grid-template-columns:repeat(6,1fr);gap:.35rem;padding:.55rem}.number-pad button{border-width:1px;border-radius:11px;font-size:1.3rem}.number-pad button:first-child{order:1}.number-pad button:nth-child(2){order:2}.number-pad button:nth-child(3){order:3}.number-pad button:nth-child(4){order:4}.number-pad button:nth-child(5){order:5}.number-pad button:nth-child(6){order:6}.number-pad button:nth-child(7){order:7}.number-pad button:nth-child(8){order:8}.number-pad button:nth-child(9){order:9}.number-pad .pad-clear{order:10}.number-pad button:nth-child(11){order:11}.number-pad .pad-back{order:12}.feedback-box{flex-direction:column;align-items:stretch}.feedback-box .button{width:100%}}@media (width<=430px){.welcome{gap:3rem;padding-inline:.9rem}.welcome-panel{border-radius:25px;padding:1.35rem 1rem}.journey-facts span:last-child{display:none}.new-code{letter-spacing:.18em;text-indent:.18em;font-size:1.55rem}.level-map{padding-inline:.8rem}.map-intro{margin-bottom:1.6rem}.score-card>div{min-width:0;padding:.7rem .55rem}.score-card strong{font-size:1.08rem}.score-card span{font-size:.54rem}.practice{padding-inline:.7rem}.answer-display{height:82px}.feedback-icon{right:9px}.result-card{padding-inline:1.3rem}}@media (prefers-reduced-motion:no-preference){.welcome-decoration,.key-orbit,.result-sparkles span{animation:3.4s ease-in-out infinite twinkle}.rabbit-badge{animation:4.5s ease-in-out infinite rabbit-peek}.result-stars span.filled{animation:.45s both star-pop}.result-stars span:nth-child(2){animation-delay:.12s}.result-stars span:nth-child(3){animation-delay:.24s}}@keyframes twinkle{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.13)}}@keyframes rabbit-peek{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(2deg)}}@keyframes star-pop{0%{opacity:0;transform:scale(.4)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-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}
