.btn{--btn-bg: var(--color-surface);--btn-fg: var(--color-text);--btn-bd: var(--color-border-strong);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border:1px solid var(--btn-bd);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-weight:600;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--dur-base) var(--ease-out),background var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base)}.btn svg{width:17px;height:17px;flex-shrink:0}.btn:hover:not(:disabled){transform:translateY(-1px) scale(1.015);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{--btn-bg: var(--blue-500);--btn-fg: #fff;--btn-bd: var(--blue-500)}.btn--primary:hover:not(:disabled){--btn-bg: var(--blue-600);--btn-bd: var(--blue-600);box-shadow:0 6px 14px -4px #2f6be473}.btn--secondary:hover:not(:disabled){--btn-bg: var(--grey-50);--btn-bd: var(--grey-400)}.btn--dark{--btn-bg: var(--navy-900);--btn-fg: #fff;--btn-bd: var(--navy-900)}.btn--dark:hover:not(:disabled){--btn-bg: var(--navy-700)}.btn--ghost{--btn-bd: transparent;--btn-bg: transparent}.btn--ghost:hover:not(:disabled){--btn-bg: var(--grey-50);box-shadow:none}.btn--danger{--btn-bg: var(--red-500);--btn-fg: #fff;--btn-bd: var(--red-500)}.btn--danger:hover:not(:disabled){--btn-bg: var(--red-600)}.btn--success{--btn-bg: var(--green-500);--btn-fg: #fff;--btn-bd: var(--green-500)}.btn--success:hover:not(:disabled){--btn-bg: var(--green-600)}.btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn--lg{height:48px;padding:0 var(--space-6);font-size:var(--text-base)}.btn--block{width:100%}.btn--icon{width:40px;padding:0}.btn--icon.btn--sm{width:32px}.icon-btn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--grey-700);cursor:pointer;transition:background var(--dur-base),color var(--dur-base),transform var(--dur-base) var(--ease-out)}.icon-btn svg{width:19px;height:19px;transition:transform var(--dur-base) var(--ease-out)}.icon-btn:hover{background:var(--grey-50);color:var(--navy-900)}.icon-btn:hover svg{transform:translateY(-1px) scale(1.1)}.icon-btn--bordered{border-color:var(--color-border-strong);background:var(--color-surface)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--orange-500);border:2px solid var(--color-surface)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-6)}.card--flush{padding:0;overflow:hidden}.card--interactive{cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.card--interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.card__title{font-size:var(--text-md)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.01em;background:var(--grey-50);color:var(--grey-700)}.badge svg{width:12px;height:12px}.badge--blue{background:var(--blue-50);color:var(--blue-700)}.badge--green{background:var(--green-50);color:var(--green-600)}.badge--orange{background:var(--orange-50);color:var(--orange-600)}.badge--red{background:var(--red-50);color:var(--red-600)}.badge--navy{background:var(--navy-900);color:#fff}.progress{width:100%}.progress__meta{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:6px;font-weight:500}.progress__track{height:8px;background:var(--grey-100);border-radius:var(--radius-full);overflow:hidden}.progress--sm .progress__track{height:5px}.progress__fill{height:100%;border-radius:inherit;background:var(--blue-500);transform-origin:left;transition:width .7s var(--ease-out)}.progress--green .progress__fill{background:var(--green-500)}.progress--orange .progress__fill{background:var(--orange-500)}.ring{position:relative;display:inline-grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring__track{stroke:var(--grey-100)}.ring__fill{stroke:var(--blue-500);transition:stroke-dashoffset .9s var(--ease-out);stroke-linecap:round}.ring--green .ring__fill{stroke:var(--green-500)}.ring--orange .ring__fill{stroke:var(--orange-500)}.ring__label{position:absolute;text-align:center;line-height:1.1}.ring__value{font-family:var(--font-display);font-weight:800;color:var(--navy-900)}.ring__caption{font-size:11px;color:var(--color-text-muted)}.tooltip-wrap{position:relative;display:inline-flex}.tooltip{position:absolute;z-index:50;pointer-events:none;padding:6px 10px;border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;transition:opacity var(--dur-fast),transform var(--dur-base) var(--ease-out)}.tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.tooltip--right{left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%)}.tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)}.tooltip--left{right:calc(100% + 10px);top:50%;transform:translate(4px,-50%)}.tooltip-wrap:hover .tooltip--left,.tooltip-wrap:focus-within .tooltip--left{transform:translateY(-50%)}.tooltip-wrap:hover .tooltip,.tooltip-wrap:focus-within .tooltip{opacity:1;transition-delay:.25s}.tooltip-wrap:hover .tooltip--top,.tooltip-wrap:focus-within .tooltip--top{transform:translate(-50%)}.tooltip-wrap:hover .tooltip--right,.tooltip-wrap:focus-within .tooltip--right{transform:translateY(-50%)}.tooltip-wrap:hover .tooltip--bottom,.tooltip-wrap:focus-within .tooltip--bottom{transform:translate(-50%)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-6);background:#0d17306b;animation:fade-in var(--dur-base) var(--ease-out)}.modal-backdrop.is-closing{animation:fade-in var(--dur-base) reverse forwards}.modal{width:100%;max-width:460px;max-height:calc(100vh - 48px);overflow:auto;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-8);animation:scale-in var(--dur-slow) var(--ease-out)}.modal-backdrop.is-closing .modal{animation:scale-in var(--dur-base) reverse forwards}.modal--lg{max-width:640px}.modal__icon{width:48px;height:48px;border-radius:var(--radius-lg);display:grid;place-items:center;margin-bottom:var(--space-5);background:var(--blue-50);color:var(--blue-600)}.modal__icon--danger{background:var(--red-50);color:var(--red-500)}.modal__icon svg{width:22px;height:22px}.modal__title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.modal__body{color:var(--color-text-muted)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-8)}.tabs{display:inline-flex;position:relative;gap:2px;padding:4px;background:var(--grey-50);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tabs__indicator{position:absolute;top:4px;bottom:4px;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:left var(--dur-slow) var(--ease-out),width var(--dur-slow) var(--ease-out)}.tabs__tab{position:relative;z-index:1;height:32px;padding:0 var(--space-4);border:0;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:color var(--dur-base)}.tabs__tab:hover,.tabs__tab[aria-selected=true]{color:var(--navy-900)}.tab-panel{animation:rise-in var(--dur-slow) var(--ease-out)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--grey-100) 0px,var(--grey-50) 120px,var(--grey-100) 240px);background-size:800px 100%;animation:shimmer 1.4s linear infinite}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--text-sm);font-weight:600;color:var(--navy-900)}.field__hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field__error{font-size:var(--text-xs);color:var(--red-500)}.input{height:44px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);outline:none;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.input:hover{border-color:var(--grey-400)}.input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--color-focus)}.input.has-error{border-color:var(--red-500)}textarea.input{height:auto;padding:var(--space-3) var(--space-4);resize:vertical;min-height:110px}.switch{position:relative;width:40px;height:22px;border-radius:99px;border:0;background:var(--grey-200);cursor:pointer;transition:background var(--dur-base);flex-shrink:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out)}.switch[aria-checked=true]{background:var(--blue-500)}.switch[aria-checked=true]:after{transform:translate(18px)}.toasts{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:200;display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);min-width:280px;max-width:380px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--navy-900);color:#fff;font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:toast-in var(--dur-slow) var(--ease-out)}.toast svg{width:18px;height:18px;flex-shrink:0}.toast--success svg{color:#5fd69c}.toast--info svg{color:var(--blue-200)}.empty{text-align:center;padding:var(--space-12) var(--space-6)}.empty__icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--grey-50);color:var(--grey-400)}.empty__icon svg{width:26px;height:26px}.empty h3{margin-bottom:var(--space-2)}.empty p{color:var(--color-text-muted);max-width:360px;margin:0 auto var(--space-5)}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--blue-100);color:var(--blue-700);font-weight:700;flex-shrink:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;transition:grid-template-columns var(--dur-slow) var(--ease-out)}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app-body{display:flex;flex-direction:column;min-width:0;height:100vh}.app-main{flex:1;overflow-y:auto}.app-content{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-8) var(--space-16)}.skip-link{position:absolute;left:-999px;top:8px;z-index:300;background:var(--navy-900);color:#fff;padding:8px 14px;border-radius:var(--radius-sm)}.skip-link:focus{left:8px}.logo{display:inline-flex;align-items:center;gap:10px}.logo svg{flex-shrink:0}.logo__word{font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--navy-900);letter-spacing:-.03em}.logo--light .logo__word{color:#fff}.sidebar{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-5) var(--space-3)}.sidebar__top{height:40px;display:flex;align-items:center;padding:0 var(--space-3);margin-bottom:var(--space-6)}.sidebar__brand{display:inline-flex;border-radius:var(--radius-md)}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden}.nav-section+.nav-section{margin-top:var(--space-5)}.nav-section__title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-400);padding:0 var(--space-3);margin-bottom:var(--space-2);white-space:nowrap;transition:opacity var(--dur-base)}.sidebar.is-collapsed .nav-section__title{opacity:0;height:0;margin:0}.sidebar.is-collapsed .nav-section+.nav-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;height:40px;padding:0 var(--space-3);margin-bottom:2px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--grey-700);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;text-align:left;transition:background var(--dur-base),color var(--dur-base)}.nav-item__icon{width:19px;height:19px;flex-shrink:0;transition:transform var(--dur-base) var(--ease-out)}.nav-item:hover{background:var(--grey-50);color:var(--navy-900)}.nav-item:hover .nav-item__icon{transform:translateY(-1px) scale(1.12)}.nav-item.is-active{background:var(--blue-50);color:var(--blue-600);font-weight:600}.nav-item.is-active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--blue-500)}.nav-item__label{transition:opacity var(--dur-base)}.sidebar.is-collapsed .nav-item{justify-content:center;padding:0;width:48px;margin-left:auto;margin-right:auto}.sidebar.is-collapsed .nav-item__label{display:none}.sidebar.is-collapsed .tooltip-wrap{display:flex}.nav-item__badge{margin-left:auto;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--green-50);color:var(--green-600)}.nav-item__crown{margin-left:auto;width:15px;height:15px;color:var(--orange-500)}.sidebar__promo{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-4) var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--navy-900);color:#fff;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.sidebar__promo:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.sidebar__promo svg{width:20px;height:20px;color:var(--orange-500);flex-shrink:0;margin-top:2px}.sidebar__promo strong{display:block;font-size:var(--text-sm)}.sidebar__promo span{font-size:var(--text-xs);color:#aab6cf}.sidebar__footer{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.topbar{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;gap:var(--space-6);padding:0 var(--space-8);background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:relative;z-index:20}.topbar__actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.crumbs{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--color-text-muted);min-width:0;white-space:nowrap}.crumbs a{color:var(--color-text-muted);transition:color var(--dur-base)}.crumbs a:hover{color:var(--color-primary)}.crumbs__part{display:inline-flex;align-items:center;gap:4px}.crumbs svg{width:14px;height:14px;color:var(--grey-400)}.crumbs [aria-current]{color:var(--navy-900);font-weight:600}.search{position:relative;flex:0 1 420px;margin-left:auto}.search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--grey-400);pointer-events:none}.search__input{width:100%;height:40px;padding:0 64px 0 38px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--grey-50);outline:none;font-size:var(--text-sm);transition:background var(--dur-base),border-color var(--dur-base),box-shadow var(--dur-base)}.search__input:hover{border-color:var(--color-border-strong)}.search__input:focus{background:#fff;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--color-focus)}.search__kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 11px var(--font-sans);color:var(--grey-500);background:#fff;border:1px solid var(--color-border-strong);border-radius:5px;padding:2px 6px}.search__results{left:0;right:0;top:calc(100% + 6px)}.search__empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.streak-chip{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;margin-right:var(--space-2);border-radius:99px;background:var(--orange-50);color:var(--orange-600);font-weight:700;font-size:var(--text-sm)}.streak-chip svg{width:16px;height:16px}.popover-anchor{position:relative}.popover{position:absolute;z-index:60;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);animation:drop-in var(--dur-base) var(--ease-out);transform-origin:top right}.popover__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-400);padding:var(--space-2) var(--space-3)}.menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;height:38px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--grey-700);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left;transition:background var(--dur-fast),color var(--dur-fast)}.menu-item svg{width:17px;height:17px;color:var(--grey-500);transition:transform var(--dur-base) var(--ease-out)}.menu-item:hover,.menu-item.is-active{background:var(--grey-50);color:var(--navy-900)}.menu-item:hover svg{transform:scale(1.1)}.menu-item .badge{margin-left:auto}.menu-item__hint{margin-left:8px;width:14px!important;height:14px!important}.menu-item__tag{margin-left:auto;font-size:11px;color:var(--grey-400);font-weight:500}.menu-item>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item--danger:hover{background:var(--red-50);color:var(--red-600)}.menu-item--danger:hover svg{color:var(--red-500)}.menu-sep{height:1px;background:var(--color-border);margin:var(--space-2) 0}.profile-btn{display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-2) 0 4px;border:1px solid transparent;border-radius:var(--radius-full);background:transparent;cursor:pointer;transition:background var(--dur-base),border-color var(--dur-base)}.profile-btn:hover{background:var(--grey-50);border-color:var(--color-border)}.profile-btn__text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.profile-btn__text strong{font-size:var(--text-sm)}.profile-btn__text span{font-size:11px;color:var(--color-text-muted)}.profile-btn__chev{width:16px;height:16px;color:var(--grey-500);transition:transform var(--dur-base) var(--ease-out)}.profile-btn__chev.is-open{transform:rotate(180deg)}.profile-menu{right:0;top:calc(100% + 8px);width:248px}.profile-menu__head{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.profile-menu__head div{display:flex;flex-direction:column;min-width:0}.profile-menu__head strong{font-size:var(--text-sm)}.profile-menu__head span{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}.notif{right:0;top:calc(100% + 8px);width:360px;padding:0;overflow:hidden}.notif__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.link-btn{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--color-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer}.link-btn:disabled{color:var(--grey-400);cursor:default}.link-btn svg{width:14px;height:14px}.notif__item{position:relative;display:flex;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;background:#fff;text-align:left;cursor:pointer;transition:background var(--dur-fast)}.notif__item:hover{background:var(--grey-25)}.notif__item.is-unread:after{content:"";position:absolute;right:16px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--blue-500)}.notif__icon{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0}.notif__icon svg{width:17px;height:17px}.notif__icon--challenge{background:var(--blue-50);color:var(--blue-600)}.notif__icon--achievement{background:var(--orange-50);color:var(--orange-600)}.notif__icon--rank{background:var(--green-50);color:var(--green-600)}.notif__icon--streak{background:var(--red-50);color:var(--red-500)}.notif__text{display:flex;flex-direction:column;font-size:var(--text-sm);padding-right:var(--space-4)}.notif__text span{color:var(--color-text-muted)}.notif__text time{font-size:11px;color:var(--grey-400);margin-top:2px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8);flex-wrap:wrap}.page-head h1{margin-top:var(--space-1)}.page-head p{color:var(--color-text-muted);margin-top:var(--space-2);max-width:620px}.page-head__actions{display:flex;gap:var(--space-3)}@media (max-height: 860px){.sidebar__promo{display:none}.sidebar__top{margin-bottom:var(--space-4)}.nav-item{height:36px}.nav-section+.nav-section{margin-top:var(--space-3)}}@media (max-width: 1440px){.profile-btn__text{display:none}}@media (max-width: 1100px){.app-shell,.app-shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar .nav-section__title,.sidebar .sidebar__promo,.sidebar .logo__word,.sidebar .nav-item__label,.sidebar .nav-item__badge,.sidebar .nav-item__crown{display:none}.sidebar .nav-item{justify-content:center;padding:0;width:48px;margin-left:auto;margin-right:auto}.crumbs{display:none}.app-content{padding:var(--space-6)}}@media (max-width: 700px){.search__kbd,.streak-chip{display:none}.topbar{padding:0 var(--space-4);gap:var(--space-3)}.app-content{padding:var(--space-5) var(--space-4)}}.ds-section{margin-bottom:var(--space-12)}.ds-section__head{margin-bottom:var(--space-5)}.ds-section__head p{margin-top:4px}.ds-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.ds-colors__row{display:flex;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.swatch{width:92px;font-size:var(--text-xs)}.swatch__chip{height:64px;border-radius:var(--radius-md);border:1px solid rgba(13,23,48,.06);margin-bottom:8px;transition:transform var(--dur-base) var(--ease-out)}.swatch:hover .swatch__chip{transform:translateY(-3px)}.swatch strong{display:block}.swatch code,.ds-spacing code,.ds-radius code{color:var(--color-text-muted);font-size:11px}.ds-type{display:flex;align-items:baseline;gap:var(--space-6);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);color:var(--navy-900)}.ds-type:last-child{border-bottom:0}.ds-type__name{width:110px;flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.ds-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-5)}.ds-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5)}.ds-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ds-row+.ds-row{margin-top:var(--space-4)}.ds-row--spread{justify-content:space-around}.ds-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ds-divider{width:1px;height:28px;background:var(--color-border);margin:0 var(--space-2)}.ds-spacing{display:flex;flex-direction:column;gap:8px}.ds-spacing>div{display:flex;align-items:center;gap:var(--space-3)}.ds-spacing__bar{height:12px;background:var(--blue-200);border-radius:3px}.ds-radius{display:flex;gap:var(--space-5);flex-wrap:wrap}.ds-radius__box{width:72px;height:72px;background:var(--blue-50);border:1.5px solid var(--blue-200);margin-bottom:8px}.ds-course-icon{width:44px;height:44px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);margin-bottom:var(--space-4);transition:transform var(--dur-base) var(--ease-out)}.ds-course-icon--orange{background:var(--orange-50);color:var(--orange-600)}.ds-course-icon svg{width:21px;height:21px}.card--interactive:hover .ds-course-icon{transform:translateY(-2px) scale(1.06)}.ds-feedback{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4);margin-top:var(--space-6)}.feedback{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;font-size:var(--text-sm)}.feedback div{display:flex;flex-direction:column}.feedback--correct{background:var(--green-50);border-color:#bfe6d1;color:var(--green-600)}.feedback--wrong{background:var(--red-50);border-color:#f2c9c4;color:var(--red-600);animation:shake .3s var(--ease-in-out)}.feedback span{color:var(--grey-700)}.feedback__icon{width:32px;height:32px;border-radius:50%;display:grid!important;place-items:center;color:#fff!important;animation:pop .36s var(--ease-out);flex-shrink:0}.feedback--correct .feedback__icon{background:var(--green-500)}.feedback--wrong .feedback__icon{background:var(--red-500)}.feedback__icon svg{width:17px;height:17px}.ds-rules{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-3) var(--space-6)}.ds-rules li{font-size:var(--text-sm);color:var(--grey-700)}.ds-rules strong{display:inline-block;min-width:110px;color:var(--navy-900)}.course-icon{display:inline-grid;place-items:center;flex-shrink:0;border-radius:var(--radius-md);transition:transform var(--dur-base) var(--ease-out)}.course-icon--blue{background:var(--blue-50);color:var(--blue-600)}.course-icon--navy{background:#e6eaf3;color:var(--navy-800)}.course-icon--green{background:var(--green-50);color:var(--green-600)}.course-icon--orange{background:var(--orange-50);color:var(--orange-600)}.course-card{display:flex;flex-direction:column;padding:var(--space-5);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.course-card:hover,.course-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.course-card:hover .course-icon{transform:translateY(-2px) scale(1.06)}.course-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.course-card__badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.course-card__title{font-size:var(--text-md)}.course-card__sub{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:4px;min-height:2.6em}.course-card__meta{display:flex;gap:var(--space-4);margin:var(--space-4) 0;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.course-card__meta span{display:inline-flex;align-items:center;gap:5px}.course-card__meta svg{width:14px;height:14px}.course-card__foot{margin-top:auto}.course-card__locked{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--orange-600)}.course-card__locked svg{width:14px;height:14px}.course-card--compact{padding:var(--space-4)}.course-card--compact .course-card__sub{min-height:0}.wm,.globe{position:relative;width:100%;overflow:hidden;outline:none;background:var(--map-ocean);border-radius:var(--radius-lg);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.globe{background:var(--grey-25)}.wm.is-dragging,.globe.is-dragging{cursor:grabbing}.wm:focus-visible,.globe:focus-visible{box-shadow:inset 0 0 0 2px var(--blue-400)}.wm--quiz,.wm--learn{cursor:grab}.wm__svg,.globe__canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.wm__graticule{fill:none;stroke:#0d17300f;stroke-width:.6;vector-effect:non-scaling-stroke}.wm__c{fill:var(--map-land);stroke:var(--map-border);stroke-width:.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill var(--dur-fast)}.wm--explore .wm__c:hover{fill:var(--map-hover);cursor:pointer}.wm__c.is-selected{fill:var(--blue-100);stroke:var(--blue-400)}.wm__c.is-target{fill:var(--map-hover)}.wm--quiz .wm__c,.wm--quiz .wm__c:hover,.wm--quiz .wm__c.is-target{fill:var(--map-land)}.wm.wm--locating,.globe.wm--locating{cursor:crosshair}.wm.wm--locating .wm__c:hover{fill:var(--map-hover)}.mp{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.mp__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.mp__line{fill:none;stroke:var(--map-pointer);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:mp-draw .52s var(--ease-out) .12s forwards}.mp__ring{fill:none;stroke:var(--map-pointer);stroke-width:1.6;animation:fade-in .2s var(--ease-out) both}.mp__dot{fill:var(--map-pointer)}.mp__pulse{fill:none;stroke:var(--blue-500);stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:mp-pulse 2.2s var(--ease-out) .7s infinite}@keyframes mp-draw{to{stroke-dashoffset:0}}@keyframes mp-pulse{0%{transform:scale(1);opacity:.7}80%,to{transform:scale(3.2);opacity:0}}.mp__chip-pos{position:absolute}.mp__chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;border-radius:var(--radius-full);background:var(--navy-900);color:#fff;font:700 13px var(--font-sans);white-space:nowrap;box-shadow:var(--shadow-md);animation:scale-in .26s var(--ease-out) .52s both}.mp__chip--label{background:#fff;color:var(--navy-900);border:1.5px solid var(--navy-900);font-weight:600}.mp__chip--correct{background:var(--green-500);border-color:var(--green-500);color:#fff;animation-delay:0ms}.mp__chip--wrong{background:var(--red-500);border-color:var(--red-500);color:#fff;animation-delay:0ms}.map-tip{position:absolute;z-index:3;pointer-events:none;transform:translate(14px,14px);display:flex;flex-direction:column;padding:7px 11px;border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-md);animation:fade-in var(--dur-fast) both}.map-tip span{font-size:11px;font-weight:500;color:#aab6cf}.map-ctrl{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;flex-direction:column;gap:8px}.map-ctrl__group{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.map-ctrl__group .icon-btn{width:36px;height:36px;border-radius:0}.map-ctrl__group .tooltip-wrap:first-child .icon-btn{border-radius:var(--radius-md) var(--radius-md) 0 0}.map-ctrl__group .tooltip-wrap:last-child .icon-btn{border-radius:0 0 var(--radius-md) var(--radius-md)}.map-ctrl__group .tooltip-wrap:only-child .icon-btn{border-radius:var(--radius-md)}.map-ctrl__sep{height:1px;background:var(--color-border)}.mapview{position:relative}.mapview__stage{animation:fade-in var(--dur-slow) var(--ease-out)}.mapview__toggle{position:absolute;top:14px;left:14px;z-index:4;display:inline-flex;padding:3px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.mapview__toggle button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--dur-base),color var(--dur-base)}.mapview__toggle button svg{width:15px;height:15px}.mapview__toggle button:hover{color:var(--navy-900)}.mapview__toggle button[aria-pressed=true]{background:var(--blue-50);color:var(--blue-600)}.map-loading{display:grid;place-items:center;height:100%;color:var(--color-text-muted);font-size:var(--text-sm)}.pub{background:#fff;min-height:100vh}.pub-wrap{max-width:1240px;margin:0 auto;padding-inline:var(--space-8)}.pub-nav{position:sticky;top:0;z-index:30;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.pub-nav.is-scrolled{border-color:var(--color-border);box-shadow:var(--shadow-xs)}.pub-nav__inner{display:flex;align-items:center;gap:var(--space-8);height:72px}.pub-nav__links{display:flex;gap:var(--space-1)}.pub-nav__links a{padding:8px 14px;border-radius:var(--radius-md);color:var(--grey-700);font-weight:500;font-size:var(--text-sm);transition:background var(--dur-base),color var(--dur-base)}.pub-nav__links a:hover,.pub-nav__links a.active{background:var(--grey-50);color:var(--navy-900)}.pub-nav__cta{margin-left:auto;display:flex;gap:var(--space-2);align-items:center}.pub-nav__burger{display:none}.pub-section{padding-block:var(--space-20)}.pub-section--muted{background:var(--grey-25);border-block:1px solid var(--color-border)}.pub-section__head{text-align:center;max-width:640px;margin:0 auto var(--space-12)}.pub-section__head h2{font-size:var(--text-2xl);margin:8px 0}.pub-section__head p{color:var(--color-text-muted)}.home-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--space-12);align-items:center;padding-block:var(--space-16) var(--space-12)}.home-hero h1{font-size:var(--text-4xl);line-height:1.05;letter-spacing:-.035em;margin:20px 0 18px}.home-hero__text>p{font-size:var(--text-md);color:var(--grey-700);max-width:520px}.home-hero__ticks{list-style:none;display:flex;gap:var(--space-5);padding:0;margin:var(--space-6) 0 0;font-size:var(--text-sm);color:var(--grey-700);flex-wrap:wrap}.home-hero__ticks li{display:inline-flex;align-items:center;gap:6px}.home-hero__ticks svg{color:var(--green-500)}.home-hero__visual{position:relative}.home-hero__visual .globe{background:transparent}.home-hero__card{position:absolute;left:0;bottom:32px;display:flex;flex-direction:column;padding:var(--space-4) var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise-in var(--dur-slow) var(--ease-out)}.home-hero__card strong{font-family:var(--font-display);font-size:var(--text-lg);margin-top:2px}.home-hero__card span:last-child{font-size:var(--text-xs);color:var(--color-text-muted)}.home-stats{background:var(--navy-900);color:#fff}.home-stats__inner{display:grid;grid-template-columns:repeat(4,1fr);padding-block:var(--space-10);text-align:center}.home-stats strong{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800}.home-stats span{font-size:var(--text-sm);color:#aab6cf}.home-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.home-step{position:relative;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.home-step:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.home-step__n{position:absolute;top:var(--space-5);right:var(--space-5);font-family:var(--font-display);font-weight:800;color:var(--grey-200);font-size:var(--text-xl)}.home-step__icon{width:26px;height:26px;color:var(--blue-600);margin-bottom:var(--space-4)}.home-step p,.home-feature p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:6px}.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.home-feature h3{margin-top:var(--space-2)}.home-quote{margin:0;padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.home-quote svg{color:var(--blue-200);width:26px;height:26px}.home-quote blockquote{margin:var(--space-3) 0;font-size:var(--text-md);color:var(--navy-900)}.home-quote figcaption{font-size:var(--text-sm);color:var(--color-text-muted)}.home-pricing{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-wrap:wrap}.home-pricing h2{font-size:var(--text-2xl);margin:6px 0}.home-cta{background:var(--blue-500);color:#fff;padding-block:var(--space-16)}.home-cta h2{color:#fff;font-size:var(--text-2xl)}.home-cta p{color:#dbe7ff;margin:8px 0 24px}.home-cta .btn--primary{--btn-bg: #fff;--btn-fg: var(--blue-700);--btn-bd: #fff}.home-cta .btn--primary:hover{--btn-bg: var(--blue-50);--btn-bd: var(--blue-50)}.pub-foot{background:var(--navy-900);color:#aab6cf;padding-top:var(--space-16)}.pub-foot__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-12)}.pub-foot__brand p{margin-top:var(--space-3);font-size:var(--text-sm);max-width:260px}.pub-foot h4{color:#fff;font-size:var(--text-sm);margin-bottom:var(--space-3)}.pub-foot a{display:block;color:#aab6cf;font-size:var(--text-sm);padding:4px 0;transition:color var(--dur-base)}.pub-foot a:hover{color:#fff}.pub-foot__base{display:flex;justify-content:space-between;padding-block:var(--space-5);border-top:1px solid rgba(255,255,255,.1);font-size:var(--text-xs)}.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:#fff}.auth__form{display:flex;flex-direction:column;padding:var(--space-8) var(--space-12)}.auth__inner{width:100%;max-width:420px;margin:auto;padding-block:var(--space-10)}.auth__inner h1{font-size:var(--text-2xl)}.auth__logo{align-self:flex-start}.auth__demo{font-size:var(--text-xs);color:var(--grey-500);text-align:center}.auth__art{position:relative;background:var(--map-ocean);border-left:1px solid var(--color-border);overflow:hidden}.auth__map{position:absolute;top:0;right:0;bottom:0;left:0}.auth__map .wm{height:100%!important;border-radius:0}.auth__quote{position:absolute;left:var(--space-8);right:var(--space-8);bottom:var(--space-8);display:flex;flex-direction:column;gap:4px;padding:var(--space-5) var(--space-6);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.auth__quote strong{font-family:var(--font-display);font-size:var(--text-lg)}.auth__quote span{color:var(--color-text-muted);font-size:var(--text-sm)}.auth__or{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--grey-400);font-size:var(--text-xs)}.auth__or:before,.auth__or:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth__switch{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.auth__sent{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--green-50);color:var(--green-500);margin-bottom:var(--space-5);animation:pop .42s var(--ease-out)}.auth__sent svg{width:30px;height:30px}.pw{position:relative}.pw .input{width:100%;padding-right:44px}.pw__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;border-radius:var(--radius-sm);color:var(--grey-500);cursor:pointer;display:grid;place-items:center}.pw__toggle:hover{background:var(--grey-50);color:var(--navy-900)}.pw__toggle svg{width:18px;height:18px}.pw-meter{display:flex;align-items:center;gap:var(--space-3);margin-top:6px;font-size:var(--text-xs);color:var(--color-text-muted)}.pw-meter__bars{display:flex;gap:4px;flex:1}.pw-meter__bars span{flex:1;height:4px;border-radius:99px;background:var(--grey-100);transition:background var(--dur-base)}.pw-meter__bars .s1{background:var(--red-500)}.pw-meter__bars .s2{background:var(--orange-500)}.pw-meter__bars .s3{background:var(--blue-500)}.pw-meter__bars .s4{background:var(--green-500)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.about-hero{text-align:center;max-width:820px}.about-hero h1{font-size:var(--text-3xl);margin:12px 0 16px}.about-hero p{font-size:var(--text-md);color:var(--grey-700)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);color:var(--grey-700);font-size:var(--text-md)}.about-team{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-5)}.about-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5) var(--space-3);border-radius:var(--radius-lg);transition:background var(--dur-base)}.about-person:hover{background:var(--grey-25)}.about-person:hover .avatar{transform:translateY(-3px)}.about-person .avatar{transition:transform var(--dur-base) var(--ease-out);margin-bottom:6px}.about-person span{font-size:var(--text-xs);color:var(--color-text-muted)}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-12);align-items:start}.contact__details{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}.contact__details>div{display:flex;gap:var(--space-3);align-items:center}.contact__details svg{width:40px;height:40px;padding:10px;border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue-600)}.contact__details strong{display:block;font-size:var(--text-sm)}.contact__details span{font-size:var(--text-sm);color:var(--color-text-muted)}.contact__card{padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff}.contact__types{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:8px}.contact__types button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--dur-base)}.contact__types button svg{width:18px;height:18px;color:var(--grey-500)}.contact__types button:hover{border-color:var(--grey-400)}.contact__types button.is-on{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.contact__types button.is-on svg{color:var(--blue-600)}.contact__stars{display:flex;gap:4px;margin-top:6px}.contact__stars button{border:0;background:none;padding:2px;cursor:pointer;color:var(--grey-200);transition:transform var(--dur-base) var(--ease-out),color var(--dur-base)}.contact__stars button:hover{transform:scale(1.15)}.contact__stars button.is-on{color:var(--orange-500)}.contact__stars svg{width:26px;height:26px;fill:currentColor}.contact__sent{text-align:center;padding:var(--space-8) 0}.contact__sent>svg{width:52px;height:52px;color:var(--green-500);margin:0 auto var(--space-4);animation:pop .42s var(--ease-out)}.contact__sent p{margin:8px 0 24px}@media (max-width: 1100px){.home-hero,.contact,.auth{grid-template-columns:1fr}.home-hero h1{font-size:var(--text-3xl)}.home-steps,.about-team{grid-template-columns:repeat(2,1fr)}.home-features{grid-template-columns:1fr}.auth__art{display:none}.pub-foot__inner{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.pub-wrap{padding-inline:var(--space-4)}.pub-nav__links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;padding:var(--space-3);background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md)}.pub-nav__links.is-open{display:flex;animation:drop-in var(--dur-base) var(--ease-out)}.pub-nav__cta .btn--ghost{display:none}.pub-nav__burger{display:inline-grid}.home-stats__inner{grid-template-columns:1fr 1fr;gap:var(--space-6)}.home-steps,.about-team,.about-story{grid-template-columns:1fr}.auth__form{padding:var(--space-5)}.pub-section{padding-block:var(--space-12)}}.dash-welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.dash-welcome h1{margin:4px 0 6px}.dash-kpis{display:flex;gap:var(--space-3);flex-wrap:wrap}.dash-kpi{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.dash-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dash-kpi strong{display:block;font-size:var(--text-base)}.dash-kpi span{font-size:var(--text-xs);color:var(--color-text-muted)}.dash-kpi__icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600)}.dash-kpi__icon svg{width:19px;height:19px}.dash-kpi__icon--orange{background:var(--orange-50);color:var(--orange-600)}.dash-kpi .ring__label .dash-kpi__lvl,.dash-kpi__lvl{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--navy-900)}.dash-onboard{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);background:#fff;border:1px solid var(--blue-100);border-radius:var(--radius-lg);animation:rise-in var(--dur-slow) var(--ease-out)}.dash-onboard__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.dash-onboard__items{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.dash-check{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--navy-900);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-base),border-color var(--dur-base),transform var(--dur-base) var(--ease-out)}.dash-check:hover{background:var(--grey-25);border-color:var(--color-border-strong);transform:translateY(-1px)}.dash-check.is-done{color:var(--color-text-muted);text-decoration:line-through}.dash-check__box{width:20px;height:20px;flex-shrink:0;border-radius:6px;border:1.5px solid var(--grey-400);display:grid;place-items:center}.dash-check.is-done .dash-check__box{background:var(--green-500);border-color:var(--green-500);color:#fff}.dash-check__box svg{width:13px;height:13px}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.dash-continue{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:320px}.dash-continue__body{padding:var(--space-6);display:flex;flex-direction:column}.dash-continue__body h2{margin:6px 0 4px;font-size:var(--text-xl)}.dash-continue__map{border-left:1px solid var(--color-border);min-height:280px}.dash-continue__map>.wm{height:100%!important;border-radius:0}.dash-next{list-style:none;padding:0;margin:var(--space-4) 0 0;display:flex;flex-wrap:wrap;gap:6px}.dash-next li{padding:4px 10px;border-radius:99px;background:var(--grey-50);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:600}.dash-daily{display:flex;flex-direction:column}.dash-daily .btn{margin-top:auto}.dash-daily__icon{width:44px;height:44px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--orange-50);color:var(--orange-600)}.dash-daily__meta{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-5)}.dash-daily__meta span{display:inline-flex;align-items:center;gap:5px}.dash-link{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:600;transition:gap var(--dur-base)}.dash-link:hover{gap:6px}.dash-goal{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.dash-ach{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.dash-ach__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:var(--space-3);border-radius:var(--radius-md);color:var(--navy-900);transition:background var(--dur-base)}.dash-ach__item:hover{background:var(--grey-25)}.dash-ach__item:hover .dash-ach__medal{transform:translateY(-3px) scale(1.06)}.dash-ach__item strong{font-size:var(--text-xs)}.dash-ach__item span{font-size:11px;color:var(--color-text-muted)}.dash-ach__medal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--orange-50);color:var(--orange-600);border:2px solid #fbd9b4;transition:transform var(--dur-base) var(--ease-out)}.dash-ach__medal svg{width:21px;height:21px}.dash-rank{width:24px;text-align:center;font-weight:700;font-size:var(--text-sm);color:var(--color-text-muted)}.dash-rank--1{color:var(--orange-500)}.dash-rank--2{color:var(--grey-500)}.dash-rank--3{color:#b07a4a}.dash-me{background:var(--blue-50);border-radius:var(--radius-md);padding-left:4px;padding-right:8px;border-bottom:0;margin-top:4px}.dash-courses{grid-column:1 / -1;margin-top:var(--space-4)}.dash-quick{grid-column:span 1}.dash-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.dash-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--grey-25);font-weight:600;font-size:var(--text-sm);color:var(--navy-900);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),background var(--dur-base),border-color var(--dur-base)}.dash-actions button svg{width:20px;height:20px;color:var(--blue-600);transition:transform var(--dur-base) var(--ease-out)}.dash-actions button:hover{background:#fff;border-color:var(--color-border-strong);transform:translateY(-2px)}.dash-actions button:hover svg{transform:scale(1.12)}.dash-premium{grid-column:span 2;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--navy-900);color:#fff}.dash-premium h3{color:#fff}.dash-premium p{color:#b7c2d8;font-size:var(--text-sm);margin-top:4px;max-width:520px}.dash-premium>div{flex:1}.dash-premium__icon{width:44px;height:44px;padding:10px;border-radius:var(--radius-md);background:#ef8a1f26;color:var(--orange-500);flex-shrink:0}.dash-welcome-steps{margin:var(--space-4) 0 0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);color:var(--grey-700);font-size:var(--text-sm)}@media (max-width: 1280px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-continue,.dash-premium{grid-column:1 / -1}.dash-onboard__items{grid-template-columns:1fr 1fr}}@media (max-width: 800px){.dash-grid,.dash-continue{grid-template-columns:1fr}.dash-continue__map{border-left:0;border-top:1px solid var(--color-border);height:260px}.dash-premium{flex-direction:column;align-items:flex-start}.dash-onboard__items{grid-template-columns:1fr}}.prof-head{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);margin-bottom:var(--space-6)}.prof-head h1{font-size:var(--text-2xl)}.prof-head__meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:6px;font-size:var(--text-sm);color:var(--color-text-muted)}.prof-head__meta span{display:inline-flex;align-items:center;gap:5px}.prof-head__actions{margin-left:auto;display:flex;gap:var(--space-3)}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);gap:4px;overflow-x:auto;padding-bottom:4px}.heatmap span{width:14px;height:14px;border-radius:3px;background:var(--grey-100);transition:transform var(--dur-fast)}.heatmap span:hover{transform:scale(1.3)}.heatmap .l1{background:var(--blue-100)}.heatmap .l2{background:var(--blue-200)}.heatmap .l3{background:var(--blue-400)}.heatmap .l4{background:var(--blue-600)}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:var(--space-3);font-size:11px;color:var(--color-text-muted)}.heatmap-legend span.sw{width:12px;height:12px;border-radius:3px;display:inline-block}.feed__item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.feed__item:last-child{border-bottom:0}.feed__icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);flex-shrink:0}.feed__icon svg{width:15px;height:15px}.set{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-8);align-items:start}.set-nav{position:sticky;top:var(--space-6);display:flex;flex-direction:column;gap:2px}.set-nav .nav-item{text-decoration:none}.set-section{scroll-margin-top:var(--space-6)}.set-section+.set-section{margin-top:var(--space-6)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.set-row:last-child{border-bottom:0;padding-bottom:0}.set-row:first-of-type{padding-top:0}.set-row strong{display:block;font-size:var(--text-sm)}.set-row span{font-size:var(--text-xs);color:var(--color-text-muted)}.seg{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--grey-50);border:1px solid var(--color-border)}.seg button{height:30px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all var(--dur-base)}.seg button:hover{color:var(--navy-900)}.seg button[aria-pressed=true]{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-sm)}.danger-zone{border-color:#f2c9c4}.danger-zone .card__title{color:var(--red-600)}.help-hero{text-align:center;padding:var(--space-10) var(--space-6);margin-bottom:var(--space-8)}.help-hero .search-input{max-width:520px;margin:var(--space-5) auto 0;display:block}.help-hero .search-input .input{height:48px}.tut-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);counter-reset:s}.tut-step{padding:var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.tut-step__n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--navy-900);color:#fff;font-weight:700;font-size:var(--text-xs);margin-bottom:var(--space-3)}.tut-step p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:4px}.kbd-table td:first-child{width:160px}.help-art{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}@media (max-width: 1000px){.set{grid-template-columns:1fr}.set-nav{position:static;flex-direction:row;flex-wrap:wrap}.tut-steps{grid-template-columns:1fr 1fr}.prof-head{flex-direction:column;align-items:flex-start}.prof-head__actions{margin-left:0}}@media (max-width: 600px){.tut-steps{grid-template-columns:1fr}}.crs-hero{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8)}.crs-hero__meta{display:flex;gap:var(--space-5);flex-wrap:wrap;font-size:var(--text-sm);color:#cdd6e7}.crs-hero__meta span{display:inline-flex;align-items:center;gap:6px}.crs-hero__ring{padding:var(--space-5);background:#fff;border-radius:50%;flex-shrink:0}.crs-hero .btn--secondary{--btn-bg: transparent;--btn-fg: #fff;--btn-bd: rgba(255,255,255,.3)}.crs-hero .btn--secondary:hover{--btn-bg: rgba(255,255,255,.08)}.crs-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.crs-path__item{display:flex;align-items:center;gap:var(--space-4)}.crs-path__num{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--color-border-strong);font-weight:700;font-size:var(--text-sm)}.crs-path__item.is-done .crs-path__num{background:var(--green-500);border-color:var(--green-500);color:#fff}.crs-path__card{flex:1;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.crs-path__card:hover{transform:translate(4px);box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.crs-path__body{flex:1;min-width:0}.crs-path__body strong{display:block}.crs-path__body span{font-size:var(--text-xs);color:var(--color-text-muted)}.crs-path__prog{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.crs-path__arrow{color:var(--grey-400);transition:transform var(--dur-base) var(--ease-out),color var(--dur-base)}.crs-path__card:hover .crs-path__arrow{transform:translate(3px);color:var(--blue-500)}.crs-map{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.crs-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-6)}.crs-detail__hero{display:flex;gap:var(--space-5);align-items:flex-start;margin-bottom:var(--space-6)}.crs-detail__hero h1{font-size:var(--text-2xl)}.crs-detail__hero p{color:var(--color-text-muted);margin-top:6px;max-width:640px}.crs-detail__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.crs-mini{padding:var(--space-4);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.crs-mini span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.crs-mini strong{font-family:var(--font-display);font-size:var(--text-lg)}.crs-side{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:var(--space-6);align-self:start}.crs-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.crs-steps li{padding:var(--space-5);border-radius:var(--radius-md);background:var(--grey-25);border:1px solid var(--color-border)}.crs-steps li svg{width:22px;height:22px;color:var(--blue-600);margin-bottom:var(--space-3)}.crs-steps strong{display:block;margin-bottom:4px}.crs-steps span{font-size:var(--text-sm);color:var(--color-text-muted)}.crs-level-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.crs-level-row:last-child{border-bottom:0}.crs-level-row__n{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--grey-50);font-weight:700;font-size:var(--text-xs);flex-shrink:0}.crs-level-row__n.is-done{background:var(--green-50);color:var(--green-600)}.review-card{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.review-card:last-child{border-bottom:0}.review-card p{color:var(--grey-700);font-size:var(--text-sm);margin-top:6px}.rating{display:inline-flex;gap:2px;color:var(--orange-500)}.rating svg{width:14px;height:14px;fill:currentColor}.lvl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-4)}.lvl{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);text-align:left;width:100%;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.lvl:hover:not(.is-locked){transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.lvl.is-current{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.lvl.is-locked{background:var(--grey-25);cursor:not-allowed}.lvl.is-locked .lvl__title,.lvl.is-locked .lvl__countries{color:var(--grey-400)}.lvl__top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--space-2)}.lvl-grid>.tooltip-wrap{display:flex}.lvl-grid>.tooltip-wrap>.lvl{height:100%}.lvl__num{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.lvl__title{font-weight:700;font-size:var(--text-base)}.lvl__countries{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;min-height:3em}.lvl__stars{display:flex;gap:2px}.lvl__stars svg{width:15px;height:15px;color:var(--grey-200);fill:var(--grey-100)}.lvl__stars svg.is-on{color:var(--orange-500);fill:var(--orange-500)}.lvl__lock{width:18px;height:18px;color:var(--grey-400)}.lvl--final{align-items:center;justify-content:center;text-align:center;background:var(--navy-900);border-color:var(--navy-900);color:#fff}.lvl--final.is-locked{background:var(--grey-50);border-color:var(--color-border);color:var(--grey-400)}.lvl--final svg{width:28px;height:28px;color:var(--orange-500)}.prog-top{display:grid;grid-template-columns:300px 1fr;gap:var(--space-5)}.prog-overall{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center}.prog-course{display:grid;grid-template-columns:44px 1fr 200px 90px;gap:var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.prog-course:last-child{border-bottom:0}.prog-cont{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5)}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--grey-100)}.timeline li{position:relative;padding:0 0 var(--space-5) var(--space-8)}.timeline li:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:4px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--blue-500)}.timeline li.is-future .timeline__dot{border-color:var(--grey-200)}.timeline strong{display:block;font-size:var(--text-sm)}.timeline span{font-size:var(--text-xs);color:var(--color-text-muted)}@media (max-width: 1200px){.crs-detail,.prog-cont{grid-template-columns:1fr}.crs-side{position:static}}@media (max-width: 900px){.crs-hero{flex-direction:column;align-items:flex-start}.crs-detail__stats{grid-template-columns:repeat(2,1fr)}.crs-steps,.prog-top{grid-template-columns:1fr}.prog-course{grid-template-columns:44px 1fr}.prog-course>:nth-child(n+3){grid-column:2}.crs-path__prog{display:none}}.play{display:grid;grid-template-rows:64px 1fr;height:100vh;background:var(--color-bg)}.play__bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,520px) minmax(0,1fr);align-items:center;gap:var(--space-6);padding:0 var(--space-6);background:#fff;border-bottom:1px solid var(--color-border)}.play__bar-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.play__bar-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.play__title{display:flex;flex-direction:column;line-height:1.25;min-width:0}.play__title strong{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play__title span{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play__progress{height:8px;background:var(--grey-100);border-radius:99px;overflow:hidden}.play__progress-fill{height:100%;background:var(--blue-500);border-radius:inherit;transition:width .5s var(--ease-out)}.play__main{min-height:0;padding:var(--space-5);display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-5)}.play__main--single{grid-template-columns:minmax(0,1fr);overflow-y:auto}.play__map{min-height:0;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:#fff}.play__map .mapview,.play__map .mapview__stage{height:100%}.play__side{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;overflow-y:auto}.hud{display:flex;gap:var(--space-2)}.hud__item{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--radius-md);background:var(--grey-50);border:1px solid var(--color-border);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.hud__item svg{width:15px;height:15px;color:var(--grey-500)}.learn-card{padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.learn-card__step{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.steps{display:flex;gap:6px}.steps span{width:22px;height:5px;border-radius:99px;background:var(--grey-100);transition:background var(--dur-slow),width var(--dur-slow) var(--ease-out)}.steps span.is-done{background:var(--blue-200)}.steps span.is-active{background:var(--blue-500);width:34px}.learn-card__name{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;animation:rise-in var(--dur-slow) var(--ease-out)}.learn-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-5) 0}.learn-fact{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--grey-25);border:1px solid var(--color-border)}.learn-fact span{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.learn-fact strong{font-size:var(--text-sm)}.learn-card__fact{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--blue-50);color:var(--navy-800);font-size:var(--text-sm)}.learn-card__fact svg{width:18px;height:18px;color:var(--blue-600);flex-shrink:0;margin-top:2px}.learn-nav{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.learn-nav .btn:last-child{flex:1}.learn-hint{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-3)}.kbd svg{display:inline-block;vertical-align:-1px}.kbd{display:inline-block;padding:1px 6px;border:1px solid var(--color-border-strong);border-bottom-width:2px;border-radius:5px;background:#fff;font:600 11px var(--font-sans);color:var(--grey-700)}.ready{max-width:760px;margin:0 auto;width:100%;padding-block:var(--space-8);text-align:center}.ready__icon{width:64px;height:64px;margin:0 auto var(--space-5);border-radius:18px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);animation:pop .4s var(--ease-out)}.ready__icon svg{width:30px;height:30px}.ready h1{font-size:var(--text-2xl)}.ready>p{color:var(--color-text-muted);margin:var(--space-2) auto var(--space-8);max-width:520px}.ready__cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);text-align:left;margin-bottom:var(--space-8)}.ready__list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ready__list li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}.ready__list li svg{width:15px;height:15px;color:var(--green-500)}.ready__list li.review svg{color:var(--blue-500)}.quiz-q{padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.quiz-q__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.quiz-q__prompt{font-size:var(--text-lg);line-height:1.3}.quiz-opts{display:flex;flex-direction:column;gap:var(--space-3)}.quiz-opt{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:54px;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;text-align:left;font-weight:600;font-size:var(--text-base);color:var(--navy-900);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base),background var(--dur-base),box-shadow var(--dur-base);animation:rise-in var(--dur-slow) var(--ease-out) both}.quiz-opt:nth-child(2){animation-delay:40ms}.quiz-opt:nth-child(3){animation-delay:80ms}.quiz-opt:nth-child(4){animation-delay:.12s}.quiz-opt:hover:not(:disabled){transform:translateY(-2px);border-color:var(--blue-400);box-shadow:var(--shadow-sm)}.quiz-opt:disabled{cursor:default}.quiz-opt__key{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:7px;background:var(--grey-50);border:1px solid var(--color-border);font-size:12px;color:var(--grey-500);transition:all var(--dur-base)}.quiz-opt__mark{margin-left:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;animation:pop .32s var(--ease-out)}.quiz-opt__mark svg{width:14px;height:14px}.quiz-opt.is-correct{border-color:var(--green-500);background:var(--green-50)}.quiz-opt.is-correct .quiz-opt__key{background:var(--green-500);border-color:var(--green-500);color:#fff}.quiz-opt.is-correct .quiz-opt__mark{background:var(--green-500)}.quiz-opt.is-wrong{border-color:var(--red-500);background:var(--red-50);animation:shake .3s var(--ease-in-out)}.quiz-opt.is-wrong .quiz-opt__key{background:var(--red-500);border-color:var(--red-500);color:#fff}.quiz-opt.is-wrong .quiz-opt__mark{background:var(--red-500)}.quiz-opt.is-dim{opacity:.55}.quiz-fb{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid;animation:rise-in var(--dur-slow) var(--ease-out)}.quiz-fb--correct{background:var(--green-50);border-color:#bfe6d1}.quiz-fb--wrong{background:var(--red-50);border-color:#f2c9c4}.quiz-fb__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.quiz-fb__icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;animation:pop .38s var(--ease-out);flex-shrink:0}.quiz-fb__icon svg{width:18px;height:18px}.quiz-fb--correct .quiz-fb__icon{background:var(--green-500)}.quiz-fb--wrong .quiz-fb__icon{background:var(--red-500)}.quiz-fb__head strong{font-size:var(--text-md)}.quiz-fb--correct .quiz-fb__head strong{color:var(--green-600)}.quiz-fb--wrong .quiz-fb__head strong{color:var(--red-600)}.quiz-fb p{font-size:var(--text-sm);color:var(--grey-700);margin-bottom:var(--space-4)}.pause-menu{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.pause-menu .btn{justify-content:flex-start;height:46px}.pause-menu__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600}.results{max-width:1040px;width:100%;margin:0 auto;padding-block:var(--space-6) var(--space-12)}.results__hero{text-align:center;margin-bottom:var(--space-8)}.results__badge{width:76px;height:76px;margin:0 auto var(--space-4);border-radius:50%;display:grid;place-items:center;background:var(--green-500);color:#fff;box-shadow:0 0 0 10px var(--green-50);animation:pop .5s var(--ease-out)}.results__badge svg{width:36px;height:36px}.results__badge--retry,.results__badge--trophy{background:var(--orange-500);box-shadow:0 0 0 10px var(--orange-50)}.results__hero h1{font-size:var(--text-2xl)}.results__hero p{color:var(--color-text-muted);margin-top:var(--space-2)}.stars{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.stars svg{width:30px;height:30px;color:var(--grey-200);fill:var(--grey-100);animation:pop .42s var(--ease-out) both}.stars svg.is-on{color:var(--orange-500);fill:var(--orange-500)}.stars svg:nth-child(2){animation-delay:.14s}.stars svg:nth-child(3){animation-delay:.28s}.results__grid{display:grid;grid-template-columns:280px 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.results__ring{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3)}.results__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.results__actions{display:flex;justify-content:center;gap:var(--space-3);margin:var(--space-8) 0;flex-wrap:wrap}.review-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.review-row:last-child{border-bottom:0}.review-row__icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff}.review-row__icon svg{width:13px;height:13px}.review-row__icon.ok{background:var(--green-500)}.review-row__icon.no{background:var(--red-500)}.review-row span{color:var(--color-text-muted)}.unlock{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--blue-50);border:1px solid var(--blue-100);margin-bottom:var(--space-5)}.unlock svg{width:22px;height:22px;color:var(--blue-600);flex-shrink:0}.unlock strong{display:block}.unlock span{font-size:var(--text-sm);color:var(--grey-700)}.certificate{position:relative;padding:var(--space-10);border-radius:var(--radius-xl);background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-md);text-align:center;overflow:hidden}.certificate:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1.5px solid var(--blue-100);border-radius:14px;pointer-events:none}.certificate h2{font-size:var(--text-2xl);margin:var(--space-2) 0}.certificate__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--blue-600);margin:var(--space-4) 0}.certificate__meta{display:flex;justify-content:center;gap:var(--space-10);margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.certificate__meta strong{display:block;color:var(--navy-900);font-size:var(--text-md)}.explorer{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5)}.explorer__map{height:calc(100vh - var(--header-h) - 210px);min-height:460px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:#fff}.explorer__map>div,.explorer__map .mapview__stage{height:100%}.explorer__side{display:flex;flex-direction:column;gap:var(--space-4)}.explorer__results{margin-top:var(--space-2);max-height:220px;overflow-y:auto}@media (max-width: 1100px){.play{grid-template-rows:auto 1fr;height:auto;min-height:100vh}.play__bar{grid-template-columns:1fr auto;padding:var(--space-3) var(--space-4)}.play__progress{grid-column:1 / -1;grid-row:2}.play__logo{display:none}.play__main{grid-template-columns:1fr}.play__map{height:55vh}.results__grid,.explorer{grid-template-columns:1fr}.explorer__map{height:60vh}}@media (max-width: 700px){.results__stats,.ready__cols,.learn-facts{grid-template-columns:1fr}.play__main{padding:var(--space-3)}.certificate{padding:var(--space-6)}.certificate__meta{gap:var(--space-5);flex-wrap:wrap}}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}.ach-grid>.tooltip-wrap{display:flex}.ach{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-6) var(--space-4) var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.ach:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.ach:hover .ach__medal{transform:scale(1.06) rotate(-4deg)}.ach strong{font-size:var(--text-sm);margin-top:6px}.ach .progress{margin-top:6px}.ach__cat{font-size:11px;color:var(--color-text-muted)}.ach__date{font-size:11px;color:var(--green-600);font-weight:600}.ach__medal{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--grey-50);color:var(--grey-400);border:2px dashed var(--grey-200);transition:transform var(--dur-base) var(--ease-out)}.ach__medal svg{width:26px;height:26px}.ach.is-earned .ach__medal,.ach__medal.is-on{background:var(--orange-50);color:var(--orange-600);border:2px solid #fbd9b4;box-shadow:0 0 0 4px #fff8f0}.ach__lock{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--color-border);display:grid;place-items:center}.ach__lock svg{width:11px;height:11px;color:var(--grey-500)}.ach__medal--lg{width:88px;height:88px;margin:0 auto var(--space-4)}.ach__medal--lg svg{width:36px;height:36px}.ach-modal__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-5)}.ach-modal__meta div{padding:var(--space-3);border-radius:var(--radius-md);background:var(--grey-25);border:1px solid var(--color-border)}.ach-modal__meta strong{display:block;font-family:var(--font-display);font-size:var(--text-lg)}.ach-modal__meta span{font-size:var(--text-xs);color:var(--color-text-muted)}.podium{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-5);margin:var(--space-4) 0 var(--space-8)}.podium__spot{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:170px;animation:rise-in var(--dur-slow) var(--ease-out) both}.podium__spot--1{animation-delay:.12s}.podium__spot strong{font-size:var(--text-sm);text-align:center}.podium__spot>span{font-size:var(--text-xs);color:var(--color-text-muted)}.podium__block{width:100%;margin-top:var(--space-3);display:grid;place-items:center;border-radius:var(--radius-md) var(--radius-md) 0 0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:#fff}.podium__spot--1 .podium__block{height:120px;background:var(--navy-900)}.podium__spot--2 .podium__block{height:88px;background:var(--blue-500)}.podium__spot--3 .podium__block{height:64px;background:var(--blue-400)}.podium__crown{width:26px;height:26px;color:var(--orange-500);fill:var(--orange-500);margin-bottom:4px}.lb-me{margin-bottom:var(--space-5);border-color:var(--blue-200);background:var(--blue-50)}.lb-rank{display:inline-block;min-width:28px;font-weight:700;color:var(--grey-700)}.trend{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:600;color:var(--grey-400)}.trend svg{width:14px;height:14px}.trend.up{color:var(--green-600)}.trend.down{color:var(--red-500)}.daily-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-5)}.daily-hero__meta{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-5);font-size:var(--text-sm);color:#cdd6e7}.daily-hero__meta span{display:inline-flex;align-items:center;gap:6px}.daily-chip{padding:5px 12px;border-radius:99px;background:#ffffff1a;color:#fff;font-size:var(--text-xs);font-weight:600}.daily-score{display:flex;flex-direction:column;padding-right:var(--space-4);margin-right:var(--space-2);border-right:1px solid rgba(255,255,255,.15)}.daily-score strong{font-family:var(--font-display);font-size:var(--text-xl)}.daily-score span{font-size:var(--text-xs);color:#aab6cf}.daily-hero .btn--secondary{--btn-bg: transparent;--btn-fg: #fff;--btn-bd: rgba(255,255,255,.3)}.daily-hero .btn--ghost{--btn-fg: #cdd6e7}.daily-hero .btn--ghost:hover{--btn-bg: rgba(255,255,255,.08)}.cal{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.cal__day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:11px;font-weight:600;border:1px solid var(--color-border);transition:transform var(--dur-fast)}.cal__day:hover{transform:scale(1.08)}.cal__day svg{width:12px;height:12px}.cal__day.done{background:var(--green-50);border-color:#bfe6d1;color:var(--green-600)}.cal__day.missed{background:var(--grey-25);color:var(--grey-400)}.cal__day.today{border:2px solid var(--blue-500);color:var(--blue-600);background:#fff}.cal-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:8px}.cal-key.done{background:var(--green-500)}.cal-key.missed{background:var(--grey-200)}.prem-hero{text-align:center;padding:var(--space-12) var(--space-8)}.prem-hero__crown{width:44px;height:44px;color:var(--orange-500);margin:0 auto var(--space-4)}.prem-hero .btn--secondary{--btn-bg: transparent;--btn-fg: #fff;--btn-bd: rgba(255,255,255,.3)}.prem-compare td:not(:first-child),.prem-compare th:not(:first-child){text-align:center;width:140px}.prem-compare td svg{margin:0 auto}.cycle{display:flex;width:max-content;margin:0 auto var(--space-8);padding:4px;border-radius:99px;background:var(--grey-50);border:1px solid var(--color-border)}.cycle button{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 20px;border:0;border-radius:99px;background:transparent;font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--dur-base)}.cycle button[aria-pressed=true]{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-sm)}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);max-width:1100px;margin:0 auto}.plan{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-6) var(--space-6);text-align:left;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.plan.is-selected{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-50),var(--shadow-md)}.plan h3{font-size:var(--text-lg)}.plan>p{min-height:3.1em}.plan__flag{position:absolute;top:-12px;left:var(--space-6);display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;background:var(--navy-900);color:#fff;font-size:11px;font-weight:700}.plan__price{display:flex;align-items:baseline;gap:4px;margin-top:var(--space-4)}.plan__price strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em}.plan__price span{color:var(--color-text-muted);font-size:var(--text-sm)}.plan ul{list-style:none;padding:0;margin:var(--space-4) 0 var(--space-8);display:flex;flex-direction:column;gap:10px;font-size:var(--text-sm)}.plan li{display:flex;align-items:center;gap:8px}.plan li svg{color:var(--green-500);flex-shrink:0}.plan__radio{position:absolute;top:var(--space-6);right:var(--space-6);width:20px;height:20px;border-radius:50%;border:2px solid var(--grey-200);transition:all var(--dur-base)}.plan.is-selected .plan__radio{border:6px solid var(--blue-500)}.plan .badge{margin-right:28px}.checkout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.checkout-done{text-align:center;padding:var(--space-12);max-width:640px;margin:var(--space-10) auto}.checkout-done>svg{width:56px;height:56px;color:var(--green-500);margin:0 auto var(--space-4);animation:pop .42s var(--ease-out)}.checkout-done p{margin-top:8px}@media (max-width: 1100px){.daily-grid,.checkout{grid-template-columns:1fr}.plans{grid-template-columns:1fr;max-width:520px}}@media (max-width: 700px){.podium__spot{width:100px}.cal{grid-template-columns:repeat(6,1fr)}}.cm-steps{list-style:none;margin:0 0 var(--space-6);padding:0;display:flex;gap:var(--space-2);overflow-x:auto}.cm-steps li{flex:1;min-width:130px}.cm-steps li>a,.cm-steps li>span{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);white-space:nowrap;transition:border-color var(--dur-base),background var(--dur-base)}.cm-steps li>a:hover{border-color:var(--color-border-strong);background:var(--grey-25)}.cm-steps__n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--grey-50);border:1px solid var(--color-border-strong);font-size:11px;flex-shrink:0}.cm-steps__n svg{width:12px;height:12px}.cm-steps li.done .cm-steps__n{background:var(--green-500);border-color:var(--green-500);color:#fff}.cm-steps li.active>span{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.cm-steps li.active .cm-steps__n{background:var(--blue-500);border-color:var(--blue-500);color:#fff}.cm-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:visible;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.cm-card:hover,.cm-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cm-card__thumb{aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--grey-50)}.cm-card__thumb svg{width:100%;height:100%;transition:transform .5s var(--ease-out)}.cm-card:hover .cm-card__thumb svg{transform:scale(1.04)}.cm-card__body{padding:var(--space-4) var(--space-5) var(--space-5)}.cm-card__body h3{font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-card__meta{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.cm-card__meta span{display:inline-flex;align-items:center;gap:4px}.cm-card__meta .badge{margin-left:auto}.cm-card--new{align-items:center;justify-content:center;gap:6px;min-height:260px;border:2px dashed var(--color-border-strong);background:var(--grey-25);color:var(--grey-700);text-align:center;padding:var(--space-5)}.cm-card--new svg{width:28px;height:28px;color:var(--blue-500)}.cm-card--new span{font-size:var(--text-xs);color:var(--color-text-muted)}.cm-menu{right:0;top:calc(100% + 6px);width:190px}.cm-upload-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.cm-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:320px;padding:var(--space-8);text-align:center;border:2px dashed var(--color-border-strong);border-radius:var(--radius-xl);background:#fff;cursor:pointer;transition:border-color var(--dur-base),background var(--dur-base),transform var(--dur-base) var(--ease-out)}.cm-drop:hover{border-color:var(--blue-400);background:var(--grey-25)}.cm-drop.is-drag{border-color:var(--blue-500);background:var(--blue-50);transform:scale(1.01)}.cm-drop.has-file{border-style:solid;border-color:var(--green-500);background:var(--green-50)}.cm-drop__icon{width:44px;height:44px;color:var(--blue-500);margin-bottom:var(--space-2);transition:transform var(--dur-base) var(--ease-out)}.cm-drop:hover .cm-drop__icon,.cm-drop.is-drag .cm-drop__icon{transform:translateY(-4px)}.cm-drop.has-file .cm-drop__icon{color:var(--green-500)}.cm-drop span{font-size:var(--text-sm);color:var(--color-text-muted)}.cm-sample{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;cursor:pointer;text-align:left;transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out)}.cm-sample:hover{border-color:var(--blue-400);transform:translate(3px)}.cm-sample strong{flex:1;font-size:var(--text-sm)}.cm-sample>svg{color:var(--grey-400)}.cm-sample__thumb{width:72px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0}.cm-sample__thumb svg{width:100%;height:100%}.cm-tips{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);display:flex;flex-direction:column;gap:4px}.cm-work{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-5);align-items:start}.cm-panel{position:sticky;top:var(--space-6)}.cm-canvas{position:relative;aspect-ratio:800 / 520;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background:#fff;-webkit-user-select:none;user-select:none}.cm-canvas>svg:first-child{width:100%;height:100%;display:block}.cm-canvas.is-markable{cursor:crosshair}.cm-pin{position:absolute;transform:translate(-50%,calc(-100% - 6px));width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--navy-900);color:#fff;font-size:11px;font-weight:700;line-height:1;cursor:grab;box-shadow:var(--shadow-md);display:grid;place-items:center;animation:pin-drop .36s var(--ease-out) both;transition:background var(--dur-base),scale var(--dur-base) var(--ease-out)}.cm-pin:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent;border-top:7px solid #fff}.cm-pin:hover{scale:1.12}.cm-pin.is-selected{background:var(--blue-500);scale:1.15;z-index:2}.cm-pin__label{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:2px 8px;border-radius:99px;background:#fff;color:var(--navy-900);font-size:11px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none}@keyframes pin-drop{0%{opacity:0;translate:0 -16px}to{opacity:1;translate:0 0}}.cm-pointer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cm-pointer line{stroke:var(--navy-900);stroke-width:1.5}.cm-pointer__chip{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--navy-900);color:#fff;font-weight:700;font-size:13px;animation:scale-in var(--dur-slow) var(--ease-out)}.cm-target-ring{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--navy-900);background:#fff9}.cm-pin-dot{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:var(--navy-900);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.cm-pin-row{cursor:pointer;border-radius:var(--radius-sm);padding-inline:6px}.cm-pin-row.is-selected{background:var(--blue-50)}.cm-pin-row .icon-btn{width:32px;height:32px}.cm-name-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;transition:background var(--dur-base),border-color var(--dur-base)}.cm-name-row .cm-pin-dot{margin-top:10px}.cm-name-row.is-selected{background:var(--blue-50);border-color:var(--blue-100)}.cm-crop-stage{display:grid;place-items:center;height:520px;background:repeating-conic-gradient(var(--grey-50) 0 25%,#fff 0 50%) 0 0 / 24px 24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);overflow:hidden}.cm-crop-frame{position:relative;width:100%;max-height:100%;overflow:hidden;border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--blue-500),0 0 0 9999px #0d173040;cursor:move;touch-action:none}.cm-crop-img{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .12s linear}.cm-crop-img svg{width:100%;height:100%}.cm-crop-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:33.33% 33.33%}.cm-range{width:100%;accent-color:var(--blue-500)}.cm-builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5);align-items:start}.cm-stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-4)}.cm-stage{display:flex;flex-direction:column;gap:var(--space-2);min-height:220px;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--grey-50);border:1.5px solid var(--color-border);transition:border-color var(--dur-base),background var(--dur-base)}.cm-stage.is-over{border-color:var(--blue-500);background:var(--blue-50)}.cm-stage__head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.cm-stage__head .icon-btn{width:28px;height:28px}.cm-stage__name{flex:1;min-width:0;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:4px 6px;font-weight:700;font-size:var(--text-sm)}.cm-stage__name:hover{border-color:var(--color-border-strong)}.cm-stage__name:focus{outline:none;border-color:var(--blue-500);background:#fff}.cm-stage__empty{margin:auto;font-size:var(--text-xs);color:var(--grey-400)}.cm-stage--add{align-items:center;justify-content:center;border-style:dashed;color:var(--grey-500);font-weight:600;cursor:pointer;flex-direction:row}.cm-stage--add:hover{border-color:var(--blue-400);color:var(--blue-600)}.cm-chip{display:flex;align-items:center;gap:6px;padding:8px 6px 8px 8px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-border);font-size:var(--text-sm);font-weight:500;cursor:grab;box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.cm-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cm-chip.is-drag{opacity:.4}.cm-chip>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-chip__grip{color:var(--grey-400)}.cm-chip button{width:24px;height:24px;display:grid;place-items:center;border:0;background:none;border-radius:6px;color:var(--grey-500);cursor:pointer}.cm-chip button:hover:not(:disabled){background:var(--grey-50);color:var(--navy-900)}.cm-chip button:disabled{opacity:.3;cursor:default}.cm-chip button svg{width:15px;height:15px}@media (max-width: 1100px){.cm-work,.cm-builder,.cm-upload-grid{grid-template-columns:1fr}.cm-panel{position:static}.cm-crop-stage{height:380px}}.adm-nav{display:flex;gap:4px;margin:-12px 0 var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);overflow-x:auto}.adm-nav a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--radius-md);color:var(--grey-700);font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background var(--dur-base),color var(--dur-base)}.adm-nav a svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}.adm-nav a:hover{background:var(--grey-50);color:var(--navy-900)}.adm-nav a:hover svg{transform:scale(1.1)}.adm-nav a.is-active{background:var(--navy-900);color:#fff}.adm-thumb{width:56px;height:38px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--color-border)}.adm-thumb svg{width:100%;height:100%}.adm-actions{gap:2px;flex-wrap:nowrap}.adm-actions .icon-btn{width:32px;height:32px}.adm-actions .icon-btn svg{width:16px;height:16px}.adm-bulk{margin-left:auto;padding:4px 4px 4px 12px;border-radius:var(--radius-md);background:var(--blue-50);animation:rise-in var(--dur-base) var(--ease-out)}.adm-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-5);align-items:start}.adm-qitem{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);text-align:left;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-base),transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow)}.adm-qitem:hover{border-color:var(--color-border-strong)}.adm-qitem.is-active{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.adm-qitem.is-leaving{transform:translate(-24px);opacity:0}.adm-comment{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--grey-25);border-radius:var(--radius-md)}.cohort{border-collapse:separate;border-spacing:3px;width:100%;font-size:var(--text-xs)}.cohort th{font-weight:600;color:var(--color-text-muted);text-align:left;padding:4px}.cohort td{text-align:center;padding:8px 4px;border-radius:4px;font-weight:600;min-width:44px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#0d173059;animation:fade-in var(--dur-base) var(--ease-out)}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-lg);animation:drawer-in var(--dur-slow) var(--ease-out)}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.drawer__head h2{font-size:var(--text-lg)}.drawer__body{flex:1;overflow-y:auto;padding:var(--space-6)}.drawer__foot{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border)}@media (max-width: 1100px){.adm-review{grid-template-columns:1fr}}.ws-nav{display:flex;gap:4px;margin:-12px 0 var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);overflow-x:auto}.ws-nav a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--radius-md);color:var(--grey-700);font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background var(--dur-base),color var(--dur-base)}.ws-nav a svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}.ws-nav a:hover{background:var(--grey-50);color:var(--navy-900)}.ws-nav a:hover svg{transform:scale(1.1)}.ws-nav a.is-active{background:var(--blue-50);color:var(--blue-700);font-weight:600}.ws-pill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.ws-pill--not-introduced{background:var(--grey-50);color:var(--grey-500)}.ws-pill--learning{background:var(--blue-50);color:var(--blue-700)}.ws-pill--practising{background:var(--orange-50);color:var(--orange-600)}.ws-pill--nearly{background:#e8f3ff;color:#1a63b8;box-shadow:inset 0 0 0 1px #b9d7f8}.ws-pill--mastered{background:var(--green-50);color:var(--green-600)}.ws-bar{display:flex;width:100%;border-radius:99px;background:var(--grey-100);overflow:hidden}.ws-bar__seg{height:100%;transition:width .7s var(--ease-out)}.ws-bar__seg--mastered,.ws-dot--mastered{background:var(--green-500)}.ws-bar__seg--nearly,.ws-dot--nearly{background:#5aa9f0}.ws-bar__seg--practising,.ws-dot--practising{background:var(--orange-500)}.ws-bar__seg--learning,.ws-dot--learning{background:var(--blue-200)}.ws-dot--not-introduced{background:var(--grey-200)}.ws-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.ws-legend span{display:inline-flex;align-items:center;gap:6px}.ws-legend strong{color:var(--navy-900)}.ws-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.wo-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-8);align-items:center}.wo-hero__stats{display:flex;gap:var(--space-6);margin-top:var(--space-5);flex-wrap:wrap}.wo-hero__stats div{display:flex;flex-direction:column}.wo-hero__stats strong{font-family:var(--font-display);font-size:var(--text-xl);color:#fff}.wo-hero__stats span{font-size:var(--text-xs);color:#aab6cf}.wo-hero .btn--secondary{--btn-bg: transparent;--btn-fg: #fff;--btn-bd: rgba(255,255,255,.3)}.wo-hero .btn--secondary:hover{--btn-bg: rgba(255,255,255,.08)}.wo-hero__ring{display:flex;justify-content:center}.wo-hero__ring .ring__value{color:#fff}.wo-hero__ring .ring__caption{color:#aab6cf}.wo-hero__ring .ring__track{stroke:#ffffff1f}.wo-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.wo-phase{display:flex;flex-direction:column;gap:var(--space-3)}.wo-phase ul{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--grey-700);display:flex;flex-direction:column;gap:4px}.wo-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.wo-step{padding:var(--space-4);border-radius:var(--radius-md);background:var(--grey-25);border:1px solid var(--color-border)}.wo-step b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy-900);color:#fff;font-size:12px;margin-bottom:8px}.wo-step strong{display:block;font-size:var(--text-sm)}.wo-step span{font-size:var(--text-xs);color:var(--color-text-muted)}.wls-phase+.wls-phase{margin-top:var(--space-10)}.wls-phase__head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.wls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.wls-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);text-align:left;width:100%;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.wls-card:hover:not(.is-locked){transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.wls-card.is-next{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.wls-card.is-locked{background:var(--grey-25);cursor:not-allowed}.wls-card.is-locked .wls-card__title,.wls-card.is-locked .wls-card__countries{color:var(--grey-400)}.wls-card__top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%}.wls-card__n{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.wls-card__title{font-weight:700}.wls-card__countries{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;min-height:3em}.wls-card__diff{display:flex;gap:4px}.wls-diff{width:8px;height:8px;border-radius:50%}.wls-diff--E{background:var(--green-500)}.wls-diff--M{background:var(--blue-400)}.wls-diff--H{background:var(--orange-500)}.wls-card__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.wls-card__foot .ws-bar{flex:1;max-width:120px}.wls-final{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--navy-900);color:#fff;margin-top:var(--space-10)}.wls-final h3{color:#fff}.wls-final p{color:#b7c2d8;font-size:var(--text-sm)}.wls-final>div{flex:1}.wls-final svg.big{width:40px;height:40px;color:var(--orange-500);flex-shrink:0}.wl-stages{display:flex;gap:4px;list-style:none;margin:0;padding:0}.wl-stages li{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 4px;border-radius:99px;font-size:11px;font-weight:600;color:var(--grey-400);white-space:nowrap}.wl-stages li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--grey-50);border:1px solid var(--color-border);font-size:11px}.wl-stages li.active{background:var(--blue-50);color:var(--blue-700)}.wl-stages li.active span{background:var(--blue-500);border-color:var(--blue-500);color:#fff}.wl-stages li.done{color:var(--green-600)}.wl-stages li.done span{background:var(--green-500);border-color:var(--green-500);color:#fff}.wl-where{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--grey-700)}.wl-where svg{flex-shrink:0;color:var(--blue-600);margin-top:2px}.wl-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4)}.wl-review__list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.wl-review__item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;text-align:left;cursor:pointer;transition:border-color var(--dur-base),background var(--dur-base)}.wl-review__item:hover{border-color:var(--color-border-strong)}.wl-review__item.is-active{border-color:var(--blue-500);background:var(--blue-50)}.wl-review__item>span:last-child{display:flex;flex-direction:column;font-size:var(--text-sm)}.wl-review__item>span:last-child span{font-size:var(--text-xs);color:var(--color-text-muted)}.wl-review__map{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.play__map{position:relative}.wq-locate-tip{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:5;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:var(--navy-900);color:#fff;font-size:var(--text-xs);font-weight:600;box-shadow:var(--shadow-md);pointer-events:none;animation:rise-in var(--dur-slow) var(--ease-out);white-space:nowrap}.wq-guidance{margin-top:10px;font-size:var(--text-xs);font-weight:600;color:var(--blue-700)}.wq-hint{display:flex;gap:8px;margin-top:10px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--orange-50);color:var(--orange-600);font-size:var(--text-sm);animation:rise-in var(--dur-base) var(--ease-out)}.wq-hint svg{flex-shrink:0;margin-top:2px}.wq-fact{display:flex;gap:8px;color:var(--grey-700)}.wq-fact svg{flex-shrink:0;margin-top:3px;color:var(--orange-500)}.wc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-3)}.wc-tile{display:flex;flex-direction:column;gap:4px;padding:var(--space-3) var(--space-4);text-align:left;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}.wc-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.wc-tile.is-active{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.wc-tile strong{font-size:var(--text-sm)}.wc-tile span.meta{font-size:11px;color:var(--color-text-muted)}.wc-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--space-5);align-items:start}.wc-side{position:sticky;top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.wr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.wr-card{cursor:pointer}.wr-card .stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin:var(--space-4) 0;text-align:center}.wr-card .stat-row strong{display:block;font-family:var(--font-display);font-size:var(--text-lg)}.wr-card .stat-row span{font-size:11px;color:var(--color-text-muted)}.wr-sub{display:grid;grid-template-columns:170px 1fr 60px;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;font-size:var(--text-sm)}.we-coverage{display:grid;grid-template-columns:repeat(auto-fill,minmax(12px,1fr));gap:3px}.we-coverage span{aspect-ratio:1;border-radius:3px;background:var(--grey-100)}.we-coverage span.ok{background:var(--green-500)}.we-coverage span.no{background:var(--red-500)}.we-cert{position:relative;padding:var(--space-12) var(--space-10);border-radius:var(--radius-xl);background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-lg);text-align:center;overflow:hidden}.we-cert:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:2px solid var(--blue-100);border-radius:14px;pointer-events:none}.we-cert:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid var(--orange-50);border-radius:10px;pointer-events:none}.we-cert__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:.04em;color:var(--navy-900);margin:var(--space-3) 0}.we-cert__name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--blue-600);font-weight:700}.we-cert__meta{display:flex;justify-content:center;gap:var(--space-10);margin-top:var(--space-8);flex-wrap:wrap}.we-cert__meta strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--navy-900)}.we-cert__meta span{font-size:var(--text-xs);color:var(--color-text-muted)}@media (max-width: 1700px){.wl-stages li{padding-right:4px;font-size:0;gap:0}.wl-stages li.active{font-size:11px;gap:6px;padding-right:10px}}@media (max-width: 1200px){.wo-hero,.wc-layout{grid-template-columns:1fr}.wc-side{position:static}.wr-grid,.wo-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.wo-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-stages li{padding-right:4px;font-size:0;gap:0}}@media (max-width: 760px){.wr-grid,.wo-phases,.wo-steps,.wl-review{grid-template-columns:1fr}.wls-final{flex-direction:column;align-items:flex-start}}:root{--blue-50: #eef4ff;--blue-100: #dbe7ff;--blue-200: #bcd2ff;--blue-400: #5b8def;--blue-500: #2f6be4;--blue-600: #2257c7;--blue-700: #1c47a3;--navy-700: #1e2f55;--navy-800: #15223f;--navy-900: #0d1730;--grey-0: #ffffff;--grey-25: #f8fafd;--grey-50: #f2f5fa;--grey-100: #e7ecf4;--grey-200: #d6dde9;--grey-400: #97a3b8;--grey-500: #6b778d;--grey-700: #3c475c;--green-50: #ebf8f1;--green-500: #1f9d63;--green-600: #17804f;--red-50: #fdf0ef;--red-500: #d6493c;--red-600: #b83a2f;--orange-50: #fff4e8;--orange-500:#ef8a1f;--orange-600:#cf7210;--color-bg: var(--grey-25);--color-surface: var(--grey-0);--color-surface-muted: var(--grey-50);--color-border: var(--grey-100);--color-border-strong: var(--grey-200);--color-text: var(--navy-900);--color-text-muted: var(--grey-500);--color-primary: var(--blue-500);--color-primary-hover: var(--blue-600);--color-success: var(--green-500);--color-danger: var(--red-500);--color-achievement: var(--orange-500);--color-focus: rgba(47, 107, 228, .35);--map-ocean: #eaf1fb;--map-land: #ffffff;--map-border: #b9c6da;--map-hover: #dbe7ff;--map-pointer: var(--navy-900);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(13, 23, 48, .05);--shadow-sm: 0 1px 3px rgba(13, 23, 48, .06), 0 1px 2px rgba(13, 23, 48, .04);--shadow-md: 0 6px 16px -4px rgba(13, 23, 48, .1), 0 2px 4px rgba(13, 23, 48, .04);--shadow-lg: 0 18px 40px -12px rgba(13, 23, 48, .2);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--sidebar-w: 248px;--sidebar-w-collapsed: 76px;--header-h: 68px;--content-max: 1360px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy-900);margin:0;letter-spacing:-.02em;line-height:1.2}h1{font-size:var(--text-2xl);font-weight:800}h2{font-size:var(--text-xl);font-weight:700}h3{font-size:var(--text-md);font-weight:700}p{margin:0}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus);border-radius:var(--radius-sm)}::selection{background:var(--blue-100)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.eyebrow{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--grey-200);border-radius:10px;border:3px solid var(--color-bg)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.page-enter{animation:rise-in var(--dur-slow) var(--ease-out) both}.stagger>*{animation:rise-in var(--dur-slow) var(--ease-out) both}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(n+6){animation-delay:.2s}.no-motion *,.no-motion *:before,.no-motion *:after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}.grid{display:grid;gap:var(--space-5)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row--between{justify-content:space-between}.section{margin-top:var(--space-10)}.section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.section__head p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:2px}.stat{display:flex;flex-direction:column;gap:4px;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat__icon{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;margin-bottom:var(--space-2);background:var(--blue-50);color:var(--blue-600)}.stat__icon svg{width:18px;height:18px}.stat__icon--green{background:var(--green-50);color:var(--green-600)}.stat__icon--orange{background:var(--orange-50);color:var(--orange-600)}.stat__icon--navy{background:#e6eaf3;color:var(--navy-800)}.stat__icon--red{background:var(--red-50);color:var(--red-500)}.stat__label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.stat__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--navy-900);letter-spacing:-.02em}.stat__delta{font-size:var(--text-xs);font-weight:600;color:var(--green-600)}.stat__delta.is-down{color:var(--red-500)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr{transition:background var(--dur-fast)}.table tbody tr:hover{background:var(--grey-25)}.table tbody tr:last-child td{border-bottom:0}.table tr.is-me{background:var(--blue-50)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--navy-900)}.cell-user{display:flex;align-items:center;gap:var(--space-3)}.cell-user strong{display:block;font-size:var(--text-sm)}.cell-user span{font-size:var(--text-xs);color:var(--color-text-muted)}.list{display:flex;flex-direction:column}.list__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.list__item:last-child{border-bottom:0}.list__main{flex:1;min-width:0}.list__main strong{display:block;font-size:var(--text-sm)}.list__main span{font-size:var(--text-xs);color:var(--color-text-muted)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:#fff;color:var(--grey-700);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--dur-base),border-color var(--dur-base),color var(--dur-base),transform var(--dur-base) var(--ease-out)}.chip:hover{border-color:var(--grey-400);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.search-input{position:relative;flex:0 1 320px}.search-input svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--grey-400);pointer-events:none}.search-input .input{width:100%;height:40px;padding-left:36px;font-size:var(--text-sm)}select.input{height:40px;padding:0 var(--space-3);font-size:var(--text-sm);cursor:pointer}.accordion{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.accordion__item+.accordion__item{border-top:1px solid var(--color-border)}.accordion__btn{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border:0;background:none;font-weight:600;text-align:left;cursor:pointer;transition:background var(--dur-fast)}.accordion__btn:hover{background:var(--grey-25)}.accordion__btn svg{width:18px;height:18px;color:var(--grey-500);transition:transform var(--dur-base) var(--ease-out);flex-shrink:0}.accordion__btn[aria-expanded=true] svg{transform:rotate(180deg)}.accordion__panel{padding:0 var(--space-5) var(--space-5);color:var(--color-text-muted);animation:rise-in var(--dur-base) var(--ease-out)}.chart{width:100%;display:block;overflow:visible}.chart__grid{stroke:var(--grey-100);stroke-width:1}.chart__axis{fill:var(--grey-500);font-size:11px}.chart__line{fill:none;stroke:var(--blue-500);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.chart__area{fill:var(--blue-500);opacity:.08}.chart__bar{fill:var(--blue-400);transition:fill var(--dur-fast)}.chart__bar:hover{fill:var(--blue-600)}.chart__dot{fill:#fff;stroke:var(--blue-500);stroke-width:2}.chart-tip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));padding:6px 10px;border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.hero-banner{position:relative;overflow:hidden;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--navy-900);color:#fff}.hero-banner h1,.hero-banner h2{color:#fff}.hero-banner p{color:#b7c2d8}.demo-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--orange-50);border:1px solid #f6d7b3;color:var(--orange-600);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-6)}.demo-banner svg{width:18px;height:18px;flex-shrink:0}@media (max-width: 1280px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--color-bg, #f6f8fc);color:var(--grey-600, #5b6475)}.splash p{font-size:var(--text-sm, 14px)}.splash__bar{width:180px;height:4px;border-radius:4px;background:var(--grey-200, #e3e8f0);overflow:hidden}.splash__bar span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--blue-500, #2f6be4);animation:splash-slide 1.1s ease-in-out infinite}@keyframes splash-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.guard-center{min-height:100vh;display:grid;place-items:center;padding:24px}.form-error{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--red-50);color:var(--red-600, #b5382d);border:1px solid #f2c9c4;font-size:var(--text-sm, 14px);line-height:1.4}.form-error svg{flex:none;margin-top:1px}.pw-caps{color:var(--orange-500)}.turnstile{min-height:65px}.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0;pointer-events:none}.sync-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--grey-600, #5b6475);background:var(--grey-100, #f1f4f9);white-space:nowrap}.sync-chip svg{width:15px;height:15px}.sync-chip--saved{color:var(--green-500);background:var(--green-50)}.sync-chip--offline{color:var(--orange-500);background:var(--orange-50)}.sync-chip--error{color:var(--red-500);background:var(--red-50)}.spin-slow{animation:spin 1.6s linear infinite}@media (max-width: 900px){.sync-chip span{display:none}.sync-chip{padding:0 8px}}.cm-img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;background:#fff}.cm-card__thumb .cm-img,.adm-thumb .cm-img{object-fit:cover}.cm-drop__preview{max-width:220px;max-height:140px;border-radius:8px;box-shadow:0 2px 10px #0d17301f;margin-bottom:8px}.adm-temp{font-family:ui-monospace,Consolas,monospace;font-size:16px;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid var(--color-border, #e3e8f0);letter-spacing:.04em}
