.glass-panel{background:var(--glass);border:1px solid var(--glass-border);
  border-radius:1rem;box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(140%);}
button{font-family:inherit;font-size:1rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid var(--glass-border);
  background:var(--glass);color:var(--text-0);cursor:pointer;transition:transform .15s,box-shadow .15s,background .2s;position:relative;overflow:hidden;}
button:hover{transform:translateY(-2px);box-shadow:var(--shadow);background:var(--accent);color:#08201d;}
button:active{transform:translateY(0) scale(.97);}
button:focus-visible{outline:3px solid var(--accent-2);}

.part-card{display:flex;align-items:center;gap:.6rem;padding:.7rem;margin-bottom:.5rem;border-radius:.8rem;
  background:var(--glass);border:2px solid var(--glass-border);cursor:grab;user-select:none;touch-action:none;}
.part-card:hover{border-color:var(--accent);}
.part-card.locked{opacity:.4;cursor:not-allowed;}
.part-card .part-icon{font-size:1.3rem;}
.part-card .part-name{flex:1;}
.part-card .part-check{color:var(--success);font-weight:bold;}

.badge{display:inline-block;padding:.15rem .5rem;border-radius:1rem;font-size:.7rem;background:var(--accent);color:#08201d;}
.alert{padding:.6rem .9rem;border-radius:.7rem;margin:.3rem;background:var(--danger);color:#fff;font-size:.85rem;}
.alert.success{background:var(--success);}
.alert.info{background:var(--accent-2);color:#231400;}
.score-bar{height:10px;border-radius:6px;background:var(--bg-2);overflow:hidden;margin:.2rem 0;}
.score-bar>span{display:block;height:100%;background:var(--accent);transition:width .6s ease;}

.lesson-card,.mission-card,.achv-card{padding:1rem;border-radius:1rem;margin-bottom:.7rem;transition:transform .2s;}
.lesson-card:hover,.mission-card:hover{transform:translateY(-3px);}
h2,h3{margin-top:0;}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem;}
.tabs button.active{background:var(--accent);color:#08201d;}
.high-contrast-toggle,.colorblind-toggle{position:fixed;bottom:1rem;right:1rem;z-index:50;}

.dropzone{min-height:52px;border:2px dashed var(--glass-border);border-radius:.7rem;padding:.5rem;margin-bottom:.4rem;
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:all .2s;font-size:.85rem;}
.dropzone .slot-label{color:var(--text-1);}

.level-card{padding:1.4rem;border-radius:1.2rem;text-align:center;}
.level-badge{display:inline-block;padding:.3rem .9rem;border-radius:2rem;font-weight:bold;color:#fff;margin-bottom:.6rem;}

.anatomy-hero{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center;}
@media (max-width:800px){.anatomy-hero{grid-template-columns:1fr;}}
.system-card{padding:1.1rem;border-radius:1.1rem;cursor:pointer;}
.system-card .system-icon{font-size:1.8rem;}
.parts-inline-list span{display:inline-block;background:var(--bg-2);padding:.15rem .5rem;border-radius:.6rem;margin:.15rem;font-size:.78rem;}

.progress-ring{transform:rotate(-90deg);}
.mentor-bubble{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#08201d;padding:.9rem 1.1rem;
  border-radius:1.2rem;margin:.6rem 0;font-weight:500;position:relative;}
.mentor-bubble::before{content:"🤖";margin-right:.4rem;}
