.stl-root,.stl-root *{box-sizing:border-box}
.stl-root{font-family:"Hiragino Maru Gothic ProN","BIZ UDPGothic",Meiryo,sans-serif;color:#2b3140;background:linear-gradient(145deg,#eaf6ff 0%,#f7fbff 52%,#fff8ed 100%);width:100%;min-height:100vh;min-height:100dvh;overflow:hidden}
.stl-root .stl-content{width:100%}
/* 修正: メニューは 画面の 高さに ぴったり おさめて 縦スクロールなし */
.stl-root:not(.stl-playing){height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column}
.stl-root:not(.stl-playing) .stl-content{flex:1;min-height:0;display:flex;flex-direction:column}
body.admin-bar .stl-root:not(.stl-playing){height:calc(100vh - 32px);height:calc(100dvh - 32px)}
@media(max-width:782px){body.admin-bar .stl-root:not(.stl-playing){height:calc(100vh - 46px);height:calc(100dvh - 46px)}}
.stl-root .stl-heading{flex:0 0 auto;text-align:center;padding:clamp(10px,3.5vh,44px) 16px clamp(6px,1.8vh,20px)}
.stl-root .stl-heading h1{font-size:clamp(30px,min(6vw,8vh),68px);color:#2f80ed;margin:0;font-weight:900;letter-spacing:.04em;text-shadow:0 4px white}
.stl-root .stl-heading p{font-size:clamp(14px,min(2.5vw,3vh),23px);font-weight:800;margin:clamp(4px,1.4vh,14px) 0 0}
.stl-root .stl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,min(2.5vw,2.8vh),28px);width:100%;max-width:950px;margin:0 auto;padding:clamp(6px,1.5vh,12px) 18px clamp(14px,3.5vh,40px);flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));max-height:640px}
.stl-root .stl-card{--c:#ff7a45;--d:#d9531e;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:hidden;gap:clamp(2px,1vh,8px);text-align:center;text-decoration:none;color:#2b3140;background:white;border:5px solid var(--c);border-radius:28px;box-shadow:0 7px 0 var(--d),0 15px 24px #0002;padding:16px;transition:transform .12s}
.stl-root a.stl-card:hover{transform:translateY(-3px)}.stl-root a.stl-card:focus-visible,.stl-root .stl-return a:focus-visible{outline:4px solid #263b75;outline-offset:4px}
.stl-root .stl-kuku{--c:#2f80ed;--d:#1b5fc0}.stl-root .stl-baisuu{--c:#e64980;--d:#b3245f}.stl-root .stl-yakusuu{--c:#20a464;--d:#157a48}.stl-root .stl-sosuu{--c:#7048e8;--d:#5230c0} /* 修正: 各アプリの テーマ色に そろえる */
.stl-root .stl-mark{display:grid;place-items:center;background:var(--c);border-radius:50%;color:white;border:4px solid white;box-shadow:0 4px var(--d);width:clamp(40px,9vh,68px);height:clamp(40px,9vh,68px);flex:none;font-size:clamp(24px,min(4.5vw,5.5vh),38px);line-height:1;font-weight:900}
.stl-root .stl-card strong{font-size:clamp(18px,min(3vw,4.4vh),34px);font-weight:900;line-height:1.2}.stl-root .stl-desc{font-size:clamp(12px,min(2vw,2.4vh),17px);font-weight:800}.stl-root .stl-card small{color:#6d7581;font-size:13px;font-weight:800}
.stl-root .stl-unavailable{filter:grayscale(.85);opacity:.65}
.stl-root .stl-return{height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:8px 16px;font-size:16px;font-weight:900;box-shadow:0 2px 8px #0002;position:relative;z-index:30}
.stl-root .stl-return a{color:#246ec4;text-decoration:none;border-radius:18px;padding:8px 12px;background:#eaf4ff}
.stl-root.stl-playing .stl-content .kt-app,.stl-root.stl-playing .stl-content .nt-root,.stl-root.stl-playing .stl-content .nt-app{height:calc(100vh - 58px);height:calc(100dvh - 58px);min-height:0}
body.admin-bar .stl-root.stl-playing .stl-content .kt-app,body.admin-bar .stl-root.stl-playing .stl-content .nt-root,body.admin-bar .stl-root.stl-playing .stl-content .nt-app{height:calc(100vh - 90px);height:calc(100dvh - 90px)}
@media(max-width:782px){body.admin-bar .stl-root.stl-playing .stl-content .kt-app,body.admin-bar .stl-root.stl-playing .stl-content .nt-root,body.admin-bar .stl-root.stl-playing .stl-content .nt-app{height:calc(100vh - 104px);height:calc(100dvh - 104px)}}
@media(max-width:640px){.stl-root .stl-cards{padding-left:12px;padding-right:12px}.stl-root .stl-card{padding:8px;border-width:4px;border-radius:20px}.stl-root .stl-card small{font-size:11px} /* 修正: スマホでも 2×2で 1画面に */
.stl-root .stl-return span{display:none}}
