/* Shared Eduvio visual language. Each page is scoped to avoid changing exercise logic. */
.eduvio-main{--ev-glow:color-mix(in srgb,var(--primary) 14%,transparent);--ev-line:color-mix(in srgb,var(--primary) 11%,var(--border));background:radial-gradient(circle at 94% 180px,var(--ev-glow),transparent 470px),var(--bg);font-family:'Nunito','Segoe UI',system-ui,sans-serif;line-height:1.55}
.eduvio-main :is(button,input,select,textarea){font-family:inherit}
.eduvio-main :is(button,a,input,select,textarea,[role="button"],.topic-tile,.fach-card):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.eduvio-main .topnav{background:color-mix(in srgb,var(--card) 93%,transparent);border-bottom:1px solid var(--ev-line);box-shadow:0 6px 28px rgba(28,27,73,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.eduvio-main .topnav-links .nav-item{transition:background .2s,color .2s,transform .2s;border-radius:12px}
.eduvio-main .topnav-links .nav-item:hover{transform:translateY(-1px)}
.eduvio-main .topnav-links button.eduvio-more-trigger{border-radius:12px;box-shadow:none!important;background:transparent!important;border-color:transparent!important;appearance:none;-webkit-appearance:none}
.eduvio-main .topnav-links button.eduvio-more-trigger:hover,.eduvio-main .topnav-links button.eduvio-more-trigger:focus-visible{background:var(--primary-light)!important;color:var(--primary)}
.eduvio-main .main{max-width:1220px}
.eduvio-main :is(h1,h2,h3){letter-spacing:-.026em;line-height:1.24}
.eduvio-main h1{font-size:clamp(1.7rem,3.2vw,2.45rem)}
.eduvio-main .topbar{border-radius:28px;background:linear-gradient(120deg,var(--primary-light),var(--card) 77%);box-shadow:0 14px 42px rgba(39,35,108,.075)}
.eduvio-main .card{border:1px solid var(--ev-line);box-shadow:0 5px 20px rgba(31,30,86,.045),0 18px 48px rgba(31,30,86,.035);border-radius:24px}
.eduvio-main :is(.btn,.pill){box-shadow:0 3px 10px rgba(37,32,107,.085);transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,filter .2s}
.eduvio-main :is(.btn,.pill):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(38,33,104,.15)}
.eduvio-main :is(.btn,.pill):not(:disabled):active{transform:translateY(0);box-shadow:0 2px 8px rgba(38,33,104,.12)}
.eduvio-main .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 6px 16px var(--ev-glow)}
.eduvio-main .btn-ghost{border:1px solid var(--ev-line)}
.eduvio-main :is(.field input,.field select,.field textarea,.biblio-filters input,.biblio-filters select){border-radius:13px;transition:border-color .2s,box-shadow .2s;min-height:44px}
.eduvio-main :is(.field input,.field select,.field textarea,.biblio-filters input,.biblio-filters select):focus{box-shadow:0 0 0 4px var(--ev-glow)}
.eduvio-main .fach-card{border:1px solid var(--ev-line);background:linear-gradient(155deg,var(--card),color-mix(in srgb,var(--primary-light) 25%,var(--card)));box-shadow:0 9px 30px rgba(28,27,73,.065);transition:transform .22s,box-shadow .22s,border-color .22s}
.eduvio-main .fach-card:hover{transform:translateY(-5px);box-shadow:0 19px 34px rgba(28,27,73,.13);border-color:var(--primary)}
.eduvio-main .fach-card h3{font-size:1.24rem;line-height:1.25}
.eduvio-main .fach-card .icon-badge{transform:rotate(-4deg);transition:transform .25s,box-shadow .25s}
.eduvio-main .fach-card:hover .icon-badge{transform:rotate(0) scale(1.07)}
.eduvio-main .progressbar{height:9px;border-radius:99px}
.eduvio-main .topic-tile{border-width:1px;border-color:var(--ev-line);border-radius:20px;min-height:162px;justify-content:center;box-shadow:0 4px 16px rgba(31,30,86,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
.eduvio-main .topic-tile:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(31,30,86,.12)}
.eduvio-main .topic-tile .tile-icon{width:62px;height:62px;font-size:2rem}
.eduvio-main .topic-tile .tile-title{font-size:.96rem;line-height:1.32}
.eduvio-main .kb-heading{font-size:1.12rem;padding:8px 0 12px}
.eduvio-main .plan{border-radius:24px;transition:transform .22s,box-shadow .22s,border-color .22s}
.eduvio-main .plan:hover{transform:translateY(-4px);box-shadow:0 17px 42px rgba(29,27,78,.13)}
.eduvio-main .plan .price-big{font-size:clamp(2rem,3vw,2.55rem);letter-spacing:-.04em}
.eduvio-main .chip{border:1px solid var(--ev-line);box-shadow:0 4px 14px rgba(31,30,86,.07)}
.eduvio-main .eduvio-subjects-menu{border-radius:22px;margin-top:10px;box-shadow:0 22px 54px rgba(22,19,65,.19)}
.eduvio-main .eduvio-more-menu :is(button,a){transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.eduvio-main .eduvio-more-menu :is(button,a):hover{transform:translateY(-2px);background:var(--card);border-color:var(--primary);box-shadow:0 9px 20px rgba(31,30,86,.09)}
.eduvio-main .eduvio-more-menu :is(button,a)>span{font-size:1.55rem}
.eduvio-family,.eduvio-admin,.eduvio-reset{--ev-primary:#5146dc;--ev-ink:#242047;--ev-line:#e2dffc;background:radial-gradient(circle at 95% 0,#ebeaff,transparent 500px),#f7f7fe;color:var(--ev-ink);font-family:'Nunito','Segoe UI',system-ui,sans-serif;line-height:1.55}
.eduvio-family :is(h1,h2,h3),.eduvio-admin :is(h1,h2,h3),.eduvio-reset :is(h1,h2,h3){letter-spacing:-.028em;line-height:1.25}
.eduvio-family :is(button,input,select),.eduvio-admin :is(button,input,select,textarea),.eduvio-reset :is(button,input){font-family:inherit}
.eduvio-family :is(button,a,input,select):focus-visible,.eduvio-admin :is(button,a,input,select,textarea):focus-visible,.eduvio-reset :is(button,a,input):focus-visible{outline:3px solid var(--ev-primary);outline-offset:3px}
.eduvio-family .wrap{max-width:1120px;padding:clamp(18px,3vw,40px)}
.eduvio-family .card,.eduvio-admin .panel,.eduvio-reset main{border:1px solid var(--ev-line);border-radius:24px;box-shadow:0 8px 24px rgba(32,27,86,.06),0 20px 52px rgba(32,27,86,.035)}
.eduvio-family .card{padding:clamp(20px,2.5vw,30px);margin:20px 0}
.eduvio-family .child{border-radius:18px;padding:20px;border-color:var(--ev-line);background:linear-gradient(145deg,#fff,#faf9ff);transition:transform .2s,box-shadow .2s}
.eduvio-family .child:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(32,27,86,.08)}
.eduvio-family button,.eduvio-admin :is(button,.primary,.secondary),.eduvio-reset button{border-radius:12px;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s}
.eduvio-family button:not(:disabled):hover,.eduvio-admin button:not(:disabled):hover,.eduvio-reset button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(32,27,86,.17);filter:brightness(1.04)}
.eduvio-family :is(input,select){max-width:100%;background:#fff;border:1px solid #cac7e9}
.eduvio-family :is(input,select):focus,.eduvio-admin :is(input,select,textarea):focus,.eduvio-reset input:focus{outline:none;border-color:var(--ev-primary);box-shadow:0 0 0 4px #5146dc1c}
.eduvio-family .subjects label{background:#f3f1ff;border-radius:10px;padding:6px 10px;margin:3px}
.eduvio-admin header{background:linear-gradient(115deg,#252065,#4e47a6);box-shadow:0 8px 20px #25206522}
.eduvio-admin nav{gap:7px;padding:14px 3vw;box-shadow:0 5px 16px rgba(32,27,86,.05)}
.eduvio-admin nav button{border-radius:11px}
.eduvio-admin .panel{padding:clamp(18px,2.4vw,30px)}
.eduvio-admin .stat{border:1px solid var(--ev-line);background:linear-gradient(135deg,#f3f1ff,#fff);border-radius:16px}
.eduvio-admin .list tr:hover td{background:#f7f6ff}
.eduvio-admin :is(input,select,textarea){border-radius:11px}
.eduvio-reset main{max-width:480px;padding:clamp(24px,4vw,38px)}
.eduvio-reset button{background:linear-gradient(135deg,#5146dc,#3831a9)}
@media(max-width:760px){.eduvio-main .main{padding:18px 16px 65px}.eduvio-main .topnav{padding:9px 12px}.eduvio-main .topbar{border-radius:22px}.eduvio-main .topic-tile{min-height:140px}.eduvio-family .wrap{padding:16px}.eduvio-family .grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.eduvio-main :is(.fach-card,.topic-tile,.btn,.pill,.plan),.eduvio-family :is(button,.child),.eduvio-admin button,.eduvio-reset button{transition:none!important;animation:none!important;transform:none!important}}
