.dahispath-page { font-family: 'Poppins', sans-serif; background: var(--bg-dark,#0a0a0f); color: var(--text-primary,#fff); min-height: 100vh; padding-bottom: 2rem; }
.dahispath-header { text-align: center; padding: 1rem; }
.dahispath-back { display: inline-block; margin-bottom: .5rem; font-size: .9rem; color: var(--text-secondary); text-decoration: none; }
.dahispath-title { font-size: clamp(1.3rem,4vw,1.6rem); font-weight: 700; margin-bottom: .25rem; }
.dahispath-subtitle { font-size: .85rem; color: var(--text-secondary); }
.dahispath-main { max-width: 340px; margin: 0 auto; padding: 0 1rem; }
.dahispath-game-wrap { background: rgba(255,255,255,.04); border-radius: 16px; padding: 1rem; border: 1px solid rgba(255,255,255,.08); }
.dahispath-grid { display: grid; gap: 4px; width: min(280px,88vw); margin: 0 auto 1rem; aspect-ratio: 1; background: #1a1a24; padding: 10px; border-radius: 12px; }
.dahispath-cell { background: #252532; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; cursor: pointer; transition: transform .1s; }
.dahispath-cell.empty { background: #1e1e2a; cursor: default; }
.dahispath-cell.fixed { opacity: .9; cursor: default; }
.dahispath-cell:hover:not(.empty):not(.fixed) { transform: scale(1.02); }
.dahispath-cell.start { background: linear-gradient(135deg,#ff4444,#ff9944); color: #fff; }
.dahispath-cell.goal-cell { background: linear-gradient(135deg,#667eea44,#764ba244); }
.dahispath-cell.goal-cell.empty { background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; }
.dahispath-cell.goal-cell.empty::after { content: '◎'; font-size: 1.5rem; }
.dahispath-actions { display: flex; justify-content: center; }
.dahispath-btn { padding: .55rem 1.1rem; border-radius: 10px; font-size: .9rem; font-weight: 600; border: none; cursor: pointer; background: #2a2a35; color: var(--text-secondary); }
.dahispath-btn:disabled { opacity: .5; cursor: not-allowed; }
.dahispath-win { position: fixed; inset: 0; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; z-index: 100; }
.dahispath-win-box { background: #1a1a24; border-radius: 16px; padding: 2rem; text-align: center; max-width: 320px; border: 1px solid rgba(67,233,123,.3); }
.dahispath-win h2 { margin-bottom: .5rem; color: #43e97b; }
.dahispath-win button { padding: .65rem 1.5rem; border-radius: 10px; font-weight: 600; background: #43e97b; color: #0a0a0f; border: none; cursor: pointer; margin-top: 1rem; }
