/* #064 追加5: 「ゲームのように 1 画面に収まる」構成（新デザインのときだけ）
   - ログイン後はホーム画面（おかえり＋大きなボタン 5 つ）。ボタン → そのページ → 「← ホーム」で戻る 1 本道
   - どのページでも上のバーに LV・★・👑・✓ を小さく
   - 下のメニューは ホーム・もちもの・せってい（管理者はスタジオ）だけ
   - 画面全体はスクロールさせず、ページの中身だけがスクロールする */
#dash-home-section, .dgs-backbar, .dgs-top-stats { display: none; }

/* 1 画面の枠 */
html[data-dg-theme="space"] body.state-dashboard { overflow: hidden; }
html[data-dg-theme="space"] body.state-dashboard #student-dashboard { height: 100vh; height: 100dvh; overflow: hidden; display: flex; flex-direction: column; }
html[data-dg-theme="space"] #student-dashboard > .dash-header { flex: 0 0 auto; position: relative; }
html[data-dg-theme="space"] #student-dashboard > .dash-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 28px 118px; scrollbar-width: thin; }

/* 上のバー: 小さな記録 */
html[data-dg-theme="space"] .dgs-top-stats { display: flex !important; align-items: center; gap: 6px; margin-left: 14px; }
.dgs-top-stats span { display: inline-flex; align-items: center; gap: 4px; padding: 5px 9px; font-size: .72rem; font-weight: 700; color: #cbd1cb; background: rgba(255,255,255,.06); border: 1px solid rgba(255,204,0,.28);
  clip-path: polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px); }
