:root{--nav-height: 64px;--nav-max-width: 100%}.topNavBarContainer{padding:0 2rem;height:var(--nav-height);background-color:var(--main);color:var(--font-color);border-bottom:1px solid var(--tertiary);position:relative;box-shadow:0 1px 0 var(--tertiary),0 4px 24px var(--shadow-color-light);transition:background-color .3s ease,border-color .3s ease}.topNavBarContainer--workflow{padding:0 1.2rem}.topNavBar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:var(--nav-height);max-width:var(--nav-max-width);margin:0 auto}.topNavBar--workflow{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center}.topNavBar__project-switcher{min-width:0}.topNavBar__workflow{min-width:0;overflow:hidden}.topNavBar__brand{font-family:Cormorant Garamond,Georgia,serif;font-size:1.75rem;font-weight:600;font-style:italic;color:var(--purple-color);letter-spacing:-.01em;text-decoration:none;flex-shrink:0;line-height:1;transition:opacity .2s ease;position:relative}.topNavBar__brand:after{content:".";color:var(--blue-color);font-style:normal}.topNavBar__brand:hover{opacity:.72;color:var(--purple-color)}.topNavBar__nav{display:flex;align-items:center}.topNavBar__links{display:flex;flex-direction:row;gap:.15rem;align-items:center;list-style:none;padding:0;margin:0}.topNavBar__link{background:none;border:none;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--font-color);opacity:.5;cursor:pointer;border-radius:6px;transition:opacity .2s ease,background .2s ease,color .2s ease}.topNavBar__link:hover{opacity:1;color:var(--blue-color);background:var(--main-auxiliary)}.topNavBar__actions{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-shrink:0}.topNavBar__hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .12s ease}.topNavBar__hamburger:hover{background:var(--main-auxiliary)}.topNavBar__hamburger-bar{display:block;width:22px;height:2px;background:var(--font-color);border-radius:2px}.topNavBar__items__link{font-size:.85rem;color:var(--font-color);font-family:Montserrat,sans-serif;background:none;border:none;cursor:pointer;padding:.3rem;opacity:.55;border-radius:6px;transition:opacity .2s ease,background .2s ease;display:flex;align-items:center}.topNavBar__items__link:hover{opacity:1;background:var(--main-auxiliary);text-decoration:none}.profileNavBar{border:none;background:none;padding:.25rem;font-size:1rem;cursor:pointer;color:var(--font-color);border-radius:999px;transition:opacity .2s ease,box-shadow .2s ease}.profileNavBar:hover{opacity:.78}.profileNavBar.active .profileNavBar__image{border-color:var(--purple-color);box-shadow:0 0 0 2px var(--purple-color)}.profileNavBar__image{height:34px;width:34px;border-radius:999px;object-fit:cover;border:1.5px solid var(--tertiary);display:block;transition:border-color .2s ease,box-shadow .2s ease}.profileNavBar__dropdown{position:absolute;top:calc(100% + .75rem);right:0;background-color:var(--main);border:1px solid var(--tertiary);border-radius:14px;box-shadow:0 16px 48px var(--shadow-color-light),0 2px 8px var(--shadow-color-light);z-index:1000;min-width:226px;font-size:.875rem;display:none;color:var(--font-color);overflow:hidden}.profileNavBar__dropdown.open{display:block;animation:dropdown-reveal .18s ease}@keyframes dropdown-reveal{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profileNavBar__header{display:flex;align-items:center;gap:.75rem;padding:1rem 1rem .9rem}.profileNavBar__header__avatar{width:38px;height:38px;border-radius:999px;background:var(--purple-color);color:var(--font-color-contrast);display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:700;flex-shrink:0;letter-spacing:.02em}.profileNavBar__header__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.profileNavBar__header__name{font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem;color:var(--font-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profileNavBar__header__badge{font-family:Montserrat,sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-color);background:#b873181f;padding:.1rem .35rem;border-radius:4px;align-self:flex-start}.profileNavBar__divider{height:1px;background:var(--tertiary);margin:.2rem 0}.profileNavBar__dropdown__item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.62rem 1rem;background:none;border:none;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.84rem;font-weight:500;color:var(--font-color);text-align:left;transition:background .15s ease}.profileNavBar__dropdown__item:hover{background:var(--main-auxiliary)}a.profileNavBar__dropdown__item{text-decoration:none;color:var(--font-color)}.profileNavBar__dropdown__icon{font-size:1.05rem;opacity:.5;flex-shrink:0}.profileNavBar__dropdown__toggle{justify-content:flex-start}.profileNavBar__toggle-pill{margin-left:auto;width:30px;height:17px;border-radius:999px;background:var(--tertiary);position:relative;flex-shrink:0;transition:background .22s ease}.profileNavBar__toggle-pill:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:999px;background:var(--main);transition:transform .22s ease;box-shadow:0 1px 3px #0003}.profileNavBar__toggle-pill.active{background:var(--purple-color)}.profileNavBar__toggle-pill.active:after{transform:translate(13px)}.profileNavBar__dropdown__item--logout{color:var(--red-color);opacity:.8}.profileNavBar__dropdown__item--logout:hover{opacity:1;background:var(--main-auxiliary)}.profileNavBar__dropdown__item--logout .profileNavBar__dropdown__icon{opacity:.6}.ProfileNavBar__container{position:relative;margin-left:2px}.solver-progress{margin:12px 0}.solver-progress__label{font-size:.9rem;margin-bottom:6px;color:var(--font-color)}.solver-progress__bar-track{height:10px;background:var(--main-auxiliary);border-radius:5px;overflow:hidden}.solver-progress__bar-fill{height:100%;background:var(--blue-color);border-radius:5px;transition:width .4s ease}.solver-status{padding:8px 12px;border-radius:4px;margin:8px 0;font-size:.9rem}.solver-status--success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.solver-status--error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media(max-width:700px){.topNavBar__nav{display:none}.topNavBarContainer{padding:0 1.25rem}}@media(max-width:767px){.topNavBar__hamburger{display:flex}}.navigationButton{cursor:pointer;padding:8px 12px;list-style:none;font-size:16px;color:var(--font-color);background-color:var(--main-auxiliary);border:none;border-radius:5px;transition:background-color .3s ease,color .3s ease,opacity .3s ease}.navigationButton:hover{opacity:.8}.tier-limited-button.is-tier-limited,.tier-limited-button[data-tier-limited=true]{opacity:.55;filter:grayscale(.35);cursor:not-allowed}.tier-limited-button.is-tier-limited:hover,.tier-limited-button[data-tier-limited=true]:hover{opacity:.55}.projectTitle:hover{cursor:pointer;opacity:.8}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--tertiary);box-shadow:0 0 20px var(--shadow-color-light);border-radius:12px;overflow:hidden}.table td{background-color:var(--main)}.table th,.table td{text-align:left;padding-left:5px!important;max-height:40px;overflow:hidden;border-bottom:1px solid var(--font-color)}.action-links{min-width:100px;padding:5px 8px;text-align:center}.action-links a{display:inline-flex;align-items:center;vertical-align:middle;padding:4px;border-radius:10px;corner-shape:squircle;opacity:.75;transition:background-color .3s ease,opacity .3s ease,transform .3s ease}.action-links a:hover{opacity:1;cursor:pointer;background-color:var(--main-auxiliary);transform:scale(1.1)}th{background-color:var(--main-auxiliary);border-right:1px solid var(--font-color)}thead tr:first-child th:first-child,thead tr:first-child,thead{border-top-left-radius:12px}thead tr:first-child th:last-child,thead tr:first-child,thead{border-top-right-radius:12px}tbody tr:last-child th:first-child,tbody tr:last-child,tbody{border-bottom-left-radius:12px}tbody tr:last-child td:last-child,tbody tr:last-child,tbody{border-bottom-right-radius:12px}tr{margin-bottom:5px;line-height:2em}.filter-button,.filterBar__BlueprintsRedirect,.filterBar__resetButton{cursor:pointer;display:flex;align-items:center;gap:5px;padding:11px;border-radius:5px;border:none;background-color:var(--font-color-contrast);color:var(--font-color);opacity:.7;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.filter-button:hover,.filterBar__BlueprintsRedirect:hover,.filterBar__resetButton:hover{box-shadow:0 0 4px var(--font-color)}.filter-label{margin:auto}.filterMenu__container{position:absolute;z-index:1000;right:0}.filter-bar{display:flex;gap:10px;margin-bottom:10px}.align-right{margin-left:auto;gap:10px;display:flex}.filter-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:2000;display:flex;justify-content:center;align-items:center}.filter-modal-content{background:var(--font-color-contrast);color:var(--font-color);padding:20px;border-radius:8px;width:400px;max-height:80vh;overflow-y:auto;position:relative}.filter-modal-close-btn{position:absolute;top:10px;right:10px;border:none;background:transparent;font-size:1.2em;cursor:pointer;color:var(--font-color)}.filter-modal-title{margin-top:0}.filter-modal-section{margin-bottom:20px;border-bottom:1px solid var(--main-auxiliary);padding-bottom:10px}.filter-modal-section-title{margin-bottom:10px}.filter-modal-footer{margin-top:20px;text-align:right}.filter-modal-done-btn{padding:8px 16px;cursor:pointer}.filter-input-text{width:100%;padding:5px;background-color:transparent;color:var(--font-color);border:1px solid var(--main-auxiliary);border-radius:4px}.filter-input-range-container{display:flex;flex-direction:column;gap:8px}.filter-input-range-row{display:flex;align-items:center;gap:5px}.filter-input-range-label{font-size:.9em}.filter-input-range-field{width:60px;padding:3px;background-color:transparent;color:var(--font-color);opacity:.7;border:1px solid var(--main-auxiliary);border-radius:4px}.searchBar__filter__container{display:flex;align-items:center;width:max-content;padding:11px;border-radius:22px;background-color:var(--font-color-contrast);transition:box-shadow .25s}.searchBar__filter__input{font-size:1.1em;color:var(--font-color);opacity:.7;margin-left:10px;outline:none;border:none;background:transparent;width:max-content;min-width:150px}.searchBar__filter__input::placeholder,.searchIcon{color:var(--font-color);opacity:.4}.searchBar__filter__container:focus-within{box-shadow:0 0 2px var(--font-color)}.delete-project-modal{padding:0;border:none;max-width:460px;width:100%;background:transparent;box-shadow:none}.delete-project-modal::backdrop{background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background-color .2s}.delete-project-modal.closing::backdrop{background:transparent;transition:none}.delete-project-modal__content{background:var(--main);border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000038;border:1px solid var(--tertiary);animation:dpm-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes dpm-in{0%{opacity:0;transform:scale(.93) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.delete-project-modal__header{background:var(--main-auxiliary);padding:1.1rem 1.4rem;border-bottom:1px solid var(--tertiary);display:flex;align-items:center;gap:.75rem}.delete-project-modal__icon{width:2.2rem;height:2.2rem;background:#c0432b1f;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--red-color);flex-shrink:0}.delete-project-modal__header h2{margin:0;font-size:1rem;font-weight:600;color:var(--font-color)}.delete-project-modal__body{padding:1.4rem;color:var(--font-color)}.delete-project-modal__body p{margin:0 0 .9rem;font-size:.9rem;line-height:1.55;color:var(--font-color);opacity:.85}.delete-project-modal__name-box{display:flex;align-items:center;gap:.5rem;background:var(--main-auxiliary);border:1px solid var(--tertiary);border-left:3px solid var(--red-color);border-radius:6px;padding:.6rem .9rem;margin-bottom:.9rem;font-weight:700;font-size:.95rem;color:var(--font-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.delete-project-modal__footer{padding:.9rem 1.4rem;display:flex;justify-content:flex-end;gap:.65rem;border-top:1px solid var(--tertiary);background:var(--main-auxiliary)}.delete-project-modal__cancel{padding:.45rem 1rem;background:var(--main);color:var(--font-color);border:1px solid var(--tertiary);border-radius:6px;cursor:pointer;font-size:.875rem;font-family:inherit;transition:background .15s}.delete-project-modal__cancel:hover{background:var(--tertiary)}.delete-project-modal__delete-btn{padding:.45rem 1rem;background:var(--red-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-family:inherit;font-weight:600;transition:opacity .15s;display:inline-flex;align-items:center;gap:.35rem}.delete-project-modal__delete-btn:hover:not(:disabled){opacity:.85}.delete-project-modal__delete-btn:disabled{opacity:.5;cursor:not-allowed}.action-links .icon-btn{display:inline-flex;align-items:center;vertical-align:middle;padding:4px;border-radius:10px;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.75;transition:background-color .3s ease,opacity .3s ease,transform .3s ease}.action-links .icon-btn:hover{opacity:1;background-color:var(--main-auxiliary);transform:scale(1.1)}.row--locked td{opacity:.55}.cell--locked{display:inline-flex;align-items:center;gap:.35rem}.cell--locked .lock-icon{color:var(--blue-color, #B87318);flex-shrink:0}.upgrade-cta-inline{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:var(--blue-color, #B87318);color:#fff;border:none;border-radius:6px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s}.upgrade-cta-inline:hover{background:#a06514}.assistant-trigger{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:2100;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.1rem .65rem;background:var(--purple-color, #1E3D2F);color:var(--font-color-contrast, #F4F1EB);border:none;border-radius:12px 0 0 12px;cursor:pointer;box-shadow:-4px 0 20px #12251838;transition:background .2s ease,padding .2s ease,right .35s cubic-bezier(.4,0,.2,1)}.assistant-trigger:hover{background:var(--dark-blue-color, #122518);padding-left:1rem}.assistant-trigger.is-open{right:380px;background:var(--blue-color, #B87318)}@media(max-width:600px){.assistant-trigger.is-open{right:100vw}}.assistant-trigger__icon{width:1.25rem;height:1.25rem}.assistant-trigger__label{font-family:Montserrat,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.assistant-backdrop{position:fixed;inset:0;z-index:2010;background:#12251847;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);animation:assistantBackdropIn .25s ease}@keyframes assistantBackdropIn{0%{opacity:0}to{opacity:1}}.assistant-float{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:2050;display:flex;flex-direction:column;background:var(--main, #F4F1EB);border-left:1px solid var(--tertiary, #DDDAD0);box-shadow:-10px 0 40px #1225182e;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.assistant-float.is-open{transform:translate(0)}@media(max-width:600px){.assistant-float{width:100vw}}.assistant-rail-shell{position:sticky;top:88px}.assistant-rail-peek{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;border:1px solid color-mix(in srgb,var(--font-color) 8%,transparent);border-radius:999px;background:var(--white-color);color:var(--font-color);font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:700;box-shadow:0 10px 24px color-mix(in srgb,var(--dark-blue-color) 8%,transparent);cursor:pointer}.assistant-float--rail{position:relative;inset:auto;width:100%;max-width:100%;min-height:min(78vh,920px);border:1px solid var(--tertiary);border-radius:24px;box-shadow:0 18px 36px color-mix(in srgb,var(--dark-blue-color) 14%,transparent);transform:none}.assistant-float--rail:not(.is-open){display:none}.assistant-float--rail .assistant-float__close{background:color-mix(in srgb,white 14%,transparent)}@media(max-width:1180px){.assistant-rail-shell{position:static}.assistant-float--rail{min-height:560px}}.assistant-float__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.2rem 1.25rem 1rem;background:var(--purple-color, #1E3D2F);border-bottom:1px solid rgba(255,255,255,.07)}.assistant-float__title-group{display:flex;flex-direction:column;gap:.1rem}.assistant-float__eyebrow{margin:0;font-family:Montserrat,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--blue-color, #B87318)}.assistant-float__title{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem;font-weight:600;letter-spacing:-.01em;color:var(--font-color-contrast, #F4F1EB);line-height:1.1}.assistant-float__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:8px;cursor:pointer;color:#f4f1ebbf;transition:all .15s ease}.assistant-float__close:hover{background:#ffffff2e;color:var(--font-color-contrast, #F4F1EB)}.assistant-float__close .material-symbols-outlined{font-size:1.1rem}.assistant-sessions{flex:0 0 auto;display:flex;align-items:center;gap:.55rem;padding:.75rem 1rem;border-bottom:1px solid var(--tertiary, #DDDAD0);background:var(--main, #F4F1EB)}.assistant-sessions__select{min-width:0;flex:1 1 auto;min-height:38px;padding:0 2rem 0 .75rem;border:1px solid var(--tertiary, #DDDAD0);border-radius:8px;background:var(--white-color, #FAFAF7);color:var(--font-color, #18201B);font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600}.assistant-sessions__new{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--blue-color) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--blue-color) 12%,var(--main));color:var(--blue-color, #B87318);cursor:pointer;transition:background .15s ease,transform .15s ease}.assistant-sessions__rename{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--tertiary, #DDDAD0);border-radius:8px;background:var(--white-color, #FAFAF7);color:var(--font-color, #18201B);cursor:pointer;transition:background .15s ease,transform .15s ease,border-color .15s ease}.assistant-sessions__new:hover:not(:disabled){background:color-mix(in srgb,var(--blue-color) 20%,var(--main));transform:translateY(-1px)}.assistant-sessions__rename:hover:not(:disabled){background:color-mix(in srgb,var(--blue-color) 9%,var(--white-color));border-color:color-mix(in srgb,var(--blue-color) 35%,var(--tertiary));transform:translateY(-1px)}.assistant-sessions__new:disabled,.assistant-sessions__rename:disabled,.assistant-sessions__select:disabled{opacity:.55;cursor:not-allowed}.assistant-rename-modal{position:fixed;inset:0;z-index:2300;display:grid;place-items:center;padding:1rem;background:#12251859;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.assistant-rename-modal__dialog{width:min(420px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--tertiary) 80%,transparent);border-radius:8px;background:var(--main, #F4F1EB);box-shadow:0 20px 54px #12251840}.assistant-rename-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:var(--purple-color, #1E3D2F);color:var(--font-color-contrast, #F4F1EB)}.assistant-rename-modal__header h3{margin:0;font-family:Montserrat,sans-serif;font-size:.98rem;font-weight:700}.assistant-rename-modal__close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:#ffffff1f;color:inherit;cursor:pointer}.assistant-rename-modal__close:hover:not(:disabled){background:#fff3}.assistant-rename-modal__close:disabled{opacity:.55;cursor:not-allowed}.assistant-rename-modal__body{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem .75rem}.assistant-rename-modal__body label{font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:700;color:var(--font-color, #18201B)}.assistant-rename-modal__body input{width:100%;min-height:42px;padding:0 .8rem;border:1px solid var(--tertiary, #DDDAD0);border-radius:8px;background:var(--white-color, #FAFAF7);color:var(--font-color, #18201B);font-family:Montserrat,sans-serif;font-size:.9rem}.assistant-rename-modal__body input:focus{outline:2px solid color-mix(in srgb,var(--blue-color) 35%,transparent);outline-offset:2px}.assistant-rename-modal__count{align-self:flex-end;font-family:Montserrat,sans-serif;font-size:.72rem;color:color-mix(in srgb,var(--font-color) 62%,transparent)}.assistant-rename-modal__footer{display:flex;justify-content:flex-end;gap:.65rem;padding:.85rem 1.1rem 1.1rem}.assistant-rename-modal__cancel,.assistant-rename-modal__save{min-height:38px;padding:0 .95rem;border-radius:8px;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer}.assistant-rename-modal__cancel{border:1px solid var(--tertiary, #DDDAD0);background:transparent;color:var(--font-color, #18201B)}.assistant-rename-modal__save{border:1px solid var(--blue-color, #B87318);background:var(--blue-color, #B87318);color:#fff}.assistant-rename-modal__cancel:hover:not(:disabled){background:color-mix(in srgb,var(--font-color) 5%,transparent)}.assistant-rename-modal__save:hover:not(:disabled){background:#a06514}.assistant-rename-modal__cancel:disabled,.assistant-rename-modal__save:disabled{opacity:.55;cursor:not-allowed}.assistant-float__body{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column}.assistant-feed-scroll{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column}.assistant-feed-scroll::-webkit-scrollbar{width:4px}.assistant-feed-scroll::-webkit-scrollbar-track{background:transparent}.assistant-feed-scroll::-webkit-scrollbar-thumb{background:var(--tertiary, #DDDAD0);border-radius:2px}.assistant-error{margin:.75rem 1rem 0;padding:.6rem .85rem;border-radius:8px;background:#c0432b1a;border:1px solid rgba(192,67,43,.2);color:#b22d2d;font-family:Montserrat,sans-serif;font-size:.82rem}.assistant-feed{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.assistant-msg{padding:.65rem .85rem;border-radius:14px;font-family:Montserrat,sans-serif;font-size:.83rem;line-height:1.55;max-width:90%}.assistant-msg--user{align-self:flex-end;background:var(--purple-color, #1E3D2F);color:var(--font-color-contrast, #F4F1EB);border-bottom-right-radius:4px}.assistant-msg--assistant{align-self:flex-start;background:var(--main-auxiliary, #E8E3D8);color:var(--font-color, #18201B);border:1px solid var(--tertiary, #DDDAD0);border-bottom-left-radius:4px}.assistant-msg__role{display:block;margin-bottom:.2rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.6}.assistant-msg p{margin:0}.assistant-msg__markdown>*:first-child{margin-top:0}.assistant-msg__markdown>*:last-child{margin-bottom:0}.assistant-msg__markdown p,.assistant-msg__markdown ul,.assistant-msg__markdown ol,.assistant-msg__markdown pre,.assistant-msg__markdown blockquote{margin:.45rem 0 0}.assistant-msg__markdown h1,.assistant-msg__markdown h2,.assistant-msg__markdown h3,.assistant-msg__markdown h4,.assistant-msg__markdown h5,.assistant-msg__markdown h6{margin:.55rem 0 0;line-height:1.25;font-weight:700}.assistant-msg__markdown h1,.assistant-msg__markdown h2{font-size:.98rem}.assistant-msg__markdown h3,.assistant-msg__markdown h4,.assistant-msg__markdown h5,.assistant-msg__markdown h6{font-size:.88rem}.assistant-msg__markdown ul,.assistant-msg__markdown ol{padding-left:1.2rem}.assistant-msg__markdown li+li{margin-top:.2rem}.assistant-msg__markdown a{color:inherit;text-decoration:underline;text-underline-offset:.12em}.assistant-msg__markdown code{padding:.1rem .28rem;border-radius:6px;background:#18201b14;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem}.assistant-msg__markdown pre{overflow-x:auto;padding:.75rem .85rem;border-radius:10px;background:#18201b14}.assistant-msg__markdown pre code{display:block;padding:0;background:transparent;white-space:pre}.assistant-msg__markdown blockquote{padding-left:.8rem;border-left:3px solid rgba(24,32,27,.22);opacity:.92}.assistant-empty{font-family:Montserrat,sans-serif;font-size:.8rem;color:#9e9189;font-style:italic}.assistant-empty--feed{margin:.5rem 0 0}.assistant-session-tip{flex:0 0 auto;display:flex;align-items:center;gap:.65rem;margin:.75rem 1rem 0;padding:.65rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--blue-color) 10%,var(--white-color, #FAFAF7));border:1px solid color-mix(in srgb,var(--blue-color) 22%,transparent);color:var(--font-color, #18201B);font-family:Montserrat,sans-serif;font-size:.76rem;line-height:1.45}.assistant-session-tip span{flex:1 1 auto}.assistant-session-tip button{flex:0 0 auto;padding:.35rem .55rem;border:none;border-radius:7px;background:var(--purple-color, #1E3D2F);color:var(--font-color-contrast, #F4F1EB);font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer}.assistant-session-tip button:disabled{opacity:.55;cursor:not-allowed}.assistant-card{padding:.85rem .95rem;border-radius:12px;background:linear-gradient(180deg,#ffffff73,#fff0),var(--main-auxiliary, #E8E3D8);border:1px solid var(--tertiary, #DDDAD0);font-family:Montserrat,sans-serif;font-size:.82rem;color:var(--font-color, #18201B);box-shadow:0 10px 24px #1225180f}.assistant-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.assistant-card__label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-color, #B87318)}.assistant-card__status{flex:0 0 auto;padding:.18rem .48rem;border-radius:999px;background:#1e3d2f1a;color:var(--purple-color, #1E3D2F);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.assistant-card__summary{margin:0;line-height:1.55}.assistant-card__actions-list{margin:.6rem 0 0;padding-left:1.1rem;color:#756d65;font-size:.79rem;line-height:1.6}.assistant-card__buttons{display:flex;gap:.5rem;margin-top:.75rem}.assistant-card--changeset{border-left:3px solid rgba(184,115,24,.7)}.assistant-card--import{border-left:3px solid rgba(30,61,47,.5)}.assistant-error--inline{margin:.75rem 0 0}.assistant-composer{flex:0 0 auto;display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1rem 1rem;border-top:1px solid var(--tertiary, #DDDAD0);background:var(--main, #F4F1EB)}.assistant-composer__toolbar{display:flex;align-items:center;justify-content:flex-start}.assistant-composer__upload{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .72rem;border:1px dashed rgba(184,115,24,.45);border-radius:999px;background:#b873180f;color:var(--font-color, #18201B);font-family:Montserrat,sans-serif;font-size:.74rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.assistant-composer__upload:hover:not(:disabled){background:#b873181c;border-color:var(--blue-color, #B87318);transform:translateY(-1px)}.assistant-composer__upload:disabled{opacity:.55;cursor:not-allowed;transform:none}.assistant-composer__upload .material-symbols-outlined{font-size:.95rem;color:var(--blue-color, #B87318)}.assistant-composer textarea{width:100%;box-sizing:border-box;min-height:76px;max-height:150px;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--tertiary, #DDDAD0);background:var(--white-color, #FAFAF7);font-family:Montserrat,sans-serif;font-size:.83rem;line-height:1.5;color:var(--font-color, #18201B);resize:vertical;transition:border-color .15s,box-shadow .15s}.assistant-composer textarea::placeholder{color:#9e9189}.assistant-composer textarea:focus{outline:none;border-color:var(--purple-color, #1E3D2F);box-shadow:0 0 0 2.5px #1e3d2f1f}.assistant-composer__send{align-self:flex-end;display:flex;align-items:center;gap:.4rem;padding:.5rem 1.05rem;background:var(--purple-color, #1E3D2F);color:var(--font-color-contrast, #F4F1EB);border:none;border-radius:8px;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .18s,transform .15s}.assistant-composer__send:hover:not(:disabled){background:var(--dark-blue-color, #122518);transform:translateY(-1px)}.assistant-composer__send:disabled{opacity:.45;cursor:not-allowed;transform:none}.assistant-composer__send .material-symbols-outlined{font-size:.95rem}.assistant-composer__hint{margin:0;font-family:Montserrat,sans-serif;font-size:.66rem;color:#9e9189;align-self:flex-end}.assistant-btn{flex:1;padding:.45rem .7rem;border:none;border-radius:7px;font-family:Montserrat,sans-serif;font-size:.76rem;font-weight:600;cursor:pointer;transition:background .15s,transform .12s}.assistant-btn:hover:not(:disabled){transform:translateY(-1px)}.assistant-btn--apply{background:var(--green-color, #3A7048);color:#fff}.assistant-btn--apply:hover:not(:disabled){background:#2d5938}.assistant-btn--discard{background:#c0432b1a;color:var(--red-color, #C0432B);border:1px solid rgba(192,67,43,.22)}.assistant-btn--discard:hover:not(:disabled){background:#c0432b2e}.assistant-import__name{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--font-color, #18201B);margin-bottom:.25rem}.assistant-import__name .material-symbols-outlined{font-size:1rem;color:var(--blue-color, #B87318)}.assistant-float__counter{display:inline-block;margin-top:.15rem;padding:.15rem .55rem;border-radius:999px;background:#1e3d2f1a;font-family:Montserrat,sans-serif;font-size:.64rem;font-weight:700;color:var(--purple-color, #1E3D2F)}.assistant-float__counter--depleted{background:#c0432b1f;color:var(--red-color, #C0432B)}.assistant-limit-banner{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#b8731814;border-top:1px solid rgba(184,115,24,.2);font-family:Montserrat,sans-serif;font-size:.78rem;color:var(--font-color, #18201B)}.assistant-limit-banner__cta{margin-left:auto;padding:.3rem .7rem;background:var(--blue-color, #B87318);color:#fff;border:none;border-radius:6px;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.assistant-limit-banner__cta:hover{background:#a06514}@keyframes l20-a{0%,to{cx:60;r:20}40%,60%{cx:100;r:22}}@keyframes l20-b{0%,to{cx:140;r:20}40%,60%{cx:100;r:22}}@keyframes l20-c{0%,to{transform:scale(0)}40%,60%{transform:scale(1)}}@keyframes thinkingBarIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.assistant-thinking-bar{flex:0 0 auto;display:flex;align-items:center;gap:.55rem;padding:.55rem 1.1rem .8rem;background:linear-gradient(to bottom,transparent 0%,var(--main, #F4F1EB) 38%);animation:thinkingBarIn .28s cubic-bezier(.34,1.3,.64,1)}.assistant-thinking__svg{flex:0 0 auto;color:#1e3d2f}.assistant-thinking__svg circle{fill:currentColor}.assistant-thinking__svg .a{animation:l20-a 2.2s ease-in-out infinite}.assistant-thinking__svg .b{animation:l20-b 2.2s ease-in-out infinite}.assistant-thinking__svg .c{transform-origin:100px 100px;animation:l20-c 2.2s ease-in-out infinite}.assistant-thinking__label{font-family:Montserrat,sans-serif;font-size:.8rem;font-style:italic;color:var(--font-color, #18201B);opacity:.72}body.dark-mode .assistant-thinking-bar{background:linear-gradient(to bottom,transparent 0%,var(--main, #131110) 38%)}body.dark-mode .assistant-thinking__svg{color:#4e7d67}body.dark-mode .assistant-float{background:var(--main, #131110);border-left-color:var(--tertiary, #2C2926)}body.dark-mode .assistant-feed-scroll::-webkit-scrollbar-thumb{background:var(--tertiary, #2C2926)}body.dark-mode .assistant-msg--user{background:var(--purple-color, #4E7D67)}body.dark-mode .assistant-msg--assistant{background:var(--main-auxiliary, #1B1916);border-color:var(--tertiary, #2C2926);color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-composer{background:var(--main, #131110);border-top-color:var(--tertiary, #2C2926)}body.dark-mode .assistant-sessions{background:var(--main, #131110);border-bottom-color:var(--tertiary, #2C2926)}body.dark-mode .assistant-sessions__select,body.dark-mode .assistant-sessions__rename{background:var(--white-color, #211E1B);border-color:var(--tertiary, #2C2926);color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-rename-modal__dialog{background:var(--main, #131110);border-color:var(--tertiary, #2C2926)}body.dark-mode .assistant-rename-modal__body label,body.dark-mode .assistant-rename-modal__cancel{color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-rename-modal__body input{background:var(--white-color, #211E1B);border-color:var(--tertiary, #2C2926);color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-rename-modal__cancel{border-color:var(--tertiary, #2C2926)}body.dark-mode .assistant-session-tip{background:color-mix(in srgb,var(--blue-color) 14%,var(--main));color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-composer textarea{background:var(--white-color, #211E1B);border-color:var(--tertiary, #2C2926);color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-card{background:var(--main-auxiliary, #1B1916);border-color:var(--tertiary, #2C2926);color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-card__status{background:#f4f1eb14;color:var(--font-color, #E5DDD4)}body.dark-mode .assistant-backdrop{background:#00000080}body.dark-mode .assistant-composer__upload{border-color:#d4921c59;background:#d4921c14;color:var(--font-color, #E5DDD4)}.editor-shell{display:block}.editor-shell__main{width:100%}@property --ob-bv-0{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-1{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-2{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-3{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-4{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-5{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-6{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-7{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-8{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-9{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-10{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-11{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-12{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-13{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-14{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-15{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-16{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-17{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-18{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-19{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --ob-bv-20{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@keyframes ob-step-in-right{0%{opacity:0;transform:translate(52px)}to{opacity:1;transform:translate(0)}}@keyframes ob-step-in-left{0%{opacity:0;transform:translate(-52px)}to{opacity:1;transform:translate(0)}}@keyframes ob-panel-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ob-hero-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ob-card-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes ob-ribbon-pin{0%{opacity:0;transform:translateY(-6px) rotate(-1.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes ob-dingbat-bloom{0%{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes ob-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ob-halo-pulse{0%{box-shadow:0 0 #c87e2b73,0 22px 58px #16372a14}50%{box-shadow:0 0 0 18px #c87e2b14,0 22px 58px #16372a14}to{box-shadow:0 0 0 28px #c87e2b00,0 22px 58px #16372a14}}@keyframes ob-spotlight-pulse{0%,to{box-shadow:0 0 0 9999px #080f0b57,0 0 0 3px #c87e2b8c}50%{box-shadow:0 0 0 9999px #080f0b57,0 0 0 5px #c87e2be6}}:root{--ob-bg: #f5efdf;--ob-panel: rgba(255, 250, 239, .94);--ob-ink: #16372a;--ob-muted: #52645c;--ob-accent: #c87e2b;--ob-line: rgba(22, 55, 42, .12);--ob-green-deep: #16372a;--ob-green-mid: #1e4535;--ob-btn-ease: cubic-bezier(.25, .1, .25, 1)}body.dark-mode{--ob-bg: #1b1916;--ob-panel: rgba(33, 30, 27, .95);--ob-ink: #e5ddd4;--ob-muted: #9e9189;--ob-accent: #d4921c;--ob-line: rgba(229, 221, 212, .1);--ob-green-deep: #4e7d67;--ob-green-mid: #3d6455}.ob-page{min-height:calc(100vh - 8rem);padding:2.5rem 1rem 5rem;background:radial-gradient(ellipse at top left,rgba(200,126,43,.13) 0%,transparent 38rem),radial-gradient(ellipse at bottom right,rgba(28,80,59,.14) 0%,transparent 40rem),linear-gradient(170deg,#fdfaf2 0%,var(--ob-bg) 100%)}body.dark-mode .ob-page{background:radial-gradient(ellipse at top left,rgba(212,146,28,.07) 0%,transparent 38rem),radial-gradient(ellipse at bottom right,rgba(78,125,103,.08) 0%,transparent 40rem),linear-gradient(170deg,#1b1916,#131110)}.ob-shell{max-width:1120px;margin:0 auto;color:var(--ob-ink)}.ob-shell--narrow{max-width:780px}.ob-hero{margin-bottom:2.4rem;animation:ob-hero-fade .55s cubic-bezier(.22,.61,.36,1) both}.ob-hero--quiz{margin-bottom:1.8rem}.ob-eyebrow{margin:0 0 .6rem;font-size:.73rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ob-accent)}.ob-landing-h1,.ob-hero h1{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:.96;letter-spacing:-.01em}.ob-hero__sub{max-width:54rem;margin:1rem 0 0;font-size:1.04rem;line-height:1.72;color:var(--ob-muted)}.ob-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;align-items:start}.ob-card{position:relative;padding:2.4rem 2.2rem 2rem;border:1px solid var(--ob-line);border-radius:28px;background:var(--ob-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 64px #16372a14;overflow:hidden;animation:ob-card-rise .6s .1s cubic-bezier(.22,.61,.36,1) both;transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s cubic-bezier(.22,.61,.36,1)}.ob-card:hover{transform:translateY(-5px);box-shadow:0 36px 80px #16372a21}.ob-card--recommended:hover{box-shadow:0 36px 80px #16372a47}.ob-card__num{display:block;font-family:Cormorant Garamond,serif;font-size:clamp(5rem,8vw,7.5rem);font-weight:700;font-style:italic;line-height:1;margin:0 0 .8rem;-webkit-user-select:none;user-select:none;letter-spacing:-.03em}.ob-card--plain .ob-card__num{color:var(--ob-green-deep);opacity:.12}.ob-card--recommended .ob-card__num{color:transparent;-webkit-text-stroke:1.5px rgba(245,216,142,.55);text-stroke:1.5px rgba(245,216,142,.55)}.ob-card__num-rule{display:block;width:2.4rem;height:1px;background:currentColor;opacity:.22;margin:0 0 1.2rem}.ob-card--recommended{background:linear-gradient(145deg,#16372a,#1c4b38);color:#f0e9d8;border-color:#f4dca82e;animation-delay:.22s;padding-bottom:2.4rem}body.dark-mode .ob-card--recommended{background:linear-gradient(145deg,#1e4535,#255944);border-color:#d4921c33}.ob-card__eyebrow{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;opacity:.55}.ob-card h2{margin:0 0 .75rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.7rem,2.8vw,2.2rem);line-height:1.1}.ob-card p{line-height:1.65;font-size:.95rem}.ob-card__outcome{margin:.7rem 0 0;line-height:1.6;color:var(--ob-muted);font-size:.93rem}.ob-card__micro-stat{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.2rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--ob-line);font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--ob-green-deep);background:#16372a0d}.ob-card__micro-stat:before{content:"✦";font-size:.6rem;color:var(--ob-accent)}body.dark-mode .ob-card__micro-stat{background:#4e7d671a;border-color:#e5ddd41a;color:#8ab8a0}.ob-card__hours-teaser{display:block;margin:.6rem 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,3vw,2rem);font-style:italic;font-weight:600;color:#f5d88e;line-height:1;letter-spacing:-.01em;opacity:.9}.ob-card__foot{margin-top:1.8rem}.ob-card__dingbat{position:absolute;bottom:1.2rem;right:1.4rem;font-size:.9rem;color:var(--ob-accent);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;animation:ob-dingbat-bloom .5s .6s cubic-bezier(.34,1.56,.64,1) both}.ob-pill{position:absolute;top:0;right:1.8rem;display:inline-flex;flex-direction:column;align-items:center;padding:.45rem .75rem .35rem;background:#f5efe1;color:var(--ob-green-deep, #16372a);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #16372a2e;animation:ob-ribbon-pin .4s .35s cubic-bezier(.34,1.56,.64,1) both}.ob-pill:after{content:"";display:block;width:100%;height:2px;background:var(--ob-accent);border-radius:0 0 2px 2px;margin-top:.3rem}.ob-tier{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.ob-tier--basic{background:#c87e2b21;color:#9c5f1d}.ob-tier--professional{background:#16372a1c;color:#1f4f3b}.ob-tier--premium{background:#16372a;color:#f5efe1}body.dark-mode .ob-tier--basic{background:#d4921c2e;color:#d4921c}body.dark-mode .ob-tier--professional{background:#4e7d6733;color:#8ab8a0}body.dark-mode .ob-tier--premium{background:#4e7d67;color:#e5ddd4}.ob-reason-list{margin:1rem 0 0;padding-left:1.15rem}.ob-reason-list li+li{margin-top:.4rem}.ob-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.82rem 1.5rem;border:2px solid rgba(22,55,42,.18);border-radius:999px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;background:var(--ob-green-deep);color:#f7f2e9;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.ob-button:before{content:"";display:none;position:absolute;inset:0;border-radius:inherit;z-index:-1}.ob-button:hover:not(:disabled){background:#1e4535;border-color:#16372a47;box-shadow:0 7px 18px #16372a24;color:#fffaf0;transform:translateY(-1px)}.ob-button:active:not(:disabled){box-shadow:0 3px 10px #16372a1f;transform:translateY(0)}.ob-button:disabled{opacity:.5;cursor:default}.ob-button--ghost{background:#ffffffb8;color:var(--ob-ink);border-color:var(--ob-line);box-shadow:none}.ob-button--ghost:before{display:none}.ob-button--ghost:hover:not(:disabled){background:#16372a12;border-color:#16372a47;box-shadow:0 7px 18px #16372a14;color:var(--ob-green-deep)}body.dark-mode .ob-button--ghost{background:#2b2622cc;color:var(--ob-ink);border-color:#e5ddd424}body.dark-mode .ob-button--ghost:hover:not(:disabled){background:#4e7d6729;border-color:#4e7d6761;color:#e5ddd4}.ob-button--bright{background:linear-gradient(135deg,#b87318,var(--ob-accent));color:#fff8ee;border-color:#b8731838}.ob-button--bright:before{display:none}.ob-button--bright:hover:not(:disabled){background:linear-gradient(135deg,#c07a22,#d4921c);border-color:#b8731857;box-shadow:0 7px 18px #b8731829;color:#fffaf0}body.dark-mode .ob-button--bright:hover:not(:disabled){border-color:var(--ob-accent)}.ob-button--bell:before{display:block;background:var(--ob-green-deep);--ob-bv-0: 0%;--ob-bv-1: 0%;--ob-bv-2: 0%;--ob-bv-3: 0%;--ob-bv-4: 0%;--ob-bv-5: 0%;--ob-bv-6: 0%;--ob-bv-7: 0%;--ob-bv-8: 0%;--ob-bv-9: 0%;--ob-bv-10: 0%;--ob-bv-11: 0%;--ob-bv-12: 0%;--ob-bv-13: 0%;--ob-bv-14: 0%;--ob-bv-15: 0%;--ob-bv-16: 0%;--ob-bv-17: 0%;--ob-bv-18: 0%;--ob-bv-19: 0%;--ob-bv-20: 0%;clip-path:polygon(0% 0%,100% 0%,100% var(--ob-bv-20),95% var(--ob-bv-19),90% var(--ob-bv-18),85% var(--ob-bv-17),80% var(--ob-bv-16),75% var(--ob-bv-15),70% var(--ob-bv-14),65% var(--ob-bv-13),60% var(--ob-bv-12),55% var(--ob-bv-11),50% var(--ob-bv-10),45% var(--ob-bv-9),40% var(--ob-bv-8),35% var(--ob-bv-7),30% var(--ob-bv-6),25% var(--ob-bv-5),20% var(--ob-bv-4),15% var(--ob-bv-3),10% var(--ob-bv-2),5% var(--ob-bv-1),0% var(--ob-bv-0));transition:--ob-bv-0 .3s var(--ob-btn-ease) 0ms,--ob-bv-1 .3s var(--ob-btn-ease) 0ms,--ob-bv-2 .3s var(--ob-btn-ease) 0ms,--ob-bv-3 .3s var(--ob-btn-ease) 0ms,--ob-bv-4 .3s var(--ob-btn-ease) 0ms,--ob-bv-5 .3s var(--ob-btn-ease) 0ms,--ob-bv-6 .3s var(--ob-btn-ease) 0ms,--ob-bv-7 .3s var(--ob-btn-ease) 0ms,--ob-bv-8 .3s var(--ob-btn-ease) 0ms,--ob-bv-9 .3s var(--ob-btn-ease) 0ms,--ob-bv-10 .3s var(--ob-btn-ease) 0ms,--ob-bv-11 .3s var(--ob-btn-ease) 0ms,--ob-bv-12 .3s var(--ob-btn-ease) 0ms,--ob-bv-13 .3s var(--ob-btn-ease) 0ms,--ob-bv-14 .3s var(--ob-btn-ease) 0ms,--ob-bv-15 .3s var(--ob-btn-ease) 0ms,--ob-bv-16 .3s var(--ob-btn-ease) 0ms,--ob-bv-17 .3s var(--ob-btn-ease) 0ms,--ob-bv-18 .3s var(--ob-btn-ease) 0ms,--ob-bv-19 .3s var(--ob-btn-ease) 0ms,--ob-bv-20 .3s var(--ob-btn-ease) 0ms}.ob-button--bell:hover:not(:disabled){border-color:var(--ob-green-deep);color:#f7f2e9}.ob-button--bell:hover:not(:disabled):before{--ob-bv-0: 100%;--ob-bv-1: 100%;--ob-bv-2: 100%;--ob-bv-3: 100%;--ob-bv-4: 100%;--ob-bv-5: 100%;--ob-bv-6: 100%;--ob-bv-7: 100%;--ob-bv-8: 100%;--ob-bv-9: 100%;--ob-bv-10: 100%;--ob-bv-11: 100%;--ob-bv-12: 100%;--ob-bv-13: 100%;--ob-bv-14: 100%;--ob-bv-15: 100%;--ob-bv-16: 100%;--ob-bv-17: 100%;--ob-bv-18: 100%;--ob-bv-19: 100%;--ob-bv-20: 100%;transition:--ob-bv-10 .3s var(--ob-btn-ease) 0ms,--ob-bv-9 .3s var(--ob-btn-ease) 15ms,--ob-bv-11 .3s var(--ob-btn-ease) 15ms,--ob-bv-8 .3s var(--ob-btn-ease) 30ms,--ob-bv-12 .3s var(--ob-btn-ease) 30ms,--ob-bv-7 .3s var(--ob-btn-ease) 60ms,--ob-bv-13 .3s var(--ob-btn-ease) 60ms,--ob-bv-6 .3s var(--ob-btn-ease) 90ms,--ob-bv-14 .3s var(--ob-btn-ease) 90ms,--ob-bv-5 .3s var(--ob-btn-ease) .12s,--ob-bv-15 .3s var(--ob-btn-ease) .12s,--ob-bv-4 .3s var(--ob-btn-ease) .15s,--ob-bv-16 .3s var(--ob-btn-ease) .15s,--ob-bv-3 .3s var(--ob-btn-ease) 167ms,--ob-bv-17 .3s var(--ob-btn-ease) 167ms,--ob-bv-2 .3s var(--ob-btn-ease) 184ms,--ob-bv-18 .3s var(--ob-btn-ease) 184ms,--ob-bv-1 .3s var(--ob-btn-ease) 192ms,--ob-bv-19 .3s var(--ob-btn-ease) 192ms,--ob-bv-0 .3s var(--ob-btn-ease) .2s,--ob-bv-20 .3s var(--ob-btn-ease) .2s}.ob-button--cream{color:#16372a;border-color:#f5efdf99;background:#f5efe1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.ob-button--cream:before{display:none}.ob-button--cream:hover:not(:disabled){background:#fdfaf2;border-color:#f5efdfe6;transform:translateY(-2px);box-shadow:0 8px 24px #16372a38,0 0 0 3px #f5efdf2e;color:#16372a;text-decoration:underline;text-decoration-color:var(--ob-accent);text-underline-offset:3px;text-decoration-thickness:1.5px}.ob-button--cream:active:not(:disabled){transform:translateY(0)}body.dark-mode .ob-button--cream{color:#1e4535;background:#f0e9d8;border-color:#f0e9d88c}body.dark-mode .ob-button--cream:hover:not(:disabled){background:#f7f2e5;border-color:#f0e9d8d9;color:#1e4535}.ob-page--quiz{padding-top:2rem}.ob-wizard{position:relative}.ob-wizard__step{background:var(--ob-panel);border:1px solid var(--ob-line);border-radius:32px;padding:2.8rem 2.8rem 2.4rem;box-shadow:0 28px 70px #16372a1a;overflow:hidden;animation:ob-step-in-right .45s cubic-bezier(.22,.61,.36,1) both}body.dark-mode .ob-wizard__step{box-shadow:0 28px 70px #00000047}.ob-wizard__step--back{animation-name:ob-step-in-left}.ob-wizard__track{height:3px;background:#16372a1a;border-radius:999px;margin-bottom:2rem;overflow:hidden}body.dark-mode .ob-wizard__track{background:#e5ddd41a}.ob-wizard__fill{height:100%;background:linear-gradient(90deg,#1e4535,var(--ob-accent));border-radius:999px;transition:width .4s cubic-bezier(.22,.61,.36,1)}.ob-step-counter{margin:0 0 1.4rem;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ob-accent)}.ob-step-counter__sep,.ob-step-counter__tot{opacity:.45}.ob-step-question{margin:0 0 2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;line-height:1.15;color:var(--ob-ink)}.ob-step-input-wrap{margin-bottom:2.4rem}.ob-text-input{width:100%;padding:1rem 1.25rem;border-radius:18px;border:2px solid var(--ob-line);background:#fffc;font:inherit;font-size:1.15rem;color:var(--ob-ink);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}body.dark-mode .ob-text-input{background:#2b2622e6;border-color:#e5ddd424;color:var(--ob-ink)}.ob-text-input:focus{outline:none;border-color:var(--ob-green-deep);box-shadow:0 0 0 4px #16372a14}body.dark-mode .ob-text-input:focus{box-shadow:0 0 0 4px #4e7d6726}.ob-num-stepper{display:flex;align-items:center;gap:1rem;justify-content:flex-start}.ob-num-btn{width:3rem;height:3rem;border-radius:50%;border:2px solid var(--ob-line);background:#fffc;color:var(--ob-ink);font-size:1.5rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .15s ease,border-color .2s ease,color .2s ease;flex-shrink:0}body.dark-mode .ob-num-btn{background:#2b2622cc;border-color:#e5ddd424}.ob-num-btn:hover:not(:disabled){background:var(--ob-green-deep);color:#f7f2e9;border-color:var(--ob-green-deep);transform:scale(1.06)}.ob-num-btn:disabled{opacity:.3;cursor:default}.ob-num-display{width:7rem;text-align:center;border-radius:18px;border:2px solid var(--ob-line);background:#fffc;font:inherit;font-size:1.75rem;font-weight:700;color:var(--ob-ink);padding:.6rem .5rem;transition:border-color .2s ease;-moz-appearance:textfield}.ob-num-display::-webkit-inner-spin-button,.ob-num-display::-webkit-outer-spin-button{-webkit-appearance:none}.ob-num-display:focus{outline:none;border-color:var(--ob-green-deep);box-shadow:0 0 0 4px #16372a14}body.dark-mode .ob-num-display{background:#2b2622e6;border-color:#e5ddd424;color:var(--ob-ink)}body.dark-mode .ob-num-display:focus{box-shadow:0 0 0 4px #4e7d6726}.ob-yn-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ob-yn-tile{padding:1.8rem 1rem;border-radius:22px;border:2px solid var(--ob-line);background:#ffffffbf;cursor:pointer;transition:all .22s ease;text-align:center}body.dark-mode .ob-yn-tile{background:#2b2622cc;border-color:#e5ddd41a}.ob-yn-tile:hover{border-color:#16372a4d;background:#fffffff2}body.dark-mode .ob-yn-tile:hover{background:#37302be6;border-color:#e5ddd438}.ob-yn-tile.is-active{background:var(--ob-green-deep);border-color:var(--ob-green-deep);color:#f0e9d8;box-shadow:0 8px 24px #16372a38}.ob-yn-tile__label{display:block;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;line-height:1;pointer-events:none}.ob-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.ob-option-card{min-height:7rem;padding:1rem;border:2px solid var(--ob-line);border-radius:18px;background:#ffffffc7;color:var(--ob-ink);cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,transform .15s ease,box-shadow .2s ease}body.dark-mode .ob-option-card{background:#2b2622d9;border-color:#e5ddd41a;color:var(--ob-ink)}.ob-option-card:hover{border-color:#16372a59;background:#fffffff5;transform:translateY(-1px)}body.dark-mode .ob-option-card:hover{background:#37302be6;border-color:#e5ddd438}.ob-option-card.is-active{border-color:var(--ob-green-deep);background:#4e7d6714;box-shadow:0 8px 24px #16372a24}body.dark-mode .ob-option-card.is-active{background:#4e7d671f}.ob-option-card__label,.ob-option-card__hint{display:block;pointer-events:none}.ob-option-card__label{font-weight:800;line-height:1.2}.ob-option-card__hint{margin-top:.45rem;font-size:.88rem;color:var(--ob-muted);line-height:1.45}.ob-wizard__nav{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding-top:.5rem}.ob-results__hero{margin-bottom:1.8rem}.ob-results__grid{display:grid;grid-template-columns:2fr 3fr;gap:1.4rem}.ob-stat-card,.ob-plan-card{padding:2rem;border:1px solid var(--ob-line);border-radius:28px;background:var(--ob-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 22px 58px #16372a14;animation:ob-hero-fade .5s .1s cubic-bezier(.22,.61,.36,1) both}body.dark-mode .ob-stat-card,body.dark-mode .ob-plan-card{box-shadow:0 22px 58px #00000038}.ob-plan-card{animation-delay:.2s}.ob-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.ob-stat-card--halo{animation:ob-halo-pulse .8s ease-out forwards}.ob-stat-card__digits{display:inline-flex;align-items:center;gap:.04em;font-family:Cormorant Garamond,serif;font-size:clamp(4rem,8vw,6.5rem);font-weight:700;line-height:1;color:var(--ob-green-deep);letter-spacing:-.02em;position:relative;margin:.2rem 0 0}.ob-stat-card__digit-wrap{display:inline-block;overflow:visible;line-height:1.08;vertical-align:top}.ob-stat-card__digit-strip{display:flex;flex-direction:column;line-height:1.08}.ob-stat-card__dingbat{display:inline-block;font-size:.38em;color:var(--ob-accent);vertical-align:super;margin-left:.15em;line-height:1}.ob-stat-card__comparison{margin-top:.9rem;font-size:.78rem;color:var(--ob-muted);letter-spacing:.02em;line-height:1.5}.ob-stat-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.ob-stat-card__label{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ob-muted)}.ob-stat-card__num{display:block;font-family:Cormorant Garamond,serif;font-size:clamp(4rem,8vw,6.5rem);font-weight:700;line-height:1;color:var(--ob-green-deep);letter-spacing:-.02em;position:relative}.ob-stat-card__suffix{display:block;margin-top:.75rem;font-size:1.05rem;color:var(--font-color);line-height:1.5;max-width:16rem;position:relative}.ob-plan-card__heading{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:.6rem 0 .8rem}.ob-plan-card h2{margin:0;font-family:Cormorant Garamond,serif;font-size:1.7rem;line-height:1.15}.ob-plan-card p{line-height:1.65}.ob-plan-card__upsell{padding:.85rem 1rem;border-radius:16px;background:#16372a0f;color:var(--ob-green-deep);font-weight:650}body.dark-mode .ob-plan-card__upsell{background:#4e7d671a;color:#8ab8a0}.ob-plan-card__actions{margin-top:1rem}.ob-results__actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}.ob-tutorial-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem;align-items:center;margin-top:1.4rem;padding:2rem;border:2px solid var(--ob-green-deep);border-radius:28px;background:#16372a0a;box-shadow:0 24px 68px #16372a24}body.dark-mode .ob-tutorial-card{background:#4e7d6712;box-shadow:0 24px 68px #00000038}.ob-tutorial-card h2{margin:.2rem 0 .7rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.05}.ob-tutorial-card p{margin:0;line-height:1.6}.ob-tutorial-card__note{margin-top:.7rem!important;color:var(--ob-muted);font-size:.94rem}.ob-tutorial-card__path{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:.9rem 0 .6rem}.ob-tutorial-card__step{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--ob-green-deep)}.ob-tutorial-card__step-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#16372a1a;border:1px solid rgba(22,55,42,.18);font-size:.7rem;font-weight:800;color:var(--ob-green-deep);flex-shrink:0}body.dark-mode .ob-tutorial-card__step-num{background:#4e7d6726;border-color:#4e7d674d;color:#8ab8a0}body.dark-mode .ob-tutorial-card__step{color:var(--ob-ink)}.ob-tutorial-card__arrow{display:inline-block;margin:0 .45rem;color:var(--ob-accent);font-size:.75rem;opacity:.7}.ob-tutorial-card__duration{display:inline-flex;align-items:center;padding:.22rem .6rem;margin-left:.8rem;border-radius:999px;border:1px solid rgba(22,55,42,.15);background:#16372a0d;font-size:.74rem;font-weight:700;color:var(--ob-muted);letter-spacing:.04em;white-space:nowrap}body.dark-mode .ob-tutorial-card__duration{border-color:#e5ddd41f;background:#e5ddd40f}.ob-country-wrap{position:relative;width:100%}.ob-country-trigger{display:flex;align-items:center;gap:.6rem;width:100%;padding:1rem 1.25rem;border-radius:18px;border:2px solid var(--ob-line);background:#fffc;font:inherit;font-size:1.1rem;color:var(--ob-ink);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none}.ob-country-trigger:focus{outline:none;border-color:var(--ob-green-deep);box-shadow:0 0 0 4px #16372a14}.ob-country-trigger.is-open{border-color:var(--ob-green-deep);box-shadow:0 0 0 4px #16372a14;border-bottom-left-radius:8px;border-bottom-right-radius:8px}body.dark-mode .ob-country-trigger{background:#2b2622e6;border-color:#e5ddd424;color:var(--ob-ink)}body.dark-mode .ob-country-trigger:focus,body.dark-mode .ob-country-trigger.is-open{border-color:var(--ob-green-deep);box-shadow:0 0 0 4px #4e7d6726}.ob-country-trigger__icon{flex-shrink:0;color:var(--ob-muted);opacity:.7}.ob-country-trigger__text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ob-country-trigger__text--placeholder{color:var(--ob-muted);font-size:1rem}.ob-country-trigger__flag{font-size:1.2rem;flex-shrink:0;line-height:1}.ob-country-trigger__clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;border:none;background:#16372a14;color:var(--ob-muted);font-size:1rem;cursor:pointer;line-height:1;transition:background .15s ease,color .15s ease;padding:0}.ob-country-trigger__clear:hover{background:#16372a29;color:var(--ob-ink)}.ob-country-panel{background:#fffaeffa;border:2px solid var(--ob-green-deep);border-top:2px solid rgba(22,55,42,.15);border-radius:18px;box-shadow:0 24px 60px #16372a2e;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:ob-panel-rise .22s cubic-bezier(.22,.61,.36,1) both}body.dark-mode .ob-country-panel{background:#211e1bfa;border-color:var(--ob-green-deep);border-top-color:#e5ddd41a;box-shadow:0 24px 60px #0006}.ob-country-search{display:block;width:100%;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--ob-line);background:transparent;font:inherit;font-size:.95rem;color:var(--ob-ink);box-sizing:border-box}.ob-country-search:focus{outline:none}body.dark-mode .ob-country-search{border-bottom-color:#e5ddd41a;color:var(--ob-ink)}.ob-country-search::-webkit-search-cancel-button{-webkit-appearance:none}.ob-country-search::-webkit-search-decoration{-webkit-appearance:none}.ob-country-list{list-style:none;margin:0;padding:.3rem 0;max-height:280px;overflow-y:auto;overscroll-behavior:contain}.ob-country-list:focus{outline:none}.ob-country-list::-webkit-scrollbar{width:5px}.ob-country-list::-webkit-scrollbar-track{background:transparent}.ob-country-list::-webkit-scrollbar-thumb{background:var(--ob-line);border-radius:3px}.ob-country-option{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;font-size:.92rem;color:var(--ob-ink);transition:background .12s ease}.ob-country-option.is-highlighted{background:#16372a12}body.dark-mode .ob-country-option.is-highlighted{background:#4e7d671f}.ob-country-option.is-selected{background:#16372a0f;font-weight:600}body.dark-mode .ob-country-option.is-selected{background:#4e7d671a}.ob-country-option__flag{font-size:1.1rem;flex-shrink:0;line-height:1}.ob-country-option__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ob-country-option__code{font-size:.72rem;color:var(--ob-muted);letter-spacing:.06em;flex-shrink:0}.ob-country-option__check{width:1rem;text-align:center;flex-shrink:0;color:var(--ob-green-deep);font-size:.8rem;font-weight:800}.ob-country-empty{padding:.8rem 1rem;font-size:.9rem;color:var(--ob-muted);text-align:center}.ob-error{margin-top:1rem;color:#b5422f;font-weight:600}.ob-tour{position:fixed;inset:0;z-index:2200;pointer-events:none}.ob-tour__overlay{position:absolute;inset:0;background:#080f0b33;pointer-events:none;z-index:0}.ob-tour__spotlight{position:fixed;border-radius:22px;box-shadow:0 0 0 9999px #080f0b57,0 0 0 3px #c87e2bb3;pointer-events:none;z-index:1;transition:top .32s cubic-bezier(.22,.61,.36,1),left .32s cubic-bezier(.22,.61,.36,1),width .32s cubic-bezier(.22,.61,.36,1),height .32s cubic-bezier(.22,.61,.36,1);animation:ob-spotlight-pulse 2.5s ease-in-out infinite}.ob-tour__panel{position:fixed;right:1.5rem;bottom:1.5rem;width:min(26rem,calc(100vw - 2rem));padding:1.5rem 1.5rem 1.25rem;border-radius:26px;background:#fdfaf2f7;box-shadow:0 20px 56px #080f0b42,0 0 0 1px #16372a1a;pointer-events:auto;z-index:2;animation:ob-panel-rise .4s cubic-bezier(.22,.61,.36,1) both;border-top:3px solid var(--ob-accent)}body.dark-mode .ob-tour__panel{background:#2b2622f7;box-shadow:0 20px 56px #00000080,0 0 0 1px #e5ddd41a}body.dark-mode .ob-tour__panel h2{color:var(--ob-ink)}body.dark-mode .ob-tour__panel p{color:#e5ddd4cc}.ob-tour__panel--left{right:auto;left:1.5rem}.ob-tour__dots{display:flex;align-items:center;gap:4px;margin-bottom:1rem}.ob-tour__dot{width:6px;height:6px;border-radius:50%;background:#16372a2e;transition:background .25s ease,transform .25s ease;flex-shrink:0}.ob-tour__dot--active{background:var(--ob-accent);transform:scale(1.4)}.ob-tour__dot--done{background:#16372a73}body.dark-mode .ob-tour__dot{background:#e5ddd433}body.dark-mode .ob-tour__dot--done{background:#e5ddd473}.ob-tour__step{margin:0 0 .25rem;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ob-accent)}.ob-tour__panel h2{margin:0 0 .6rem;font-family:Cormorant Garamond,serif;font-size:1.55rem;line-height:1.15;color:var(--ob-ink)}.ob-tour__panel p{margin:0;line-height:1.65;color:#3c5047;font-size:.93rem}.ob-tour__actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}@media(max-width:820px){.ob-choice-grid,.ob-results__grid,.ob-option-grid,.ob-tutorial-card{grid-template-columns:1fr}.ob-page{padding-inline:.75rem}.ob-card,.ob-stat-card,.ob-plan-card{border-radius:22px}.ob-wizard__step{padding:2rem 1.5rem 1.75rem;border-radius:24px}.ob-yn-tile{padding:1.4rem .75rem}.ob-tour__panel{right:.75rem;left:.75rem;bottom:.75rem;width:auto;border-radius:22px}.ob-tutorial-card__path{gap:.2rem}.ob-tutorial-card__step{font-size:.75rem}.ob-tutorial-card__duration{margin-left:0;margin-top:.4rem}}@media(prefers-reduced-motion:reduce){.ob-stat-card--halo{animation:none}.ob-stat-card__digit-strip{transition:none!important}.ob-dingbat-bloom,.ob-ribbon-pin,.ob-card{animation:none!important}}.tw-shell{--tw-border: color-mix(in srgb, var(--dark-blue-color) 13%, transparent);--tw-border-soft: color-mix(in srgb, var(--dark-blue-color) 7%, transparent);--tw-ink-dim: color-mix(in srgb, var(--font-color) 50%, transparent);--tw-ink-faint: color-mix(in srgb, var(--font-color) 30%, transparent);--tw-surface: var(--white-color);--tw-surface-muted: var(--main);--tw-ok: color-mix(in srgb, var(--green-color) 16%, var(--white-color));--tw-warn: color-mix(in srgb, var(--blue-color) 14%, var(--white-color));--tw-bad: color-mix(in srgb, var(--red-color) 12%, var(--white-color));display:flex;flex-direction:column;gap:1rem}.tw-toast{--tw-toast-accent: var(--purple-color);position:fixed;top:24px;left:50%;z-index:10000;min-width:280px;max-width:440px;display:flex;align-items:center;gap:.65rem;padding:.82rem .82rem .82rem 1.05rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--tw-toast-accent) 20%,var(--main-auxiliary));background:var(--white-color);box-shadow:0 4px 6px #0000000a,0 12px 32px #0000001c,0 0 0 1px color-mix(in srgb,var(--tw-toast-accent) 9%,transparent);font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:500;color:var(--font-color);overflow:hidden;animation:tw-toast-in .44s cubic-bezier(.34,1.56,.64,1) forwards}.tw-toast--exiting{animation:tw-toast-out .28s ease-in forwards}.tw-toast--success{--tw-toast-accent: var(--green-color)}.tw-toast--error{--tw-toast-accent: var(--red-color)}.tw-toast--warning{--tw-toast-accent: var(--blue-color)}.tw-toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tw-toast-accent);border-radius:14px 0 0 14px}.tw-toast__icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tw-toast-accent) 14%,transparent);color:var(--tw-toast-accent)}.tw-toast__text{flex:1;line-height:1.4}.tw-toast__close{flex-shrink:0;width:22px;height:22px;border:none;border-radius:7px;background:transparent;color:var(--tw-ink-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .12s,color .12s}.tw-toast__close:hover{background:color-mix(in srgb,var(--font-color) 8%,transparent);color:var(--font-color)}.tw-toast__progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--tw-toast-accent) 40%,transparent);transform-origin:left;animation:tw-toast-progress 3.5s linear forwards}@keyframes tw-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.88)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes tw-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-14px) scale(.92)}}@keyframes tw-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.tw-mode-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--tw-border);background:var(--main)}.tw-mode-toggle__btn{border:none;border-radius:999px;padding:.4rem 1rem;font-family:Montserrat,sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tw-ink-dim);background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.tw-mode-toggle__btn:hover:not(.tw-mode-toggle__btn--active){color:var(--font-color)}.tw-mode-toggle__btn--active{background:var(--white-color);color:var(--font-color);box-shadow:0 1px 5px #00000014}.tw-single{display:block}.tw-board{width:fit-content;margin:auto;border-radius:20px;border:1px solid var(--tw-border);background:var(--tw-surface);box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000a;overflow:hidden}.tw-board__head{padding:1.15rem 1.4rem .9rem;border-bottom:1px solid var(--tw-border-soft)}.tw-board__title{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.6rem;font-weight:600;line-height:1;color:var(--font-color)}.tw-board--compact .tw-board__title{font-size:1.1rem}.tw-board--compact .tw-board__head{padding:.7rem 1rem .55rem}.tw-board__summary{margin:.3rem 0 0;font-family:Montserrat,sans-serif;font-size:.74rem;color:var(--tw-ink-dim)}.tw-board__body{display:grid;grid-template-columns:175px minmax(0,1fr);gap:0;align-items:start}.tw-board--compact{display:flex;flex-direction:column}.tw-pool{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border-right:1px solid var(--tw-border-soft);background:var(--tw-surface-muted);min-height:240px;transition:background .16s ease,border-color .16s ease}.tw-pool--active{background:color-mix(in srgb,var(--blue-color) 7%,var(--main));border-color:color-mix(in srgb,var(--blue-color) 28%,transparent)}.tw-pool--over{background:color-mix(in srgb,var(--green-color) 9%,var(--main));border-color:color-mix(in srgb,var(--green-color) 36%,transparent)}.tw-pool__header{display:flex;flex-direction:column;gap:.18rem}.tw-pool__eyebrow{font-family:Montserrat,sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tw-ink-faint)}.tw-pool__title{font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:600;color:var(--font-color)}.tw-pool__list{display:flex;flex-direction:column;gap:.45rem;flex:1}.tw-pool__empty{margin:0;padding:.75rem;border-radius:10px;background:var(--main-auxiliary);color:var(--tw-ink-dim);font-family:Montserrat,sans-serif;font-size:.74rem;text-align:center}.tw-pool--strip{flex-direction:column;gap:.4rem;padding:.6rem 1rem;border-right:none;border-bottom:1px solid var(--tw-border-soft);min-height:0;background:var(--tw-surface-muted)}.tw-pool__strip-header{display:flex;align-items:center}.tw-pool__strip-list{display:flex;flex-wrap:wrap;gap:.35rem;min-height:28px}.tw-pool-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.08rem .45rem;align-items:center;text-align:left;width:100%;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--purple-color) 14%,transparent);border-radius:11px;background:var(--white-color);cursor:grab;transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease}.tw-pool-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--purple-color) 30%,transparent);box-shadow:0 5px 14px #00000012}.tw-pool-item--dragging{opacity:.38}.tw-pool-item--compact{width:auto;padding:.28rem .7rem;border-radius:999px;grid-template-columns:auto auto;gap:0 .35rem}.tw-pool-item--compact .tw-pool-item__meta{display:none}.tw-pool-item__label{grid-column:1;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600;color:var(--font-color);line-height:1.2}.tw-pool-item__meta{grid-column:1;font-family:Montserrat,sans-serif;font-size:.68rem;color:var(--tw-ink-dim)}.tw-pool-item__count{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:22px;height:22px;padding:0 .3rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--purple-color) 10%,transparent);font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:700;color:var(--font-color)}.tw-grid-shell{overflow-x:auto;padding:.65rem}.tw-cell--filled{cursor:grab;background:color-mix(in srgb,var(--purple-color) 8%,transparent)!important}.tw-cell--filled:hover{background:color-mix(in srgb,var(--purple-color) 14%,transparent)!important}.tw-cell--inactive{background:repeating-linear-gradient(-45deg,var(--main-auxiliary),var(--main-auxiliary) 7px,color-mix(in srgb,var(--main-auxiliary) 55%,var(--white-color)) 7px,color-mix(in srgb,var(--main-auxiliary) 55%,var(--white-color)) 14px)!important;opacity:.75}.tw-cell--target-available{background:color-mix(in srgb,var(--green-color) 20%,transparent)!important}.tw-cell--target-unavailable,.tw-cell--target-occupied,.tw-cell--target-locked{background:color-mix(in srgb,var(--red-color) 14%,transparent)!important}.tw-cell--target-source{background:color-mix(in srgb,var(--blue-color) 14%,transparent)!important}.tw-cell--over{outline:2px solid color-mix(in srgb,var(--green-color) 65%,transparent)!important;outline-offset:-2px}.tw-cell--dragging{opacity:.38}.tw-cell--locked{background:color-mix(in srgb,var(--tw-ink-dim) 8%,transparent)!important;cursor:not-allowed}.tw-cell__label{display:block;font-size:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-ghost{min-width:160px;max-width:220px;padding:.8rem 1rem;border-radius:14px;border:1px solid var(--tw-border);background:var(--white-color);box-shadow:0 14px 36px #00000024;display:flex;flex-direction:column;gap:.14rem}.tw-ghost__label{font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;color:var(--font-color)}.tw-ghost__meta,.tw-ghost__count{font-family:Montserrat,sans-serif;font-size:.68rem;color:var(--tw-ink-dim)}.tw-canvas{display:flex;flex-direction:column;gap:.7rem}.tw-canvas__toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.38rem}.tw-canvas__history{display:inline-flex;align-items:center;gap:1px;padding:3px 4px;border-radius:8px;background:var(--main);flex-shrink:0}.tw-canvas__history-btn{border:none;border-radius:999px;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--tw-ink-faint);cursor:pointer;font-size:.85rem;transition:background .12s,color .12s;padding:0}.tw-canvas__history-btn:hover:not(:disabled){color:var(--font-color);background:color-mix(in srgb,var(--font-color) 7%,transparent)}.tw-canvas__history-btn:active:not(:disabled){background:color-mix(in srgb,var(--font-color) 13%,transparent)}.tw-canvas__history-btn:disabled{opacity:.35;cursor:not-allowed}body.dark-mode .tw-canvas__history{background:var(--main-auxiliary)}.tw-canvas__zoom{display:inline-flex;align-items:center;gap:1px;border:1px solid var(--tw-border);border-radius:999px;padding:5px 10px;background:var(--main);flex-shrink:0}.tw-canvas__zoom-btn{border:none;border-radius:999px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:400;line-height:1;color:var(--tw-ink-dim);background:transparent;cursor:pointer;transition:background .12s,color .12s;padding:0;font-family:Montserrat,sans-serif}.tw-canvas__zoom-btn:hover{color:var(--font-color);background:color-mix(in srgb,var(--font-color) 7%,transparent)}.tw-canvas__zoom-btn:active{background:color-mix(in srgb,var(--font-color) 13%,transparent)}.tw-canvas__zoom-level{border:none;background:transparent;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;color:var(--tw-ink-dim);cursor:pointer;padding:0 5px;min-width:34px;text-align:center;border-radius:999px;transition:color .12s}.tw-canvas__zoom-level:hover{color:var(--font-color)}.tw-canvas__zoom-level:active{background:color-mix(in srgb,var(--font-color) 8%,transparent)}.tw-canvas__col-control{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--tw-border);border-radius:999px;padding:5px 10px;background:var(--main);flex-shrink:0}.tw-canvas__col-label{font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tw-ink-faint)}.tw-canvas__col-btn{border:none;border-radius:999px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;color:var(--tw-ink-dim);background:transparent;cursor:pointer;transition:background .12s,color .12s;padding:0}.tw-canvas__col-btn:hover{color:var(--font-color)}.tw-canvas__col-btn--active{background:var(--white-color);color:var(--font-color);box-shadow:0 1px 4px #00000014}.tw-canvas__fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--tw-border);border-radius:999px;background:var(--main);color:var(--tw-ink-dim);cursor:pointer;transition:background .12s,color .12s,border-color .12s;flex-shrink:0;padding:0}.tw-canvas__fullscreen-btn:hover{color:var(--font-color);background:color-mix(in srgb,var(--font-color) 7%,transparent)}.tw-canvas__fullscreen-btn:active{background:color-mix(in srgb,var(--font-color) 13%,transparent)}.tw-canvas__fullscreen-btn--active{background:var(--purple-color);border-color:var(--purple-color);color:var(--font-color-contrast)}.tw-canvas__fullscreen-btn--active:hover{background:color-mix(in srgb,var(--purple-color) 85%,var(--font-color));color:var(--font-color-contrast)}.tw-canvas:fullscreen,.tw-canvas:-webkit-full-screen{background:var(--main);padding:1rem 1.5rem 1.5rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.7rem}.tw-canvas--fullscreen:not(:fullscreen):not(:-webkit-full-screen){position:fixed;inset:0;z-index:9999;background:var(--main);padding:1rem 1.5rem 1.5rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.7rem}.tw-canvas--fullscreen .tw-canvas__viewport-wrapper,.tw-canvas:fullscreen .tw-canvas__viewport-wrapper,.tw-canvas:-webkit-full-screen .tw-canvas__viewport-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.tw-canvas--fullscreen .tw-canvas__viewport,.tw-canvas:fullscreen .tw-canvas__viewport,.tw-canvas:-webkit-full-screen .tw-canvas__viewport{max-height:none;flex:1;min-height:0;height:auto}.tw-canvas__viewport-wrapper{position:relative}.tw-canvas__viewport{overflow:auto;border-radius:20px;border:1px solid var(--tw-border);background-image:radial-gradient(circle,var(--tw-border) 1.2px,transparent 1.2px);background-size:24px 24px;background-color:var(--main);cursor:grab;min-height:400px;max-height:80vh;box-shadow:inset 0 1px #ffffff8c}.tw-canvas__viewport--dragging{cursor:grabbing}.tw-canvas__surface{display:grid;gap:2rem;padding:1.5rem;width:max-content}.tw-canvas__minimap{position:fixed;bottom:1.5rem;right:1.5rem;border-radius:8px;border:1px solid var(--tw-border);background:color-mix(in srgb,var(--main) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:crosshair;overflow:hidden;box-shadow:0 4px 20px #00000024,0 1px 4px #00000014;opacity:.82;transition:opacity .18s ease,box-shadow .18s ease;outline:none}.tw-canvas__minimap:hover,.tw-canvas__minimap:focus-visible{opacity:1;box-shadow:0 6px 28px #0003,0 2px 6px #0000001a}.tw-canvas__minimap-board{position:absolute;border-radius:2px;background:color-mix(in srgb,var(--purple-color) 20%,transparent);border:1px solid color-mix(in srgb,var(--purple-color) 38%,transparent);min-width:4px;min-height:3px}.tw-canvas__minimap-viewport{position:absolute;border:1.5px solid var(--blue-color);border-radius:2px;background:color-mix(in srgb,var(--blue-color) 12%,transparent);pointer-events:none}.tw-teacher{border-radius:20px;border:1px solid var(--tw-border);background:var(--tw-surface);padding:1rem 1.2rem 1.4rem}.tw-teacher__notice{margin-bottom:.8rem;padding:.65rem .9rem;border-radius:10px;background:color-mix(in srgb,var(--blue-color) 9%,var(--main));border:1px solid color-mix(in srgb,var(--blue-color) 18%,transparent);font-family:Montserrat,sans-serif;font-size:.76rem;color:var(--font-color)}body.dark-mode .tw-toast{background:var(--main-auxiliary);border-color:color-mix(in srgb,var(--tw-toast-accent) 24%,color-mix(in srgb,white 10%,transparent));box-shadow:0 4px 6px #0000002e,0 12px 32px #00000047,0 0 0 1px color-mix(in srgb,var(--tw-toast-accent) 12%,transparent)}body.dark-mode .tw-shell{--tw-border: color-mix(in srgb, white 11%, transparent);--tw-border-soft: color-mix(in srgb, white 6%, transparent);--tw-ink-dim: color-mix(in srgb, var(--font-color) 58%, transparent);--tw-ink-faint: color-mix(in srgb, var(--font-color) 36%, transparent);--tw-surface: var(--main-auxiliary);--tw-surface-muted: var(--main);--tw-ok: color-mix(in srgb, var(--green-color) 18%, var(--main-auxiliary));--tw-warn: color-mix(in srgb, var(--blue-color) 16%, var(--main-auxiliary));--tw-bad: color-mix(in srgb, var(--red-color) 14%, var(--main-auxiliary))}body.dark-mode .tw-mode-toggle__btn--active{background:var(--main-auxiliary)}body.dark-mode .tw-pool-item{background:var(--main-auxiliary);border-color:color-mix(in srgb,white 10%,transparent)}body.dark-mode .tw-cell--filled{background:color-mix(in srgb,var(--purple-color) 3%,transparent)!important}body.dark-mode .tw-cell--filled:hover{background:color-mix(in srgb,var(--purple-color) 28%,transparent)!important}body.dark-mode .tw-ghost,body.dark-mode .tw-canvas__col-control{background:var(--main-auxiliary)}body.dark-mode .tw-canvas__col-btn--active{background:var(--tertiary)}body.dark-mode .tw-canvas__zoom{background:var(--main-auxiliary)}body.dark-mode .tw-canvas__viewport{background-color:var(--main)}body.dark-mode .tw-canvas__minimap{background:color-mix(in srgb,var(--main-auxiliary) 94%,transparent)}body.dark-mode .tw-canvas__minimap-board{background:color-mix(in srgb,var(--purple-color) 28%,transparent);border-color:color-mix(in srgb,var(--purple-color) 48%,transparent)}body.dark-mode .tw-canvas__minimap-viewport{background:color-mix(in srgb,var(--blue-color) 20%,transparent)}body.dark-mode .tw-canvas__fullscreen-btn{background:var(--main-auxiliary)}body.dark-mode .tw-canvas--fullscreen,body.dark-mode .tw-canvas:fullscreen,body.dark-mode .tw-canvas:-webkit-full-screen{background:var(--main)}@media(max-width:1080px){.tw-board__body{grid-template-columns:160px minmax(0,1fr)}}@media(max-width:720px){.tw-mode-toggle{width:100%;justify-content:space-between}.tw-mode-toggle__btn{flex:1}.tw-board__body{grid-template-columns:1fr;grid-template-rows:auto auto}.tw-pool{border-right:none;border-bottom:1px solid var(--tw-border-soft);min-height:0}.tw-pool__list{flex-direction:row;flex-wrap:wrap}}.pwn{min-width:0;width:100%}.pwn__track{display:flex;align-items:center;gap:1.15rem;height:var(--nav-height);overflow-x:auto;padding:0 .15rem;scrollbar-width:none}.pwn__track::-webkit-scrollbar{display:none}.pwn__link{position:relative;display:inline-flex;align-items:center;min-height:var(--nav-height);padding:0 .05rem;color:color-mix(in srgb,var(--font-color) 58%,transparent);white-space:nowrap;transition:color .16s ease;text-decoration:none}.pwn__link:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--blue-color);opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity .16s ease,transform .16s ease}.pwn__link:hover,.pwn__link:focus-visible{color:var(--font-color);text-decoration:none}.pwn__link--active{color:var(--font-color)}.pwn__link--active:after{opacity:1;transform:scaleX(1)}.pwn__label{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}@media(max-width:840px){.pwn__track{gap:.9rem}.pwn__label{font-size:.7rem}}.psw{position:relative;flex-shrink:0}.psw__trigger{display:inline-flex;align-items:center;gap:.4rem;max-width:220px;padding:.35rem .7rem .35rem .85rem;border:1px solid var(--tertiary);border-radius:8px;background:transparent;color:var(--font-color);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.psw__trigger:hover,.psw__trigger--open{background:var(--main-auxiliary);border-color:color-mix(in srgb,var(--font-color) 18%,transparent)}.psw__name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psw__chevron{flex-shrink:0;color:var(--blue-color);transition:transform .18s ease}.psw__trigger--open .psw__chevron{transform:rotate(180deg)}.psw__dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:300;min-width:220px;max-width:280px;background:var(--white-color);border:1px solid var(--tertiary);border-radius:14px;box-shadow:0 8px 32px color-mix(in srgb,var(--dark-blue-color) 14%,transparent);overflow:hidden;animation:psw-drop .14s ease}@keyframes psw-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.psw__list{list-style:none;margin:0;padding:.4rem 0}.psw__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem 1rem;color:var(--font-color);text-decoration:none;font-size:.875rem;transition:background-color .12s ease;border-left:2px solid transparent}.psw__item:hover{background:var(--main-auxiliary);border-left-color:var(--blue-color)}.psw__item--current{background:color-mix(in srgb,var(--main) 60%,var(--white-color));border-left-color:var(--blue-color)}.psw__item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psw__item-badge{flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-color)}.psw__footer{border-top:1px solid var(--tertiary);padding:.4rem 0}.psw__all-link{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:color-mix(in srgb,var(--font-color) 65%,transparent);text-decoration:none;transition:color .12s ease,background-color .12s ease}.psw__all-link:hover{color:var(--font-color);background:var(--main-auxiliary)}body.dark-mode .psw__dropdown{background:var(--white-color);border-color:var(--tertiary)}body.dark-mode .psw__item--current{background:color-mix(in srgb,var(--tertiary) 60%,transparent)}.asn{position:fixed;top:0;left:0;bottom:0;width:240px;box-sizing:border-box;background:var(--main);border-right:1px solid var(--tertiary);display:flex;flex-direction:column;z-index:300;overflow-y:auto;overflow-x:hidden;padding-bottom:16px;box-shadow:6px 0 26px var(--shadow-color-light)}.asn__brand{padding:20px 20px 18px;border-bottom:1px solid var(--tertiary);font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem;font-style:italic;font-weight:600;color:var(--purple-color);text-decoration:none;display:block;flex-shrink:0}.asn__brand:after{content:".";color:var(--blue-color)}.asn__section{padding:16px 0 2px}.asn__section-label{display:block;padding:0 20px 6px;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--font-color);opacity:.42}.asn__item{display:block;padding:9px 20px;font-size:.875rem;font-weight:500;color:var(--font-color);text-decoration:none;border-left:2px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease}.asn__item:hover{background:var(--main-auxiliary);color:var(--purple-color)}.asn__item--active{color:var(--purple-color);font-weight:600;background:var(--light-blue-color);border-left-color:var(--purple-color)}.asn__divider{height:1px;background:var(--tertiary);margin:4px 0}.asn__footer{margin-top:auto;padding:12px 20px 0;border-top:1px solid var(--tertiary);display:flex;flex-direction:column;gap:8px}.asn__themeRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.asn__themeLabel{font-size:.84rem;font-weight:500;color:var(--font-color)}.asn__footer .topNavBar__items__link{opacity:.7}.asn__footer .topNavBar__items__link:hover{opacity:1}.asn__logout{display:block;width:auto;margin:0 -20px;padding:9px 20px;font-size:.875rem;font-weight:500;color:var(--red-color);text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;transition:background .12s ease}.asn__logout:hover{background:var(--main-auxiliary)}.asn__backdrop{display:none}@media(max-width:767px){.asn{top:var(--nav-height);transform:translate(-100%);transition:transform .25s ease}.asn--open{transform:translate(0)}.asn__backdrop{display:block;position:fixed;inset:var(--nav-height) 0 0 0;background:#00000059;z-index:299;opacity:0;pointer-events:none;transition:opacity .25s ease}.asn__backdrop--visible{opacity:1;pointer-events:auto}}.upgrade-modal{padding:0;border:none;max-width:480px;width:90vw;border-radius:12px;background:transparent}.upgrade-modal::backdrop{background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background-color .2s}.upgrade-modal.closing::backdrop{background:transparent;transition:none}.upgrade-modal__content{background:var(--main);border-radius:12px;overflow:hidden;box-shadow:0 16px 48px #00000026}.upgrade-modal__header{background:var(--main-auxiliary);padding:1.1rem 1.4rem;border-bottom:1px solid var(--tertiary);display:flex;align-items:center;gap:.7rem}.upgrade-modal__icon{width:2.2rem;height:2.2rem;background:#b873181f;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--blue-color);flex-shrink:0}.upgrade-modal__header h2{margin:0;font-size:1rem;font-weight:600;color:var(--font-color)}.upgrade-modal__body{padding:1.4rem;color:var(--font-color)}.upgrade-modal__body p{margin:0 0 1rem;font-size:.9rem;line-height:1.55;opacity:.85}.upgrade-modal__progress{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.upgrade-modal__progress-bar{flex:1;height:6px;background:var(--tertiary);border-radius:3px;overflow:hidden}.upgrade-modal__progress-fill{height:100%;background:var(--blue-color);border-radius:3px;transition:width .3s ease}.upgrade-modal__progress-label{font-size:.8rem;font-weight:600;color:var(--blue-color);white-space:nowrap}.upgrade-modal__comparison{display:flex;align-items:center;gap:.8rem;margin-top:.6rem}.upgrade-modal__tier{flex:1;padding:.7rem .9rem;border-radius:8px;text-align:center}.upgrade-modal__tier--current{background:var(--tertiary)}.upgrade-modal__tier--next{background:#b873181a;border:1px solid rgba(184,115,24,.25)}.upgrade-modal__tier-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:.2rem}.upgrade-modal__tier-value{display:block;font-size:1.15rem;font-weight:700;color:var(--font-color)}.upgrade-modal__tier--next .upgrade-modal__tier-value{color:var(--blue-color)}.upgrade-modal__arrow{color:var(--font-color);opacity:.35;flex-shrink:0}.upgrade-modal__footer{padding:.9rem 1.4rem;display:flex;justify-content:flex-end;gap:.6rem;border-top:1px solid var(--tertiary)}.upgrade-modal__dismiss{padding:.45rem 1rem;background:var(--main);color:var(--font-color);border:1px solid var(--tertiary);border-radius:6px;cursor:pointer;font-size:.85rem;transition:background-color .15s}.upgrade-modal__dismiss:hover{background:var(--tertiary)}.upgrade-modal__cta{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.2rem;background:var(--blue-color);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s}.upgrade-modal__cta:hover{opacity:.85}@property --bv-0{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-1{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-2{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-3{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-4{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-5{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-6{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-7{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-8{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-9{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-10{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-11{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-12{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-13{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-14{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-15{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-16{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-17{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-18{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-19{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --bv-20{syntax: "<percentage>"; inherits: false; initial-value: 100%;}.pc{--card-accent: var(--purple-color)}.pc[data-accent="1"]{--card-accent: var(--blue-color)}.pc[data-accent="2"]{--card-accent: var(--green-color)}.pl{margin-top:0}.pl__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:20px}.pc{background-color:var(--card-background);border:1px solid var(--main-auxiliary);border-left:3px solid var(--card-accent);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(14px);transition:opacity .38s ease,transform .38s ease,box-shadow .22s ease}.pc--visible{opacity:1;transform:translateY(0)}.pc--visible:hover{transform:translateY(-3px);box-shadow:0 8px 24px var(--shadow-color-light)}.pc__head{display:flex;align-items:center;gap:10px;min-width:0}.pc__avatar{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:700;background-color:var(--card-accent);color:var(--font-color-contrast);-webkit-user-select:none;user-select:none}.pc__title-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.pc__name{flex:1;margin:0;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600;color:var(--font-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pc__draft-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background-color:color-mix(in srgb,var(--card-accent) 16%,transparent);color:var(--card-accent);border:1px solid color-mix(in srgb,var(--card-accent) 35%,transparent)}.pc__menu-wrap{position:relative;flex-shrink:0}.pc__menu-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--font-color);opacity:.5;transition:background-color .15s,opacity .15s}.pc__menu-btn:hover{background-color:var(--main-auxiliary);opacity:1}.pc__dropdown{position:absolute;top:calc(100% + 4px);right:0;background-color:var(--main);border:1px solid var(--main-auxiliary);border-radius:8px;box-shadow:0 4px 18px var(--shadow-color-light);z-index:20;min-width:165px;display:flex;flex-direction:column;padding:4px}.pc__menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--font-color);font-size:.84rem;border-radius:5px;transition:background-color .12s;background:none;border:none;cursor:pointer;width:100%;text-align:left}.pc__menu-item:hover{background-color:var(--main-auxiliary)}.pc__menu-item--delete{color:var(--red-color)}.pc__menu-item--delete:hover{background-color:#c0432b1a}.pc__desc{margin:0;font-size:.87rem;color:var(--font-color);opacity:.72;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc__desc--empty{opacity:.28}.pc__stats{display:flex;border-top:1px solid var(--main-auxiliary);border-bottom:1px solid var(--main-auxiliary);padding:10px 0}.pc-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border-right:1px solid var(--main-auxiliary);padding:0 4px}.pc-stat:last-child{border-right:none}.pc-stat__value{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:700;color:var(--font-color);line-height:1}.pc-stat__label{font-size:.65rem;color:var(--font-color);opacity:.5;text-transform:uppercase;letter-spacing:.05em;text-align:center}.pc__footer{display:flex;justify-content:flex-end;margin-top:auto}.pc__cta{--pc-bell-ease: cubic-bezier(.25,.1,.25,1);display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--font-color-contrast);padding:9px 14px;border:1.5px solid color-mix(in srgb,var(--card-accent) 55%,black);border-radius:7px;position:relative;overflow:hidden;isolation:isolate;cursor:pointer;transition:color .18s ease,border-color .3s ease,box-shadow .3s ease}.pc__cta:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0px,transparent 11px,color-mix(in srgb,var(--font-color-contrast) 6%,transparent) 11px,color-mix(in srgb,var(--font-color-contrast) 6%,transparent) 12px),repeating-linear-gradient(0deg,transparent 0px,transparent 11px,color-mix(in srgb,var(--font-color-contrast) 6%,transparent) 11px,color-mix(in srgb,var(--font-color-contrast) 6%,transparent) 12px),linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 88%,black) 0%,var(--card-accent) 100%);clip-path:polygon(0% 0%,100% 0%,100% var(--bv-20),95% var(--bv-19),90% var(--bv-18),85% var(--bv-17),80% var(--bv-16),75% var(--bv-15),70% var(--bv-14),65% var(--bv-13),60% var(--bv-12),55% var(--bv-11),50% var(--bv-10),45% var(--bv-9),40% var(--bv-8),35% var(--bv-7),30% var(--bv-6),25% var(--bv-5),20% var(--bv-4),15% var(--bv-3),10% var(--bv-2),5% var(--bv-1),0% var(--bv-0));transition:--bv-0 .3s var(--pc-bell-ease) 0ms,--bv-1 .3s var(--pc-bell-ease) 0ms,--bv-2 .3s var(--pc-bell-ease) 0ms,--bv-3 .3s var(--pc-bell-ease) 0ms,--bv-4 .3s var(--pc-bell-ease) 0ms,--bv-5 .3s var(--pc-bell-ease) 0ms,--bv-6 .3s var(--pc-bell-ease) 0ms,--bv-7 .3s var(--pc-bell-ease) 0ms,--bv-8 .3s var(--pc-bell-ease) 0ms,--bv-9 .3s var(--pc-bell-ease) 0ms,--bv-10 .3s var(--pc-bell-ease) 0ms,--bv-11 .3s var(--pc-bell-ease) 0ms,--bv-12 .3s var(--pc-bell-ease) 0ms,--bv-13 .3s var(--pc-bell-ease) 0ms,--bv-14 .3s var(--pc-bell-ease) 0ms,--bv-15 .3s var(--pc-bell-ease) 0ms,--bv-16 .3s var(--pc-bell-ease) 0ms,--bv-17 .3s var(--pc-bell-ease) 0ms,--bv-18 .3s var(--pc-bell-ease) 0ms,--bv-19 .3s var(--pc-bell-ease) 0ms,--bv-20 .3s var(--pc-bell-ease) 0ms;z-index:0}.pc__cta:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--font-color-contrast) 40%,transparent) 50%,transparent 100%);opacity:1;transition:opacity .18s ease;z-index:2;pointer-events:none}.pc__cta:hover,.pc__cta:focus-visible{color:var(--card-accent);border-color:color-mix(in srgb,var(--card-accent) 35%,transparent);box-shadow:none}.pc__cta:hover:before,.pc__cta:focus-visible:before{--bv-0: 0%;--bv-1: 0%;--bv-2: 0%;--bv-3: 0%;--bv-4: 0%;--bv-5: 0%;--bv-6: 0%;--bv-7: 0%;--bv-8: 0%;--bv-9: 0%;--bv-10: 0%;--bv-11: 0%;--bv-12: 0%;--bv-13: 0%;--bv-14: 0%;--bv-15: 0%;--bv-16: 0%;--bv-17: 0%;--bv-18: 0%;--bv-19: 0%;--bv-20: 0%;transition:--bv-10 .3s var(--pc-bell-ease) 0ms,--bv-9 .3s var(--pc-bell-ease) 15ms,--bv-11 .3s var(--pc-bell-ease) 15ms,--bv-8 .3s var(--pc-bell-ease) 30ms,--bv-12 .3s var(--pc-bell-ease) 30ms,--bv-7 .3s var(--pc-bell-ease) 60ms,--bv-13 .3s var(--pc-bell-ease) 60ms,--bv-6 .3s var(--pc-bell-ease) 90ms,--bv-14 .3s var(--pc-bell-ease) 90ms,--bv-5 .3s var(--pc-bell-ease) .12s,--bv-15 .3s var(--pc-bell-ease) .12s,--bv-4 .3s var(--pc-bell-ease) .15s,--bv-16 .3s var(--pc-bell-ease) .15s,--bv-3 .3s var(--pc-bell-ease) 167ms,--bv-17 .3s var(--pc-bell-ease) 167ms,--bv-2 .3s var(--pc-bell-ease) 184ms,--bv-18 .3s var(--pc-bell-ease) 184ms,--bv-1 .3s var(--pc-bell-ease) 192ms,--bv-19 .3s var(--pc-bell-ease) 192ms,--bv-0 .3s var(--pc-bell-ease) .2s,--bv-20 .3s var(--pc-bell-ease) .2s}.pc__cta:hover:after,.pc__cta:focus-visible:after{opacity:0}.pc__cta-icon{flex-shrink:0;position:relative;z-index:1;transition:transform .38s cubic-bezier(.34,1.56,.64,1)}.pc__cta-label{position:relative;z-index:1}.pc__cta-arrow{flex-shrink:0;position:relative;z-index:1;transition:transform .38s cubic-bezier(.34,1.56,.64,1)}.pc__cta:hover .pc__cta-icon,.pc__cta:focus-visible .pc__cta-icon{transform:rotate(-12deg) scale(1.15)}.pc__cta:hover .pc__cta-arrow,.pc__cta:focus-visible .pc__cta-arrow{transform:translate(6px)}.pc__cta:focus-visible{outline:2px solid color-mix(in srgb,var(--card-accent) 70%,white);outline-offset:3px}.pc__cta:active{transform:translateY(1px);box-shadow:0 2px 8px color-mix(in srgb,var(--card-accent) 18%,transparent)}.pc--locked{opacity:.55;border-left-color:var(--tertiary);--card-accent: var(--tertiary)}.pc--locked.pc--visible:hover{transform:none;box-shadow:none}.pc--locked .pc__avatar{background-color:var(--tertiary);color:var(--font-color)}.pc--locked .pc__lock-icon{opacity:.6}.pc__footer--locked{justify-content:center}.pc__upgrade-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:var(--blue-color);color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:opacity .15s}.pc__upgrade-cta:hover{opacity:.85}.pl__empty{color:var(--font-color);opacity:.45;font-size:.9rem;grid-column:1 / -1;text-align:center;padding:52px 0}@media(max-width:580px){.pl__grid{grid-template-columns:1fr}.pc-stat__label{font-size:.6rem}}.create-teacher-modal,.create-subject-modal{padding:0;border:none;max-width:680px;width:100%;background:transparent;box-shadow:none}.create-class-modal{padding:0;border:none;max-width:700px;width:100%;background:transparent;box-shadow:none}.create-teacher-modal::backdrop,.create-class-modal::backdrop,.create-subject-modal::backdrop{background-color:#00000080;transition:background-color .3s}.create-class-modal.closing::backdrop,.create-teacher-modal.closing::backdrop,.create-subject-modal.closing::backdrop{background-color:transparent;transition:none}.modal-content{display:flex;flex-direction:column;border-radius:8px;box-shadow:0 4px 6px var(--shadow-color-light);overflow:hidden}.modal-header{padding:1rem;background-color:var(--main-auxiliary);border-bottom:1px solid var(--font-color-contrast);color:var(--font-color)}.modal-body{background-color:var(--main);color:var(--font-color)}.modal-header h2{margin:0;font-size:1.25rem}.modal-body{padding:1rem}.modal-body .form-group{display:flex;flex-direction:column;width:100%;margin:1rem 0}.modal-body .form-group label{margin-bottom:.5rem;font-weight:500}.tutor-header label{margin-bottom:0;text-align:left}.modal-body .form-group input[type=text],.modal-body .form-group input[type=number],.modal-body .form-group input[list]{flex-grow:1;box-sizing:border-box;padding:.5rem;border:1px solid var(--font-color-contrast);background-color:var(--font-color-contrast);border-radius:4px;font-size:1rem;color:var(--font-color)}.modal-body .form-group input[list]:disabled{background-color:var(--main);cursor:not-allowed}.tutor-header{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin-bottom:.5rem;width:100%}.tutor-header input[type=checkbox]{width:1.2rem;height:1.2rem;margin:0}.modal-body .form-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.constraint-editor{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0;border:1px solid var(--font-color-contrast);border-radius:6px;padding:.75rem;background-color:var(--main-auxiliary)}.constraint-editor__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.constraint-editor__header-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.55rem;margin-left:auto}.constraint-editor__label{font-weight:500;font-size:.95rem;margin-bottom:.25rem}.constraint-editor__empty{font-size:.85rem;color:var(--font-color);opacity:.6;margin:0;font-style:italic}.constraint-pill-list{display:flex;flex-wrap:wrap;gap:.4rem}.constraint-pill-list--inline{margin-top:.4rem}.constraint-pill{display:inline-flex;align-items:center;gap:.3rem;background-color:var(--main);border:1px solid var(--font-color-contrast);border-radius:999px;padding:.2rem .5rem;font-size:.82rem}.constraint-pill--sm{font-size:.78rem;padding:.15rem .4rem}.constraint-badge{font-size:.7rem;font-weight:700;padding:.1rem .35rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.constraint-badge--hard{background-color:#dc2626;color:#fff}.constraint-badge--soft{background-color:#2563eb;color:#fff}.constraint-badge--complex{background-color:#7c3aed;color:#fff}.constraint-pill__desc{color:var(--font-color)}.constraint-pill__remove{background:none;border:none;cursor:pointer;color:var(--font-color);opacity:.6;font-size:1rem;padding:0;line-height:1;display:flex;align-items:center}.constraint-pill__remove:hover{opacity:1}.constraint-summary{display:flex;flex-direction:column;gap:.45rem;padding:.5rem .6rem;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:transparent}.constraint-summary--empty{gap:.2rem;padding:.35rem .5rem}.constraint-summary--empty .constraint-summary__header,.constraint-summary--empty .constraint-editor__empty{font-size:.78rem}.constraint-summary__header{display:flex;justify-content:space-between;gap:.75rem;color:var(--font-color);font-size:.82rem;font-weight:600}.constraint-summary__groups{display:flex;flex-direction:column;gap:.65rem}.constraint-summary__group{display:flex;flex-direction:column;gap:.4rem}.constraint-summary__group h4{margin:0;color:var(--font-color);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0;opacity:.7}.constraint-summary__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.5rem;padding:.55rem;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:var(--main-auxiliary)}.constraint-summary__copy{display:flex;min-width:0;flex-direction:column;gap:.15rem;color:var(--font-color);font-size:.84rem;line-height:1.35}.constraint-summary__copy strong{font-size:.88rem}.constraint-summary__copy small{opacity:.75}.constraint-summary__remove{margin-top:.1rem}.constraint-builder{display:flex;flex-direction:column;gap:.65rem}.constraint-intent-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.constraint-intent-tab{padding:.35rem .65rem;border:1px solid var(--font-color-contrast);border-radius:999px;background-color:var(--main);color:var(--font-color);cursor:pointer;font:inherit;font-size:.82rem}.constraint-intent-tab--active{border-color:var(--purple-color);background-color:var(--purple-color);color:var(--font-color-contrast)}.constraint-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem}.constraint-rule-card{display:flex;min-height:8.25rem;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.65rem;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:var(--main);color:var(--font-color);cursor:pointer;text-align:left;font:inherit}.constraint-rule-card--active{border-color:var(--purple-color);box-shadow:0 0 0 1px var(--purple-color)}.constraint-rule-card strong{font-size:.9rem;line-height:1.2}.constraint-rule-card span:not(.constraint-badge){font-size:.8rem;line-height:1.35;opacity:.82}.constraint-rule-card small{margin-top:auto;font-size:.76rem;line-height:1.3;opacity:.65}.constraint-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}.constraint-add-select{padding:.35rem .5rem;border:1px solid var(--font-color-contrast);background-color:var(--font-color-contrast);color:var(--font-color);border-radius:4px;font-size:.875rem;flex-shrink:0}.constraint-add-number{width:min(15rem,100%);min-width:13rem;padding:.35rem .5rem;border:1px solid var(--font-color-contrast);background-color:var(--font-color-contrast);color:var(--font-color);border-radius:4px;font-size:.875rem}.constraint-add-number--penalty{width:4.5rem}.constraint-add-btn{flex-shrink:0}.constraint-complex-section{display:flex;flex-direction:column;gap:.4rem;width:100%}.constraint-complex-count{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.constraint-complex-teacher-input{display:flex;gap:.3rem;align-items:center}.constraint-complex-add-btn{padding:.3rem .6rem;background-color:var(--font-color-contrast);border:1px solid var(--font-color-contrast);color:var(--font-color);border-radius:4px;cursor:pointer;font-size:1rem}.constraint-template-panel{display:inline-flex;align-items:center;gap:.3rem}.constraint-template-icon-btn{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:var(--main);color:var(--font-color);cursor:pointer;transition:opacity .2s ease,border-color .2s ease}.constraint-template-icon-btn:hover:not(:disabled){border-color:var(--purple-color)}.constraint-template-icon-btn:disabled{cursor:not-allowed;opacity:.35}.constraint-template-panel__saved-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.constraint-template-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;padding:.2rem .5rem;background-color:var(--main);border:1px solid var(--font-color-contrast);border-radius:999px}.constraint-template-tag__delete{background:none;border:none;cursor:pointer;color:var(--font-color);opacity:.6;font-size:.9rem;padding:0;line-height:1}.constraint-template-tag__delete:hover{opacity:1;color:#dc2626}.constraint-template-panel__name-input{padding:.35rem .5rem;border:1px solid var(--font-color-contrast);background-color:var(--font-color-contrast);color:var(--font-color);border-radius:4px;font-size:.875rem;flex:1;min-width:8rem}.constraint-template-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.constraint-template-modal__header h3{margin:0}.constraint-template-modal__close{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:transparent;color:var(--font-color);cursor:pointer}.constraint-template-modal__body{display:flex;flex-direction:column;gap:.65rem}.constraint-template-modal__body label{font-size:.84rem;font-weight:600}.constraint-template-modal__apply-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.constraint-template-modal__apply-row .constraint-add-select{flex:1;min-width:12rem}.constraint-confirm-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000073}.constraint-confirm-modal{display:flex;width:min(32rem,100%);max-height:min(90vh,34rem);overflow:auto;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--font-color-contrast);border-radius:8px;background-color:var(--main);color:var(--font-color);box-shadow:0 1.25rem 3rem #00000040}.constraint-confirm-modal h3,.constraint-confirm-modal p{margin:0}.constraint-confirm-modal__sentence{font-size:1rem;line-height:1.45}.constraint-confirm-modal__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem}.constraint-confirm-modal__warnings{margin:0;padding:.65rem .8rem .65rem 1.6rem;border-radius:6px;background-color:#f59e0b24;color:var(--font-color);font-size:.84rem;line-height:1.4}.constraint-confirm-modal__quiet{color:var(--font-color);font-size:.84rem;opacity:.7}.constraint-confirm-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.defaultButton{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .9rem;background-color:var(--purple-color);color:var(--font-color-contrast);border:none;border-radius:5px;font-size:.875rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:opacity .2s ease,box-shadow .2s ease}.defaultButton:hover{opacity:.85;box-shadow:0 2px 5px var(--shadow-color-light)}.defaultButton:disabled{opacity:.4;cursor:not-allowed}.cancel-button.defaultButton{background-color:var(--main-auxiliary);color:var(--font-color);border:1px solid var(--tertiary)}.cancel-button.defaultButton:hover{background-color:var(--tertiary);box-shadow:none}.schedule__section{padding:.75rem;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:var(--main-auxiliary)}.schedule__section>label{display:block;font-weight:500;font-size:.95rem;margin-bottom:.5rem}.schedule__chooser{display:flex;flex-direction:column;gap:.6rem}.schedule__blueprints__container{max-height:220px;overflow-y:auto}.schedule__blueprints__container h4{margin:0 0 .4rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.or__divider{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.45;color:var(--font-color)}.or__divider:before,.or__divider:after{content:"";flex:1;height:1px;background-color:var(--tertiary)}.create__schedule__btn{align-self:flex-start}.selected__schedule__info{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;background-color:var(--main-auxiliary);border:1px solid var(--font-color-contrast);border-radius:6px;font-size:.9rem}.selected__schedule__info span{font-size:.9rem}.change__schedule__btn{flex-shrink:0;padding:.3rem .65rem;background-color:var(--main);color:var(--font-color);border:1px solid var(--tertiary);border-radius:5px;cursor:pointer;font-size:.8rem;font-family:inherit;transition:background-color .2s ease}.change__schedule__btn:hover{background-color:var(--tertiary)}.classes-chooser,.teacher-chooser{max-height:200px;overflow-y:auto;border:1px solid var(--font-color-contrast);border-radius:6px}.select-button{color:var(--font-color);opacity:.35;transition:opacity .15s ease,color .15s ease}.select-button:hover{opacity:.75}.select-button.selected{color:var(--red-color);opacity:1}.bulk-toolbar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background-color:var(--main-auxiliary);border:1px solid var(--font-color-contrast);border-radius:6px;margin-bottom:.5rem;flex-wrap:wrap}.bulk-toolbar__count{font-size:.875rem;font-weight:500}.bulk-toolbar__select{padding:.3rem .5rem;border:1px solid var(--font-color-contrast);background-color:var(--font-color-contrast);color:var(--font-color);border-radius:4px;font-size:.875rem}.table-checkbox-cell{width:2rem;text-align:center}.availability-section{padding:.75rem;border:1px solid var(--font-color-contrast);border-radius:6px;background-color:var(--main-auxiliary)}.availability-section__header{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.availability-section__header{justify-content:space-between;margin-bottom:.5rem}.availability-section__header label{font-weight:600}.availability-section__button{padding:.35rem .75rem}.availability-modal{width:min(1040px,calc(100vw - 2rem));max-height:min(760px,calc(100vh - 2rem));padding:0;border:0;border-radius:8px;background:var(--main);color:var(--font-color);box-shadow:0 22px 70px #00000052}.availability-modal::backdrop{background:#0000006b}.availability-modal__content{display:flex;flex-direction:column;max-height:min(760px,calc(100vh - 2rem))}.availability-modal__header,.availability-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}.availability-modal__close{width:2rem;height:2rem;border:1px solid var(--font-color-contrast);border-radius:6px;background:var(--main-auxiliary);color:var(--font-color);cursor:pointer}.availability-modal__body{overflow:auto;padding:.25rem 1.15rem 1rem}.availability-toolbar{display:grid;grid-template-columns:minmax(12rem,auto) 1fr;gap:.75rem;align-items:start;margin-bottom:.75rem}.availability-view-tabs,.availability-palette{display:flex;gap:.4rem;flex-wrap:wrap}.availability-view-tabs button,.availability-palette__item{min-height:2.25rem;border:1px solid var(--font-color-contrast);border-radius:6px;background:var(--main-auxiliary);color:var(--font-color);display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;cursor:pointer;font:inherit;font-size:.82rem}.availability-view-tabs button.is-active,.availability-palette__item.is-selected{outline:2px solid #2563eb;outline-offset:1px}.availability-summary-grid{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.availability-summary-chip{border:1px solid var(--font-color-contrast);border-radius:999px;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.78rem;line-height:1.15}.availability-summary-chip__swatch{width:.6rem;height:.6rem;border-radius:50%;background:currentColor}.availability-day{margin-top:.9rem}.availability-day h3{margin:0 0 .5rem;font-size:.95rem}.availability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.5rem}.availability-slot{min-height:2.55rem;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.45rem .55rem;font:inherit;font-size:.86rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-level--unavailable{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.availability-level--strong-non-preference{background:#ffedd5;border-color:#fdba74;color:#9a3412}.availability-level--non-preference{background:#fef9c3;border-color:#fde047;color:#854d0e}.availability-level--default{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.availability-level--preference{background:#dcfce7;border-color:#86efac;color:#166534}.availability-level--strong-preference{background:#ccfbf1;border-color:#5eead4;color:#115e59}.availability-timetable{display:grid;gap:.75rem;min-width:680px}.availability-timetable__day h3{margin:0 0 .4rem;font-size:.9rem}.availability-timetable__track{position:relative;min-height:24rem;border:1px solid var(--font-color-contrast);border-radius:6px;background:linear-gradient(to bottom,rgba(148,163,184,.14) 1px,transparent 1px);background-size:100% 3rem;overflow:hidden}.availability-slot--timed,.availability-overlap-region{position:absolute;left:.35rem;right:.35rem;min-height:2.25rem}.availability-overlap-region{border:1px dashed #475569;border-radius:6px;background:repeating-linear-gradient(135deg,#47556929,#47556929 7px,#ffffff6b 7px 14px);color:#334155;display:flex;align-items:center;justify-content:center;cursor:pointer}.availability-picker{position:fixed;inset:0;z-index:9;background:#00000047;display:flex;align-items:center;justify-content:center;padding:1rem}.availability-picker__panel{width:min(360px,100%);border-radius:8px;background:var(--main);color:var(--font-color);border:1px solid var(--font-color-contrast);box-shadow:0 16px 44px #00000047;display:grid;gap:.5rem;padding:1rem}.availability-picker__panel h3{margin:0 0 .25rem;font-size:1rem}@media(max-width:640px){.availability-toolbar{grid-template-columns:1fr}.availability-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.availability-timetable{min-width:0;grid-template-columns:1fr!important}.availability-slot{font-size:.8rem}}:root{--sb-bg: #E2DDD4;--sb-card: #F4F1EB;--sb-card-alt: #FAF8F3;--sb-border: rgba(24, 32, 27, .11);--sb-accent: var(--purple-color, #1E3D2F);--sb-accent-soft: rgba(30, 61, 47, .07);--sb-accent-mid: rgba(30, 61, 47, .16);--sb-highlight: var(--blue-color, #B87318);--sb-highlight-soft: rgba(184, 115, 24, .1);--sb-text: var(--font-color, #18201B);--sb-muted: rgba(24, 32, 27, .5);--sb-danger: var(--red-color, #C0432B);--sb-danger-soft: rgba(192, 67, 43, .08);--sb-success: var(--green-color, #3A7048);--sb-radius: 18px;--sb-radius-sm: 10px;--sb-shadow: 0 2px 14px rgba(24, 32, 27, .08);--sb-shadow-md: 0 6px 28px rgba(24, 32, 27, .13)}body.dark-mode{--sb-bg: #0F0D0C;--sb-card: #1C1917;--sb-card-alt: #272320;--sb-border: rgba(229, 221, 212, .09);--sb-accent: var(--purple-color, #4E7D67);--sb-accent-soft: rgba(78, 125, 103, .12);--sb-accent-mid: rgba(78, 125, 103, .24);--sb-highlight: var(--blue-color, #D4921C);--sb-highlight-soft: rgba(212, 146, 28, .12);--sb-text: var(--font-color, #E5DDD4);--sb-muted: rgba(229, 221, 212, .46);--sb-shadow: 0 2px 14px rgba(0, 0, 0, .28);--sb-shadow-md: 0 6px 28px rgba(0, 0, 0, .4)}.schedule-builder-modal{width:min(1200px,96vw);max-width:1200px;max-height:min(95vh,920px);border:none;padding:0;background:transparent;border-radius:24px;overflow:hidden;overflow-y:auto}.schedule-builder-modal::backdrop{background:#12251885;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-shared-schedule-modal{width:min(1260px,97vw);max-width:1260px}.project-shared-schedule-modal__shell{display:grid;grid-template-rows:auto 1fr;height:100%;max-height:inherit;min-height:0;background:var(--sb-bg)}.project-shared-schedule-modal__shell>.schedule-builder{min-height:0;display:grid;grid-template-rows:auto 1fr}.project-shared-schedule-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--sb-border);background:linear-gradient(135deg,var(--sb-card) 0%,var(--sb-card-alt) 100%)}.project-shared-schedule-modal__bar-copy{display:grid;gap:.2rem}.project-shared-schedule-modal__eyebrow{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-highlight)}.project-shared-schedule-modal__bar-copy h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:600;color:var(--sb-text)}.project-shared-schedule-modal__bar-actions{display:flex;align-items:center;gap:.7rem}.project-shared-schedule-modal__ghost{border:1.5px solid var(--sb-border);border-radius:999px;padding:.6rem 1rem;background:var(--sb-card);color:var(--sb-text);font:inherit;font-weight:600;cursor:pointer}.project-shared-schedule-modal__ghost:hover{border-color:var(--sb-accent);color:var(--sb-accent)}.project-shared-schedule-modal__apply{min-width:9.5rem}.project-shared-schedule-brief{--brief-glow: rgba(184, 115, 24, .08);display:grid;gap:1.1rem;padding:1.2rem;border:1px solid var(--sb-border);border-radius:14px;background:radial-gradient(circle at top left,var(--brief-glow) 0,transparent 36%),linear-gradient(145deg,var(--sb-card) 0%,var(--sb-card-alt) 100%);box-shadow:var(--sb-shadow)}.project-shared-schedule-brief__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.project-shared-schedule-brief__copy{display:grid;gap:.25rem;max-width:54rem}.project-shared-schedule-brief__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-highlight)}.project-shared-schedule-brief__title{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:600;line-height:1.05;color:var(--sb-text)}.project-shared-schedule-brief__text{margin:0;color:var(--sb-muted);font-size:.92rem;line-height:1.55}.project-shared-schedule-brief__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;flex-shrink:0}.project-shared-schedule-brief__status{padding:.38rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-shared-schedule-brief__status.is-ready{background:#3a70481f;color:var(--sb-success)}.project-shared-schedule-brief__status.is-pending{background:var(--sb-card);color:var(--sb-muted);border:1px solid var(--sb-border)}.project-shared-schedule-brief__open{min-width:12rem}.project-shared-schedule-brief__metrics{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(5,minmax(0,1fr));gap:.7rem}.project-shared-schedule-brief__metric{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--sb-border);border-radius:10px;background:var(--sb-card-alt);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body.dark-mode .project-shared-schedule-brief__metric{background:var(--sb-card-alt)}.project-shared-schedule-brief__metric-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sb-muted)}.project-shared-schedule-brief__metric--feature .project-shared-schedule-brief__metric-label{color:var(--font-color)}.project-shared-schedule-brief__metric-value{font-size:1.1rem;font-weight:700;color:var(--sb-text)}.project-shared-schedule-brief__metric--feature .project-shared-schedule-brief__metric-value{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;line-height:1;color:var(--font-color)}.schedule-builder{display:grid;gap:0;background:var(--sb-bg);color:var(--sb-text);border-radius:24px;box-shadow:var(--sb-shadow-md);border:1px solid var(--sb-border);overflow:hidden;font-family:Montserrat,system-ui,sans-serif}.schedule-builder--inline{border-radius:0;box-shadow:none;border-color:transparent;background:transparent;overflow:visible}.sb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.75rem 2rem 1.5rem;border-bottom:1px solid var(--sb-border);background:var(--sb-card)}.schedule-builder--inline .sb-header{padding:1.25rem 0 1rem;background:transparent;border-bottom-color:var(--sb-border)}.sb-header__titles{flex:1 1 auto;min-width:0}.sb-eyebrow{margin:0 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-highlight)}.sb-title{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:600;line-height:1.15;color:var(--sb-text)}.sb-subtitle{margin:.4rem 0 0;font-size:.88rem;color:var(--sb-muted);line-height:1.5}.schedule-builder--compact{border-radius:0;box-shadow:none;border:none}.schedule-builder--compact .sb-header{padding:.6rem 1.5rem;justify-content:flex-end;background:#1e3d2f0b;border-bottom-color:var(--sb-border);min-height:0}body.dark-mode .schedule-builder--compact .sb-header{background:#4e7d6712}.sb-mode-switch{display:inline-flex;gap:.35rem;padding:.3rem;border-radius:999px;background:var(--sb-bg);border:1.5px solid rgba(30,61,47,.18);flex-shrink:0;align-self:flex-start;margin-top:.2rem}body.dark-mode .sb-mode-switch{border-color:#4e7d6747}.sb-mode-pill{border:none;border-radius:999px;padding:.5rem 1.1rem;background:transparent;color:var(--sb-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .17s,color .17s,box-shadow .17s;font-family:inherit;white-space:nowrap}.sb-mode-pill.is-active{background:var(--sb-accent);color:#f4f1eb;box-shadow:0 2px 8px #1e3d2f33}body.dark-mode .sb-mode-pill.is-active{color:#131110}.sb-mode-pill:not(.is-active):hover{background:var(--sb-accent-soft);color:var(--sb-text)}.sb-mode-pill.is-disabled{opacity:.45;cursor:default;display:inline-flex;align-items:center;gap:.4rem}.sb-mode-pill.is-disabled span{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.sb-body{display:flex;gap:0;align-items:stretch;min-height:0}.sb-workspace{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.25rem;padding:0 10px;overflow-y:auto}.schedule-builder--inline .sb-workspace{padding:1.25rem 0 1.5rem;overflow-y:visible;height:auto}.schedule-builder--inline .sb-body{overflow:visible;height:auto}.sb-name-field{display:grid;gap:.45rem}.sb-label{font-size:.82rem;font-weight:600;letter-spacing:.03em;color:var(--sb-muted);text-transform:uppercase}.sb-input{width:100%;padding:.72rem 1rem;border:1.5px solid var(--sb-border);border-radius:var(--sb-radius-sm);background:var(--sb-card-alt);color:var(--sb-text);font-size:.95rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.sb-input:focus{outline:none;border-color:var(--sb-accent);box-shadow:0 0 0 3px var(--sb-accent-soft)}.sb-section{border:1.5px solid var(--sb-border);border-radius:var(--sb-radius);background:var(--sb-card);min-width:0}.sb-section__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--sb-border);background:#1e3d2f0e}body.dark-mode .sb-section__head{background:#4e7d6717}.sb-section__head h3{margin:0;font-size:.88rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-accent)}.sb-section__body{padding:1.25rem;overflow-x:auto}.sb-day-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sb-day-chip{padding:.55rem 1.05rem;border:1.5px solid var(--sb-border);border-radius:999px;background:var(--sb-card);color:var(--sb-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.sb-day-chip.is-active{background:var(--sb-accent);border-color:var(--sb-accent);color:#f4f1eb;box-shadow:0 2px 8px #1e3d2f33}body.dark-mode .sb-day-chip.is-active{color:#131110}.sb-day-chip:not(.is-active):hover{border-color:var(--sb-accent);color:var(--sb-accent);background:var(--sb-accent-soft)}.sb-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.sb-field{display:grid;gap:.4rem}.sb-field label,.sb-field>span{font-size:.8rem;font-weight:600;letter-spacing:.03em;color:var(--sb-muted);text-transform:uppercase}.sb-field input[type=time],.sb-field input[type=number]{width:100%;padding:.72rem .9rem;border:1.5px solid var(--sb-border);border-radius:var(--sb-radius-sm);background:var(--sb-card-alt);color:var(--sb-text);font-size:.95rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.sb-field input:focus{outline:none;border-color:var(--sb-accent);box-shadow:0 0 0 3px var(--sb-accent-soft)}.sb-breaks-list{display:grid;gap:.75rem}.sb-break-day{border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);overflow:hidden}.sb-break-day__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#1e3d2f0d;border-bottom:1px solid var(--sb-border)}body.dark-mode .sb-break-day__head{background:#4e7d6717}.sb-break-day__head:last-child{border-bottom:none}.sb-break-day__name{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.03em;color:var(--sb-text)}.sb-ghost-btn{border:1.5px solid var(--sb-accent-mid);border-radius:999px;padding:.35rem .85rem;background:transparent;color:var(--sb-accent);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;letter-spacing:.02em;white-space:nowrap}.sb-ghost-btn:hover:not(:disabled){background:var(--sb-accent);border-color:var(--sb-accent);color:#f4f1eb}body.dark-mode .sb-ghost-btn:hover:not(:disabled){color:#131110}.sb-ghost-btn:disabled{opacity:.4;cursor:not-allowed}.sb-break-day__rows{display:grid;gap:0}.sb-break-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:.5rem;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--sb-border)}.sb-break-row:last-child{border-bottom:none}.sb-break-row__label{font-size:.78rem;font-weight:700;color:var(--sb-muted);letter-spacing:.04em;white-space:nowrap;padding-right:.25rem}.sb-break-row input[type=time]{padding:.52rem .75rem;border:1.5px solid var(--sb-border);border-radius:8px;background:var(--sb-card-alt);color:var(--sb-text);font-size:.88rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;width:100%}.sb-break-row input[type=time]:focus{outline:none;border-color:var(--sb-accent);box-shadow:0 0 0 3px var(--sb-accent-soft)}.sb-break-row__arrow{font-size:.85rem;color:var(--sb-muted);text-align:center;padding:0 .1rem}.sb-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid var(--sb-border);border-radius:50%;background:transparent;color:var(--sb-muted);font-size:1rem;cursor:pointer;transition:all .15s;flex-shrink:0;font-family:inherit;line-height:1}.sb-icon-btn:hover{border-color:var(--sb-danger);color:var(--sb-danger);background:var(--sb-danger-soft)}.sb-empty{padding:.8rem 1rem;font-size:.84rem;color:var(--sb-muted);text-align:center;font-style:italic}.sb-advanced-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.sb-day-col{border:1.5px solid var(--sb-border);border-radius:var(--sb-radius-sm);background:var(--sb-card);overflow:hidden;min-width:160px;display:flex;flex-direction:column}.sb-day-col__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--sb-border);background:#1e3d2f0e}body.dark-mode .sb-day-col__head{background:#4e7d6717}.sb-day-col__head h3{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-accent)}.sb-day-col__add{border:1px solid var(--sb-accent-mid);border-radius:999px;padding:.2rem .6rem;background:transparent;color:var(--sb-accent);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.sb-day-col__add:hover{background:var(--sb-accent);color:#f4f1eb}body.dark-mode .sb-day-col__add:hover{color:#131110}.sb-day-col__modules{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;flex:1}.sb-module-block{width:100%;padding:.6rem .75rem;border:1.5px solid var(--sb-accent-mid);border-radius:8px;background:var(--sb-accent-soft);text-align:left;cursor:pointer;transition:all .15s;font-family:inherit;display:grid;gap:.15rem}.sb-module-block.is-break{border-color:#c0432b33;background:var(--sb-danger-soft)}.sb-module-block:hover{transform:translateY(-1px);box-shadow:0 3px 10px #1e3d2f1f}.sb-module-block.is-break:hover{box-shadow:0 3px 10px #c0432b1f}.sb-module-block__time{font-size:.82rem;font-weight:600;color:var(--sb-text)}.sb-module-block__type{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--sb-accent)}.sb-module-block.is-break .sb-module-block__type{color:var(--sb-danger)}.sb-errors{display:grid;gap:.35rem;padding:.85rem 1.1rem;border:1.5px solid rgba(192,67,43,.22);border-radius:var(--sb-radius-sm);background:var(--sb-danger-soft);color:var(--sb-danger)}.sb-errors p{margin:0;font-size:.87rem;font-weight:500}.sb-summary{width:300px;flex:0 0 300px;border-left:1px solid var(--sb-border);background:var(--sb-card);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.schedule-builder--inline .sb-summary,.schedule-builder--compact .sb-summary{display:none}.sb-summary-card{position:sticky;top:1rem;display:grid;gap:1rem}.sb-summary__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sb-summary__head p{margin:0;font-size:.88rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--sb-muted)}.sb-summary__status{padding:.3rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sb-summary__status.is-ready{background:#3a70481f;color:var(--sb-success)}.sb-summary__status.is-pending{background:var(--sb-card-alt);color:var(--sb-muted)}.sb-summary__primary{padding:1.1rem;border-radius:var(--sb-radius-sm);background:var(--sb-accent);color:#f4f1eb;text-align:center}body.dark-mode .sb-summary__primary{color:#131110}.sb-summary__primary-value{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;font-weight:700;line-height:1;margin-bottom:.2rem}.sb-summary__primary-label{font-size:.73rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.sb-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.sb-metric{padding:.75rem .8rem;border-radius:10px;background:var(--sb-card-alt);border:1px solid var(--sb-border);display:grid;gap:.2rem}.sb-metric__label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sb-muted)}.sb-metric__value{font-size:1rem;font-weight:700;color:var(--sb-text)}.sb-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;border-top:1px solid var(--sb-border);background:var(--sb-card)}.schedule-builder--inline .sb-actions{padding:1rem 0 0;border-top:none;background:transparent}.sb-module-dialog{width:min(420px,92vw);border:none;border-radius:20px;padding:0;box-shadow:0 20px 60px #18201b33;overflow:hidden;background:var(--sb-card);color:var(--sb-text)}.sb-module-dialog::backdrop{background:#12251880;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sb-module-dialog__head{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--sb-border);background:#1e3d2f0e}body.dark-mode .sb-module-dialog__head{background:#4e7d6717}.sb-module-dialog__head h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--sb-text)}.sb-module-dialog__body{display:grid;gap:1rem;padding:1.25rem 1.5rem}.sb-checkbox-row{display:flex;align-items:center;gap:.6rem;cursor:pointer}.sb-checkbox-row input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--sb-accent);cursor:pointer}.sb-checkbox-row span{font-size:.9rem;font-weight:500;color:var(--sb-text)}.sb-module-dialog__actions{display:flex;align-items:center;gap:.6rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--sb-border)}.sb-module-dialog__actions .spacer{flex:1}.sb-inline-note{padding:.9rem 1.1rem;border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);background:var(--sb-card);color:var(--sb-muted);font-size:.88rem}.schedule__chooser,.schedule__blueprints__container{display:grid;gap:1rem}.selected__schedule__info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border:1.5px solid var(--sb-border, #E8E3D8);border-radius:14px;background:var(--sb-card, var(--white-color, #FAFAF7));box-shadow:0 2px 8px #18201b0d}.selected__schedule__info strong{font-size:.92rem;font-weight:600}.or__divider{text-align:center;color:var(--sb-muted, rgba(24, 32, 27, .52));font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem 0}.selection__link,.edit__schedule__btn,.delete__schedule__btn,.change__schedule__btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;transition:all .15s;font-family:inherit}.selection__link,.edit__schedule__btn,.delete__schedule__btn{width:2.2rem;height:2.2rem;border:1.5px solid var(--sb-border, #E8E3D8);background:var(--sb-card, #FAFAF7);color:var(--sb-text, #18201B)}.selection__link:hover,.edit__schedule__btn:hover{border-color:var(--purple-color, #1E3D2F);color:var(--purple-color, #1E3D2F);background:#1e3d2f12}.delete__schedule__btn:hover{border-color:#c0432b4d;color:var(--red-color, #C0432B);background:#c0432b0f}.change__schedule__btn{border:1.5px solid var(--purple-color, #1E3D2F);padding:.45rem 1rem;background:transparent;color:var(--purple-color, #1E3D2F);font-size:.82rem;font-weight:700}.change__schedule__btn:hover{background:var(--purple-color, #1E3D2F);color:#f4f1eb}.schedule__blueprints__container h4{margin:0;font-size:.92rem;font-weight:700;color:var(--font-color, #18201B)}.project-shared-schedule-modal__apply.defaultButton{border-radius:999px;padding:.6rem 1.3rem}.project-shared-schedule-brief__open.defaultButton{border-radius:999px;padding:.52rem 1.15rem;font-size:.85rem;font-weight:600}.sb-actions .defaultButton{border-radius:999px;padding:.55rem 1.25rem;font-size:.875rem}.sb-module-dialog__actions .defaultButton{border-radius:999px;padding:.5rem 1.1rem;font-size:.875rem}@media(max-width:1000px){.project-shared-schedule-brief__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.project-shared-schedule-brief__metric--feature{grid-column:1 / -1}.sb-body{flex-direction:column}.sb-summary{width:100%;flex-basis:auto;border-left:none;border-top:1px solid var(--sb-border)}.sb-summary-card{position:static}.sb-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-builder--inline .sb-summary,.schedule-builder--compact .sb-summary{display:none}}@media(max-width:720px){.project-shared-schedule-brief{padding:1rem}.project-shared-schedule-brief__hero,.project-shared-schedule-modal__bar{flex-direction:column;align-items:flex-start}.project-shared-schedule-brief__actions,.project-shared-schedule-modal__bar-actions{width:100%;justify-items:stretch}.project-shared-schedule-brief__open,.project-shared-schedule-modal__ghost,.project-shared-schedule-modal__apply{width:100%}.project-shared-schedule-brief__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-header,.sb-workspace,.sb-actions{padding-left:1.25rem;padding-right:1.25rem}.sb-header{flex-direction:column;align-items:flex-start;gap:1rem}.sb-settings-grid{grid-template-columns:1fr 1fr}.sb-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-advanced-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}.sb-break-row{grid-template-columns:auto 1fr auto 1fr auto}}@media(max-width:520px){.project-shared-schedule-brief__metrics,.sb-settings-grid{grid-template-columns:1fr}.sb-advanced-grid{grid-template-columns:repeat(2,minmax(145px,1fr))}}.classroom-management__toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem}.classroom-management__filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.classroom-management__filters input,.classroom-management__filters select{min-width:200px}.classroom-management__actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.clf-card-wrapper{width:100%}.clf-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;background:var(--main-auxiliary);border:1.5px solid var(--tertiary);border-radius:14px;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none;outline:none;width:100%;box-sizing:border-box}.clf-card:not(.clf-card--readonly):not(.clf-card--locked):hover,.clf-card:not(.clf-card--readonly):not(.clf-card--locked):focus-visible{border-color:var(--purple-color);background:var(--main);box-shadow:0 2px 14px #1e3d2f17}.clf-card--active{border-color:var(--purple-color);background:var(--main);box-shadow:0 2px 12px #1e3d2f14}.clf-card--locked{cursor:pointer}.clf-card--readonly{cursor:default}.clf-card__icon-wrap{width:46px;height:46px;border-radius:10px;background:var(--main);border:1px solid var(--tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--purple-color);transition:background .2s ease,border-color .2s ease,color .2s ease}.clf-card--active .clf-card__icon-wrap{background:var(--purple-color);color:var(--font-color-contrast);border-color:var(--purple-color)}.clf-card__body{flex:1;min-width:0}.clf-card__title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.clf-card__title{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;color:var(--font-color)}.clf-card__badge{display:inline-flex;align-items:center;font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.1rem .4rem;border-radius:4px;line-height:1.4}.clf-card__badge--pro{background:#b873181f;color:var(--blue-color)}.clf-card__desc{font-size:.84rem;color:var(--font-color);opacity:.58;line-height:1.4}.clf-toggle{width:46px;height:26px;border-radius:13px;background:var(--tertiary);position:relative;flex-shrink:0;transition:background .22s ease}.clf-toggle--on{background:var(--purple-color)}.clf-toggle__knob{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .22s ease;box-shadow:0 1px 4px #00000038}.clf-toggle--on .clf-toggle__knob{transform:translate(20px)}.clf-card__readonly-tag,.clf-card__upgrade-tag{font-size:.8rem;font-weight:600;padding:.25rem .65rem;border-radius:6px;flex-shrink:0;white-space:nowrap}.clf-card__readonly-tag{color:var(--font-color);opacity:.5;border:1px solid var(--tertiary)}.clf-card__upgrade-tag{background:#b873181a;color:var(--blue-color);border:1px solid rgba(184,115,24,.25);font-size:.75rem;letter-spacing:.04em}.cm-mb-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .8rem .38rem .55rem;background:var(--main-auxiliary);border:1.5px solid var(--tertiary);border-radius:999px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600;color:var(--font-color);opacity:.72;transition:border-color .18s ease,opacity .18s ease,background .18s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.cm-mb-toggle:hover{opacity:1;border-color:var(--purple-color);background:var(--main)}.cm-mb-toggle--active{opacity:1;border-color:var(--purple-color);background:var(--main);color:var(--purple-color)}.cm-mb-toggle__pill{width:28px;height:16px;border-radius:8px;background:var(--tertiary);position:relative;flex-shrink:0;transition:background .22s ease}.cm-mb-toggle__pill--on{background:var(--purple-color)}.cm-mb-toggle__knob{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .22s ease;box-shadow:0 1px 3px #0003}.cm-mb-toggle__pill--on .cm-mb-toggle__knob{transform:translate(12px)}.cm-mb-toggle__label{display:inline-flex;align-items:center;gap:.3rem}.cm-field-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.cm-field-label{font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--font-color);opacity:.55}.cm-field-input,.cm-field-select{width:100%;box-sizing:border-box;padding:.6rem .75rem;background:var(--font-color-contrast);border:1.5px solid var(--tertiary);border-radius:8px;font-family:Montserrat,sans-serif;font-size:.875rem;color:var(--font-color);transition:border-color .18s ease,box-shadow .18s ease;outline:none}.cm-field-input:focus,.cm-field-select:focus{border-color:var(--purple-color);box-shadow:0 0 0 3px #1e3d2f14}.cm-classroom-modal{max-width:560px}.cm-classroom-modal__content{border-radius:16px!important;overflow:hidden;box-shadow:0 24px 64px #0000002e!important}.cm-classroom-modal__header{display:flex!important;align-items:center;gap:.75rem;padding:1.1rem 1.25rem!important;background:var(--main-auxiliary)!important;border-bottom:1px solid var(--tertiary)!important;position:relative}.cm-classroom-modal__header h2{flex:1;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem!important;font-weight:600;color:var(--font-color);margin:0!important}.cm-classroom-modal__header-icon{width:32px;height:32px;border-radius:8px;background:var(--purple-color);color:var(--font-color-contrast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cm-classroom-modal__close{width:28px;height:28px;border-radius:6px;background:transparent;border:none;cursor:pointer;font-size:1.2rem;line-height:1;color:var(--font-color);opacity:.4;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .18s,background .18s}.cm-classroom-modal__close:hover{opacity:.8;background:var(--tertiary)}.cm-classroom-modal__body{padding:1.25rem!important}.cm-classroom-modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--tertiary);margin-top:.5rem}.cm-buildings-modal{max-width:620px;max-height:88vh;overflow:visible}.cm-buildings-modal__content{display:flex!important;flex-direction:column;height:100%;max-height:calc(88vh - 2rem);border-radius:16px!important;overflow:hidden!important;box-shadow:0 24px 64px #0000002e!important}.cm-buildings-modal__header{display:flex!important;align-items:center;gap:.75rem;padding:1.1rem 1.25rem!important;background:var(--main-auxiliary)!important;border-bottom:1px solid var(--tertiary)!important;flex-shrink:0}.cm-buildings-modal__header h2{flex:1;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem!important;font-weight:600;color:var(--font-color);margin:0!important}.cm-buildings-modal__body{overflow-y:auto!important;padding:1.25rem!important;display:flex;flex-direction:column;gap:0}.cm-bm-section{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--tertiary)}.cm-bm-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cm-bm-section--add{background:var(--main-auxiliary);border-radius:12px;padding:1rem 1.1rem;border:1.5px dashed var(--tertiary);margin-bottom:0}.cm-bm-section__title{font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--font-color);opacity:.45;margin:0 0 .75rem}.cm-bm-section__desc{font-size:.8rem;color:var(--font-color);opacity:.55;margin:0 0 .75rem;line-height:1.4}.cm-building-cards{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.cm-building-card{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;background:var(--main);border:1.5px solid var(--tertiary);border-radius:10px;transition:border-color .18s}.cm-building-card:focus-within{border-color:var(--purple-color)}.cm-building-card__icon{color:var(--purple-color);opacity:.6;flex-shrink:0;display:flex;align-items:center}.cm-building-card__name-input{flex:1;background:transparent;border:none;outline:none;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;color:var(--font-color);padding:0;min-width:0}.cm-building-card__save-btn{font-size:.78rem!important;padding:.3rem .65rem!important;flex-shrink:0}.cm-building-card__delete-btn{width:28px;height:28px;border-radius:6px;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--font-color);opacity:.35;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .18s,color .18s,background .18s}.cm-building-card__delete-btn:hover{opacity:1;color:var(--red-color);background:#c0432b14;border-color:#c0432b33}.cm-penalty-grid{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.cm-penalty-grid--new{margin-top:.75rem}.cm-penalty-row{display:flex;flex-direction:column;gap:.3rem;padding:.65rem .85rem;background:var(--main);border:1.5px solid var(--tertiary);border-radius:10px}.cm-penalty-row__labels{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600}.cm-penalty-row__from{color:var(--purple-color);font-weight:700}.cm-penalty-row__from--new{color:var(--blue-color);font-style:italic}.cm-penalty-row__arrow{color:var(--font-color);opacity:.3;font-size:.9rem}.cm-penalty-row__to{color:var(--font-color);opacity:.7}.cm-penalty-row__slider-wrap{display:flex;align-items:center;gap:.75rem}.cm-penalty-slider{-webkit-appearance:none;appearance:none;flex:1;height:5px;background:var(--tertiary);border-radius:3px;outline:none;cursor:pointer;transition:background .18s}.cm-penalty-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--purple-color);cursor:pointer;box-shadow:0 1px 5px #1e3d2f4d;border:2px solid #fff;transition:transform .15s ease}.cm-penalty-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.cm-penalty-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--purple-color);cursor:pointer;box-shadow:0 1px 5px #1e3d2f4d;border:2px solid #fff}.cm-penalty-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--purple-color) calc(var(--val, 0) * 1%),var(--tertiary) calc(var(--val, 0) * 1%));border-radius:3px;height:5px}.cm-penalty-row__value{min-width:2.5rem;text-align:center;font-size:.82rem;font-weight:700;color:var(--purple-color);background:#1e3d2f12;border-radius:6px;padding:.2rem .45rem;flex-shrink:0;font-family:Montserrat,sans-serif}.constraint-penalty-slider-wrap{display:flex;align-items:center;gap:.6rem;flex:1;min-width:120px}.constraint-penalty-range{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:var(--tertiary);border-radius:2px;outline:none;cursor:pointer}.constraint-penalty-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--purple-color);cursor:pointer;box-shadow:0 1px 4px #1e3d2f47;border:2px solid #fff}.constraint-penalty-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--purple-color);cursor:pointer;box-shadow:0 1px 4px #1e3d2f47;border:2px solid #fff}.constraint-penalty-range__value{min-width:2.2rem;text-align:center;font-size:.8rem;font-weight:700;color:var(--purple-color);background:#1e3d2f12;border-radius:5px;padding:.18rem .4rem;flex-shrink:0;font-family:Montserrat,sans-serif}.clf-sub-section{margin-top:8px;padding-left:24px;border-left:2px solid var(--tertiary)}.clf-sub-card.clf-card{padding:.9rem 1.2rem}.clf-sub-card .clf-card__icon-wrap{width:38px;height:38px}.clf-sub-card .clf-card__title{font-size:.93rem}.clf-sub-card .clf-card__desc{font-size:.79rem}.clf-sub-card .clf-toggle{width:40px;height:22px;border-radius:11px}.clf-sub-card .clf-toggle__knob{width:16px;height:16px;top:3px;left:3px}.clf-sub-card .clf-toggle--on .clf-toggle__knob{transform:translate(18px)}body.dark-mode .clf-card__icon-wrap{background:var(--main-auxiliary);border-color:var(--tertiary)}body.dark-mode .clf-card--active .clf-card__icon-wrap{background:var(--purple-color);border-color:var(--purple-color)}body.dark-mode .clf-toggle__knob,body.dark-mode .cm-mb-toggle__knob{background:var(--font-color-contrast)}body.dark-mode .cm-penalty-row,body.dark-mode .cm-building-card{background:var(--main-auxiliary)}body.dark-mode .cm-bm-section--add,body.dark-mode .cm-penalty-slider,body.dark-mode .constraint-penalty-range{background:var(--tertiary)}body.has-project-nav>.container,body.has-project-nav .site-footer{padding-bottom:68px}@media(min-width:768px){:root{--pbn-w: 112px}body.has-project-nav>.container,body.has-project-nav .site-footer{padding-bottom:0;padding-left:var(--pbn-w)}}.pbn{position:fixed;inset:auto 0 0;z-index:140;display:flex;flex-direction:row;height:60px;background:var(--white-color);border-top:1px solid var(--tertiary);box-shadow:0 -4px 20px color-mix(in srgb,var(--font-color) 5%,transparent);font-family:Montserrat,sans-serif}@media(min-width:768px){.pbn{inset:64px auto 0 0;z-index:240;width:var(--pbn-w, 112px);height:auto;flex-direction:column;align-items:center;border-top:none;border-right:1px solid var(--tertiary);box-shadow:2px 0 16px color-mix(in srgb,var(--font-color) 4%,transparent);padding:1rem 0rem;gap:2px;overflow:visible}}.pbn__item{position:relative;flex:1;display:flex;align-items:stretch}@media(min-width:768px){.pbn__item{flex:0 0 auto;width:100%;padding:0 8px;box-sizing:border-box;display:block}}.pbn__trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;padding:0 1rem;text-decoration:none;color:color-mix(in srgb,var(--font-color) 42%,transparent);transition:color .14s ease,background .14s ease;cursor:pointer;border:none;background:none;position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pbn__item--active .pbn__trigger{color:var(--purple-color)}.pbn__item--active .pbn__trigger:after{content:"";position:absolute;top:0;left:28%;right:28%;height:2px;background:var(--purple-color);border-radius:0 0 3px 3px}.pbn__item--disabled .pbn__trigger{opacity:.28;cursor:not-allowed;pointer-events:none}@media(min-width:768px){.pbn__trigger{height:52px;border-radius:10px;margin:0;width:100%;box-sizing:border-box}.pbn__item--active .pbn__trigger:after{display:none}.pbn__item--active .pbn__trigger:before{content:"";position:absolute;left:0;top:28%;bottom:28%;width:3px;border-radius:0 3px 3px 0;background:var(--purple-color)}.pbn__item--active .pbn__trigger{background:color-mix(in srgb,var(--purple-color) 8%,transparent)}.pbn__item:not(.pbn__item--disabled):hover .pbn__trigger{color:var(--font-color);background:color-mix(in srgb,var(--font-color) 5%,transparent)}.pbn__item--active:hover .pbn__trigger{background:color-mix(in srgb,var(--purple-color) 11%,transparent);color:var(--purple-color)}}.pbn__icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .14s ease}.pbn__icon svg{width:100%;height:100%}@media(min-width:768px){.pbn__item:not(.pbn__item--disabled):hover .pbn__icon{transform:scale(1.1)}}.pbn__label{font-size:.58rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1;white-space:nowrap}.pbn__flyout{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(6px);min-width:148px;background:var(--white-color);border:1px solid var(--tertiary);border-radius:12px;box-shadow:0 -2px 8px color-mix(in srgb,var(--font-color) 4%,transparent),0 8px 32px color-mix(in srgb,var(--font-color) 10%,transparent);padding:6px;display:flex;flex-direction:column;gap:1px;opacity:0;pointer-events:none;transition:opacity .17s ease,transform .17s ease;z-index:20;max-width:calc(100vw - 24px)}.pbn__item:first-child .pbn__flyout{left:0;transform:translate(0) translateY(6px);z-index:300}.pbn__item:last-child .pbn__flyout{left:auto;right:0;transform:translate(0) translateY(6px)}.pbn__item:not(.pbn__item--disabled):hover .pbn__flyout{opacity:1;pointer-events:all;transform:translate(-50%) translateY(0)}.pbn__item:first-child:not(.pbn__item--disabled):hover .pbn__flyout,.pbn__item:last-child:not(.pbn__item--disabled):hover .pbn__flyout{transform:translate(0) translateY(0)}@media(min-width:768px){.pbn__flyout{bottom:auto;top:50%;left:calc(100% + 10px);right:auto;transform:translateY(-50%) translate(-10px);min-width:192px;max-width:none;border-radius:10px;box-shadow:0 0 0 1px var(--tertiary),6px 8px 30px color-mix(in srgb,var(--font-color) 8%,transparent)}.pbn__item:not(.pbn__item--disabled):hover .pbn__flyout{transform:translateY(-50%) translate(0)}.pbn__item:first-child .pbn__flyout,.pbn__item:last-child .pbn__flyout{left:calc(100% + 10px);right:auto;bottom:auto;top:50%}.pbn__item:first-child:not(.pbn__item--disabled):hover .pbn__flyout,.pbn__item:last-child:not(.pbn__item--disabled):hover .pbn__flyout{transform:translateY(-50%) translate(0)}}.pbn__flyout:after{content:"";position:absolute;left:-8px;right:-8px;top:100%;height:14px;background:transparent}@media(min-width:768px){.pbn__flyout:after{inset:-8px 100% -8px auto;height:auto;width:14px}}.pbn__flyout-title{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--font-color) 38%,transparent);padding:4px 8px 7px;border-bottom:1px solid var(--tertiary);margin-bottom:3px;white-space:nowrap}.pbn__flyout-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;font-size:.8rem;font-weight:500;letter-spacing:.01em;color:color-mix(in srgb,var(--font-color) 68%,transparent);text-decoration:none;white-space:nowrap;line-height:1;transition:color .12s ease,background .12s ease}.pbn__flyout-link:hover:not(.pbn__flyout-link--disabled):not(.pbn__flyout-link--active){color:var(--font-color);background:color-mix(in srgb,var(--font-color) 5%,transparent)}.pbn__flyout-link--active{color:var(--purple-color);background:color-mix(in srgb,var(--purple-color) 8%,transparent);font-weight:600}.pbn__flyout-link--disabled{opacity:.38;cursor:default;pointer-events:none}.pbn__badge{display:inline-flex;align-items:center;padding:2px 5px;background:color-mix(in srgb,var(--blue-color) 12%,transparent);color:var(--blue-color);border-radius:999px;font-size:.56rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1;flex-shrink:0}body.dark-mode .pbn{background:var(--main-auxiliary);border-color:color-mix(in srgb,var(--font-color) 10%,transparent);box-shadow:0 -4px 20px color-mix(in srgb,#000 20%,transparent)}@media(min-width:768px){body.dark-mode .pbn{box-shadow:2px 0 16px color-mix(in srgb,#000 25%,transparent)}}body.dark-mode .pbn__flyout{background:color-mix(in srgb,var(--main-auxiliary) 96%,var(--white-color));border-color:color-mix(in srgb,var(--font-color) 12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--font-color) 10%,transparent),6px 8px 30px color-mix(in srgb,#000 35%,transparent)}body.dark-mode .pbn__flyout-title{border-bottom-color:color-mix(in srgb,var(--font-color) 12%,transparent)}body.dark-mode .pbn__item--active .pbn__trigger,body.dark-mode .pbn__flyout-link--active{background:color-mix(in srgb,var(--purple-color) 14%,transparent)}@media(max-width:479px){.pbn__label{font-size:.52rem}.pbn__icon{width:16px;height:16px}}.pw-page--hub .hub-layout{max-width:960px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.hub-back{display:inline-block;font-size:.82rem;color:color-mix(in srgb,var(--font-color) 50%,transparent);text-decoration:none;margin-bottom:1.2rem;transition:color .15s}.hub-back:hover{color:var(--font-color)}.hub-title{margin-bottom:2.2rem}.hub-title__name{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;line-height:1.15;color:var(--font-color);margin:0 0 .4rem}.hub-title__desc{font-size:.95rem;color:color-mix(in srgb,var(--font-color) 55%,transparent);margin:0;max-width:560px}.hub-dashboard{display:flex;flex-direction:column;gap:1.2rem}.hub-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.hub-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem}.hub-card--ring{grid-column:1;grid-row:1 / 3}.hub-card--status{grid-column:2;grid-row:1}.hub-card--feasib{grid-column:3;grid-row:1}.hub-card--preview{grid-column:2;grid-row:2}.hub-card--gen{grid-column:3;grid-row:2}@media(max-width:700px){.hub-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.hub-card--ring{grid-column:1 / 3;grid-row:1}.hub-card--status{grid-column:1;grid-row:2}.hub-card--feasib{grid-column:2;grid-row:2}.hub-card--preview{grid-column:1;grid-row:3}.hub-card--gen{grid-column:2;grid-row:3}}@media(max-width:440px){.hub-grid{grid-template-columns:1fr;grid-template-rows:auto}.hub-card--ring,.hub-card--status,.hub-card--feasib,.hub-card--preview,.hub-card--gen{grid-column:1;grid-row:auto}}.hub-card{background:color-mix(in srgb,var(--white-color) 85%,var(--main));border:1px solid color-mix(in srgb,var(--font-color) 7%,transparent);border-radius:1.4rem;padding:1.4rem;display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .18s}.hub-card:hover{box-shadow:0 6px 24px color-mix(in srgb,var(--dark-blue-color) 8%,transparent)}.hub-card__title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--font-color) 45%,transparent);margin:0}.hub-card__sub{font-size:.82rem;color:color-mix(in srgb,var(--font-color) 55%,transparent);margin:0}.hub-card__head-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hub-card__loading{width:100%;height:2rem;border-radius:.5rem;background:color-mix(in srgb,var(--font-color) 6%,transparent);animation:hub-pulse 1.4s ease-in-out infinite}@keyframes hub-pulse{0%,to{opacity:1}50%{opacity:.4}}.hub-card__empty{font-size:.85rem;color:color-mix(in srgb,var(--font-color) 50%,transparent);margin:0}.hub-card__empty a{color:var(--blue-color);text-decoration:none}.hub-card__empty a:hover{text-decoration:underline}.hub-card__action{margin-top:auto}.hub-card__actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}.hub-card--ring{align-items:center;justify-content:center;text-align:center;padding:1.6rem;position:relative}.hub-ring{width:120px;height:120px;flex-shrink:0}.hub-ring__track{fill:none;stroke:color-mix(in srgb,var(--font-color) 8%,transparent);stroke-width:8}.hub-ring__fill{fill:none;stroke-width:8;stroke-linecap:round}.hub-ring__label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(-12px);display:flex;flex-direction:column;align-items:center;line-height:1;gap:.2rem;pointer-events:none}.hub-ring__score{font-size:1.6rem;font-weight:800;color:var(--font-color);font-variant-numeric:tabular-nums}.hub-ring__tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hub-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700}.hub-badge--published{background:color-mix(in srgb,var(--green-color) 14%,transparent);color:var(--green-color)}.hub-badge--draft{background:color-mix(in srgb,var(--font-color) 8%,transparent);color:color-mix(in srgb,var(--font-color) 60%,transparent)}.hub-badge--sm{font-size:.68rem;padding:.2rem .55rem}.hub-feasib-status{font-size:1.05rem;font-weight:700;padding:.35rem 0}.hub-feasib--ok{color:var(--green-color)}.hub-feasib--bad{color:var(--red-color)}.hub-feasib--pending{color:var(--blue-color)}.hub-feasib-counts{display:flex;gap:.4rem;flex-wrap:wrap}.hub-feasib-count{font-size:.75rem;font-weight:600;padding:.18rem .55rem;border-radius:999px}.hub-feasib-count--error{background:color-mix(in srgb,var(--red-color) 12%,transparent);color:var(--red-color)}.hub-feasib-count--warn{background:color-mix(in srgb,var(--blue-color) 12%,transparent);color:var(--blue-color)}.hub-stale-chip{font-size:.68rem;font-weight:700;padding:.18rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--blue-color) 12%,transparent);color:var(--blue-color)}.hub-run-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;border-radius:.75rem;gap:.5rem;cursor:pointer;border:1px solid color-mix(in srgb,var(--font-color) 6%,transparent);transition:background .15s}.hub-run-row:hover{background:color-mix(in srgb,var(--font-color) 4%,transparent)}.hub-run-row--latest{border-color:color-mix(in srgb,var(--purple-color) 20%,transparent)}.hub-run-row__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-run-row__id{font-size:.82rem;font-weight:600;color:var(--font-color)}.hub-run-row__date{font-size:.72rem;color:color-mix(in srgb,var(--font-color) 45%,transparent)}.hub-run-row__right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.hub-run-row__penalty{font-size:.72rem;font-weight:600;color:color-mix(in srgb,var(--red-color) 80%,transparent)}.hub-run-status{font-size:.68rem;font-weight:700;padding:.18rem .55rem;border-radius:999px}.hub-run-status--completed{background:color-mix(in srgb,var(--green-color) 12%,transparent);color:var(--green-color)}.hub-run-status--failed{background:color-mix(in srgb,var(--red-color) 12%,transparent);color:var(--red-color)}.hub-run-status--running,.hub-run-status--queued{background:color-mix(in srgb,var(--blue-color) 12%,transparent);color:var(--blue-color)}.hub-expand-btn{align-self:flex-start}.hub-mini-grid{display:grid;gap:2px;width:100%;aspect-ratio:5/4;border-radius:.5rem;overflow:hidden}.hub-mini-cell{border-radius:2px;background:color-mix(in srgb,var(--font-color) 6%,transparent);opacity:.85;transition:opacity .12s}.hub-mini-cell:hover{opacity:1}.hub-preview-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}.hub-preview-empty p{font-size:.85rem;color:color-mix(in srgb,var(--font-color) 50%,transparent);margin:0}.hub-checklist{border-radius:1rem;border:1px solid color-mix(in srgb,var(--blue-color) 20%,transparent);background:color-mix(in srgb,var(--blue-color) 4%,var(--main));overflow:hidden}.hub-checklist__toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;background:none;border:none;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--font-color);text-align:left}.hub-checklist__toggle:hover{background:color-mix(in srgb,var(--blue-color) 6%,transparent)}.hub-checklist__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .3rem;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--blue-color);color:var(--font-color-contrast)}.hub-checklist__arrow{margin-left:auto;font-size:.7rem;opacity:.5}.hub-checklist__body{padding:.2rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.4rem}.hub-check-item{display:flex;align-items:center;gap:.55rem;font-size:.84rem}.hub-check-item--ok{color:color-mix(in srgb,var(--font-color) 50%,transparent)}.hub-check-item--missing{color:var(--font-color);font-weight:600}.hub-check-item__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.hub-check-item--ok .hub-check-item__dot{background:var(--green-color)}.hub-check-item--missing .hub-check-item__dot{background:var(--blue-color)}.hub-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:999px;font-size:.84rem;font-weight:600;border:none;cursor:pointer;text-decoration:none;background:var(--purple-color);color:var(--font-color-contrast);transition:opacity .15s,transform .15s}.hub-btn:hover{opacity:.85;transform:translateY(-1px);text-decoration:none;color:var(--font-color-contrast)}.hub-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.hub-btn--ghost{background:color-mix(in srgb,var(--font-color) 8%,transparent);color:var(--font-color)}.hub-btn--ghost:hover{background:color-mix(in srgb,var(--font-color) 13%,transparent);color:var(--font-color)}.hub-btn--sm{padding:.35rem .8rem;font-size:.78rem}.hub-modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--dark-blue-color) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem;animation:hub-fade-in .18s ease}@keyframes hub-fade-in{0%{opacity:0}to{opacity:1}}.hub-modal{background:var(--main);border-radius:1.4rem;width:100%;max-width:480px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px color-mix(in srgb,var(--dark-blue-color) 30%,transparent);animation:hub-slide-up .22s cubic-bezier(.4,0,.2,1)}.hub-modal--tall{max-height:70vh}@keyframes hub-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.hub-modal__head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-bottom:1px solid color-mix(in srgb,var(--font-color) 8%,transparent);flex-shrink:0}.hub-modal__title{font-size:1rem;font-weight:700;margin:0;color:var(--font-color)}.hub-modal__close{width:2rem;height:2rem;border-radius:50%;border:none;background:color-mix(in srgb,var(--font-color) 8%,transparent);color:var(--font-color);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.hub-modal__close:hover{background:color-mix(in srgb,var(--font-color) 14%,transparent)}.hub-modal__body{padding:1rem 1.4rem 1.4rem;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem}.hub-modal__empty{font-size:.88rem;color:color-mix(in srgb,var(--font-color) 50%,transparent);margin:0;text-align:center;padding:1rem 0}.hub-modal__error{font-size:.85rem;color:var(--red-color);margin:0}.hub-timetable-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--font-color) 7%,transparent);border-radius:.85rem;background:color-mix(in srgb,var(--white-color) 80%,var(--main))}.hub-timetable-row__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-timetable-row__name{font-size:.88rem;font-weight:600;color:var(--font-color)}.hub-timetable-row__date{font-size:.73rem;color:color-mix(in srgb,var(--font-color) 45%,transparent)}.hub-issue{display:flex;gap:.65rem;padding:.65rem .85rem;border-radius:.85rem;border:1px solid color-mix(in srgb,var(--font-color) 7%,transparent)}.hub-issue--error{border-color:color-mix(in srgb,var(--red-color) 20%,transparent);background:color-mix(in srgb,var(--red-color) 4%,var(--main))}.hub-issue--warning{border-color:color-mix(in srgb,var(--blue-color) 18%,transparent);background:color-mix(in srgb,var(--blue-color) 3%,var(--main))}.hub-issue__sev{font-size:.68rem;font-weight:800;text-transform:uppercase;flex-shrink:0;margin-top:.1rem;width:3.5rem}.hub-issue--error .hub-issue__sev{color:var(--red-color)}.hub-issue--warning .hub-issue__sev{color:var(--blue-color)}.hub-issue--info .hub-issue__sev{color:color-mix(in srgb,var(--font-color) 50%,transparent)}.hub-issue__title{font-size:.85rem;font-weight:600;margin:0 0 .15rem;color:var(--font-color)}.hub-issue__details{font-size:.78rem;color:color-mix(in srgb,var(--font-color) 60%,transparent);margin:0}.hub-run-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:color-mix(in srgb,var(--font-color) 55%,transparent)}.hub-run-summary{font-size:.85rem;color:color-mix(in srgb,var(--font-color) 65%,transparent);margin:0}.hub-soft-issue{padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--font-color) 7%,transparent);border-radius:.85rem;background:color-mix(in srgb,var(--white-color) 80%,var(--main))}.hub-soft-issue__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.hub-soft-issue__label{font-size:.85rem;font-weight:600;color:var(--font-color)}.hub-soft-issue__penalty{font-size:.75rem;font-weight:700;color:color-mix(in srgb,var(--red-color) 75%,transparent)}.hub-soft-issue__summary{font-size:.78rem;color:color-mix(in srgb,var(--font-color) 55%,transparent);margin:0}body.dark-mode .hub-card{background:color-mix(in srgb,var(--white-color) 60%,var(--main));border-color:color-mix(in srgb,var(--font-color) 10%,transparent)}body.dark-mode .hub-timetable-row,body.dark-mode .hub-soft-issue{background:color-mix(in srgb,var(--white-color) 60%,var(--main))}body.dark-mode .hub-modal{background:var(--main-auxiliary)}.entity-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.4rem}.entity-card{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.2rem 1rem;border-radius:16px;background:var(--white-color);border:1px solid color-mix(in srgb,var(--purple-color) 12%,transparent);text-decoration:none;color:var(--font-color);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative;overflow:hidden}.entity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--purple-color);opacity:0;transition:opacity .15s ease}.entity-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--purple-color) 12%,transparent);border-color:color-mix(in srgb,var(--purple-color) 30%,transparent)}.entity-card:hover:before{opacity:1}.entity-card__header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.entity-card__title{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--font-color) 45%,transparent)}.entity-card__count{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:600;line-height:1;color:var(--purple-color)}.entity-card__entity-label{font-size:.78rem;color:color-mix(in srgb,var(--font-color) 50%,transparent);margin-bottom:.6rem}.entity-card__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}.entity-card__constraints{font-size:.72rem;font-weight:600;color:color-mix(in srgb,var(--font-color) 55%,transparent);background:color-mix(in srgb,var(--font-color) 7%,transparent);padding:.18rem .5rem;border-radius:20px}.entity-card__extra-pill{font-size:.72rem;font-weight:600;color:var(--purple-color);background:color-mix(in srgb,var(--purple-color) 10%,transparent);padding:.18rem .5rem;border-radius:20px}.entity-card__availability{margin-top:auto}.entity-card__availability-bar{height:4px;border-radius:2px;background:color-mix(in srgb,var(--font-color) 10%,transparent);overflow:hidden;margin-bottom:.3rem}.entity-card__availability-fill{height:100%;border-radius:2px;background:var(--blue-color);transition:width .6s cubic-bezier(.16,1,.3,1)}.entity-card__availability-label{font-size:.7rem;font-weight:600;color:color-mix(in srgb,var(--font-color) 50%,transparent)}@media(max-width:700px){.entity-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.entity-cards{grid-template-columns:1fr}}body.dark-mode .entity-card{background:var(--white-color);border-color:color-mix(in srgb,var(--purple-color) 20%,transparent)}body.dark-mode .entity-card:hover{box-shadow:0 6px 20px color-mix(in srgb,var(--purple-color) 20%,transparent)}body.dark-mode .entity-card__count{color:var(--purple-color)}.pcal{display:grid;gap:0;color:var(--font-color);padding-bottom:3rem}.pcal__toolbar,.pcal__month,.pcal__week,.pcal__day,.pcal__status,.pcal__empty{border-top:1px solid color-mix(in srgb,var(--tertiary) 68%,transparent)}.pcal__hero{padding:1.75rem 0 1.5rem}.pcal__hero h1{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.2rem,4.5vw,3rem);line-height:.96;font-weight:600}.pcal__weekMetrics{display:flex;flex-direction:column;gap:.22rem;margin-top:.1rem}.pcal__weekMetrics .pcal__pill{display:inline-flex;flex-direction:row;align-items:baseline;gap:.3rem}.pcal__pill strong{font-size:.86rem;font-weight:700}.pcal__pill span{font-size:.71rem;color:color-mix(in srgb,var(--font-color) 50%,transparent)}.pcal__toolbar{padding:1rem 0}.pcal__toolbarRow{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pcal__toolbarRow+.pcal__toolbarRow{margin-top:.75rem;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent)}.pcal__navGroup{display:flex;flex-direction:column;gap:.45rem}.pcal__heading strong{font-family:Cormorant Garamond,Georgia,serif;font-size:1.75rem;font-weight:600;line-height:1;display:block}.pcal__nav{display:inline-flex;gap:.4rem;flex-wrap:wrap}.pcal__navButton,.pcal__todayButton{border:1px solid var(--tertiary);background:transparent;color:var(--font-color);border-radius:999px;cursor:pointer;font:inherit;padding:.5rem 1rem;font-size:.83rem;transition:border-color .15s ease,color .15s ease}.pcal__navButton:hover,.pcal__todayButton:hover{border-color:color-mix(in srgb,var(--purple-color) 55%,var(--tertiary));color:var(--purple-color)}.pcal__navButton:disabled,.pcal__todayButton:disabled{opacity:.4;cursor:not-allowed}.pcal__modeSwitch,.pcal__entitySwitch{display:inline-flex;gap:0;flex-wrap:wrap}.pcal__modeButton,.pcal__entityButton{background:transparent;border:none;border-bottom:2px solid transparent;padding:.45rem .88rem .35rem;color:color-mix(in srgb,var(--font-color) 62%,transparent);cursor:pointer;font:inherit;font-size:.83rem;letter-spacing:.03em;transition:color .15s ease,border-color .16s ease}.pcal__modeButton:hover,.pcal__entityButton:hover{color:var(--font-color)}.pcal__modeButton--active,.pcal__entityButton--active{border-bottom-color:var(--purple-color);color:var(--purple-color);font-weight:600}.pcal__textButton{background:transparent;border:none;color:color-mix(in srgb,var(--font-color) 65%,transparent);cursor:pointer;font:inherit;font-size:.82rem;padding:.2rem 0;transition:color .15s ease}.pcal__textButton:hover{color:var(--purple-color)}.pcal__picker{position:relative}.pcal__picker[open]{z-index:4}.pcal__pickerToggle{display:flex;align-items:center;gap:.55rem;min-width:16rem;padding:.55rem .85rem;background:transparent;border:1px solid var(--tertiary);border-radius:8px;color:var(--font-color);cursor:pointer;font:inherit;font-size:.84rem;list-style:none;transition:border-color .15s ease}.pcal__pickerToggle::-webkit-details-marker{display:none}.pcal__picker[open]>.pcal__pickerToggle{border-color:color-mix(in srgb,var(--purple-color) 55%,var(--tertiary))}.pcal__pickerIcon,.pcal__searchIcon{flex-shrink:0;opacity:.42}.pcal__picker[open] .pcal__pickerIcon{opacity:.7;color:var(--purple-color)}.pcal__pickerLabel{color:color-mix(in srgb,var(--font-color) 50%,transparent);font-size:.73rem;letter-spacing:.07em;text-transform:uppercase}.pcal__pickerValue{font-weight:600}.pcal__pickerPanel{position:absolute;left:0;top:calc(100% + .5rem);width:min(22rem,84vw);padding:.85rem;background:var(--main);border:1px solid var(--tertiary);border-radius:12px;box-shadow:0 12px 32px var(--shadow-color-light);z-index:10}.pcal__pickerActions{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;padding-bottom:.6rem;border-bottom:1px solid color-mix(in srgb,var(--tertiary) 58%,transparent)}.pcal__pickerList{display:grid;gap:0}.pcal__pickerItem{display:grid;grid-template-columns:auto 1fr;gap:.28rem .65rem;padding:.55rem .5rem;border-radius:6px;cursor:pointer;transition:background .12s ease}.pcal__pickerItem:hover{background:color-mix(in srgb,var(--font-color) 5%,transparent)}.pcal__pickerItem input{margin-top:.14rem}.pcal__pickerName{font-weight:600;font-size:.88rem}.pcal__pickerMeta,.pcal__pickerEmpty{grid-column:2;color:color-mix(in srgb,var(--font-color) 52%,transparent);font-size:.79rem}.pcal__search{display:flex;align-items:center;gap:.45rem;min-width:min(20rem,100%);border-bottom:1px solid var(--tertiary);padding-bottom:.3rem;transition:border-color .15s ease}.pcal__search:focus-within{border-bottom-color:var(--purple-color)}.pcal__search:focus-within .pcal__searchIcon{opacity:.7;color:var(--purple-color)}.pcal__search input{flex:1;min-width:0;background:transparent;border:none;color:var(--font-color);padding:.2rem 0;font:inherit;font-size:.88rem;outline:none}.pcal__status,.pcal__empty{padding:2.5rem 0;text-align:center;color:color-mix(in srgb,var(--font-color) 55%,transparent);font-size:.9rem}.pcal__status--error{color:var(--red-color);border-top-color:color-mix(in srgb,var(--red-color) 20%,var(--tertiary))}.pcal__month{padding:1rem 0 1.5rem}.pcal__weekdayRow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid color-mix(in srgb,var(--tertiary) 58%,transparent)}.pcal__weekday{color:color-mix(in srgb,var(--font-color) 50%,transparent);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.45rem .55rem}.pcal__monthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.pcal__monthCell{display:grid;align-content:space-between;min-height:7rem;padding:.65rem .55rem;border:none;border-right:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent);background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .12s ease}.pcal__monthCell:nth-child(7n){border-right:none}.pcal__monthCell:hover{background:color-mix(in srgb,var(--purple-color) 5%,transparent)}.pcal__monthCell--muted{opacity:.38}.pcal__monthCell--busy{border-top:2px solid color-mix(in srgb,var(--purple-color) 42%,var(--tertiary))}.pcal__monthDate{font-weight:700;font-size:.9rem}.pcal__monthCell--today .pcal__monthDate{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--blue-color);color:var(--font-color-contrast);font-size:.82rem}.pcal__monthMarker{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:color-mix(in srgb,var(--font-color) 60%,transparent)}.pcal__monthMarker--quiet{color:color-mix(in srgb,var(--font-color) 35%,transparent)}.pcal__monthDot{width:.48rem;height:.48rem;border-radius:999px;background:color-mix(in srgb,var(--purple-color) 72%,transparent);flex-shrink:0}.pcal__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:1.25rem 0 1.5rem}.pcal__weekCard{display:grid;gap:.5rem;padding:1rem .75rem;border:none;border-right:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent);background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .12s ease}.pcal__weekCard:last-child{border-right:none}.pcal__weekCard:hover{background:color-mix(in srgb,var(--purple-color) 4%,transparent)}.pcal__weekCard--today{border-left:2px solid var(--blue-color);padding-left:calc(.75rem - 2px)}.pcal__weekDay{color:color-mix(in srgb,var(--font-color) 50%,transparent);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-family:Cormorant Garamond,Georgia,serif;font-style:italic}.pcal__weekDate{font-size:1.05rem;font-weight:700}.pcal__weekCard--today .pcal__weekDate{color:var(--blue-color)}.pcal__weekState{display:inline-flex;align-items:center;gap:.38rem;color:color-mix(in srgb,var(--font-color) 46%,transparent);font-size:.73rem}.pcal__weekState--busy{color:color-mix(in srgb,var(--purple-color) 80%,var(--font-color))}.pcal__weekState:before{content:"";display:inline-block;width:.38rem;height:.38rem;border-radius:50%;background:currentColor;opacity:.65;flex-shrink:0}.pcal__day{display:grid;gap:1.1rem;padding:1.25rem 0 2rem}.pcal__timelineHeader{display:grid;grid-template-columns:1fr}.pcal__timelineHeader>:first-child{display:none}.pcal__row{display:grid;grid-template-columns:1fr;gap:.3rem}.pcal__timelineTicks,.pcal__rowTrack{position:relative}.pcal__timelineTicks{height:1.25rem}.pcal__timelineTicks span{position:absolute;top:0;transform:translate(-50%);color:color-mix(in srgb,var(--font-color) 40%,transparent);font-size:.7rem;letter-spacing:.02em}.pcal__dayGroup{display:grid;gap:.65rem}.pcal__groupTitle{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;font-style:italic;color:color-mix(in srgb,var(--font-color) 50%,transparent)}.pcal__rowLabel{font-weight:600;font-size:.8rem;color:color-mix(in srgb,var(--font-color) 68%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcal__rowTrack{min-height:6rem;border-top:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent);background:color-mix(in srgb,var(--main-auxiliary) 20%,transparent);overflow:hidden}.pcal__rowGuide{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--tertiary) 36%,transparent)}.pcal__block{--pcal-block-accent: #4A6B5A;position:absolute;box-sizing:border-box;top:.5rem;bottom:.5rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.5rem .8rem .5rem .85rem;border-radius:0 8px 8px 0;border-left:3px solid var(--pcal-block-accent);background:color-mix(in srgb,var(--pcal-block-accent) 10%,var(--main));overflow:hidden}.pcal__block:after{content:"";position:absolute;inset:0;pointer-events:none}.pcal__block strong,.pcal__block span,.pcal__block small{position:relative;z-index:1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pcal__block strong{font-size:.88rem;font-weight:700;color:color-mix(in srgb,var(--pcal-block-accent) 52%,var(--font-color))}.pcal__block span,.pcal__block small{color:color-mix(in srgb,var(--font-color) 58%,transparent);font-size:.74rem}.pcal__block--break{border:1px solid color-mix(in srgb,var(--tertiary) 70%,transparent);border-left:3px solid color-mix(in srgb,var(--pcal-block-accent) 72%,var(--tertiary));background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--pcal-block-accent) 8%,var(--main)) 0 10px,color-mix(in srgb,var(--main) 96%,var(--pcal-block-accent)) 10px 20px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main) 68%,transparent)}.pcal__block--break:after{background:linear-gradient(180deg,color-mix(in srgb,var(--main) 20%,transparent),transparent 38%,color-mix(in srgb,var(--pcal-block-accent) 6%,transparent))}.pcal__block--break strong{color:color-mix(in srgb,var(--pcal-block-accent) 42%,var(--font-color));letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.pcal__block--break small{color:color-mix(in srgb,var(--font-color) 52%,transparent)}.pcal__dayFooter{display:flex;justify-content:space-between;gap:.85rem;color:color-mix(in srgb,var(--font-color) 46%,transparent);font-size:.79rem;border-top:1px solid color-mix(in srgb,var(--tertiary) 48%,transparent);padding-top:.75rem}body.dark-mode .pcal__block{background:color-mix(in srgb,var(--pcal-block-accent) 14%,var(--main))}body.dark-mode .pcal__block strong{color:color-mix(in srgb,var(--pcal-block-accent) 82%,var(--font-color))}body.dark-mode .pcal__block span,body.dark-mode .pcal__block small{color:color-mix(in srgb,var(--font-color) 52%,transparent)}@media(max-width:1100px){.pcal__week,.pcal__monthGrid,.pcal__weekdayRow{grid-template-columns:repeat(2,minmax(0,1fr))}.pcal__monthCell:nth-child(7n){border-right:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent)}.pcal__monthCell:nth-child(2n){border-right:none}.pcal__weekCard:last-child{border-right:none}}@media(max-width:720px){.pcal__toolbarRow,.pcal__toolbarRow--secondary{flex-direction:column;align-items:stretch}.pcal__week,.pcal__monthGrid,.pcal__weekdayRow{grid-template-columns:1fr}.pcal__monthCell:nth-child(2n){border-right:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent)}.pcal__monthCell:nth-child(n){border-right:none}.pcal__weekCard{border-right:none;border-bottom:1px solid color-mix(in srgb,var(--tertiary) 50%,transparent)}.pcal__pickerToggle,.pcal__search{width:100%}.pcal__dayFooter{flex-direction:column;gap:.4rem}}
