/* STRU Physics v1.6.1 — compact floating learning-goal shortcut. */
.stru-floating-goals{position:fixed;z-index:209;right:calc(173px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:62px;padding:12px 18px;border:4px solid #fff;border-radius:999px;background:#e7f3fb;color:#123d58;font:850 16px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:.045em;box-shadow:inset 0 0 0 2px #164663,0 0 0 1px #164663,0 7px 22px rgba(10,37,55,.28);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.stru-floating-goals:hover,.stru-floating-goals:active{background:#d7ebfa}
.stru-floating-goals:focus-visible,.stru-goals-panel button:focus-visible,.stru-goals-panel input:focus-visible{outline:3px solid #e1aa47;outline-offset:3px}
.stru-goals-button-icon{font-size:21px;line-height:1}
.stru-goals-veil[hidden],.stru-goals-panel[hidden]{display:none!important}
.stru-goals-veil{position:fixed;inset:60px 0 0;z-index:225;background:rgba(12,39,57,.56)}
.stru-goals-panel{position:fixed;z-index:230;top:calc(70px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(460px,calc(100vw - 20px));display:flex;flex-direction:column;background:#f6fafb;color:#142b40;border:1px solid #a9c9d9;border-radius:18px;box-shadow:0 12px 42px rgba(11,40,61,.35);font:400 15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;overflow:hidden}
.stru-goals-panel *{box-sizing:border-box}
.stru-goals-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#143b57;color:white;padding:16px 17px}
.stru-goals-overline{color:#adcede;font-weight:850;font-size:10px;letter-spacing:.15em}
.stru-goals-heading h2{font-size:23px;line-height:1.25;color:white;margin:3px 0 0}
.stru-goals-close{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#174967;border:0;border-radius:10px;padding:8px 12px;font:800 13px/1.3 inherit;cursor:pointer;min-height:44px}
.stru-goals-top{padding:17px 18px 12px;border-bottom:1px solid #d9e7ed;background:white}
.stru-goals-toggle{display:flex;gap:5px;padding:4px;border-radius:11px;background:#eff4f6}
.stru-goals-toggle button{min-height:42px;flex:1;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:#426579;font:750 13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;cursor:pointer}
.stru-goals-toggle button.selected{background:#fff;color:#164a67;box-shadow:0 1px 6px rgba(12,42,63,.13)}
.stru-goals-overall{margin:13px 1px 0}.stru-goals-counter{display:block;font-size:13px;color:#2b536b}
.stru-goals-meter{height:7px;background:#dbeaf0;border-radius:10px;overflow:hidden;margin-top:7px}.stru-goals-fill{background:#27846c;height:100%;width:0;transition:width .15s ease}
.stru-goals-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 22px}
.stru-goals-card{background:white;border:1px solid #d6e4ea;border-radius:13px;padding:15px 15px 10px;margin-bottom:13px}
.stru-goals-card-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.stru-goals-card h3{font-size:16px;line-height:1.35;color:#173f59;font-weight:850;margin:0 0 4px}
.stru-goals-smallcount{white-space:nowrap;border-radius:18px;background:#eaf3f8;color:#29607d;font-weight:800;font-size:12px;padding:4px 8px}
.stru-goals-book{display:inline-block;font-size:11px;font-weight:750;letter-spacing:.01em;color:#54788c;margin-bottom:12px}
.stru-goals-check{display:flex;align-items:flex-start;gap:11px;border-top:1px dashed #e0e9ee;padding:12px 0;color:#2a475a;font-size:14px;line-height:1.5;cursor:pointer;user-select:none}
.stru-goals-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#24795f;cursor:pointer}
.stru-goals-check span{min-width:0}.stru-goals-check input:checked+span{color:#557c78}
.stru-goals-footer{background:white;border-top:1px solid #d9e7ed;color:#5f7886;padding:10px 18px 12px;font-size:12px}
.stru-havo-nav-goals{display:block;width:100%;padding:10px 11px;margin:2px 0;border:0;border-radius:9px;background:#eaf4f8;text-align:left;color:#265c75;font:700 14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;cursor:pointer}
.stru-havo-nav-goals:hover{background:#dcebf2}
@media(min-width:1201px){body.stru-has-course-sidebar .stru-floating-goals{right:calc(20px + env(safe-area-inset-right,0px))}}
@media(min-width:1181px){body.stru-havo-course .stru-floating-goals{right:calc(20px + env(safe-area-inset-right,0px))}}
@media(max-width:700px){.stru-floating-goals{right:calc(152px + env(safe-area-inset-right,0px));bottom:calc(15px + env(safe-area-inset-bottom,0px));min-height:60px;padding:11px 12px;font-size:14px;gap:6px}.stru-goals-panel{top:calc(64px + env(safe-area-inset-top,0px));width:calc(100vw - 16px);right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px))}.stru-goals-veil{top:56px}}
@media(max-width:360px){.stru-floating-goals{font-size:13px;padding:9px 9px;right:calc(151px + env(safe-area-inset-right,0px))}}
@media(print){.stru-floating-goals,.stru-goals-veil,.stru-goals-panel{display:none!important}}
