/* 小惑星帯・トロヤ群・ラグランジュ点 r7（20261022）。超リアル版だけが読み込む。
   操作は既存の左上パネル内に収め、3D画面の上には名前ラベルだけを重ねる。 */
.lagrange-action{display:flex;gap:6px;align-items:stretch;margin-top:7px;min-width:0}
#lagrangeBtn{flex:1 1 auto;min-width:0;min-height:44px;margin:0;font-size:13px;font-weight:600;line-height:1.35;white-space:normal;overflow-wrap:anywhere;padding:7px 6px}
#lagrangeHelp{flex:0 0 48px;min-width:48px;min-height:44px;padding:5px;font-size:12px;white-space:nowrap;font-weight:600}
#lagrangeNav{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;min-width:0}
#lagrangeNav button{flex:1 1 0;min-width:0;min-height:40px;margin:0;font-size:12px;line-height:1.3;white-space:normal;padding:5px 4px}
#lagrangeHelp[hidden],#lagrangeInfo[hidden],#lagrangeNav[hidden]{display:none!important}
body.is-lagrange-on #lagrangeBtn{background:rgba(255,224,138,.16);border-color:rgba(255,224,138,.55);color:#fff4d6}
#lagrangeInfo{margin-top:7px;padding:9px 11px;background:rgba(58,50,24,.55);border:1px solid rgba(255,224,138,.38);border-radius:9px;color:#f3ecd8;font-size:12px;line-height:1.62;max-height:min(30vh,210px);overflow-y:auto;overscroll-behavior:contain}
#lagrangeInfo p{margin:0 0 6px}
#lagrangeInfo strong{color:#ffe7a3}
#lagrangeInfo .lagrange-caution{color:#d8d2bf;font-size:11px}
#lagrangeInfo a{color:#ffe7a3;display:inline-block;padding:3px 8px 3px 0}

