
/* PETROSAMOIRIDIS — ΤΑΛΑΝΤΩΣΕΙΣ v51 */
:root{
  --osc-ink:#17233b;
  --osc-blue:#315bb8;
  --osc-blue2:#6f8de3;
  --osc-violet:#7457d8;
  --osc-orange:#e98343;
  --osc-green:#18866f;
  --osc-soft:#f5f7fb;
  --osc-line:#dfe5ee;
  --osc-muted:#667085;
}
.osc-hero{background:linear-gradient(140deg,#f7f9ff 0%,#fff 60%,#f8f4ff 100%)}
.osc-hero .osc-visual{min-width:0}
.osc-hero-card{border:1px solid #dce4f2;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(36,58,100,.08);padding:18px}
.osc-hero-card svg{width:100%;height:auto;display:block}
.osc-scope{border:1px solid #dce5f7;background:#f7faff;border-radius:18px;padding:18px 20px;margin:24px 0}
.osc-scope strong{color:var(--osc-blue)}
.osc-scope ul{margin:.7rem 0 0;padding-left:1.15rem}
.osc-scope li{margin:.35rem 0}
.osc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:1.2rem 0}
.osc-card{border:1px solid var(--osc-line);border-radius:18px;background:#fff;padding:18px;min-width:0}
.osc-card h3{margin:.25rem 0 .65rem;color:var(--osc-blue);font-size:1.03rem}
.osc-card p{margin:.3rem 0;color:#425066;line-height:1.58}
.osc-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#456bd2,#254aa3);color:#fff;font-weight:900}
.osc-formulas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:1.2rem 0}
.osc-formula{border:1px solid var(--osc-line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8faff);padding:16px;min-width:0}
.osc-formula small{display:block;color:var(--osc-muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.osc-formula math{display:block;margin:auto;font-size:1.05rem;max-width:100%}
.osc-formula p{font-size:.9rem;color:#536074;margin:.7rem 0 0}
.osc-lab{margin:1.4rem 0;border:1px solid #cfd9ef;border-radius:24px;background:linear-gradient(180deg,#fbfcff,#f4f7fc);overflow:hidden}
.osc-lab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border-bottom:1px solid #dfe5ef}
.osc-lab-head h3{margin:.2rem 0 .25rem;color:var(--osc-ink);font-size:1.35rem}
.osc-lab-head p{margin:0;color:#667085}
.osc-live-badge{padding:7px 10px;border-radius:999px;background:#e9f7f3;color:#0a775f;font-size:.68rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.osc-stage{padding:16px 18px;background:#fff}
.osc-stage svg{display:block;width:100%;height:auto;min-height:280px}
.osc-controls{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:16px;padding:18px 20px;border-top:1px solid #dfe5ef}
.osc-control-box{border:1px solid #e0e5ed;border-radius:16px;background:#fff;padding:15px}
.osc-control-box label{display:flex;justify-content:space-between;gap:10px;color:#374151;font-weight:800;font-size:.83rem}
.osc-control-box input[type=range]{width:100%;margin:12px 0 6px}
.osc-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.osc-buttons button,.osc-play{border:1px solid #cdd7e8;background:#fff;color:#315bb8;border-radius:999px;padding:8px 11px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.osc-buttons button:hover,.osc-buttons button.active,.osc-play:hover{background:#edf3ff;border-color:#6d8fe6}
.osc-readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.osc-readout{border-radius:12px;background:#f6f8fc;padding:10px;text-align:center}
.osc-readout span{display:block;color:#7a8494;font-size:.66rem;font-weight:800;text-transform:uppercase}
.osc-readout strong{display:block;margin-top:4px;color:#17233b;font-size:.95rem}
.energy-bars{display:grid;gap:9px;margin-top:12px}
.energy-row{display:grid;grid-template-columns:105px minmax(0,1fr) 54px;align-items:center;gap:10px}
.energy-row span{font-size:.78rem;font-weight:800;color:#536074}
.energy-track{height:11px;border-radius:999px;background:#e8edf5;overflow:hidden}
.energy-fill{height:100%;border-radius:inherit;transition:width .2s}
#osc-k-fill{background:linear-gradient(90deg,#4c72da,#7d94e8)}
#osc-u-fill{background:linear-gradient(90deg,#e58a48,#f1b27f)}
.energy-row b{text-align:right;font-size:.78rem;color:#344054}
.osc-position-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:1.2rem 0}
.osc-pos{border:1px solid #dfe5ee;border-radius:16px;background:#fff;padding:14px;text-align:center}
.osc-pos strong{display:block;color:#315bb8;margin-bottom:7px}
.osc-pos span{display:block;color:#667085;font-size:.78rem;line-height:1.55}
.osc-decision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.2rem 0}
.osc-decision article{border-left:4px solid #6e88d4;background:#f7f9fe;border-radius:12px;padding:14px 16px}
.osc-decision strong{color:#254b9f}
.osc-decision p{margin:.35rem 0 0;color:#536074}
.osc-warning{border:1px solid #f0d9b9;background:#fff9ef;border-radius:16px;padding:16px 18px;margin:1.2rem 0}
.osc-warning strong{color:#9a5a00}
.osc-damping{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.osc-damping-chart{border:1px solid #e1e6ee;border-radius:16px;background:#fff;padding:12px}
.osc-damping-chart svg{width:100%;height:auto}
.osc-resonance{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.osc-res-card{border:1px solid #dfe5ee;border-radius:18px;background:#fff;padding:18px}
.osc-res-card h3{margin:.2rem 0 .7rem;color:#315bb8}
.osc-res-meter{height:13px;border-radius:999px;background:#e9edf4;overflow:hidden;margin:12px 0}
.osc-res-meter i{display:block;height:100%;width:68%;background:linear-gradient(90deg,#516fd0,#8d65d7);border-radius:inherit}
.osc-solution{border:1px solid #dce3ee;border-radius:18px;background:#fff;padding:18px;margin:14px 0}
.osc-solution h3{margin:.2rem 0 .9rem;color:#17233b}
.osc-step{display:grid;grid-template-columns:34px 1fr;gap:10px;margin:10px 0}
.osc-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef3ff;color:#315bb8}
.osc-step p{margin:3px 0;color:#465366}
.osc-quiz details{border:1px solid #dfe5ee;border-radius:14px;background:#fff;padding:12px 14px;margin:9px 0}
.osc-quiz summary{cursor:pointer;font-weight:800;color:#263c69}
.osc-quiz p{margin:.7rem 0 .2rem;color:#536074}
.osc-ending{margin-top:2rem;border-radius:22px;padding:22px;background:linear-gradient(135deg,#243e7d,#7354bd);color:#fff}
.osc-ending small{font-weight:900;letter-spacing:.08em;opacity:.8}
.osc-ending h2{color:#fff!important;margin:.4rem 0 .6rem!important}
.osc-ending p{color:#eef2ff!important}
.osc-axis-label{font:700 15px system-ui,sans-serif;fill:#596579}
.osc-svg-label{font:700 16px system-ui,sans-serif;fill:#17233b}
.osc-svg-small{font:700 13px system-ui,sans-serif;fill:#657086}
.osc-svg-math{font:italic 17px Georgia,serif;fill:#254aa3}
@media(max-width:1000px){
  .osc-grid{grid-template-columns:1fr 1fr}
  .osc-controls{grid-template-columns:1fr}
  .osc-readouts{grid-template-columns:repeat(2,1fr)}
  .osc-position-map{grid-template-columns:repeat(3,1fr)}
  .osc-damping,.osc-resonance{grid-template-columns:1fr}
}
@media(max-width:767px){
  .osc-grid,.osc-formulas,.osc-decision{grid-template-columns:1fr}
  .osc-position-map{grid-template-columns:1fr 1fr}
  .osc-lab-head{display:block}
  .osc-live-badge{display:inline-block;margin-top:10px}
  .osc-stage{padding:8px}
  .osc-stage svg{min-height:230px}
  .osc-controls{padding:14px}
  .energy-row{grid-template-columns:86px 1fr 44px}
}
@media(max-width:420px){
  .osc-position-map{grid-template-columns:1fr}
  .osc-readouts{grid-template-columns:1fr 1fr}
}
