.shoulder-symptom-page { --shoulder-green:#28664a; --shoulder-green-dark:#15472f; --shoulder-green-soft:#eef8f2; --shoulder-amber:#ad6c29; --shoulder-amber-soft:#fff4e6; --shoulder-blue:#386a84; --shoulder-blue-soft:#edf6fa; --shoulder-plum:#78556f; --shoulder-plum-soft:#f8f0f6; }
.shoulder-hero { background:radial-gradient(circle at 85% 18%,rgba(229,174,91,.28),transparent 28%),radial-gradient(circle at 71% 84%,rgba(56,106,132,.14),transparent 35%),linear-gradient(135deg,#eef8f2 0%,#fff8ed 100%); }
.shoulder-title { display:flex; flex-wrap:wrap; align-items:center; gap:.4em; max-width:1140px; font-size:clamp(2rem,4.7vw,3.85rem); }
.shoulder-title span { display:inline-flex; align-items:center; }
.shoulder-title span:not(:last-child)::after { content:'→'; margin-left:.4em; color:var(--color-accent-dark); font-size:.54em; }
.quick-shoulder-nav { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-8); }
.quick-shoulder-nav a { display:inline-flex; align-items:center; gap:var(--space-2); padding:.78rem 1rem; border:1px solid rgba(40,102,74,.22); border-radius:999px; background:rgba(255,255,255,.86); color:var(--shoulder-green-dark); font-size:var(--text-sm); font-weight:800; text-decoration:none; box-shadow:0 8px 22px rgba(21,71,47,.06); }
.quick-shoulder-nav a:hover,.quick-shoulder-nav a:focus-visible { border-color:var(--shoulder-green); background:#fff; }
.section-kicker { margin-bottom:var(--space-2); color:var(--color-accent-dark); font-size:var(--text-sm); font-weight:900; letter-spacing:.05em; }
.shoulder-motion-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-8); padding:var(--space-6); border:1px solid var(--color-border); border-radius:28px; background:#fff; box-shadow:var(--shadow-sm); }
.shoulder-motion-map a { position:relative; display:flex; min-height:178px; flex-direction:column; justify-content:center; padding:var(--space-6); border-radius:22px; background:var(--shoulder-amber-soft); color:inherit; text-decoration:none; text-align:center; }
.shoulder-motion-map a:nth-child(2) { background:var(--shoulder-blue-soft); } .shoulder-motion-map a:nth-child(3) { background:var(--shoulder-plum-soft); }
.shoulder-motion-map a>span { display:grid; width:50px; height:50px; margin:0 auto var(--space-4); place-items:center; border-radius:18px; background:var(--shoulder-amber); color:#fff; font-size:1.35rem; font-weight:900; }
.shoulder-motion-map a:nth-child(2)>span { background:var(--shoulder-blue); } .shoulder-motion-map a:nth-child(3)>span { background:var(--shoulder-plum); }
.shoulder-motion-map small { color:var(--color-text-muted); font-weight:800; }
.shoulder-motion-map strong { margin-top:var(--space-2); color:var(--color-primary-dark); font-size:var(--text-lg); }
.shoulder-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-8); }
.shoulder-route-card { position:relative; display:flex; min-height:320px; flex-direction:column; padding:var(--space-8); overflow:hidden; border:1px solid #cce0d4; border-radius:28px; background:linear-gradient(155deg,#fff 0%,var(--shoulder-green-soft) 100%); box-shadow:0 16px 42px rgba(47,70,84,.08); }
.shoulder-route-card.is-angle { border-color:#cfe0e9; background:linear-gradient(155deg,#fff 0%,var(--shoulder-blue-soft) 100%); }
.shoulder-route-card.is-night { border-color:#dfcfdd; background:linear-gradient(155deg,#fff 0%,var(--shoulder-plum-soft) 100%); }
.route-number { position:absolute; top:var(--space-5); right:var(--space-6); color:rgba(21,71,47,.17); font-size:2.8rem; font-weight:900; line-height:1; }
.route-icon { display:grid; width:62px; height:58px; place-items:center; border-radius:18px; background:var(--shoulder-green); color:#fff; font-size:var(--text-xs); font-weight:900; }
.is-angle .route-icon { background:var(--shoulder-blue); } .is-night .route-icon { background:var(--shoulder-plum); }
.shoulder-route-card h3 { margin:var(--space-6) 0 var(--space-3); color:var(--color-primary-dark); font-size:clamp(1.3rem,2.2vw,1.65rem); }
.shoulder-route-card p { margin:0; color:var(--color-text-light); line-height:1.7; }
.shoulder-route-card>a { display:inline-flex; align-items:center; gap:var(--space-2); margin-top:auto; padding-top:var(--space-6); color:var(--shoulder-green-dark); font-weight:900; text-decoration:none; }
.shoulder-pattern-section,.shoulder-visit-section { background:#f5f8f5; }
.shoulder-pattern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); }
.shoulder-pattern-card { padding:var(--space-8); border:1px solid var(--color-border); border-top:6px solid var(--shoulder-green); border-radius:28px; background:#fff; box-shadow:var(--shadow-sm); }
.shoulder-pattern-card.tendon-pattern { border-top-color:var(--shoulder-blue); } .shoulder-pattern-card.night-pattern { border-top-color:var(--shoulder-plum); }
.pattern-heading { display:flex; align-items:flex-start; gap:var(--space-4); }
.pattern-heading>span { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border-radius:50%; background:var(--shoulder-green); color:#fff; font-size:var(--text-sm); font-weight:900; }
.tendon-pattern .pattern-heading>span { background:var(--shoulder-blue); } .night-pattern .pattern-heading>span { background:var(--shoulder-plum); }
.pattern-heading small { color:var(--color-text-muted); font-size:var(--text-xs); font-weight:800; }
.pattern-heading h3 { margin:var(--space-1) 0 0; color:var(--color-primary-dark); font-size:var(--text-xl); }
.shoulder-pattern-card ul { display:grid; gap:var(--space-3); margin:var(--space-6) 0 0; padding:0; list-style:none; }
.shoulder-pattern-card li { padding-top:var(--space-3); border-top:1px solid var(--color-border); }
.shoulder-pattern-card li strong,.shoulder-pattern-card li span { display:block; }
.shoulder-pattern-card li strong { color:var(--color-text); font-size:var(--text-sm); }
.shoulder-pattern-card li span { margin-top:.2rem; color:var(--color-text-light); font-size:var(--text-sm); line-height:1.5; }
.shoulder-daily-strip { display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr; align-items:center; gap:var(--space-3); margin-top:var(--space-8); padding:var(--space-6); border-radius:24px; background:var(--color-primary-dark); color:#fff; }
.shoulder-daily-strip>div { text-align:center; }
.shoulder-daily-strip>div>span { display:grid; width:44px; height:44px; margin:0 auto var(--space-3); place-items:center; border-radius:14px; background:rgba(255,255,255,.12); font-size:1.35rem; }
.shoulder-daily-strip strong,.shoulder-daily-strip small { display:block; }
.shoulder-daily-strip small { margin-top:var(--space-1); color:rgba(255,255,255,.68); font-size:var(--text-xs); line-height:1.4; }
.shoulder-daily-strip>b { color:#d9b98f; font-size:1.35rem; text-align:center; }
.shoulder-motion-compare { display:grid; grid-template-columns:1fr 52px 1fr 52px 1fr; align-items:center; gap:var(--space-3); margin-top:var(--space-8); }
.shoulder-motion-compare>div { min-height:150px; padding:var(--space-6); border:1px solid var(--color-border); border-radius:22px; background:#fff; text-align:center; box-shadow:var(--shadow-sm); }
.shoulder-motion-compare>div>span { display:grid; width:38px; height:38px; margin:0 auto var(--space-3); place-items:center; border-radius:50%; background:var(--shoulder-blue); color:#fff; font-weight:900; }
.shoulder-motion-compare small,.shoulder-motion-compare strong { display:block; }
.shoulder-motion-compare small { color:var(--color-text-muted); line-height:1.45; }
.shoulder-motion-compare strong { margin-top:var(--space-2); color:var(--color-primary-dark); font-size:var(--text-lg); }
.shoulder-motion-compare>b { color:var(--color-accent-dark); font-size:1.5rem; text-align:center; }
.shoulder-motion-compare .compare-result { border-color:rgba(40,102,74,.25); background:var(--shoulder-green-soft); }
.shoulder-motion-compare .compare-result>span { background:var(--shoulder-green); }
.shoulder-question-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); margin-top:var(--space-8); }
.shoulder-question-grid details { border:1px solid var(--color-border); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.shoulder-question-grid summary { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-5); color:var(--color-primary-dark); font-weight:900; cursor:pointer; list-style:none; }
.shoulder-question-grid summary::-webkit-details-marker { display:none; }
.shoulder-question-grid summary span { color:var(--color-accent-dark); font-size:1.45rem; transition:transform var(--transition-fast); }
.shoulder-question-grid details[open] summary span { transform:rotate(45deg); }
.shoulder-question-grid details p { margin:0; padding:0 var(--space-5) var(--space-5); color:var(--color-text-light); line-height:1.7; }
.shoulder-visit-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px; margin-top:var(--space-8); }
.shoulder-visit-step { position:relative; min-height:175px; padding:var(--space-6); border:1px solid var(--color-border); border-radius:22px; background:#fff; text-align:center; }
.shoulder-visit-step:not(:last-child)::after { content:'→'; position:absolute; top:50%; right:-34px; color:var(--color-accent-dark); font-size:1.65rem; font-weight:900; transform:translateY(-50%); }
.shoulder-visit-step>span { display:grid; width:38px; height:38px; margin:0 auto var(--space-4); place-items:center; border-radius:50%; background:var(--color-primary-dark); color:#fff; font-weight:900; }
.shoulder-visit-step h3 { margin:0; color:var(--color-primary-dark); font-size:var(--text-lg); }
.shoulder-visit-step p { margin:var(--space-2) 0 0; color:var(--color-text-light); font-size:var(--text-sm); line-height:1.55; }
.shoulder-doctor-card { display:flex; align-items:center; gap:var(--space-5); max-width:860px; margin:var(--space-8) auto 0; padding:var(--space-6); border-radius:22px; background:var(--color-primary-dark); color:#fff; }
.shoulder-doctor-mark { display:grid; width:54px; height:54px; flex:0 0 54px; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-family:var(--font-display); font-size:1.35rem; font-weight:900; }
.shoulder-doctor-card strong { display:block; font-size:var(--text-lg); } .shoulder-doctor-card p { margin:var(--space-2) 0 0; color:rgba(255,255,255,.76); line-height:1.65; }
.shoulder-actions { justify-content:center; }
@media (max-width:960px) { .shoulder-motion-map,.shoulder-route-grid,.shoulder-pattern-grid { grid-template-columns:1fr; } .shoulder-route-card { min-height:0; } .shoulder-route-card>a { margin-top:var(--space-6); } .shoulder-visit-flow { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:var(--space-5); } .shoulder-visit-step::after { display:none; } }
@media (max-width:720px) { .shoulder-title { display:grid; gap:.12em; } .shoulder-title span:not(:last-child)::after { content:''; margin:0; } .quick-shoulder-nav { display:grid; } .quick-shoulder-nav a { justify-content:space-between; } .shoulder-motion-map { padding:var(--space-4); } .shoulder-daily-strip,.shoulder-motion-compare { grid-template-columns:1fr; } .shoulder-daily-strip>b,.shoulder-motion-compare>b { transform:rotate(90deg); } .shoulder-question-grid,.shoulder-visit-flow { grid-template-columns:1fr; } .shoulder-doctor-card { align-items:flex-start; } }
@media (prefers-reduced-motion:reduce) { .shoulder-question-grid summary span { transition:none; } }
