/*!
 * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, #ffffff26, #fff0);--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:#212529bf;--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:#21252980;--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:#0000002d;--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem #00000026;--bs-box-shadow-sm:0 .125rem .25rem #00000013;--bs-box-shadow-lg:0 1rem 3rem #0000002d;--bs-box-shadow-inset:inset 0 1px 2px #00000013;--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:#0d6efd40;--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:#dee2e6bf;--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:#dee2e680;--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:#ffffff26;--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25;margin:1rem 0}h1,h2,h3,h4,h5,h6{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg);padding:.1875em}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{margin-top:0;margin-bottom:1rem;font-size:.875em;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{color:var(--bs-code-color);word-wrap:break-word;font-size:.875em}a>code{color:inherit}kbd{color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem;padding:.1875rem .375rem;font-size:.875em}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-secondary-color);text-align:left;padding-top:.5rem;padding-bottom:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:left;width:100%;line-height:inherit;margin-bottom:.5rem;padding:0;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-minute{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}.explorer-preview{z-index:1003;height:calc(100dvh - .5rem);width:calc(550px * var(--scale-factor));box-shadow:var(--box-shadow);background-color:var(--primary);color:var(--text-color);transform-origin:100%;overscroll-behavior-y:contain;border-right:none;border-radius:28px 0 0 28px;flex-direction:column;transition:transform .32s cubic-bezier(.4,0,.2,1),border-radius .32s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:.375dvh;right:0;overflow:hidden;transform:translate(100%)scale(.96)}.explorer-preview:empty{box-shadow:none}.explorer-preview .explorer-card{opacity:0;border-radius:12px 0 0 12px;transition:opacity .4s cubic-bezier(.05,.7,.1,1),transform .4s cubic-bezier(.05,.7,.1,1);animation:none;transform:translate(18px)}.explorer-preview .explorer-card.streaming{animation:none}.explorer-preview.expanded .explorer-card{opacity:1;transition-delay:60ms;transform:none}.explorer-preview.expanded{border-radius:12px 0 0 12px;transition:transform .4s cubic-bezier(.05,.7,.1,1),border-radius .4s cubic-bezier(.05,.7,.1,1);transform:none}.explorer-preview .close-button{cursor:pointer;color:var(--text-color-weak);z-index:10001;background:0 0;border:none;padding:5px;transition:color .15s,transform .1s;position:absolute;top:50%;left:0;transform:scaleY(1.5)}.explorer-preview .close-button:active{transform:scaleY(1.5)scale(.92)}.explorer-preview .close-button:hover{color:var(--text-color)}.explorer-preview .open-explorer-container{z-index:10001;justify-content:flex-end;align-items:center;min-width:80px;min-height:28px;display:flex;position:absolute;top:.35rem;right:.6rem}.explorer-preview .preview-pill-container{cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .75rem;transition:background-color .15s,border-color .15s,transform .1s;display:flex}.explorer-preview .preview-pill-container:active{transform:scale(.97)}.explorer-preview .preview-pill-text{color:var(--text-color-extra-weak);margin-top:.1rem;font-size:.8rem;font-weight:500;transition:color .15s}.explorer-preview .preview-pill-icon{color:var(--text-color-weak);transition:color .15s}.explorer-preview .preview-pill-container:hover{background-color:var(--secondary-weak);border-color:var(--border-color)}.explorer-preview .preview-pill-container:hover .preview-pill-text,.explorer-preview .preview-pill-container:hover .preview-pill-icon{color:var(--text-color)}.explorer-preview .explorer-card{height:100%;box-shadow:none}@media (max-width:768px){.explorer-preview{display:none}.explorer-preview-drawer .drawer-content{padding:0}.explorer-preview-drawer .drawer-content-inner{height:100%}.explorer-preview-drawer .explorer-card.preview{width:100%;animation:none}.explorer-preview-drawer .explorer-card-content{padding:1rem 1.25rem 1.5rem}.explorer-preview-drawer .explorer-card-content:after{display:none}}:is(.explorer-preview:has(.map-fullscreen) .open-explorer-container,.explorer-preview:has(.map-fullscreen) .close-button){visibility:hidden}.alert-container{z-index:100000;pointer-events:none;place-items:end center;display:grid;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.alert-container:before{content:"";height:calc(var(--alert-count) * 100% + 30px);pointer-events:none;position:absolute;inset:auto 0 0}.alert-container.expanded:before{pointer-events:auto}.alert-item{--tone:var(--text-color-extra-weak);pointer-events:auto;z-index:calc(var(--alert-count) - var(--i));transform-origin:bottom;transform:translateY(calc(var(--i) * -9px)) scale(calc(1 - var(--i) * .045));grid-area:1/1;transition:transform .3s cubic-bezier(.22,1,.36,1)}.alert-item.success{--tone:var(--success-color-highlight)}.alert-item.error{--tone:var(--error-color-highlight)}.alert-item.info{--tone:var(--accent)}.alert-container.expanded .alert-item{transform:translateY(calc(var(--i) * (-100% - 9px)))}.alert-item.leaving{pointer-events:none;animation:.15s ease-out forwards alertFall}@keyframes alertRise{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}@keyframes alertFall{to{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes alertSweep{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.alert-shell{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s;animation:.3s cubic-bezier(.22,1,.36,1) backwards alertRise;display:flex;position:relative}.alert-close{z-index:2;border:1px solid var(--border-color);background:var(--secondary);width:19px;height:19px;color:var(--text-color-weak);cursor:pointer;opacity:0;border-radius:50%;place-items:center;padding:0;transition:opacity .13s,transform .13s cubic-bezier(.34,1.56,.64,1),background-color .13s;display:grid;position:absolute;top:-7px;right:-7px;transform:scale(.7)}.alert-shell:hover .alert-close,.alert-close:focus-visible{opacity:1;transform:none}.alert-close:hover{background:var(--secondary-strong-highlight);color:var(--text-color-highlight)}.alert-panel{background:var(--primary-highlight);border:1px solid var(--border-color);min-width:340px;max-width:500px;box-shadow:0 1px 2px var(--shadow-weak), 0 14px 32px -14px var(--shadow-medium);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:.7rem;padding:.8rem 1rem .8rem .85rem;transition:background-color .15s;display:flex;position:relative;overflow:hidden}.alert-panel:hover{background:var(--secondary-extra-weak)}.alert-panel.inert{cursor:default;background:var(--primary-highlight)}.alert-icon{color:var(--tone);flex-shrink:0;display:flex}.alert-message{min-width:0;color:var(--text-color);flex:1;font-size:.95rem;line-height:1.4}.alert-chevron{color:var(--text-color-extra-extra-weak);flex-shrink:0;transition:transform .18s cubic-bezier(.22,1,.36,1)}.alert-panel:hover .alert-chevron{transform:translate(3px)}.alert-container.expanded .alert-countdown{animation-play-state:paused}.alert-countdown{background:var(--text-color-extra-extra-weak);opacity:.5;transform-origin:0;height:1.5px;animation:linear forwards alertSweep;position:absolute;inset:auto 0 0}.alert-container.touch{width:min(420px,100vw - 1.5rem);bottom:calc(16px + env(safe-area-inset-bottom))}.alert-container.touch .alert-shell{touch-action:pan-x;width:100%}.alert-container.touch .alert-panel{width:100%;min-width:0;max-width:none;padding:.95rem 1rem}.alert-container.touch .alert-close{opacity:1;width:26px;height:26px;top:-9px;right:-9px;transform:none}.alert-container.touch .alert-close:after{content:"";position:absolute;inset:-9px}.alert-container.touch:before{display:none}.auth-wrapper-container{background-color:var(--bg-color);justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex}.page-loader{pointer-events:none;justify-content:center;align-items:center;animation:.2s .15s both fadeIn;display:flex;position:fixed;inset:0}.cookie-banner{z-index:1005;--animation-transform-from:translateY(10px) scale(.98);--animation-transform-to:translateY(0) scale(1);animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeTransformIn;position:fixed;bottom:1rem;left:1rem;right:1rem}@media (min-width:768px){.cookie-banner{width:calc(500px * var(--scale-factor));left:auto;right:1rem}}.cookie-banner-content{background-color:var(--primary);border:1px solid var(--border-color);box-shadow:var(--box-shadow);border-radius:12px;padding:1.5rem}.cookie-banner h2{font-family:var(--heading-font);color:var(--text-color);margin-bottom:.75rem;font-size:1.25rem}.cookie-banner p{color:var(--text-color-weak);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.cookie-settings{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.cookie-setting-item{background-color:var(--primary-highlight);border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.setting-description{flex-grow:1;margin-right:1rem}.setting-title{color:var(--text-color);margin-bottom:.25rem;font-size:.875rem;font-weight:500}.setting-subtitle{color:var(--text-color-weak);font-size:.75rem}.cookie-actions{flex-direction:column;gap:.5rem;display:flex}.button-group{gap:.5rem;display:flex}.cookie-button{cursor:pointer;border-radius:12px;width:100%;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .3s}.customize-button{background-color:var(--primary);color:var(--text-color);border:1px solid var(--border-color)}.customize-button:hover{background-color:var(--primary-highlight)}.reject-button{background-color:var(--primary);color:var(--text-color);border:1px solid var(--border-color)}.reject-button:hover{background-color:var(--primary-highlight)}.accept-button{background-color:var(--secondary);color:var(--text-color);border:1px solid var(--border-color)}.accept-button:hover{background-color:var(--secondary-highlight)}.save-button{background-color:var(--secondary);color:var(--text-color);border:1px solid var(--border-color)}.save-button:hover{background-color:var(--secondary-highlight)}@media (max-width:768px){.cookie-banner{margin:0;bottom:0;left:0;right:0}.cookie-banner-content{border-radius:12px 12px 0 0;padding:1.25rem}}.sidebar{z-index:10000;height:calc(100dvh - .5rem);width:calc(60px * var(--scale-factor));box-shadow:none;background:var(--primary);-webkit-backdrop-filter:blur();backdrop-filter:blur();border-left:none;border:1px solid var(--border-color);color:var(--text-color);border-radius:0 10px 10px 0;flex-direction:column;flex-shrink:0;align-items:center;gap:1rem;padding:1rem 0 .5rem 1rem;display:flex;position:fixed;top:.25rem;left:0;overflow:hidden}.sidebar.can-transition{will-change:width, backdrop-filter, -webkit-backdrop-filter, transform, border-color, background;transition:width .3s cubic-bezier(0,0,.2,1),-webkit-backdrop-filter .3s cubic-bezier(0,0,.2,1),backdrop-filter .3s cubic-bezier(0,0,.2,1),transform .3s cubic-bezier(0,0,.2,1),border-color .3s cubic-bezier(0,0,.2,1),background .3s cubic-bezier(0,0,.2,1)}.sidebar.expanded{width:calc(280px * var(--scale-factor));border-color:var(--border-color-weak);box-shadow:var(--box-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:0 0;align-items:flex-start}.darkmode .sidebar.expanded{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.logo-container{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding-right:1rem;display:flex}.periplus-logo{cursor:pointer;align-items:center;gap:calc(.85rem - 2px);width:100%;display:flex}.periplus-logo img{width:calc(32px * var(--scale-factor));height:calc(32px * var(--scale-factor));border:1px solid #0000;border-radius:37.5%;margin-left:-4px}.darkmode .periplus-logo img{border-color:var(--text-color-extra-extra-weak)}.periplus-logo .sidebar-text{font-family:var(--heading-font);font-size:1.3rem;font-weight:400}.sidebar-divider{background-color:var(--border-color);flex-shrink:0;width:calc(100% - 1rem);height:2px;margin-right:1rem}.sidebar-buttons{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:0;width:100%;margin-left:.05rem;display:flex}.sidebar-button{cursor:pointer;color:var(--text-color);background:0 0;border:none;justify-content:flex-start;align-items:center;width:100%;padding:.625em 0 .625em 0;transition:transform .1s;display:flex;position:relative}.sidebar-button:active{transform:scale(.98)}.sidebar-button:first-child{padding-top:0}.sidebar-button svg{flex-shrink:0;margin-right:0}.sidebar.can-transition .sidebar-button svg{transition:margin-right .3s cubic-bezier(.4,0,.2,1)}.sidebar-text{white-space:nowrap;opacity:0;font-size:1.05rem;font-family:var(--small-heading-font);max-width:0;font-weight:500;overflow:hidden}.sidebar.can-transition .sidebar-text{transition:opacity .15s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .sidebar-text{opacity:1;max-width:calc(180px * var(--scale-factor))}.sidebar.expanded .sidebar-button svg{margin-right:.85rem}.sidebar-kbd{opacity:0;pointer-events:none;position:absolute;right:0}.sidebar.can-transition .sidebar-kbd{transition:opacity .15s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .sidebar-kbd,.sidebar.pinned .sidebar-kbd{opacity:1;pointer-events:auto}.sidebar-content{opacity:0;flex:1;width:100%;min-height:0;overflow:hidden auto}.sidebar.can-transition .sidebar-content{transition:opacity .15s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .sidebar-content{opacity:1}.sidebar .table-of-contents{box-shadow:none;background-color:#0000;width:100%;padding:0 1rem 0 0}.mobile-menu-button{z-index:10001;cursor:pointer;color:var(--text-color);will-change:transform;background:0 0;border:none;transition:transform .3s;display:none;position:fixed;top:1rem;left:1rem}.sidebar-top{flex-direction:column;flex-shrink:0;gap:1rem;width:100%;padding-right:1rem;display:flex}.logo-container .sidebar-pin{height:calc(24px * var(--scale-factor));align-items:center;display:flex}.logo-container .pin-button{opacity:0;padding:0}.sidebar.can-transition .pin-button{transition:opacity .15s cubic-bezier(.4,0,.2,1)}.pin-button svg{margin-right:0!important}.sidebar:hover .pin-button,.sidebar.pinned .pin-button{opacity:1}.sidebar.pinned{width:calc(280px * var(--scale-factor));box-shadow:var(--box-shadow);align-items:flex-start;height:100dvh;padding-top:1.25rem;padding-bottom:.75rem;top:0}.sidebar.pinned .sidebar-text,.sidebar.pinned .sidebar-content{opacity:1}.flashcard-button-container,.courses-button-container{align-items:center;display:inline-flex;position:relative}.course-generating-indicator{background-color:var(--accent-highlight);border:1px solid var(--accent);width:.6rem;height:.6rem;box-shadow:var(--box-shadow-weak);border-radius:50%;animation:1.6s ease-in-out infinite courseGeneratingPulse;position:absolute;bottom:-6px;right:-6px}.sidebar.can-transition .course-generating-indicator{transition:right .3s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .course-generating-indicator,.sidebar.pinned .course-generating-indicator{right:calc(1rem - 9px)}.due-flashcard-indicator{background-color:var(--primary-highlight);color:var(--text-color-highlight);border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:.7em;font-weight:700;display:flex;position:absolute;bottom:-8px;right:-8px}.sidebar.can-transition .due-flashcard-indicator{transition:right .3s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .due-flashcard-indicator,.sidebar.pinned .due-flashcard-indicator{right:calc(1rem - 11px)}@keyframes courseGeneratingPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.user-menu-container{border-top:1px solid var(--border-color-weak);width:100%;padding-top:.5rem}.user-menu-container .dropdown-menu-container{width:100%}.user-menu-trigger{border-radius:8px;width:calc(100% + .5rem);margin-left:-.5rem;padding-right:.5rem;padding-top:.5rem!important;padding-left:.5rem!important}.user-menu-trigger:hover{background-color:var(--primary-highlight)}.user-menu-trigger .sidebar-text{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.user-menu-info{flex-direction:column;align-items:flex-start;gap:0;line-height:1.2;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.05rem;overflow:hidden}.user-menu-plan{color:var(--text-color-weak);font-size:.8rem}.user-menu-chevron{color:var(--text-color-weak);opacity:0;flex-shrink:0;margin-right:0!important}.sidebar.can-transition .user-menu-chevron{transition:opacity .15s cubic-bezier(.4,0,.2,1)}.sidebar.expanded .user-menu-chevron,.sidebar.pinned .user-menu-chevron{opacity:1}.user-menu-dropdown{min-width:calc(260px * var(--scale-factor))!important;bottom:calc(100% + 12px)!important;left:-6px!important}.user-menu-dropdown .menu-items{padding:.4rem}.user-menu-dropdown .menu-item{padding:.5rem;font-size:.85rem}.user-menu-dropdown .menu-item svg{width:18px;height:18px}.user-menu-dropdown .menu-header{padding:.35rem .5rem .4rem}.user-menu-dropdown .menu-divider{margin:.3rem .5rem}.menu-icon-with-dot{align-items:center;display:inline-flex;position:relative}.menu-notification-dot{background-color:var(--error-color);border-radius:50%;width:6px;height:6px;position:absolute;bottom:-2px;right:-4px}.menu-complexity-dot{border-radius:50%;width:6px;height:6px;position:absolute;bottom:-2px;right:-4px}.desktop-feedback-button{right:.5rem;bottom:var(--corner-stack-1);z-index:99;position:fixed}.sidebar-bottom{flex-direction:column;flex-shrink:0;gap:.75rem;width:100%;margin-top:auto;padding-right:1rem;display:flex}.subscribe-button{border:1px solid var(--border-color-weak);width:100%;color:var(--text-color);opacity:0;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:1rem;padding:.5em 1em;display:flex}.sidebar.can-transition .subscribe-button{transition:color .2s,background-color .2s,opacity .5s}.sidebar.expanded .subscribe-button{opacity:1}.sidebar.expanded .subscribe-button:not(.disabled){background-color:var(--link-highlight);color:var(--text-color);opacity:1}.sidebar.expanded .subscribe-button:hover:not(.disabled){color:var(--text-color-highlight);background-color:var(--link-highlight-strong)}.subscribe-button svg{color:inherit}.subscribe-button.disabled{border:1px solid var(--border-color-weak);background-color:none;transition:none}.subscribe-button-container{opacity:0;-webkit-user-select:none;user-select:none;width:100%;position:relative}.sidebar.can-transition .subscribe-button-container{transition:opacity .2s}.sidebar.expanded .subscribe-button-container{opacity:1}.sidebar.expanded .subscribe-button.renew{background-color:var(--link-highlight);color:var(--text-color)}.sidebar.expanded .subscribe-button.renew:hover{background-color:var(--link-highlight-strong)}.usage-meters{opacity:0;border-radius:12px;flex-direction:column;gap:1em;width:100%;padding:.75rem .25rem;display:flex}.sidebar.can-transition .usage-meters{transition:opacity .2s}.sidebar.expanded .usage-meters{opacity:1}.usage-meter{flex-direction:column;gap:.5em;display:flex}.usage-meter-header{justify-content:space-between;align-items:center;width:100%;display:flex}.usage-label{color:var(--text-color);font-size:.9rem}.usage-count{color:var(--text-color-weak);font-variant-numeric:tabular-nums;font-size:.85rem}.usage-bar{background-color:var(--secondary);border-radius:3px;width:100%;height:6px;overflow:hidden}.usage-bar-fill{background-color:var(--text-color-extra-weak);border-radius:3px;height:100%;transition:width .3s}@media (max-width:768px){.desktop-feedback-button{display:none}.sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;height:100%;width:calc(280px * var(--scale-factor));will-change:transform;border-color:#0000;align-items:flex-start;gap:.75rem;padding-top:calc(1.25em + .5dvh);top:0;transform:translate(calc(-100% - 1px))}.sidebar.can-transition{transition:transform .3s,border-color .3s,background-color .3s}.sidebar.expanded{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--bg-color)}.sidebar-text{opacity:1;max-width:calc(180px * var(--scale-factor));font-size:.95rem}.periplus-logo img{width:calc(30px * var(--scale-factor));height:calc(30px * var(--scale-factor));margin-left:-2px}.periplus-logo .sidebar-text{margin-left:-2px;font-size:1rem}.sidebar .sidebar-button svg{margin-right:.5rem;transform:scale(.95)}.mobile-menu-button{top:1rem;left:.75rem}.mobile-menu-button:has(+.content .explorer>.mobile-fullscreen:not(.hidden)){display:none}.mobile-menu-button{display:block}.mobile-menu-button.menu-open{opacity:0;pointer-events:none}.sidebar .table-of-contents{display:unset}.pin-button{display:none}.user-menu-chevron{opacity:1}.mobile-sidebar-drawer .drawer-content{scrollbar-gutter:auto;scrollbar-width:none;padding:0}.mobile-sidebar-drawer .drawer-content::-webkit-scrollbar{display:none}.mobile-drawer-menu{width:100%;padding-bottom:max(8px, env(safe-area-inset-bottom))}.mobile-drawer-account-header{justify-content:space-between;align-items:center;padding:0 20px 8px;display:flex}.mobile-drawer-account-header>div{flex-direction:column;min-width:0;display:flex}.mobile-drawer-account-header h2{font-family:var(--small-heading-font);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.mobile-drawer-account-header span{color:var(--text-color-weak);font-size:12px}.mobile-drawer-account-header button{width:36px;height:36px;color:var(--text-color);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:-8px;padding:0;display:flex}.mobile-drawer-account-header button svg{width:18px;height:18px}.mobile-drawer-menu-items{flex-direction:column;display:flex}.mobile-drawer-menu-item{width:100%;min-height:46px;color:var(--text-color);text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;padding:10px 20px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.mobile-drawer-menu-item:active,.mobile-drawer-menu-item.active{background:var(--primary-highlight)}.mobile-drawer-menu-item:disabled{opacity:.55}.mobile-drawer-menu-item>svg{flex:none;width:18px;height:18px}.mobile-drawer-menu-item>span:not(.mobile-drawer-menu-meta){flex:1}.mobile-drawer-menu-meta{color:var(--text-color-weak);margin-left:auto;font-size:12px;font-weight:400}.mobile-drawer-menu-divider{background:var(--border-color-weak);height:1px;margin:5px 20px}.mobile-drawer-sidebar-trigger .mobile-drawer-sidebar-chevron{width:16px;height:16px;color:var(--text-color-weak);margin-left:auto}.mobile-dynamic-drawer .drawer-content{padding:0 20px max(12px, env(safe-area-inset-bottom))}.mobile-dynamic-content{min-width:0}.mobile-dynamic-content .table-of-contents{width:100%;box-shadow:none;background:0 0;border-radius:0;padding:0;display:block}.mobile-dynamic-content .toc-header,.mobile-dynamic-content .sidebar-category-header{z-index:2;border-bottom:1px solid var(--border-color-weak);background:var(--primary);min-height:52px;margin:0;padding:8px 0;position:sticky;top:0}.mobile-dynamic-content .toc-header{padding-right:0}.mobile-dynamic-content .toc-header span,.mobile-dynamic-content .sidebar-category-title{color:var(--text-color);font-family:inherit;font-size:16px;font-weight:600}.mobile-dynamic-content .toc-header,.mobile-dynamic-content .sidebar-category-title{cursor:default}.mobile-dynamic-content .drawer-section-close{width:36px;height:36px;color:var(--text-color-weak);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-dynamic-content .toc-list,.mobile-dynamic-content .sidebar-category-list{max-height:none;margin:0;padding:0;overflow:visible}.mobile-dynamic-content .toc-list{padding-top:8px}.mobile-dynamic-content .sidebar-category-list:before,.mobile-dynamic-content .sidebar-subcategory-list:before{display:none}.mobile-dynamic-content .toc-item,.mobile-dynamic-content .sidebar-category-item{min-height:48px;color:var(--text-color);border-radius:0;margin:0;padding-top:11px;padding-bottom:11px;font-size:15px}.mobile-dynamic-content .toc-subitem,.mobile-dynamic-content .sidebar-category-item.subcategory{min-height:44px;padding-top:10px;padding-bottom:10px;font-size:14px}.mobile-dynamic-content .category-expand-btn{flex:0 0 32px;width:36px;height:36px;margin:-5px -4px -5px -8px}.mobile-dynamic-content .sidebar-category-item:not(.has-children):not(.subcategory) .category-content{padding-left:14px}.mobile-dynamic-content .category-header-btn,.mobile-dynamic-content .update-categories-button{width:36px;height:36px}.mobile-drawer-account-trigger{min-height:52px}.mobile-drawer-account-trigger-copy{flex-direction:column;flex:1;min-width:0;display:flex}.mobile-drawer-account-trigger .mobile-drawer-account-chevron{width:16px;height:16px;color:var(--text-color-weak)}.mobile-drawer-account-name,.mobile-drawer-account-plan{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-drawer-account-name{font-size:15px;font-weight:500}.mobile-drawer-account-plan{color:var(--text-color-weak);font-size:12px}.mobile-drawer-account-menu{padding-bottom:max(8px, env(safe-area-inset-bottom))}}.kbd{background:var(--secondary);min-height:1.5rem;color:var(--text-color-extra-weak);font-size:.75rem;font-family:var(--small-heading-font);border-radius:6px;justify-content:center;align-items:center;padding:3px 6px;display:inline-flex}.kbd.clickable{cursor:pointer;transition:background .15s,color .15s}.kbd.clickable:hover{background:var(--secondary-highlight);color:var(--text-color)}.sidebar-global-complexity-menu{min-width:calc(246px * var(--scale-factor));max-height:50vh;box-shadow:var(--box-shadow);border-radius:12px;position:absolute;left:auto;right:0;overflow-y:auto}.global-complexity-indicator .complexity-indicator-button{height:2rem;color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:0 .5rem 0 .6rem;transition:background-color .2s;display:flex}.global-complexity-indicator .complexity-indicator-button:hover{background:var(--primary-highlight)}.global-complexity-indicator .complexity-indicator-dot{border-radius:50%;width:.5rem;height:.5rem;margin-right:.5rem}.global-complexity-indicator .complexity-indicator-label{letter-spacing:.02rem;min-width:calc(65px * var(--scale-factor));margin-right:.25rem;font-size:.85rem;font-weight:500}.global-complexity-indicator .complexity-indicator-chevron{color:var(--text-color-extra-weak);margin-right:.1rem;transition:transform .2s}.startpage-complexity-indicator-dropdown{min-width:calc(210px * var(--scale-factor))}.update-banner{z-index:1000000;width:calc(100vw - 2rem);max-width:calc(480px * var(--scale-factor));--animation-transform-from:translateX(-50%) translateY(-12px) scale(.95);--animation-transform-to:translateX(-50%) translateY(0) scale(1);animation:.3s cubic-bezier(.34,1.56,.64,1) forwards fadeTransformIn;position:fixed;top:1rem;left:50%;transform:translate(-50%)translateY(-6px)}.update-banner.exiting{--animation-transform-from:translateX(-50%) translateY(0) scale(1);--animation-transform-to:translateX(-50%) translateY(-12px) scale(.95);animation:.2s cubic-bezier(.36,0,.66,-.56) forwards fadeTransformOut}.update-banner-inner{background:var(--primary);border:1px solid var(--border-color);box-shadow:var(--box-shadow);border-radius:12px;align-items:center;gap:.85rem;padding:.95rem 1rem;display:flex;position:relative}.darkmode .update-banner-inner{border-color:var(--border-color-weak)}.update-banner-icon{width:calc(32px * var(--scale-factor));height:calc(32px * var(--scale-factor));background:var(--accent);color:var(--text-color-accent);--animation-transform-from:rotate(-180deg) scale(.5);--animation-transform-to:rotate(0deg) scale(1);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) .15s fadeTransformIn;display:flex}.darkmode .update-banner-icon{color:var(--text-color-highlight)}.update-banner-content{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.update-banner-text{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-size:.925rem;font-weight:600;line-height:1.3;overflow:hidden}.update-banner-subtext{color:var(--text-color-weak);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.2;overflow:hidden}.update-banner-actions{flex-shrink:0;gap:.5rem;display:flex}.update-banner-button{background-color:var(--primary);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;white-space:nowrap;border-radius:10px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.update-banner-button:hover{background-color:var(--primary-weak-highlight)}.update-banner-button:active{transform:translateY(1px)}.update-banner-button.primary{background-color:var(--accent);border-color:var(--accent);color:var(--text-color-accent)}.darkmode .update-banner-button.primary{color:var(--text-color-highlight)}.update-banner-button.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.update-banner-close{appearance:none;background:var(--primary);border:1px solid var(--border-color);color:var(--text-color-weak);width:calc(24px * var(--scale-factor));height:calc(24px * var(--scale-factor));cursor:pointer;right:calc(-8px * var(--scale-factor));top:calc(-10px * var(--scale-factor));box-shadow:var(--box-shadow-weak);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:absolute}.darkmode .update-banner-close{border-color:var(--border-color-weak)}.update-banner-close:hover{background-color:var(--primary-weak-highlight);color:var(--text-color);transform:scale(1.05)}.update-banner-close:active{transform:scale(.95)}@media (max-width:640px){.update-banner{max-width:calc(100vw - 1.5rem)}.update-banner-inner{padding:.85rem}.update-banner-button{padding:.45rem .8rem;font-size:.8rem}.update-banner-text{font-size:.875rem}.update-banner-subtext{font-size:.75rem}.update-banner-close{display:none}}.repple-icon{border-radius:22%;flex-shrink:0;display:block}.settings-layout{width:100%;max-width:calc(1020px * var(--scale-factor));box-sizing:border-box;align-self:stretch;align-items:flex-start;gap:2.5rem;margin:0 auto;padding:4.5rem 1.5rem 2rem;display:flex}.settings-layout-sidebar{flex:0 1 calc(250px * var(--scale-factor));flex-direction:column;width:250px;min-width:200px;margin-top:1.5rem;display:flex;position:sticky;top:6rem}.settings-layout-heading{font-family:var(--small-heading-font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-color-weak);margin-bottom:.75rem;padding:0 .75rem;font-size:.8rem;font-weight:500}.settings-layout-nav{flex-direction:column;gap:2px;display:flex;position:relative}.settings-nav-highlight{background-color:var(--secondary-extra-weak);border:1px solid var(--border-color-weak);pointer-events:none;border-radius:10px;transition:transform .28s cubic-bezier(.2,0,0,1);position:absolute;top:0;left:0;right:0}.settings-nav-item{color:var(--text-color-medium);font-family:var(--small-heading-font);border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.95rem;text-decoration:none;transition:background-color .15s,color .15s,transform .1s;display:flex;position:relative}.settings-nav-item:hover{background-color:var(--secondary-extra-weak);color:var(--text-color)}.settings-nav-item.active:hover{border-color:var(--border-color-weak)}.settings-nav-item:active{transform:scale(.97)}.settings-nav-item.active{color:var(--text-color)}.settings-nav-icon{background-color:var(--secondary-weak);border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-color-medium);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-nav-item.active .settings-nav-icon{background-color:var(--secondary)}.settings-nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.settings-layout-content{flex:1 1 calc(720px * var(--scale-factor));min-width:0;max-width:calc(720px * var(--scale-factor))}@media (min-width:769px){.settings-layout-content .user-page{min-width:0;margin:0;padding:0}}.settings-layout-mobile{box-sizing:border-box;width:100%}.settings-layout .settings-page,.settings-layout .user-page,.settings-layout-mobile .settings-page,.settings-layout-mobile .user-page{--animation-transform-from:translateY(10px);--animation-transform-to:none;animation:.22s cubic-bezier(.2,0,0,1) fadeTransformIn}.settings-page{width:100%;max-width:calc(600px * var(--scale-factor));box-sizing:border-box;flex-direction:column;gap:1.85rem;margin:0 auto;padding:2rem 1.5rem;display:flex;position:relative}.settings-page-section{position:relative}.settings-page-title{font-family:var(--small-heading-font);color:var(--text-color);margin:0 0 .5rem;font-size:1.15rem;font-weight:500}.settings-page-description{color:var(--text-color-weak);margin:0 0 1.25rem;font-size:.95rem;line-height:1.4}.settings-page.embedded{max-width:none;margin:0;padding:0}@media (max-width:768px){.settings-page{gap:1.25rem;max-width:none;padding:1rem}.settings-page-section{border-radius:10px;padding:1rem}.settings-page-title{font-size:1.05rem}.settings-page-description{margin-bottom:1rem;font-size:.9rem}}.settings-list-title{font-family:var(--small-heading-font);color:var(--text-color);margin:0;font-size:1.5rem;font-weight:600}.settings-list-group{border:1px solid var(--border-color-weak);background-color:var(--primary);box-shadow:var(--box-shadow-weak);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.settings-list-row{border:none;border-bottom:1px solid var(--border-color-weak);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:1rem;padding:1.15rem 1rem;transition:background-color .15s;display:flex}.settings-list-row:last-child{border-bottom:none}.settings-list-row:hover,.settings-list-row:active{background-color:var(--secondary-extra-weak)}.settings-list-icon{background-color:var(--secondary-weak);border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-color-medium);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-list-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.settings-list-label{font-family:var(--small-heading-font);color:var(--text-color);font-size:.95rem;font-weight:500}.settings-list-description{color:var(--text-color-weak);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;line-height:1.35;overflow:hidden}.settings-list-chevron{color:var(--text-color-extra-weak);flex-shrink:0}#root{width:100%;height:100%;display:flex}:root{--scale-factor:1;--safe-area-bottom:env(safe-area-inset-bottom,0px)}@media (-webkit-min-device-pixel-ratio:1.25) and (min-resolution:120dpi){:root{--scale-factor:.95;font-size:95%}}@media (min-width:769px){html{overflow-y:scroll}}.app-container{justify-content:flex-start;align-items:stretch;width:100%;height:100%;display:flex}.content{max-width:100%;padding-left:calc(60px * var(--scale-factor));flex-wrap:wrap;flex-grow:1;justify-content:center;align-items:center;display:flex}.content>*{min-width:0}.content.transitions-enabled{transition:margin-left .28s cubic-bezier(.2,0,0,1),margin-right .28s cubic-bezier(.2,0,0,1),padding-left .28s cubic-bezier(.2,0,0,1),min-width .28s cubic-bezier(.2,0,0,1)}.content.full-bleed{padding-left:0;padding-right:0}.content.sidebar-pinned{margin-left:calc(280px * var(--scale-factor));min-width:0;padding-left:0}.content.preview-expanded{margin-right:calc(550px * var(--scale-factor));min-width:0}.content.startpage.preview-expanded{margin-right:0}.content.course-gutter{margin-right:calc(60px * var(--scale-factor))}.content.course-gutter-pinned{min-width:0;margin-right:calc(320px * var(--scale-factor))!important}@media (min-width:769px){::-webkit-scrollbar{width:var(--scrollbar-width)}::-webkit-scrollbar-track{border-radius:12px;margin-top:.2em;margin-bottom:.2em}::-webkit-scrollbar-thumb{background-color:var(--secondary);border:2px solid var(--primary);cursor:pointer;border-radius:12px;transition:background-color .3s}::-webkit-scrollbar-thumb:hover{background-color:var(--secondary-highlight)}*{scrollbar-width:thin;scrollbar-color:var(--secondary) var(--primary)}:hover{scrollbar-color:var(--secondary-highlight) var(--primary)}}.hidden{display:none}button,input,optgroup,select,textarea,svg{vertical-align:middle}.scroll-button{z-index:10;background-color:var(--primary);color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;border-radius:9999px;padding:.25rem;transition:all .3s;position:absolute;top:50%;transform:translateY(calc(-50% - .5px))}.scroll-button:hover{background-color:var(--primary-highlight)}.scroll-button.left{left:.5rem}.scroll-button.right{right:1.5rem}.explorations-remaining-container{z-index:1002;align-items:center;gap:.5rem;transition:right .3s cubic-bezier(0,0,.2,1),opacity .2s;display:flex;position:fixed;top:.5rem;right:.5rem}.explorations-remaining-cta{border:1px solid var(--border-color-weak);background-color:var(--link-highlight);color:var(--text-color);cursor:pointer;border-radius:12px;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.85rem;font-weight:600;line-height:1;transition:background-color .2s,color .2s,transform .1s,box-shadow .2s;display:inline-flex}.explorations-remaining-cta:hover{background-color:var(--link-highlight-strong);color:var(--text-color-highlight)}.explorations-remaining-cta:active{transform:translateY(1px)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(90deg, var(--secondary) 25%, var(--secondary-highlight) 50%, var(--secondary) 75%);background-size:200% 100%;animation:2.5s infinite shimmer,.5s forwards fadeIn}@media (max-width:1200px){.content{padding-left:calc(50px * var(--scale-factor))}.content.sidebar-pinned{margin-left:0;padding-left:0}.content.course-gutter-pinned{margin-right:0}}@media (max-width:768px){*{scrollbar-width:thin;scrollbar-color:var(--text-color-weak) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:var(--text-color-weak);border-radius:9999px}#root{top:var(--viewport-top,0px);height:var(--viewport-height,100dvh);position:fixed;left:0}.content{padding-left:0;padding-right:0;overflow:auto;margin-left:0!important;margin-right:0!important}.explorations-remaining-container{top:.75rem;right:1rem}:is(body:has(.path-history) .explorations-remaining-container,body:has(.path-history-toggle-container) .explorations-remaining-container){right:3.25rem}.content:has(.explorer){padding-left:0;padding-right:0}#root:has(.explorer) .explorations-remaining-container{display:none}}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--corner-stack-1:calc(20px * var(--scale-factor));--corner-stack-2:calc(70px * var(--scale-factor));--corner-stack-3:calc(120px * var(--scale-factor))}.corner-button{width:calc(40px * var(--scale-factor));height:calc(40px * var(--scale-factor));background-color:var(--primary);color:var(--text-color);cursor:pointer;box-shadow:var(--box-shadow);border:1px solid var(--border-color-weak);border-radius:50%;justify-content:center;align-items:center;transition:all .2s,transform .1s;display:flex}.corner-button:active{transform:scale(.9)}.corner-button:hover{background-color:var(--primary-highlight);box-shadow:var(--box-shadow-strong)}.corner-button.active{background-color:var(--primary-highlight)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInVert{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutVert{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes fadeTransformIn{0%{opacity:0;transform:var(--animation-transform-from)}to{opacity:1;transform:var(--animation-transform-to)}}@keyframes fadeTransformOut{0%{opacity:1;transform:var(--animation-transform-from)}to{opacity:0;transform:var(--animation-transform-to)}}.infinite-loader{justify-content:center;height:20px;margin:2rem 0 6rem;transition:opacity .3s;display:flex}.infinite-loader.hidden{opacity:0}.hover-glow{--mouse-x:50%;--mouse-y:50%}.hover-glow:after{content:"";background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), #b8860b14 0%, #b8860b0d 20%, #b8860b05 40%, transparent 70%);pointer-events:none;z-index:2;opacity:0;transition:opacity .3s;position:absolute;inset:0}.darkmode .hover-glow:after{background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), #b8860b1a 0%, #b8860b0f 20%, #b8860b05 40%, transparent 70%)}.hover-glow.hover-active:after{opacity:1}@media (max-width:768px){.hover-glow.hover-active:after{display:none}}.noise-texture{position:relative}.noise-texture:before{content:"";border-radius:inherit;filter:var(--noise-filter);opacity:var(--noise-opacity);pointer-events:none;z-index:1;background:url("data:image/svg+xml;utf8,<svg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noiseFilter\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/></filter><rect width=\"100%\" height=\"100%\" filter=\"url(%23noiseFilter)\"/></svg>");position:absolute;inset:0}@font-face{font-family:Gelica;src:url(/assets/Gelica-Light-B_vByaWd.woff2)format("woff2");font-weight:300;font-style:normal}@font-face{font-family:Gelica;src:url(/assets/Gelica-Regular-BrmpSYxP.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Gelica;src:url(/assets/Gelica-Medium-CDse_-5n.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-family:Gelica;src:url(/assets/Gelica-SemiBold-D0MwFLpQ.woff2)format("woff2");font-weight:600;font-style:normal}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizelegibility;-moz-text-size-adjust:none;text-size-adjust:none;height:100%}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}.darkmode{-webkit-font-smoothing:antialiased!important}a,button,input,select,textarea,[role=button],[onclick]{touch-action:manipulation}body{background-color:var(--bg-color);width:100%;height:100%;color:var(--text-color);place-items:center;font-family:Inter,sans-serif;display:flex}h1,h2,h3,h4{font-family:var(--heading-font);color:var(--text-color)}.tsqd-main-panel{z-index:999999!important}@media (max-width:768px){html,body{overflow:hidden}}