.dgs-top-stats b { color: #ffcc00; font-size: .85rem; }
html[data-dg-mode="yellow"] .dgs-top-stats span { color: #11110f; background: rgba(255,255,255,.5); border-color: #11110f; }
html[data-dg-mode="yellow"] .dgs-top-stats b { color: #11110f; }
/* ホームでは大きなレベルボックスがあるので、上の小さな記録は出さない */
html[data-dg-theme="space"] body.dgs-at-home .dgs-top-stats { display: none !important; }
html[data-dg-theme="space"] .dash-status-cards { display: none !important; }   /* 星・王冠・クリアのカードは上のバーに集約（ドックは .dash-topbar の中なので topbar は消さない） */
html[data-dg-theme="space"] .dash-topbar { margin: 0; padding: 0; }

/* ホーム以外: 「← ホーム」とページ名（.dgs-only の display:revert に勝つよう !important で出し分け） */
html[data-dg-theme="space"] body.dgs-at-home .dgs-backbar { display: none !important; }
html[data-dg-theme="space"] body:not(.dgs-at-home) #dash-home-section { display: none !important; }
html[data-dg-theme="space"] body:not(.dgs-at-home) .dgs-backbar { display: flex !important; align-items: center; gap: 14px; margin: 0 0 14px; }
.dgs-back-btn { border: 0; cursor: pointer; font: 800 .95rem "Noto Sans JP", sans-serif; padding: 11px 18px; background: #ffcc00; color: #11110f;
  clip-path: polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); filter: drop-shadow(0 4px 0 #9d9000); }
.dgs-back-btn:hover { transform: translateY(-2px); }
.dgs-back-btn:active { transform: translateY(3px); filter: drop-shadow(0 1px 0 #9d9000); }
.dgs-page-name { font: 700 .8rem "Chakra Petch", "Noto Sans JP", sans-serif; letter-spacing: .12em; color: #858b86; }
html[data-dg-mode="yellow"] .dgs-back-btn { background: #11110f; color: #ffcc00; filter: drop-shadow(0 4px 0 rgba(17,17,15,.3)); }
html[data-dg-mode="yellow"] .dgs-page-name { color: #5b511a; }

/* ホーム画面 */
html[data-dg-theme="space"] body.dgs-at-home #dash-home-section { display: flex !important; flex-direction: column; gap: 22px; min-height: 100%; }
html[data-dg-theme="space"] body:not(.dgs-at-home) .dgs-welcome { display: none !important; }
html[data-dg-theme="space"] body.dgs-at-home .dgs-welcome { margin: 0; gap: 20px; }
html[data-dg-theme="space"] body.dgs-at-home .dgs-levelbox { padding: 16px 20px; }
html[data-dg-theme="space"] body.dgs-at-home .dgs-welcome h1 { font-size: clamp(2.2rem, 4.4vw, 4.4rem); margin: 10px 0 10px; }
html[data-dg-theme="space"] body.dgs-at-home .dgs-welcome p { margin: 0; }
.dgs-home-menu { flex: 1 1 auto; display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 15px; min-height: 300px; }
.dgs-home-card { position: relative; text-align: left; cursor: pointer; border-radius: 15px; border: 1px solid #3a3f3b; background: rgba(25,28,26,.88); color: #f8f8f2;
  padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; font-family: "Noto Sans JP", sans-serif; transition: .25s; backdrop-filter: blur(8px); min-height: 0; overflow: hidden; }
.dgs-home-card:hover, .dgs-home-card:focus-visible { transform: translateY(-5px); border-color: #ffcc00; box-shadow: 0 13px 45px rgba(0,0,0,.3); outline: none; }
.dgs-home-card .code { position: absolute; right: 16px; top: 13px; font-size: .68rem; opacity: .55; }
.dgs-home-card .ico { width: 52px; height: 52px; border-radius: 13px; background: #2f3431; display: grid; place-items: center; font-size: 1.6rem; }
.dgs-home-card b { font-size: 1.35rem; margin-top: auto; }
.dgs-home-card small { font-size: .82rem; color: #9ea49e; line-height: 1.5; }
.dgs-home-card .go { font-size: .72rem; color: #a8ff18; font-weight: 700; margin-top: 6px; }
.dgs-home-card.featured { grid-row: span 2; background: #ffcc00; color: #11110f; border-color: #ffcc00; }
.dgs-home-card.featured .ico { background: #11110f; width: 64px; height: 64px; font-size: 2rem; }
.dgs-home-card.featured b { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.dgs-home-card.featured small { color: #4d4b15; font-size: .95rem; }
.dgs-home-card.featured .go { color: #11110f; }
.dgs-home-card.featured::after { content: "</>"; position: absolute; right: 22px; bottom: 26px; font: 700 6rem "Chakra Petch", sans-serif; opacity: .09; }
html[data-dg-mode="yellow"] .dgs-home-card { background: #f8f8f2; color: #11110f; border-color: #11110f; box-shadow: 6px 6px 0 rgba(17,17,15,.13); }
html[data-dg-mode="yellow"] .dgs-home-card .ico { background: #ffcc00; border: 1px solid #11110f; }
html[data-dg-mode="yellow"] .dgs-home-card small { color: #554f37; }
html[data-dg-mode="yellow"] .dgs-home-card .go { color: #3b6c00; }
html[data-dg-mode="yellow"] .dgs-home-card.featured { background: #11110f; color: #f8f8f2; }
html[data-dg-mode="yellow"] .dgs-home-card.featured .ico { background: #ffcc00; }
html[data-dg-mode="yellow"] .dgs-home-card.featured small { color: #b9b9af; }
html[data-dg-mode="yellow"] .dgs-home-card.featured .go { color: #ffcc00; }

/* 下のメニュー: ホーム・もちもの・せってい（管理者はスタジオ）だけ。ほかはホームのボタンから */
html[data-dg-theme="space"] #tab-mission, html[data-dg-theme="space"] #tab-miniquest, html[data-dg-theme="space"] #tab-openworld,
html[data-dg-theme="space"] #tab-challenge, html[data-dg-theme="space"] #tab-creative { display: none !important; }
html[data-dg-theme="space"] #tab-home { display: flex !important; }
html[data-dg-theme="space"] #tab-home .dg-tab-ico { background-image: url(../assets/theme/menu-home.svg); color: transparent; }
html[data-dg-theme="space"] #tab-openworld .dg-tab-ico { background-image: none; }
html[data-dg-theme="space"] .dash-mode-tab { min-width: 104px; }

@media (max-width: 900px) {
  .dgs-home-menu { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .dgs-home-card.featured { grid-row: auto; grid-column: 1 / -1; }
  html[data-dg-theme="space"] .dgs-top-stats span:nth-child(n+3) { display: none; }
}
@media (max-width: 600px) {
  html[data-dg-theme="space"] #student-dashboard > .dash-body { padding: 12px 16px 104px; }
  .dgs-home-card { padding: 16px; }
  .dgs-home-card b { font-size: 1.1rem; }
  .dgs-home-card small { display: none; }
  html[data-dg-theme="space"] body.dgs-at-home .dgs-welcome p { display: none; }
  html[data-dg-theme="space"] .dgs-top-stats { margin-left: 4px; }
  html[data-dg-theme="space"] .dgs-top-stats span:nth-child(n+2) { display: none; }
}
