/* =========================
   ChemStudy 共通三本線メニュー
========================= */

.site-menu-root{position:relative;z-index:10000;}
.site-menu-button{position:fixed;top:18px;left:18px;z-index:10001;width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:none;border-radius:15px;background:linear-gradient(135deg,#38bdf8,#22c55e);color:#082f49;box-shadow:0 14px 30px rgba(0,0,0,.32);border:1px solid #ffffff55;cursor:pointer;transition:.18s ease;}
.site-menu-button:hover{transform:translateY(-2px);filter:brightness(1.05);}
.site-menu-button span{width:22px;height:3px;border-radius:999px;background:#082f49;display:block;}
.site-menu-overlay{position:fixed;inset:0;z-index:10000;display:none;background:rgba(2,6,23,.72);backdrop-filter:blur(8px);}
.site-menu-overlay.open{display:block;}
.site-menu-panel{width:min(88vw,390px);height:100vh;background:radial-gradient(circle at top left,#0ea5e933,transparent 42%),linear-gradient(180deg,#0f172a,#111827);border-right:1px solid #ffffff18;box-shadow:18px 0 50px rgba(0,0,0,.35);padding:18px;overflow-y:auto;transform:translateX(-100%);animation:siteMenuSlideIn .2s ease forwards;}
@keyframes siteMenuSlideIn{to{transform:translateX(0);}}

.site-menu-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #334155;}
.site-menu-brand{display:flex;align-items:center;gap:10px;min-width:0;}
.site-menu-brand-mark{width:40px;height:40px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 28% 25%,#ffffffd9 0 10%,transparent 11%),linear-gradient(135deg,#7dd3fc,#38bdf8 48%,#22c55e);border:1px solid #ffffff80;box-shadow:0 13px 28px rgba(56,189,248,.20);}
.site-menu-brand-mark svg{width:24px;height:24px;stroke:#082f49;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.site-menu-brand-text{min-width:0;line-height:1.05;}
.site-menu-title{color:#f8fafc;font-size:24px;font-weight:950;line-height:1.1;letter-spacing:-.045em;}
.site-menu-title .chem{color:#e0f2fe;}
.site-menu-title .study{background:linear-gradient(135deg,#7dd3fc,#22c55e);-webkit-background-clip:text;background-clip:text;color:transparent;}
.site-menu-subtitle{color:#93c5fd;font-size:10px;font-weight:850;letter-spacing:.16em;margin-top:5px;}
.site-menu-close{width:38px;height:38px;border:none;border-radius:12px;background:#334155;color:white;font-size:24px;line-height:1;cursor:pointer;transition:.18s ease;flex-shrink:0;}
.site-menu-close:hover{background:#475569;transform:translateY(-2px);}

.site-menu-user{margin-top:14px;padding:14px;background:#02061770;border:1px solid #334155;border-radius:16px;}
.site-menu-user-main{color:#e0f2fe;font-weight:900;font-size:15px;}
.site-menu-user-sub{color:#cbd5e1;font-size:12px;line-height:1.6;margin-top:4px;}
.site-menu-section{margin-top:18px;}
.site-menu-section-title{color:#7dd3fc;font-size:13px;font-weight:900;margin-bottom:8px;padding-left:8px;border-left:4px solid #38bdf8;}
.site-menu-link{display:block;background:#02061770;border:1px solid #334155;border-radius:15px;padding:12px 13px;margin-bottom:9px;text-decoration:none;color:white;transition:.18s ease;}
.site-menu-link:hover{transform:translateX(4px);border-color:#38bdf855;background:#ffffff12;}
.site-menu-link-main{display:block;color:#e0f2fe;font-size:14px;font-weight:900;line-height:1.4;}
.site-menu-link-sub{display:block;color:#cbd5e1;font-size:11.5px;line-height:1.55;margin-top:3px;}
.site-menu-link-soon{opacity:.78;}
.site-menu-link-soon .site-menu-link-main::after{content:"準備中";display:inline-block;margin-left:8px;padding:2px 6px;border-radius:999px;background:#334155;color:#cbd5e1;font-size:10px;vertical-align:middle;}
.site-menu-footer{padding:16px 0 6px;}
.site-menu-home-link{display:flex;align-items:center;justify-content:center;width:100%;background:linear-gradient(135deg,#7dd3fc,#38bdf8);color:#082f49;border-radius:14px;padding:12px;text-decoration:none;font-weight:900;}
body.site-menu-open{overflow:hidden;}

@media(max-width:620px){
    .site-menu-button{top:14px;left:14px;width:44px;height:44px;border-radius:14px;}
    .site-menu-panel{width:86vw;padding:16px 14px;}
    .site-menu-title{font-size:22px;}
    .site-menu-link{padding:11px 12px;}
}

/* =========================
   メニュー表示中は三本線ボタンを隠す
========================= */
body.site-menu-open .site-menu-button{opacity:0;pointer-events:none;transform:translateY(-8px);}
.site-menu-logout-form{margin:0;padding:0;width:100%;}
.site-menu-logout-button.site-menu-link{display:block;width:100%;background:#02061770;border:1px solid #334155;border-radius:15px;padding:12px 13px;margin-bottom:9px;text-decoration:none;color:white;cursor:pointer;font:inherit;text-align:left;transition:.18s ease;}
.site-menu-logout-button.site-menu-link:hover{transform:translateX(4px);border-color:#38bdf855;background:#ffffff12;}
@media(max-width:620px){.site-menu-logout-button.site-menu-link{padding:11px 12px;}}