#lagrangeLabels{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}
.lg-label{position:absolute;display:none;transform:translate(-50%,calc(-100% - 14px));text-align:center;white-space:nowrap;
  font:700 12px/1.25 -apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#ffe7a3;letter-spacing:0;
  text-shadow:0 0 4px #000,0 0 9px #000,0 1px 2px #000}
.lg-label small{display:block;margin-top:1px;font-size:10px;font-weight:500;color:#eee3c4}
.lg-label.is-orbit{font-size:10.5px;font-weight:600;color:#bfefff}
.lg-label.is-body{color:#f3f6ff;font-weight:700}
.lg-label.is-real{color:#9fe3ff;font-weight:700}
.lg-label.is-real small{color:#cdeffa}
.lg-label.is-centered{transform:translate(-50%,-50%)}

/* r3：地球を実寸で */
#lagrangeNav #lagrangeRealBtn{flex:1 1 100%}
body.is-real-scale #lagrangeRealBtn{background:rgba(126,224,255,.16);border-color:rgba(126,224,255,.6);color:#e6fbff}
#realScaleNote{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);z-index:6;width:max-content;max-width:min(560px,calc(100vw - 24px));padding:8px 14px;border:1px solid rgba(126,224,255,.45);border-radius:12px;background:rgba(6,20,34,.84);color:#dff6ff;font:500 12px/1.6 -apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;text-align:center;pointer-events:none}
#realScaleNote[hidden]{display:none!important}
#realScaleNote b{color:#7ee0ff;font-weight:700}

/* r2：◇を選んだときの説明パネル（惑星の数値欄の代わり） */
#panel.is-lagrange-info .facts,#panel.is-lagrange-info #solarLearning{display:none!important}
/* r5：ラグランジュ点の説明をたたんだときは「どこ」の1行だけ残す（3Dを広く見せる） */
#panel.collapsed.is-lagrange-info .solar-panel-body{display:block!important;padding-top:0}
#panel.collapsed.is-lagrange-info .solar-panel-body > :not(#lgFacts){display:none!important}
#panel.collapsed.is-lagrange-info #lgFacts{margin:0 0 2px}
#panel.collapsed.is-lagrange-info #lgFacts .lg-row:not(:first-child),#panel.collapsed.is-lagrange-info #lgFacts .lg-note{display:none}
#panel.is-lagrange-info #pName{color:#ffe7a3}
.lg-facts{display:grid;gap:6px;margin:0 0 12px;padding:0}
.lg-facts[hidden]{display:none!important}
.lg-row{display:grid;grid-template-columns:7.6em minmax(0,1fr);gap:8px;margin:0;padding:7px 9px;background:rgba(255,224,138,.07);border:1px solid rgba(255,224,138,.22);border-radius:9px;font-size:12.5px;line-height:1.55}
.lg-row dt{color:#ffe7a3;font-weight:600}
.lg-row dd{margin:0;color:#e9eefb}
.lg-note{margin:2px 0 0;font-size:11px;line-height:1.6;color:#cfc7ae}

@media(max-width:640px) and (orientation:portrait){
  /* どちらも使っていない間は2つの入口を横に並べ、3D画面を広く残す */
  body:not(.is-kuiper-view):not(.is-lagrange-on) .kuiper-action,
  body:not(.is-kuiper-view):not(.is-lagrange-on) .lagrange-action{display:inline-flex;width:calc(50% - 5px);vertical-align:top}
  body:not(.is-kuiper-view):not(.is-lagrange-on) .lagrange-action{margin-left:3px}
  #lagrangeBtn{font-size:13px;min-height:42px;padding:5px}
  #lagrangeHelp{min-height:42px;flex-basis:48px}
  #lagrangeNav{margin-top:5px}
  #lagrangeNav button{min-height:38px;font-size:12px}
  #lagrangeNav #lagrangeRealBtn{flex:1 1 0}
  #realScaleNote{bottom:112px;font-size:11px;padding:6px 10px}
  #lagrangeInfo{max-height:min(24vh,150px)}
  .lg-label{font-size:11px}
  .lg-label small{font-size:9.5px}
  body.is-lagrange-help-open #scaleNote,
  body.is-lagrange-help-open #ui > .row,
  body.is-lagrange-help-open #viewOptions{display:none}
}
@media(max-height:500px) and (orientation:landscape){
  .lagrange-action{gap:4px;margin-top:4px}
  #lagrangeBtn{min-height:36px;font-size:11px;padding:4px 3px}
  #lagrangeHelp{min-width:42px;flex-basis:42px;min-height:36px;font-size:10px}
  #lagrangeNav{gap:4px;margin-top:4px}
  #lagrangeNav button{min-height:34px;font-size:10.5px;padding:3px}
  #realScaleNote{bottom:62px;font-size:10.5px;padding:5px 9px}
  #lagrangeInfo{font-size:11px;max-height:85px;padding:6px 8px}
  .lg-label{font-size:10.5px}
  .lg-label small{display:none!important}
  body.is-lagrange-help-open #scaleNote,
  body.is-lagrange-help-open #ui > .row,
  body.is-lagrange-help-open #viewOptions{display:none}
}
@media(max-width:360px) and (orientation:portrait){
  #lagrangeBtn{font-size:12px}
  #lagrangeNav button{font-size:11px}
  #lagrangeInfo{font-size:11px}
}

/* r4：ラグランジュ点のひみつ（小学生にもわかる説明） */
#lagrangeInfo .lg-guide-open{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;margin:2px 0 8px;padding:7px 12px;border-radius:10px;border:1px solid rgba(255,224,138,.7);background:linear-gradient(180deg,rgba(255,224,138,.26),rgba(255,224,138,.1));color:#fff4d6;font-size:13px;font-weight:700;line-height:1.3;white-space:normal;text-align:left}
#lagrangeInfo .lgo-txt{flex:1 1 auto;min-width:0}
#lagrangeInfo .lgo-txt small{display:block;margin-bottom:1px;font-size:10.5px;font-weight:600;color:#ffd36a;letter-spacing:.04em}
#lagrangeInfo .lgo-arrow{flex:none;font-size:20px;line-height:1;color:#ffd36a}
#lagrangeInfo .lg-guide-open::before{content:"";flex:none;width:8px;height:8px;border:2px solid #ffd36a;transform:rotate(45deg)}
#lagrangeInfo .lg-guide-open:hover{background:rgba(255,224,138,.3)}
#lgGuide{position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 24px));max-width:calc(100vw - 16px);height:fit-content;max-height:min(88vh,820px);max-height:min(88dvh,820px);padding:0;border:1px solid rgba(255,224,138,.45);border-radius:18px;background:#0a1122;color:#e9eefb;box-shadow:0 24px 80px rgba(0,0,0,.65);overflow:hidden;font-family:-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;z-index:30}
#lgGuide:not([open]){display:none}
#lgGuide[open]{display:flex;flex-direction:column}
#lgGuide::backdrop{background:rgba(2,5,12,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.lgg-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 14px 12px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,224,138,.11),rgba(255,224,138,0))}
.lgg-head h2{margin:0;font-size:19px;line-height:1.4;color:#ffe7a3;letter-spacing:.03em}
.lgg-head p{margin:1px 0 0;font-size:12.5px;line-height:1.7;color:#cfd7ea}
#lgGuide .lgg-close{margin-left:auto;flex:none;width:44px;height:44px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:22px;line-height:1}
#lgGuide .lgg-close:hover{background:rgba(255,255,255,.14)}
.lgg-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 20px 22px;font-size:14.5px;line-height:1.85}
.lgg-figure{margin:0;padding:8px 8px 10px;border-radius:14px;background:radial-gradient(ellipse at 44% 50%,rgba(255,170,60,.12),rgba(10,17,34,0) 58%),#060c1a;border:1px solid rgba(255,255,255,.08)}
.lgg-figure svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;font-family:inherit}
.lgg-figure text{paint-order:stroke;stroke:#060c1a;stroke-width:3px;stroke-linejoin:round;text-anchor:middle}
.lgg-figure text[text-anchor=start]{text-anchor:start}
.lgg-figure text[text-anchor=end]{text-anchor:end}
.lgd-l{font-size:13px;font-weight:700;fill:#ffe7a3}
.lgd-s{font-size:10.5px;font-weight:500;fill:#e9dfc0}
.lgd-name{font-size:11px;font-weight:700;fill:#ffd59a}
.lgd-earth{font-size:11px;font-weight:700;fill:#9fe3ff}
.lgd-note{font-size:10px;font-weight:500;fill:#bfeaff}
.lgd-pt{cursor:pointer;outline:none}
.lgd-hit{fill:transparent;stroke:transparent;stroke-width:1.5}
.lgd-dia{fill:rgba(255,211,106,.16);stroke:#ffd36a;stroke-width:1.6;transition:fill .15s}
.lgd-dot{fill:#ffe7a3}
.lgd-pt:hover .lgd-dia,.lgd-pt:focus-visible .lgd-dia{fill:rgba(255,211,106,.5)}
.lgd-pt:focus-visible .lgd-hit{stroke:#7ee0ff}
.lgg-cap{margin:6px 4px 0;font-size:12px;line-height:1.65;color:#aeb8cf}
.lgg-cap b{color:#ffe7a3;font-weight:600}
.lgg-sec{margin-top:20px}
.lgg-sec h3,.lgg-trivia h3{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:15.5px;line-height:1.5;color:#ffe7a3}
.lgg-sec h3::before{content:"";flex:none;width:8px;height:8px;border:2px solid #ffd36a;transform:rotate(45deg)}
.lgg-sec p,.lgg-trivia p{margin:0 0 8px}
.lgg-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.lgg-list li{padding:9px 12px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.lgg-list b{color:#ffe7a3}
.lgg-trivia{margin-top:22px;padding:12px 14px 6px;border-radius:12px;background:rgba(124,240,192,.07);border:1px solid rgba(124,240,192,.3)}
.lgg-trivia h3{color:#9ff5d2}
.lgg-try{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.lgg-try li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border-radius:12px;background:rgba(126,224,255,.06);border:1px solid rgba(126,224,255,.22)}
.lgg-num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#7ee0ff;color:#06202b;font-size:13px;font-weight:800;line-height:1}
.lgg-txt{flex:1 1 200px;min-width:0;line-height:1.65}
#lgGuide .lgg-go{flex:none;margin-left:auto;min-height:40px;padding:7px 14px;border-radius:10px;border:1px solid rgba(126,224,255,.6);background:rgba(126,224,255,.16);color:#e6fbff;font-size:13px;font-weight:700;white-space:nowrap}
#lgGuide .lgg-go:hover{background:rgba(126,224,255,.3)}
#lgGuide ruby rt{font-size:.5em;letter-spacing:-.04em;color:#c9d2e6;font-weight:500}
@media(max-width:640px){
  #lgGuide{width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  .lgg-head{padding:10px 10px 10px 14px}
  .lgg-head h2{font-size:17px}
  .lgg-scroll{padding:12px 14px 18px;font-size:14px;line-height:1.8}
  .lgg-sec h3,.lgg-trivia h3{font-size:15px}
}
@media(max-height:500px) and (orientation:landscape){
  #lgGuide{width:min(700px,calc(100vw - 16px));max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px)}
  .lgg-head{padding:6px 8px 6px 14px}
  .lgg-head p{display:none}
  .lgg-figure svg{max-width:420px}
}

/* 見え方：止まって見える／回って見える */
#lagrangeFrame{display:flex;gap:6px;margin-top:6px;min-width:0}
#lagrangeFrame[hidden]{display:none!important}
#lagrangeFrame{align-items:stretch}
#lagrangeFrame .lf-label{flex:none;display:flex;align-items:center;padding:0 2px 0 1px;font-size:11px;font-weight:600;color:#9fb3d6;white-space:nowrap}
#lagrangeFrame button{flex:1 1 0;min-width:0;min-height:38px;margin:0;padding:5px 4px;font-size:11.5px;line-height:1.3;white-space:normal}
#lagrangeFrame button[aria-pressed="true"]{background:rgba(126,224,255,.18);border-color:rgba(126,224,255,.65);color:#e6fbff;font-weight:700}
@media(max-width:640px) and (orientation:portrait){#lagrangeFrame{margin-top:5px}#lagrangeFrame button{min-height:34px;font-size:11px}}
@media(max-height:500px) and (orientation:landscape){#lagrangeFrame .lf-label{font-size:10px}#lagrangeFrame{gap:4px;margin-top:4px}#lagrangeFrame button{min-height:32px;font-size:10px;padding:3px}}
