/* のもーよ TOP 円軌道（Mood Orbit）＋引き上げシート
   既定(no-js)は通常の一覧として読める。.nomoyo-js が付くと演出ON。 */

:root{ --nm-mag:#af0a78; --nm-mag-bright:#ff2e9a; --nm-ink:#1a1416; --nm-muted:#8a7f84; }

.nomoyo-home{ position:relative; }

/* グラデーション・フォールバック（写真未設定時のカード地） */
.ph-party{ background:radial-gradient(120% 90% at 60% 15%,rgba(255,120,180,.6),transparent 55%),linear-gradient(160deg,#5a1234,#1a0810); }
.ph-terrace{ background:radial-gradient(120% 90% at 30% 10%,rgba(120,180,220,.6),transparent 55%),linear-gradient(160deg,#1f3a44,#0a141a); }
.ph-warm{ background:radial-gradient(120% 90% at 60% 20%,rgba(255,170,90,.6),transparent 55%),linear-gradient(160deg,#4a2a14,#150d08); }
.ph-neon{ background:radial-gradient(120% 90% at 50% 20%,rgba(150,60,230,.6),transparent 55%),linear-gradient(160deg,#2a1248,#0c0618); }
.ph-rain{ background:radial-gradient(120% 90% at 40% 15%,rgba(90,150,200,.55),transparent 55%),linear-gradient(160deg,#23303a,#0c1318); }
.orbit-thumb{ background-size:cover; background-position:center; }

/* ============ 既定 (JS無効) = 通常の記事一覧 ============ */
html:not(.nomoyo-js-pre) .nomoyo-home .nomoyo-orbit{ display:none; }
html:not(.nomoyo-js-pre) .nomoyo-home .sheet-grab{ display:none; }
html:not(.nomoyo-js-pre) .nomoyo-home .nomoyo-sheet{ position:static; transform:none; height:auto; box-shadow:none; }
.nomoyo-article-list{ list-style:none; margin:0; padding:0; }
.nomoyo-article-list .art a{ display:flex; gap:13px; align-items:center; padding:12px 0; border-bottom:1px solid rgba(26,20,22,.08); text-decoration:none; color:var(--nm-ink); }
.nomoyo-article-list .art .rt{ width:96px; height:68px; border-radius:10px; flex:0 0 auto; }
.nomoyo-article-list .art .ttl{ display:block; font-family:'Noto Serif JP',serif; font-weight:700; font-size:15px; line-height:1.45; }
.nomoyo-article-list .art .m{ display:block; font-size:12px; color:var(--nm-muted); margin-top:4px; }
.nomoyo-article-list .art .m b{ color:var(--nm-mag); }
.sheet-eye{ font-size:11px; letter-spacing:.2em; color:var(--nm-mag); font-weight:700; margin:8px 0 0; }
.sheet-h2{ font-family:'Noto Serif JP',serif; font-weight:700; font-size:18px; margin:6px 0 14px; }

/* ============ JS有効 = 円軌道演出 ============ */
html.nomoyo-js-pre .nomoyo-home{ height:calc(100svh - 58px); overflow:hidden;
	background:
		radial-gradient(120% 50% at 50% 4%, rgba(255,46,154,.12), transparent 60%),
		radial-gradient(110% 46% at 50% 100%, rgba(175,10,120,.10), transparent 60%),
		linear-gradient(180deg,#fdfbfd 0%, #f6f1f5 100%); }
html.nomoyo-js-pre .nomoyo-orbit{ display:flex; flex-direction:column; height:100%; }
html.nomoyo-js-pre .orbit-eye{ text-align:center; font-size:11px; letter-spacing:.24em; color:var(--nm-mag); font-weight:700; padding:14px 16px 0; margin:0; }
html.nomoyo-js-pre .orbit-h1{ text-align:center; font-family:'Noto Serif JP',serif; font-weight:700; font-size:17px; line-height:1.5; margin:6px 16px 0; color:var(--nm-ink); }

html.nomoyo-js-pre .orbit-stage{ position:relative; flex:1; min-height:280px; touch-action:pan-y; cursor:grab; }
html.nomoyo-js-pre .orbit-stage:active{ cursor:grabbing; }
html.nomoyo-js-pre .orbit-ring{ position:absolute; top:46%; left:50%; width:300px; height:112px; transform:translate(-50%,-50%); border-radius:50%; border:1px dashed rgba(175,10,120,.22); box-shadow:0 0 60px rgba(255,46,154,.12) inset; }
html.nomoyo-js-pre .orbit-core{ position:absolute; top:46%; left:50%; transform:translate(-50%,-50%); z-index:10; width:108px; height:108px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:radial-gradient(circle at 50% 35%, rgba(255,46,154,.95), var(--nm-mag) 70%); box-shadow:0 0 0 8px rgba(255,46,154,.12),0 0 50px rgba(255,46,154,.45); color:#fff; }
html.nomoyo-js-pre .orbit-core .k{ font-size:10px; color:rgba(255,255,255,.85); letter-spacing:.1em; }
html.nomoyo-js-pre .orbit-core .scene{ font-family:'Noto Serif JP',serif; font-weight:900; font-size:18px; margin-top:2px; }
html.nomoyo-js-pre .orbit-core .hint{ font-size:10px; color:rgba(255,255,255,.7); margin-top:5px; }

html.nomoyo-js-pre .orbit-node{ position:absolute; top:46%; left:50%; width:188px; margin:-140px 0 0 -94px; will-change:transform; }
html.nomoyo-js-pre .orbit-node-link{ display:block; text-decoration:none; }
html.nomoyo-js-pre .orbit-thumb{ height:278px; border-radius:20px; position:relative; overflow:hidden; box-shadow:0 18px 34px -12px rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.18); }
html.nomoyo-js-pre .orbit-thumb::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.8)); }
html.nomoyo-js-pre .orbit-cat{ position:absolute; top:10px; left:10px; z-index:2; font-size:10px; font-weight:700; color:#fff; background:var(--nm-mag); padding:4px 9px; border-radius:999px; }
html.nomoyo-js-pre .orbit-cap{ position:absolute; left:12px; right:12px; bottom:12px; z-index:2; }
html.nomoyo-js-pre .orbit-ttl{ font-family:'Noto Serif JP',serif; font-size:14px; line-height:1.42; color:#fff; font-weight:700; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-shadow:0 1px 8px rgba(0,0,0,.7); }
html.nomoyo-js-pre .orbit-pin{ font-size:10px; color:#ffd0ea; font-weight:700; margin-top:5px; }

html.nomoyo-js-pre .orbit-scenes{ position:relative; z-index:5; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding:6px 16px; margin-bottom:62px; }
html.nomoyo-js-pre .orbit-scenes .sbtn{ font-size:12px; font-weight:700; padding:7px 13px; border-radius:999px; color:#5a4750; background:rgba(26,20,22,.04); border:1px solid rgba(26,20,22,.12); cursor:pointer; -webkit-tap-highlight-color:transparent; }
html.nomoyo-js-pre .orbit-scenes .sbtn.on{ background:var(--nm-mag); border-color:var(--nm-mag); color:#fff; box-shadow:0 6px 18px -6px rgba(255,46,154,.7); }

/* 引き上げシート */
html.nomoyo-js-pre .nomoyo-sheet{ position:absolute; left:0; right:0; bottom:0; z-index:30; height:86%; background:#fff; border-radius:22px 22px 0 0; box-shadow:0 -16px 40px rgba(0,0,0,.22); transition:transform .34s cubic-bezier(.22,.7,.2,1); will-change:transform; }
html.nomoyo-js-pre .nomoyo-sheet.dragging{ transition:none; }
html.nomoyo-js-pre .sheet-grab{ padding:10px 0 6px; display:flex; flex-direction:column; align-items:center; cursor:grab; -webkit-tap-highlight-color:transparent; }
html.nomoyo-js-pre .sheet-grab .bar{ width:42px; height:5px; border-radius:3px; background:rgba(26,20,22,.22); }
html.nomoyo-js-pre .sheet-grab .lbl{ margin-top:8px; font-size:12px; font-weight:700; color:var(--nm-mag); letter-spacing:.04em; }
html.nomoyo-js-pre .sheet-scroll{ height:calc(86% - 0px); }
html.nomoyo-js-pre .nomoyo-sheet .sheet-scroll{ height:calc(100% - 56px); overflow-y:auto; padding:6px 20px 40px; -webkit-overflow-scrolling:touch; }

/* PC: 円軌道を中央寄せのカラムに収める（PC専用テンプレは作らない） */
@media (min-width:900px){
	html.nomoyo-js-pre .nomoyo-home{ max-width:480px; margin:0 auto; box-shadow:0 0 60px rgba(0,0,0,.06); }
}
@media (prefers-reduced-motion: reduce){ html.nomoyo-js-pre .nomoyo-sheet{ transition:none; } }

/* T5-b: ファーストペイントからシートを collapsed 位置に置きCLSを防ぐ（JS measure()が同位置へ確定） */
html.nomoyo-js-pre .nomoyo-sheet{ transform: translateY(calc(100% - 56px)); }
