/* DeutschKlar polish layer: loaded last, only refines look and motion. Remove the <link> to roll back. */
:root{--dk-green:#059669;--dk-green-dark:#047857;--dk-green-soft:#ecfdf5;--dk-ring:0 0 0 3px rgba(16,185,129,.32);--dk-ease:cubic-bezier(.22,1,.36,1);--dk-fast:.18s;--dk-slow:.32s;--dk-shadow-sm:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);--dk-shadow-md:0 6px 16px -4px rgba(15,23,42,.12),0 2px 6px -2px rgba(15,23,42,.06);--dk-shadow-green:0 6px 18px -6px rgba(5,150,105,.55)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
button,a,summary,[role=button]{-webkit-tap-highlight-color:transparent}

/* Shared motion for every clickable control */
button,.pill,a.pill,.home-primary,.home-secondary,.menu-toggle summary{transition:transform var(--dk-fast) var(--dk-ease),box-shadow var(--dk-slow) var(--dk-ease),background-color var(--dk-fast) ease,border-color var(--dk-fast) ease,color var(--dk-fast) ease,opacity var(--dk-fast) ease}
button:active:not(:disabled),.pill:active,.home-primary:active,.home-secondary:active{transform:translateY(0) scale(.97)}
button:focus-visible,a:focus-visible,summary:focus-visible,.pill:focus-visible{outline:none!important;box-shadow:var(--dk-ring)!important}
button:disabled{transform:none!important;box-shadow:none!important}

/* Primary */
.primary,.home-primary{background:linear-gradient(180deg,#10b981 0%,var(--dk-green) 100%);color:#fff;border:0;box-shadow:var(--dk-shadow-green),inset 0 1px 0 rgba(255,255,255,.18);font-weight:700;letter-spacing:.1px}
.primary:hover:not(:disabled),.home-primary:hover{background:linear-gradient(180deg,var(--dk-green) 0%,var(--dk-green-dark) 100%);transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(5,150,105,.6),inset 0 1px 0 rgba(255,255,255,.18)}
.home-primary span,.primary span{display:inline-block;transition:transform var(--dk-slow) var(--dk-ease)}
.home-primary:hover span,.primary:hover span{transform:translateX(3px)}
[dir=rtl] .home-primary:hover span,[dir=rtl] .primary:hover span,.home-screen[dir=rtl] .home-primary:hover span{transform:translateX(-3px)}

/* Secondary */
.secondary,.home-secondary{background:#fff;color:var(--dk-green-dark);border:1px solid #cdeee0;box-shadow:var(--dk-shadow-sm)}
.secondary:hover:not(:disabled),.home-secondary:hover{background:var(--dk-green-soft);border-color:#6ee7b7;transform:translateY(-2px);box-shadow:var(--dk-shadow-md)}
.secondary.danger{color:#b42318;border-color:#fecdca}
.secondary.danger:hover:not(:disabled){background:#fef3f2;border-color:#fda29b}

/* Pills and header actions */
.pill{border:1px solid #e2e8f0;background:#fff;box-shadow:var(--dk-shadow-sm)}
.pill:hover{border-color:#a7f3d0;background:#f0fdf4;color:var(--dk-green-dark)}
.header-actions #accountlink{background:linear-gradient(180deg,#10b981,var(--dk-green));border-color:transparent;box-shadow:var(--dk-shadow-green)}
.header-actions #accountlink:hover{background:linear-gradient(180deg,var(--dk-green),var(--dk-green-dark));color:#fff;transform:translateY(-1px)}
.menu-toggle summary:hover{background:#f1f5f9}
.textbutton{transition:color var(--dk-fast) ease;text-underline-offset:3px}
.textbutton:hover{color:var(--dk-green-dark);text-decoration:underline}

/* Segmented switches (level pickers) */
.home-levels,.leveltoggle{padding:4px;border-radius:999px;background:rgba(15,23,42,.05);box-shadow:inset 0 1px 2px rgba(15,23,42,.06)}
.home-levels button,.leveltoggle button{border-radius:999px;background:transparent}
.home-levels button:hover:not(.active),.leveltoggle button:hover:not(.active){background:rgba(255,255,255,.7);color:var(--dk-green-dark)}
.home-levels button.active,.leveltoggle button.active{background:#fff;color:var(--dk-green-dark);box-shadow:var(--dk-shadow-md)}
.public-levels{display:inline-flex;margin-inline:auto;padding:4px;gap:4px;border-radius:14px;background:rgba(15,23,42,.05);box-shadow:inset 0 1px 2px rgba(15,23,42,.06)}
.public-home .public-levels{display:flex;width:max-content;max-width:100%}
.public-levels button{border:0;background:transparent;border-radius:10px;font-weight:700}
.public-levels button:hover:not([aria-pressed=true]){background:rgba(255,255,255,.75)}
.public-levels button[aria-pressed=true]{background:#fff;color:var(--dk-green-dark);box-shadow:var(--dk-shadow-md)}
.skill-nav button:hover:not(.active){background:#f1f5f9;color:#0f172a}
.home-navigation button:hover{background:#f1f5f9;color:#0f172a}

/* Cards */
.home-skill,.member-card,.public-theme,.home-route-card,.home-check{transition:transform var(--dk-slow) var(--dk-ease),box-shadow var(--dk-slow) var(--dk-ease),border-color var(--dk-fast) ease}
.home-skill{box-shadow:var(--dk-shadow-sm)}
.home-skill:hover{transform:translateY(-4px);border-color:#6ee7b7;box-shadow:0 14px 30px -12px rgba(5,150,105,.35)}
.home-skill b{transition:letter-spacing var(--dk-slow) var(--dk-ease)}
.home-skill:hover b{letter-spacing:.3px}
.member-card{box-shadow:var(--dk-shadow-sm)}
.member-card:hover{transform:translateY(-3px);box-shadow:var(--dk-shadow-md)}
.public-theme:hover{border-color:#a7f3d0;box-shadow:var(--dk-shadow-md)}

/* 440+ theme previews: keep them in a scrollable panel instead of a 20 000px page */
.public-theme-list{max-height:min(680px,75vh);overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 40px;scrollbar-width:thin;scrollbar-color:#a7f3d0 transparent;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 56px),transparent)}
.public-theme-list::-webkit-scrollbar{width:8px}
.public-theme-list::-webkit-scrollbar-thumb{background:#a7f3d0;border-radius:8px}

/* Menu panel opens with a soft slide instead of popping in */
.menu-toggle[open] .menu-panel{animation:dk-pop var(--dk-slow) var(--dk-ease);transform-origin:top right}
dialog[open]{animation:dk-fade var(--dk-slow) var(--dk-ease)}
dialog::backdrop{background:rgba(15,23,42,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@keyframes dk-pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dk-fade{from{opacity:0}to{opacity:1}}

/* Inputs share the same focus treatment */
input,select,textarea{transition:border-color var(--dk-fast) ease,box-shadow var(--dk-fast) ease}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:#34d399!important;box-shadow:var(--dk-ring)}

/* Teil tabs (part-scroller-static): every part visible at once, pill style, grid on phones */
.part-scroller-static .part-scroller-row{padding:6px;border-radius:20px;background:#fff;box-shadow:var(--dk-shadow-sm)}
#library-parts.study-part-nav.part-scroller-static .part-scroller-item,.part-scroller.exam-library-parts.part-scroller-static .part-scroller-item{border-radius:14px;border:1.5px solid #e3e7e2;background:#f7f9f6;color:#3d524c;font-weight:700;cursor:pointer;transition:transform var(--dk-fast) var(--dk-ease),background-color var(--dk-fast) ease,border-color var(--dk-fast) ease,color var(--dk-fast) ease,box-shadow var(--dk-slow) var(--dk-ease)}
#library-parts.study-part-nav.part-scroller-static .part-scroller-item:hover:not([aria-pressed=true]):not(:disabled),.part-scroller.exam-library-parts.part-scroller-static .part-scroller-item:hover:not([aria-pressed=true]):not(:disabled){border-color:#6ee7b7;background:#f0fdf4;color:var(--dk-green-dark);transform:translateY(-1px)}
#library-parts.study-part-nav.part-scroller-static .part-scroller-item[aria-pressed=true],.part-scroller.exam-library-parts.part-scroller-static .part-scroller-item[aria-pressed=true]{background:#0f2e28;border-color:#0f2e28;color:#fff;box-shadow:0 8px 18px -8px rgba(15,46,40,.6),inset 0 -3px 0 #34d399}
@media(max-width:767px){
.part-scroller-static .part-scroller-track{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px!important}
#library-parts.study-part-nav.part-scroller-static .part-scroller-item,.part-scroller.exam-library-parts.part-scroller-static .part-scroller-item{min-width:0;width:auto;min-height:48px;padding:8px 6px;font-size:14px;line-height:1.25;white-space:normal;text-align:center}
}
/* Floating help buttons fade out while scrolling down on phones (widget-tuck.js sets the class) */
@media(max-width:767px){
#learning-widgets #whatsapp-widget,#learning-widgets #lina-bubble,#chatdesk-widget-host,#dk-contact-hub{transition:opacity .25s ease,visibility .25s!important}
body.dk-widgets-tucked #learning-widgets #whatsapp-widget,body.dk-widgets-tucked #learning-widgets #lina-bubble,body.dk-widgets-tucked #chatdesk-widget-host,body.dk-widgets-tucked #dk-contact-hub{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}

/* One contact button (contact-hub.js) replaces the separate WhatsApp and chat launchers */
body:has(#dk-contact-hub) #learning-widgets #whatsapp-widget{display:none!important}
#dk-contact-hub{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:2147483000;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-family:'Tajawal','DM Sans',sans-serif}
#dk-contact-hub[hidden],body.dk-chat-open #dk-contact-hub{display:none}
.dk-hub-fab{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:60px;min-width:60px;padding:0 9px;border:0;border-radius:999px;background:#0f2e28;color:#fff;font:800 15px 'Tajawal',sans-serif;cursor:pointer;box-shadow:0 18px 36px -12px rgba(15,46,40,.6),inset 0 1px 0 rgba(255,255,255,.14);transition:transform var(--dk-fast) var(--dk-ease),background-color var(--dk-fast) ease}
.dk-hub-fab:hover{transform:translateY(-2px)}
.dk-hub-fab:active{transform:scale(.95)}
.dk-hub-fab:focus-visible{outline:3px solid #34d399;outline-offset:3px}
.dk-hub-fab-icon{position:relative;width:42px;height:42px;flex:none;border-radius:50%;background:linear-gradient(135deg,#34d399,#047857);display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.dk-hub-fab-icon::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #34d399;animation:dk-hub-ring 2.4s ease-out infinite}
.dk-hub-fab.is-open .dk-hub-fab-icon{transform:rotate(90deg);background:#134e4a}
.dk-hub-fab.is-open .dk-hub-fab-icon::after{animation:none;opacity:0}
.dk-hub-fab-label{padding-inline-end:12px}
@keyframes dk-hub-ring{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.4);opacity:0}}
.dk-hub-menu{width:min(300px,calc(100vw - 40px));box-sizing:border-box;padding:16px;border-radius:24px;background:#fff;border:1px solid #e3e8e1;box-shadow:0 30px 60px -20px rgba(15,46,40,.45);display:flex;flex-direction:column;gap:8px;transform-origin:bottom left;animation:dk-hub-pop .32s cubic-bezier(.22,1,.36,1)}
.dk-hub-menu[hidden]{display:none}
@keyframes dk-hub-pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.dk-hub-head{display:flex;flex-direction:column;gap:2px;padding:2px 4px 8px}
.dk-hub-title{font-size:18px;color:#0f2e28}
.dk-hub-sub{font-size:14px;color:#5b6b66}
.dk-hub-option{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;box-sizing:border-box;padding:10px 12px;border:1.5px solid #e3e8e1;border-radius:18px;background:#f7f9f6;color:#0f2e28;text-decoration:none;font:inherit;text-align:start;cursor:pointer;transition:transform var(--dk-fast) var(--dk-ease),border-color var(--dk-fast) ease,background-color var(--dk-fast) ease,box-shadow var(--dk-slow) var(--dk-ease)}
.dk-hub-option[hidden]{display:none}
.dk-hub-option:hover{transform:translateY(-2px);border-color:#6ee7b7;background:#fff;box-shadow:0 12px 24px -14px rgba(15,46,40,.4);color:#0f2e28}
.dk-hub-option:focus-visible{outline:3px solid #34d399;outline-offset:2px}
.dk-hub-option-icon{width:44px;height:44px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}
.dk-hub-option-icon svg{width:24px;height:24px}
.dk-hub-wa .dk-hub-option-icon{background:#25d366}
.dk-hub-chat .dk-hub-option-icon{background:linear-gradient(135deg,#34d399,#047857)}
.dk-hub-option-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.dk-hub-option-text b{font-size:16px}
.dk-hub-option-text small{font-size:13px;color:#5b6b66}
.dk-hub-option-arrow{color:#94a3a0;display:flex;transition:transform var(--dk-slow) var(--dk-ease)}
.dk-hub-menu[dir=rtl] .dk-hub-option-arrow{transform:scaleX(-1)}
.dk-hub-option:hover .dk-hub-option-arrow{color:#047857}
@media(max-width:767px){#dk-contact-hub{left:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.dk-hub-fab{padding:0 7px}.dk-hub-fab-label{display:none}}
@media(prefers-reduced-motion:reduce){.dk-hub-fab-icon::after,.dk-hub-menu{animation:none}}

@media(hover:none){.primary:hover,.home-primary:hover,.secondary:hover,.home-secondary:hover,.home-skill:hover,.member-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
