.mdc-dialog,.mdc-dialog__content,.mdc-dialog__title,.mdc-typography{font-family:var(--font-family)!important}app-menu{visibility:hidden}.mdc-dialog__surface{--mdc-theme-surface:var(--bg-white-1);padding:4px 4px 10px}.mdc-dialog .mdc-dialog__title{border:none;color:var(--text-color)!important;letter-spacing:.5px}.mdc-dialog__actions{border-top:none!important;gap:8px;padding:8px 16px 0!important}.mdc-dialog .mdc-dialog__content{color:var(--p-color)!important;min-width:564px;overflow-x:hidden;padding:20px!important}.mdc-dialog{display:none;z-index:var(--dialog-layer)!important}.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--primary)!important}.lesson-container{margin:30px auto 0;max-width:720px}#challenge-description a{color:#008276;font-weight:550}@media(max-width:780px){#course-dropdown{right:0;top:12px}}code{white-space:pre-wrap!important;word-break:keep-all!important}@media(max-width:800px){.lesson-container{padding-left:16px;padding-right:16px}code{word-wrap:break-word}}app-console,test-panel{border:1px solid var(--border-color-1);bottom:var(--action-bar-height);position:fixed}app-console{left:0;width:calc(45vw - 4px)}test-panel{left:45vw;width:55vw}live-reload{height:calc(100vh - 90px)}.open-sidebar app-console{width:calc(34.65vw - 4px)}.open-sidebar test-panel{left:34.65vw;width:42.35vw}#challenge-layout{display:grid;grid-template-columns:var(--console-width) var(--test-width)}@media(min-width:0px)and (max-width:739px){#challenge-layout{margin-top:0}}#text-challenge-editor-container{position:relative}#text-challenge-editor-container.fullscreen{bottom:var(--action-bar-height);left:0;position:fixed;right:var(--browser-window-offset-right);top:var(--top-offset);z-index:var(--fullscreen-editor-layer)}@media(min-width:0px)and (max-width:739px){#text-challenge-editor-container.fullscreen{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}}#course-dropdown{cursor:pointer;padding-left:16px;padding-right:16px;position:fixed;right:0;top:66px;z-index:var(--dropdown-trigger-layer)}#course-dropdown.update-available:before{background-color:var(--primary);border-radius:50%;content:"";display:inline-block;height:7px;position:absolute;width:7px}#challenge-editor{background-color:var(--bg-8);height:100%}#challenge-editor-spinner-container{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;justify-content:center;min-height:190px;text-align:center}#challenge-editor-spinner-container .message{color:#fff;line-height:1.6;margin-top:20px}#challenge-editor-container{height:calc(100vh - var(--top-offset) - var(--challenge-editor-tabs-height) - var(--test-header-height) - var(--action-bar-height));-webkit-transition:height .18s ease-out;transition:height .18s ease-out}#challenge-editor-container[collapsed]{height:calc(100vh - var(--top-offset) - var(--challenge-editor-tabs-height) - var(--test-height) - var(--action-bar-height))}.fullscreen #challenge-editor-container{height:calc(100vh - var(--top-offset) - var(--challenge-editor-tabs-height) - var(--action-bar-height))}#right-tabs-content{height:calc(100vh - var(--top-offset) - var(--challenge-editor-tabs-height) - var(--test-header-height) - var(--action-bar-height));position:relative;-webkit-transition:height .18s ease-out;transition:height .18s ease-out}#right-tabs-content[collapsed]{height:calc(100vh - var(--top-offset) - var(--challenge-editor-tabs-height) - var(--test-height) - var(--action-bar-height))}#right-tabs-content .content{height:100%;left:0;position:absolute;right:0;top:0;visibility:hidden;z-index:-1}#right-tabs-content .content--active{visibility:visible;z-index:1}#right-tabs{background-color:var(--bg-7);height:var(--challenge-editor-tabs-height);visibility:hidden;width:100%}#snap-child-instructions{margin-right:4px}#right-tabs.show{visibility:visible}#right-tabs .mdc-tab{height:var(--challenge-editor-tabs-height)}#right-tabs .mdc-tab-indicator{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:48px}#right-tabs .mdc-tab-indicator--active .mdc-tab-indicator__content{background:-webkit-gradient(linear,left top,right top,from(#5ebbff),to(#a174ff));background:linear-gradient(90deg,#5ebbff,#a174ff);border:none;border-radius:2px;height:2px}#right-tabs .mdc-tab__icon{color:var(--light-icon-color)}#right-tabs .mdc-tab__text-label{color:#808b9a;font-size:1.4rem;font-weight:700;margin-left:6px}#right-tabs .mdc-tab--active .mdc-tab__icon,#right-tabs .mdc-tab--active .mdc-tab__text-label{color:var(--text-color-4)}#right-tabs .mdc-icon{display:none;margin-top:-4px}#right-tabs .mdc-tab--active .mdc-icon--active,#right-tabs .mdc-tab:not(.mdc-tab--active) .mdc-icon:not(.mdc-icon--active){display:block}#right-tab-instructions{overflow-y:auto;padding:0 24px 24px}@media(min-width:0px)and (max-width:739px){#right-tab-instructions{padding:0 24px 124px}}#instructions-title{font-size:2.4rem;margin-top:0;position:relative}#console-container{min-height:var(--test-height)}action-icons{display:inline-block;margin-right:25px;min-width:126px}@media(min-width:0px)and (max-width:739px){action-icons{margin:0}}#battle-layout{height:calc(100vh - var(--top-offset) - var(--action-bar-height))}@media(min-width:0px)and (max-width:739px){#battle-layout{height:calc(100vh - var(--top-offset) - var(--action-bar-height) - var(--mobile-tab-bar-height));padding-bottom:80px}}#battle-layout course-battle{display:block;height:100%}@media(min-width:0px)and (max-width:739px){.cm-s-material.CodeMirror{padding-bottom:10px}}.visible-mobile{display:none}.mobile-track-preview{margin-left:-20px}@media(max-width:700px){flashcards-reminder{display:none}action-icons{min-width:auto}.CodeMirror{font-family:var(--font-code)!important;font-size:1.6rem!important;height:100%!important;line-height:24px;padding-left:10px;padding-right:10px}.visible-mobile{display:block}#console-container{height:auto;width:100%}body.is-mobile #challenge-editor{background-color:#263238}#text-challenge-editor-container{grid-column:auto;grid-row:auto}}.CodeMirror{font-family:var(--font-code);height:100%!important}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-webkit-font-feature-settings:inherit;font-feature-settings:inherit;-webkit-font-variant-ligatures:inherit;font-variant-ligatures:inherit}@media(max-width:700px){:root{--total-bars-height:calc(var(--top-offset) + var(--mobile-tab-bar-height))!important}#snap-child-instructions{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}#challenge-layout{display:grid;grid-template-columns:repeat(5,100vw);grid-template-rows:100%;height:calc(100vh - 70px);overflow-x:scroll;scroll-behavior:smooth;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}}@media(max-width:700px)and (min-width:0px)and (max-width:739px){#challenge-layout{padding-bottom:var(--action-bar-height)}}@media(max-width:700px){#challenge-layout .snap-child{height:calc(100vh - var(--top-offset) - var(--mobile-tab-bar-height) - var(--action-bar-height));scroll-snap-align:start}#text-challenge-editor-container{height:100%}#challenge-editor-container,#challenge-editor-container[collapsed],.CodeMirror-scroll{max-height:calc(100% - 52px)!important;min-height:calc(100% - 52px)!important}body.is-mobile #challenge-editor{max-height:100%!important;min-height:100%!important}#right-tabs-content,#right-tabs-content[collapsed]{height:calc(100vh - 161px)!important}#challenge-layout app-console,#challenge-layout test-panel{border:none;position:static}}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}#lazy-css{visibility:visible!important}body{-webkit-text-size-adjust:100%;width:100vw}@media(min-width:0px)and (max-width:739px){body{-webkit-tap-highlight-color:transparent}body.is-full-screen #action-bar-container,body.is-full-screen .navbar{opacity:0;visibility:hidden}}.all-unset{all:unset}#run-container{bottom:calc(20px + var(--action-bar-height) + var(--ipad-bottom-offset));display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;right:30px;z-index:20}#run{min-width:95px;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}#run[disabled]{opacity:.5}#action-bar-container{bottom:0;left:0;position:fixed;right:0;-webkit-transition:.3s;transition:.3s;z-index:199}@media(min-width:0px)and (max-width:739px){.open-sidebar #action-bar-container{-webkit-transform:translateY(100%);transform:translateY(100%);z-index:-1}}#exec{height:100%;width:100%}.v-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.h-center,.v-center{display:-webkit-box;display:-ms-flexbox;display:flex}.h-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#magic-link{bottom:-12px;position:relative}#lesson-container{bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;left:0;position:fixed;right:0;top:0}#challenge-layout .snap-child{position:relative}#lesson-content,#lesson-sidebar{-ms-flex-negative:0;flex-shrink:0;height:100%;-webkit-transition:width .3s ease,opacity .3s ease;transition:width .3s ease,opacity .3s ease;will-change:width,opacity}#lesson-content{margin-top:var(--top-offset);overflow-y:auto;width:100%}#lesson-sidebar{background-color:var(--dark-3);opacity:0;-webkit-transition:.3s;transition:.3s}@media(min-width:740px)and (max-width:1023px){#lesson-sidebar{position:fixed;right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);width:300px}}@media(min-width:0px)and (max-width:739px){#lesson-sidebar{bottom:0;left:0;position:fixed;right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}#lesson-note{right:0}.open-sidebar #lesson-content{width:77%}@media(min-width:740px)and (max-width:1023px){.open-sidebar #lesson-content{width:100%}}@media(min-width:0px)and (max-width:739px){.open-sidebar #lesson-content{width:100%}}.open-sidebar #lesson-sidebar{opacity:1;width:23%}@media(min-width:740px)and (max-width:1023px){.open-sidebar #lesson-sidebar{position:fixed;right:0;top:0;-webkit-transform:translateX(0);transform:translateX(0);width:300px}}@media(min-width:0px)and (max-width:739px){.open-sidebar #lesson-sidebar{bottom:0;left:0;position:fixed;right:0;top:0;-webkit-transform:translateX(0);transform:translateX(0);width:100%}}.open-sidebar create-note{right:23%}@media(min-width:0px)and (max-width:739px){#challenge #right-tabs{display:none}}#mobile-challenge-browser{display:none}@media(min-width:0px)and (max-width:739px){#mobile-challenge-browser{display:block}#notifications-list{margin:0 16px}}.notification-overlay-mobile{display:none}@media(min-width:0px)and (max-width:739px){.notification-overlay-mobile{display:block}.notification-overlay-mobile.show{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;-webkit-transition:.3s ease;transition:.3s ease;z-index:999}}code-snippet{display:block;margin:2rem 0;min-height:405px}code-snippet pre{display:none}.suggested-highlight{color:var(--text-highlight-color);cursor:pointer;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}code.suggested-highlight{background-color:rgba(255,222,106,.2)!important}code.suggested-highlight:hover{background-color:rgba(255,222,106,.4)!important}code.suggested-highlight:hover:before{padding:5px!important}.suggested-code-highlight{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.code-save{cursor:pointer;float:right;pointer-events:visible;position:absolute;right:16px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,transform .2s ease-out;transition:opacity .2s ease-out,transform .2s ease-out,-webkit-transform .2s ease-out}.code-save,.code-save app-tooltip,.code-save navbar-icon-button{display:-webkit-box;display:-ms-flexbox;display:flex}.code-save-recap{pointer-events:visible;position:absolute;right:16px;top:16px;z-index:1}:root{--jsx-function-color:#e17e17;--jsx-plain-color:#233459;--jsx-attr-name-color:#04a0ff}html.dark{--jsx-function-color:#d4d797;--jsx-plain-color:#d4d4d4;--jsx-attr-name-color:#8ad3ff}.monaco-editor .mtk1{color:var(--jsx-color-mtk1)}.monaco-editor .mtk5{color:var(--jsx-color-mtk5)}.monaco-editor .attr-name{color:#04a0ff;color:var(--jsx-attr-name-color)}.monaco-editor .end-tag-name,.monaco-editor .mtk1.tag,.monaco-editor .start-tag-name{color:#3dc1a0}.monaco-editor .end-tag-end,.monaco-editor .end-tag-start,.monaco-editor .mtk9.tag,.monaco-editor .tag-end,.monaco-editor .tag-start{color:#6d6d6d}.monaco-editor .as-keyword,.monaco-editor .await-keyword,.monaco-editor .catch-keyword,.monaco-editor .default-keyword,.monaco-editor .else-keyword,.monaco-editor .export-keyword,.monaco-editor .from-keyword,.monaco-editor .if-keyword,.monaco-editor .import-keyword,.monaco-editor .return-keyword,.monaco-editor .static-keyword,.monaco-editor .try-keyword{color:#b86cb4}.monaco-editor .regex{color:#d16969}.monaco-editor .function,.monaco-editor .function-variable{color:#e17e17;color:var(--jsx-function-color)}.monaco-editor .builtin,.monaco-editor .class-name,.monaco-editor .globals{color:#3dc1a0}.monaco-editor .arrow-operator,.monaco-editor .jsx-exp-end,.monaco-editor .jsx-exp-start{color:#569cd6}.monaco-editor .jsx-text,.monaco-editor .plain-text{color:#233459;color:var(--jsx-plain-color)}html.dark body .tippy-box{background-color:#f0f0f0;color:#333;font-size:1.4rem;font-weight:600}html.dark body .tippy-arrow{color:#f0f0f0}[menu-template]{background:linear-gradient(var(--dark-2),var(--dark-2)) padding-box,linear-gradient(180deg,var(--primary) 0,var(--primary-to) 100%) border-box;border:1px solid transparent;border-radius:8px;padding:0;position:relative}[menu-template] .tippy-arrow{border-bottom:7px solid var(--mdc-border-color);border-left:7px solid transparent;border-right:7px solid transparent;content:"";height:0;position:absolute;top:-8px;width:0}@media(min-width:0px)and (max-width:739px){[menu-template] .wrapper-tippy-arrow{display:none}}#user-menu{width:312px}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;-webkit-transition-property:visibility,opacity,-webkit-transform;transition-property:visibility,opacity,-webkit-transform;transition-property:transform,visibility,opacity;transition-property:transform,visibility,opacity,-webkit-transform;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;-webkit-transform-origin:center top;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;-webkit-transform-origin:center bottom;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;-webkit-transform-origin:center left;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;-webkit-transform-origin:center right;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{-webkit-transition-timing-function:cubic-bezier(.54,1.5,.38,1.11);transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}:host,app-text-content{display:block}:host .hash-of-heading,app-text-content .hash-of-heading{color:var(--primary)}:host .target-of-heading-hash,app-text-content .target-of-heading-hash{position:relative;top:-80px}.app-text-content{color:var(--p-color);color:var(--color,var(--p-color));font-size:1.6rem;font-size:var(--font-size,1.6rem);line-height:1.8;line-height:var(--line-height,1.8)}.app-text-content blockquote{border-left:2px solid var(--text-highlight-color);margin-left:0;padding-left:16px}.app-text-content ol,.app-text-content p,.app-text-content ul{margin:1em 0;margin:var(--marginParagraph,1em 0)}.app-text-content b,.app-text-content strong{font-weight:600}.app-text-content em,.app-text-content i{font-style:italic}.app-text-content ol,.app-text-content ul{padding-left:30px}.app-text-content ul{list-style:disc}.app-text-content ul ul{list-style:circle}.app-text-content ol{list-style:decimal}.app-text-content ol ol{list-style:lower-alpha}.app-text-content{word-break:break-word}.app-text-content hr{background-color:#dedede;background-color:var(--app-text-content-hr,#dedede);border:none;height:1px;margin:40px 0}.app-text-content a{color:var(--primary);font-weight:500}.app-text-content table{border-collapse:collapse}.app-text-content table td,.app-text-content table th{border:1px solid var(--table-border-color);padding:5px 15px}.app-text-content img{border-radius:12px;-webkit-box-shadow:0 0 0 1px var(--comment-image-border-color);box-shadow:0 0 0 1px var(--comment-image-border-color);cursor:-webkit-zoom-in;cursor:zoom-in;display:block;max-height:420px;max-width:100%!important;padding:4px}.app-text-content img:not(.code-save){margin:24px auto}.app-text-content h1,.app-text-content h2,.app-text-content h3,.app-text-content h4,.app-text-content h5,.app-text-content h6{font-weight:600;letter-spacing:-.3px}.app-text-content h2{font-size:2.2rem;margin-top:3.2rem;position:relative}.app-text-content h2 .hash-of-heading,.app-text-content h3 .hash-of-heading{left:-24px;position:absolute}.app-text-content h3 .hash-of-heading{left:-18px}.auto-generate-headings>h2,.auto-generate-headings>h3{cursor:pointer}.app-text-content h3{font-size:1.8rem;position:relative}.app-text-content h1{font-size:2.8rem;letter-spacing:.5px}.app-text-content h3,.app-text-content h4,.app-text-content h5,.app-text-content h6{letter-spacing:.5px;margin-top:2.8rem}.app-text-content iframe{max-width:100%}.app-text-content code{font-family:var(--font-code)!important;white-space:pre-wrap!important;word-break:keep-all!important}.app-text-content .lesson-recap{border:2px solid var(--text-highlight-color);border-radius:10px;letter-spacing:.05px;margin-top:30px;padding:10px 28px 10px 20px;position:relative}.app-text-content .lesson-recap h2{color:var(--text-color);margin:10px 0 0 12px}.app-text-content br{content:" ";display:block;margin:8px 0}.app-text-content p>img+em{display:block;font-size:1.4rem;margin:0 auto;text-align:center;width:min(540px,100%)}ul.app-text-content-headings{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;list-style:none;margin-bottom:36px;padding:0}.app-text-content-headings li{color:var(--p-color-2);cursor:pointer;font-size:1.5rem;line-height:1.8;padding:2px 0;text-decoration:none}.app-text-content-headings .h2{font-weight:600}.app-text-content-headings .h3{padding-left:24px}.app-text-content-headings li span{margin-right:4px}.snippet-code.app-text-content{height:100%}@media(min-width:0px)and (max-width:739px){.target-of-heading-hash-phone{scroll-margin-top:150px}.app-text-content ul{padding-left:28px}.app-text-content ul li ul{padding-left:40px}.app-text-content h2 .hash-of-heading,.app-text-content h3 .hash-of-heading{display:none}}.auth-modal{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999}.auth-modal.closing .overlay{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-name:inline-u1tl253;animation-name:inline-u1tl253;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes inline-u1tl253{0%{opacity:1}to{opacity:0}}@keyframes inline-u1tl253{0%{opacity:1}to{opacity:0}}.auth-modal.closing .content{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-name:inline-u1tl25x;animation-name:inline-u1tl25x}@-webkit-keyframes inline-u1tl25x{0%{opacity:1;scale:1}to{opacity:0;scale:0}}@keyframes inline-u1tl25x{0%{opacity:1;scale:1}to{opacity:0;scale:0}}.auth-modal .overlay{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-name:inline-u1tl26a;animation-name:inline-u1tl26a;-webkit-animation-timing-function:linear;animation-timing-function:linear;background:rgba(0,0,0,.4);bottom:0;left:0;position:absolute;right:0;top:0}@-webkit-keyframes inline-u1tl26a{0%{opacity:0}to{opacity:1}}@keyframes inline-u1tl26a{0%{opacity:0}to{opacity:1}}.auth-modal .content{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-name:inline-u1tl26z;animation-name:inline-u1tl26z;background:#fff;border-radius:16px;height:min(660px,100% - 32px);overflow:hidden;position:relative;width:min(540px,100% - 32px);z-index:1}@-webkit-keyframes inline-u1tl26z{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@keyframes inline-u1tl26z{0%{opacity:0;scale:0}to{opacity:1;scale:1}}.auth-modal .iframe{border:none;height:100%;width:100%}